@restforgejs/platform 4.3.5 → 5.0.0

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 (191) hide show
  1. package/bin/sdf-tools.exe +0 -0
  2. package/build-info.json +2 -2
  3. package/cli/consumer-deploy.js +1 -1
  4. package/cli/consumer.js +1 -1
  5. package/generators/cli/payload/migrate.js +96 -0
  6. package/generators/lib/dbschema-kit/apply-engine.js +211 -46
  7. package/generators/lib/dbschema-kit/diff-engine.js +14 -2
  8. package/generators/lib/dbschema-kit/emitters/alter-table.js +96 -2
  9. package/generators/lib/dbschema-kit/introspect-mapper.js +9 -0
  10. package/generators/lib/migrate/backend-payload-migrator.js +221 -0
  11. package/generators/lib/migrate/field-type-resolver.js +319 -0
  12. package/generators/lib/migrate/label-generator.js +38 -0
  13. package/generators/lib/migrate/migrate-runner.js +187 -0
  14. package/generators/lib/migrate/naming.js +43 -0
  15. package/generators/lib/migrate/sql-parser.js +124 -0
  16. package/generators/lib/payload/payload-runner.js +106 -11
  17. package/generators/lib/templates/dashboard-catalog.js +1 -1
  18. package/generators/lib/templates/db-connection-env.js +1 -1
  19. package/generators/lib/templates/dbschema-catalog.js +1 -1
  20. package/generators/lib/templates/field-validation-catalog.js +1 -1
  21. package/generators/lib/templates/mysql-template.js +1 -1
  22. package/generators/lib/templates/oracle-template.js +1 -1
  23. package/generators/lib/templates/postgres-template.js +1 -1
  24. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  25. package/generators/lib/templates/sqlite-template.js +1 -1
  26. package/integrity-manifest.json +18 -18
  27. package/node_modules/brace-expansion/index.js +1 -1
  28. package/node_modules/brace-expansion/package.json +1 -1
  29. package/node_modules/dayjs/CHANGELOG.md +7 -0
  30. package/node_modules/dayjs/README.md +12 -10
  31. package/node_modules/dayjs/dayjs.min.js +1 -1
  32. package/node_modules/dayjs/esm/constant.js +1 -1
  33. package/node_modules/dayjs/esm/plugin/duration/index.js +5 -4
  34. package/node_modules/dayjs/locale.json +1 -1
  35. package/node_modules/dayjs/package.json +2 -2
  36. package/node_modules/dayjs/plugin/duration.js +1 -1
  37. package/node_modules/tmp/lib/tmp.js +37 -7
  38. package/node_modules/tmp/package.json +4 -16
  39. package/package.json +1 -1
  40. package/scripts/verify-integrity.js +1 -1
  41. package/server.js +1 -1
  42. package/src/components/handlers/adjust_handler.js +1 -1
  43. package/src/components/handlers/audit_handler.js +1 -1
  44. package/src/components/handlers/delete_handler.js +1 -1
  45. package/src/components/handlers/export_handler.js +1 -1
  46. package/src/components/handlers/import_handler.js +1 -1
  47. package/src/components/handlers/insert_handler.js +1 -1
  48. package/src/components/handlers/update_handler.js +1 -1
  49. package/src/components/handlers/upload_handler.js +1 -1
  50. package/src/components/handlers/workflow_handler.js +1 -1
  51. package/src/components/integrations/webhook.js +1 -1
  52. package/src/consumers/baseConsumer.js +1 -1
  53. package/src/consumers/declarativeMapper.js +1 -1
  54. package/src/consumers/handlers/apiHandler.js +1 -1
  55. package/src/consumers/handlers/consoleHandler.js +1 -1
  56. package/src/consumers/handlers/databaseHandler.js +1 -1
  57. package/src/consumers/handlers/index.js +1 -1
  58. package/src/consumers/handlers/kafkaHandler.js +1 -1
  59. package/src/consumers/index.js +1 -1
  60. package/src/consumers/messageTransformer.js +1 -1
  61. package/src/consumers/validator.js +1 -1
  62. package/src/core/db/dialect/base-dialect.js +1 -1
  63. package/src/core/db/dialect/index.js +1 -1
  64. package/src/core/db/dialect/mysql-dialect.js +1 -1
  65. package/src/core/db/dialect/oracle-dialect.js +1 -1
  66. package/src/core/db/dialect/postgres-dialect.js +1 -1
  67. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  68. package/src/core/db/flatten-helper.js +1 -1
  69. package/src/core/db/query-builder-error.js +1 -1
  70. package/src/core/db/query-builder.js +1 -1
  71. package/src/core/db/relation-helper.js +1 -1
  72. package/src/core/handlers/delete_handler.js +1 -1
  73. package/src/core/handlers/insert_handler.js +1 -1
  74. package/src/core/handlers/update_handler.js +1 -1
  75. package/src/core/models/base-model.js +1 -1
  76. package/src/core/utils/cache-manager.js +1 -1
  77. package/src/core/utils/component-engine.js +1 -1
  78. package/src/core/utils/context-builder.js +1 -1
  79. package/src/core/utils/datetime-formatter.js +1 -1
  80. package/src/core/utils/datetime-parser.js +1 -1
  81. package/src/core/utils/db.js +1 -1
  82. package/src/core/utils/logger.js +1 -1
  83. package/src/core/utils/payload-loader.js +1 -1
  84. package/src/core/utils/security-checks.js +1 -1
  85. package/src/middleware/body-options.js +1 -1
  86. package/src/middleware/cors.js +1 -1
  87. package/src/middleware/idempotency.js +1 -1
  88. package/src/middleware/rate-limiter.js +1 -1
  89. package/src/middleware/request-logger.js +1 -1
  90. package/src/middleware/security-headers.js +1 -1
  91. package/src/models/base-model-mysql.js +1 -1
  92. package/src/models/base-model-oracle.js +1 -1
  93. package/src/models/base-model-sqlite.js +1 -1
  94. package/src/models/base-model.js +1 -1
  95. package/src/pro/caching/redis-client.js +1 -1
  96. package/src/pro/caching/redis-helper.js +1 -1
  97. package/src/pro/consumers/baseConsumer.js +1 -1
  98. package/src/pro/consumers/declarativeMapper.js +1 -1
  99. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  100. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  101. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  102. package/src/pro/consumers/handlers/index.js +1 -1
  103. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  104. package/src/pro/consumers/index.js +1 -1
  105. package/src/pro/consumers/messageTransformer.js +1 -1
  106. package/src/pro/consumers/validator.js +1 -1
  107. package/src/pro/database/base-model-mysql.js +1 -1
  108. package/src/pro/database/base-model-oracle.js +1 -1
  109. package/src/pro/database/base-model-sqlite.js +1 -1
  110. package/src/pro/database/db-mysql.js +1 -1
  111. package/src/pro/database/db-oracle.js +1 -1
  112. package/src/pro/database/db-sqlite.js +1 -1
  113. package/src/pro/excel/excel-generator.js +1 -1
  114. package/src/pro/excel/excel-parser.js +1 -1
  115. package/src/pro/excel/export-service.js +1 -1
  116. package/src/pro/excel/export_handler.js +1 -1
  117. package/src/pro/excel/import-service.js +1 -1
  118. package/src/pro/excel/import-validator.js +1 -1
  119. package/src/pro/excel/import_handler.js +1 -1
  120. package/src/pro/excel/upsert-builder.js +1 -1
  121. package/src/pro/idgen/idgen-routes.js +1 -1
  122. package/src/pro/integrations/lookup-resolver.js +1 -1
  123. package/src/pro/integrations/upload-handler-v2.js +1 -1
  124. package/src/pro/integrations/upload-handler.js +1 -1
  125. package/src/pro/integrations/webhook.js +1 -1
  126. package/src/pro/locking/lock-routes.js +1 -1
  127. package/src/pro/locking/resource-lock-manager.js +1 -1
  128. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  129. package/src/pro/messaging/kafkaService.js +1 -1
  130. package/src/pro/messaging/messagehubService.js +1 -1
  131. package/src/pro/messaging/rabbitmqService.js +1 -1
  132. package/src/pro/scheduler/job-manager.js +1 -1
  133. package/src/pro/scheduler/job-routes.js +1 -1
  134. package/src/pro/scheduler/job-validator.js +1 -1
  135. package/src/pro/storage/base-storage-provider.js +1 -1
  136. package/src/pro/storage/file-metadata-helper.js +1 -1
  137. package/src/pro/storage/index.js +1 -1
  138. package/src/pro/storage/local-storage-provider.js +1 -1
  139. package/src/pro/storage/s3-storage-provider.js +1 -1
  140. package/src/pro/storage/upload-cleanup-job.js +1 -1
  141. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  142. package/src/pro/storage/upload-pending-tracker.js +1 -1
  143. package/src/pro/websocket/broadcast-helper.js +1 -1
  144. package/src/pro/websocket/index.js +1 -1
  145. package/src/pro/websocket/livesync-server.js +1 -1
  146. package/src/pro/websocket/ws-broadcaster.js +1 -1
  147. package/src/services/export-service.js +1 -1
  148. package/src/services/import-service.js +1 -1
  149. package/src/services/kafkaConsumerService.js +1 -1
  150. package/src/services/kafkaService.js +1 -1
  151. package/src/services/messagehubService.js +1 -1
  152. package/src/services/rabbitmqService.js +1 -1
  153. package/src/utils/cache-invalidation-registry.js +1 -1
  154. package/src/utils/cache-manager.js +1 -1
  155. package/src/utils/component-engine.js +1 -1
  156. package/src/utils/config-extractor.js +1 -1
  157. package/src/utils/consumerLogger.js +1 -1
  158. package/src/utils/context-builder.js +1 -1
  159. package/src/utils/dashboard-helpers.js +1 -1
  160. package/src/utils/dateHelper.js +1 -1
  161. package/src/utils/datetime-formatter.js +1 -1
  162. package/src/utils/datetime-parser.js +1 -1
  163. package/src/utils/db-bootstrap.js +1 -1
  164. package/src/utils/db-mysql.js +1 -1
  165. package/src/utils/db-oracle.js +1 -1
  166. package/src/utils/db-sqlite.js +1 -1
  167. package/src/utils/db.js +1 -1
  168. package/src/utils/demo-generator.js +1 -1
  169. package/src/utils/excel-generator.js +1 -1
  170. package/src/utils/excel-parser.js +1 -1
  171. package/src/utils/file-watcher.js +1 -1
  172. package/src/utils/id-generator.js +1 -1
  173. package/src/utils/idempotency-manager.js +1 -1
  174. package/src/utils/import-validator.js +1 -1
  175. package/src/utils/license-client.js +1 -1
  176. package/src/utils/lock-manager.js +1 -1
  177. package/src/utils/logger.js +1 -1
  178. package/src/utils/lookup-resolver.js +1 -1
  179. package/src/utils/payload-loader.js +1 -1
  180. package/src/utils/processor-response.js +1 -1
  181. package/src/utils/rabbitmq.js +1 -1
  182. package/src/utils/redis-client.js +1 -1
  183. package/src/utils/redis-helper.js +1 -1
  184. package/src/utils/request-scope.js +1 -1
  185. package/src/utils/security-checks.js +1 -1
  186. package/src/utils/service-resolver.js +1 -1
  187. package/src/utils/shutdown-coordinator.js +1 -1
  188. package/src/utils/trusted-keys.js +1 -1
  189. package/src/utils/upload-handler.js +1 -1
  190. package/src/utils/upsert-builder.js +1 -1
  191. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x1ac1(_0x545b8a,_0x24b475){_0x545b8a=_0x545b8a-0x156;const _0x20cddb=a0_0x20cd();let _0x1ac15c=_0x20cddb[_0x545b8a];if(a0_0x1ac1['CXVZjR']===undefined){var _0x333939=function(_0x24af8e){const _0x59724b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x565b2b='',_0xa1646c='';for(let _0x31e9b0=0x0,_0x46ed5a,_0x4ad9a9,_0x3d8477=0x0;_0x4ad9a9=_0x24af8e['charAt'](_0x3d8477++);~_0x4ad9a9&&(_0x46ed5a=_0x31e9b0%0x4?_0x46ed5a*0x40+_0x4ad9a9:_0x4ad9a9,_0x31e9b0++%0x4)?_0x565b2b+=String['fromCharCode'](0xff&_0x46ed5a>>(-0x2*_0x31e9b0&0x6)):0x0){_0x4ad9a9=_0x59724b['indexOf'](_0x4ad9a9);}for(let _0x4b8113=0x0,_0xeb6d67=_0x565b2b['length'];_0x4b8113<_0xeb6d67;_0x4b8113++){_0xa1646c+='%'+('00'+_0x565b2b['charCodeAt'](_0x4b8113)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa1646c);};a0_0x1ac1['wnQpnr']=_0x333939,a0_0x1ac1['NAKMLh']={},a0_0x1ac1['CXVZjR']=!![];}const _0x115dc9=_0x20cddb[0x0],_0x2b4ed3=_0x545b8a+_0x115dc9,_0x25769e=a0_0x1ac1['NAKMLh'][_0x2b4ed3];return!_0x25769e?(_0x1ac15c=a0_0x1ac1['wnQpnr'](_0x1ac15c),a0_0x1ac1['NAKMLh'][_0x2b4ed3]=_0x1ac15c):_0x1ac15c=_0x25769e,_0x1ac15c;}const a0_0x43bb08=a0_0x1ac1;function a0_0x20cd(){const _0x1f00e6=['tg9JAYbuveWGzxH0zw5Kzwq','CMv0CNLdB3vUDa','zgvIDwC','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','CMvHzf9SB2nRx2vYCM9Y','v1jjveuGBg9JAYbLCNjVCG','qLb2BwS','C2v0','D3jPDgvFBg9JA19LCNjVCG','x3DVCMTLCKLK','CMv0CNLezwXHEq','v1jjveuGBg9JAYbYzwXLyxnLza','BgfZDeLUzgv4t2y','zw52','te9ds19esvnuuKLcvvrfrf9uveW','D3jPDgvFBg9JA190Aw1LB3v0','mZK2nZu2wef2uhfs','x2LUAxrPywXPEMvK','Bg9JA19LEhrLBMrLza','CMv0CNK','yKnrEKi','C3bSAxq','x2rLzMf1BhruveW','AxnfBMfIBgvK','D3jPDgvFBg9JA19Hy3f1AxjLza','CMvHzf9SB2nRx2fJCxvPCMvK','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','uKvbrcbSB2nRihjLBgvHC2vK','z2vUzxjHDgvmB2nRvMfSDwu','Chj4B2u','qvPwrxG','uKvbrcbSB2nRigvYCM9Y','CMvSzwfZzuXVy2S','nKLXq1nLrq','AwHABxe','zgvS','D29YA2vYswq','yNvPBgrmB2nRs2v5','ChjLzML4','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','mtaXnJC2mhngA2fYCW','CMvHzf9SB2nRx3rPBwvVDxq','yLrlEMu','D3jPDgvFBg9JA193ywL0Aw5N','mJCYmdG2yLDMywrU','zw5HyMXLza','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','x2vUC3vYzuLUAxrPywXPEMvK','C2v0zxG','CMvQzwn0','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','z2v0','D29YA2vYlq','yKHjsKm','mtq3nJG0oejRtwjkra','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','x2vUywjSzwq','Aw5MBW','DxDpCeC','D2fYBG','mteWndq1mMr2Au5JDa','C3rYyxrLz3K','EKjetfu','vMfyy3m','D3jPDgu','CgLK','BwvZC2fNzq','zxzHBa','nZq3nJa3BuTSr2jR','mJi3mJyZmgPwA3bWsq','Dhj1zq','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','Aw5JCG','x3jLDhj5rgvSyxK','Aw5JBhvKzxm','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','zgvMyxvSDfruta','zgvJCG','zxjYB3i','CMvHzf9SB2nRx3jLBgvHC2vK','x3n0CMf0zwD5','DgXXyK8','z2v0q2XPzw50','Bg9JA19JB25MAwDFAw5PDa','ywXS'];a0_0x20cd=function(){return _0x1f00e6;};return a0_0x20cd();}(function(_0x1fb8ff,_0x88335b){const _0x1bfdcd=a0_0x1ac1,_0x1db6d1=_0x1fb8ff();while(!![]){try{const _0x3f5369=parseInt(_0x1bfdcd(0x187))/0x1+parseInt(_0x1bfdcd(0x16a))/0x2+-parseInt(_0x1bfdcd(0x183))/0x3+parseInt(_0x1bfdcd(0x197))/0x4+-parseInt(_0x1bfdcd(0x1a0))/0x5+parseInt(_0x1bfdcd(0x17c))/0x6*(parseInt(_0x1bfdcd(0x19f))/0x7)+parseInt(_0x1bfdcd(0x191))/0x8;if(_0x3f5369===_0x88335b)break;else _0x1db6d1['push'](_0x1db6d1['shift']());}catch(_0x9af779){_0x1db6d1['push'](_0x1db6d1['shift']());}}}(a0_0x20cd,0x3bb3a));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x3a5bf1=a0_0x1ac1;this['_prefix']=null,this[_0x3a5bf1(0x193)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x3a5bf1(0x1a4)]=null,this['_strategy']=null,this[_0x3a5bf1(0x163)]=null,this['_initialized']=![];}['_initConfig'](){const _0x48ba39=a0_0x1ac1,_0x5846d5={'ovsHm':function(_0x577157,_0x4d00d6){return _0x577157===_0x4d00d6;},'nMAzt':_0x48ba39(0x1a1),'prxoe':'rf:lock:','zFXew':function(_0x138809,_0x50ad8e,_0x4a7874){return _0x138809(_0x50ad8e,_0x4a7874);},'CVAKq':function(_0x107177,_0x20b5b6,_0x9b47d2){return _0x107177(_0x20b5b6,_0x9b47d2);}},_0x9e7726='4|0|8|1|5|2|7|3|6'[_0x48ba39(0x16f)]('|');let _0x8b725b=0x0;while(!![]){switch(_0x9e7726[_0x8b725b++]){case'0':this[_0x48ba39(0x193)]=_0x5846d5['ovsHm'](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x5846d5['nMAzt']);continue;case'1':this['_retryCount']=parseInt(process[_0x48ba39(0x167)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'2':this[_0x48ba39(0x1ab)]=process['env'][_0x48ba39(0x1a2)]||_0x48ba39(0x16d);continue;case'3':this[_0x48ba39(0x16b)]=!![];continue;case'4':this['_prefix']=_0x5846d5[_0x48ba39(0x178)];continue;case'5':this[_0x48ba39(0x1a4)]=_0x5846d5['zFXew'](parseInt,process[_0x48ba39(0x167)][_0x48ba39(0x174)],0xa)||0x64;continue;case'6':logger[_0x48ba39(0x194)]({'event':_0x48ba39(0x158),'enabled':this[_0x48ba39(0x193)],'strategy':this[_0x48ba39(0x1ab)],'ttl':this[_0x48ba39(0x170)],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this[_0x48ba39(0x163)]},_0x48ba39(0x192)+this[_0x48ba39(0x193)]+',\x20strategy:\x20'+this[_0x48ba39(0x1ab)]);continue;case'7':this[_0x48ba39(0x163)]=_0x48ba39(0x18f)+process[_0x48ba39(0x19c)];continue;case'8':this[_0x48ba39(0x170)]=_0x5846d5['CVAKq'](parseInt,process['env'][_0x48ba39(0x168)],0xa)||0xa;continue;}break;}}['_ensureInitialized'](){const _0x2886f9=a0_0x1ac1;!this[_0x2886f9(0x16b)]&&this['_initConfig']();}get[a0_0x43bb08(0x181)](){const _0x1776e9=a0_0x43bb08;return this[_0x1776e9(0x18a)](),this['_prefix'];}get['enabled'](){const _0x5d33e9=a0_0x43bb08;return this['_ensureInitialized'](),this[_0x5d33e9(0x193)];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x2faa72=a0_0x43bb08;return this[_0x2faa72(0x18a)](),this['_retryCount'];}get[a0_0x43bb08(0x164)](){return this['_ensureInitialized'](),this['_retryDelay'];}get[a0_0x43bb08(0x198)](){const _0x5bf01d=a0_0x43bb08;return this['_ensureInitialized'](),this[_0x5bf01d(0x1ab)];}get[a0_0x43bb08(0x17f)](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x43bb08(0x180)](_0x3d43c7){const {module:_0x2e3ca3,endpoint:_0x174873,lockType:_0x378512,recordId:_0x214359}=_0x3d43c7;if(_0x214359)return''+this['prefix']+_0x2e3ca3+':'+_0x174873+':'+_0x214359+':'+_0x378512;return''+this['prefix']+_0x2e3ca3+':'+_0x174873+':'+_0x378512;}['generateLockValue'](){const _0xc1d7d1=a0_0x43bb08,_0x51491d={'BPvmk':function(_0x246e1f){return _0x246e1f();}};return this['workerId']+':'+_0x51491d[_0xc1d7d1(0x160)](uuidv4)+':'+Date['now']();}async['acquireReadLock'](_0xa46391){const _0x579a39=a0_0x43bb08,_0x3dde29={'zBDLU':'read','qxRrf':function(_0x531e0a,_0x33ffa4){return _0x531e0a<_0x33ffa4;},'tlqbO':_0x579a39(0x173),'omfjd':_0x579a39(0x184)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x49787d=this[_0x579a39(0x180)]({..._0xa46391,'lockType':'write'}),_0x191844=this[_0x579a39(0x180)]({..._0xa46391,'lockType':_0x3dde29[_0x579a39(0x199)]}),_0x46ba1b=this[_0x579a39(0x177)]();try{const _0x31d626=redisClient[_0x579a39(0x157)]();for(let _0x48af9b=0x0;_0x3dde29['qxRrf'](_0x48af9b,this['retryCount']);_0x48af9b++){const _0x557599=await _0x31d626['get'](_0x49787d);if(!_0x557599){await _0x31d626[_0x579a39(0x1a3)](_0x191844),await _0x31d626['expire'](_0x191844,this['defaultTTL']);const _0x471cc2=_0x191844+':'+_0x46ba1b;return await _0x31d626[_0x579a39(0x18b)](_0x471cc2,this['defaultTTL'],_0x46ba1b),logger['debug']({'event':_0x3dde29[_0x579a39(0x156)],'key':_0x191844,'value':_0x46ba1b},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x46ba1b,'lockKey':_0x471cc2};}logger[_0x579a39(0x15c)]({'event':'read_lock_waiting','writeKey':_0x49787d,'attempt':_0x48af9b},_0x579a39(0x18d)),await this['sleep'](this[_0x579a39(0x164)]*Math['pow'](0x2,_0x48af9b));}return logger[_0x579a39(0x196)]({'event':_0x3dde29['omfjd'],'key':_0x191844},_0x579a39(0x15d)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2c41e3){return logger[_0x579a39(0x1a9)]({'event':_0x579a39(0x15e),'error':_0x2c41e3[_0x579a39(0x19d)]},_0x579a39(0x17a)),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x3f839a){const _0x167063=a0_0x43bb08,_0xd3d2bd={'ihZmq':function(_0x4f60f3,_0x3b1b02){return _0x4f60f3===_0x3b1b02;},'olxuX':_0x167063(0x172),'eoxdj':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','myvdX':_0x167063(0x189),'QxqPt':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','uwOpG':_0x167063(0x169),'bHIJC':_0x167063(0x1a6),'bmMxJ':_0x167063(0x15f)};if(!this[_0x167063(0x188)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5847f6=this[_0x167063(0x180)]({..._0x3f839a,'lockType':'write'}),_0x52ec16=this['buildLockKey']({..._0x3f839a,'lockType':'read'}),_0x1184cb=this[_0x167063(0x177)]();try{const _0x2ec6ce=redisClient['getClient']();if(_0xd3d2bd[_0x167063(0x17d)](this[_0x167063(0x198)],_0x167063(0x18c))){const _0x4e6af0=await _0x2ec6ce['set'](_0x5847f6,_0x1184cb,'EX',this['defaultTTL'],'NX');if(_0x4e6af0==='OK')return logger['debug']({'event':_0xd3d2bd['olxuX'],'key':_0x5847f6,'value':_0x1184cb,'strategy':'reject'},_0xd3d2bd['eoxdj']),{'success':!![],'lockValue':_0x1184cb,'lockKey':_0x5847f6};return logger[_0x167063(0x15c)]({'event':'write_lock_rejected','key':_0x5847f6},_0xd3d2bd['myvdX']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x5ca7c6=0x0;_0x5ca7c6<this[_0x167063(0x15b)];_0x5ca7c6++){const [_0x597330,_0x3c7445]=await Promise[_0x167063(0x159)]([_0x2ec6ce[_0x167063(0x18e)](_0x52ec16),_0x2ec6ce[_0x167063(0x18e)](_0x5847f6)]);if(!_0x3c7445&&(!_0x597330||parseInt(_0x597330)===0x0)){const _0x1c1edc=await _0x2ec6ce[_0x167063(0x161)](_0x5847f6,_0x1184cb,'EX',this['defaultTTL'],'NX');if(_0x1c1edc==='OK')return logger[_0x167063(0x15c)]({'event':'write_lock_acquired','key':_0x5847f6,'value':_0x1184cb,'strategy':'retry'},_0xd3d2bd['QxqPt']),{'success':!![],'lockValue':_0x1184cb,'lockKey':_0x5847f6};}logger['debug']({'event':_0x167063(0x186),'writeKey':_0x5847f6,'readCount':_0x597330,'attempt':_0x5ca7c6},'Waiting\x20for\x20locks\x20to\x20release'),await this['sleep'](this['retryDelay']*Math['pow'](0x2,_0x5ca7c6));}return logger['warn']({'event':_0xd3d2bd[_0x167063(0x195)],'key':_0x5847f6},_0xd3d2bd[_0x167063(0x190)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x161d69){return logger[_0x167063(0x1a9)]({'event':_0x167063(0x162),'error':_0x161d69['message']},_0xd3d2bd['bmMxJ']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x43bb08(0x17b)](_0x18c6d5,_0x47d184){const _0x460b94=a0_0x43bb08,_0x453909={'ukmvw':':read:','lNXJf':function(_0x2d3f33,_0xfe7dd0){return _0x2d3f33(_0xfe7dd0);},'GrJqI':_0x460b94(0x176),'jKjsR':function(_0x2fb853,_0x321a7d){return _0x2fb853===_0x321a7d;},'AZVEx':'write_lock_released','QDAsr':_0x460b94(0x165),'uPSrg':'lock_release_error'};if(!this[_0x460b94(0x188)]||!_0x18c6d5)return!![];try{const _0x4ee7e0=redisClient['getClient']();if(_0x18c6d5[_0x460b94(0x1a5)](_0x453909['ukmvw'])){await _0x4ee7e0[_0x460b94(0x17e)](_0x18c6d5);const _0x557622=_0x18c6d5['substring'](0x0,_0x18c6d5[_0x460b94(0x166)](':')),_0x473cb7=await _0x4ee7e0[_0x460b94(0x18e)](_0x557622);return _0x473cb7&&_0x453909['lNXJf'](parseInt,_0x473cb7)>0x0&&await _0x4ee7e0[_0x460b94(0x1a8)](_0x557622),logger['debug']({'event':_0x460b94(0x1aa),'key':_0x18c6d5},_0x453909['GrJqI']),!![];}const _0x812b87=_0x460b94(0x175),_0x9e3c06=await _0x4ee7e0[_0x460b94(0x19e)](_0x812b87,0x1,_0x18c6d5,_0x47d184);if(_0x453909['jKjsR'](_0x9e3c06,0x1))return logger[_0x460b94(0x15c)]({'event':_0x453909[_0x460b94(0x179)],'key':_0x18c6d5},_0x453909['QDAsr']),!![];return logger['warn']({'event':_0x460b94(0x182),'key':_0x18c6d5},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x56e685){return logger['error']({'event':_0x453909['uPSrg'],'key':_0x18c6d5,'error':_0x56e685[_0x460b94(0x19d)]},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x125eb5,_0x56feca,_0x68d8=null){const _0x236672=a0_0x43bb08,_0x2c2095={'bCQzB':function(_0x3a0704,_0x5d47f6){return _0x3a0704===_0x5d47f6;},'VaXcs':_0x236672(0x16c),'bTKze':'Lock\x20extend\x20error'};if(!this[_0x236672(0x188)]||!_0x125eb5)return!![];try{const _0x5cf0ca=redisClient['getClient'](),_0x58fa9e='\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',_0x436413=await _0x5cf0ca['eval'](_0x58fa9e,0x1,_0x125eb5,_0x56feca,_0x68d8||this[_0x236672(0x1a7)]);if(_0x2c2095[_0x236672(0x16e)](_0x436413,0x1))return logger[_0x236672(0x15c)]({'event':_0x2c2095[_0x236672(0x19a)],'key':_0x125eb5,'ttl':_0x68d8||this[_0x236672(0x1a7)]},_0x236672(0x15a)),!![];return![];}catch(_0x1a642a){return logger[_0x236672(0x1a9)]({'event':'lock_extend_error','key':_0x125eb5,'error':_0x1a642a['message']},_0x2c2095[_0x236672(0x185)]),![];}}[a0_0x43bb08(0x171)](){const _0x3910b0=a0_0x43bb08;return this[_0x3910b0(0x188)];}['sleep'](_0x1fe4e8){return new Promise(_0x54a404=>setTimeout(_0x54a404,_0x1fe4e8));}async['getLockInfo'](_0x56a37b){const _0x20c421=a0_0x43bb08,_0x396924={'iaZHf':function(_0x2c368e,_0x112c29){return _0x2c368e(_0x112c29);}};if(!this[_0x20c421(0x188)])return{'enabled':![]};try{const _0x493034=redisClient[_0x20c421(0x157)](),_0x4e5fd8=this['buildLockKey']({..._0x56a37b,'lockType':_0x20c421(0x19b)}),_0x34d516=this['buildLockKey']({..._0x56a37b,'lockType':'read'}),[_0x1eb6de,_0x50e4e1]=await Promise[_0x20c421(0x159)]([_0x493034[_0x20c421(0x18e)](_0x4e5fd8),_0x493034['get'](_0x34d516)]);return{'enabled':!![],'writeLock':_0x1eb6de||null,'readCount':_0x396924['iaZHf'](parseInt,_0x50e4e1)||0x0,'writeKey':_0x4e5fd8,'readKey':_0x34d516};}catch(_0x111528){return{'enabled':!![],'error':_0x111528['message']};}}}module['exports']=new LockManager();
1
+ const a0_0x2f8026=a0_0x372e;(function(_0xf62ac4,_0x267dda){const _0x41932d=a0_0x372e,_0x3e19d6=_0xf62ac4();while(!![]){try{const _0x9cd5e6=parseInt(_0x41932d(0x147))/0x1*(parseInt(_0x41932d(0x162))/0x2)+parseInt(_0x41932d(0x16d))/0x3*(parseInt(_0x41932d(0x186))/0x4)+parseInt(_0x41932d(0x14b))/0x5+parseInt(_0x41932d(0x166))/0x6*(parseInt(_0x41932d(0x174))/0x7)+parseInt(_0x41932d(0x17a))/0x8+parseInt(_0x41932d(0x159))/0x9*(parseInt(_0x41932d(0x182))/0xa)+parseInt(_0x41932d(0x155))/0xb*(-parseInt(_0x41932d(0x17b))/0xc);if(_0x9cd5e6===_0x267dda)break;else _0x3e19d6['push'](_0x3e19d6['shift']());}catch(_0x4cec29){_0x3e19d6['push'](_0x3e19d6['shift']());}}}(a0_0x5edd,0x28d93));function a0_0x5edd(){const _0x4e3775=['Cw9Izxe','ywXS','mtbpwwXhteK','D29YA2vYlq','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','x3jLDhj5q291BNq','nJG5mM1UtvbpBG','v1fYtgS','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','Bg9JA19LEhrLBMrFzxjYB3i','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','C2v0zxG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','uKvbrcbSB2nRihjLBgvHC2vK','zxjYB3i','CwXetvi','v1jjveuGBg9JAYbYzwXLyxnLza','z2v0q2XPzw50','qvHzB2G','x2LUAxrdB25MAwC','te9ds19esvnuuKLcvvrfrf9srvrswq','CMv0CNK','C2v0','tg9JAYbYzwXLyxnLigvYCM9Y','lI9YzwrPCY1JBgLLBNq','zw5HyMXLza','x2rLzMf1BhruveW','CMvQzwn0','D29YA2vYswq','x3bYzwzPEa','svn1Dhm','nhWZFdv8mxW4Fdj8nNWWFdC','mJy2ofruAg5Kyq','CMv0CNLezwXHEq','C3rYyxrLz3K','z2v0','nJeXmtiWwvbRDKrR','CgLK','z2vUzxjHDgvmB2nRvMfSDwu','CMvHzf9SB2nRx3rPBwvVDxq','x2vUC3vYzuLUAxrPywXPEMvK','CMvHzf9SB2nRx3DHAxrPBMC','C3bSAxq','CMvHzf9SB2nRx2vYCM9Y','vvfvy3q','uuDNrM4','mtfOuNfHr2S','zgvMyxvSDfruta','v2vIC1i','zxHWAxjL','mJe2ndm0n1Dhrw96ra','BgfZDeLUzgv4t2y','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','ELf5uMm','x3n0CMf0zwD5','Bg9JA19LEhrLBMrLza','yNvPBgrmB2nRs2v5','DKDvALy','zhDfDLi','mtbHCu5kzey','zxH0zw5Ktg9JAW','BvHmBxK','BwvZC2fNzq','mZbWvwjWBfu','te9ds19esvnuuKLcvvrfrf9ftKfcteve','ChjLzML4','D1jUtuC','C3vIC3rYAw5N','uKvbrcbSB2nRigvYCM9Y','uujRvfO','ntaXrMD3tvPn','x2LUAxrPywXPEMvK','zvP0uey','Cg5YCva','D3jPDgvFBg9JA19YzwPLy3rLza','zgvIDwC','CMvHza','mJG0ota3C2jPyw5W','D2fYBG','D3jPDgvFBg9JA19YzwXLyxnLza','D3jPDgu','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','zw52','mtqXnZe4nfbpswv3yW','mta1mJu1mtj6BfDNtwC','Cg93','x3jLDhj5rgvSyxK','AxnfBMfIBgvK','C2XLzxa'];a0_0x5edd=function(){return _0x4e3775;};return a0_0x5edd();}const redisClient=require(a0_0x2f8026(0x13f)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x372e(_0x41ce01,_0x1962dd){_0x41ce01=_0x41ce01-0x132;const _0x5edd07=a0_0x5edd();let _0x372e54=_0x5edd07[_0x41ce01];if(a0_0x372e['jhHcuw']===undefined){var _0x3d4177=function(_0x1a0687){const _0x26909b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f1e54='',_0x7ebaf6='';for(let _0x3328ab=0x0,_0x15dde2,_0x4df893,_0x7495b5=0x0;_0x4df893=_0x1a0687['charAt'](_0x7495b5++);~_0x4df893&&(_0x15dde2=_0x3328ab%0x4?_0x15dde2*0x40+_0x4df893:_0x4df893,_0x3328ab++%0x4)?_0x2f1e54+=String['fromCharCode'](0xff&_0x15dde2>>(-0x2*_0x3328ab&0x6)):0x0){_0x4df893=_0x26909b['indexOf'](_0x4df893);}for(let _0x10db60=0x0,_0x3ea58c=_0x2f1e54['length'];_0x10db60<_0x3ea58c;_0x10db60++){_0x7ebaf6+='%'+('00'+_0x2f1e54['charCodeAt'](_0x10db60)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7ebaf6);};a0_0x372e['IQAFAM']=_0x3d4177,a0_0x372e['HmKStd']={},a0_0x372e['jhHcuw']=!![];}const _0x923cea=_0x5edd07[0x0],_0x25f4f1=_0x41ce01+_0x923cea,_0x43f34a=a0_0x372e['HmKStd'][_0x25f4f1];return!_0x43f34a?(_0x372e54=a0_0x372e['IQAFAM'](_0x372e54),a0_0x372e['HmKStd'][_0x25f4f1]=_0x372e54):_0x372e54=_0x43f34a,_0x372e54;}class LockManager{constructor(){const _0x21dd00=a0_0x2f8026,_0x2885c3={'lyFOH':'7|5|1|6|4|0|2|3'},_0x1503d9=_0x2885c3['lyFOH']['split']('|');let _0x231b92=0x0;while(!![]){switch(_0x1503d9[_0x231b92++]){case'0':this['_strategy']=null;continue;case'1':this[_0x21dd00(0x141)]=null;continue;case'2':this['_workerId']=null;continue;case'3':this[_0x21dd00(0x16e)]=![];continue;case'4':this['_retryDelay']=null;continue;case'5':this['_enabled']=null;continue;case'6':this['_retryCount']=null;continue;case'7':this[_0x21dd00(0x144)]=null;continue;}break;}}[a0_0x2f8026(0x13a)](){const _0x5f3c8e=a0_0x2f8026,_0x23d12a={'tHeDI':function(_0x3a8b6e,_0x1b3678,_0x54d4d2){return _0x3a8b6e(_0x1b3678,_0x54d4d2);},'dwEvR':_0x5f3c8e(0x13c),'xPpAJ':function(_0xdfdeba,_0x4d782f){return _0xdfdeba===_0x4d782f;},'pnrqP':'rf:lock:','qobeq':function(_0x33e8a8,_0x27b76a,_0x2db779){return _0x33e8a8(_0x27b76a,_0x2db779);}},_0x193c8c=_0x5f3c8e(0x146)[_0x5f3c8e(0x151)]('|');let _0x51bff9=0x0;while(!![]){switch(_0x193c8c[_0x51bff9++]){case'0':this[_0x5f3c8e(0x16e)]=!![];continue;case'1':this[_0x5f3c8e(0x185)]=_0x23d12a['tHeDI'](parseInt,process['env'][_0x5f3c8e(0x13b)],0xa)||0x3;continue;case'2':this[_0x5f3c8e(0x15d)]=process['env'][_0x5f3c8e(0x184)]||_0x23d12a[_0x5f3c8e(0x161)];continue;case'3':this['_enabled']=_0x23d12a['xPpAJ'](process[_0x5f3c8e(0x179)][_0x5f3c8e(0x167)],'true');continue;case'4':this[_0x5f3c8e(0x144)]=_0x23d12a[_0x5f3c8e(0x170)];continue;case'5':this['_defaultTTL']=_0x23d12a[_0x5f3c8e(0x180)](parseInt,process[_0x5f3c8e(0x179)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'6':this['_workerId']=_0x5f3c8e(0x183)+process[_0x5f3c8e(0x14c)];continue;case'7':logger['info']({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0x5f3c8e(0x17d)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'8':this['_retryDelay']=parseInt(process[_0x5f3c8e(0x179)][_0x5f3c8e(0x133)],0xa)||0x64;continue;}break;}}[a0_0x2f8026(0x14f)](){const _0x271c20=a0_0x2f8026;!this[_0x271c20(0x16e)]&&this['_initConfig']();}get[a0_0x2f8026(0x168)](){const _0xbc73ec=a0_0x2f8026;return this[_0xbc73ec(0x14f)](),this[_0xbc73ec(0x144)];}get[a0_0x2f8026(0x140)](){const _0x4a52b2=a0_0x2f8026;return this[_0x4a52b2(0x14f)](),this['_enabled'];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x439f8f=a0_0x2f8026;return this[_0x439f8f(0x14f)](),this['_retryCount'];}get[a0_0x2f8026(0x148)](){const _0x535f19=a0_0x2f8026;return this[_0x535f19(0x14f)](),this['_retryDelay'];}get[a0_0x2f8026(0x149)](){const _0x378a64=a0_0x2f8026;return this[_0x378a64(0x14f)](),this['_strategy'];}get[a0_0x2f8026(0x143)](){const _0xf54ee1=a0_0x2f8026;return this[_0xf54ee1(0x14f)](),this['_workerId'];}['buildLockKey'](_0x4ca87d){const _0x51c0ed=a0_0x2f8026,{module:_0x37ae01,endpoint:_0x9ededf,lockType:_0x3e9425,recordId:_0x2074c6}=_0x4ca87d;if(_0x2074c6)return''+this[_0x51c0ed(0x168)]+_0x37ae01+':'+_0x9ededf+':'+_0x2074c6+':'+_0x3e9425;return''+this[_0x51c0ed(0x168)]+_0x37ae01+':'+_0x9ededf+':'+_0x3e9425;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x194338){const _0x2e3df0=a0_0x2f8026,_0x172464={'QGgFn':function(_0x88b8c3,_0x344a2c){return _0x88b8c3<_0x344a2c;},'WebsR':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','AXYoh':function(_0x18aeb2,_0x26ba3c){return _0x18aeb2*_0x26ba3c;},'pHuWa':_0x2e3df0(0x152)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3a8d74=this[_0x2e3df0(0x15f)]({..._0x194338,'lockType':_0x2e3df0(0x177)}),_0x528c7d=this['buildLockKey']({..._0x194338,'lockType':'read'}),_0x284b6e=this[_0x2e3df0(0x14d)]();try{const _0x445e03=redisClient['getClient']();for(let _0x5bda73=0x0;_0x172464[_0x2e3df0(0x154)](_0x5bda73,this['retryCount']);_0x5bda73++){const _0x22e300=await _0x445e03['get'](_0x3a8d74);if(!_0x22e300){await _0x445e03['incr'](_0x528c7d),await _0x445e03[_0x2e3df0(0x158)](_0x528c7d,this['defaultTTL']);const _0x1a59a2=_0x528c7d+':'+_0x284b6e;return await _0x445e03[_0x2e3df0(0x18b)](_0x1a59a2,this['defaultTTL'],_0x284b6e),logger['debug']({'event':'read_lock_acquired','key':_0x528c7d,'value':_0x284b6e},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x284b6e,'lockKey':_0x1a59a2};}logger[_0x2e3df0(0x172)]({'event':_0x2e3df0(0x150),'writeKey':_0x3a8d74,'attempt':_0x5bda73},_0x172464[_0x2e3df0(0x157)]),await this['sleep'](_0x172464[_0x2e3df0(0x139)](this['retryDelay'],Math[_0x2e3df0(0x17c)](0x2,_0x5bda73)));}return logger[_0x2e3df0(0x175)]({'event':_0x2e3df0(0x14e),'key':_0x528c7d},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3751fd){return logger[_0x2e3df0(0x135)]({'event':_0x172464['pHuWa'],'error':_0x3751fd[_0x2e3df0(0x165)]},_0x2e3df0(0x16b)),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x15403a){const _0x370a81=a0_0x2f8026,_0x19373c={'YJMTl':_0x370a81(0x177),'PcFXO':'read','pXbtR':_0x370a81(0x142),'UQUct':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','QjAXa':_0x370a81(0x171),'yjDjG':_0x370a81(0x15b),'qlDMR':function(_0x208d98,_0x19215f){return _0x208d98<_0x19215f;},'ISuts':'write_lock_acquired','YeZLJ':'retry','zQyRc':'Waiting\x20for\x20locks\x20to\x20release','twuKG':function(_0xaf88a5,_0x17a80e){return _0xaf88a5*_0x17a80e;},'eZtPF':'WRITE\x20lock\x20error'};if(!this[_0x370a81(0x140)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2bd19d=this['buildLockKey']({..._0x15403a,'lockType':_0x19373c['YJMTl']}),_0x24068d=this['buildLockKey']({..._0x15403a,'lockType':_0x19373c['PcFXO']}),_0xf5d739=this[_0x370a81(0x14d)]();try{const _0x2ad5ae=redisClient['getClient']();if(this['strategy']===_0x19373c['pXbtR']){const _0x55b7cf=await _0x2ad5ae['set'](_0x2bd19d,_0xf5d739,'EX',this[_0x370a81(0x156)],'NX');if(_0x55b7cf==='OK')return logger['debug']({'event':'write_lock_acquired','key':_0x2bd19d,'value':_0xf5d739,'strategy':_0x19373c['pXbtR']},_0x19373c[_0x370a81(0x153)]),{'success':!![],'lockValue':_0xf5d739,'lockKey':_0x2bd19d};return logger['debug']({'event':_0x19373c['QjAXa'],'key':_0x2bd19d},_0x19373c['yjDjG']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x2b09ca=0x0;_0x19373c[_0x370a81(0x136)](_0x2b09ca,this['retryCount']);_0x2b09ca++){const [_0x483289,_0x1c4f40]=await Promise['all']([_0x2ad5ae[_0x370a81(0x14a)](_0x24068d),_0x2ad5ae[_0x370a81(0x14a)](_0x2bd19d)]);if(!_0x1c4f40&&(!_0x483289||parseInt(_0x483289)===0x0)){const _0x12b19b=await _0x2ad5ae[_0x370a81(0x13d)](_0x2bd19d,_0xf5d739,'EX',this[_0x370a81(0x156)],'NX');if(_0x12b19b==='OK')return logger['debug']({'event':_0x19373c[_0x370a81(0x145)],'key':_0x2bd19d,'value':_0xf5d739,'strategy':_0x19373c['YeZLJ']},'WRITE\x20lock\x20acquired\x20(retry\x20mode)'),{'success':!![],'lockValue':_0xf5d739,'lockKey':_0x2bd19d};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x2bd19d,'readCount':_0x483289,'attempt':_0x2b09ca},_0x19373c[_0x370a81(0x15c)]),await this['sleep'](_0x19373c['twuKG'](this[_0x370a81(0x148)],Math[_0x370a81(0x17c)](0x2,_0x2b09ca)));}return logger['warn']({'event':'write_lock_timeout','key':_0x2bd19d},_0x370a81(0x178)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x39f805){return logger['error']({'event':'write_lock_error','error':_0x39f805['message']},_0x19373c[_0x370a81(0x16f)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2da8fe,_0xf61137){const _0x2110c1=a0_0x2f8026,_0xb79418={'sVAjq':function(_0x2ed628,_0x5981f0){return _0x2ed628===_0x5981f0;},'wRnMG':_0x2110c1(0x137),'vGUjV':_0x2110c1(0x188),'cjGDi':_0x2110c1(0x13e)};if(!this['enabled']||!_0x2da8fe)return!![];try{const _0xcae195=redisClient[_0x2110c1(0x138)]();if(_0x2da8fe['includes'](':read:')){await _0xcae195['del'](_0x2da8fe);const _0xda41a2=_0x2da8fe[_0x2110c1(0x16a)](0x0,_0x2da8fe[_0x2110c1(0x15a)](':')),_0x1347ce=await _0xcae195['get'](_0xda41a2);return _0x1347ce&&parseInt(_0x1347ce)>0x0&&await _0xcae195['decr'](_0xda41a2),logger['debug']({'event':'read_lock_released','key':_0x2da8fe},_0x2110c1(0x134)),!![];}const _0x3b497c=_0x2110c1(0x132),_0x35c620=await _0xcae195['eval'](_0x3b497c,0x1,_0x2da8fe,_0xf61137);if(_0xb79418['sVAjq'](_0x35c620,0x1))return logger['debug']({'event':_0x2110c1(0x176),'key':_0x2da8fe},_0xb79418[_0x2110c1(0x169)]),!![];return logger[_0x2110c1(0x175)]({'event':_0x2110c1(0x18a),'key':_0x2da8fe},_0xb79418[_0x2110c1(0x160)]),![];}catch(_0x2eebbd){return logger[_0x2110c1(0x135)]({'event':'lock_release_error','key':_0x2da8fe,'error':_0x2eebbd['message']},_0xb79418['cjGDi']),![];}}async[a0_0x2f8026(0x163)](_0x2d3ffb,_0x1f2b2e,_0x37312a=null){const _0x1f7ce4=a0_0x2f8026,_0x1e7001={'mXLmy':function(_0x4900d2,_0x3ed7d2){return _0x4900d2===_0x3ed7d2;},'QBkTZ':_0x1f7ce4(0x189)};if(!this['enabled']||!_0x2d3ffb)return!![];try{const _0x48e983=redisClient[_0x1f7ce4(0x138)](),_0x56ff3f='\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',_0x219d77=await _0x48e983['eval'](_0x56ff3f,0x1,_0x2d3ffb,_0x1f2b2e,_0x37312a||this[_0x1f7ce4(0x156)]);if(_0x1e7001[_0x1f7ce4(0x164)](_0x219d77,0x1))return logger[_0x1f7ce4(0x172)]({'event':_0x1f7ce4(0x15e),'key':_0x2d3ffb,'ttl':_0x37312a||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0xb09dd3){return logger[_0x1f7ce4(0x135)]({'event':_0x1e7001[_0x1f7ce4(0x16c)],'key':_0x2d3ffb,'error':_0xb09dd3['message']},'Lock\x20extend\x20error'),![];}}[a0_0x2f8026(0x17e)](){const _0x14ba2d=a0_0x2f8026;return this[_0x14ba2d(0x140)];}[a0_0x2f8026(0x17f)](_0x213f65){return new Promise(_0x4340e7=>setTimeout(_0x4340e7,_0x213f65));}async['getLockInfo'](_0x251815){const _0x186955=a0_0x2f8026,_0x5b34e9={'WQrLk':function(_0x3c67fd,_0x20205f){return _0x3c67fd(_0x20205f);}};if(!this[_0x186955(0x140)])return{'enabled':![]};try{const _0x3e0e50=redisClient['getClient'](),_0x13b529=this['buildLockKey']({..._0x251815,'lockType':_0x186955(0x177)}),_0x2a6a14=this[_0x186955(0x15f)]({..._0x251815,'lockType':_0x186955(0x173)}),[_0x1ce6de,_0x4c892f]=await Promise[_0x186955(0x181)]([_0x3e0e50[_0x186955(0x14a)](_0x13b529),_0x3e0e50['get'](_0x2a6a14)]);return{'enabled':!![],'writeLock':_0x1ce6de||null,'readCount':_0x5b34e9[_0x186955(0x187)](parseInt,_0x4c892f)||0x0,'writeKey':_0x13b529,'readKey':_0x2a6a14};}catch(_0x287706){return{'enabled':!![],'error':_0x287706['message']};}}}module['exports']=new LockManager();
@@ -1 +1 @@
1
- const a0_0x5e5d56=a0_0x32ed;(function(_0x17a3db,_0x1211cb){const _0x32fa36=a0_0x32ed,_0x4d1f69=_0x17a3db();while(!![]){try{const _0x2d51f9=-parseInt(_0x32fa36(0x255))/0x1*(parseInt(_0x32fa36(0x292))/0x2)+-parseInt(_0x32fa36(0x23d))/0x3*(-parseInt(_0x32fa36(0x225))/0x4)+parseInt(_0x32fa36(0x249))/0x5*(-parseInt(_0x32fa36(0x220))/0x6)+parseInt(_0x32fa36(0x25f))/0x7+-parseInt(_0x32fa36(0x213))/0x8+parseInt(_0x32fa36(0x264))/0x9+-parseInt(_0x32fa36(0x1e5))/0xa*(-parseInt(_0x32fa36(0x205))/0xb);if(_0x2d51f9===_0x1211cb)break;else _0x4d1f69['push'](_0x4d1f69['shift']());}catch(_0x5dad91){_0x4d1f69['push'](_0x4d1f69['shift']());}}}(a0_0xad6a,0x575f1));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x5e5d56(0x23e),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x5e5d56(0x25a)][a0_0x5e5d56(0x217)]!==a0_0x5e5d56(0x201),logLevel=process['env'][a0_0x5e5d56(0x297)]||a0_0x5e5d56(0x266);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5e5d56(0x260),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x5e5d56(0x25a)][a0_0x5e5d56(0x23b)]||a0_0x5e5d56(0x229),'env':process[a0_0x5e5d56(0x25a)][a0_0x5e5d56(0x217)]||a0_0x5e5d56(0x278)},'timestamp':pino[a0_0x5e5d56(0x222)][a0_0x5e5d56(0x29a)],'redact':{'paths':['req.headers.authorization',a0_0x5e5d56(0x27b),'password',a0_0x5e5d56(0x299),a0_0x5e5d56(0x22b),'DB_PASSWORD',a0_0x5e5d56(0x23c)],'censor':a0_0x5e5d56(0x29e)},'serializers':{'req':_0x40d98e=>({'id':_0x40d98e['id'],'method':_0x40d98e[a0_0x5e5d56(0x24a)],'url':_0x40d98e[a0_0x5e5d56(0x28c)],'path':_0x40d98e[a0_0x5e5d56(0x21a)],'remoteAddress':_0x40d98e['ip']||_0x40d98e[a0_0x5e5d56(0x251)]?.['remoteAddress']}),'res':_0x3bc6b1=>({'statusCode':_0x3bc6b1['statusCode'],'headers':_0x3bc6b1[a0_0x5e5d56(0x296)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4e0e4c=a0_0x5e5d56,_0x1a8181={'NEoqi':function(_0x10d3ae,_0x324069){return _0x10d3ae===_0x324069;},'ZdZIB':_0x4e0e4c(0x208),'GPQzU':function(_0x292a9e,_0x5347d1){return _0x292a9e!==_0x5347d1;},'giWox':function(_0xa6d6cf,_0x2fc14c){return _0xa6d6cf(_0x2fc14c);},'QTstF':_0x4e0e4c(0x207),'JqTIX':'file_logging_enabled','EHUVI':_0x4e0e4c(0x253),'dIvJH':function(_0x5d5b61,_0x291a7b,_0x346298){return _0x5d5b61(_0x291a7b,_0x346298);},'VGvHY':_0x4e0e4c(0x266)};if(fileLoggingInitialized)return;logToFile=_0x1a8181['NEoqi'](process[_0x4e0e4c(0x25a)][_0x4e0e4c(0x21c)],'true');const _0x52742c=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env'][_0x4e0e4c(0x227)]||_0x4e0e4c(0x214)+_0x52742c,serviceName=process[_0x4e0e4c(0x25a)][_0x4e0e4c(0x236)]||_0x4e0e4c(0x28e),sqlLogEnabled=process['env']['SQL_LOG_ENABLED']===_0x1a8181[_0x4e0e4c(0x22a)],sqlLogLevel=process[_0x4e0e4c(0x25a)]['SQL_LOG_LEVEL']||'debug',sqlLogParams=_0x1a8181[_0x4e0e4c(0x20a)](process[_0x4e0e4c(0x25a)][_0x4e0e4c(0x248)],_0x4e0e4c(0x223)),sqlLogSlowThreshold=_0x1a8181[_0x4e0e4c(0x1f7)](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x73788d=path['resolve'](process['cwd'](),logDir);try{!fs[_0x4e0e4c(0x22e)](_0x73788d)&&fs[_0x4e0e4c(0x2a0)](_0x73788d,{'recursive':!![]});}catch(_0x3fd2d2){console[_0x4e0e4c(0x280)](_0x4e0e4c(0x203)+_0x73788d+':',_0x3fd2d2['message']),fileLoggingInitialized=!![];return;}const _0x246d56=path['join'](_0x73788d,_0x4e0e4c(0x253)),_0x81a63d=path[_0x4e0e4c(0x265)](_0x73788d,_0x1a8181['QTstF']);try{appLogStream=fs['createWriteStream'](_0x246d56,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x81a63d,{'flags':'a'}),fileLoggingInitialized=!![];const _0x9021fa={'event':_0x1a8181[_0x4e0e4c(0x263)],'logDir':_0x73788d,'files':[_0x1a8181['EHUVI'],_0x4e0e4c(0x207)]},_0x80a8ab=_0x4e0e4c(0x29c)+_0x73788d;logger[_0x4e0e4c(0x266)](_0x9021fa,_0x80a8ab),_0x1a8181['dIvJH'](writeToFileLog,{..._0x9021fa,'level':_0x1a8181['VGvHY'],'msg':_0x80a8ab,'time':new Date()[_0x4e0e4c(0x2a5)]()},_0x1a8181[_0x4e0e4c(0x28f)]);}catch(_0x37d1e9){console[_0x4e0e4c(0x280)]('Failed\x20to\x20create\x20log\x20streams:',_0x37d1e9[_0x4e0e4c(0x20b)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x519366,_0x5a3c23){const _0x518fa7=a0_0x5e5d56,_0x3d50f4={'kKwDd':function(_0x2c4578,_0x181f7b){return _0x2c4578||_0x181f7b;},'AaXzI':function(_0x1ee700,_0x36ab23){return _0x1ee700===_0x36ab23;}};if(_0x3d50f4['kKwDd'](!logToFile,!appLogStream))return;const _0x2582d6={'service':serviceName,..._0x519366},_0x1c15c5=JSON['stringify'](_0x2582d6)+'\x0a';appLogStream['write'](_0x1c15c5),(_0x5a3c23===_0x518fa7(0x280)||_0x3d50f4['AaXzI'](_0x5a3c23,_0x518fa7(0x1f0)))&&(errorLogStream&&errorLogStream[_0x518fa7(0x204)](_0x1c15c5));}function a0_0x32ed(_0x44dd1c,_0x1e9a47){_0x44dd1c=_0x44dd1c-0x1e4;const _0xad6a97=a0_0xad6a();let _0x32ed44=_0xad6a97[_0x44dd1c];if(a0_0x32ed['INZCMB']===undefined){var _0x51d8fb=function(_0x324319){const _0x490446='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3287e8='',_0x145d4='';for(let _0x50423f=0x0,_0x534381,_0x74971a,_0x540b8a=0x0;_0x74971a=_0x324319['charAt'](_0x540b8a++);~_0x74971a&&(_0x534381=_0x50423f%0x4?_0x534381*0x40+_0x74971a:_0x74971a,_0x50423f++%0x4)?_0x3287e8+=String['fromCharCode'](0xff&_0x534381>>(-0x2*_0x50423f&0x6)):0x0){_0x74971a=_0x490446['indexOf'](_0x74971a);}for(let _0x324951=0x0,_0x57d58a=_0x3287e8['length'];_0x324951<_0x57d58a;_0x324951++){_0x145d4+='%'+('00'+_0x3287e8['charCodeAt'](_0x324951)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x145d4);};a0_0x32ed['YMasLx']=_0x51d8fb,a0_0x32ed['pKGhff']={},a0_0x32ed['INZCMB']=!![];}const _0x17ac5f=_0xad6a97[0x0],_0x50a93c=_0x44dd1c+_0x17ac5f,_0x5e26ff=a0_0x32ed['pKGhff'][_0x50a93c];return!_0x5e26ff?(_0x32ed44=a0_0x32ed['YMasLx'](_0x32ed44),a0_0x32ed['pKGhff'][_0x50a93c]=_0x32ed44):_0x32ed44=_0x5e26ff,_0x32ed44;}const createRequestLogger=(_0x5f1493={})=>{const _0x7aedda=a0_0x5e5d56;return logger[_0x7aedda(0x231)](_0x5f1493);},logServerStart=_0x2a8c3a=>{const _0x198366=a0_0x5e5d56,_0x2bc9df={'ynjcb':'RESTFORGE\x20RUNTIME\x20SERVER','EtcaZ':function(_0x4f95aa,_0x3e1c9a){return _0x4f95aa/_0x3e1c9a;},'dTcfy':'Node.js','iAKxe':'Default','hxiNF':'ACTIVE','pZtDp':_0x198366(0x1fb),'qdEWd':'info'},_0x405476=_0x2bc9df[_0x198366(0x25b)],_0x4fe21f=Math[_0x198366(0x216)](0x0,0x37-_0x405476['length']),_0x50b76b=Math['floor'](_0x2bc9df[_0x198366(0x24d)](_0x4fe21f,0x2)),_0xd3b5e6=_0x4fe21f-_0x50b76b,_0x2a00ed='║'+'\x20'['repeat'](_0x50b76b)+_0x405476+'\x20'['repeat'](_0xd3b5e6)+'║',_0x16b209=_0x198366(0x288)+_0x2a00ed+_0x198366(0x281)+(_0x2a8c3a['environment']||_0x2bc9df[_0x198366(0x26e)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x2a8c3a['project']||'N/A')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x2a8c3a[_0x198366(0x243)]||0xbb8)[_0x198366(0x295)](0x26)+_0x198366(0x1ef)+(_0x2a8c3a[_0x198366(0x1fd)]||_0x2bc9df[_0x198366(0x24c)])[_0x198366(0x295)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x2a8c3a['apiKey']?_0x2bc9df['hxiNF']:_0x198366(0x298))[_0x198366(0x295)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x198366(0x24b)](_0x16b209);const _0x1061ed={'event':_0x2bc9df[_0x198366(0x245)],'project':_0x2a8c3a[_0x198366(0x25c)],'port':_0x2a8c3a['port'],'config':_0x2a8c3a[_0x198366(0x1fd)],'apiKeyEnabled':!!_0x2a8c3a[_0x198366(0x22b)]};logger['info'](_0x1061ed),writeToFileLog({..._0x1061ed,'level':_0x198366(0x266),'msg':_0x198366(0x26d)+_0x2a8c3a[_0x198366(0x25c)]+_0x198366(0x21d)+_0x2a8c3a[_0x198366(0x243)],'time':new Date()[_0x198366(0x2a5)]()},_0x2bc9df[_0x198366(0x27a)]);},logServerReady=_0x210d25=>{const _0x23799c=a0_0x5e5d56,_0x66c7f4={'PpQBZ':_0x23799c(0x25e),'qcUIX':function(_0xac9745,_0x3208d5,_0xead3ec){return _0xac9745(_0x3208d5,_0xead3ec);},'vwAMz':'info'},_0x4d2f38={'event':_0x66c7f4['PpQBZ'],'port':_0x210d25['port'],'module':_0x210d25[_0x23799c(0x206)],'healthCheck':_0x210d25[_0x23799c(0x2a2)],'serviceInfo':_0x210d25[_0x23799c(0x267)],'baseUrl':_0x210d25[_0x23799c(0x1f5)]},_0x2034ec='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x210d25[_0x23799c(0x243)];logger[_0x23799c(0x266)](_0x4d2f38,_0x2034ec),_0x66c7f4[_0x23799c(0x27f)](writeToFileLog,{..._0x4d2f38,'level':_0x66c7f4[_0x23799c(0x22f)],'msg':_0x2034ec,'time':new Date()[_0x23799c(0x2a5)]()},_0x23799c(0x266)),_0x210d25[_0x23799c(0x2a2)]&&logger[_0x23799c(0x266)]('\x20\x20Health:\x20'+_0x210d25[_0x23799c(0x2a2)]),_0x210d25['serviceInfo']&&logger[_0x23799c(0x266)](_0x23799c(0x1f4)+_0x210d25['serviceInfo']),_0x210d25['baseUrl']&&logger['info'](_0x23799c(0x27e)+_0x210d25['baseUrl']);},logProjectLoaded=(_0x22baa6,_0xa829de)=>{const _0xbaac1f=a0_0x5e5d56,_0xc873db={'uRoYW':_0xbaac1f(0x239),'PcQAc':function(_0x9ef0a,_0x17d8a2,_0x4bae36){return _0x9ef0a(_0x17d8a2,_0x4bae36);},'xBWfV':_0xbaac1f(0x266)},_0x18ff48={'event':_0xc873db[_0xbaac1f(0x1f1)],'project':_0x22baa6,'path':_0xa829de},_0x41c09c=_0xbaac1f(0x202)+_0x22baa6;logger['info'](_0x18ff48,_0x41c09c),_0xc873db[_0xbaac1f(0x21e)](writeToFileLog,{..._0x18ff48,'level':_0xc873db['xBWfV'],'msg':_0x41c09c,'time':new Date()['toISOString']()},_0xc873db[_0xbaac1f(0x24f)]);},logEndpointRegistered=(_0x17972e,_0x9b759c)=>{const _0x2bce5c=a0_0x5e5d56,_0x31f5f9={'FOYwG':'endpoint_registered','JnnbY':function(_0x5605ee,_0x319ca7,_0x5e42e5){return _0x5605ee(_0x319ca7,_0x5e42e5);},'iyong':_0x2bce5c(0x212)},_0x5796b0={'event':_0x31f5f9[_0x2bce5c(0x20e)],'endpoint':_0x17972e,'route':_0x9b759c},_0x571af6=_0x2bce5c(0x27c)+_0x17972e+':\x20'+_0x9b759c;logger['debug'](_0x5796b0,_0x571af6),_0x31f5f9['JnnbY'](writeToFileLog,{..._0x5796b0,'level':_0x31f5f9['iyong'],'msg':_0x571af6,'time':new Date()['toISOString']()},_0x31f5f9[_0x2bce5c(0x218)]);},logDatabaseConfig=_0x563af9=>{const _0x2ffdac=a0_0x5e5d56,_0x47dd0b={'hLlwW':function(_0x5cf230,_0xefdde6,_0x39de25){return _0x5cf230(_0xefdde6,_0x39de25);},'ybXPi':_0x2ffdac(0x212)},_0x81caf0={'event':_0x2ffdac(0x240),'host':_0x563af9[_0x2ffdac(0x1fc)],'port':_0x563af9['port'],'database':_0x563af9[_0x2ffdac(0x1ed)],'type':_0x563af9['type'],'user':_0x563af9[_0x2ffdac(0x289)]},_0x5526d6=_0x2ffdac(0x1f3)+_0x563af9[_0x2ffdac(0x261)]+_0x2ffdac(0x233)+_0x563af9['host']+':'+_0x563af9['port']+'/'+_0x563af9[_0x2ffdac(0x1ed)];logger['debug'](_0x81caf0,_0x5526d6),_0x47dd0b[_0x2ffdac(0x2a3)](writeToFileLog,{..._0x81caf0,'level':_0x47dd0b['ybXPi'],'msg':_0x5526d6,'time':new Date()[_0x2ffdac(0x2a5)]()},'debug');},logRequest=(_0x5641ac,_0x3715e1,_0x10bdb7)=>{const _0x567072=a0_0x5e5d56,_0x591624={'cbRry':'http_request','Ezpdc':_0x567072(0x280)},_0x4c39b9={'event':_0x591624['cbRry'],'method':_0x5641ac['method'],'path':_0x5641ac[_0x567072(0x21a)],'statusCode':_0x3715e1['statusCode'],'durationMs':_0x10bdb7,'ip':_0x5641ac['ip']},_0x5e73b8=_0x5641ac[_0x567072(0x24a)]+'\x20'+_0x5641ac['path']+_0x567072(0x22d)+_0x3715e1['statusCode']+'\x20('+_0x10bdb7+'ms)';let _0x128c06='info';if(_0x3715e1[_0x567072(0x284)]>=0x1f4)_0x128c06=_0x591624[_0x567072(0x21b)],logger[_0x567072(0x280)](_0x4c39b9,_0x5e73b8);else _0x3715e1['statusCode']>=0x190?(_0x128c06=_0x567072(0x2a4),logger[_0x567072(0x2a4)](_0x4c39b9,_0x5e73b8)):logger['info'](_0x4c39b9,_0x5e73b8);writeToFileLog({..._0x4c39b9,'level':_0x128c06,'msg':_0x5e73b8,'time':new Date()[_0x567072(0x2a5)]()},_0x128c06);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd',a0_0x5e5d56(0x299),'access_token','refresh_token',a0_0x5e5d56(0x1e4),'api_secret','apikey','api_key',a0_0x5e5d56(0x219),a0_0x5e5d56(0x271),'pin','otp','private_key','privatekey'],redactSensitiveParams=(_0x1ef69e,_0x422f74)=>{const _0x396de2=a0_0x5e5d56,_0x46f01c={'LzCVJ':'[REDACTED]','PMqeh':function(_0x127c65,_0x28ed30){return _0x127c65===_0x28ed30;},'NIWWr':_0x396de2(0x29b),'wkuVP':'[REDACTED:hash]'};if(!_0x1ef69e||_0x46f01c[_0x396de2(0x1f2)](_0x1ef69e['length'],0x0))return _0x1ef69e;const _0x2ff665=_0x422f74['toLowerCase'](),_0x2612c8=_0x2ff665['match'](/\(([^)]+)\)\s*values/i);let _0x1345f5=[];_0x2612c8&&(_0x1345f5=_0x2612c8[0x1][_0x396de2(0x290)](',')[_0x396de2(0x287)](_0xfd3ac6=>_0xfd3ac6[_0x396de2(0x21f)]()[_0x396de2(0x256)]()));const _0x4a6908=_0x2ff665[_0x396de2(0x242)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x4a6908){const _0x10741e=_0x4a6908[0x1],_0x45e941=_0x10741e['match'](/(\w+)\s*=/g);_0x45e941&&(_0x1345f5=_0x45e941['map'](_0x4f52f6=>_0x4f52f6['replace'](/\s*=/,'')[_0x396de2(0x21f)]()['toLowerCase']()));}return _0x1ef69e[_0x396de2(0x287)]((_0x2dd9c1,_0xda3281)=>{const _0x2c6d46=_0x396de2;if(_0x1345f5[_0xda3281]){const _0x155b86=_0x1345f5[_0xda3281],_0x4f261f=SENSITIVE_PARAM_PATTERNS['some'](_0x5ea213=>_0x155b86['includes'](_0x5ea213));if(_0x4f261f)return _0x46f01c['LzCVJ'];}if(_0x46f01c['PMqeh'](typeof _0x2dd9c1,_0x46f01c[_0x2c6d46(0x269)])&&_0x2dd9c1[_0x2c6d46(0x26a)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x2c6d46(0x23f)](_0x2dd9c1)&&_0x2dd9c1[_0x2c6d46(0x1e8)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x2dd9c1))return _0x46f01c[_0x2c6d46(0x250)];}return _0x2dd9c1;});},parseQueryMetadata=_0x3d1b5d=>{const _0x48b591=a0_0x5e5d56,_0x1578b2={'Wvtoe':_0x48b591(0x1ec),'cfBUU':_0x48b591(0x228),'qSObZ':'DELETE','zPzDq':_0x48b591(0x22c),'pfnqY':_0x48b591(0x215),'KmaZc':'CREATE','maNtJ':_0x48b591(0x282),'dysbd':'DDL_ALTER'},_0x572496=_0x3d1b5d['trim'](),_0xba8e9e=_0x572496[_0x48b591(0x28b)]();let _0x57ca3c=_0x48b591(0x275),_0x1f493d=null;if(_0xba8e9e[_0x48b591(0x258)](_0x1578b2[_0x48b591(0x26b)])){_0x57ca3c=_0x1578b2['Wvtoe'];const _0x38c7ba=_0x572496[_0x48b591(0x242)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f493d=_0x38c7ba?_0x38c7ba[0x1]:null;}else{if(_0xba8e9e[_0x48b591(0x258)](_0x1578b2['cfBUU'])){_0x57ca3c='INSERT';const _0x65b2ca=_0x572496[_0x48b591(0x242)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f493d=_0x65b2ca?_0x65b2ca[0x1]:null;}else{if(_0xba8e9e[_0x48b591(0x258)](_0x48b591(0x1ea))){_0x57ca3c='UPDATE';const _0x2dbc76=_0x572496['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f493d=_0x2dbc76?_0x2dbc76[0x1]:null;}else{if(_0xba8e9e['startsWith'](_0x1578b2['qSObZ'])){_0x57ca3c=_0x48b591(0x1e7);const _0x4a8a56=_0x572496[_0x48b591(0x242)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f493d=_0x4a8a56?_0x4a8a56[0x1]:null;}else{if(_0xba8e9e[_0x48b591(0x258)](_0x48b591(0x1eb))||_0xba8e9e[_0x48b591(0x258)]('START\x20TRANSACTION'))_0x57ca3c=_0x48b591(0x230);else{if(_0xba8e9e['startsWith'](_0x1578b2['zPzDq']))_0x57ca3c=_0x48b591(0x1fa);else{if(_0xba8e9e['startsWith'](_0x48b591(0x273)))_0x57ca3c=_0x1578b2[_0x48b591(0x20f)];else{if(_0xba8e9e[_0x48b591(0x258)](_0x1578b2[_0x48b591(0x268)]))_0x57ca3c=_0x1578b2['maNtJ'];else{if(_0xba8e9e['startsWith']('ALTER'))_0x57ca3c=_0x1578b2[_0x48b591(0x1f6)];else _0xba8e9e['startsWith'](_0x48b591(0x252))&&(_0x57ca3c=_0x48b591(0x274));}}}}}}}}return{'type':_0x57ca3c,'table':_0x1f493d};},startQueryTimer=()=>{const _0x5b2dc9={'msGtE':function(_0x5072cc,_0x17320d){return _0x5072cc(_0x17320d);},'nUlDH':function(_0x482720,_0x941ac1){return _0x482720/_0x941ac1;}},_0x254ae1=process['hrtime']();return()=>{const _0x14fe8b=a0_0x32ed,[_0x226e3a,_0x4a594c]=process[_0x14fe8b(0x27d)](_0x254ae1);return _0x5b2dc9['msGtE'](parseFloat,(_0x226e3a*0x3e8+_0x5b2dc9['nUlDH'](_0x4a594c,0xf4240))[_0x14fe8b(0x20c)](0x2));};},logQuery=(_0x209600,_0x71e829=[],_0x1bcb18={})=>{const _0x451ee4=a0_0x5e5d56,_0x2148fa={'xFyBn':'db_query','FWitF':_0x451ee4(0x1ff),'DoILZ':'postgresql','YqowK':function(_0x148696,_0x2f2293){return _0x148696!==_0x2f2293;},'rHysw':function(_0x48e41a,_0x2fd342){return _0x48e41a>_0x2fd342;},'OVgOd':'debug','YMGKz':_0x451ee4(0x28d),'SYstP':'info','mfNji':function(_0x2bf348,_0x169b81,_0x26499b){return _0x2bf348(_0x169b81,_0x26499b);}};if(!sqlLogEnabled){logger['debug']({'event':_0x2148fa[_0x451ee4(0x26c)],'query':_0x209600['substring'](0x0,0xc8),'paramCount':_0x71e829[_0x451ee4(0x26a)]},_0x2148fa['FWitF']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2148fa['DoILZ']}=_0x1bcb18,{type:_0x345360,table:_0x75f655}=parseQueryMetadata(_0x209600),_0x3a02eb={'event':'sql_query','queryType':_0x345360,'table':_0x75f655,'query':_0x209600,'paramCount':_0x71e829['length'],'dbType':dbType};sqlLogParams&&_0x71e829[_0x451ee4(0x26a)]>0x0&&(_0x3a02eb[_0x451ee4(0x200)]=redactSensitiveParams(_0x71e829,_0x209600));_0x2148fa['YqowK'](duration,null)&&(_0x3a02eb[_0x451ee4(0x1ee)]=duration,_0x3a02eb[_0x451ee4(0x210)]=_0x2148fa['rHysw'](duration,sqlLogSlowThreshold));_0x2148fa['YqowK'](rowsAffected,null)&&(_0x3a02eb['rowsAffected']=rowsAffected);const _0x2197be=_0x75f655||'unknown';let _0x4cee78='['+_0x345360+']\x20'+_0x2197be;_0x2148fa['YqowK'](duration,null)&&(_0x4cee78+='\x20('+duration+'ms)');const _0x8f8e24=_0x2148fa['YqowK'](duration,null)&&duration>sqlLogSlowThreshold;let _0x4f746b=_0x2148fa[_0x451ee4(0x29d)];if(_0x8f8e24)_0x4cee78+=_0x2148fa['YMGKz'],_0x4f746b=_0x451ee4(0x2a4),logger[_0x451ee4(0x2a4)](_0x3a02eb,_0x4cee78);else sqlLogLevel===_0x2148fa[_0x451ee4(0x237)]?(_0x4f746b=_0x2148fa['SYstP'],logger[_0x451ee4(0x266)](_0x3a02eb,_0x4cee78)):logger['debug'](_0x3a02eb,_0x4cee78);_0x2148fa[_0x451ee4(0x285)](writeToFileLog,{..._0x3a02eb,'level':_0x4f746b,'msg':_0x4cee78,'time':new Date()[_0x451ee4(0x2a5)]()},_0x4f746b);},logTransaction=(_0x461f99,_0x3bb9d3)=>{const _0x4ed290=a0_0x5e5d56,_0x40c942={'XTKlQ':'db_transaction'},_0x36b04d={'event':_0x40c942[_0x4ed290(0x211)],'status':_0x461f99,'queryCount':_0x3bb9d3},_0x38acdc='Transaction\x20'+_0x461f99;logger[_0x4ed290(0x212)](_0x36b04d,_0x38acdc),writeToFileLog({..._0x36b04d,'level':'debug','msg':_0x38acdc,'time':new Date()['toISOString']()},_0x4ed290(0x212));},redactObject=_0x62f006=>{const _0x319b69=a0_0x5e5d56,_0xb137ba={'ACCVp':'object','QBxLu':'passwd','FFUkV':'pwd','BzMVh':'api_key','mSdqg':_0x319b69(0x1f8),'ouvaF':_0x319b69(0x209),'GaESZ':'ssn','vUxgo':'privatekey','alFCX':_0x319b69(0x291),'UMWFO':function(_0x408b39,_0x12ef98){return _0x408b39===_0x12ef98;}};if(!_0x62f006||typeof _0x62f006!==_0xb137ba[_0x319b69(0x232)])return _0x62f006;const _0x398343=['password',_0xb137ba['QBxLu'],_0xb137ba['FFUkV'],_0x319b69(0x299),'secret','apikey',_0xb137ba[_0x319b69(0x294)],'authorization',_0xb137ba['mSdqg'],_0xb137ba[_0x319b69(0x238)],_0x319b69(0x262),_0xb137ba['GaESZ'],'pin',_0x319b69(0x24e),_0xb137ba[_0x319b69(0x224)],_0xb137ba['alFCX'],_0x319b69(0x234)],_0x34ca10=Array['isArray'](_0x62f006)?[..._0x62f006]:{..._0x62f006};for(const _0x46cee7 of Object['keys'](_0x34ca10)){const _0x4b5c=_0x46cee7[_0x319b69(0x256)]();if(_0x398343[_0x319b69(0x23a)](_0x5ec776=>_0x4b5c[_0x319b69(0x1e8)](_0x5ec776)))_0x34ca10[_0x46cee7]='[REDACTED]';else _0xb137ba[_0x319b69(0x241)](typeof _0x34ca10[_0x46cee7],'object')&&_0x34ca10[_0x46cee7]!==null&&(_0x34ca10[_0x46cee7]=redactObject(_0x34ca10[_0x46cee7]));}return _0x34ca10;},logError=(_0x102e8e,_0x10e6da={},_0x371578=null)=>{const _0x1d382d=a0_0x5e5d56,_0x19c69d={'oFVEJ':_0x1d382d(0x235),'sUPnP':'error'},_0xd0517a={'event':_0x1d382d(0x280),'errorName':_0x102e8e['name']||_0x19c69d['oFVEJ'],'errorMessage':_0x102e8e[_0x1d382d(0x20b)],'errorCode':_0x102e8e[_0x1d382d(0x270)]||null,'stack':_0x102e8e['stack'],..._0x10e6da},_0x5e23fb=_0x371578||'Error:\x20'+_0x102e8e['message'];logger[_0x1d382d(0x280)](_0xd0517a,_0x5e23fb),writeToFileLog({..._0xd0517a,'level':_0x19c69d[_0x1d382d(0x286)],'msg':_0x5e23fb,'time':new Date()[_0x1d382d(0x2a5)]()},'error');},logFatalError=(_0x5d49ce,_0x165b7e={},_0x35f16d=null)=>{const _0x20f12b=a0_0x5e5d56,_0x762995={'TykLx':_0x20f12b(0x2a1),'WYfSy':'fatal','qhDyt':'error'},_0x566dd9={'event':_0x762995[_0x20f12b(0x244)],'errorName':_0x5d49ce[_0x20f12b(0x247)]||'Error','errorMessage':_0x5d49ce['message'],'errorCode':_0x5d49ce['code']||null,'stack':_0x5d49ce[_0x20f12b(0x226)],'severity':_0x20f12b(0x276),..._0x165b7e},_0x25705f=_0x35f16d||'FATAL:\x20'+_0x5d49ce[_0x20f12b(0x20b)];logger[_0x20f12b(0x1f0)](_0x566dd9,_0x25705f),writeToFileLog({..._0x566dd9,'level':_0x762995['WYfSy'],'msg':_0x25705f,'time':new Date()['toISOString']()},_0x762995['qhDyt']);},logHttpError=(_0x3af050,_0xc32872,_0x73fb61={})=>{const _0x2a2601=a0_0x5e5d56,_0x1b9bc3={'AiOUy':_0x2a2601(0x235),'vKpxm':'user-agent','zhemz':'warn'},_0x17c2ca={'event':'http_error','errorName':_0x3af050[_0x2a2601(0x247)]||_0x1b9bc3['AiOUy'],'errorMessage':_0x3af050[_0x2a2601(0x20b)],'errorCode':_0x3af050['code']||_0x3af050['statusCode']||0x1f4,'stack':_0x3af050[_0x2a2601(0x226)],'method':_0xc32872?.['method'],'url':_0xc32872?.['url']||_0xc32872?.['originalUrl'],'path':_0xc32872?.['path'],'ip':_0xc32872?.['ip']||_0xc32872?.[_0x2a2601(0x251)]?.['remoteAddress'],'userAgent':_0xc32872?.[_0x2a2601(0x277)]?.(_0x1b9bc3['vKpxm']),'requestId':_0xc32872?.['id']||_0xc32872?.['headers']?.[_0x2a2601(0x25d)],'body':_0xc32872?.[_0x2a2601(0x246)]?redactObject(_0xc32872[_0x2a2601(0x246)]):undefined,'query':_0xc32872?.[_0x2a2601(0x279)],..._0x73fb61},_0x3efd96=_0x3af050['statusCode']||_0x3af050['status']||0x1f4,_0x4d0abf=_0x2a2601(0x1e9)+_0x3efd96+':\x20'+_0x3af050[_0x2a2601(0x20b)];_0x3efd96>=0x1f4?logger['error'](_0x17c2ca,_0x4d0abf):logger['warn'](_0x17c2ca,_0x4d0abf),writeToFileLog({..._0x17c2ca,'level':_0x3efd96>=0x1f4?'error':_0x1b9bc3[_0x2a2601(0x272)],'msg':_0x4d0abf,'time':new Date()[_0x2a2601(0x2a5)]()},_0x3efd96>=0x1f4?_0x2a2601(0x280):_0x1b9bc3['zhemz']);},logUncaughtError=(_0x110c82,_0x169b30)=>{const _0x4d3885=a0_0x5e5d56,_0x1d00cb={'LzOTz':_0x4d3885(0x235),'uZmOQ':function(_0x12094b,_0x510237){return _0x12094b(_0x510237);},'VPzIo':function(_0x2c85ef,_0x3050c4,_0x31609c){return _0x2c85ef(_0x3050c4,_0x31609c);},'HVUtH':'fatal','zBIJG':'error'},_0x32a113={'event':_0x110c82,'errorName':_0x169b30?.['name']||_0x1d00cb['LzOTz'],'errorMessage':_0x169b30?.[_0x4d3885(0x20b)]||_0x1d00cb[_0x4d3885(0x259)](String,_0x169b30),'errorCode':_0x169b30?.[_0x4d3885(0x270)]||null,'stack':_0x169b30?.[_0x4d3885(0x226)],'severity':_0x4d3885(0x276),'processId':process['pid'],'memoryUsage':process[_0x4d3885(0x1fe)](),'uptime':process[_0x4d3885(0x28a)]()},_0x59602='['+_0x110c82[_0x4d3885(0x28b)]()+']\x20'+(_0x169b30?.[_0x4d3885(0x20b)]||_0x169b30);logger['fatal'](_0x32a113,_0x59602),_0x1d00cb['VPzIo'](writeToFileLog,{..._0x32a113,'level':_0x1d00cb['HVUtH'],'msg':_0x59602,'time':new Date()['toISOString']()},_0x1d00cb['zBIJG']);},setupGlobalErrorHandlers=()=>{const _0x34c91a=a0_0x5e5d56,_0x583aef={'MqtFM':'uncaughtException','dREYf':function(_0x99add9,_0x3784b9,_0x8c4cb6){return _0x99add9(_0x3784b9,_0x8c4cb6);},'vVLDa':function(_0x4da77b,_0x546bf7){return _0x4da77b(_0x546bf7);},'VnxCI':'unhandledRejection','iNzja':'global_error_handlers_setup','tNyNU':'info'};process['on'](_0x34c91a(0x1e6),_0x2dd66c=>{const _0x5570bb=_0x34c91a;logUncaughtError(_0x583aef['MqtFM'],_0x2dd66c),_0x583aef[_0x5570bb(0x293)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x583aef['VnxCI'],(_0x6d54,_0x1d649c)=>{const _0x5a1322=_0x34c91a,_0x4af6c1=_0x6d54 instanceof Error?_0x6d54:new Error(_0x583aef[_0x5a1322(0x283)](String,_0x6d54));logUncaughtError('unhandledRejection',_0x4af6c1);}),process['on'](_0x34c91a(0x26f),_0x3206c8=>{const _0x2482b7=_0x34c91a;logger[_0x2482b7(0x2a4)]({'event':'process_warning','name':_0x3206c8[_0x2482b7(0x247)],'message':_0x3206c8[_0x2482b7(0x20b)],'stack':_0x3206c8[_0x2482b7(0x226)]},_0x2482b7(0x20d)+_0x3206c8['message']);});const _0x4946cb={'event':_0x583aef[_0x34c91a(0x1f9)]},_0xcdd721='Global\x20error\x20handlers\x20initialized';logger[_0x34c91a(0x266)](_0x4946cb,_0xcdd721),writeToFileLog({..._0x4946cb,'level':_0x583aef[_0x34c91a(0x257)],'msg':_0xcdd721,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x39b234={'MCvIY':function(_0x2c2c85,_0x282f0c){return _0x2c2c85>=_0x282f0c;}};return(_0x18480f,_0x7e6092,_0x3ecc24,_0x4499c5)=>{const _0x30f5f7=a0_0x32ed;logHttpError(_0x18480f,_0x7e6092);const _0x4f614d=_0x18480f[_0x30f5f7(0x284)]||_0x18480f['status']||0x1f4;_0x3ecc24['status'](_0x4f614d)[_0x30f5f7(0x221)]({'success':![],'error':_0x39b234['MCvIY'](_0x4f614d,0x1f4)?_0x30f5f7(0x254):_0x18480f['message'],'requestId':_0x7e6092['id']||_0x7e6092[_0x30f5f7(0x29f)]?.['x-request-id']||null});};};function a0_0xad6a(){const _0x531510=['Ahj0Aw1L','icbvuKW6icaGia','CwnvsvG','zxjYB3i','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','rermx0nsrufurq','DLzmrge','C3rHDhvZq29Kzq','BwzoAMK','C1vqBLa','BwfW','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','DxnLCG','Dxb0Aw1L','Dg9vChbLCKnHC2u','DxjS','ifTtte9xxq','CMvZDgzVCMDL','vKD2sfK','C3bSAxq','CMvMCMvZAf90B2TLBG','ntu2nZaYy3blyKLc','zfjfwwy','qNPnvMG','CgfKrw5K','z2v0sgvHzgvYCW','te9hx0XfvKvm','tK9uiefdveLwrq','Dg9Rzw4','AxnVvgLTzq','C3rYAw5N','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','t1zNt2q','w1jfrefdvevexq','AgvHzgvYCW','BwTKAxjtEw5J','zMf0ywXFzxjYB3i','AgvHBhrOq2HLy2S','AeXSD1C','D2fYBG','Dg9ju09tDhjPBMC','C2vJCMv0','mtmYnZm5mfDrwuXqDq','Dw5JyxvNAhrfEgnLChrPB24','revmrvrf','Aw5JBhvKzxm','sfruuca','vvbeqvrf','qKvhsu4','u0vmrunu','zgf0ywjHC2u','zhvYyxrPB25nCW','iokvKqRILzeGienVBMzPzYaGicaGidOG','zMf0ywW','DvjVwvC','ue1XzwG','rgf0ywjHC2u6ia','icbjBMzVoIaGia','yMfZzvvYBa','zhLZyMq','z2LxB3G','y3jLzgL0y2fYza','Au56AMe','vfjbtLnbq1rjt05Fq09ntuLu','C2vYDMvYx3n0yxj0Aw5N','Ag9ZDa','y29UzMLNrMLSzq','BwvTB3j5vxnHz2u','reiGuxvLCNK','CgfYyw1Z','ChjVzhvJDgLVBG','w09lxsbqCM9Qzwn0igXVywrLzdOG','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','D3jPDgu','ntvbvKP2rue','Bw9KDwXL','zxjYB3iUBg9N','Dhj1zq','y3jLzgL0x2nHCMq','r1brELu','BwvZC2fNzq','Dg9gAxHLza','uhjVy2vZCYbxyxjUAw5NoIa','rK9zD0C','CgzUCvK','AxntBg93','wfrlBfe','zgvIDwC','mti0nta4off4rgHJzW','lI9SB2DZlW','vfjbtLnbq1rjt05FuK9mtejbq0S','Bwf4','tK9erv9ftLy','AxLVBMC','y3jLzgvUDgLHBa','Cgf0Aa','rxPWzgm','te9hx1rpx0zjteu','ig9UihbVCNqG','ugnrqwm','DhjPBq','mtjrywP2qwu','ANnVBG','C3rKvgLTzuz1BMn0Aw9UCW','zMfSC2u','DLv4z28','nfHIDeP5ua','C3rHy2S','te9hx0rjuG','su5trvju','ms4WlJu','wMrAsui','yxbPs2v5','q09ntuLu','ic0G','zxHPC3rZu3LUyW','DNDbtxO','vfjbtLnbq1rjt05FqKvhsu4','y2HPBgq','qundvNa','oI8V','ywnJzxnZx3rVA2vU','rxjYB3i','u0vsvKLdrv9oqu1f','u1LZDfa','B3v2yuy','ChjVAMvJDf9SB2fKzwq','C29Tzq','qvbqx1zfuLnjt04','sLDux1nfq1jfva','ody5mtL3B2zpugu','E21Zz30','DgvZDa','zgf0ywjHC2vFy29UzMLN','vu1xrK8','Bwf0y2G','Cg9YDa','vhLRthG','CfP0rha','yM9KEq','BMfTzq','u1fmx0Xpr19qqvjbtvm','oti4ndCWzNbJuM9M','Bwv0Ag9K','Bg9N','AuflEgu','rxrJyvO','ChjPDMf0zv9RzxK','EejxzLy','D2T1vLa','y29UBMvJDgLVBG','rfjpua','yxbWlMXVzW','sw50zxjUywWGC2vYDMvYigvYCM9Y','mw5NC0XeAW','Dg9mB3DLCKnHC2u','De55tLu','C3rHCNrZv2L0Aa','DvPTt1e','zw52','Ew5Qy2i','ChjVAMvJDa','Ec1Yzxf1zxn0lwLK','C2vYDMvYx3jLywr5','mZa1mJqYmhHtz1jyEq','CgLUBY1WCMv0DhK','DhLWzq','y3z2','sNfusvG','mZeWnJGWqvn1teHo','AM9PBG','Aw5MBW','C2vYDMLJzuLUzM8','s21HwMm','tKLxv3i','BgvUz3rO','v3z0B2u','Eez5qM4','u2vYDMvYihn0yxj0Aw5NoIa','zfrJzNK','D2fYBMLUzW','y29Kzq','y3jLzgvUDgLHBhm','EMHLBxO','uK9mtejbq0S','rermx0rst1a','vu5ltK9xtG','q1jjveLdquW','z2v0','zgv2zwXVCg1LBNq','CxvLCNK','Cwrfv2q','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','icdIHPiG'];a0_0xad6a=function(){return _0x531510;};return a0_0xad6a();}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_0x5ba06d=a0_0x4524;(function(_0x4dc845,_0x474045){const _0x9fa8e7=a0_0x4524,_0xf6a16d=_0x4dc845();while(!![]){try{const _0x13f129=parseInt(_0x9fa8e7(0x1c9))/0x1*(-parseInt(_0x9fa8e7(0x240))/0x2)+-parseInt(_0x9fa8e7(0x206))/0x3+-parseInt(_0x9fa8e7(0x230))/0x4*(parseInt(_0x9fa8e7(0x202))/0x5)+parseInt(_0x9fa8e7(0x183))/0x6+-parseInt(_0x9fa8e7(0x23a))/0x7*(parseInt(_0x9fa8e7(0x236))/0x8)+parseInt(_0x9fa8e7(0x222))/0x9+parseInt(_0x9fa8e7(0x193))/0xa;if(_0x13f129===_0x474045)break;else _0xf6a16d['push'](_0xf6a16d['shift']());}catch(_0x31164e){_0xf6a16d['push'](_0xf6a16d['shift']());}}}(a0_0x35a2,0xd9002));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x5ba06d(0x1a2),serviceName='restforge',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_0x5ba06d(0x1c4),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x5ba06d(0x1dd)]['LOG_LEVEL']||a0_0x5ba06d(0x1cc);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5ba06d(0x1b6),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x5ba06d(0x1dd)]['APP_VERSION']||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x5ba06d(0x1d1),a0_0x5ba06d(0x203),'password',a0_0x5ba06d(0x1a6),'apiKey','DB_PASSWORD','JWT_SECRET'],'censor':a0_0x5ba06d(0x21c)},'serializers':{'req':_0x1b44c9=>({'id':_0x1b44c9['id'],'method':_0x1b44c9['method'],'url':_0x1b44c9['url'],'path':_0x1b44c9['path'],'remoteAddress':_0x1b44c9['ip']||_0x1b44c9[a0_0x5ba06d(0x1be)]?.['remoteAddress']}),'res':_0x5e3252=>({'statusCode':_0x5e3252[a0_0x5ba06d(0x184)],'headers':_0x5e3252[a0_0x5ba06d(0x197)]?.()}),'err':pino['stdSerializers'][a0_0x5ba06d(0x19d)]}});function initFileLogging(){const _0x11f540=a0_0x5ba06d,_0x3b43c6={'VFZtI':function(_0xc29054,_0x42ec9d){return _0xc29054===_0x42ec9d;},'orOpW':'true','BvETD':_0x11f540(0x1fb),'eJaVz':'restforge','LzEle':_0x11f540(0x1bc),'Urosp':function(_0x1ffc7f,_0x3ca506){return _0x1ffc7f(_0x3ca506);},'fwiID':_0x11f540(0x21a),'mPQoE':_0x11f540(0x1e1),'Ngjga':function(_0x51c814,_0x285352,_0x396cb6){return _0x51c814(_0x285352,_0x396cb6);}};if(fileLoggingInitialized)return;logToFile=_0x3b43c6['VFZtI'](process['env']['LOG_TO_FILE'],_0x3b43c6[_0x11f540(0x209)]);const _0x2ec2ff=process['env'][_0x11f540(0x233)]||_0x3b43c6['BvETD'];logDir=process[_0x11f540(0x1dd)]['LOG_DIR']||'./logs/'+_0x2ec2ff,serviceName=process['env']['SERVICE_NAME']||_0x3b43c6[_0x11f540(0x1a4)],sqlLogEnabled=process[_0x11f540(0x1dd)]['SQL_LOG_ENABLED']==='true',sqlLogLevel=process[_0x11f540(0x1dd)]['SQL_LOG_LEVEL']||_0x11f540(0x231),sqlLogParams=process['env'][_0x11f540(0x1e6)]!==_0x3b43c6[_0x11f540(0x21b)],sqlLogSlowThreshold=_0x3b43c6[_0x11f540(0x23c)](parseInt,process['env'][_0x11f540(0x220)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x439fed=path['resolve'](process[_0x11f540(0x216)](),logDir);try{!fs['existsSync'](_0x439fed)&&fs[_0x11f540(0x1d4)](_0x439fed,{'recursive':!![]});}catch(_0x1dacfd){console[_0x11f540(0x215)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x439fed+':',_0x1dacfd['message']),fileLoggingInitialized=!![];return;}const _0x505db9=path[_0x11f540(0x194)](_0x439fed,_0x11f540(0x208)),_0x45b5fe=path['join'](_0x439fed,_0x11f540(0x1e1));try{appLogStream=fs[_0x11f540(0x1b4)](_0x505db9,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x45b5fe,{'flags':'a'}),fileLoggingInitialized=!![];const _0x21cf75={'event':_0x3b43c6[_0x11f540(0x1a3)],'logDir':_0x439fed,'files':['app.log',_0x3b43c6[_0x11f540(0x221)]]},_0x46fbfd='File\x20logging\x20enabled:\x20'+_0x439fed;logger['info'](_0x21cf75,_0x46fbfd),_0x3b43c6[_0x11f540(0x1cf)](writeToFileLog,{..._0x21cf75,'level':_0x11f540(0x1cc),'msg':_0x46fbfd,'time':new Date()[_0x11f540(0x242)]()},'info');}catch(_0x11c990){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x11c990['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5c7f77,_0x38c784){const _0x360232=a0_0x5ba06d,_0x2a37b9={'ygQua':function(_0x5bf0f8,_0x29b193){return _0x5bf0f8||_0x29b193;},'Wwxcr':'error','FfyEN':function(_0x46e39f,_0x7e9859){return _0x46e39f===_0x7e9859;}};if(_0x2a37b9['ygQua'](!logToFile,!appLogStream))return;const _0x29f8b0={'service':serviceName,..._0x5c7f77},_0x4a3c6e=JSON['stringify'](_0x29f8b0)+'\x0a';appLogStream['write'](_0x4a3c6e),(_0x38c784===_0x2a37b9['Wwxcr']||_0x2a37b9[_0x360232(0x1ee)](_0x38c784,'fatal'))&&(errorLogStream&&errorLogStream[_0x360232(0x23b)](_0x4a3c6e));}function a0_0x35a2(){const _0x26b934=['q2TPtuC','zgDhquS','C2vYDMvYx3n0yxj0Aw5N','zgjFCxvLCNK','CgfKrw5K','vfL5Afi','mtq0mJa3mLrzqM5ABq','zgvIDwC','ChjVAMvJDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Cgf0Aa','tK9uiefdveLwrq','ndm2ndbjueLeu3i','B0j0Axy','zMf0ywW','AxntBg93','ndKWtuTYr1zy','D3jPDgu','vxjVC3a','qwf6Cwq','vfjbtLnbq1rjt05Fq09ntuLu','yuHSAgq','mtu3mdG3ne1SALjMra','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','D1vgt1e','w1jfrefdveveoNrVA2vUxq','ode1nZC4r0HsD0DK','C3rHDhvZq29Kzq','BwvZC2fNzq','D3rtD0O','Bfr5teK','zMXVB3i','y3jLzgvUDgLHBa','icbizwfSDgG6ia','C2vYDMvYx3jLywr5','zw52AxjVBM1LBNq','BMfTzq','yxbPx3nLy3jLDa','B2jQzwn0','BxfAreu','Ec1Yzxf1zxn0lwLK','BwfW','mZa4ndi1nJb0swzWy00','AM9PBG','yxbPs2v5','CMvWzwf0','z2v0sgvHzgvYCW','iokvKqRILzeGifbVCNqGicaGicaGidOG','EK1br2m','sK1nv00','DgvZDa','zxHWB3j0CW','zxjY','rKfuquW6ia','C3fSx3f1zxj5','qvfczvK','DxnLCG','lI9SB2DZ','zNDPsuq','zuPHvNO','qKvhsu4','Dg9Rzw4','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','AgvHBhrOq2HLy2S','C3bPENq','zMf0ywXFzxjYB3i','y29Kzq','zhvYyxrPB25nCW','BgvUz3rO','u0vmrunu','sw50zxjUywWGC2vYDMvYigvYCM9Y','q1jjveLdquW','qunusvzf','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','CxryqM4','y3jLyxrLv3jPDgvtDhjLyw0','uejgqwG','CgLUBY1WCMv0DhK','Ahj0Aw1L','DMLwEMi','BwvTB3j5vxnHz2u','t25pAvG','y29UzMLNrMLSzq','zMfSC2u','DhjPBq','y29UBMvJDgLVBG','zhvYBvm','DhLWzq','quXurvi','Ahr0Cf9Yzxf1zxn0','yxbPx2TLEq','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','uhjVy2vZCYbxyxjUAw5NoIa','ywnJzxnZx3rVA2vU','vfjbtLnbq1rjt05FuK9mtejbq0S','wvHqCNC','mvLhver6Aq','y3jLzgL0x2nHCMq','zgf0ywjHC2u','Aw5MBW','rxjYB3i','zgjFDhjHBNnHy3rPB24','tMDQz2e','AgvHzgvYCW','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','yMfZzvvYBa','uwP4y2C','BwTKAxjtEw5J','tI9b','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','uKX4B1q','yxv0Ag9YAxPHDgLVBG','CMvWBgfJzq','q09ntuLu','y2HPBgq','zw5KCg9PBNrFCMvNAxn0zxjLza','zw52','zunmrum','AeXZB2u','z2v0','zxjYB3iUBg9N','Bfz4wxq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','Ahr0Cf9LCNjVCG','rfjpua','u1fmx0Xpr19qqvjbtvm','sMnbwKm','D2fYBG','reiGuxvLCNK','iokvKqRILzeGiefqssblzxKGicaGidOG','Bwv0Ag9K','rgvMyxvSDa','DxnLCI1Hz2vUDa','rMz5ru4','y3jLzgvUDgLHBhm','ChjVy2vZC193yxjUAw5N','Ag9ZDa','sM1SyLe','CgfZC3DVCMq','r1nwyKO','Dw5JyxvNAhrfEgnLChrPB24','Bwf0y2G','ALLQB0K','Cg9ZDgDYzxnXBa','zxfJAxe','iokvKqRILzeGifbYB2PLy3qGicaGidOG','zgvMyxvSDa','rermx0rst1a','Bw9KDwXL','Aw5JBhvKzxm','vfjbtLnbq1rjt05FqKvhsu4','C3rHDhvZ','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','mtvhsM9bDwS','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','CKTOve4','rermx0nsrufurq','mZiZnZCWmM9RwxvUwG','yM9KEq','yxbWlMXVzW','B3jpCfC','ChjPDMf0zv9RzxK','icbjBMzVoIaGia','vLDiEwe','vKvhBLC','Dg9gAxHLza','Cg9YDa','vhvfELK','swP6wKy','Dg9mB3DLCKnHC2u','tM9Kzs5QCW','w09lxsbqCM9Qzwn0igXVywrLzdOG','zxjYB3i','y3DK','twTWyxe','t0HTCui','C3rHy2S','zMLSzv9SB2DNAw5Nx2vUywjSzwq','thPfBgu','w1jfrefdvevexq','ChDK','C3rYAw5N','uxHguMm','u1fmx0Xpr19tte9xx1riuKvtse9mra','BvbrB0u','odK3mdiXmgXbu3vSqG','CMvMCMvZAf90B2TLBG','sMf1r2G','wMzJDgS','C2vYDMLJzuLUzM8','yxbPA2v5','zKn3DfG','ChjVAMvJDf9SB2fKzwq'];a0_0x35a2=function(){return _0x26b934;};return a0_0x35a2();}const createRequestLogger=(_0x5f4866={})=>{const _0x393b69=a0_0x5ba06d;return logger[_0x393b69(0x1db)](_0x5f4866);},logServerStart=_0x51ebf=>{const _0x261161=a0_0x5ba06d,_0x15d0a9={'oBtiv':function(_0x3fb72d,_0x4e7bca){return _0x3fb72d-_0x4e7bca;},'jSvrv':function(_0x583358,_0x3e13b4){return _0x583358/_0x3e13b4;},'lVxYt':_0x261161(0x1ec),'CsTrx':_0x261161(0x1b1),'Aazqd':'info'},_0x644029=_0x261161(0x1d6),_0xec6165=Math['max'](0x0,_0x15d0a9[_0x261161(0x237)](0x37,_0x644029['length'])),_0x281ab2=Math[_0x261161(0x188)](_0x15d0a9['jSvrv'](_0xec6165,0x2)),_0x5db34d=_0xec6165-_0x281ab2,_0x581d18='║'+'\x20'['repeat'](_0x281ab2)+_0x644029+'\x20'[_0x261161(0x196)](_0x5db34d)+'║',_0x3b2bb5='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x581d18+_0x261161(0x201)+(_0x51ebf[_0x261161(0x18c)]||_0x261161(0x213))['padEnd'](0x26)+_0x261161(0x1fa)+(_0x51ebf['project']||_0x261161(0x1d5))['padEnd'](0x26)+_0x261161(0x198)+String(_0x51ebf[_0x261161(0x20f)]||0xbb8)[_0x261161(0x22e)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x51ebf[_0x261161(0x1bb)]||_0x15d0a9[_0x261161(0x1e2)])[_0x261161(0x22e)](0x26)+_0x261161(0x1ea)+(_0x51ebf[_0x261161(0x195)]?_0x15d0a9['CsTrx']:_0x261161(0x235))[_0x261161(0x22e)](0x26)+_0x261161(0x1b2);console['log'](_0x3b2bb5);const _0x2a9877={'event':_0x261161(0x22c),'project':_0x51ebf[_0x261161(0x232)],'port':_0x51ebf[_0x261161(0x20f)],'config':_0x51ebf['configFile'],'apiKeyEnabled':!!_0x51ebf[_0x261161(0x195)]};logger[_0x261161(0x1cc)](_0x2a9877),writeToFileLog({..._0x2a9877,'level':_0x15d0a9[_0x261161(0x23d)],'msg':'Server\x20starting:\x20'+_0x51ebf['project']+'\x20on\x20port\x20'+_0x51ebf[_0x261161(0x20f)],'time':new Date()[_0x261161(0x242)]()},_0x261161(0x1cc));},logServerReady=_0xc69823=>{const _0x1abe92=a0_0x5ba06d,_0x458945={'JuMkl':_0x1abe92(0x18b),'spizt':function(_0x5cbaca,_0x155830,_0x1d7754){return _0x5cbaca(_0x155830,_0x1d7754);},'zAkLf':_0x1abe92(0x1cc)},_0x10e358={'event':_0x458945['JuMkl'],'port':_0xc69823[_0x1abe92(0x20f)],'module':_0xc69823[_0x1abe92(0x1fd)],'healthCheck':_0xc69823[_0x1abe92(0x1a8)],'serviceInfo':_0xc69823[_0x1abe92(0x226)],'baseUrl':_0xc69823[_0x1abe92(0x1d2)]},_0x3c7909='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0xc69823[_0x1abe92(0x20f)];logger['info'](_0x10e358,_0x3c7909),_0x458945[_0x1abe92(0x1a9)](writeToFileLog,{..._0x10e358,'level':_0x458945['zAkLf'],'msg':_0x3c7909,'time':new Date()['toISOString']()},_0x458945['zAkLf']),_0xc69823['healthCheck']&&logger[_0x1abe92(0x1cc)](_0x1abe92(0x18a)+_0xc69823['healthCheck']),_0xc69823['serviceInfo']&&logger[_0x1abe92(0x1cc)](_0x1abe92(0x20b)+_0xc69823[_0x1abe92(0x226)]),_0xc69823['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0xc69823['baseUrl']);},logProjectLoaded=(_0x461023,_0xd42075)=>{const _0x3e7e92=a0_0x5ba06d,_0xb8e991={'Mkpaq':function(_0x108cb7,_0x2f7fb9,_0x190224){return _0x108cb7(_0x2f7fb9,_0x190224);},'CUeah':_0x3e7e92(0x1cc)},_0xf421f6={'event':_0x3e7e92(0x229),'project':_0x461023,'path':_0xd42075},_0x1c3001=_0x3e7e92(0x214)+_0x461023;logger['info'](_0xf421f6,_0x1c3001),_0xb8e991[_0x3e7e92(0x217)](writeToFileLog,{..._0xf421f6,'level':_0xb8e991['CUeah'],'msg':_0x1c3001,'time':new Date()[_0x3e7e92(0x242)]()},_0xb8e991['CUeah']);},logEndpointRegistered=(_0x51435a,_0x434421)=>{const _0x336a03=a0_0x5ba06d,_0x29a334={'GWfvd':function(_0x205008,_0x145464,_0x5a3775){return _0x205008(_0x145464,_0x5a3775);},'JcAZC':_0x336a03(0x231)},_0x5f11d3={'event':_0x336a03(0x1dc),'endpoint':_0x51435a,'route':_0x434421},_0x2c5392='\x20\x20→\x20'+_0x51435a+':\x20'+_0x434421;logger['debug'](_0x5f11d3,_0x2c5392),_0x29a334['GWfvd'](writeToFileLog,{..._0x5f11d3,'level':_0x29a334[_0x336a03(0x1e7)],'msg':_0x2c5392,'time':new Date()['toISOString']()},_0x29a334[_0x336a03(0x1e7)]);},logDatabaseConfig=_0x3e3117=>{const _0x212638=a0_0x5ba06d,_0x5023b6={'BDfPY':function(_0x791956,_0x45fc54,_0x59bc53){return _0x791956(_0x45fc54,_0x59bc53);}},_0x3a0824={'event':'database_config','host':_0x3e3117['host'],'port':_0x3e3117[_0x212638(0x20f)],'database':_0x3e3117[_0x212638(0x1cb)],'type':_0x3e3117[_0x212638(0x1c0)],'user':_0x3e3117[_0x212638(0x1a1)]},_0xfef726='Database:\x20'+_0x3e3117['type']+'://'+_0x3e3117[_0x212638(0x1f1)]+':'+_0x3e3117[_0x212638(0x20f)]+'/'+_0x3e3117[_0x212638(0x1cb)];logger['debug'](_0x3a0824,_0xfef726),_0x5023b6['BDfPY'](writeToFileLog,{..._0x3a0824,'level':_0x212638(0x231),'msg':_0xfef726,'time':new Date()[_0x212638(0x242)]()},_0x212638(0x231));},logRequest=(_0x26e58f,_0x1abb7d,_0xed8a86)=>{const _0x19e9f5=a0_0x5ba06d,_0x56d73c={'JmlbQ':_0x19e9f5(0x1c2),'aHlhd':'info','CkiMG':function(_0x12d3fb,_0x4302db){return _0x12d3fb>=_0x4302db;},'rfmRO':function(_0x36d5a7,_0x1c2242){return _0x36d5a7>=_0x1c2242;}},_0x262cf4={'event':_0x56d73c[_0x19e9f5(0x1f2)],'method':_0x26e58f[_0x19e9f5(0x1eb)],'path':_0x26e58f[_0x19e9f5(0x234)],'statusCode':_0x1abb7d['statusCode'],'durationMs':_0xed8a86,'ip':_0x26e58f['ip']},_0x4a0759=_0x26e58f['method']+'\x20'+_0x26e58f[_0x19e9f5(0x234)]+'\x20-\x20'+_0x1abb7d[_0x19e9f5(0x184)]+'\x20('+_0xed8a86+'ms)';let _0x5e34e2=_0x56d73c[_0x19e9f5(0x23f)];if(_0x56d73c[_0x19e9f5(0x22a)](_0x1abb7d[_0x19e9f5(0x184)],0x1f4))_0x5e34e2='error',logger['error'](_0x262cf4,_0x4a0759);else _0x56d73c['rfmRO'](_0x1abb7d['statusCode'],0x190)?(_0x5e34e2='warn',logger['warn'](_0x262cf4,_0x4a0759)):logger[_0x19e9f5(0x1cc)](_0x262cf4,_0x4a0759);writeToFileLog({..._0x262cf4,'level':_0x5e34e2,'msg':_0x4a0759,'time':new Date()[_0x19e9f5(0x242)]()},_0x5e34e2);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x5ba06d(0x21d),a0_0x5ba06d(0x1a6),a0_0x5ba06d(0x1c6),'refresh_token','secret',a0_0x5ba06d(0x18e),a0_0x5ba06d(0x227),a0_0x5ba06d(0x1c3),a0_0x5ba06d(0x189),a0_0x5ba06d(0x1ef),'pin','otp',a0_0x5ba06d(0x20a),'privatekey'],redactSensitiveParams=(_0x1558fe,_0x608a0f)=>{const _0x482969=a0_0x5ba06d,_0x9193ab={'durmS':_0x482969(0x21c),'rKhTN':function(_0x2e314a,_0x2e7d41){return _0x2e314a===_0x2e7d41;},'TYyhR':'[REDACTED:hash]'};if(!_0x1558fe||_0x1558fe[_0x482969(0x1ad)]===0x0)return _0x1558fe;const _0x3e979c=_0x608a0f['toLowerCase'](),_0x4bfedf=_0x3e979c['match'](/\(([^)]+)\)\s*values/i);let _0x3ecca7=[];_0x4bfedf&&(_0x3ecca7=_0x4bfedf[0x1]['split'](',')['map'](_0xcc0270=>_0xcc0270['trim']()['toLowerCase']()));const _0x37438c=_0x3e979c['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x37438c){const _0x5f3484=_0x37438c[0x1],_0x205f59=_0x5f3484['match'](/(\w+)\s*=/g);_0x205f59&&(_0x3ecca7=_0x205f59['map'](_0x3277c4=>_0x3277c4[_0x482969(0x1d9)](/\s*=/,'')[_0x482969(0x1bd)]()['toLowerCase']()));}return _0x1558fe[_0x482969(0x192)]((_0x2450b6,_0x447db5)=>{const _0x147888=_0x482969;if(_0x3ecca7[_0x447db5]){const _0x4a93a8=_0x3ecca7[_0x447db5],_0x29641a=SENSITIVE_PARAM_PATTERNS['some'](_0x566930=>_0x4a93a8[_0x147888(0x1fe)](_0x566930));if(_0x29641a)return _0x9193ab[_0x147888(0x1bf)];}if(_0x9193ab[_0x147888(0x204)](typeof _0x2450b6,_0x147888(0x21e))&&_0x2450b6[_0x147888(0x1ad)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x147888(0x19b)](_0x2450b6)&&_0x2450b6[_0x147888(0x1fe)]('.'))return _0x147888(0x244);if(/^[a-fA-F0-9]{32,}$/['test'](_0x2450b6))return _0x9193ab[_0x147888(0x22f)];}return _0x2450b6;});},parseQueryMetadata=_0x386a7f=>{const _0x344a67=a0_0x5ba06d,_0x32b7b7={'JauGh':_0x344a67(0x1ae),'wtSwJ':'INSERT','fCwtX':'UPDATE','SsVIY':'DELETE','ZYFeV':'START\x20TRANSACTION','fdYvI':_0x344a67(0x1da),'xQpNw':_0x344a67(0x1c7),'zMAGc':'CREATE','IjzZF':_0x344a67(0x1c1),'wUFOQ':'DDL_ALTER'},_0xea1fd7=_0x386a7f['trim'](),_0x21d6f7=_0xea1fd7['toUpperCase']();let _0x2ffb34='UNKNOWN',_0x3a75fc=null;if(_0x21d6f7['startsWith'](_0x32b7b7['JauGh'])){_0x2ffb34=_0x32b7b7[_0x344a67(0x224)];const _0x163526=_0xea1fd7[_0x344a67(0x1f6)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x163526?_0x163526[0x1]:null;}else{if(_0x21d6f7['startsWith'](_0x32b7b7['wtSwJ'])){_0x2ffb34=_0x32b7b7[_0x344a67(0x186)];const _0x1c74b7=_0xea1fd7['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x1c74b7?_0x1c74b7[0x1]:null;}else{if(_0x21d6f7['startsWith']('UPDATE')){_0x2ffb34=_0x32b7b7[_0x344a67(0x228)];const _0x4d0602=_0xea1fd7['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x4d0602?_0x4d0602[0x1]:null;}else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['SsVIY'])){_0x2ffb34=_0x32b7b7['SsVIY'];const _0x4fe961=_0xea1fd7['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x4fe961?_0x4fe961[0x1]:null;}else{if(_0x21d6f7['startsWith'](_0x344a67(0x1a5))||_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['ZYFeV']))_0x2ffb34=_0x344a67(0x1ff);else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['fdYvI']))_0x2ffb34=_0x344a67(0x23e);else{if(_0x21d6f7[_0x344a67(0x241)]('ROLLBACK'))_0x2ffb34=_0x32b7b7['xQpNw'];else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7[_0x344a67(0x199)]))_0x2ffb34=_0x344a67(0x205);else{if(_0x21d6f7['startsWith'](_0x32b7b7[_0x344a67(0x211)]))_0x2ffb34=_0x32b7b7[_0x344a67(0x243)];else _0x21d6f7[_0x344a67(0x241)](_0x344a67(0x1e5))&&(_0x2ffb34=_0x344a67(0x1fc));}}}}}}}}return{'type':_0x2ffb34,'table':_0x3a75fc};},startQueryTimer=()=>{const _0xf75765={'Qjxcg':function(_0x228a4e,_0x705dab){return _0x228a4e*_0x705dab;},'KJYcn':function(_0x5a6f1c,_0x1022a5){return _0x5a6f1c/_0x1022a5;}},_0x2bc926=process['hrtime']();return()=>{const _0x24bfef=a0_0x4524,[_0x39d50d,_0x428f59]=process[_0x24bfef(0x1b7)](_0x2bc926);return parseFloat((_0xf75765[_0x24bfef(0x1d3)](_0x39d50d,0x3e8)+_0xf75765['KJYcn'](_0x428f59,0xf4240))[_0x24bfef(0x20e)](0x2));};},logQuery=(_0x41a5a1,_0x3ae2bc=[],_0x36a7da={})=>{const _0x3c9bef=a0_0x5ba06d,_0x1e6975={'QZTqU':_0x3c9bef(0x22d),'aaXtN':_0x3c9bef(0x1f8),'RLxoT':function(_0x225c1f,_0x5d4491){return _0x225c1f>_0x5d4491;},'JKBEx':function(_0x31a5c5,_0x27f0bf){return _0x31a5c5||_0x27f0bf;},'suaIg':'unknown','OnOiX':function(_0x4e1465,_0x34360b){return _0x4e1465!==_0x34360b;},'Wpbys':function(_0x5b8f79,_0x6bf54e){return _0x5b8f79!==_0x6bf54e;},'AMvpE':'debug','owhjw':'\x20[SLOW]','PBFAh':function(_0x27d2b0,_0x367373){return _0x27d2b0===_0x367373;},'dgGAK':_0x3c9bef(0x1cc),'eCLEC':function(_0x3614e4,_0x37bd1e,_0x1e1ce5){return _0x3614e4(_0x37bd1e,_0x1e1ce5);}};if(!sqlLogEnabled){logger['debug']({'event':_0x1e6975['QZTqU'],'query':_0x41a5a1['substring'](0x0,0xc8),'paramCount':_0x3ae2bc['length']},_0x3c9bef(0x1e9));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1e6975['aaXtN']}=_0x36a7da,{type:_0x5a99e2,table:_0x57ccb5}=parseQueryMetadata(_0x41a5a1),_0x2802da={'event':_0x3c9bef(0x19f),'queryType':_0x5a99e2,'table':_0x57ccb5,'query':_0x41a5a1,'paramCount':_0x3ae2bc['length'],'dbType':dbType};sqlLogParams&&_0x3ae2bc[_0x3c9bef(0x1ad)]>0x0&&(_0x2802da['params']=redactSensitiveParams(_0x3ae2bc,_0x41a5a1));duration!==null&&(_0x2802da[_0x3c9bef(0x1ac)]=duration,_0x2802da[_0x3c9bef(0x239)]=_0x1e6975[_0x3c9bef(0x1d7)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x2802da['rowsAffected']=rowsAffected);const _0x31d01b=_0x1e6975['JKBEx'](_0x57ccb5,_0x1e6975['suaIg']);let _0x56d4e8='['+_0x5a99e2+']\x20'+_0x31d01b;_0x1e6975[_0x3c9bef(0x1ba)](duration,null)&&(_0x56d4e8+='\x20('+duration+'ms)');const _0x3458e6=_0x1e6975['Wpbys'](duration,null)&&_0x1e6975['RLxoT'](duration,sqlLogSlowThreshold);let _0x13df57=_0x1e6975['AMvpE'];if(_0x3458e6)_0x56d4e8+=_0x1e6975['owhjw'],_0x13df57=_0x3c9bef(0x1e8),logger['warn'](_0x2802da,_0x56d4e8);else _0x1e6975[_0x3c9bef(0x1b5)](sqlLogLevel,'info')?(_0x13df57=_0x1e6975[_0x3c9bef(0x22b)],logger[_0x3c9bef(0x1cc)](_0x2802da,_0x56d4e8)):logger[_0x3c9bef(0x231)](_0x2802da,_0x56d4e8);_0x1e6975[_0x3c9bef(0x1de)](writeToFileLog,{..._0x2802da,'level':_0x13df57,'msg':_0x56d4e8,'time':new Date()['toISOString']()},_0x13df57);},logTransaction=(_0x394552,_0x135570)=>{const _0x3c9e7a=a0_0x5ba06d,_0x5dc33b={'Zfctk':_0x3c9e7a(0x1ce),'yYLzu':'debug'},_0x2ac999={'event':_0x5dc33b[_0x3c9e7a(0x225)],'status':_0x394552,'queryCount':_0x135570},_0x56c3bc='Transaction\x20'+_0x394552;logger[_0x3c9e7a(0x231)](_0x2ac999,_0x56c3bc),writeToFileLog({..._0x2ac999,'level':_0x5dc33b['yYLzu'],'msg':_0x56c3bc,'time':new Date()['toISOString']()},_0x3c9e7a(0x231));},redactObject=_0x30dae3=>{const _0x1465d7=a0_0x5ba06d,_0x5b86c7={'aqEKH':function(_0x5d3266,_0x3c5ccd){return _0x5d3266!==_0x3c5ccd;},'OHmqB':'passwd','viVzb':_0x1465d7(0x21d),'eqciq':'token','ARRIZ':'creditcard','mqZDE':_0x1465d7(0x1ca),'allCr':'ssn','AQBeY':_0x1465d7(0x223)};if(!_0x30dae3||_0x5b86c7['aqEKH'](typeof _0x30dae3,'object'))return _0x30dae3;const _0x27e681=[_0x1465d7(0x1f3),_0x5b86c7[_0x1465d7(0x218)],_0x5b86c7[_0x1465d7(0x1b8)],_0x5b86c7[_0x1465d7(0x1f9)],'secret',_0x1465d7(0x227),_0x1465d7(0x1c3),_0x1465d7(0x1d8),_0x5b86c7['ARRIZ'],_0x5b86c7[_0x1465d7(0x190)],'cvv',_0x5b86c7['allCr'],'pin','private_key','privatekey',_0x5b86c7[_0x1465d7(0x1a0)],_0x1465d7(0x1c6)],_0x38ac71=Array['isArray'](_0x30dae3)?[..._0x30dae3]:{..._0x30dae3};for(const _0xe9bcea of Object['keys'](_0x38ac71)){const _0x430547=_0xe9bcea[_0x1465d7(0x212)]();if(_0x27e681['some'](_0x2e61d7=>_0x430547['includes'](_0x2e61d7)))_0x38ac71[_0xe9bcea]=_0x1465d7(0x21c);else typeof _0x38ac71[_0xe9bcea]===_0x1465d7(0x18f)&&_0x5b86c7['aqEKH'](_0x38ac71[_0xe9bcea],null)&&(_0x38ac71[_0xe9bcea]=redactObject(_0x38ac71[_0xe9bcea]));}return _0x38ac71;},logError=(_0x18ccdb,_0x3b6a6c={},_0x20f026=null)=>{const _0x26f480=a0_0x5ba06d,_0x5d4e32={'lTyLI':'error','MSxeI':function(_0x51aec3,_0x52bb90,_0x398693){return _0x51aec3(_0x52bb90,_0x398693);}},_0x3289b9={'event':_0x5d4e32['lTyLI'],'errorName':_0x18ccdb[_0x26f480(0x18d)]||_0x26f480(0x1cd),'errorMessage':_0x18ccdb[_0x26f480(0x185)],'errorCode':_0x18ccdb[_0x26f480(0x1ab)]||null,'stack':_0x18ccdb[_0x26f480(0x219)],..._0x3b6a6c},_0x8c363b=_0x20f026||'Error:\x20'+_0x18ccdb[_0x26f480(0x185)];logger['error'](_0x3289b9,_0x8c363b),_0x5d4e32['MSxeI'](writeToFileLog,{..._0x3289b9,'level':_0x5d4e32['lTyLI'],'msg':_0x8c363b,'time':new Date()[_0x26f480(0x242)]()},_0x5d4e32[_0x26f480(0x187)]);},logFatalError=(_0xc2dc73,_0xb75c9d={},_0x54ee9f=null)=>{const _0x3881ea=a0_0x5ba06d,_0x4f60ee={'pGzkP':_0x3881ea(0x1b0),'ASLYA':function(_0x36b968,_0x46bf43,_0x51389c){return _0x36b968(_0x46bf43,_0x51389c);}},_0x5a8ac6={'event':_0x3881ea(0x1aa),'errorName':_0xc2dc73['name']||'Error','errorMessage':_0xc2dc73['message'],'errorCode':_0xc2dc73['code']||null,'stack':_0xc2dc73['stack'],'severity':_0x4f60ee['pGzkP'],..._0xb75c9d},_0x9d21e5=_0x54ee9f||_0x3881ea(0x19e)+_0xc2dc73['message'];logger[_0x3881ea(0x238)](_0x5a8ac6,_0x9d21e5),_0x4f60ee['ASLYA'](writeToFileLog,{..._0x5a8ac6,'level':_0x3881ea(0x238),'msg':_0x9d21e5,'time':new Date()['toISOString']()},_0x3881ea(0x215));},logHttpError=(_0x312e3a,_0xbbbb8d,_0xac5d7c={})=>{const _0x757aaa=a0_0x5ba06d,_0x325619={'jYjoI':_0x757aaa(0x1cd),'VEGnW':_0x757aaa(0x191),'TuEzY':function(_0x43847c,_0x15429){return _0x43847c(_0x15429);},'JMMWM':function(_0x10bdf8,_0x507260){return _0x10bdf8>=_0x507260;},'WhYpK':'warn'},_0x2b73a4={'event':_0x757aaa(0x1e4),'errorName':_0x312e3a['name']||_0x325619[_0x757aaa(0x1f7)],'errorMessage':_0x312e3a['message'],'errorCode':_0x312e3a['code']||_0x312e3a['statusCode']||0x1f4,'stack':_0x312e3a[_0x757aaa(0x219)],'method':_0xbbbb8d?.['method'],'url':_0xbbbb8d?.['url']||_0xbbbb8d?.['originalUrl'],'path':_0xbbbb8d?.['path'],'ip':_0xbbbb8d?.['ip']||_0xbbbb8d?.[_0x757aaa(0x1be)]?.['remoteAddress'],'userAgent':_0xbbbb8d?.[_0x757aaa(0x1e0)]?.(_0x757aaa(0x1ed)),'requestId':_0xbbbb8d?.['id']||_0xbbbb8d?.[_0x757aaa(0x1d0)]?.[_0x325619[_0x757aaa(0x20d)]],'body':_0xbbbb8d?.['body']?_0x325619[_0x757aaa(0x210)](redactObject,_0xbbbb8d[_0x757aaa(0x207)]):undefined,'query':_0xbbbb8d?.['query'],..._0xac5d7c},_0xb1e81f=_0x312e3a[_0x757aaa(0x184)]||_0x312e3a['status']||0x1f4,_0x4e89a1='HTTP\x20'+_0xb1e81f+':\x20'+_0x312e3a[_0x757aaa(0x185)];_0xb1e81f>=0x1f4?logger['error'](_0x2b73a4,_0x4e89a1):logger[_0x757aaa(0x1e8)](_0x2b73a4,_0x4e89a1),writeToFileLog({..._0x2b73a4,'level':_0x325619['JMMWM'](_0xb1e81f,0x1f4)?_0x757aaa(0x215):_0x325619['WhYpK'],'msg':_0x4e89a1,'time':new Date()[_0x757aaa(0x242)]()},_0x325619[_0x757aaa(0x19a)](_0xb1e81f,0x1f4)?_0x757aaa(0x215):'warn');},logUncaughtError=(_0x5cf4b5,_0x5676a1)=>{const _0x2b1d5f=a0_0x5ba06d,_0x1db836={'VWHya':function(_0x1f3d04,_0x380c8e){return _0x1f3d04(_0x380c8e);},'QxFRc':_0x2b1d5f(0x1b0),'qtXBn':_0x2b1d5f(0x238),'evBvn':'error'},_0x265079={'event':_0x5cf4b5,'errorName':_0x5676a1?.[_0x2b1d5f(0x18d)]||'Error','errorMessage':_0x5676a1?.['message']||_0x1db836[_0x2b1d5f(0x20c)](String,_0x5676a1),'errorCode':_0x5676a1?.['code']||null,'stack':_0x5676a1?.[_0x2b1d5f(0x219)],'severity':_0x1db836[_0x2b1d5f(0x21f)],'processId':process['pid'],'memoryUsage':process[_0x2b1d5f(0x1b9)](),'uptime':process['uptime']()},_0x327729='['+_0x5cf4b5['toUpperCase']()+']\x20'+(_0x5676a1?.[_0x2b1d5f(0x185)]||_0x5676a1);logger['fatal'](_0x265079,_0x327729),writeToFileLog({..._0x265079,'level':_0x1db836[_0x2b1d5f(0x1b3)],'msg':_0x327729,'time':new Date()['toISOString']()},_0x1db836['evBvn']);},setupGlobalErrorHandlers=()=>{const _0x571a61=a0_0x5ba06d,_0x26ff69={'SzYqb':function(_0x3f3645,_0x3398c0,_0x5176c0){return _0x3f3645(_0x3398c0,_0x5176c0);},'GSVbJ':'unhandledRejection','cnqxg':'warning','vJmTM':_0x571a61(0x1e3),'BDDvK':'info'};process['on']('uncaughtException',_0x4348f7=>{const _0x4afa6e=_0x571a61;logUncaughtError(_0x4afa6e(0x1f5),_0x4348f7),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x302ee2,_0x53d9ed)=>{const _0x24dbc2=_0x571a61,_0x2c9873=_0x302ee2 instanceof Error?_0x302ee2:new Error(String(_0x302ee2));_0x26ff69['SzYqb'](logUncaughtError,_0x26ff69[_0x24dbc2(0x1f4)],_0x2c9873);}),process['on'](_0x26ff69['cnqxg'],_0x3d8901=>{const _0x3a1d74=_0x571a61;logger['warn']({'event':_0x3a1d74(0x1f0),'name':_0x3d8901[_0x3a1d74(0x18d)],'message':_0x3d8901[_0x3a1d74(0x185)],'stack':_0x3d8901[_0x3a1d74(0x219)]},_0x3a1d74(0x1c5)+_0x3d8901['message']);});const _0x2dc5e9={'event':_0x571a61(0x1a7)},_0x23bb61=_0x26ff69['vJmTM'];logger[_0x571a61(0x1cc)](_0x2dc5e9,_0x23bb61),writeToFileLog({..._0x2dc5e9,'level':_0x571a61(0x1cc),'msg':_0x23bb61,'time':new Date()['toISOString']()},_0x26ff69['BDDvK']);},createErrorHandlerMiddleware=()=>{const _0x1a2db3=a0_0x5ba06d,_0x1feaea={'YXPrw':function(_0x372d5d,_0x42186e,_0x48f82c){return _0x372d5d(_0x42186e,_0x48f82c);},'hLsoe':_0x1a2db3(0x1af),'yGsgD':_0x1a2db3(0x191)};return(_0x1c8330,_0x4edc09,_0x51635b,_0x536138)=>{const _0x1a2ed8=_0x1a2db3;_0x1feaea[_0x1a2ed8(0x1c8)](logHttpError,_0x1c8330,_0x4edc09);const _0xe344f3=_0x1c8330[_0x1a2ed8(0x184)]||_0x1c8330['status']||0x1f4;_0x51635b[_0x1a2ed8(0x200)](_0xe344f3)['json']({'success':![],'error':_0xe344f3>=0x1f4?_0x1feaea[_0x1a2ed8(0x1df)]:_0x1c8330[_0x1a2ed8(0x185)],'requestId':_0x4edc09['id']||_0x4edc09[_0x1a2ed8(0x1d0)]?.[_0x1feaea['yGsgD']]||null});};};function a0_0x4524(_0x29ff1d,_0x4a0cf6){_0x29ff1d=_0x29ff1d-0x183;const _0x35a208=a0_0x35a2();let _0x452471=_0x35a208[_0x29ff1d];if(a0_0x4524['ESOYiK']===undefined){var _0x128e35=function(_0x57c251){const _0x104c9c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55c6e6='',_0x304341='';for(let _0xdfcba3=0x0,_0x5b1fa4,_0x4270e6,_0x66450=0x0;_0x4270e6=_0x57c251['charAt'](_0x66450++);~_0x4270e6&&(_0x5b1fa4=_0xdfcba3%0x4?_0x5b1fa4*0x40+_0x4270e6:_0x4270e6,_0xdfcba3++%0x4)?_0x55c6e6+=String['fromCharCode'](0xff&_0x5b1fa4>>(-0x2*_0xdfcba3&0x6)):0x0){_0x4270e6=_0x104c9c['indexOf'](_0x4270e6);}for(let _0x5abca9=0x0,_0x218ad9=_0x55c6e6['length'];_0x5abca9<_0x218ad9;_0x5abca9++){_0x304341+='%'+('00'+_0x55c6e6['charCodeAt'](_0x5abca9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x304341);};a0_0x4524['pigbnw']=_0x128e35,a0_0x4524['PIDeYU']={},a0_0x4524['ESOYiK']=!![];}const _0x3a1d01=_0x35a208[0x0],_0x21e56b=_0x29ff1d+_0x3a1d01,_0x82e7e5=a0_0x4524['PIDeYU'][_0x21e56b];return!_0x82e7e5?(_0x452471=a0_0x4524['pigbnw'](_0x452471),a0_0x4524['PIDeYU'][_0x21e56b]=_0x452471):_0x452471=_0x82e7e5,_0x452471;}module[a0_0x5ba06d(0x19c)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_0x1f94f7=a0_0x15f3;(function(_0x116ef9,_0x4ed6b1){const _0x2e58c3=a0_0x15f3,_0x10ded1=_0x116ef9();while(!![]){try{const _0xbe31e4=-parseInt(_0x2e58c3(0x156))/0x1+parseInt(_0x2e58c3(0x15c))/0x2+-parseInt(_0x2e58c3(0x147))/0x3+parseInt(_0x2e58c3(0x13c))/0x4+parseInt(_0x2e58c3(0x14f))/0x5*(-parseInt(_0x2e58c3(0x160))/0x6)+-parseInt(_0x2e58c3(0x15f))/0x7+parseInt(_0x2e58c3(0x139))/0x8;if(_0xbe31e4===_0x4ed6b1)break;else _0x10ded1['push'](_0x10ded1['shift']());}catch(_0x40eb20){_0x10ded1['push'](_0x10ded1['shift']());}}}(a0_0x5be8,0x22611));const dbType=(process['env'][a0_0x1f94f7(0x14b)]||'postgresql')['toLowerCase']();let executeQuery;if(dbType===a0_0x1f94f7(0x151)){const oracleDb=require(a0_0x1f94f7(0x14e));executeQuery=(_0x5b4218,_0x3e28f2)=>oracleDb[a0_0x1f94f7(0x142)](_0x5b4218,_0x3e28f2);}else{if(dbType===a0_0x1f94f7(0x162)){const mysqlDb=require('./db-mysql');executeQuery=(_0x2ef663,_0x5fbf46)=>mysqlDb['executeQuery'](_0x2ef663,_0x5fbf46);}else executeQuery=require('./db')[a0_0x1f94f7(0x142)];}function a0_0x15f3(_0x503781,_0x2312da){_0x503781=_0x503781-0x137;const _0x5be808=a0_0x5be8();let _0x15f302=_0x5be808[_0x503781];if(a0_0x15f3['OgeXdJ']===undefined){var _0x504c74=function(_0x2f866a){const _0x3580c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39a49b='',_0x507a58='';for(let _0x3c6480=0x0,_0x594419,_0x305cce,_0x2ac2b9=0x0;_0x305cce=_0x2f866a['charAt'](_0x2ac2b9++);~_0x305cce&&(_0x594419=_0x3c6480%0x4?_0x594419*0x40+_0x305cce:_0x305cce,_0x3c6480++%0x4)?_0x39a49b+=String['fromCharCode'](0xff&_0x594419>>(-0x2*_0x3c6480&0x6)):0x0){_0x305cce=_0x3580c3['indexOf'](_0x305cce);}for(let _0x3a3f32=0x0,_0x2db8bd=_0x39a49b['length'];_0x3a3f32<_0x2db8bd;_0x3a3f32++){_0x507a58+='%'+('00'+_0x39a49b['charCodeAt'](_0x3a3f32)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x507a58);};a0_0x15f3['ytINdk']=_0x504c74,a0_0x15f3['uPAlSv']={},a0_0x15f3['OgeXdJ']=!![];}const _0x23dff6=_0x5be808[0x0],_0x305dec=_0x503781+_0x23dff6,_0x24a48a=a0_0x15f3['uPAlSv'][_0x305dec];return!_0x24a48a?(_0x15f302=a0_0x15f3['ytINdk'](_0x15f302),a0_0x15f3['uPAlSv'][_0x305dec]=_0x15f302):_0x15f302=_0x24a48a,_0x15f302;}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x4c5c9b=a0_0x1f94f7,_0x508a51={'bKVPA':_0x4c5c9b(0x13d)};this['lookupCache']['clear'](),logger['debug']({'event':_0x4c5c9b(0x14d)},_0x508a51['bKVPA']);}async[a0_0x1f94f7(0x158)](_0x364dc6,_0x3cb931,_0x41e446){const _0x4e3f7c=a0_0x1f94f7,_0x432522={'Dsjud':function(_0x34cb9d,_0x1a1db3){return _0x34cb9d!==_0x1a1db3;},'cXsVO':function(_0x1bb9cf,_0x3b1eb8){return _0x1bb9cf(_0x3b1eb8);}},_0x37c51d=_0x364dc6+':'+_0x3cb931+':'+_0x41e446;if(this[_0x4e3f7c(0x15e)][_0x4e3f7c(0x148)](_0x37c51d))return this[_0x4e3f7c(0x15e)]['get'](_0x37c51d);try{const _0x47047b='SELECT\x20'+_0x41e446+',\x20'+_0x3cb931+'\x20FROM\x20'+_0x364dc6,_0x44e7d3=await _0x432522['cXsVO'](executeQuery,_0x47047b),_0x3c708c=new Map();return _0x44e7d3[_0x4e3f7c(0x14a)](_0x2f30c1=>{const _0x5d59b5=_0x4e3f7c,_0x317bdd=_0x2f30c1[_0x3cb931]!==undefined?_0x2f30c1[_0x3cb931]:_0x2f30c1[_0x3cb931['toUpperCase']()],_0x345518=_0x432522['Dsjud'](_0x2f30c1[_0x41e446],undefined)?_0x2f30c1[_0x41e446]:_0x2f30c1[_0x41e446['toUpperCase']()];_0x432522[_0x5d59b5(0x161)](_0x317bdd,null)&&_0x317bdd!==undefined&&(_0x3c708c['set'](String(_0x317bdd)[_0x5d59b5(0x140)]()['trim'](),_0x345518),_0x3c708c[_0x5d59b5(0x14c)](_0x432522[_0x5d59b5(0x152)](String,_0x317bdd)['trim'](),_0x345518));}),this['lookupCache']['set'](_0x37c51d,_0x3c708c),logger['info']({'event':_0x4e3f7c(0x146),'table':_0x364dc6,'column':_0x3cb931,'count':_0x44e7d3['length']},_0x4e3f7c(0x145)+_0x364dc6),_0x3c708c;}catch(_0x225eb4){logger[_0x4e3f7c(0x154)]({'event':_0x4e3f7c(0x155),'table':_0x364dc6,'error':_0x225eb4['message']},_0x4e3f7c(0x137)+_0x364dc6);throw _0x225eb4;}}[a0_0x1f94f7(0x13f)](_0x53b688,_0x5eaf3c){const _0x5135f5=a0_0x1f94f7,_0x22c333={'dmZiZ':function(_0x9fabcb,_0x4fa43d){return _0x9fabcb===_0x4fa43d;}};if(_0x53b688===null||_0x53b688===undefined||_0x22c333[_0x5135f5(0x141)](_0x53b688,''))return null;const _0x5037e4=String(_0x53b688)['trim']();if(_0x5eaf3c['has'](_0x5037e4))return _0x5eaf3c[_0x5135f5(0x150)](_0x5037e4);const _0x1b8da7=_0x5037e4['toLowerCase']();if(_0x5eaf3c[_0x5135f5(0x148)](_0x1b8da7))return _0x5eaf3c['get'](_0x1b8da7);return null;}async[a0_0x1f94f7(0x144)](_0x469174,_0x289e33){const _0x4ef163=a0_0x1f94f7,_0x28b8e1={'fNQAG':function(_0x12f3de,_0x1d2688){return _0x12f3de!==_0x1d2688;},'pfCPG':function(_0x1deb2e,_0x4bf4a8){return _0x1deb2e===_0x4bf4a8;},'gzaTK':_0x4ef163(0x13a)};if(!_0x289e33||_0x28b8e1['pfCPG'](Object['keys'](_0x289e33)['length'],0x0))return{'processedRows':_0x469174,'errors':[]};const _0x595078=[],_0xce08dd=new Map();for(const [_0x24c706,_0x5b997c]of Object[_0x4ef163(0x13b)](_0x289e33)){const {lookupTable:_0xf7c745,lookupColumn:_0x32bcf7,lookupIdColumn:_0x39fcb0}=_0x5b997c,_0x4081d7=_0xf7c745+':'+_0x32bcf7+':'+_0x39fcb0;if(!_0xce08dd[_0x4ef163(0x148)](_0x4081d7)){const _0x3fdbdf=await this['loadLookupTable'](_0xf7c745,_0x32bcf7,_0x39fcb0);_0xce08dd[_0x4ef163(0x14c)](_0x4081d7,_0x3fdbdf);}}const _0x14bd5b=_0x469174['map']((_0x2516d5,_0x5aa1e9)=>{const _0x4fcd63=_0x4ef163,_0x4be7af={..._0x2516d5};for(const [_0x3c6d12,_0x1a3dcb]of Object[_0x4fcd63(0x13b)](_0x289e33)){const {lookupTable:_0x599575,lookupColumn:_0xc270ee,lookupIdColumn:_0x5f0956,targetField:_0x9e82f8,required:_0x50fcd1}=_0x1a3dcb,_0x134bfc=_0x599575+':'+_0xc270ee+':'+_0x5f0956,_0x58452d=_0xce08dd['get'](_0x134bfc),_0x507fee=_0x2516d5[_0x3c6d12];if((_0x507fee===null||_0x507fee===undefined||_0x507fee==='')&&!_0x50fcd1){_0x4be7af[_0x9e82f8]=null;continue;}const _0x4165c3=this['resolveLookupValue'](_0x507fee,_0x58452d);_0x28b8e1[_0x4fcd63(0x149)](_0x4165c3,null)?_0x4be7af[_0x9e82f8]=_0x4165c3:(_0x50fcd1&&_0x595078['push']({'rowIndex':_0x5aa1e9,'field':_0x3c6d12,'value':_0x507fee,'targetField':_0x9e82f8,'lookupTable':_0x599575,'message':'Value\x20\x22'+_0x507fee+_0x4fcd63(0x15a)+_0x599575}),_0x4be7af[_0x9e82f8]=null);}return _0x4be7af;});return logger['info']({'event':_0x28b8e1['gzaTK'],'totalRows':_0x469174[_0x4ef163(0x138)],'errorCount':_0x595078[_0x4ef163(0x138)],'lookupFieldCount':Object['keys'](_0x289e33)['length']},'Lookup\x20fields\x20processed'),{'processedRows':_0x14bd5b,'errors':_0x595078};}['getDistinctValues'](_0x3460d4,_0x51ab69){const _0xdc6035=a0_0x1f94f7,_0x558f93={'VVRcg':function(_0x503882,_0x30f6d1){return _0x503882!==_0x30f6d1;}},_0x1d6fff=new Set();return _0x3460d4[_0xdc6035(0x14a)](_0x1c7f9b=>{const _0x287d6c=_0xdc6035,_0x4f0174=_0x1c7f9b[_0x51ab69];_0x4f0174!==null&&_0x558f93[_0x287d6c(0x15d)](_0x4f0174,undefined)&&_0x4f0174!==''&&_0x1d6fff[_0x287d6c(0x157)](String(_0x4f0174)['trim']());}),Array['from'](_0x1d6fff);}async['validateLookupValues'](_0x2a1ef0,_0x2cb4c3){const _0x48a229=a0_0x1f94f7,_0x57c8c9={'plWiX':function(_0xfc8f35,_0x33b564){return _0xfc8f35!==_0x33b564;},'lchOV':function(_0x1dd648,_0x15f2b0){return _0x1dd648===_0x15f2b0;}};if(!_0x2cb4c3||_0x57c8c9[_0x48a229(0x163)](Object[_0x48a229(0x143)](_0x2cb4c3)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x97174d=[],_0x243b99={};for(const [_0x1e5c6e,_0x4e13ca]of Object[_0x48a229(0x13b)](_0x2cb4c3)){const {lookupTable:_0x269d08,lookupColumn:_0x4f4c9c,lookupIdColumn:_0x3bd0cf,required:_0xe81795}=_0x4e13ca,_0x31132d=this[_0x48a229(0x13e)](_0x2a1ef0,_0x1e5c6e),_0x2bbe74=await this['loadLookupTable'](_0x269d08,_0x4f4c9c,_0x3bd0cf),_0x41a6a8=[],_0x221ac0=[];_0x31132d[_0x48a229(0x14a)](_0x30acaf=>{const _0xac6ed7=_0x48a229,_0x584176=this[_0xac6ed7(0x13f)](_0x30acaf,_0x2bbe74);_0x57c8c9[_0xac6ed7(0x15b)](_0x584176,null)?_0x221ac0[_0xac6ed7(0x159)](_0x30acaf):_0x41a6a8['push'](_0x30acaf);});if(_0x41a6a8['length']>0x0&&_0xe81795){_0x97174d['push']({'field':_0x1e5c6e,'lookupTable':_0x269d08,'invalidValues':_0x41a6a8,'message':_0x41a6a8[_0x48a229(0x138)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x269d08});const _0x429a0e=[];_0x2bbe74[_0x48a229(0x14a)]((_0x363b5f,_0x550c96)=>{const _0x42b137=_0x48a229;if(_0x550c96===_0x550c96[_0x42b137(0x140)]())return;_0x429a0e['push'](_0x550c96);}),_0x243b99[_0x1e5c6e]={'invalidValues':_0x41a6a8,'availableValues':_0x429a0e['slice'](0x0,0x32)};}}return{'valid':_0x97174d['length']===0x0,'errors':_0x97174d,'suggestions':_0x243b99};}}function a0_0x5be8(){const _0x586f91=['rhnQDwq','BxLZCwW','BgnOt1y','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','BgvUz3rO','mJy5odC2oe5Tr3fxrG','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','zw50CMLLCW','mtm3mZy4rvDus2zo','tg9VA3vWignHy2HLignSzwfYzwq','z2v0rgLZDgLUy3rwywX1zxm','CMvZB2X2zuXVB2T1CfzHBhvL','Dg9mB3DLCKnHC2u','zg1AAvO','zxHLy3v0zvf1zxj5','A2v5CW','ChjVy2vZC0XVB2T1CezPzwXKCW','tg9VA3vWihrHyMXLigXVywrLzdOG','Bg9VA3vWx3rHyMXLx2XVywrLza','ntiXmtyWBLfTsNnR','AgfZ','zK5rquC','zM9YrwfJAa','rejFvfLqrq','C2v0','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','lI9KyI1VCMfJBgu','nu1pt0rZDq','z2v0','B3jHy2XL','y1HZvK8','zxHWB3j0CW','zxjYB3i','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','otqYmgH2DvrtqG','ywrK','Bg9HzeXVB2T1CfrHyMXL','ChvZAa','iIbUB3qGzM91BMqGAw4G','CgXxAvG','mtu3mtG4B21lrNre','vLzsy2C','Bg9VA3vWq2fJAgu','mJq0nZm0ufj5wK9H','ntq4mtC4tfndyKfK'];a0_0x5be8=function(){return _0x586f91;};return a0_0x5be8();}module[a0_0x1f94f7(0x153)]=new LookupResolver();
1
+ const a0_0x40382b=a0_0x1921;(function(_0x698538,_0x4f39b6){const _0x305b16=a0_0x1921,_0x534d74=_0x698538();while(!![]){try{const _0x2c3a05=-parseInt(_0x305b16(0x15d))/0x1+-parseInt(_0x305b16(0x139))/0x2*(-parseInt(_0x305b16(0x13b))/0x3)+parseInt(_0x305b16(0x162))/0x4*(-parseInt(_0x305b16(0x153))/0x5)+parseInt(_0x305b16(0x144))/0x6*(-parseInt(_0x305b16(0x150))/0x7)+parseInt(_0x305b16(0x15a))/0x8*(-parseInt(_0x305b16(0x13a))/0x9)+parseInt(_0x305b16(0x15c))/0xa+parseInt(_0x305b16(0x155))/0xb*(parseInt(_0x305b16(0x14e))/0xc);if(_0x2c3a05===_0x4f39b6)break;else _0x534d74['push'](_0x534d74['shift']());}catch(_0x53e82e){_0x534d74['push'](_0x534d74['shift']());}}}(a0_0x4afb,0xd4e4a));const dbType=(process[a0_0x40382b(0x15e)][a0_0x40382b(0x13c)]||a0_0x40382b(0x142))['toLowerCase']();function a0_0x1921(_0x37f30c,_0x2e6a54){_0x37f30c=_0x37f30c-0x130;const _0x4afb4d=a0_0x4afb();let _0x19214b=_0x4afb4d[_0x37f30c];if(a0_0x1921['lEcuRf']===undefined){var _0x68a461=function(_0x5b026b){const _0x211d15='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x456a8f='',_0x326e2a='';for(let _0x36113e=0x0,_0x571374,_0x5eb42d,_0x1578ec=0x0;_0x5eb42d=_0x5b026b['charAt'](_0x1578ec++);~_0x5eb42d&&(_0x571374=_0x36113e%0x4?_0x571374*0x40+_0x5eb42d:_0x5eb42d,_0x36113e++%0x4)?_0x456a8f+=String['fromCharCode'](0xff&_0x571374>>(-0x2*_0x36113e&0x6)):0x0){_0x5eb42d=_0x211d15['indexOf'](_0x5eb42d);}for(let _0x121fe1=0x0,_0x15aef2=_0x456a8f['length'];_0x121fe1<_0x15aef2;_0x121fe1++){_0x326e2a+='%'+('00'+_0x456a8f['charCodeAt'](_0x121fe1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x326e2a);};a0_0x1921['ssrYyv']=_0x68a461,a0_0x1921['qhVMKt']={},a0_0x1921['lEcuRf']=!![];}const _0x1cd683=_0x4afb4d[0x0],_0x3c8613=_0x37f30c+_0x1cd683,_0x2129e3=a0_0x1921['qhVMKt'][_0x3c8613];return!_0x2129e3?(_0x19214b=a0_0x1921['ssrYyv'](_0x19214b),a0_0x1921['qhVMKt'][_0x3c8613]=_0x19214b):_0x19214b=_0x2129e3,_0x19214b;}let executeQuery;if(dbType===a0_0x40382b(0x13f)){const oracleDb=require(a0_0x40382b(0x141));executeQuery=(_0x353cdb,_0x46b2a7)=>oracleDb['executeQuery'](_0x353cdb,_0x46b2a7);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x40382b(0x132));executeQuery=(_0x5c3398,_0xaa49cb)=>mysqlDb['executeQuery'](_0x5c3398,_0xaa49cb);}else executeQuery=require(a0_0x40382b(0x140))[a0_0x40382b(0x158)];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x540ce0=a0_0x40382b,_0x57cccc={'KnSMW':'lookup_cache_cleared'};this[_0x540ce0(0x14a)]['clear'](),logger['debug']({'event':_0x57cccc[_0x540ce0(0x14b)]},_0x540ce0(0x133));}async['loadLookupTable'](_0x320aa4,_0x4adb8e,_0x13e2b9){const _0x1f5ce6=a0_0x40382b,_0x41fa63={'WpdfD':function(_0x17c3b6,_0x211080){return _0x17c3b6!==_0x211080;},'yUhty':function(_0x263e47,_0x1167f7){return _0x263e47(_0x1167f7);},'aiLKY':'lookup_table_loaded','IBbLl':_0x1f5ce6(0x146)},_0x520e25=_0x320aa4+':'+_0x4adb8e+':'+_0x13e2b9;if(this['lookupCache']['has'](_0x520e25))return this['lookupCache']['get'](_0x520e25);try{const _0x42b201='SELECT\x20'+_0x13e2b9+',\x20'+_0x4adb8e+_0x1f5ce6(0x137)+_0x320aa4,_0x2c840d=await executeQuery(_0x42b201),_0x1a83b8=new Map();return _0x2c840d[_0x1f5ce6(0x138)](_0x2db7ba=>{const _0xfec44f=_0x1f5ce6,_0x1eb3ca=_0x41fa63['WpdfD'](_0x2db7ba[_0x4adb8e],undefined)?_0x2db7ba[_0x4adb8e]:_0x2db7ba[_0x4adb8e[_0xfec44f(0x154)]()],_0x53d082=_0x2db7ba[_0x13e2b9]!==undefined?_0x2db7ba[_0x13e2b9]:_0x2db7ba[_0x13e2b9[_0xfec44f(0x154)]()];_0x41fa63['WpdfD'](_0x1eb3ca,null)&&_0x1eb3ca!==undefined&&(_0x1a83b8['set'](_0x41fa63['yUhty'](String,_0x1eb3ca)['toLowerCase']()[_0xfec44f(0x135)](),_0x53d082),_0x1a83b8['set'](String(_0x1eb3ca)[_0xfec44f(0x135)](),_0x53d082));}),this[_0x1f5ce6(0x14a)][_0x1f5ce6(0x159)](_0x520e25,_0x1a83b8),logger[_0x1f5ce6(0x149)]({'event':_0x41fa63['aiLKY'],'table':_0x320aa4,'column':_0x4adb8e,'count':_0x2c840d[_0x1f5ce6(0x147)]},'Lookup\x20table\x20loaded:\x20'+_0x320aa4),_0x1a83b8;}catch(_0x2e1df3){logger['error']({'event':_0x41fa63[_0x1f5ce6(0x143)],'table':_0x320aa4,'error':_0x2e1df3[_0x1f5ce6(0x13e)]},_0x1f5ce6(0x134)+_0x320aa4);throw _0x2e1df3;}}['resolveLookupValue'](_0x41e65d,_0x588aba){const _0x1bb2d5=a0_0x40382b,_0x5e5aa8={'wMOnP':function(_0x33a8ae,_0x267af9){return _0x33a8ae===_0x267af9;}};if(_0x5e5aa8[_0x1bb2d5(0x136)](_0x41e65d,null)||_0x5e5aa8['wMOnP'](_0x41e65d,undefined)||_0x41e65d==='')return null;const _0x4f8f11=String(_0x41e65d)[_0x1bb2d5(0x135)]();if(_0x588aba[_0x1bb2d5(0x161)](_0x4f8f11))return _0x588aba['get'](_0x4f8f11);const _0x492e96=_0x4f8f11[_0x1bb2d5(0x156)]();if(_0x588aba[_0x1bb2d5(0x161)](_0x492e96))return _0x588aba['get'](_0x492e96);return null;}async[a0_0x40382b(0x148)](_0x2c52ea,_0x5de57b){const _0x590fa3=a0_0x40382b,_0x4fcea6={'EOymE':function(_0x19bba2,_0x174aab){return _0x19bba2===_0x174aab;},'wnKdG':'lookup_fields_processed','bpgYz':'Lookup\x20fields\x20processed'};if(!_0x5de57b||Object[_0x590fa3(0x15b)](_0x5de57b)[_0x590fa3(0x147)]===0x0)return{'processedRows':_0x2c52ea,'errors':[]};const _0x51f505=[],_0x1aca59=new Map();for(const [_0x40319c,_0x15461f]of Object[_0x590fa3(0x131)](_0x5de57b)){const {lookupTable:_0x38645f,lookupColumn:_0x4e6c8e,lookupIdColumn:_0x45099c}=_0x15461f,_0x9f9718=_0x38645f+':'+_0x4e6c8e+':'+_0x45099c;if(!_0x1aca59[_0x590fa3(0x161)](_0x9f9718)){const _0x444678=await this['loadLookupTable'](_0x38645f,_0x4e6c8e,_0x45099c);_0x1aca59['set'](_0x9f9718,_0x444678);}}const _0x57bdb9=_0x2c52ea[_0x590fa3(0x130)]((_0x476c80,_0x10b118)=>{const _0x3c61a5=_0x590fa3,_0xc6067a={..._0x476c80};for(const [_0x147be8,_0x1f7b9b]of Object[_0x3c61a5(0x131)](_0x5de57b)){const {lookupTable:_0x399aae,lookupColumn:_0x3f69f7,lookupIdColumn:_0x3e4df7,targetField:_0x2c5000,required:_0x5ceef1}=_0x1f7b9b,_0x263134=_0x399aae+':'+_0x3f69f7+':'+_0x3e4df7,_0x5db880=_0x1aca59['get'](_0x263134),_0x4831c7=_0x476c80[_0x147be8];if((_0x4fcea6[_0x3c61a5(0x14d)](_0x4831c7,null)||_0x4831c7===undefined||_0x4831c7==='')&&!_0x5ceef1){_0xc6067a[_0x2c5000]=null;continue;}const _0xa47f1a=this['resolveLookupValue'](_0x4831c7,_0x5db880);_0xa47f1a!==null?_0xc6067a[_0x2c5000]=_0xa47f1a:(_0x5ceef1&&_0x51f505[_0x3c61a5(0x163)]({'rowIndex':_0x10b118,'field':_0x147be8,'value':_0x4831c7,'targetField':_0x2c5000,'lookupTable':_0x399aae,'message':'Value\x20\x22'+_0x4831c7+'\x22\x20not\x20found\x20in\x20'+_0x399aae}),_0xc6067a[_0x2c5000]=null);}return _0xc6067a;});return logger[_0x590fa3(0x149)]({'event':_0x4fcea6['wnKdG'],'totalRows':_0x2c52ea['length'],'errorCount':_0x51f505[_0x590fa3(0x147)],'lookupFieldCount':Object['keys'](_0x5de57b)['length']},_0x4fcea6['bpgYz']),{'processedRows':_0x57bdb9,'errors':_0x51f505};}[a0_0x40382b(0x152)](_0x5c37d4,_0x232a20){const _0x16eb37={'LzhRh':function(_0x1a5d91,_0x1ecdbf){return _0x1a5d91!==_0x1ecdbf;},'tlrzQ':function(_0x3f3c12,_0x135536){return _0x3f3c12!==_0x135536;},'Shqro':function(_0x2730c4,_0x1883f1){return _0x2730c4!==_0x1883f1;}},_0x1f75b6=new Set();return _0x5c37d4['forEach'](_0x2ba22d=>{const _0x404b77=a0_0x1921,_0x1bb6d1=_0x2ba22d[_0x232a20];_0x16eb37[_0x404b77(0x13d)](_0x1bb6d1,null)&&_0x16eb37['tlrzQ'](_0x1bb6d1,undefined)&&_0x16eb37['Shqro'](_0x1bb6d1,'')&&_0x1f75b6[_0x404b77(0x157)](String(_0x1bb6d1)['trim']());}),Array['from'](_0x1f75b6);}async[a0_0x40382b(0x15f)](_0x1d2179,_0x580c2c){const _0x16969d=a0_0x40382b,_0x3a51bf={'WvpAc':function(_0x502617,_0x5cbdfb){return _0x502617===_0x5cbdfb;},'PTKFU':function(_0x487744,_0x186503){return _0x487744>_0x186503;}};if(!_0x580c2c||_0x3a51bf[_0x16969d(0x145)](Object[_0x16969d(0x15b)](_0x580c2c)[_0x16969d(0x147)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x29af57=[],_0x20d596={};for(const [_0x21e79f,_0x1d6c81]of Object[_0x16969d(0x131)](_0x580c2c)){const {lookupTable:_0x416fa5,lookupColumn:_0x578569,lookupIdColumn:_0x2b52fd,required:_0xf768a}=_0x1d6c81,_0x523b28=this[_0x16969d(0x152)](_0x1d2179,_0x21e79f),_0x4978d9=await this[_0x16969d(0x14f)](_0x416fa5,_0x578569,_0x2b52fd),_0x4a4266=[],_0x9a23a4=[];_0x523b28[_0x16969d(0x138)](_0x529d5c=>{const _0x31291c=_0x16969d,_0x5ddc0d=this[_0x31291c(0x160)](_0x529d5c,_0x4978d9);_0x5ddc0d!==null?_0x9a23a4['push'](_0x529d5c):_0x4a4266['push'](_0x529d5c);});if(_0x3a51bf[_0x16969d(0x151)](_0x4a4266['length'],0x0)&&_0xf768a){_0x29af57[_0x16969d(0x163)]({'field':_0x21e79f,'lookupTable':_0x416fa5,'invalidValues':_0x4a4266,'message':_0x4a4266[_0x16969d(0x147)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x416fa5});const _0x3e3b15=[];_0x4978d9[_0x16969d(0x138)]((_0x1c854f,_0x33e1b3)=>{const _0x3b10cf=_0x16969d;if(_0x33e1b3===_0x33e1b3[_0x3b10cf(0x156)]())return;_0x3e3b15['push'](_0x33e1b3);}),_0x20d596[_0x21e79f]={'invalidValues':_0x4a4266,'availableValues':_0x3e3b15['slice'](0x0,0x32)};}}return{'valid':_0x3a51bf['WvpAc'](_0x29af57[_0x16969d(0x147)],0x0),'errors':_0x29af57,'suggestions':_0x20d596};}}function a0_0x4afb(){const _0x527a9c=['Dg9vChbLCKnHC2u','nJu3otC5m1rSquz6Ba','Dg9mB3DLCKnHC2u','ywrK','zxHLy3v0zvf1zxj5','C2v0','og1xyLfxva','A2v5CW','nJy5mdmWmerZsxfUvG','mJi1mtf1tuH0Dum','zw52','DMfSAwrHDgvmB29RDxbwywX1zxm','CMvZB2X2zuXVB2T1CfzHBhvL','AgfZ','mJa3nLf6seDRsW','ChvZAa','BwfW','zw50CMLLCW','lI9KyI1TExnXBa','tg9VA3vWignHy2HLignSzwfYzwq','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','DhjPBq','D01pBLa','iezst00G','zM9YrwfJAa','mM5YDfbluG','mZm2odeZm2LtB2nAvG','mtuZmJKXExPUuxLd','rejFvfLqrq','thPOuMG','BwvZC2fNzq','B3jHy2XL','lI9KyG','lI9KyI1VCMfJBgu','Cg9ZDgDYzxnXBa','sujItgW','ntCYmtK2nKTcBez2Bq','v3zWqwm','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','BgvUz3rO','ChjVy2vZC0XVB2T1CezPzwXKCW','Aw5MBW','Bg9VA3vWq2fJAgu','s25ttvC','zxHWB3j0CW','ru95Buu','mZz3DKHsEeS','Bg9HzeXVB2T1CfrHyMXL','n0z5te5UCq','ufrlrLu','z2v0rgLZDgLUy3rwywX1zxm','mJGXnuHStK5AvG'];a0_0x4afb=function(){return _0x527a9c;};return a0_0x4afb();}module[a0_0x40382b(0x14c)]=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x553192=a0_0x4dd4;(function(_0x1bc561,_0x2deb10){const _0x586b49=a0_0x4dd4,_0x4b19c0=_0x1bc561();while(!![]){try{const _0xcd0260=parseInt(_0x586b49(0x16c))/0x1+-parseInt(_0x586b49(0x17b))/0x2*(parseInt(_0x586b49(0x165))/0x3)+-parseInt(_0x586b49(0x15f))/0x4*(-parseInt(_0x586b49(0x174))/0x5)+parseInt(_0x586b49(0x176))/0x6+-parseInt(_0x586b49(0x163))/0x7*(parseInt(_0x586b49(0x169))/0x8)+parseInt(_0x586b49(0x16f))/0x9*(parseInt(_0x586b49(0x181))/0xa)+-parseInt(_0x586b49(0x179))/0xb;if(_0xcd0260===_0x2deb10)break;else _0x4b19c0['push'](_0x4b19c0['shift']());}catch(_0x4cf9fa){_0x4b19c0['push'](_0x4b19c0['shift']());}}}(a0_0xc543,0xc9a48));const fs=require('fs')[a0_0x553192(0x160)],path=require('path'),{logger}=require('./logger');function a0_0x4dd4(_0x4a92f5,_0x3c4613){_0x4a92f5=_0x4a92f5-0x157;const _0xc5437d=a0_0xc543();let _0x4dd471=_0xc5437d[_0x4a92f5];if(a0_0x4dd4['ITQtrQ']===undefined){var _0x9dfc6e=function(_0x3f55e8){const _0x14847f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3be755='',_0x16b6a0='';for(let _0x5a40d8=0x0,_0x51d08d,_0xb45d9,_0x54ced4=0x0;_0xb45d9=_0x3f55e8['charAt'](_0x54ced4++);~_0xb45d9&&(_0x51d08d=_0x5a40d8%0x4?_0x51d08d*0x40+_0xb45d9:_0xb45d9,_0x5a40d8++%0x4)?_0x3be755+=String['fromCharCode'](0xff&_0x51d08d>>(-0x2*_0x5a40d8&0x6)):0x0){_0xb45d9=_0x14847f['indexOf'](_0xb45d9);}for(let _0xfa1368=0x0,_0x245709=_0x3be755['length'];_0xfa1368<_0x245709;_0xfa1368++){_0x16b6a0+='%'+('00'+_0x3be755['charCodeAt'](_0xfa1368)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16b6a0);};a0_0x4dd4['tDhYLu']=_0x9dfc6e,a0_0x4dd4['FNiYbV']={},a0_0x4dd4['ITQtrQ']=!![];}const _0x153569=_0xc5437d[0x0],_0x337673=_0x4a92f5+_0x153569,_0x3a8396=a0_0x4dd4['FNiYbV'][_0x337673];return!_0x3a8396?(_0x4dd471=a0_0x4dd4['tDhYLu'](_0x4dd471),a0_0x4dd4['FNiYbV'][_0x337673]=_0x4dd471):_0x4dd471=_0x3a8396,_0x4dd471;}class PayloadLoader{constructor(){const _0x5c8a8d=a0_0x553192;this[_0x5c8a8d(0x172)]=path[_0x5c8a8d(0x15a)](__dirname,'../../payload'),this[_0x5c8a8d(0x168)]=new Map();}async['loadPayload'](_0x2e387d,_0x435d0e){const _0xad1ef6=a0_0x553192,_0x164f21={'FeXpL':'utf8','sGtEl':'Payload\x20loaded\x20successfully'},_0x5d006e=_0x2e387d+':'+_0x435d0e;if(this[_0xad1ef6(0x168)][_0xad1ef6(0x17f)](_0x5d006e))return this['cache'][_0xad1ef6(0x167)](_0x5d006e);const _0x1be5e0=path['join'](this[_0xad1ef6(0x172)],_0x2e387d+'_'+_0x435d0e+'.json');try{const _0x4e234b=await fs['readFile'](_0x1be5e0,_0x164f21[_0xad1ef6(0x16e)]),_0x75df14=JSON[_0xad1ef6(0x162)](_0x4e234b);return this['cache']['set'](_0x5d006e,_0x75df14),logger['debug']({'event':'payload_loaded','project':_0x2e387d,'resource':_0x435d0e},_0x164f21[_0xad1ef6(0x180)]),_0x75df14;}catch(_0x2d64f7){logger[_0xad1ef6(0x15b)]({'event':_0xad1ef6(0x16d),'project':_0x2e387d,'resource':_0x435d0e,'error':_0x2d64f7[_0xad1ef6(0x173)]},'Failed\x20to\x20load\x20payload');throw new Error(_0xad1ef6(0x177)+_0x2e387d+'_'+_0x435d0e);}}async[a0_0x553192(0x159)](_0x5c62e5){const _0x27d181=a0_0x553192,_0x3a9fae={'sQUfe':_0x27d181(0x175)},_0x3205f1='payload:'+_0x5c62e5;if(this['cache']['has'](_0x3205f1))return this['cache'][_0x27d181(0x167)](_0x3205f1);const _0x9bf417=path[_0x27d181(0x15a)](this[_0x27d181(0x172)],_0x5c62e5+'.json');try{const _0x1ab38f=await fs[_0x27d181(0x15d)](_0x9bf417,_0x27d181(0x17c)),_0x3c297a=JSON['parse'](_0x1ab38f);return this[_0x27d181(0x168)][_0x27d181(0x161)](_0x3205f1,_0x3c297a),logger[_0x27d181(0x178)]({'event':'payload_loaded','payloadName':_0x5c62e5},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x3c297a;}catch(_0x4271a8){logger[_0x27d181(0x15b)]({'event':_0x27d181(0x16d),'payloadName':_0x5c62e5,'error':_0x4271a8[_0x27d181(0x173)]},_0x3a9fae[_0x27d181(0x170)]);throw new Error(_0x27d181(0x177)+_0x5c62e5);}}[a0_0x553192(0x166)](_0x524f3f,_0x20f88e){const _0x17caef=a0_0x553192,_0x2b1eb7={'BERYo':function(_0x1ee761,_0x166cf3){return _0x1ee761===_0x166cf3;}};return _0x524f3f[_0x17caef(0x17d)]&&_0x2b1eb7['BERYo'](_0x524f3f['action'][_0x20f88e],!![]);}[a0_0x553192(0x171)](_0x96c752){const _0x27d829=a0_0x553192;return{'columns':_0x96c752['fieldName']||[],'filename':_0x96c752[_0x27d829(0x15e)]['replace']('.','-')+_0x27d829(0x157),'datatablesQuery':_0x96c752[_0x27d829(0x15c)]||null,'columnFormats':_0x96c752['columnFormats']||null,'fieldLabels':_0x96c752['fieldLabels']||null};}[a0_0x553192(0x16a)](){const _0x2e50ee=a0_0x553192,_0x30031a={'OMYjs':_0x2e50ee(0x164),'Lskdr':_0x2e50ee(0x17e)};this[_0x2e50ee(0x168)]['clear'](),logger['info']({'event':_0x30031a[_0x2e50ee(0x17a)]},_0x30031a[_0x2e50ee(0x16b)]);}}module[a0_0x553192(0x158)]=new PayloadLoader();function a0_0xc543(){const _0x1cea30=['y2fJAgu','mJrTs0n6yw8','y2XLyxjdywnOzq','thnRzhi','mtiZmta3m3fmrvDiwq','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','rMvyCeW','mtCXourTAerLqW','C1fvzMu','z2v0rxHWB3j0q29UzMLN','Cgf5Bg9HzerPCG','BwvZC2fNzq','mti3mZq0nvbqzu9Qsa','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','otCZnZaYohbrANDiDG','ugf5Bg9HzcbUB3qGzM91BMq6ia','zgvIDwC','mti1mJC5mZnND2nfB2q','t01zANm','mti1mJaXogfWsMXQsa','DxrMoa','ywn0Aw9U','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','AgfZ','C0D0rwW','nZa2mfzqEhj0za','lwv4Cg9YDa','zxHWB3j0CW','Bg9HzfbHEwXVywrcEu5HBwu','AM9PBG','zxjYB3i','zgf0yxrHyMXLC1f1zxj5','CMvHzezPBgu','DgfIBgvoyw1L','mJbnCKLQC2i','ChjVBwLZzxm','C2v0','CgfYC2u','mJqZote1n21gCLjKtG','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','nK95qMHctG','Axnby3rPB25fBMfIBgvK','z2v0'];a0_0xc543=function(){return _0x1cea30;};return a0_0xc543();}
1
+ const a0_0xc6b38e=a0_0x12e4;function a0_0x12e4(_0x488235,_0x431a43){_0x488235=_0x488235-0x162;const _0x12138c=a0_0x1213();let _0x12e425=_0x12138c[_0x488235];if(a0_0x12e4['WCbFpM']===undefined){var _0x3da92c=function(_0x4daf11){const _0x286655='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x419f21='',_0x438ec5='';for(let _0x44e6ff=0x0,_0x195b93,_0x1927ec,_0x25d949=0x0;_0x1927ec=_0x4daf11['charAt'](_0x25d949++);~_0x1927ec&&(_0x195b93=_0x44e6ff%0x4?_0x195b93*0x40+_0x1927ec:_0x1927ec,_0x44e6ff++%0x4)?_0x419f21+=String['fromCharCode'](0xff&_0x195b93>>(-0x2*_0x44e6ff&0x6)):0x0){_0x1927ec=_0x286655['indexOf'](_0x1927ec);}for(let _0x5af75e=0x0,_0x48db0d=_0x419f21['length'];_0x5af75e<_0x48db0d;_0x5af75e++){_0x438ec5+='%'+('00'+_0x419f21['charCodeAt'](_0x5af75e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x438ec5);};a0_0x12e4['HNQDrd']=_0x3da92c,a0_0x12e4['SetGxW']={},a0_0x12e4['WCbFpM']=!![];}const _0xfb46f=_0x12138c[0x0],_0x18dc7d=_0x488235+_0xfb46f,_0x2b0be6=a0_0x12e4['SetGxW'][_0x18dc7d];return!_0x2b0be6?(_0x12e425=a0_0x12e4['HNQDrd'](_0x12e425),a0_0x12e4['SetGxW'][_0x18dc7d]=_0x12e425):_0x12e425=_0x2b0be6,_0x12e425;}(function(_0x5483c2,_0x4183fb){const _0x367335=a0_0x12e4,_0x866614=_0x5483c2();while(!![]){try{const _0x1ead7f=parseInt(_0x367335(0x16b))/0x1+parseInt(_0x367335(0x162))/0x2*(parseInt(_0x367335(0x17c))/0x3)+parseInt(_0x367335(0x17b))/0x4+-parseInt(_0x367335(0x16a))/0x5+-parseInt(_0x367335(0x180))/0x6*(parseInt(_0x367335(0x17a))/0x7)+parseInt(_0x367335(0x173))/0x8*(parseInt(_0x367335(0x182))/0x9)+-parseInt(_0x367335(0x17d))/0xa;if(_0x1ead7f===_0x4183fb)break;else _0x866614['push'](_0x866614['shift']());}catch(_0x22c0d9){_0x866614['push'](_0x866614['shift']());}}}(a0_0x1213,0xb3a1a));function a0_0x1213(){const _0x500128=['CMvHzezPBgu','mta1og1puMjTsa','AgfZ','zMLLBgroyw1L','uxbfruy','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','qKTOvuG','Aw5MBW','Cgf5Bg9Hzf9SB2fKzwq','ndG1mty1mhPirhzdsW','mte2nZi0ohfeEu5zBq','DgfIBgvoyw1L','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','y29SDw1UrM9YBwf0CW','zgf0yxrHyMXLC1f1zxj5','y2fJAgu','quHQB2S','Cgf5Bg9HzdO','ofLSs01JrW','y2XLyxjdywnOzq','lI9SB2DNzxi','zgvIDwC','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','z2v0','CgfYC2u','mJCYodq2thvoyxvM','ndK1mdGWoeDSthnAvW','odeZm0fkrKX0EG','mtq2mZG2ndbwC29xqwi','Bg9HzfbHEwXVywq','zMLLBgrmywjLBhm','mtiWBKXfu1nQ','Cgf5Bg9HzerPCG','otK0mdK1CuzyufHS','lI4VlI4VCgf5Bg9Hza','BLf6CgW','BwvZC2fNzq'];a0_0x1213=function(){return _0x500128;};return a0_0x1213();}const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0xc6b38e(0x175));class PayloadLoader{constructor(){const _0x4c3268=a0_0xc6b38e,_0x112c9a={'ygkBc':_0x4c3268(0x183)};this['payloadDir']=path['join'](__dirname,_0x112c9a['ygkBc']),this[_0x4c3268(0x170)]=new Map();}async[a0_0xc6b38e(0x17e)](_0x54763d,_0x12f084){const _0x4d0fd0=a0_0xc6b38e,_0x4fc030={'GuESH':'utf8','AHjok':_0x4d0fd0(0x169),'WxcqD':_0x4d0fd0(0x166)},_0x87a878=_0x54763d+':'+_0x12f084;if(this[_0x4d0fd0(0x170)][_0x4d0fd0(0x163)](_0x87a878))return this[_0x4d0fd0(0x170)]['get'](_0x87a878);const _0x149196=path['join'](this['payloadDir'],_0x54763d+'_'+_0x12f084+'.json');try{const _0x5a06a2=await fs['readFile'](_0x149196,_0x4fc030['GuESH']),_0x173a97=JSON[_0x4d0fd0(0x179)](_0x5a06a2);return this['cache']['set'](_0x87a878,_0x173a97),logger[_0x4d0fd0(0x176)]({'event':_0x4fc030[_0x4d0fd0(0x171)],'project':_0x54763d,'resource':_0x12f084},_0x4fc030['WxcqD']),_0x173a97;}catch(_0x1e0216){logger['error']({'event':_0x4d0fd0(0x177),'project':_0x54763d,'resource':_0x12f084,'error':_0x1e0216['message']},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x54763d+'_'+_0x12f084);}}async['loadPayloadByName'](_0x37f787){const _0x3d338b=a0_0xc6b38e,_0x1cdc71={'BKhUH':_0x3d338b(0x169),'MpGcH':'Payload\x20loaded\x20successfully\x20by\x20name','QpEEF':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x5028af=_0x3d338b(0x172)+_0x37f787;if(this[_0x3d338b(0x170)][_0x3d338b(0x163)](_0x5028af))return this['cache'][_0x3d338b(0x178)](_0x5028af);const _0x49e2f2=path['join'](this[_0x3d338b(0x181)],_0x37f787+'.json');try{const _0x49e1d9=await fs[_0x3d338b(0x186)](_0x49e2f2,'utf8'),_0x4b933f=JSON[_0x3d338b(0x179)](_0x49e1d9);return this[_0x3d338b(0x170)]['set'](_0x5028af,_0x4b933f),logger['debug']({'event':_0x1cdc71[_0x3d338b(0x167)],'payloadName':_0x37f787},_0x1cdc71['MpGcH']),_0x4b933f;}catch(_0x3f63e6){logger['error']({'event':'payload_load_error','payloadName':_0x37f787,'error':_0x3f63e6[_0x3d338b(0x185)]},_0x1cdc71[_0x3d338b(0x165)]);throw new Error('Payload\x20not\x20found:\x20'+_0x37f787);}}['isActionEnabled'](_0x54e8c0,_0x15bf92){const _0x2368c1={'nmdwA':function(_0x476a8c,_0x4e947e){return _0x476a8c===_0x4e947e;}};return _0x54e8c0['action']&&_0x2368c1['nmdwA'](_0x54e8c0['action'][_0x15bf92],!![]);}['getExportConfig'](_0x7ebb61){const _0x3386f5=a0_0xc6b38e;return{'columns':_0x7ebb61[_0x3386f5(0x164)]||[],'filename':_0x7ebb61[_0x3386f5(0x16c)]['replace']('.','-')+'-export','datatablesQuery':_0x7ebb61[_0x3386f5(0x16f)]||null,'columnFormats':_0x7ebb61[_0x3386f5(0x16e)]||null,'fieldLabels':_0x7ebb61[_0x3386f5(0x17f)]||null};}[a0_0xc6b38e(0x174)](){const _0x215468=a0_0xc6b38e,_0x12c70f={'nQzpl':_0x215468(0x16d)};this[_0x215468(0x170)]['clear'](),logger[_0x215468(0x168)]({'event':'payload_cache_cleared'},_0x12c70f[_0x215468(0x184)]);}}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';function a0_0x1b96(){var _0xc57cf7=['nJq2mZmWCNrssePT','mJiZmJmYogTxBfPbzq','mtC0ndG1nNr2reD4vW','nta2nJa4ofDTt0zgrG','zxHWB3j0CW','Dg9ju09tDhjPBMC','mJC2q0Dwy2XM','mta1mZi0ndHLCLjVsKu','mJCWntiXnunzt3LdAG','odq2oxnVtMr2sW'];a0_0x1b96=function(){return _0xc57cf7;};return a0_0x1b96();}var a0_0x1b6e20=a0_0x4a1c;(function(_0x2cb122,_0x34dd88){var _0x4b4c77=a0_0x4a1c,_0x26a2a0=_0x2cb122();while(!![]){try{var _0x1df819=-parseInt(_0x4b4c77(0x81))/0x1+parseInt(_0x4b4c77(0x83))/0x2+parseInt(_0x4b4c77(0x80))/0x3*(parseInt(_0x4b4c77(0x87))/0x4)+-parseInt(_0x4b4c77(0x7f))/0x5+-parseInt(_0x4b4c77(0x84))/0x6+parseInt(_0x4b4c77(0x82))/0x7+parseInt(_0x4b4c77(0x7e))/0x8;if(_0x1df819===_0x34dd88)break;else _0x26a2a0['push'](_0x26a2a0['shift']());}catch(_0x381538){_0x26a2a0['push'](_0x26a2a0['shift']());}}}(a0_0x1b96,0xa3cea));function createResponse(_0x16acda,_0x16bf81,_0x38640f=null){var _0x353b0a=a0_0x4a1c;return{'success':!![],'statusCode':_0x16acda,'message':_0x16bf81,'data':_0x38640f,'timestamp':new Date()[_0x353b0a(0x86)]()};}function a0_0x4a1c(_0x4a3154,_0x35edde){_0x4a3154=_0x4a3154-0x7e;var _0x1b96d8=a0_0x1b96();var _0x4a1c42=_0x1b96d8[_0x4a3154];if(a0_0x4a1c['YKWhSN']===undefined){var _0xebb930=function(_0x53ebf8){var _0x54bd4a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x325eff='',_0x420676='';for(var _0x2fc1ef=0x0,_0x2cf0f9,_0x1b8a8c,_0x462860=0x0;_0x1b8a8c=_0x53ebf8['charAt'](_0x462860++);~_0x1b8a8c&&(_0x2cf0f9=_0x2fc1ef%0x4?_0x2cf0f9*0x40+_0x1b8a8c:_0x1b8a8c,_0x2fc1ef++%0x4)?_0x325eff+=String['fromCharCode'](0xff&_0x2cf0f9>>(-0x2*_0x2fc1ef&0x6)):0x0){_0x1b8a8c=_0x54bd4a['indexOf'](_0x1b8a8c);}for(var _0x239ae2=0x0,_0x57ad30=_0x325eff['length'];_0x239ae2<_0x57ad30;_0x239ae2++){_0x420676+='%'+('00'+_0x325eff['charCodeAt'](_0x239ae2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x420676);};a0_0x4a1c['DbRgez']=_0xebb930,a0_0x4a1c['VycBvg']={},a0_0x4a1c['YKWhSN']=!![];}var _0x57eaad=_0x1b96d8[0x0],_0x26bf45=_0x4a3154+_0x57eaad,_0x2f1091=a0_0x4a1c['VycBvg'][_0x26bf45];return!_0x2f1091?(_0x4a1c42=a0_0x4a1c['DbRgez'](_0x4a1c42),a0_0x4a1c['VycBvg'][_0x26bf45]=_0x4a1c42):_0x4a1c42=_0x2f1091,_0x4a1c42;}function createError(_0x5d283c,_0x44c6bc,_0x33f49f=null){return{'success':![],'statusCode':_0x5d283c,'message':_0x44c6bc,'data':_0x33f49f,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x530a6c,_0x318077){var _0x14c882=a0_0x4a1c;return{'success':![],'statusCode':0x190,'message':_0x530a6c,'data':{'errors':_0x318077},'timestamp':new Date()[_0x14c882(0x86)]()};}module[a0_0x1b6e20(0x85)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';(function(_0x64ee19,_0x32e522){var _0x3a6fb1=a0_0x1278,_0x504cbe=_0x64ee19();while(!![]){try{var _0x137151=parseInt(_0x3a6fb1(0x1db))/0x1*(parseInt(_0x3a6fb1(0x1dc))/0x2)+parseInt(_0x3a6fb1(0x1dd))/0x3*(-parseInt(_0x3a6fb1(0x1de))/0x4)+parseInt(_0x3a6fb1(0x1df))/0x5*(-parseInt(_0x3a6fb1(0x1d8))/0x6)+parseInt(_0x3a6fb1(0x1e1))/0x7*(-parseInt(_0x3a6fb1(0x1d7))/0x8)+-parseInt(_0x3a6fb1(0x1da))/0x9+-parseInt(_0x3a6fb1(0x1e0))/0xa+parseInt(_0x3a6fb1(0x1d9))/0xb;if(_0x137151===_0x32e522)break;else _0x504cbe['push'](_0x504cbe['shift']());}catch(_0x5b16fd){_0x504cbe['push'](_0x504cbe['shift']());}}}(a0_0x5725,0x61fec));function a0_0x5725(){var _0x37ff79=['Dg9ju09tDhjPBMC','otG0C25TDerp','mti5odrbtKjqEKu','otm2odC3n1PcAMfcvq','mJmXody3mgDbBMnrAW','ndm0BMXiy3bM','mZy4ne5SAKXyCG','ndvpDhfmD2i','mti4ntCYz3zfBg5z','nZe1wM1Sr2PA','nZaWmtCWBe1luM9T','nZqYn1j0svHhra'];a0_0x5725=function(){return _0x37ff79;};return a0_0x5725();}function createResponse(_0x112817,_0x6edf2d,_0x4b3d50=null){var _0x1cf2f5=a0_0x1278;return{'success':!![],'statusCode':_0x112817,'message':_0x6edf2d,'data':_0x4b3d50,'timestamp':new Date()[_0x1cf2f5(0x1d6)]()};}function a0_0x1278(_0x199c4c,_0x3c9581){_0x199c4c=_0x199c4c-0x1d6;var _0x5725cb=a0_0x5725();var _0x127891=_0x5725cb[_0x199c4c];if(a0_0x1278['NCVfHm']===undefined){var _0x2f9c94=function(_0x332c4d){var _0x486e8d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3495b1='',_0x15c7af='';for(var _0x47c2c4=0x0,_0x58e20b,_0x484ffe,_0x547968=0x0;_0x484ffe=_0x332c4d['charAt'](_0x547968++);~_0x484ffe&&(_0x58e20b=_0x47c2c4%0x4?_0x58e20b*0x40+_0x484ffe:_0x484ffe,_0x47c2c4++%0x4)?_0x3495b1+=String['fromCharCode'](0xff&_0x58e20b>>(-0x2*_0x47c2c4&0x6)):0x0){_0x484ffe=_0x486e8d['indexOf'](_0x484ffe);}for(var _0x2be5f4=0x0,_0x3bfca4=_0x3495b1['length'];_0x2be5f4<_0x3bfca4;_0x2be5f4++){_0x15c7af+='%'+('00'+_0x3495b1['charCodeAt'](_0x2be5f4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15c7af);};a0_0x1278['KfIINS']=_0x2f9c94,a0_0x1278['cGICZS']={},a0_0x1278['NCVfHm']=!![];}var _0x267899=_0x5725cb[0x0],_0x191cd1=_0x199c4c+_0x267899,_0x46d810=a0_0x1278['cGICZS'][_0x191cd1];return!_0x46d810?(_0x127891=a0_0x1278['KfIINS'](_0x127891),a0_0x1278['cGICZS'][_0x191cd1]=_0x127891):_0x127891=_0x46d810,_0x127891;}function createError(_0x27d6d6,_0x1e9462,_0x450e08=null){return{'success':![],'statusCode':_0x27d6d6,'message':_0x1e9462,'data':_0x450e08,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x4b3675,_0x14ff0e){var _0x58c3ee=a0_0x1278;return{'success':![],'statusCode':0x190,'message':_0x4b3675,'data':{'errors':_0x14ff0e},'timestamp':new Date()[_0x58c3ee(0x1d6)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x584818=a0_0x4db8;(function(_0x1f2b52,_0x2f0c45){const _0x208bcb=a0_0x4db8,_0x5eff3f=_0x1f2b52();while(!![]){try{const _0x5c3f27=parseInt(_0x208bcb(0xa5))/0x1+parseInt(_0x208bcb(0xaa))/0x2*(-parseInt(_0x208bcb(0x98))/0x3)+parseInt(_0x208bcb(0x9a))/0x4*(parseInt(_0x208bcb(0xa4))/0x5)+parseInt(_0x208bcb(0xba))/0x6*(-parseInt(_0x208bcb(0xad))/0x7)+-parseInt(_0x208bcb(0xa2))/0x8+-parseInt(_0x208bcb(0x95))/0x9+parseInt(_0x208bcb(0xa9))/0xa;if(_0x5c3f27===_0x2f0c45)break;else _0x5eff3f['push'](_0x5eff3f['shift']());}catch(_0x17b167){_0x5eff3f['push'](_0x5eff3f['shift']());}}}(a0_0x1868,0x31ea7),require('dotenv')['config']());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x584818(0xa7)]['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x584818(0xa7)][a0_0x584818(0x9b)],QUEUE=process['env']['RABBITMQ_QUEUE'];function a0_0x1868(){const _0x441008=['zxHPDa','yxnZzxj0rxHJAgfUz2u','xsbcAw5KAw5Nia','mti3odq4ohPvwMXYwq','qNziqKW','mtbPCxbAt3m','mZe3nZe4A25esfHe','x3jLDhj5','zw52','ic0+ia','nteZnZmXmffPBKzwsa','ntiYmJHVr3z3A0C','yxnZzxj0uxvLDwu','yMLUzff1zxvL','nda2rg1XCM14','ignYzwf0zwqVCMvHzhK','zxjYB3i','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','thL4BLG','BwvZC2fNzq','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','Aw5LCxvPDMfSzw50igfYzW','xsbszxrYEsbIAw5KAw5NigzVCIa','y3jLyxrLzc9YzwfKEq','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','ignYzwf0zwq','Bg9N','mJi4nZHKEhLgvwK','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','CMv0CNKTzxHJAgfUz2u','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','vgvzqNK','ihDPDgGGreXy','mJi0mtiWn0r3s0z6uW','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','mZLsC3zVEMC','xsbfuLjpuJOGuxvLDwuG','nJG0otuYveD5uxjk','uKfcqKLutvfFuK9vveLor19lrvK','ksbJCMvHDgvK','B29mrNG','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG'];a0_0x1868=function(){return _0x441008;};return a0_0x1868();}async function createConnection(){const _0x5dc41d=a0_0x584818;try{const _0x2923ae=await amqp['connect'](RABBITMQ_URL);return console[_0x5dc41d(0xb9)]('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x2923ae;}catch(_0x425f01){console['error']('['+formatDate(new Date())+_0x5dc41d(0xb7)+_0x425f01['message']);throw _0x425f01;}}function a0_0x4db8(_0x4738a,_0x2e90a6){_0x4738a=_0x4738a-0x90;const _0x18681f=a0_0x1868();let _0x4db8e4=_0x18681f[_0x4738a];if(a0_0x4db8['EiwDtu']===undefined){var _0x2e9a8c=function(_0x4937fc){const _0x5b1a9d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b4701='',_0x59249e='';for(let _0x4e75bc=0x0,_0x47d020,_0x2cea32,_0x11de91=0x0;_0x2cea32=_0x4937fc['charAt'](_0x11de91++);~_0x2cea32&&(_0x47d020=_0x4e75bc%0x4?_0x47d020*0x40+_0x2cea32:_0x2cea32,_0x4e75bc++%0x4)?_0x2b4701+=String['fromCharCode'](0xff&_0x47d020>>(-0x2*_0x4e75bc&0x6)):0x0){_0x2cea32=_0x5b1a9d['indexOf'](_0x2cea32);}for(let _0x3c0447=0x0,_0xb8b88c=_0x2b4701['length'];_0x3c0447<_0xb8b88c;_0x3c0447++){_0x59249e+='%'+('00'+_0x2b4701['charCodeAt'](_0x3c0447)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59249e);};a0_0x4db8['ZYHXqA']=_0x2e9a8c,a0_0x4db8['nZiQgA']={},a0_0x4db8['EiwDtu']=!![];}const _0x272cca=_0x18681f[0x0],_0x4f185a=_0x4738a+_0x272cca,_0x5742b7=a0_0x4db8['nZiQgA'][_0x4f185a];return!_0x5742b7?(_0x4db8e4=a0_0x4db8['ZYHXqA'](_0x4db8e4),a0_0x4db8['nZiQgA'][_0x4f185a]=_0x4db8e4):_0x4db8e4=_0x5742b7,_0x4db8e4;}async function createChannel(_0x3b5ff9){const _0x57b7c4=a0_0x584818;try{const _0x5e47da=await _0x3b5ff9['createChannel']();return console[_0x57b7c4(0xb9)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x5e47da;}catch(_0xd4de91){console[_0x57b7c4(0xaf)]('['+formatDate(new Date())+_0x57b7c4(0x97)+_0xd4de91['message']);throw _0xd4de91;}}async function setupInfrastructure(_0x4034ac){const _0x20e19c=a0_0x584818,_0x4935d4={'XCLec':'direct','fwIEf':function(_0x219b8f,_0x1c45c2){return _0x219b8f(_0x1c45c2);},'LyxnX':function(_0x48f31e,_0x2efb26){return _0x48f31e(_0x2efb26);},'BvHBL':_0x20e19c(0x91),'Dazsc':function(_0x28ad7f,_0x2f571b){return _0x28ad7f(_0x2f571b);},'TeYBy':_0x20e19c(0xb6),'rsMFU':function(_0x54141f,_0x1ff246){return _0x54141f(_0x1ff246);},'HFmdY':_0x20e19c(0xb4),'FGhQr':'x-dead-letter-routing-key'};try{await _0x4034ac['assertExchange']('retry-exchange',_0x4935d4['XCLec'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x4935d4['fwIEf'](formatDate,new Date())+_0x20e19c(0xb0));}catch(_0x57b27a){console[_0x20e19c(0xaf)]('['+_0x4935d4[_0x20e19c(0xb1)](formatDate,new Date())+_0x20e19c(0x92),_0x57b27a[_0x20e19c(0xb2)]);throw _0x57b27a;}try{await _0x4034ac[_0x20e19c(0xa0)](EXCHANGE,_0x4935d4['XCLec'],{'durable':!![],'autoDelete':![]}),console[_0x20e19c(0xb9)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+'\x20created/ready');}catch(_0x397a9f){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x397a9f[_0x20e19c(0xb2)]);throw _0x397a9f;}const _0x15f2fa=ROUTING_KEY+_0x20e19c(0xa6);try{const _0x9845b0={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x4034ac['assertQueue'](_0x15f2fa,_0x9845b0),console[_0x20e19c(0xb9)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x15f2fa+_0x20e19c(0xae)),await _0x4034ac['bindQueue'](_0x15f2fa,_0x4935d4[_0x20e19c(0xa3)],ROUTING_KEY),console[_0x20e19c(0xb9)]('['+_0x4935d4[_0x20e19c(0xb1)](formatDate,new Date())+_0x20e19c(0xb5)+ROUTING_KEY+_0x20e19c(0xb8));}catch(_0x1cfce2){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x1cfce2[_0x20e19c(0xb2)]);throw _0x1cfce2;}try{const _0x1ada7d={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x4935d4['BvHBL'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x1e55e4=await _0x4034ac[_0x20e19c(0xab)](QUEUE,_0x1ada7d);console['log']('['+_0x4935d4['Dazsc'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x1e55e4['queue']===QUEUE?_0x4935d4[_0x20e19c(0x93)]:'found')+_0x20e19c(0x94)),await _0x4034ac[_0x20e19c(0xac)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x20e19c(0xb9)]('['+_0x4935d4['rsMFU'](formatDate,new Date())+_0x20e19c(0xa1)+EXCHANGE+_0x20e19c(0xa8)+QUEUE+'\x20('+ROUTING_KEY+_0x20e19c(0x9c));}catch(_0x5977e7){if(_0x5977e7['message']['includes'](_0x4935d4['HFmdY'])&&_0x5977e7[_0x20e19c(0xb2)]['includes'](_0x4935d4['FGhQr']))console['error']('\x0a['+formatDate(new Date())+_0x20e19c(0x99)+QUEUE+_0x20e19c(0xb3)),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error'](_0x20e19c(0x9e)),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x5977e7['message']);throw _0x5977e7;}}}catch(_0x437ff4){if(!_0x437ff4['message']['includes'](_0x20e19c(0xb4))){console[_0x20e19c(0xaf)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x437ff4['message']);throw _0x437ff4;}process[_0x20e19c(0x9f)](0x1);}}async function closeConnection(_0x3629e1){const _0x248608=a0_0x584818,_0x5c736a={'ooLFx':function(_0x482c9d,_0x2a9673){return _0x482c9d(_0x2a9673);}};if(_0x3629e1)try{await _0x3629e1['close'](),console['log']('['+formatDate(new Date())+_0x248608(0x96));}catch(_0x539715){console[_0x248608(0xaf)]('['+_0x5c736a[_0x248608(0x9d)](formatDate,new Date())+_0x248608(0x90)+_0x539715[_0x248608(0xb2)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0xa1811f=a0_0x338f;(function(_0x1a0ca9,_0x4512a3){const _0x4790ab=a0_0x338f,_0x2f7248=_0x1a0ca9();while(!![]){try{const _0x1ddd9b=parseInt(_0x4790ab(0x198))/0x1*(-parseInt(_0x4790ab(0x193))/0x2)+-parseInt(_0x4790ab(0x1a9))/0x3*(-parseInt(_0x4790ab(0x1b8))/0x4)+-parseInt(_0x4790ab(0x190))/0x5*(parseInt(_0x4790ab(0x1b2))/0x6)+-parseInt(_0x4790ab(0x19d))/0x7*(-parseInt(_0x4790ab(0x199))/0x8)+-parseInt(_0x4790ab(0x1b9))/0x9+parseInt(_0x4790ab(0x1c3))/0xa+parseInt(_0x4790ab(0x19b))/0xb*(parseInt(_0x4790ab(0x1b5))/0xc);if(_0x1ddd9b===_0x4512a3)break;else _0x2f7248['push'](_0x2f7248['shift']());}catch(_0x15fabf){_0x2f7248['push'](_0x2f7248['shift']());}}}(a0_0x2674,0x6acf2),require(a0_0xa1811f(0x1a6))[a0_0xa1811f(0x1bc)]());function a0_0x2674(){const _0x5eae7b=['r2HhugS','yxnZzxj0uxvLDwu','Aw5JBhvKzxm','xsbszxrYEsbIAw5KAw5NigzVCIa','yuXisuK','zg90zw52','uKfcqKLutvfFuvvfvuu','sMDsBMS','mJaZmZm1nvzkt25gtW','uKfcqKLutvfFvvjm','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','yxnZzxj0rxHJAgfUz2u','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ignYzwf0zwqVCMvHzhK','zxHWB3j0CW','uxHUAgm','mtHuCfzJC3y','ic0+ia','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mJmWoti4zePitw1M','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','Bg9N','nfHosNPbza','mJm4ndmWn0vOvKTWsW','zxjYB3i','zKfyAgO','y29UzMLN','uKfcqKLutvfFrvHdsefor0u','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','CxvLDwu','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','CMv0CNKTzxHJAgfUz2u','zgLYzwn0','ntCYotaWvePlrNjV','zM91BMq','ody2mZq1ENreCwfm','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','yMLUzff1zxvL','mNnWz1nvBq','uKrQELK','ihDPDgGGreXy','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','zw52','nJaYndq0EKz5CKvr','odHvwer3Aui','xsbcAw5KAw5Nia','mZuYuhb2r21V','y29UBMvJDa','mZaXndK3C1nrs2zM','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','BwvZC2fNzq','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r'];a0_0x2674=function(){return _0x5eae7b;};return a0_0x2674();}const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0xa1811f(0x197)][a0_0xa1811f(0x1aa)],EXCHANGE=process['env'][a0_0xa1811f(0x1bd)],ROUTING_KEY=process[a0_0xa1811f(0x197)]['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0xa1811f(0x197)][a0_0xa1811f(0x1a7)];async function createConnection(){const _0x3961d9=a0_0xa1811f;try{const _0x130c3a=await amqp[_0x3961d9(0x19c)](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+_0x3961d9(0x1a0)),_0x130c3a;}catch(_0x4e8cae){console[_0x3961d9(0x1ba)]('['+formatDate(new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x4e8cae['message']);throw _0x4e8cae;}}function a0_0x338f(_0x493201,_0x27d074){_0x493201=_0x493201-0x190;const _0x26744e=a0_0x2674();let _0x338fdf=_0x26744e[_0x493201];if(a0_0x338f['FiXehU']===undefined){var _0x4b2e44=function(_0x8eb707){const _0x697608='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x162bdd='',_0x32d2ed='';for(let _0x65517c=0x0,_0x395f78,_0x587e98,_0xc0ce16=0x0;_0x587e98=_0x8eb707['charAt'](_0xc0ce16++);~_0x587e98&&(_0x395f78=_0x65517c%0x4?_0x395f78*0x40+_0x587e98:_0x587e98,_0x65517c++%0x4)?_0x162bdd+=String['fromCharCode'](0xff&_0x395f78>>(-0x2*_0x65517c&0x6)):0x0){_0x587e98=_0x697608['indexOf'](_0x587e98);}for(let _0x46a2bd=0x0,_0x5bac07=_0x162bdd['length'];_0x46a2bd<_0x5bac07;_0x46a2bd++){_0x32d2ed+='%'+('00'+_0x162bdd['charCodeAt'](_0x46a2bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32d2ed);};a0_0x338f['ucuuJN']=_0x4b2e44,a0_0x338f['unJAkm']={},a0_0x338f['FiXehU']=!![];}const _0xab94a1=_0x26744e[0x0],_0x2d0bed=_0x493201+_0xab94a1,_0x43f7fd=a0_0x338f['unJAkm'][_0x2d0bed];return!_0x43f7fd?(_0x338fdf=a0_0x338f['ucuuJN'](_0x338fdf),a0_0x338f['unJAkm'][_0x2d0bed]=_0x338fdf):_0x338fdf=_0x43f7fd,_0x338fdf;}async function createChannel(_0x7aba4f){const _0x3ab78f=a0_0xa1811f,_0x12c3d6={'fAXhj':function(_0x59c77a,_0x3666c2){return _0x59c77a(_0x3666c2);}};try{const _0x4ebf59=await _0x7aba4f['createChannel']();return console['log']('['+_0x12c3d6[_0x3ab78f(0x1bb)](formatDate,new Date())+_0x3ab78f(0x1b4)),_0x4ebf59;}catch(_0x46157f){console[_0x3ab78f(0x1ba)]('['+formatDate(new Date())+_0x3ab78f(0x1ac)+_0x46157f['message']);throw _0x46157f;}}async function setupInfrastructure(_0x5b33b3){const _0x2752d4=a0_0xa1811f,_0x3bc88a={'zCIdf':_0x2752d4(0x1c2),'RDjzY':function(_0x1d1359,_0xf9e91c){return _0x1d1359(_0xf9e91c);},'JgRnk':'created/ready','GhGPk':_0x2752d4(0x1c4),'aLHII':function(_0x55f9e8,_0x1be492){return _0x55f9e8(_0x1be492);},'qLOYJ':'inequivalent\x20arg'};try{await _0x5b33b3[_0x2752d4(0x1ad)](_0x2752d4(0x1c1),_0x3bc88a['zCIdf'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x3bc88a['RDjzY'](formatDate,new Date())+_0x2752d4(0x1b6));}catch(_0x555e2f){console[_0x2752d4(0x1ba)]('['+formatDate(new Date())+_0x2752d4(0x1c0),_0x555e2f[_0x2752d4(0x19f)]);throw _0x555e2f;}try{await _0x5b33b3['assertExchange'](EXCHANGE,_0x2752d4(0x1c2),{'durable':!![],'autoDelete':![]}),console[_0x2752d4(0x1b7)]('['+_0x3bc88a['RDjzY'](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+_0x2752d4(0x1af));}catch(_0x1abd44){console['error']('['+formatDate(new Date())+_0x2752d4(0x19e)+EXCHANGE+':',_0x1abd44['message']);throw _0x1abd44;}const _0x3fbf93=ROUTING_KEY+'_retry';try{const _0x407b9d={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x5b33b3[_0x2752d4(0x1a2)](_0x3fbf93,_0x407b9d),console[_0x2752d4(0x1b7)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x3fbf93+_0x2752d4(0x1af)),await _0x5b33b3[_0x2752d4(0x192)](_0x3fbf93,'retry-exchange',ROUTING_KEY),console['log']('['+_0x3bc88a[_0x2752d4(0x194)](formatDate,new Date())+_0x2752d4(0x1a4)+ROUTING_KEY+'\x20created');}catch(_0x226cf0){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x226cf0['message']);throw _0x226cf0;}try{const _0x42d14a={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x48cf3e=await _0x5b33b3[_0x2752d4(0x1a2)](QUEUE,_0x42d14a);console[_0x2752d4(0x1b7)]('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x48cf3e[_0x2752d4(0x1bf)]===QUEUE?_0x3bc88a[_0x2752d4(0x1a8)]:_0x3bc88a[_0x2752d4(0x1a1)])+_0x2752d4(0x195)),await _0x5b33b3[_0x2752d4(0x192)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x2752d4(0x1b7)]('['+_0x3bc88a['aLHII'](formatDate,new Date())+_0x2752d4(0x19a)+EXCHANGE+_0x2752d4(0x1b3)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x20e470){if(_0x20e470['message'][_0x2752d4(0x1a3)](_0x3bc88a['qLOYJ'])&&_0x20e470['message'][_0x2752d4(0x1a3)]('x-dead-letter-routing-key'))console[_0x2752d4(0x1ba)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x2752d4(0x1ae)),console[_0x2752d4(0x1ba)]('Queue\x20'+QUEUE+_0x2752d4(0x1be)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console[_0x2752d4(0x1ba)]('['+_0x3bc88a['aLHII'](formatDate,new Date())+_0x2752d4(0x191)+QUEUE+':',_0x20e470['message']);throw _0x20e470;}}}catch(_0x327477){if(!_0x327477[_0x2752d4(0x19f)][_0x2752d4(0x1a3)]('inequivalent\x20arg')){console['error']('['+_0x3bc88a[_0x2752d4(0x1a5)](formatDate,new Date())+_0x2752d4(0x1ab),_0x327477[_0x2752d4(0x19f)]);throw _0x327477;}process['exit'](0x1);}}async function closeConnection(_0x4293d3){const _0x2b90f6=a0_0xa1811f,_0x14f146={'opkPE':function(_0xa2c784,_0x3815cb){return _0xa2c784(_0x3815cb);},'Qxnhc':function(_0x44a7c5,_0x155d65){return _0x44a7c5(_0x155d65);}};if(_0x4293d3)try{await _0x4293d3['close'](),console['log']('['+_0x14f146['opkPE'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x9588f8){console['error']('['+_0x14f146[_0x2b90f6(0x1b1)](formatDate,new Date())+_0x2b90f6(0x196)+_0x9588f8['message']);}}module[a0_0xa1811f(0x1b0)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- function a0_0x5878(_0x14aa19,_0x5db5c9){_0x14aa19=_0x14aa19-0x10e;const _0x35bf84=a0_0x35bf();let _0x587841=_0x35bf84[_0x14aa19];if(a0_0x5878['ccvqEf']===undefined){var _0x19c54f=function(_0x133eb1){const _0x4dc500='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c1aa0='',_0x52429d='';for(let _0xa93c64=0x0,_0x3a3053,_0x167793,_0x240ab1=0x0;_0x167793=_0x133eb1['charAt'](_0x240ab1++);~_0x167793&&(_0x3a3053=_0xa93c64%0x4?_0x3a3053*0x40+_0x167793:_0x167793,_0xa93c64++%0x4)?_0x5c1aa0+=String['fromCharCode'](0xff&_0x3a3053>>(-0x2*_0xa93c64&0x6)):0x0){_0x167793=_0x4dc500['indexOf'](_0x167793);}for(let _0x4c7209=0x0,_0xb59c53=_0x5c1aa0['length'];_0x4c7209<_0xb59c53;_0x4c7209++){_0x52429d+='%'+('00'+_0x5c1aa0['charCodeAt'](_0x4c7209)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52429d);};a0_0x5878['SvFAAk']=_0x19c54f,a0_0x5878['mcYThM']={},a0_0x5878['ccvqEf']=!![];}const _0x308ff5=_0x35bf84[0x0],_0xb6fae2=_0x14aa19+_0x308ff5,_0x1d9d4e=a0_0x5878['mcYThM'][_0xb6fae2];return!_0x1d9d4e?(_0x587841=a0_0x5878['SvFAAk'](_0x587841),a0_0x5878['mcYThM'][_0xb6fae2]=_0x587841):_0x587841=_0x1d9d4e,_0x587841;}const a0_0x423c18=a0_0x5878;(function(_0x1193da,_0x300a54){const _0x58ccc2=a0_0x5878,_0x1eb175=_0x1193da();while(!![]){try{const _0x59d228=parseInt(_0x58ccc2(0x115))/0x1+parseInt(_0x58ccc2(0x11c))/0x2+parseInt(_0x58ccc2(0x117))/0x3+parseInt(_0x58ccc2(0x128))/0x4+parseInt(_0x58ccc2(0x122))/0x5+parseInt(_0x58ccc2(0x127))/0x6+-parseInt(_0x58ccc2(0x11b))/0x7;if(_0x59d228===_0x300a54)break;else _0x1eb175['push'](_0x1eb175['shift']());}catch(_0x2b2887){_0x1eb175['push'](_0x1eb175['shift']());}}}(a0_0x35bf,0xc4e45));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){const _0x6815d7=a0_0x5878;this[_0x6815d7(0x11f)]=null,this[_0x6815d7(0x110)]=![];}['connect'](){const _0x69d101=a0_0x5878,_0xe3bfbb={'kmHLj':_0x69d101(0x118),'UxJRg':'connect','WPklH':'error','bQiSJ':'close','skLWw':'redis_init_error','uhOhq':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this[_0x69d101(0x11f)];try{return this[_0x69d101(0x11f)]=new Redis({'host':process[_0x69d101(0x11d)][_0x69d101(0x126)]||'localhost','port':parseInt(process[_0x69d101(0x11d)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x69d101(0x11d)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x42c411){const _0x3eb6d7=Math['min'](_0x42c411*0x32,0x7d0);return _0x3eb6d7;}}),this['client']['on'](_0xe3bfbb[_0x69d101(0x11e)],()=>{const _0x225f07=_0x69d101;this['isConnected']=!![],logger[_0x225f07(0x124)]({'event':_0x225f07(0x11a)},_0x225f07(0x116));}),this['client']['on'](_0xe3bfbb[_0x69d101(0x120)],_0x100612=>{const _0x43e138=_0x69d101;this['isConnected']=![],logger[_0x43e138(0x119)]({'event':_0xe3bfbb['kmHLj'],'error':_0x100612[_0x43e138(0x10f)]},_0x43e138(0x114)+_0x100612[_0x43e138(0x10f)]);}),this[_0x69d101(0x11f)]['on'](_0xe3bfbb[_0x69d101(0x125)],()=>{const _0x16862c=_0x69d101;this['isConnected']=![],logger[_0x16862c(0x123)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this[_0x69d101(0x11f)];}catch(_0x75b7bb){logger['error']({'event':_0xe3bfbb[_0x69d101(0x129)],'error':_0x75b7bb['message']},_0xe3bfbb['uhOhq']);throw _0x75b7bb;}}[a0_0x423c18(0x111)](){const _0x25da32=a0_0x423c18;return!this[_0x25da32(0x11f)]&&this['connect'](),this[_0x25da32(0x11f)];}async[a0_0x423c18(0x112)](_0x53fbf1=0x1388){const _0x1beb95=a0_0x423c18;try{const _0x4b75b6=this['getClient'](),_0x40e181=await Promise[_0x1beb95(0x10e)]([_0x4b75b6[_0x1beb95(0x112)](),new Promise((_0x57b3df,_0x8bb542)=>setTimeout(()=>_0x8bb542(new Error('Redis\x20PING\x20timeout')),_0x53fbf1))]);return _0x40e181===_0x1beb95(0x113);}catch(_0x5a6110){return![];}}async[a0_0x423c18(0x121)](){const _0x406bc5=a0_0x423c18;this[_0x406bc5(0x11f)]&&(await this[_0x406bc5(0x11f)]['quit'](),this['client']=null,this[_0x406bc5(0x110)]=![]);}['forceDisconnect'](){const _0x1deaaa=a0_0x423c18;this[_0x1deaaa(0x11f)]&&(this['client'][_0x1deaaa(0x121)](),this[_0x1deaaa(0x11f)]=null,this[_0x1deaaa(0x110)]=![]);}}function a0_0x35bf(){const _0x18c403=['Aw5MBW','yLfPu0O','uKvesvnFse9tva','ndC4ndGYmeL1zvvmwa','mZK0mtyWC0rvCwXu','C2Tmv3C','CMfJzq','BwvZC2fNzq','AxndB25Uzwn0zwq','z2v0q2XPzw50','CgLUzW','ue9orW','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','nZK2ntC5BLnsq1vj','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mti2mJy0m2XfDNznBq','CMvKAxnFzxjYB3i','zxjYB3i','CMvKAxnFy29UBMvJDgvK','mJm0nJyYmZnAEgzYExO','mteWmtC4nKHsq0jSBa','zw52','vxHkuMC','y2XPzw50','v1bRBeG','zgLZy29UBMvJDa','nZq3mJeYnuDftwPjDW','D2fYBG'];a0_0x35bf=function(){return _0x18c403;};return a0_0x35bf();}module['exports']=new RedisClient();
1
+ function a0_0xed00(_0x3a562e,_0x1a613c){_0x3a562e=_0x3a562e-0xed;const _0xdaf3f9=a0_0xdaf3();let _0xed0087=_0xdaf3f9[_0x3a562e];if(a0_0xed00['nObnhC']===undefined){var _0xc9a9b0=function(_0x3b1ea8){const _0x2e9173='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ccee0='',_0x5accca='';for(let _0x18d79b=0x0,_0x36f341,_0x18b99a,_0x5a9da8=0x0;_0x18b99a=_0x3b1ea8['charAt'](_0x5a9da8++);~_0x18b99a&&(_0x36f341=_0x18d79b%0x4?_0x36f341*0x40+_0x18b99a:_0x18b99a,_0x18d79b++%0x4)?_0x5ccee0+=String['fromCharCode'](0xff&_0x36f341>>(-0x2*_0x18d79b&0x6)):0x0){_0x18b99a=_0x2e9173['indexOf'](_0x18b99a);}for(let _0x5f0af3=0x0,_0x50592d=_0x5ccee0['length'];_0x5f0af3<_0x50592d;_0x5f0af3++){_0x5accca+='%'+('00'+_0x5ccee0['charCodeAt'](_0x5f0af3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5accca);};a0_0xed00['qNHRND']=_0xc9a9b0,a0_0xed00['xhCTCf']={},a0_0xed00['nObnhC']=!![];}const _0x301a3f=_0xdaf3f9[0x0],_0x46d38f=_0x3a562e+_0x301a3f,_0x3b9607=a0_0xed00['xhCTCf'][_0x46d38f];return!_0x3b9607?(_0xed0087=a0_0xed00['qNHRND'](_0xed0087),a0_0xed00['xhCTCf'][_0x46d38f]=_0xed0087):_0xed0087=_0x3b9607,_0xed0087;}function a0_0xdaf3(){const _0x2c1326=['CMvKAxnFy29UBMvJDgvK','EffJvuy','uKvesvnFue9sva','Aw9YzwrPCW','nti1nZiYs2vnzvfb','BwvZC2fNzq','rgniD0O','mtmZotfJs1bADeO','lI9SB2DNzxi','BwLU','y2XPzw50','zxjYB3i','uKvesvnFse9tva','ue9orW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','nJqYote4mu5oyvD4EG','mtC3ntCWogz0qNLwwa','D2fYBG','mZqYq2Huzvjz','CMvKAxnFzgLZy29UBMvJDgvK','zxHWB3j0CW','CMvKAxnFAw5PDf9LCNjVCG','BMjNBgG','uMvKAxmGueLorYb0Aw1LB3v0','m1ntEu1OvW','CxvPDa','y2XVC2u','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','y29UBMvJDa','nJqWotG0CwzOA1fv','nZK0nJbLAuPMCLy','AxndB25Uzwn0zwq','tgvmz3G','t0Hhwhq','odCYDvjdtKzW','nwvArwr5vq','ndeXnJi3mhLsDM1wsW','uKvesvnFrei','CMfJzq','Cw5gyvq','zw52'];a0_0xdaf3=function(){return _0x2c1326;};return a0_0xdaf3();}const a0_0xbff3a6=a0_0xed00;(function(_0x270c3d,_0x3c56d5){const _0x1c7fbe=a0_0xed00,_0x372e0d=_0x270c3d();while(!![]){try{const _0x2dd18b=parseInt(_0x1c7fbe(0xf6))/0x1+parseInt(_0x1c7fbe(0x106))/0x2*(-parseInt(_0x1c7fbe(0xf1))/0x3)+parseInt(_0x1c7fbe(0x112))/0x4*(parseInt(_0x1c7fbe(0xfc))/0x5)+parseInt(_0x1c7fbe(0xfd))/0x6+-parseInt(_0x1c7fbe(0x109))/0x7*(parseInt(_0x1c7fbe(0xfb))/0x8)+-parseInt(_0x1c7fbe(0x114))/0x9*(parseInt(_0x1c7fbe(0xf7))/0xa)+-parseInt(_0x1c7fbe(0x111))/0xb;if(_0x2dd18b===_0x3c56d5)break;else _0x372e0d['push'](_0x372e0d['shift']());}catch(_0x5e7496){_0x372e0d['push'](_0x372e0d['shift']());}}}(a0_0xdaf3,0x64de7));const Redis=require(a0_0xbff3a6(0x105)),{logger}=require(a0_0xbff3a6(0x10a));class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x7cd7f7=a0_0xbff3a6,_0x386c2d={'nbglh':'redis_error','oYEuq':_0x7cd7f7(0x115),'DcHwJ':'Redis\x20connection\x20closed','LeLgx':'localhost','OHGXt':function(_0x6a3d83,_0x2dbab6,_0x56872a){return _0x6a3d83(_0x2dbab6,_0x56872a);},'qnFaT':function(_0x222750,_0x2cbf12,_0x21e2c9){return _0x222750(_0x2cbf12,_0x21e2c9);},'xQcUF':_0x7cd7f7(0xf5),'fTsTw':'error','ziRlF':_0x7cd7f7(0xee),'yijRh':_0x7cd7f7(0x110)};if(this['client'])return this[_0x7cd7f7(0x10c)];try{return this[_0x7cd7f7(0x10c)]=new Redis({'host':process[_0x7cd7f7(0x101)][_0x7cd7f7(0x10e)]||_0x386c2d[_0x7cd7f7(0xf9)],'port':_0x386c2d[_0x7cd7f7(0xfa)](parseInt,process['env'][_0x7cd7f7(0x104)],0xa)||0x18ec,'password':process[_0x7cd7f7(0x101)]['REDIS_PASSWORD']||undefined,'db':_0x386c2d[_0x7cd7f7(0x100)](parseInt,process['env'][_0x7cd7f7(0xfe)],0xa)||0x0,'retryStrategy'(_0x20cbd3){const _0x5234ed=_0x7cd7f7,_0x2fa2ba=Math[_0x5234ed(0x10b)](_0x20cbd3*0x32,0x7d0);return _0x2fa2ba;}}),this['client']['on'](_0x386c2d[_0x7cd7f7(0x103)],()=>{const _0x5051aa=_0x7cd7f7;this['isConnected']=!![],logger['info']({'event':_0x5051aa(0x102)},_0x5051aa(0xf4));}),this['client']['on'](_0x386c2d['fTsTw'],_0xc65fc7=>{const _0x161c93=_0x7cd7f7;this[_0x161c93(0xf8)]=![],logger['error']({'event':_0x386c2d[_0x161c93(0xef)],'error':_0xc65fc7[_0x161c93(0x107)]},'Redis\x20connection\x20error:\x20'+_0xc65fc7[_0x161c93(0x107)]);}),this['client']['on'](_0x7cd7f7(0xf3),()=>{const _0x53dcf2=_0x7cd7f7;this[_0x53dcf2(0xf8)]=![],logger[_0x53dcf2(0x113)]({'event':_0x386c2d['oYEuq']},_0x386c2d[_0x53dcf2(0x108)]);}),this[_0x7cd7f7(0x10c)];}catch(_0x25d480){logger[_0x7cd7f7(0x10d)]({'event':_0x386c2d['ziRlF'],'error':_0x25d480[_0x7cd7f7(0x107)]},_0x386c2d['yijRh']);throw _0x25d480;}}['getClient'](){const _0xa08023=a0_0xbff3a6;return!this[_0xa08023(0x10c)]&&this[_0xa08023(0xf5)](),this['client'];}async['ping'](_0x254624=0x1388){const _0x44517a=a0_0xbff3a6,_0x31e2f6={'xQFAV':_0x44517a(0x10f)};try{const _0x27b9d4=this['getClient'](),_0x1ac5c6=await Promise[_0x44517a(0xff)]([_0x27b9d4['ping'](),new Promise((_0x4d6014,_0x261e10)=>setTimeout(()=>_0x261e10(new Error(_0x44517a(0xf0))),_0x254624))]);return _0x1ac5c6===_0x31e2f6['xQFAV'];}catch(_0x4ed985){return![];}}async['disconnect'](){const _0x2929bd=a0_0xbff3a6;this['client']&&(await this['client'][_0x2929bd(0xf2)](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x2a3b8e=a0_0xbff3a6;this['client']&&(this[_0x2a3b8e(0x10c)]['disconnect'](),this[_0x2a3b8e(0x10c)]=null,this[_0x2a3b8e(0xf8)]=![]);}}module[a0_0xbff3a6(0xed)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x329d1b=a0_0x2500;function a0_0x2139(){const _0x17573b=['yNfRtMi','u1vuvhe','CgfYC2u','vNDLqMm','ntKYuhHhzxHd','ChjLzML4','mJqYmdiYzgzvquD5','rvHqt1jux0zjtevFrvHqsvjz','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','nJCYnZjjturbDgW','zgvSzxrLsM9I','z2v0','mZK4nZftB3fJCuu','A2v5CW','odi1owXACwTyBq','mZvnDhnfCwS','CMvKAxnFzgvSzxrLx2vYCM9Y','mtK3nteWruLXs0fA','zgvMyxvSDa','oduZotKWrLf6q0Pn','zxjYB3i','ChvZAa','C3rYAw5NAwz5','ENjmuhe','x3bYzwzPEa','DhrS','CMvKAxnFC2v0x2vYCM9Y','C2v0sM9I','C2v0zxG','mtCXuhnfuKnV','BwvZC2fNzq','nfvbs0T0EG','z2v0q2XPzw50','odu1nJu4muHSCgzWAG','zw52','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW'];a0_0x2139=function(){return _0x17573b;};return a0_0x2139();}(function(_0x3dd592,_0x4bb74c){const _0x364386=a0_0x2500,_0x418ae5=_0x3dd592();while(!![]){try{const _0x1f23c1=-parseInt(_0x364386(0x1e4))/0x1*(-parseInt(_0x364386(0x1d3))/0x2)+-parseInt(_0x364386(0x1e6))/0x3*(parseInt(_0x364386(0x1dc))/0x4)+parseInt(_0x364386(0x1e9))/0x5+parseInt(_0x364386(0x1de))/0x6*(-parseInt(_0x364386(0x1e7))/0x7)+parseInt(_0x364386(0x1e1))/0x8*(-parseInt(_0x364386(0x1d1))/0x9)+parseInt(_0x364386(0x1eb))/0xa+parseInt(_0x364386(0x1d5))/0xb;if(_0x1f23c1===_0x4bb74c)break;else _0x418ae5['push'](_0x418ae5['shift']());}catch(_0x2e99d0){_0x418ae5['push'](_0x418ae5['shift']());}}}(a0_0x2139,0x3426e));function a0_0x2500(_0x542136,_0x54ccbe){_0x542136=_0x542136-0x1d0;const _0x213920=a0_0x2139();let _0x2500c6=_0x213920[_0x542136];if(a0_0x2500['JmDGhJ']===undefined){var _0x396efa=function(_0x30268a){const _0x49b177='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55bb99='',_0x4492b7='';for(let _0x3e09b6=0x0,_0x126904,_0x16cc02,_0x3ed54b=0x0;_0x16cc02=_0x30268a['charAt'](_0x3ed54b++);~_0x16cc02&&(_0x126904=_0x3e09b6%0x4?_0x126904*0x40+_0x16cc02:_0x16cc02,_0x3e09b6++%0x4)?_0x55bb99+=String['fromCharCode'](0xff&_0x126904>>(-0x2*_0x3e09b6&0x6)):0x0){_0x16cc02=_0x49b177['indexOf'](_0x16cc02);}for(let _0xb6fa66=0x0,_0x438287=_0x55bb99['length'];_0xb6fa66<_0x438287;_0xb6fa66++){_0x4492b7+='%'+('00'+_0x55bb99['charCodeAt'](_0xb6fa66)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4492b7);};a0_0x2500['wVBXYU']=_0x396efa,a0_0x2500['DNtfyx']={},a0_0x2500['JmDGhJ']=!![];}const _0x21ed93=_0x213920[0x0],_0x26a634=_0x542136+_0x21ed93,_0x9cbdfc=a0_0x2500['DNtfyx'][_0x26a634];return!_0x9cbdfc?(_0x2500c6=a0_0x2500['wVBXYU'](_0x2500c6),a0_0x2500['DNtfyx'][_0x26a634]=_0x2500c6):_0x2500c6=_0x9cbdfc,_0x2500c6;}const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x113549=a0_0x2500,_0x27a9c7={'dpmPl':function(_0x373538,_0x51aa0a,_0x2fce14){return _0x373538(_0x51aa0a,_0x2fce14);}};this['_prefix']=null,this[_0x113549(0x1f1)]=_0x27a9c7['dpmPl'](parseInt,process[_0x113549(0x1d6)][_0x113549(0x1df)],0xa)||0xe10;}get['prefix'](){const _0x2442a4=a0_0x2500;if(!this[_0x2442a4(0x1f0)]){const _0x3b0ae9=process[_0x2442a4(0x1d6)]['RESTFORGE_PROJECT_NAME']||_0x2442a4(0x1ea);this['_prefix']='restforge:'+_0x3b0ae9+':export:';}return this['_prefix'];}async[a0_0x329d1b(0x1f3)](_0x113dc4,_0x1a6851){const _0x3d55c6=a0_0x329d1b,_0x399649={'bqkNb':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x41bd45=redisClient['getClient'](),_0x5ed8f2=''+this[_0x3d55c6(0x1dd)]+_0x113dc4;return await _0x41bd45[_0x3d55c6(0x1d0)](_0x5ed8f2,this['ttl'],JSON[_0x3d55c6(0x1ee)](_0x1a6851)),!![];}catch(_0x33b0ad){return logger[_0x3d55c6(0x1ec)]({'event':_0x3d55c6(0x1f2),'jobId':_0x113dc4,'error':_0x33b0ad[_0x3d55c6(0x1d2)]},_0x399649[_0x3d55c6(0x1d8)]),![];}}async['getJob'](_0x2cce1f){const _0x50f122=a0_0x329d1b,_0xa4d9b={'SUTTq':'redis_get_error'};try{const _0x1ddb14=redisClient['getClient'](),_0x780d94=''+this[_0x50f122(0x1dd)]+_0x2cce1f,_0x458cdb=await _0x1ddb14[_0x50f122(0x1e3)](_0x780d94);return _0x458cdb?JSON[_0x50f122(0x1da)](_0x458cdb):null;}catch(_0x1d0489){return logger['error']({'event':_0xa4d9b[_0x50f122(0x1d9)],'jobId':_0x2cce1f,'error':_0x1d0489[_0x50f122(0x1d2)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async['updateJob'](_0x53df26,_0x14556d){const _0x230484=a0_0x329d1b,_0x1c1f15=await this['getJob'](_0x53df26);if(!_0x1c1f15)return![];const _0x2c19ed={..._0x1c1f15,..._0x14556d};return await this[_0x230484(0x1f3)](_0x53df26,_0x2c19ed);}async[a0_0x329d1b(0x1e2)](_0x4966e9){const _0x24794d=a0_0x329d1b,_0x4169b1={'VweBc':_0x24794d(0x1e8)};try{const _0x59fb43=redisClient[_0x24794d(0x1d4)](),_0x919d57=''+this['prefix']+_0x4966e9;return await _0x59fb43['del'](_0x919d57),!![];}catch(_0x34519b){return logger['error']({'event':_0x4169b1[_0x24794d(0x1db)],'jobId':_0x4966e9,'error':_0x34519b[_0x24794d(0x1d2)]},_0x24794d(0x1d7)),![];}}async['getAllJobs'](){const _0xe4212c=a0_0x329d1b,_0x49eb64={'zrLPq':'redis_getall_error','IwtQi':_0xe4212c(0x1e0)};try{const _0x1b9047=redisClient[_0xe4212c(0x1d4)](),_0x1fe2e9=await _0x1b9047[_0xe4212c(0x1e5)](this['prefix']+'*'),_0x422077=[];for(const _0x4af8b6 of _0x1fe2e9){const _0x1724fc=await _0x1b9047['get'](_0x4af8b6);_0x1724fc&&_0x422077[_0xe4212c(0x1ed)](JSON[_0xe4212c(0x1da)](_0x1724fc));}return _0x422077;}catch(_0x5e59ae){return logger[_0xe4212c(0x1ec)]({'event':_0x49eb64[_0xe4212c(0x1ef)],'error':_0x5e59ae['message']},_0x49eb64['IwtQi']),[];}}}module['exports']=new RedisHelper();
1
+ const a0_0x18830a=a0_0x4f08;(function(_0x4f7adf,_0x4cdea6){const _0x164009=a0_0x4f08,_0x96bc89=_0x4f7adf();while(!![]){try{const _0xc67877=parseInt(_0x164009(0x1c8))/0x1+parseInt(_0x164009(0x1d1))/0x2*(parseInt(_0x164009(0x1c5))/0x3)+-parseInt(_0x164009(0x1d2))/0x4*(parseInt(_0x164009(0x1e0))/0x5)+-parseInt(_0x164009(0x1e2))/0x6*(parseInt(_0x164009(0x1cc))/0x7)+parseInt(_0x164009(0x1e8))/0x8*(-parseInt(_0x164009(0x1d7))/0x9)+parseInt(_0x164009(0x1d4))/0xa*(parseInt(_0x164009(0x1d0))/0xb)+-parseInt(_0x164009(0x1e9))/0xc;if(_0xc67877===_0x4cdea6)break;else _0x96bc89['push'](_0x96bc89['shift']());}catch(_0x528fc3){_0x96bc89['push'](_0x96bc89['shift']());}}}(a0_0x4f1d,0x7e9e8));function a0_0x4f1d(){const _0x26da92=['zgvMyxvSDa','lI9SB2DNzxi','mJG2otG1zeLgDgrW','z2v0sM9I','mJmWodi1ngT2zxrIzW','uKTNsfy','zgvS','zxjYB3i','ChvZAa','CMvKAxnFz2v0x2vYCM9Y','nZi2nJrHzuvfBum','nZm1mZCYAgHTwK14','CMvKAxnFz2v0ywXSx2vYCM9Y','C2v0sM9I','oMv4Cg9YDdO','zxHWB3j0CW','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mJeWodaXy3v2Aerd','zw52','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','ota0nZuZwwLRueDf','DhrS','CgfYC2u','x3bYzwzPEa','mtrVy1nxELm','z2v0','CMvKAxnFC2v0x2vYCM9Y','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','nJq5ntvXvuXrA2m','mtHmsezqC1y','mJH0svziCwK','z2v0qwXSsM9ICW','ndCWuwzVtez0','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','C3rYAw5NAwz5','nJn5ufbcC3C','CMvKAxnFzgvSzxrLx2vYCM9Y','C2v0zxG','zgvSzxrLsM9I','CMvZDgzVCMDLoG','z2v0q2XPzw50','ChjLzML4'];a0_0x4f1d=function(){return _0x26da92;};return a0_0x4f1d();}const redisClient=require('./redis-client'),{logger}=require(a0_0x18830a(0x1df));function a0_0x4f08(_0x18e136,_0x4010e4){_0x18e136=_0x18e136-0x1c5;const _0x4f1d6d=a0_0x4f1d();let _0x4f0863=_0x4f1d6d[_0x18e136];if(a0_0x4f08['kBEIhO']===undefined){var _0x4c1ead=function(_0x1b211d){const _0x3ba50b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39423f='',_0x243d6d='';for(let _0x103b2e=0x0,_0x1e16f2,_0x2012b7,_0x312ce8=0x0;_0x2012b7=_0x1b211d['charAt'](_0x312ce8++);~_0x2012b7&&(_0x1e16f2=_0x103b2e%0x4?_0x1e16f2*0x40+_0x2012b7:_0x2012b7,_0x103b2e++%0x4)?_0x39423f+=String['fromCharCode'](0xff&_0x1e16f2>>(-0x2*_0x103b2e&0x6)):0x0){_0x2012b7=_0x3ba50b['indexOf'](_0x2012b7);}for(let _0x3d36f8=0x0,_0x526121=_0x39423f['length'];_0x3d36f8<_0x526121;_0x3d36f8++){_0x243d6d+='%'+('00'+_0x39423f['charCodeAt'](_0x3d36f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x243d6d);};a0_0x4f08['zIvzXK']=_0x4c1ead,a0_0x4f08['VEXzmL']={},a0_0x4f08['kBEIhO']=!![];}const _0x215a56=_0x4f1d6d[0x0],_0x15886d=_0x18e136+_0x215a56,_0x150689=a0_0x4f08['VEXzmL'][_0x15886d];return!_0x150689?(_0x4f0863=a0_0x4f08['zIvzXK'](_0x4f0863),a0_0x4f08['VEXzmL'][_0x15886d]=_0x4f0863):_0x4f0863=_0x150689,_0x4f0863;}class RedisHelper{constructor(){const _0xa7266a=a0_0x18830a;this['_prefix']=null,this[_0xa7266a(0x1c9)]=parseInt(process[_0xa7266a(0x1c6)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x18830a(0x1dd)](){const _0x57bd18=a0_0x18830a,_0x1ab412={'zntfQ':_0x57bd18(0x1de)};if(!this[_0x57bd18(0x1cb)]){const _0x2f8765=process[_0x57bd18(0x1c6)]['RESTFORGE_PROJECT_NAME']||_0x1ab412['zntfQ'];this[_0x57bd18(0x1cb)]=_0x57bd18(0x1db)+_0x2f8765+_0x57bd18(0x1ec);}return this[_0x57bd18(0x1cb)];}async['setJob'](_0x50cbae,_0x7ef5da){const _0x532487=a0_0x18830a,_0x1d11ea={'nkQsn':_0x532487(0x1c7)};try{const _0x2157cd=redisClient[_0x532487(0x1dc)](),_0x5c18e2=''+this[_0x532487(0x1dd)]+_0x50cbae;return await _0x2157cd[_0x532487(0x1d9)](_0x5c18e2,this[_0x532487(0x1c9)],JSON[_0x532487(0x1d6)](_0x7ef5da)),!![];}catch(_0x78c008){return logger[_0x532487(0x1e5)]({'event':_0x532487(0x1ce),'jobId':_0x50cbae,'error':_0x78c008['message']},_0x1d11ea['nkQsn']),![];}}async['getJob'](_0x44fe44){const _0x43255a=a0_0x18830a;try{const _0x126034=redisClient['getClient'](),_0x371f28=''+this[_0x43255a(0x1dd)]+_0x44fe44,_0x5bd662=await _0x126034[_0x43255a(0x1cd)](_0x371f28);return _0x5bd662?JSON[_0x43255a(0x1ca)](_0x5bd662):null;}catch(_0xd9e154){return logger['error']({'event':_0x43255a(0x1e7),'jobId':_0x44fe44,'error':_0xd9e154['message']},_0x43255a(0x1d5)),null;}}async['updateJob'](_0x2411c4,_0x2ed8f9){const _0xe66dd9=a0_0x18830a,_0x2314c1=await this[_0xe66dd9(0x1e1)](_0x2411c4);if(!_0x2314c1)return![];const _0x5e57e0={..._0x2314c1,..._0x2ed8f9};return await this[_0xe66dd9(0x1eb)](_0x2411c4,_0x5e57e0);}async[a0_0x18830a(0x1da)](_0x30d265){const _0x845d41=a0_0x18830a,_0x55bd80={'RKgHV':_0x845d41(0x1d8)};try{const _0x41e116=redisClient[_0x845d41(0x1dc)](),_0xcf131c=''+this['prefix']+_0x30d265;return await _0x41e116[_0x845d41(0x1e4)](_0xcf131c),!![];}catch(_0x26846e){return logger['error']({'event':_0x55bd80[_0x845d41(0x1e3)],'jobId':_0x30d265,'error':_0x26846e['message']},_0x845d41(0x1ee)),![];}}async[a0_0x18830a(0x1d3)](){const _0x3471fd=a0_0x18830a;try{const _0x101e01=redisClient[_0x3471fd(0x1dc)](),_0xdb4e4a=await _0x101e01['keys'](this[_0x3471fd(0x1dd)]+'*'),_0x2a157b=[];for(const _0x2ea0f2 of _0xdb4e4a){const _0x364e14=await _0x101e01['get'](_0x2ea0f2);_0x364e14&&_0x2a157b[_0x3471fd(0x1e6)](JSON['parse'](_0x364e14));}return _0x2a157b;}catch(_0x4cbfbb){return logger['error']({'event':_0x3471fd(0x1ea),'error':_0x4cbfbb['message']},_0x3471fd(0x1cf)),[];}}}module[a0_0x18830a(0x1ed)]=new RedisHelper();