@restforgejs/platform 5.1.4 → 5.1.7

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 (174) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/data/pull.js +16 -7
  5. package/generators/cli/data/push.js +17 -7
  6. package/generators/cli/fast-track.js +63 -43
  7. package/generators/cli/init.js +347 -97
  8. package/generators/lib/data/data-scope.js +138 -0
  9. package/generators/lib/data/envelope.js +25 -9
  10. package/generators/lib/data/pull-runner.js +44 -37
  11. package/generators/lib/data/push-runner.js +64 -46
  12. package/generators/lib/templates/dashboard-catalog.js +1 -1
  13. package/generators/lib/templates/db-connection-env.js +1 -1
  14. package/generators/lib/templates/dbschema-catalog.js +1 -1
  15. package/generators/lib/templates/field-validation-catalog.js +1 -1
  16. package/generators/lib/templates/mysql-template.js +1 -1
  17. package/generators/lib/templates/oracle-template.js +1 -1
  18. package/generators/lib/templates/postgres-template.js +1 -1
  19. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  20. package/generators/lib/templates/sqlite-template.js +1 -1
  21. package/integrity-manifest.json +18 -18
  22. package/package.json +1 -1
  23. package/scripts/verify-integrity.js +1 -1
  24. package/server.js +1 -1
  25. package/src/components/handlers/adjust_handler.js +1 -1
  26. package/src/components/handlers/audit_handler.js +1 -1
  27. package/src/components/handlers/delete_handler.js +1 -1
  28. package/src/components/handlers/export_handler.js +1 -1
  29. package/src/components/handlers/import_handler.js +1 -1
  30. package/src/components/handlers/insert_handler.js +1 -1
  31. package/src/components/handlers/update_handler.js +1 -1
  32. package/src/components/handlers/upload_handler.js +1 -1
  33. package/src/components/handlers/workflow_handler.js +1 -1
  34. package/src/components/integrations/webhook.js +1 -1
  35. package/src/consumers/baseConsumer.js +1 -1
  36. package/src/consumers/declarativeMapper.js +1 -1
  37. package/src/consumers/handlers/apiHandler.js +1 -1
  38. package/src/consumers/handlers/consoleHandler.js +1 -1
  39. package/src/consumers/handlers/databaseHandler.js +1 -1
  40. package/src/consumers/handlers/index.js +1 -1
  41. package/src/consumers/handlers/kafkaHandler.js +1 -1
  42. package/src/consumers/index.js +1 -1
  43. package/src/consumers/messageTransformer.js +1 -1
  44. package/src/consumers/validator.js +1 -1
  45. package/src/core/db/dialect/base-dialect.js +1 -1
  46. package/src/core/db/dialect/index.js +1 -1
  47. package/src/core/db/dialect/mysql-dialect.js +1 -1
  48. package/src/core/db/dialect/oracle-dialect.js +1 -1
  49. package/src/core/db/dialect/postgres-dialect.js +1 -1
  50. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  51. package/src/core/db/flatten-helper.js +1 -1
  52. package/src/core/db/query-builder-error.js +1 -1
  53. package/src/core/db/query-builder.js +1 -1
  54. package/src/core/db/relation-helper.js +1 -1
  55. package/src/core/handlers/delete_handler.js +1 -1
  56. package/src/core/handlers/insert_handler.js +1 -1
  57. package/src/core/handlers/update_handler.js +1 -1
  58. package/src/core/models/base-model.js +1 -1
  59. package/src/core/utils/cache-manager.js +1 -1
  60. package/src/core/utils/component-engine.js +1 -1
  61. package/src/core/utils/context-builder.js +1 -1
  62. package/src/core/utils/datetime-formatter.js +1 -1
  63. package/src/core/utils/datetime-parser.js +1 -1
  64. package/src/core/utils/db.js +1 -1
  65. package/src/core/utils/logger.js +1 -1
  66. package/src/core/utils/payload-loader.js +1 -1
  67. package/src/core/utils/security-checks.js +1 -1
  68. package/src/middleware/body-options.js +1 -1
  69. package/src/middleware/cors.js +1 -1
  70. package/src/middleware/idempotency.js +1 -1
  71. package/src/middleware/rate-limiter.js +1 -1
  72. package/src/middleware/request-logger.js +1 -1
  73. package/src/middleware/security-headers.js +1 -1
  74. package/src/models/base-model-mysql.js +1 -1
  75. package/src/models/base-model-oracle.js +1 -1
  76. package/src/models/base-model-sqlite.js +1 -1
  77. package/src/models/base-model.js +1 -1
  78. package/src/pro/caching/redis-client.js +1 -1
  79. package/src/pro/caching/redis-helper.js +1 -1
  80. package/src/pro/consumers/baseConsumer.js +1 -1
  81. package/src/pro/consumers/declarativeMapper.js +1 -1
  82. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  83. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  84. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  85. package/src/pro/consumers/handlers/index.js +1 -1
  86. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  87. package/src/pro/consumers/index.js +1 -1
  88. package/src/pro/consumers/messageTransformer.js +1 -1
  89. package/src/pro/consumers/validator.js +1 -1
  90. package/src/pro/database/base-model-mysql.js +1 -1
  91. package/src/pro/database/base-model-oracle.js +1 -1
  92. package/src/pro/database/base-model-sqlite.js +1 -1
  93. package/src/pro/database/db-mysql.js +1 -1
  94. package/src/pro/database/db-oracle.js +1 -1
  95. package/src/pro/database/db-sqlite.js +1 -1
  96. package/src/pro/excel/excel-generator.js +1 -1
  97. package/src/pro/excel/excel-parser.js +1 -1
  98. package/src/pro/excel/export-service.js +1 -1
  99. package/src/pro/excel/export_handler.js +1 -1
  100. package/src/pro/excel/import-service.js +1 -1
  101. package/src/pro/excel/import-validator.js +1 -1
  102. package/src/pro/excel/import_handler.js +1 -1
  103. package/src/pro/excel/upsert-builder.js +1 -1
  104. package/src/pro/idgen/idgen-routes.js +1 -1
  105. package/src/pro/integrations/lookup-resolver.js +1 -1
  106. package/src/pro/integrations/upload-handler-v2.js +1 -1
  107. package/src/pro/integrations/upload-handler.js +1 -1
  108. package/src/pro/integrations/webhook.js +1 -1
  109. package/src/pro/locking/lock-routes.js +1 -1
  110. package/src/pro/locking/resource-lock-manager.js +1 -1
  111. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  112. package/src/pro/messaging/kafkaService.js +1 -1
  113. package/src/pro/messaging/messagehubService.js +1 -1
  114. package/src/pro/messaging/rabbitmqService.js +1 -1
  115. package/src/pro/scheduler/job-manager.js +1 -1
  116. package/src/pro/scheduler/job-routes.js +1 -1
  117. package/src/pro/scheduler/job-validator.js +1 -1
  118. package/src/pro/storage/base-storage-provider.js +1 -1
  119. package/src/pro/storage/file-metadata-helper.js +1 -1
  120. package/src/pro/storage/index.js +1 -1
  121. package/src/pro/storage/local-storage-provider.js +1 -1
  122. package/src/pro/storage/s3-storage-provider.js +1 -1
  123. package/src/pro/storage/upload-cleanup-job.js +1 -1
  124. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  125. package/src/pro/storage/upload-pending-tracker.js +1 -1
  126. package/src/pro/websocket/broadcast-helper.js +1 -1
  127. package/src/pro/websocket/index.js +1 -1
  128. package/src/pro/websocket/livesync-server.js +1 -1
  129. package/src/pro/websocket/ws-broadcaster.js +1 -1
  130. package/src/services/export-service.js +1 -1
  131. package/src/services/import-service.js +1 -1
  132. package/src/services/kafkaConsumerService.js +1 -1
  133. package/src/services/kafkaService.js +1 -1
  134. package/src/services/messagehubService.js +1 -1
  135. package/src/services/rabbitmqService.js +1 -1
  136. package/src/utils/cache-invalidation-registry.js +1 -1
  137. package/src/utils/cache-manager.js +1 -1
  138. package/src/utils/component-engine.js +1 -1
  139. package/src/utils/config-extractor.js +1 -1
  140. package/src/utils/consumerLogger.js +1 -1
  141. package/src/utils/context-builder.js +1 -1
  142. package/src/utils/dashboard-helpers.js +1 -1
  143. package/src/utils/dateHelper.js +1 -1
  144. package/src/utils/datetime-formatter.js +1 -1
  145. package/src/utils/datetime-parser.js +1 -1
  146. package/src/utils/db-bootstrap.js +1 -1
  147. package/src/utils/db-mysql.js +1 -1
  148. package/src/utils/db-oracle.js +1 -1
  149. package/src/utils/db-sqlite.js +1 -1
  150. package/src/utils/db.js +1 -1
  151. package/src/utils/demo-generator.js +1 -1
  152. package/src/utils/excel-generator.js +1 -1
  153. package/src/utils/excel-parser.js +1 -1
  154. package/src/utils/file-watcher.js +1 -1
  155. package/src/utils/id-generator.js +1 -1
  156. package/src/utils/idempotency-manager.js +1 -1
  157. package/src/utils/import-validator.js +1 -1
  158. package/src/utils/license-client.js +1 -1
  159. package/src/utils/lock-manager.js +1 -1
  160. package/src/utils/logger.js +1 -1
  161. package/src/utils/lookup-resolver.js +1 -1
  162. package/src/utils/payload-loader.js +1 -1
  163. package/src/utils/processor-response.js +1 -1
  164. package/src/utils/rabbitmq.js +1 -1
  165. package/src/utils/redis-client.js +1 -1
  166. package/src/utils/redis-helper.js +1 -1
  167. package/src/utils/request-scope.js +1 -1
  168. package/src/utils/security-checks.js +1 -1
  169. package/src/utils/service-resolver.js +1 -1
  170. package/src/utils/shutdown-coordinator.js +1 -1
  171. package/src/utils/trusted-keys.js +1 -1
  172. package/src/utils/upload-handler.js +1 -1
  173. package/src/utils/upsert-builder.js +1 -1
  174. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x5ae143=a0_0x5625;(function(_0x23ab57,_0x223de5){const _0x44ab90=a0_0x5625,_0x1a34e5=_0x23ab57();while(!![]){try{const _0x261555=-parseInt(_0x44ab90(0x127))/0x1+-parseInt(_0x44ab90(0x124))/0x2*(parseInt(_0x44ab90(0x159))/0x3)+parseInt(_0x44ab90(0x161))/0x4*(parseInt(_0x44ab90(0x12c))/0x5)+-parseInt(_0x44ab90(0x141))/0x6*(-parseInt(_0x44ab90(0x120))/0x7)+-parseInt(_0x44ab90(0x158))/0x8+parseInt(_0x44ab90(0x122))/0x9*(parseInt(_0x44ab90(0x13c))/0xa)+parseInt(_0x44ab90(0x140))/0xb*(parseInt(_0x44ab90(0xe3))/0xc);if(_0x261555===_0x223de5)break;else _0x1a34e5['push'](_0x1a34e5['shift']());}catch(_0x1be6d1){_0x1a34e5['push'](_0x1a34e5['shift']());}}}(a0_0x1318,0xdbf3b));function a0_0x1318(){const _0xd8c5d8=['v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','x3jLzgLZuhvIBgLZAgvY','Ahr0CdOVlW','C3vIC2nYAwjLza','ywn0Aw9U','AgfUzgXLvxbNCMfKzq','BgL2zxn5BMnFyNjVywrJyxn0','BgvUz3rO','DxjS','C2v0','mti5nwzKzfL3sa','ChvZAa','mZCXmZrmDwHTrgW','y29UBMvJDa','nZu5mJi4u1DjAuXd','ug5yuxK','x3nLBMruB0nSAwvUDa','mtm1nde5ne5Jt1HJBW','suDxBfm','Aw5MBW','Aw5JBhvKzxm','zMfjt3K','mJa1CKz3zgHH','ugn1D2m','x2jYB2fKy2fZDeXVy2fS','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','C3bSAxq','C2vHCMnOugfYyw1Z','AgfZ','x3jLzgLZu3vIC2nYAwjLCG','x3DZCW','ENbMEKK','x2HHBMrSzunVBM5Ly3rPB24','AxnbCNjHEq','C2L6zq','rMP3Dgi','zw52','C3rYAw5NAwz5','otyWzgPywhrp','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','Dw5ZDwjZy3jPyMu','u2vYDMvYihnODxr0Aw5NigrVD24','mJjTA0PRvui','mJi0mJjpA2Xcu3i','yxbPs2v5','l3DZ','ihnODxqGzg93BG','zgf0yv9JAgfUz2u','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','Bg9Nz2vY','CMvTB3rLqwrKCMvZCW','CMvZDgzVCMDLoMXPDMvZEw5JoG','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','uuHSvuu','y2HHBM5LBhm','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','mti3lJaUmc4X','C2H1DgrVD24','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','CgLUzW','x293BLb1yMXPC2HLCG','BwvZC2fNzq','ChvIBgLZAgvY','x29WDgLVBNm','ntmYnZuXmK1SzLvRrW','nNrdthrTrG','DMDvuMe','C2vUza','x21Vzgu','x2HHBMrSzvvUC3vIC2nYAwjL','Ag9ZDa','y2XPzw50CW','v3bSq1G','odyZmdHiwwnftKm','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x2HHBMrSzunSAwvUDe1LC3nHz2u','y1f0CKW','zuLLqMm','AgvHzgvYCW','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','t1vbAKG','x3n0yxj0sgvHCNrIzwf0','ugffu0y','z2v0q2XPzw50','wNrMzNa','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','y2f0y2G','vvHlzLK','mtaYndKXmtz1ufj4Chy','ignSAwvUDcHZkq','zgvIDwC','x3b1yMXPC2HuB1jLzgLZ','x3nLDhvWvxbNCMfKzuf1DgG','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','x2XVz2DLCG','x3DVCMTLCKLK','x3nLDhvWuMvKAxm','yNjVywrJyxn0','zNvSBa','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','CMvTB3zLqwXStgLZDgvUzxjZ','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','ig9Uia','C3vIC2nYAwjLzenOyw5UzwXZ','y2XLyxi','y2XVC2u','uKvesvnFse9tva','uKvesvnFue9sva','DxbNCMfKzq','y2fSBa','ihrVia','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','C3vIC2nYAwjL','Ec1HCgKTA2v5','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','zgvSzxrL','x2HLyxj0yMvHDfrPBwvY','x3n1yNnJCMLWDgLVBNm','tfD0wNm','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','Dw5ZDwjZy3jPyMvK','yLznAwW','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','Dg9ju09tDhjPBMC','tgL2zsbtEw5Jia','AxnbBgL2zq','ywrK','CMvXDwvZDeLK','rLrtDxy','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','x3nLDhvWuMvKAxnqDwjSAxnOzxi','BKPdBgy','x2LUAxrPywXPEMvK','BgL2zxn5BMnFC3vIC2nYAwjL','D2fYBG','CMvHzhLtDgf0zq','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','x2HHBMrSzvn1yNnJCMLIzq','D1zQte4'];a0_0x1318=function(){return _0xd8c5d8;};return a0_0x1318();}function a0_0x5625(_0x298274,_0x4d8edd){_0x298274=_0x298274-0xd6;const _0x1318b6=a0_0x1318();let _0x562547=_0x1318b6[_0x298274];if(a0_0x5625['uFvXck']===undefined){var _0x568cbb=function(_0x5a3e59){const _0x2c5138='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3dd460='',_0xa09eab='';for(let _0x13fe06=0x0,_0x20edb4,_0x10dfe9,_0x4f96e7=0x0;_0x10dfe9=_0x5a3e59['charAt'](_0x4f96e7++);~_0x10dfe9&&(_0x20edb4=_0x13fe06%0x4?_0x20edb4*0x40+_0x10dfe9:_0x10dfe9,_0x13fe06++%0x4)?_0x3dd460+=String['fromCharCode'](0xff&_0x20edb4>>(-0x2*_0x13fe06&0x6)):0x0){_0x10dfe9=_0x2c5138['indexOf'](_0x10dfe9);}for(let _0x296f48=0x0,_0x1f14f5=_0x3dd460['length'];_0x296f48<_0x1f14f5;_0x296f48++){_0xa09eab+='%'+('00'+_0x3dd460['charCodeAt'](_0x296f48)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa09eab);};a0_0x5625['EKvoaU']=_0x568cbb,a0_0x5625['oUOMCP']={},a0_0x5625['uFvXck']=!![];}const _0x3d83d5=_0x1318b6[0x0],_0x4e3fe1=_0x298274+_0x3d83d5,_0x45d905=a0_0x5625['oUOMCP'][_0x4e3fe1];return!_0x45d905?(_0x562547=a0_0x5625['EKvoaU'](_0x562547),a0_0x5625['oUOMCP'][_0x4e3fe1]=_0x562547):_0x562547=_0x45d905,_0x562547;}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX=a0_0x5ae143(0x149);class WebSocketBroadcaster{constructor(){const _0x4bc3df=a0_0x5ae143;this[_0x4bc3df(0x134)]=null,this[_0x4bc3df(0x10f)]=![],this[_0x4bc3df(0x15c)]=null,this[_0x4bc3df(0x157)]={},this['_logger']=console,this[_0x4bc3df(0x100)]=new Map(),this['_heartbeatTimer']=null,this[_0x4bc3df(0x117)]=null,this[_0x4bc3df(0x133)]=null,this[_0x4bc3df(0xea)]=process['pid'];}['initialize'](_0x1df4c5,_0x570bcc={}){const _0x54735e=a0_0x5ae143,_0x157518={'Fjwtb':'livesync_wss_error','ulvlv':function(_0x39af0b,_0x52acbb){return _0x39af0b(_0x52acbb);},'KZMCv':'../../utils/logger','PCFdG':function(_0xf3e74b,_0x589977,_0x7abfd){return _0xf3e74b(_0x589977,_0x7abfd);},'Ztffp':'/ws','dYRLb':'error','OUAjH':'livesync_initialized','Fzthc':_0x54735e(0xed)};if(this['_initialized'])return;this['_options']=_0x570bcc,this['_mode']='full';try{this[_0x54735e(0xe9)]=_0x157518['ulvlv'](require,_0x157518['KZMCv'])[_0x54735e(0x147)]||console;}catch(_0xf97e48){this['_logger']=console;}const _0x83f1cc=_0x157518['PCFdG'](parseInt,process[_0x54735e(0x13a)][_0x54735e(0x113)],0xa)||0x1e;this[_0x54735e(0x134)]=new WebSocketServer({'server':_0x1df4c5,'path':_0x157518[_0x54735e(0xdf)]}),this[_0x54735e(0xe7)](_0x1df4c5),this['_wss']['on']('connection',(_0x182abe,_0xea8e29)=>this[_0x54735e(0x136)](_0x182abe,_0xea8e29)),this['_wss']['on'](_0x157518['dYRLb'],_0x52b0cf=>{const _0x24e585=_0x54735e;this['_logger']['error']({'event':_0x157518[_0x24e585(0x139)],'error':_0x52b0cf[_0x24e585(0x155)]},_0x24e585(0x14d)+_0x52b0cf[_0x24e585(0x155)]);}),this[_0x54735e(0xdc)](_0x83f1cc),this[_0x54735e(0xeb)](),this[_0x54735e(0x10f)]=!![],this['_logger'][_0x54735e(0x129)]({'event':_0x157518[_0x54735e(0xdb)],'mode':_0x157518['Fzthc'],'path':'/ws','heartbeat':_0x83f1cc+'s'},_0x54735e(0xf0)+_0x83f1cc+'s)');}['initializeAsPublisher'](_0x9fc06={}){const _0x239a3d=a0_0x5ae143,_0x259363={'Pcuwc':_0x239a3d(0xfd),'cVmRC':_0x239a3d(0x156)};if(this[_0x239a3d(0x10f)])return;this[_0x239a3d(0x157)]=_0x9fc06,this[_0x239a3d(0x15c)]='publisher';try{this[_0x239a3d(0xe9)]=require('../../utils/logger')['logger']||console;}catch(_0x14e3b8){this['_logger']=console;}this[_0x239a3d(0x10d)](),this['_initialized']=!![],this[_0x239a3d(0xe9)][_0x239a3d(0x129)]({'event':_0x259363[_0x239a3d(0x12d)],'mode':_0x259363['cVmRC']},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');}['isInitialized'](){return this['_initialized'];}[a0_0x5ae143(0xec)](_0x24a053,_0x26c077){const _0x3dbd81=a0_0x5ae143,_0x214292={'vgURa':function(_0x3e6ba9,_0x427bb9){return _0x3e6ba9===_0x427bb9;},'PDcts':'publisher','IGWlS':_0x3dbd81(0x145),'ZibSh':function(_0xd9ad2f,_0x358b57){return _0xd9ad2f===_0x358b57;},'ivlGL':function(_0x2cc7fd,_0x475c41){return _0x2cc7fd||_0x475c41;},'mIOAx':function(_0x3d1076,_0x40fe23){return _0x3d1076>_0x40fe23;}};if(!this[_0x3dbd81(0x10f)])return;if(_0x214292[_0x3dbd81(0x15a)](this[_0x3dbd81(0x15c)],_0x214292['PDcts'])){this[_0x3dbd81(0xe6)](_0x24a053,_0x26c077);return;}const _0x1bbcbc=JSON[_0x3dbd81(0x13b)]({'type':_0x214292[_0x3dbd81(0x128)],'channel':_0x24a053,'action':_0x26c077['action'],'data':_0x26c077['data'],'requestId':_0x26c077[_0x3dbd81(0x10a)]||null,'timestamp':new Date()[_0x3dbd81(0x106)]()}),[_0x4ab790]=_0x24a053[_0x3dbd81(0x130)](':');let _0x205f49=0x0;for(const [_0x1a87a1,_0x1e3ed1]of this['_subscriptions']){const _0x3f6515=_0x1a87a1===_0x24a053,_0x21424e=_0x214292['ZibSh'](_0x1a87a1,_0x4ab790+':*');if(_0x214292['ivlGL'](_0x3f6515,_0x21424e))for(const _0x9262ff of _0x1e3ed1){if(_0x9262ff[_0x3dbd81(0x112)]===0x1)try{_0x9262ff[_0x3dbd81(0x15b)](_0x1bbcbc),_0x205f49++;}catch(_0x4262cc){}}}_0x214292['mIOAx'](_0x205f49,0x0)&&this['_logger'][_0x3dbd81(0xe5)]({'event':_0x3dbd81(0x11c),'channel':_0x24a053,'action':_0x26c077[_0x3dbd81(0x11a)],'clients':_0x205f49},'Broadcast\x20'+_0x26c077['action']+_0x3dbd81(0xf1)+_0x24a053+_0x3dbd81(0xf9)+_0x205f49+_0x3dbd81(0xe4));}['_publishToRedis'](_0x5d1e0e,_0x3ee39a){const _0x74493d=a0_0x5ae143;if(!this[_0x74493d(0x117)])return;const _0x12ec32=JSON[_0x74493d(0x13b)]({'channel':_0x5d1e0e,'message':_0x3ee39a,'workerId':this[_0x74493d(0xea)]});this['_redisPublisher']['publish'](REDIS_CHANNEL_PREFIX+_0x74493d(0xec),_0x12ec32)[_0x74493d(0xe1)](()=>{});}[a0_0x5ae143(0x150)](){const _0x2c55fc=a0_0x5ae143,_0xe7d17d={'sDxwU':_0x2c55fc(0x13f),'YxJCE':'livesync_shutdown'};if(!this['_initialized'])return;this[_0x2c55fc(0xff)]&&(clearInterval(this['_heartbeatTimer']),this['_heartbeatTimer']=null);if(this['_wss']){for(const _0x141270 of this[_0x2c55fc(0x134)]['clients']){try{_0x141270[_0x2c55fc(0xf4)](0x3e9,_0xe7d17d['sDxwU']);}catch(_0x504e4c){}}this[_0x2c55fc(0x134)][_0x2c55fc(0xf4)]();}if(this[_0x2c55fc(0x133)])try{this['_redisSubscriber'][_0x2c55fc(0x13e)](),this[_0x2c55fc(0x133)]['quit']();}catch(_0x536f1d){}if(this[_0x2c55fc(0x154)]&&this['_redisPublisher'])try{this[_0x2c55fc(0x117)]['quit']();}catch(_0x2f28fa){}this['_subscriptions'][_0x2c55fc(0xf3)](),this[_0x2c55fc(0x10f)]=![],this[_0x2c55fc(0xe9)][_0x2c55fc(0x129)]({'event':_0xe7d17d['YxJCE'],'mode':this[_0x2c55fc(0x15c)]},_0x2c55fc(0x107)+this['_mode']+_0x2c55fc(0x144));}[a0_0x5ae143(0xe7)](_0x5a69a6){const _0x228148=a0_0x5ae143,_0x418cd4={'BeABN':_0x228148(0x143),'faIOy':_0x228148(0xfc),'cQtrL':function(_0x5d8873,_0x3a2122){return _0x5d8873!==_0x3a2122;},'jlMkk':_0x228148(0xf7)},_0x261bb8=_0x5a69a6['listeners']('upgrade')['slice']();_0x5a69a6[_0x228148(0xef)]('upgrade'),_0x5a69a6['on'](_0x418cd4['jlMkk'],(_0x4c59f9,_0x5d700a,_0x59a2a0)=>{const _0x16001b=_0x228148;if(!_0x4c59f9[_0x16001b(0x11e)]||!_0x4c59f9[_0x16001b(0x11e)]['startsWith'](_0x418cd4['BeABN'])){for(const _0x18c961 of _0x261bb8){_0x18c961[_0x16001b(0xf8)](_0x5a69a6,_0x4c59f9,_0x5d700a,_0x59a2a0);}return;}if(this['_options'][_0x16001b(0x142)]){const _0x29bb19=new URL(_0x4c59f9[_0x16001b(0x11e)],_0x16001b(0x118)+(_0x4c59f9[_0x16001b(0xd9)][_0x16001b(0x15e)]||'localhost')),_0x1d96c2=_0x29bb19[_0x16001b(0x131)]['get'](_0x418cd4[_0x16001b(0x12b)])||_0x4c59f9[_0x16001b(0xd9)][_0x16001b(0xfc)];if(!_0x1d96c2||_0x418cd4[_0x16001b(0xd7)](_0x1d96c2,this[_0x16001b(0x157)][_0x16001b(0x142)])){_0x5d700a['write']('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x5d700a['destroy']();return;}}this[_0x16001b(0x134)][_0x16001b(0x11b)](_0x4c59f9,_0x5d700a,_0x59a2a0,_0x20e45f=>{const _0x4d5dc0=_0x16001b;this[_0x4d5dc0(0x134)]['emit']('connection',_0x20e45f,_0x4c59f9);});});}[a0_0x5ae143(0x136)](_0x2989fb,_0x5581f0){const _0x3477de=a0_0x5ae143,_0x4c1c76={'bVMil':'error','FTSuv':_0x3477de(0xee),'zpfzI':'close'};_0x2989fb['isAlive']=!![],_0x2989fb[_0x3477de(0xf2)]=new Set();const _0x34218e=_0x5581f0['headers']['x-forwarded-for']||_0x5581f0['socket'][_0x3477de(0x148)];this['_logger'][_0x3477de(0x129)]({'event':_0x3477de(0x146),'ip':_0x34218e},_0x3477de(0x152)+_0x34218e),_0x2989fb['on']('pong',()=>{const _0x432724=_0x3477de;_0x2989fb[_0x432724(0x108)]=!![];}),_0x2989fb['on'](_0x3477de(0x155),_0x48db21=>{const _0x7d548=_0x3477de;try{const _0x32ab0b=JSON['parse'](_0x48db21['toString']());this[_0x7d548(0xd6)](_0x2989fb,_0x32ab0b);}catch(_0x1a367f){this['_sendToClient'](_0x2989fb,{'type':_0x4c1c76[_0x7d548(0x104)],'message':'Invalid\x20JSON\x20message'});}}),_0x2989fb['on'](_0x4c1c76[_0x3477de(0x135)],()=>{const _0x14c570=_0x3477de;this[_0x14c570(0x162)](_0x2989fb),this[_0x14c570(0xe9)][_0x14c570(0xe5)]({'event':_0x14c570(0xe8),'ip':_0x34218e},_0x14c570(0x12f)+_0x34218e);}),_0x2989fb['on'](_0x4c1c76['bVMil'],_0x92ec04=>{const _0x18f86a=_0x3477de;this[_0x18f86a(0xe9)][_0x18f86a(0x111)]({'event':_0x4c1c76[_0x18f86a(0x10b)],'error':_0x92ec04[_0x18f86a(0x155)]},_0x18f86a(0x116)+_0x92ec04[_0x18f86a(0x155)]),this['_removeClientFromAllChannels'](_0x2989fb);});}[a0_0x5ae143(0xd6)](_0x1c2bb3,_0x277f03){const _0x304af2=a0_0x5ae143,_0x5e6d14={'kdzjL':_0x304af2(0xfb),'kNFRU':'pong'};switch(_0x277f03['type']){case _0x5e6d14['kdzjL']:this[_0x304af2(0x114)](_0x1c2bb3,_0x277f03[_0x304af2(0x14c)]);break;case'unsubscribe':this['_handleUnsubscribe'](_0x1c2bb3,_0x277f03['channels']);break;case _0x5e6d14['kNFRU']:_0x1c2bb3[_0x304af2(0x108)]=!![];break;default:this[_0x304af2(0x126)](_0x1c2bb3,{'type':'error','message':'Unknown\x20message\x20type:\x20'+_0x277f03['type']});}}[a0_0x5ae143(0x114)](_0x37812b,_0x1e8fb1){const _0x45e5c3=a0_0x5ae143,_0x453100={'KNfSY':function(_0x2e7d33,_0x18ad1d){return _0x2e7d33!==_0x18ad1d;},'gucxs':function(_0x2770e1,_0x32da6d){return _0x2770e1>_0x32da6d;},'CqSIW':_0x45e5c3(0x119),'yZmSg':_0x45e5c3(0x110)};if(!Array['isArray'](_0x1e8fb1)||_0x1e8fb1['length']===0x0){this[_0x45e5c3(0x126)](_0x37812b,{'type':'error','message':_0x45e5c3(0xda)});return;}const _0x2fc977=[];for(const _0x3a3e3b of _0x1e8fb1){if(_0x453100['KNfSY'](typeof _0x3a3e3b,'string')||!_0x3a3e3b[_0x45e5c3(0x12a)](':'))continue;!this['_subscriptions']['has'](_0x3a3e3b)&&this['_subscriptions'][_0x45e5c3(0x11f)](_0x3a3e3b,new Set()),this[_0x45e5c3(0x100)]['get'](_0x3a3e3b)[_0x45e5c3(0x109)](_0x37812b),_0x37812b[_0x45e5c3(0xf2)][_0x45e5c3(0x109)](_0x3a3e3b),_0x2fc977[_0x45e5c3(0x121)](_0x3a3e3b);}_0x453100['gucxs'](_0x2fc977['length'],0x0)&&(this['_sendToClient'](_0x37812b,{'type':_0x453100['CqSIW'],'channels':_0x2fc977,'timestamp':new Date()['toISOString']()}),this['_logger']['debug']({'event':_0x453100['yZmSg'],'channels':_0x2fc977},_0x45e5c3(0x105)+_0x2fc977['join'](',\x20')));}[a0_0x5ae143(0x15d)](_0x2d5c83,_0x39a041){const _0x4b950d=a0_0x5ae143,_0x371709={'UXKfY':function(_0x19723f,_0x25ef0a){return _0x19723f>_0x25ef0a;}};if(!Array[_0x4b950d(0x137)](_0x39a041))return;const _0x3eced9=[];for(const _0x174990 of _0x39a041){this[_0x4b950d(0x100)]['has'](_0x174990)&&(this['_subscriptions']['get'](_0x174990)[_0x4b950d(0xfe)](_0x2d5c83),this[_0x4b950d(0x100)]['get'](_0x174990)[_0x4b950d(0x138)]===0x0&&this[_0x4b950d(0x100)][_0x4b950d(0xfe)](_0x174990)),_0x2d5c83['subscribedChannels'][_0x4b950d(0xfe)](_0x174990),_0x3eced9['push'](_0x174990);}_0x371709[_0x4b950d(0xe2)](_0x3eced9[_0x4b950d(0x11d)],0x0)&&this['_sendToClient'](_0x2d5c83,{'type':_0x4b950d(0x103),'channels':_0x3eced9,'timestamp':new Date()['toISOString']()});}[a0_0x5ae143(0x162)](_0x528295){const _0x25f750=a0_0x5ae143;if(!_0x528295[_0x25f750(0xf2)])return;for(const _0x25aa59 of _0x528295['subscribedChannels']){this['_subscriptions'][_0x25f750(0x132)](_0x25aa59)&&(this['_subscriptions']['get'](_0x25aa59)[_0x25f750(0xfe)](_0x528295),this['_subscriptions']['get'](_0x25aa59)[_0x25f750(0x138)]===0x0&&this['_subscriptions'][_0x25f750(0xfe)](_0x25aa59));}_0x528295[_0x25f750(0xf2)]['clear']();}[a0_0x5ae143(0x126)](_0x4fc8ec,_0x494e52){if(_0x4fc8ec['readyState']===0x1)try{_0x4fc8ec['send'](JSON['stringify'](_0x494e52));}catch(_0x2be9b2){}}[a0_0x5ae143(0xdc)](_0x53661a){const _0x1ae569=a0_0x5ae143,_0x287fba={'oKzmf':_0x1ae569(0x153),'LWtZs':function(_0x411d2f,_0x190f5a,_0x2c0bc4){return _0x411d2f(_0x190f5a,_0x2c0bc4);}};this[_0x1ae569(0xff)]=_0x287fba[_0x1ae569(0x101)](setInterval,()=>{const _0xbe3320=_0x1ae569;if(!this['_wss'])return;for(const _0x7030a4 of this['_wss'][_0xbe3320(0x15f)]){if(!_0x7030a4[_0xbe3320(0x108)]){this[_0xbe3320(0x162)](_0x7030a4),_0x7030a4['terminate']();continue;}_0x7030a4[_0xbe3320(0x108)]=![],this[_0xbe3320(0x126)](_0x7030a4,{'type':_0x287fba['oKzmf'],'timestamp':new Date()['toISOString']()});try{_0x7030a4['ping']();}catch(_0x37c6d8){}}},_0x53661a*0x3e8);}['_setupRedisPublisher'](){const _0x2491c6=a0_0x5ae143,_0x5f3c2a={'WplCX':_0x2491c6(0x10c),'PnXQy':function(_0x30410f,_0x1a02df){return _0x30410f(_0x1a02df);},'meCVN':_0x2491c6(0x14a)};this[_0x2491c6(0x154)]=![];try{try{const _0x396319=_0x5f3c2a[_0x2491c6(0x125)](require,_0x2491c6(0x151));this[_0x2491c6(0x117)]=_0x396319[_0x2491c6(0xde)]?_0x396319['getClient']():null;}catch(_0x587ccc){this['_redisPublisher']=null;}if(!this[_0x2491c6(0x117)]){const _0x120bbc=_0x5f3c2a[_0x2491c6(0x125)](require,'ioredis'),_0x22fcad={'host':process['env'][_0x2491c6(0xf5)]||_0x2491c6(0x14f),'port':parseInt(process[_0x2491c6(0x13a)][_0x2491c6(0xf6)],0xa)||0x18eb,'password':process[_0x2491c6(0x13a)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x2491c6(0x13a)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x120bbc(_0x22fcad),this['_ownPublisher']=!![],this['_redisPublisher'][_0x2491c6(0x123)]()['catch'](()=>{const _0x4227e8=_0x2491c6;this['_logger'][_0x4227e8(0x111)]({'event':'livesync_redis_publisher_failed'},_0x5f3c2a[_0x4227e8(0x160)]),this[_0x4227e8(0x117)]=null;});}}catch(_0x2d4756){this[_0x2491c6(0xe9)][_0x2491c6(0x111)]({'event':_0x5f3c2a['meCVN'],'error':_0x2d4756['message']},_0x2491c6(0xfa)+_0x2d4756['message']);}}['_setupRedis'](){const _0x3dadf5=a0_0x5ae143,_0x28b816={'nJClf':_0x3dadf5(0x102),'VwcZQ':'livesync_redis_subscribed','sjJGD':_0x3dadf5(0x155),'PaESF':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','YXeyz':function(_0x1bdf9c,_0x1ec6b1){return _0x1bdf9c(_0x1ec6b1);},'QHlUE':'ioredis','wVjLN':_0x3dadf5(0x14f),'JrKXy':function(_0x17c23e,_0x357890,_0x58c863){return _0x17c23e(_0x357890,_0x58c863);},'eIeBc':function(_0x5447d3,_0x3e1d6f){return _0x5447d3(_0x3e1d6f);}};this[_0x3dadf5(0x154)]=![];try{const _0x1ecce9=_0x28b816['YXeyz'](require,_0x28b816[_0x3dadf5(0x14b)]),_0x5665ef={'host':process['env']['REDIS_HOST']||_0x28b816[_0x3dadf5(0x115)],'port':_0x28b816['JrKXy'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x50efa7=_0x28b816[_0x3dadf5(0xd8)](require,'../../utils/redis-client');this['_redisPublisher']=_0x50efa7[_0x3dadf5(0xde)]?_0x50efa7['getClient']():null;}catch(_0x426ff7){this['_redisPublisher']=null;}!this[_0x3dadf5(0x117)]&&(this[_0x3dadf5(0x117)]=new _0x1ecce9(_0x5665ef),this[_0x3dadf5(0x154)]=!![],this[_0x3dadf5(0x117)][_0x3dadf5(0x123)]()[_0x3dadf5(0xe1)](()=>{const _0xc7e9b5=_0x3dadf5;this[_0xc7e9b5(0xe9)]['warn']({'event':_0x28b816[_0xc7e9b5(0x10e)]},_0xc7e9b5(0x10c)),this['_redisPublisher']=null;})),this[_0x3dadf5(0x133)]=new _0x1ecce9(_0x5665ef),this[_0x3dadf5(0x133)][_0x3dadf5(0x123)]()['then'](()=>{const _0x34be75=_0x3dadf5;this[_0x34be75(0x133)][_0x34be75(0xfb)](REDIS_CHANNEL_PREFIX+'broadcast',_0x2bd782=>{const _0x1967e9=_0x34be75;if(_0x2bd782){this[_0x1967e9(0xe9)]['error']({'event':_0x1967e9(0xe0),'error':_0x2bd782[_0x1967e9(0x155)]},_0x1967e9(0x13d)+_0x2bd782['message']);return;}this['_logger'][_0x1967e9(0x129)]({'event':_0x28b816['VwcZQ']},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this[_0x34be75(0x133)]['on'](_0x28b816['sjJGD'],(_0x259751,_0x369002)=>{try{const _0x2786e3=JSON['parse'](_0x369002);if(_0x2786e3['workerId']===this['_workerId'])return;this['_broadcastLocal'](_0x2786e3['channel'],_0x2786e3['message']);}catch(_0x3997f6){}});})[_0x3dadf5(0xe1)](()=>{const _0x1cf696=_0x3dadf5;this[_0x1cf696(0xe9)][_0x1cf696(0x111)]({'event':'livesync_redis_subscriber_failed'},_0x28b816[_0x1cf696(0xdd)]),this['_redisSubscriber']=null;});}catch(_0x399d5d){this['_logger'][_0x3dadf5(0x111)]({'event':_0x3dadf5(0x14a),'error':_0x399d5d['message']},_0x3dadf5(0x14e)+_0x399d5d[_0x3dadf5(0x155)]);}}[a0_0x5ae143(0x12e)](_0x29fe00,_0x2cf8e2){const _0x2a0882=a0_0x5ae143,_0x2f0fa7={'vIHdK':function(_0x3a4fe3,_0x4488f8){return _0x3a4fe3||_0x4488f8;}};if(!this['_wss'])return;const _0x382f9a=JSON['stringify']({'type':'data_change','channel':_0x29fe00,'action':_0x2cf8e2[_0x2a0882(0x11a)],'data':_0x2cf8e2['data'],'requestId':_0x2cf8e2[_0x2a0882(0x10a)]||null,'timestamp':new Date()[_0x2a0882(0x106)]()}),[_0x4405d0]=_0x29fe00['split'](':');for(const [_0x598641,_0x5a4b11]of this['_subscriptions']){const _0x23d8be=_0x598641===_0x29fe00,_0x1a4116=_0x598641===_0x4405d0+':*';if(_0x2f0fa7['vIHdK'](_0x23d8be,_0x1a4116))for(const _0x4d99c8 of _0x5a4b11){if(_0x4d99c8[_0x2a0882(0x112)]===0x1)try{_0x4d99c8['send'](_0x382f9a);}catch(_0x5c223f){}}}}}module['exports']=WebSocketBroadcaster;
1
+ 'use strict';const a0_0x2b43a0=a0_0x4991;function a0_0x4991(_0x288def,_0x50ccfd){_0x288def=_0x288def-0x18e;const _0x1d7c3a=a0_0x1d7c();let _0x499128=_0x1d7c3a[_0x288def];if(a0_0x4991['IhJhoV']===undefined){var _0xe68901=function(_0x2b5ba8){const _0x5a6a1a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c108a='',_0x3f4bc5='';for(let _0x4bb625=0x0,_0x36e039,_0xa29a28,_0x3236c8=0x0;_0xa29a28=_0x2b5ba8['charAt'](_0x3236c8++);~_0xa29a28&&(_0x36e039=_0x4bb625%0x4?_0x36e039*0x40+_0xa29a28:_0xa29a28,_0x4bb625++%0x4)?_0x3c108a+=String['fromCharCode'](0xff&_0x36e039>>(-0x2*_0x4bb625&0x6)):0x0){_0xa29a28=_0x5a6a1a['indexOf'](_0xa29a28);}for(let _0x5cd793=0x0,_0x29e698=_0x3c108a['length'];_0x5cd793<_0x29e698;_0x5cd793++){_0x3f4bc5+='%'+('00'+_0x3c108a['charCodeAt'](_0x5cd793)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f4bc5);};a0_0x4991['GRkzxd']=_0xe68901,a0_0x4991['WHtcma']={},a0_0x4991['IhJhoV']=!![];}const _0xa7a026=_0x1d7c3a[0x0],_0x243953=_0x288def+_0xa7a026,_0xdc6b8b=a0_0x4991['WHtcma'][_0x243953];return!_0xdc6b8b?(_0x499128=a0_0x4991['GRkzxd'](_0x499128),a0_0x4991['WHtcma'][_0x243953]=_0x499128):_0x499128=_0xdc6b8b,_0x499128;}(function(_0x33991c,_0x3df342){const _0x1958a5=a0_0x4991,_0x2c6e25=_0x33991c();while(!![]){try{const _0x46dffc=-parseInt(_0x1958a5(0x1e9))/0x1*(parseInt(_0x1958a5(0x213))/0x2)+-parseInt(_0x1958a5(0x210))/0x3+-parseInt(_0x1958a5(0x195))/0x4+-parseInt(_0x1958a5(0x1f7))/0x5*(-parseInt(_0x1958a5(0x1a6))/0x6)+parseInt(_0x1958a5(0x1e7))/0x7*(parseInt(_0x1958a5(0x1ee))/0x8)+parseInt(_0x1958a5(0x1f4))/0x9+parseInt(_0x1958a5(0x1dd))/0xa;if(_0x46dffc===_0x3df342)break;else _0x2c6e25['push'](_0x2c6e25['shift']());}catch(_0x1b2897){_0x2c6e25['push'](_0x2c6e25['shift']());}}}(a0_0x1d7c,0xe2da7));function a0_0x1d7c(){const _0x2733a3=['BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','C2H1DgrVD24','C3vIC2nYAwjLzenOyw5UzwXZ','AgfUzgXLvxbNCMfKzq','ignSAwvUDcHZkq','C2vUza','CMvTB3zLqwXStgLZDgvUzxjZ','CMvTB3rLqwrKCMvZCW','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','x3b1yMXPC2HuB1jLzgLZ','x2LUAxrPywXPEMvK','zw1PDa','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','l3DZ','tuzpy0i','AgDdENa','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x3jLzgLZu3vIC2nYAwjLCG','BgvUz3rO','Aw5PDgLHBgL6zq','BwHIuNa','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','y2XVC2u','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','uKvesvnFue9sva','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','yvHZDNe','y2f0y2G','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','zw52','BgL2zxn5BMnFyNjVywrJyxn0','x2HHBMrSzunSAwvUDe1LC3nHz2u','ywn0Aw9U','wg9hB1q','zMzsrhu','yxbPs2v5','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','zfjzv2G','D3jPDgu','mtCWodmXotbdDgr3v08','zNvSBa','CMTYy0O','x3DZCW','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','BwvZC2fNzq','zgvIDwC','terZCuC','Bg9JywXOB3n0','mtyXmtrOsNbTsMG','ywfhv1C','odm3nJmZr1P4yvbq','BgL2zxn5BMnFC2H1DgrVD24','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Eevrtge','x2HHBMrSzvvUC3vIC2nYAwjL','nJGWrw93ALbV','weHuCve','yNjVywrJyxn0','Cg9UzW','CMvHzhLtDgf0zq','x29WDgLVBNm','mte5mZaYmdjJAfnXrKq','DgHLBG','x3jLzgLZuhvIBgLZAgvY','mtG1mZv6qKP5z0m','BgL2zxn5BMnFC3vIC2nYAwjL','yNHtt1O','y29UBMvJDgLVBG','x3nLBMruB0nSAwvUDa','AxnbBgL2zq','AxnbCNjHEq','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','x3nLDhvWvxbNCMfKzuf1DgG','x2XVz2DLCG','CMvXDwvZDeLK','AM9PBG','x3n0yxj0sgvHCNrIzwf0','C3rYAw5NAwz5','D2fYBG','tvP1Bum','tMPov3y','uuLJr1q','AgvHzgvYCW','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','x3nLDhvWuMvKAxm','x21Vzgu','x2jYB2fKy2fZDeXVy2fS','nda3otK3ovnABw91zG','DxjS','ihrVia','mLbbsfHiwa','uKvesvnFrei','C3bSAxq','ve1pt1q','y29UBMvJDa','x3nLDhvWuMvKAxnqDwjSAxnOzxi','r0rXzgy','u2vYDMvYihnODxr0Aw5NigrVD24','x3n1yNnJCMLWDgLVBNm','zgvSzxrL','AxnjBML0AwfSAxPLza','Bg9Nz2vY','Ec1MB3j3yxjKzwqTzM9Y','z2v0q2XPzw50','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','DuvzveW','BgL2zxn5BMnFAw5PDgLHBgL6zwq','mZe4mZGZnLv3tgHXEa','r1PdrNe','ywrK','Dw5ZDwjZy3jPyMu','x2HLyxj0yMvHDfrPBwvY','uKvesvnFse9tva','Dg9ju09tDhjPBMC','EvvdDuu','DhLWzq','zxjYB3i','x2HHBMrSzvn1yNnJCMLIzq','CgfYC2u','y2XPzw50CW','Aw5JBhvKzxm','zgf0yv9JAgfUz2u','x293BLb1yMXPC2HLCG','C2v0','mteYmKnZrezbBq','zgvZDhjVEq','tMnpyvC','Ec1HCgKTA2v5','CgLUzW','x2HHBMrSzunVBM5Ly3rPB24','y2fSBa','sfHKrgK','C3vIC2nYAwjL','C2L6zq','Aw5MBW','CxvPDa','rvb4uwu','z2v0','BM5Uz1K','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia'];a0_0x1d7c=function(){return _0x2733a3;};return a0_0x1d7c();}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x45537a=a0_0x4991;this[_0x45537a(0x1e0)]=null,this['_initialized']=![],this[_0x45537a(0x20e)]=null,this[_0x45537a(0x1f3)]={},this[_0x45537a(0x202)]=console,this[_0x45537a(0x21b)]=new Map(),this['_heartbeatTimer']=null,this['_redisPublisher']=null,this[_0x45537a(0x1c7)]=null,this['_workerId']=process['pid'];}[a0_0x2b43a0(0x1c9)](_0x4e9b30,_0xad84e8={}){const _0x46f4f7=a0_0x2b43a0,_0x47eae1={'GDqdf':_0x46f4f7(0x1de),'bxSOZ':function(_0x4fa9a9,_0x55f0e9){return _0x4fa9a9(_0x55f0e9);},'RPwrD':'../../utils/logger','QIcGT':'error','PLbZJ':_0x46f4f7(0x194),'XZeLQ':'/ws'};if(this[_0x46f4f7(0x1c0)])return;this['_options']=_0xad84e8,this['_mode']=_0x47eae1['GDqdf'];try{this[_0x46f4f7(0x202)]=_0x47eae1[_0x46f4f7(0x1f9)](require,_0x47eae1['RPwrD'])[_0x46f4f7(0x18f)]||console;}catch(_0x46425c){this[_0x46f4f7(0x202)]=console;}const _0x5a57cb=parseInt(process[_0x46f4f7(0x1d3)][_0x46f4f7(0x1ff)],0xa)||0x1e;this[_0x46f4f7(0x1e0)]=new WebSocketServer({'server':_0x4e9b30,'path':'/ws'}),this[_0x46f4f7(0x201)](_0x4e9b30),this[_0x46f4f7(0x1e0)]['on'](_0x46f4f7(0x1fa),(_0x496f1e,_0x471053)=>this['_handleConnection'](_0x496f1e,_0x471053)),this['_wss']['on'](_0x47eae1[_0x46f4f7(0x20a)],_0x3f5189=>{const _0x1ffae5=_0x46f4f7;this['_logger'][_0x1ffae5(0x19e)]({'event':'livesync_wss_error','error':_0x3f5189[_0x1ffae5(0x1e3)]},'WebSocket\x20server\x20error:\x20'+_0x3f5189['message']);}),this[_0x46f4f7(0x205)](_0x5a57cb),this['_setupRedis'](),this[_0x46f4f7(0x1c0)]=!![],this[_0x46f4f7(0x202)][_0x46f4f7(0x1b0)]({'event':_0x47eae1['PLbZJ'],'mode':_0x47eae1[_0x46f4f7(0x219)],'path':_0x47eae1['XZeLQ'],'heartbeat':_0x5a57cb+'s'},_0x46f4f7(0x1cd)+_0x5a57cb+'s)');}[a0_0x2b43a0(0x1cf)](_0x14544c={}){const _0x20bf39=a0_0x2b43a0,_0x1662b5={'HTfhe':_0x20bf39(0x1e1),'xEQLa':'publisher','AkOaT':_0x20bf39(0x192)};if(this['_initialized'])return;this[_0x20bf39(0x1f3)]=_0x14544c,this[_0x20bf39(0x20e)]='publisher';try{this[_0x20bf39(0x202)]=require('../../utils/logger')[_0x20bf39(0x18f)]||console;}catch(_0x107c77){this[_0x20bf39(0x202)]=console;}this['_setupRedisPublisher'](),this['_initialized']=!![],this[_0x20bf39(0x202)][_0x20bf39(0x1b0)]({'event':_0x1662b5['HTfhe'],'mode':_0x1662b5[_0x20bf39(0x1ec)]},_0x1662b5['AkOaT']);}[a0_0x2b43a0(0x18e)](){return this['_initialized'];}['broadcast'](_0x52c4c6,_0x2afae2){const _0x32a743=a0_0x2b43a0,_0x257657={'LgUjK':function(_0x20c68b,_0x4b0995){return _0x20c68b===_0x4b0995;},'aXsvq':function(_0x3eedbb,_0x446fe8){return _0x3eedbb||_0x446fe8;},'yUCuE':function(_0x598175,_0xcea726){return _0x598175===_0xcea726;},'ZtzJp':function(_0x5637ab,_0x1f2449){return _0x5637ab>_0x1f2449;}};if(!this[_0x32a743(0x1c0)])return;if(this['_mode']==='publisher'){this[_0x32a743(0x1bf)](_0x52c4c6,_0x2afae2);return;}const _0x4ba21d=JSON['stringify']({'type':_0x32a743(0x1a3),'channel':_0x52c4c6,'action':_0x2afae2[_0x32a743(0x1d6)],'data':_0x2afae2['data'],'requestId':_0x2afae2['requestId']||null,'timestamp':new Date()[_0x32a743(0x19b)]()}),[_0x5c61ee]=_0x52c4c6[_0x32a743(0x215)](':');let _0x2c2a7f=0x0;for(const [_0x38fc05,_0x576d50]of this['_subscriptions']){const _0x41547d=_0x257657['LgUjK'](_0x38fc05,_0x52c4c6),_0x320adc=_0x257657['LgUjK'](_0x38fc05,_0x5c61ee+':*');if(_0x257657[_0x32a743(0x1d0)](_0x41547d,_0x320adc))for(const _0xf68ba6 of _0x576d50){if(_0x257657[_0x32a743(0x19c)](_0xf68ba6['readyState'],0x1))try{_0xf68ba6[_0x32a743(0x1bb)](_0x4ba21d),_0x2c2a7f++;}catch(_0x1d1a63){}}}_0x257657['ZtzJp'](_0x2c2a7f,0x0)&&this[_0x32a743(0x202)][_0x32a743(0x1e4)]({'event':_0x32a743(0x1d4),'channel':_0x52c4c6,'action':_0x2afae2[_0x32a743(0x1d6)],'clients':_0x2c2a7f},'Broadcast\x20'+_0x2afae2['action']+'\x20on\x20'+_0x52c4c6+_0x32a743(0x212)+_0x2c2a7f+_0x32a743(0x1ba));}[a0_0x2b43a0(0x1bf)](_0x3931eb,_0x1477dd){const _0x2a7698=a0_0x2b43a0;if(!this[_0x2a7698(0x1f6)])return;const _0x35e8bc=JSON[_0x2a7698(0x206)]({'channel':_0x3931eb,'message':_0x1477dd,'workerId':this['_workerId']});this['_redisPublisher']['publish'](REDIS_CHANNEL_PREFIX+_0x2a7698(0x1f0),_0x35e8bc)[_0x2a7698(0x1d1)](()=>{});}[a0_0x2b43a0(0x1b7)](){const _0x552245=a0_0x2b43a0,_0x4079da={'MZumC':function(_0x186d55,_0x11cb32){return _0x186d55(_0x11cb32);},'ksoGH':_0x552245(0x21a),'Fivpk':_0x552245(0x1ea)};if(!this[_0x552245(0x1c0)])return;this['_heartbeatTimer']&&(_0x4079da[_0x552245(0x208)](clearInterval,this[_0x552245(0x199)]),this[_0x552245(0x199)]=null);if(this['_wss']){for(const _0x3b5658 of this[_0x552245(0x1e0)][_0x552245(0x1a1)]){try{_0x3b5658[_0x552245(0x1cc)](0x3e9,_0x4079da['ksoGH']);}catch(_0x56b0cf){}}this['_wss'][_0x552245(0x1cc)]();}if(this['_redisSubscriber'])try{this[_0x552245(0x1c7)][_0x552245(0x198)](),this[_0x552245(0x1c7)]['quit']();}catch(_0x10b26f){}if(this['_ownPublisher']&&this[_0x552245(0x1f6)])try{this[_0x552245(0x1f6)][_0x552245(0x1b1)]();}catch(_0x23dc38){}this[_0x552245(0x21b)]['clear'](),this[_0x552245(0x1c0)]=![],this['_logger']['info']({'event':_0x4079da['Fivpk'],'mode':this[_0x552245(0x20e)]},'Live\x20Sync\x20'+this['_mode']+'\x20shut\x20down');}[a0_0x2b43a0(0x201)](_0x52c41f){const _0x3c99fa=a0_0x2b43a0,_0x116c15={'HXdDi':_0x3c99fa(0x1c3),'NcOaW':_0x3c99fa(0x1a9),'EPxQe':'upgrade'},_0x9aa5bf=_0x52c41f['listeners'](_0x116c15[_0x3c99fa(0x1b2)])['slice']();_0x52c41f[_0x3c99fa(0x1bc)](_0x116c15[_0x3c99fa(0x1b2)]),_0x52c41f['on'](_0x116c15[_0x3c99fa(0x1b2)],(_0x2497c4,_0x535985,_0x24030f)=>{const _0x29ec73=_0x3c99fa;if(!_0x2497c4['url']||!_0x2497c4['url']['startsWith'](_0x116c15[_0x29ec73(0x1ad)])){for(const _0x55bfc3 of _0x9aa5bf){_0x55bfc3[_0x29ec73(0x1ac)](_0x52c41f,_0x2497c4,_0x535985,_0x24030f);}return;}if(this['_options']['apiKey']){const _0x26087d=new URL(_0x2497c4[_0x29ec73(0x211)],'http://'+(_0x2497c4[_0x29ec73(0x20b)]['host']||_0x29ec73(0x1e6))),_0x1cb7f0=_0x26087d['searchParams']['get'](_0x29ec73(0x1a9))||_0x2497c4['headers'][_0x116c15[_0x29ec73(0x1a8)]];if(!_0x1cb7f0||_0x1cb7f0!==this[_0x29ec73(0x1f3)][_0x29ec73(0x1d9)]){_0x535985[_0x29ec73(0x1dc)]('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x535985[_0x29ec73(0x1a7)]();return;}}this[_0x29ec73(0x1e0)][_0x29ec73(0x1b9)](_0x2497c4,_0x535985,_0x24030f,_0x4f836b=>{const _0x1e4004=_0x29ec73;this['_wss'][_0x1e4004(0x1c1)](_0x1e4004(0x1fa),_0x4f836b,_0x2497c4);});});}[a0_0x2b43a0(0x1ab)](_0x27772c,_0x135711){const _0x8fd846=a0_0x2b43a0,_0x2fdd78={'HWtAm':_0x8fd846(0x19e),'HfuJn':'livesync_client_disconnected','hgCzp':_0x8fd846(0x1da),'NjNWv':_0x8fd846(0x1f1)};_0x27772c[_0x8fd846(0x1fc)]=!![],_0x27772c[_0x8fd846(0x1b8)]=new Set();const _0x4d2c15=_0x135711[_0x8fd846(0x20b)][_0x8fd846(0x190)]||_0x135711['socket'][_0x8fd846(0x1bd)];this['_logger']['info']({'event':'livesync_client_connected','ip':_0x4d2c15},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x4d2c15),_0x27772c['on'](_0x2fdd78[_0x8fd846(0x209)],()=>{_0x27772c['isAlive']=!![];}),_0x27772c['on']('message',_0x309e7d=>{const _0xbcd04d=_0x8fd846;try{const _0x3358cb=JSON[_0xbcd04d(0x1a0)](_0x309e7d['toString']());this[_0xbcd04d(0x1d5)](_0x27772c,_0x3358cb);}catch(_0x161f28){this['_sendToClient'](_0x27772c,{'type':_0x2fdd78['HWtAm'],'message':'Invalid\x20JSON\x20message'});}}),_0x27772c['on']('close',()=>{const _0x1d8cd7=_0x8fd846;this[_0x1d8cd7(0x1c6)](_0x27772c),this['_logger']['debug']({'event':_0x2fdd78['HfuJn'],'ip':_0x4d2c15},_0x1d8cd7(0x1b5)+_0x4d2c15);}),_0x27772c['on']('error',_0x481bae=>{const _0x1567de=_0x8fd846;this['_logger'][_0x1567de(0x207)]({'event':_0x2fdd78[_0x1567de(0x1c5)],'error':_0x481bae['message']},_0x1567de(0x1cb)+_0x481bae['message']),this[_0x1567de(0x1c6)](_0x27772c);});}['_handleClientMessage'](_0x11cddd,_0x533172){const _0x137950=a0_0x2b43a0,_0x27ccb0={'XoGoT':'unsubscribe','MFOcB':'pong'};switch(_0x533172[_0x137950(0x19d)]){case _0x137950(0x1ae):this[_0x137950(0x19f)](_0x11cddd,_0x533172['channels']);break;case _0x27ccb0[_0x137950(0x1d7)]:this['_handleUnsubscribe'](_0x11cddd,_0x533172['channels']);break;case _0x27ccb0[_0x137950(0x1c4)]:_0x11cddd['isAlive']=!![];break;default:this['_sendToClient'](_0x11cddd,{'type':_0x137950(0x19e),'message':_0x137950(0x1d2)+_0x533172['type']});}}['_handleSubscribe'](_0x48185d,_0x18ad6f){const _0x5257cd=a0_0x2b43a0,_0x383c31={'SfyNy':function(_0x20eb0f,_0x1e23c0){return _0x20eb0f===_0x1e23c0;},'YqVEE':'error','YZyvK':'channels\x20must\x20be\x20a\x20non-empty\x20array','Dsyjo':function(_0x55d3f4,_0x17a943){return _0x55d3f4!==_0x17a943;},'ULSuJ':'subscribed','GZCFq':_0x5257cd(0x1f8)};if(!Array[_0x5257cd(0x1fd)](_0x18ad6f)||_0x383c31['SfyNy'](_0x18ad6f['length'],0x0)){this['_sendToClient'](_0x48185d,{'type':_0x383c31['YqVEE'],'message':_0x383c31['YZyvK']});return;}const _0x435b32=[];for(const _0x374fca of _0x18ad6f){if(_0x383c31['Dsyjo'](typeof _0x374fca,'string')||!_0x374fca[_0x5257cd(0x1a2)](':'))continue;!this['_subscriptions']['has'](_0x374fca)&&this[_0x5257cd(0x21b)][_0x5257cd(0x1a5)](_0x374fca,new Set()),this[_0x5257cd(0x21b)]['get'](_0x374fca)['add'](_0x48185d),_0x48185d['subscribedChannels'][_0x5257cd(0x197)](_0x374fca),_0x435b32['push'](_0x374fca);}_0x435b32[_0x5257cd(0x1c8)]>0x0&&(this[_0x5257cd(0x1fb)](_0x48185d,{'type':_0x383c31['ULSuJ'],'channels':_0x435b32,'timestamp':new Date()[_0x5257cd(0x19b)]()}),this['_logger'][_0x5257cd(0x1e4)]({'event':_0x383c31[_0x5257cd(0x196)],'channels':_0x435b32},'Client\x20subscribed\x20to:\x20'+_0x435b32[_0x5257cd(0x204)](',\x20')));}[a0_0x2b43a0(0x1ed)](_0x250ab6,_0x2b31db){const _0x4a31d3=a0_0x2b43a0,_0x273518={'dRYWh':function(_0xe43932,_0x4849de){return _0xe43932===_0x4849de;}};if(!Array[_0x4a31d3(0x1fd)](_0x2b31db))return;const _0x412593=[];for(const _0x4a97e6 of _0x2b31db){this[_0x4a31d3(0x21b)]['has'](_0x4a97e6)&&(this[_0x4a31d3(0x21b)][_0x4a31d3(0x1b3)](_0x4a97e6)['delete'](_0x250ab6),_0x273518[_0x4a31d3(0x1db)](this['_subscriptions'][_0x4a31d3(0x1b3)](_0x4a97e6)[_0x4a31d3(0x1af)],0x0)&&this[_0x4a31d3(0x21b)]['delete'](_0x4a97e6)),_0x250ab6[_0x4a31d3(0x1b8)]['delete'](_0x4a97e6),_0x412593['push'](_0x4a97e6);}_0x412593[_0x4a31d3(0x1c8)]>0x0&&this[_0x4a31d3(0x1fb)](_0x250ab6,{'type':'unsubscribed','channels':_0x412593,'timestamp':new Date()['toISOString']()});}[a0_0x2b43a0(0x1c6)](_0x49544f){const _0x30dd04=a0_0x2b43a0,_0x4b9bf3={'csWji':function(_0x16d9ef,_0x51aa5f){return _0x16d9ef===_0x51aa5f;}};if(!_0x49544f['subscribedChannels'])return;for(const _0x2d117c of _0x49544f['subscribedChannels']){this[_0x30dd04(0x21b)]['has'](_0x2d117c)&&(this[_0x30dd04(0x21b)][_0x30dd04(0x1b3)](_0x2d117c)['delete'](_0x49544f),_0x4b9bf3['csWji'](this[_0x30dd04(0x21b)][_0x30dd04(0x1b3)](_0x2d117c)[_0x30dd04(0x1af)],0x0)&&this['_subscriptions'][_0x30dd04(0x21c)](_0x2d117c));}_0x49544f['subscribedChannels']['clear']();}[a0_0x2b43a0(0x1fb)](_0x1f5ebc,_0x2b1ac6){const _0x23355a=a0_0x2b43a0,_0x4f1f39={'aaGWW':function(_0x2d985f,_0x3ca5e5){return _0x2d985f===_0x3ca5e5;}};if(_0x4f1f39[_0x23355a(0x1e8)](_0x1f5ebc[_0x23355a(0x1f2)],0x1))try{_0x1f5ebc[_0x23355a(0x1bb)](JSON[_0x23355a(0x206)](_0x2b1ac6));}catch(_0x43e5a4){}}[a0_0x2b43a0(0x205)](_0x43cd53){const _0x19a270=a0_0x2b43a0;this[_0x19a270(0x199)]=setInterval(()=>{const _0xce57fa=_0x19a270;if(!this[_0xce57fa(0x1e0)])return;for(const _0x15bba4 of this['_wss']['clients']){if(!_0x15bba4['isAlive']){this['_removeClientFromAllChannels'](_0x15bba4),_0x15bba4['terminate']();continue;}_0x15bba4[_0xce57fa(0x1fc)]=![],this[_0xce57fa(0x1fb)](_0x15bba4,{'type':_0xce57fa(0x1aa),'timestamp':new Date()['toISOString']()});try{_0x15bba4['ping']();}catch(_0x446dc7){}}},_0x43cd53*0x3e8);}[a0_0x2b43a0(0x218)](){const _0x58a840=a0_0x2b43a0,_0x339a8f={'rkrcJ':'livesync_redis_publisher_failed','uEYTL':'127.0.0.1','mhbRp':function(_0x33c0e0,_0x3a9a62,_0x57c4de){return _0x33c0e0(_0x3a9a62,_0x57c4de);},'nnngY':_0x58a840(0x1b6)};this[_0x58a840(0x1a4)]=![];try{try{const _0x5650b5=require(_0x58a840(0x1eb));this[_0x58a840(0x1f6)]=_0x5650b5[_0x58a840(0x191)]?_0x5650b5[_0x58a840(0x191)]():null;}catch(_0x440a5b){this['_redisPublisher']=null;}if(!this[_0x58a840(0x1f6)]){const _0x1b6dcd=require('ioredis'),_0x36e273={'host':process[_0x58a840(0x1d3)][_0x58a840(0x19a)]||_0x339a8f[_0x58a840(0x193)],'port':_0x339a8f[_0x58a840(0x1ca)](parseInt,process[_0x58a840(0x1d3)][_0x58a840(0x1ce)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x58a840(0x1d3)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x58a840(0x1f6)]=new _0x1b6dcd(_0x36e273),this['_ownPublisher']=!![],this['_redisPublisher'][_0x58a840(0x217)]()[_0x58a840(0x1d1)](()=>{const _0x215cd2=_0x58a840;this[_0x215cd2(0x202)]['warn']({'event':_0x339a8f[_0x215cd2(0x1df)]},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x215cd2(0x1f6)]=null;});}}catch(_0x99d3ab){this['_logger'][_0x58a840(0x207)]({'event':_0x339a8f[_0x58a840(0x1b4)],'error':_0x99d3ab['message']},_0x58a840(0x1be)+_0x99d3ab['message']);}}[a0_0x2b43a0(0x20d)](){const _0x26ca27=a0_0x2b43a0,_0x49fc3c={'ngnCi':function(_0x1b9f96,_0x166fa2){return _0x1b9f96===_0x166fa2;},'LDsqG':'message','fXVPN':function(_0x347f21,_0x30326f){return _0x347f21(_0x30326f);},'CMDEB':'127.0.0.1','uLXbU':function(_0x5e0585,_0x3ab639,_0x272776){return _0x5e0585(_0x3ab639,_0x272776);}};this[_0x26ca27(0x1a4)]=![];try{const _0x2b8e69=_0x49fc3c['fXVPN'](require,'ioredis'),_0x382cab={'host':process[_0x26ca27(0x1d3)]['REDIS_HOST']||_0x49fc3c['CMDEB'],'port':_0x49fc3c['uLXbU'](parseInt,process['env'][_0x26ca27(0x1ce)],0xa)||0x18eb,'password':process[_0x26ca27(0x1d3)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x26ca27(0x1d3)][_0x26ca27(0x214)],0xa)||0x0,'lazyConnect':!![]};try{const _0x1a3a74=_0x49fc3c['fXVPN'](require,_0x26ca27(0x1eb));this[_0x26ca27(0x1f6)]=_0x1a3a74['getClient']?_0x1a3a74['getClient']():null;}catch(_0x2d4f5b){this['_redisPublisher']=null;}!this[_0x26ca27(0x1f6)]&&(this[_0x26ca27(0x1f6)]=new _0x2b8e69(_0x382cab),this[_0x26ca27(0x1a4)]=!![],this[_0x26ca27(0x1f6)]['connect']()[_0x26ca27(0x1d1)](()=>{const _0x1aca54=_0x26ca27;this['_logger'][_0x1aca54(0x207)]({'event':'livesync_redis_publisher_failed'},_0x1aca54(0x1e2)),this['_redisPublisher']=null;})),this['_redisSubscriber']=new _0x2b8e69(_0x382cab),this[_0x26ca27(0x1c7)][_0x26ca27(0x217)]()[_0x26ca27(0x1f5)](()=>{const _0x5e7779=_0x26ca27,_0x5b07ca={'QQVXd':'livesync_redis_subscribed','ffRDu':'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode','XHTqQ':function(_0xdfb5c6,_0x4f7534){return _0x49fc3c['ngnCi'](_0xdfb5c6,_0x4f7534);}};this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+_0x5e7779(0x1f0),_0x39da97=>{const _0x12aaad=_0x5e7779;if(_0x39da97){this['_logger']['error']({'event':_0x12aaad(0x20c),'error':_0x39da97['message']},_0x12aaad(0x1fe)+_0x39da97['message']);return;}this[_0x12aaad(0x202)][_0x12aaad(0x1b0)]({'event':_0x5b07ca['QQVXd']},_0x5b07ca[_0x12aaad(0x1d8)]);}),this['_redisSubscriber']['on'](_0x49fc3c[_0x5e7779(0x1e5)],(_0x2d742a,_0x12fd8c)=>{const _0x1330c9=_0x5e7779;try{const _0x5d95c2=JSON[_0x1330c9(0x1a0)](_0x12fd8c);if(_0x5b07ca[_0x1330c9(0x1ef)](_0x5d95c2['workerId'],this['_workerId']))return;this[_0x1330c9(0x20f)](_0x5d95c2['channel'],_0x5d95c2[_0x1330c9(0x1e3)]);}catch(_0x23fce2){}});})['catch'](()=>{const _0x453213=_0x26ca27;this[_0x453213(0x202)][_0x453213(0x207)]({'event':'livesync_redis_subscriber_failed'},_0x453213(0x200)),this[_0x453213(0x1c7)]=null;});}catch(_0x4734d1){this['_logger'][_0x26ca27(0x207)]({'event':_0x26ca27(0x1b6),'error':_0x4734d1[_0x26ca27(0x1e3)]},_0x26ca27(0x1c2)+_0x4734d1[_0x26ca27(0x1e3)]);}}[a0_0x2b43a0(0x20f)](_0x309d5e,_0x1a9b5b){const _0x48e00c=a0_0x2b43a0,_0x19924b={'TMOOT':function(_0xf2e544,_0x47e080){return _0xf2e544===_0x47e080;},'YghYP':function(_0xd40e31,_0x1a4777){return _0xd40e31===_0x1a4777;}};if(!this[_0x48e00c(0x1e0)])return;const _0x3129b5=JSON['stringify']({'type':'data_change','channel':_0x309d5e,'action':_0x1a9b5b['action'],'data':_0x1a9b5b['data'],'requestId':_0x1a9b5b[_0x48e00c(0x203)]||null,'timestamp':new Date()['toISOString']()}),[_0x136673]=_0x309d5e['split'](':');for(const [_0x35f7ee,_0x4da889]of this[_0x48e00c(0x21b)]){const _0x521b98=_0x19924b[_0x48e00c(0x216)](_0x35f7ee,_0x309d5e),_0x5e2c81=_0x19924b['YghYP'](_0x35f7ee,_0x136673+':*');if(_0x521b98||_0x5e2c81)for(const _0xc67fea of _0x4da889){if(_0xc67fea[_0x48e00c(0x1f2)]===0x1)try{_0xc67fea['send'](_0x3129b5);}catch(_0xe4ba63){}}}}}module['exports']=WebSocketBroadcaster;
@@ -1 +1 @@
1
- function a0_0x1efe(_0x1486c2,_0x1bc0b5){_0x1486c2=_0x1486c2-0x167;const _0x5eb9ed=a0_0x5eb9();let _0x1efeb6=_0x5eb9ed[_0x1486c2];if(a0_0x1efe['VxtPEg']===undefined){var _0x1dde99=function(_0x4e8f5a){const _0x4336f2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x44d50c='',_0x335987='';for(let _0x389375=0x0,_0x3b879a,_0x198bd7,_0x2279d2=0x0;_0x198bd7=_0x4e8f5a['charAt'](_0x2279d2++);~_0x198bd7&&(_0x3b879a=_0x389375%0x4?_0x3b879a*0x40+_0x198bd7:_0x198bd7,_0x389375++%0x4)?_0x44d50c+=String['fromCharCode'](0xff&_0x3b879a>>(-0x2*_0x389375&0x6)):0x0){_0x198bd7=_0x4336f2['indexOf'](_0x198bd7);}for(let _0x4a5ad7=0x0,_0x20ba21=_0x44d50c['length'];_0x4a5ad7<_0x20ba21;_0x4a5ad7++){_0x335987+='%'+('00'+_0x44d50c['charCodeAt'](_0x4a5ad7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x335987);};a0_0x1efe['akyVkL']=_0x1dde99,a0_0x1efe['FLINEH']={},a0_0x1efe['VxtPEg']=!![];}const _0x1f12a6=_0x5eb9ed[0x0],_0x4b533c=_0x1486c2+_0x1f12a6,_0x6d5d9a=a0_0x1efe['FLINEH'][_0x4b533c];return!_0x6d5d9a?(_0x1efeb6=a0_0x1efe['akyVkL'](_0x1efeb6),a0_0x1efe['FLINEH'][_0x4b533c]=_0x1efeb6):_0x1efeb6=_0x6d5d9a,_0x1efeb6;}const a0_0x451163=a0_0x1efe;(function(_0x59ae79,_0x63c69d){const _0x18d1b1=a0_0x1efe,_0x5293d9=_0x59ae79();while(!![]){try{const _0x56f66e=parseInt(_0x18d1b1(0x176))/0x1*(-parseInt(_0x18d1b1(0x17a))/0x2)+parseInt(_0x18d1b1(0x195))/0x3*(-parseInt(_0x18d1b1(0x1c2))/0x4)+parseInt(_0x18d1b1(0x18f))/0x5*(parseInt(_0x18d1b1(0x1d0))/0x6)+parseInt(_0x18d1b1(0x1c7))/0x7*(parseInt(_0x18d1b1(0x1bd))/0x8)+-parseInt(_0x18d1b1(0x1f3))/0x9*(parseInt(_0x18d1b1(0x1cc))/0xa)+-parseInt(_0x18d1b1(0x1e4))/0xb+-parseInt(_0x18d1b1(0x170))/0xc*(-parseInt(_0x18d1b1(0x1e6))/0xd);if(_0x56f66e===_0x63c69d)break;else _0x5293d9['push'](_0x5293d9['shift']());}catch(_0xdea8a3){_0x5293d9['push'](_0x5293d9['shift']());}}}(a0_0x5eb9,0xb4d5d));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x451163(0x1bf)),dbType=(process[a0_0x451163(0x19a)][a0_0x451163(0x174)]||a0_0x451163(0x1e9))[a0_0x451163(0x1b8)]();let executeQuery;if(dbType===a0_0x451163(0x1f4)){const oracleDb=require(a0_0x451163(0x1ab));executeQuery=(_0x1d6f51,_0x229bd8)=>oracleDb[a0_0x451163(0x16c)](_0x1d6f51,_0x229bd8);}else{if(dbType===a0_0x451163(0x1af)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x5b9017,_0x5cac46)=>mysqlDb['executeQuery'](_0x5b9017,_0x5cac46);}else executeQuery=require('../utils/db')[a0_0x451163(0x16c)];}function a0_0x5eb9(){const _0x1014c8=['C3LVzLO','EMTUvgG','zMLSztO','sLzSCuK','CgfYyw1Z','lI4VlI4VzxHWB3j0CY8','Bhndwfe','rgnSwM4','zw5KCg9PBNroyw1L','A2jzqxq','DhjPBq','mty0mdG4nuTMq2D3Dq','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','rwv2sfC','ChjVy2vZC2vKx3jVD3m','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','ndy3mtLLAfjgvxK','DM1csfi','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','ignVBhvTBNm','zMLSzv9WyxrO','zw52','zxHWB3j0x2nVBxbSzxrLza','D011B3G','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','x2v4Cg9YDerPCG','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','CMvZB2X2zuv4Cg9YDff1zxj5','z2v0qwXSsM9ICW','zfnWBfC','thDKufi','iefticGkicaGifnftevdvca','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','wMDiufy','cK9srevsiejzia','rxHWB3j0igzPBguGBM90igzVDw5K','y3jLyxrLzf9HDa','y29SDw1UCW','lI4VDxrPBhmVzgiTB3jHy2XL','BvfOveO','AM9PBG','sKL5EKK','BxLZCwW','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','Dg9ju09tDhjPBMC','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','B1blwxy','z2v0sM9I','zxHWB3j0x3nLCNzPy2vFAw5PDa','svzereW','Dg9mB3DLCKnHC2u','BM93','z2vUzxjHDgu','CMvHzezPBgvtEw5J','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','mtu3ntjVs09duuC','rur6y2e','lI4VDxrPBhmVBg9Nz2vY','z2vcweO','ie9sia','otzdAgPWA3G','zgvSzxrLsM9I','CMfUzg9T','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','z2z2ruy','mtCWmufUCMniDq','Dg9vChbLCKnHC2u','C2fUAxrPEMvwywX1zq','z2v0sM9Iu3rHDhvZ','zxHWB3j0x3bYB2nLC3nFzxjYB3i','ntbwvhLzELm','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','BwfW','Aw5JBhvKzxm','nLzftMn4wq','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','rujQrey','l2fWAs8','zxHWB3j0rgLY','y29TCgXLDgvK','rgTWAuC','cLnftevdvcaQiezst00G','zMfPBgvK','Dw5RBM93BL9VCgvYyxrVCG','yNvPBgrpCMrLCKj5q2XHDxnL','ieforca','Dw5SAw5R','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','zxjAu1C','CMvWBgfJzq','id0G','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','CM91BMq','AxnbCNjHEq','ntaXnJeXmfHwyMXXyq','zxHWB3j0x2nSzwfUDxbFC3rHCNq','mtKWodC0nZf4AKLqtxG','C3rHDhvZ','Aw5MBW','Cg9ZDgDYzxnXBa','DxbKyxrLsM9I','vxnPBMCG','wKDzrvG','svmGtLvmta','AM9Ix2LK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','C3rYAw5N','ignVBhvTBNmGzNjVBsbYzxf1zxn0','otuWnZi0AgDduuvP','B3jHy2XL','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','DxrMoa','suL5qLG','ue1TwgK','C0TorvC','C2v0sM9I','zxHWB3j0x2zHAwXLza','zw50CMLLCW','uef3ENO','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','zxHPC3rZu3LUyW','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','s3jeEu0','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','C3vIC3rYAw5N','z3zqrwy','zxHLy3v0zvf1zxj5','zxHJzwXFy29SDw1UC19MywXSyMfJAW','ignOyxjZkq','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','mtjHA2nKDuy','ieLoicG','A2v5CW','zxjYB3i','rejFvfLqrq','Dg90ywXFCM93CW','nKroDej3Ca','C1Dftw0','zxHWB3j0CW','zxHWB3j0uxvLCNK','ntG3ntz2DNvZCgS','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','BgvUz3rO','z2vUzxjHDgvkB2jjza','D2fYBG','t1rTBeS','wuvbA3m','CLf5uve','yuvkBhG','zgvMyxvSDa'];a0_0x5eb9=function(){return _0x1014c8;};return a0_0x5eb9();}class ExportService{constructor(){const _0x31279c=a0_0x451163;this[_0x31279c(0x19e)]=null;}get[a0_0x451163(0x1d4)](){const _0x39e0cd=a0_0x451163,_0x5df78a={'WuHgh':_0x39e0cd(0x1fe),'LGmmZ':'export_service_init_error','sWEMm':_0x39e0cd(0x1ff)};if(!this['_exportDir']){const _0x354e7b=process['env'][_0x39e0cd(0x1ef)]||_0x39e0cd(0x183);this['_exportDir']=process['env']['EXPORT_DIR']||path['join'](__dirname,_0x39e0cd(0x189)+_0x354e7b);try{!fsSync[_0x39e0cd(0x200)](this['_exportDir'])&&fsSync['mkdirSync'](this[_0x39e0cd(0x19e)],{'recursive':!![]}),logger[_0x39e0cd(0x1e8)]({'event':_0x39e0cd(0x1b6),'dir':this['_exportDir']},_0x5df78a['WuHgh']);}catch(_0x5e8fa0){logError(_0x5e8fa0,{'event':_0x5df78a['LGmmZ']},_0x5df78a[_0x39e0cd(0x177)]);}}return this['_exportDir'];}[a0_0x451163(0x1a0)](_0x46ccb9,_0x1f3ccc=null){const _0x35e40e=a0_0x451163,_0x534aa8={'Pijby':'payload','aXeyc':'ENOENT'};if(!_0x46ccb9||typeof _0x46ccb9!==_0x35e40e(0x1f1))return _0x46ccb9;const _0x5cfe54=_0x46ccb9['trim']();if(!_0x5cfe54['startsWith'](_0x35e40e(0x186)))return _0x5cfe54;const _0x9da185=_0x5cfe54['replace'](/^file:/,'')['trim']();if(!_0x9da185)throw new Error('Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty');const _0x395c8d=_0x1f3ccc||path['join'](process['cwd'](),_0x534aa8['Pijby']),_0x5b056f=path['resolve'](_0x395c8d,_0x9da185);logger[_0x35e40e(0x1e8)]({'event':'export_query_file_resolve','relativePath':_0x9da185,'baseDir':_0x395c8d,'absolutePath':_0x5b056f},_0x35e40e(0x19d)+_0x9da185);if(!fsSync[_0x35e40e(0x200)](_0x5b056f))throw new Error(_0x35e40e(0x1dd)+_0x5b056f);try{const _0x26c4be=fsSync[_0x35e40e(0x1bb)](_0x5b056f,_0x35e40e(0x1f6));if(!_0x26c4be||!_0x26c4be['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x5b056f);return logger[_0x35e40e(0x1e8)]({'event':_0x35e40e(0x1b0),'file':_0x5b056f,'queryLength':_0x26c4be[_0x35e40e(0x17c)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x26c4be['length']+_0x35e40e(0x16e)),_0x26c4be['trim']();}catch(_0x590b95){if(_0x590b95['code']===_0x534aa8['aXeyc'])throw new Error(_0x35e40e(0x1dd)+_0x5b056f);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x590b95['message']);}}[a0_0x451163(0x17d)](){const _0x5198a7=a0_0x451163,_0x2dba75={'EDzca':function(_0x181382){return _0x181382();},'JIyzI':function(_0x367443,_0x5d7a95){return _0x367443-_0x5d7a95;},'KrDyM':function(_0x5ec90b,_0x452a2a){return _0x5ec90b+_0x452a2a;},'qOQnO':function(_0x2cf112,_0x5ce1c3){return _0x2cf112<_0x5ce1c3;},'rQyQQ':function(_0x2625bb,_0x5a6c2d){return _0x2625bb*_0x5a6c2d;}},_0x57f60e=_0x5198a7(0x193),_0xf3f8c7=Date[_0x5198a7(0x1b9)]()['toString'](0x24),_0x5bdf86=_0x2dba75[_0x5198a7(0x1be)](uuidv7)[_0x5198a7(0x1df)](/-/g,'')[_0x5198a7(0x16a)](0x0,_0x2dba75[_0x5198a7(0x1ae)](0xc,_0xf3f8c7[_0x5198a7(0x17c)])),_0x477318=_0x2dba75[_0x5198a7(0x167)](_0xf3f8c7,_0x5bdf86)['substring'](0x0,0xc);let _0x1e46a7='';for(let _0x280364=0x0;_0x2dba75['qOQnO'](_0x280364,0xc);_0x280364++){_0x477318[_0x280364]?_0x1e46a7+=_0x477318[_0x280364]:_0x1e46a7+=_0x57f60e['charAt'](Math['floor'](_0x2dba75[_0x5198a7(0x181)](Math[_0x5198a7(0x1c4)](),_0x57f60e[_0x5198a7(0x17c)])));}return _0x1e46a7;}async['createJob'](_0xf185e1){const _0x57db4f=a0_0x451163,_0x1f75f7={'DkpiG':function(_0xa78086,_0x1e775d,_0x275fb1,_0x104088){return _0xa78086(_0x1e775d,_0x275fb1,_0x104088);}},_0x46559a=this['generateJobId'](),_0x339820={'job_id':_0x46559a,'status':'pending','progress':0x0,'created_at':new Date()[_0x57db4f(0x1b1)](),'params':_0xf185e1,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x57db4f(0x1fa)](_0x46559a,_0x339820),logger[_0x57db4f(0x1e8)]({'event':'export_job_created','jobId':_0x46559a,'params':_0xf185e1},'Export\x20job\x20created'),this['processJob'](_0x46559a,_0xf185e1)['catch'](_0x5edb49=>{const _0x1308ce=_0x57db4f;_0x1f75f7[_0x1308ce(0x1d6)](logError,_0x5edb49,{'event':_0x1308ce(0x1cb),'jobId':_0x46559a},'Export\x20processing\x20failed');}),{'job_id':_0x46559a,'status':'pending'};}async[a0_0x451163(0x1ca)](_0x209bc7){const _0x213c5e=a0_0x451163,_0x3f428f={'IVDDL':function(_0xc1e79a,_0x4d0bd8){return _0xc1e79a===_0x4d0bd8;},'xEmcw':_0x213c5e(0x1d5)},_0x366194=await redisHelper['getJob'](_0x209bc7);if(!_0x366194)return{'success':![],'error':_0x213c5e(0x1b2)};return{'success':!![],'data':{'job_id':_0x366194[_0x213c5e(0x1ee)],'status':_0x366194[_0x213c5e(0x1e7)],'progress':_0x366194['progress'],'total_rows':_0x366194[_0x213c5e(0x175)],'processed_rows':_0x366194[_0x213c5e(0x192)],'file_url':_0x3f428f[_0x213c5e(0x1b7)](_0x366194['status'],_0x3f428f['xEmcw'])?_0x213c5e(0x1d3)+_0x366194['params']['moduleName']+'/'+_0x366194[_0x213c5e(0x188)][_0x213c5e(0x18c)]+'/export-download?job_id='+_0x209bc7:null,'error':_0x366194[_0x213c5e(0x173)]||null,'created_at':_0x366194[_0x213c5e(0x1a9)],'completed_at':_0x366194['completed_at']||null}};}async['processJob'](_0x3da4b1,_0x36103a){const _0xff2bd4=a0_0x451163,_0x129445={'wBlYX':'processing','OSbLF':_0xff2bd4(0x197),'YuUau':_0xff2bd4(0x1f0),'ZgHAr':'completed','vmBHR':_0xff2bd4(0x19b),'zJDQb':_0xff2bd4(0x1fb),'STjUv':'Export\x20failed','oPKYv':_0xff2bd4(0x1d8)};try{await redisHelper['updateJob'](_0x3da4b1,{'status':_0x129445['wBlYX'],'started_at':new Date()[_0xff2bd4(0x1b1)]()}),logger[_0xff2bd4(0x1e8)]({'event':_0x129445['OSbLF'],'jobId':_0x3da4b1},_0x129445['YuUau']);const _0x57a384=await this['fetchData'](_0x36103a);await redisHelper[_0xff2bd4(0x1ea)](_0x3da4b1,{'total_rows':_0x57a384['length']});const _0x34b53e=await this['generateExcel'](_0x3da4b1,_0x57a384,_0x36103a);await redisHelper['updateJob'](_0x3da4b1,{'status':_0x129445['ZgHAr'],'progress':0x64,'file_path':_0x34b53e,'completed_at':new Date()['toISOString']()}),logger[_0xff2bd4(0x1e8)]({'event':_0x129445[_0xff2bd4(0x196)],'jobId':_0x3da4b1,'rows':_0x57a384['length']},'Export\x20completed\x20successfully');}catch(_0x58a8a4){logError(_0x58a8a4,{'event':_0x129445['zJDQb'],'jobId':_0x3da4b1},_0x129445['STjUv']),await redisHelper[_0xff2bd4(0x1ea)](_0x3da4b1,{'status':_0x129445[_0xff2bd4(0x1b4)],'error':_0x58a8a4['message'],'failed_at':new Date()[_0xff2bd4(0x1b1)]()});}}async['fetchData'](_0x56dcd8){const _0x1b88bf=a0_0x451163,_0x44ad63={'PMmXi':function(_0x133468,_0x2ae121){return _0x133468||_0x2ae121;},'Rfexx':function(_0x1d2df7,_0x4f7933){return _0x1d2df7===_0x4f7933;},'lPkvs':_0x1b88bf(0x19f),'hSpMo':'_data','PAwzz':_0x1b88bf(0x1a5),'nZJNm':function(_0x127502,_0x3e149c){return _0x127502>_0x3e149c;},'EPmCu':function(_0x5f406e,_0x4781ad){return _0x5f406e>_0x4781ad;},'JVlqI':'Data\x20fetched\x20successfully','ilQVc':function(_0x1b68c8,_0x29b2c7,_0x11a694,_0x96a73d){return _0x1b68c8(_0x29b2c7,_0x11a694,_0x96a73d);},'nUtLt':'Failed\x20to\x20fetch\x20data'};try{const {tableName:_0x92409f,columns:_0x51afe5,exportQuery:_0xa9bb69,where:_0x2fe8a7,sort_columns:_0x177dc6}=_0x56dcd8;if(_0x44ad63[_0x1b88bf(0x1f8)](!_0x92409f,!_0x51afe5)||_0x44ad63['Rfexx'](_0x51afe5['length'],0x0))throw new Error(_0x44ad63['lPkvs']);const _0x4a0c2a=_0x92409f['replace'](/\./g,'_')+_0x44ad63['hSpMo'];let _0x8cbdc;if(_0xa9bb69&&_0xa9bb69[_0x1b88bf(0x18e)]()){let _0x2685d6=_0xa9bb69;_0xa9bb69['trim']()['startsWith'](_0x1b88bf(0x186))&&(_0x2685d6=this['resolveExportQuery'](_0xa9bb69)),_0x8cbdc='WITH\x20'+_0x4a0c2a+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x2685d6+'\x0a)',_0x8cbdc+='\x0aSELECT\x20*\x20FROM\x20'+_0x4a0c2a,logger['info']({'event':'export_using_custom_query','query':_0x2685d6['substring'](0x0,0x64)},_0x44ad63[_0x1b88bf(0x1fd)]);}else{const _0x19fcbf=_0x51afe5['map'](_0x59d58f=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x59d58f)[_0x1b88bf(0x1ad)](',');_0x8cbdc='WITH\x20'+_0x4a0c2a+_0x1b88bf(0x1a4)+_0x19fcbf+'\x0a\x20\x20\x20\x20FROM\x20'+_0x92409f+'\x0a)',_0x8cbdc+=_0x1b88bf(0x1d7)+_0x4a0c2a,logger[_0x1b88bf(0x1e8)]({'event':_0x1b88bf(0x1c5),'tableName':_0x92409f,'columnCount':_0x51afe5[_0x1b88bf(0x17c)]},'Using\x20auto-generated\x20query');}if(_0x2fe8a7){const _0x2a08ab=this['buildWhereClause'](_0x2fe8a7);_0x2a08ab&&(_0x8cbdc+='\x0aWHERE\x20'+_0x2a08ab);}if(_0x177dc6&&_0x44ad63['nZJNm'](_0x177dc6['length'],0x0)){const _0xba5d44=this['buildOrderByClause'](_0x177dc6);_0xba5d44&&(_0x8cbdc+=_0x1b88bf(0x1a7)+_0xba5d44);}logger[_0x1b88bf(0x1e8)]({'event':'export_fetch_start','query':_0x8cbdc['substring'](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x3684cf=await executeQuery(_0x8cbdc);let _0x5eaeca=_0x3684cf;return _0x44ad63['Rfexx'](dbType,'oracle')&&_0x3684cf&&_0x44ad63['EPmCu'](_0x3684cf['length'],0x0)&&(_0x5eaeca=_0x3684cf['map'](_0x50370e=>{const _0x546303=_0x1b88bf,_0x5ef2b1={};for(const [_0x5a76d5,_0x438798]of Object[_0x546303(0x1fc)](_0x50370e)){_0x5ef2b1[_0x5a76d5['toLowerCase']()]=_0x438798;}return _0x5ef2b1;})),logger['info']({'event':_0x1b88bf(0x1b3),'rows':_0x5eaeca['length']},_0x44ad63[_0x1b88bf(0x187)]),_0x5eaeca;}catch(_0x11051f){_0x44ad63['ilQVc'](logError,_0x11051f,{'event':'export_fetch_error'},_0x44ad63['nUtLt']);throw _0x11051f;}}[a0_0x451163(0x1c9)](_0xf6f0f5){const _0x16d44e=a0_0x451163,_0x58236d={'svYDy':function(_0x2fc0c9,_0x525684){return _0x2fc0c9===_0x525684;},'zknTh':_0x16d44e(0x1f1)};if(_0x58236d['svYDy'](typeof _0xf6f0f5,_0x58236d[_0x16d44e(0x185)]))return _0xf6f0f5['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x16d44e(0x18e)]();else{if(Array['isArray'](_0xf6f0f5))return _0xf6f0f5['map'](_0x4e3b97=>this['sanitizeValue'](_0x4e3b97));}return _0xf6f0f5;}['buildWhereClause'](_0x50af60){const _0x48ae87=a0_0x451163,_0x196435={'gfvEF':_0x48ae87(0x1f1),'geBXJ':function(_0x2c992c,_0x4dd5c8){return _0x2c992c===_0x4dd5c8;},'kfSvh':function(_0x2e8005,_0x5b8421){return _0x2e8005||_0x5b8421;},'YEAks':function(_0x1ba5bd,_0x1086ef){return _0x1ba5bd!==_0x1086ef;},'ZGYEX':'NOT\x20LIKE','dSplW':_0x48ae87(0x1ed),'wMuox':_0x48ae87(0x1d9),'eUlRI':_0x48ae87(0x1cd),'mQhTJ':function(_0x3f0891,_0x5597ab){return _0x3f0891===_0x5597ab;},'rNRhL':function(_0x2cac4e,_0x4f7720){return _0x2cac4e===_0x4f7720;},'EevHW':_0x48ae87(0x1c1)};if(!_0x50af60||!_0x50af60['conditions']||_0x196435[_0x48ae87(0x1ac)](_0x50af60['conditions'][_0x48ae87(0x17c)],0x0))return'';const {logic:_0x57b868,conditions:_0x37b6ac}=_0x50af60,_0x5174d5=_0x57b868&&_0x196435['rNRhL'](_0x57b868['toUpperCase'](),'OR')?_0x196435[_0x48ae87(0x191)]:_0x48ae87(0x1db),_0x139a9e=_0x37b6ac[_0x48ae87(0x1ce)](_0x58a155=>{const _0x54dc20=_0x48ae87,{key:_0x550628,operator:_0x4cd1af,value:_0x2531cd,sensitive:_0xb0ab8a}=_0x58a155;if(_0x196435['kfSvh'](!_0x550628,!_0x4cd1af))return logger[_0x54dc20(0x17e)]({'event':'invalid_condition','condition':_0x58a155},'Skipping\x20invalid\x20condition'),null;const _0x51a62c=this['sanitizeValue'](_0x2531cd),_0x5e4455=_0x196435[_0x54dc20(0x180)](_0xb0ab8a,undefined)?_0xb0ab8a:!![];let _0x78000=_0x550628,_0x39ec6d=_0x51a62c;!_0x5e4455&&(_0x78000='UPPER('+_0x550628+')',_0x196435[_0x54dc20(0x1c0)](typeof _0x2531cd,_0x196435[_0x54dc20(0x1c6)])&&(_0x39ec6d=_0x2531cd[_0x54dc20(0x1c8)]()));const _0x2aae19=typeof _0x39ec6d===_0x196435['gfvEF']?'\x27'+_0x39ec6d['replace'](/'/g,'\x27\x27')+'\x27':_0x39ec6d;switch(_0x4cd1af[_0x54dc20(0x1c8)]()){case'=':case'!=':case'<>':return _0x78000+'\x20'+_0x4cd1af+'\x20'+_0x2aae19;case'>':case'<':case'>=':case'<=':const _0x3fcbe6=typeof _0x51a62c===_0x54dc20(0x1f1)?'\x27'+_0x51a62c['replace'](/'/g,'\x27\x27')+'\x27':_0x51a62c;return _0x550628+'\x20'+_0x4cd1af+'\x20'+_0x3fcbe6;case'LIKE':case _0x196435[_0x54dc20(0x1ec)]:return _0x78000+'\x20'+_0x4cd1af+'\x20'+_0x2aae19;case'IN':if(Array[_0x54dc20(0x1e3)](_0x51a62c)){let _0x3f9b48;return!_0x5e4455?_0x3f9b48=_0x51a62c[_0x54dc20(0x1ce)](_0x1bc2e8=>{const _0x35e960=_0x54dc20,_0x2d5779=typeof _0x1bc2e8===_0x196435[_0x35e960(0x1c6)]?_0x1bc2e8[_0x35e960(0x1c8)]():_0x1bc2e8;return _0x196435['geBXJ'](typeof _0x2d5779,'string')?'\x27'+_0x2d5779[_0x35e960(0x1df)](/'/g,'\x27\x27')+'\x27':_0x2d5779;})[_0x54dc20(0x1ad)](',\x20'):_0x3f9b48=_0x51a62c[_0x54dc20(0x1ce)](_0xcbc083=>typeof _0xcbc083==='string'?'\x27'+_0xcbc083[_0x54dc20(0x1df)](/'/g,'\x27\x27')+'\x27':_0xcbc083)[_0x54dc20(0x1ad)](',\x20'),_0x78000+_0x54dc20(0x171)+_0x3f9b48+')';}return _0x78000+_0x54dc20(0x171)+_0x2aae19+')';case _0x196435[_0x54dc20(0x1a2)]:return _0x550628+'\x20IS\x20NULL';case'IS\x20NOT\x20NULL':return _0x550628+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x196435[_0x54dc20(0x19c)],'operator':_0x4cd1af},_0x196435['eUlRI']);return _0x78000+_0x54dc20(0x1e0)+_0x2aae19;}})['filter'](_0x4e1940=>_0x4e1940!==null);if(_0x196435[_0x48ae87(0x1ac)](_0x139a9e[_0x48ae87(0x17c)],0x0))return'';return _0x139a9e[_0x48ae87(0x1ad)](_0x5174d5);}[a0_0x451163(0x1da)](_0x131ab2){const _0x54afe1=a0_0x451163,_0x4181db={'lsCXQ':'invalid_sort_column','gvCWN':_0x54afe1(0x190),'ZgHPV':function(_0xdcdcbe,_0x5d7594){return _0xdcdcbe===_0x5d7594;},'IIyBX':'DESC','edOAR':'ASC'};if(!_0x131ab2||_0x4181db[_0x54afe1(0x1a6)](_0x131ab2['length'],0x0))return'';const _0x2fdcc2=_0x131ab2[_0x54afe1(0x1ce)](_0x50f9be=>{const _0x5a0de2=_0x54afe1,{column:_0x253c09,direction:_0x873c6b}=_0x50f9be;if(!_0x253c09)return logger['warn']({'event':_0x4181db[_0x5a0de2(0x18a)],'item':_0x50f9be},_0x4181db['gvCWN']),null;const _0x29af4e=_0x873c6b&&_0x4181db['ZgHPV'](_0x873c6b[_0x5a0de2(0x1c8)](),'DESC')?_0x4181db[_0x5a0de2(0x1f7)]:_0x4181db['edOAR'];return _0x253c09+'\x20'+_0x29af4e;})['filter'](_0x2e3501=>_0x2e3501!==null);if(_0x2fdcc2['length']===0x0)return'';return _0x2fdcc2[_0x54afe1(0x1ad)](',\x20');}async['generateExcel'](_0x361d92,_0xbff878,_0x32df38){const _0x231ef3=a0_0x451163,_0x5764ed={'kbYAt':function(_0x37f75d,_0x478fd1){return _0x37f75d/_0x478fd1;},'sgEnS':'all','NlYgN':function(_0x200e48,_0x182395){return _0x200e48>_0x182395;},'syofZ':_0x231ef3(0x194),'sKNEW':_0x231ef3(0x16d)},_0x4e9d94=require(_0x231ef3(0x1f5)),_0x37320a=new _0x4e9d94(),_0x4b67c8=_0x32df38['filename']?_0x32df38['filename']+'-'+_0x361d92:'export-'+_0x361d92,_0x1beb35=path['join'](this['exportDir'],_0x4b67c8+'.xlsx');let _0x2f5398=_0x32df38[_0x231ef3(0x1aa)];const _0x6734cd=_0x32df38[_0x231ef3(0x179)]&&_0x32df38[_0x231ef3(0x179)][_0x231ef3(0x18e)](),_0x44bdae=_0x2f5398&&_0x2f5398[_0x231ef3(0x17c)]===0x1&&(_0x2f5398[0x0]==='*'||_0x2f5398[0x0][_0x231ef3(0x1b8)]()===_0x5764ed['sgEnS']);if(_0xbff878[_0x231ef3(0x17c)]>0x0){const _0x5458c0=Object[_0x231ef3(0x172)](_0xbff878[0x0]);if(_0x6734cd)_0x2f5398=_0x5458c0,logger['info']({'event':'excel_columns_from_custom_query','columns':_0x2f5398},'Using\x20'+_0x2f5398['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x44bdae)_0x2f5398=_0x5458c0,logger[_0x231ef3(0x1e8)]({'event':'excel_columns_select_all','columns':_0x2f5398},'Using\x20all\x20'+_0x2f5398[_0x231ef3(0x17c)]+_0x231ef3(0x168));else{if(_0x2f5398&&_0x2f5398[_0x231ef3(0x17c)]>0x0){const _0x1b35d5=_0x2f5398['filter'](_0x287ae6=>_0x5458c0[_0x231ef3(0x1cf)](_0x287ae6));_0x5764ed['NlYgN'](_0x1b35d5[_0x231ef3(0x17c)],0x0)?(_0x2f5398=_0x1b35d5,logger[_0x231ef3(0x1e8)]({'event':_0x5764ed[_0x231ef3(0x184)],'requestedColumns':_0x32df38['columns'],'validColumns':_0x2f5398},_0x231ef3(0x1eb)+_0x2f5398[_0x231ef3(0x17c)]+_0x231ef3(0x1f2))):(_0x2f5398=_0x5458c0,logger['warn']({'event':_0x5764ed[_0x231ef3(0x1f9)],'requestedColumns':_0x32df38[_0x231ef3(0x1aa)],'availableColumns':_0x5458c0},_0x231ef3(0x16f)+_0x5458c0['length']+_0x231ef3(0x198)));}else _0x2f5398=_0x5458c0,logger[_0x231ef3(0x1e8)]({'event':'excel_columns_from_query_result','columns':_0x2f5398},_0x231ef3(0x1eb)+_0x2f5398[_0x231ef3(0x17c)]+_0x231ef3(0x201));}}}else logger['info']({'event':_0x231ef3(0x1e1),'columns':_0x2f5398},_0x231ef3(0x1eb)+(_0x2f5398?.[_0x231ef3(0x17c)]||0x0)+_0x231ef3(0x1bc));return await _0x37320a[_0x231ef3(0x1ba)]({'data':_0xbff878,'columns':_0x2f5398,'columnFormats':_0x32df38['columnFormats']||null,'fieldLabels':_0x32df38['fieldLabels']||null,'filePath':_0x1beb35,'onProgress':async _0x12c114=>{const _0xa5e39e=_0x231ef3;await redisHelper['updateJob'](_0x361d92,{'progress':Math[_0xa5e39e(0x1e2)](_0x12c114),'processed_rows':Math[_0xa5e39e(0x1e2)](_0x5764ed[_0xa5e39e(0x18d)](_0x12c114,0x64)*_0xbff878[_0xa5e39e(0x17c)])});}}),_0x1beb35;}async['getFilePath'](_0x18cfd5){const _0x176207=a0_0x451163,_0x47fda8={'EBjDF':'completed','SwiGX':function(_0x8877fd,_0x5a5e5e,_0x250877,_0x479705){return _0x8877fd(_0x5a5e5e,_0x250877,_0x479705);},'aEJlx':'export_file_not_found','LwdPR':_0x176207(0x1a8)},_0x494c9c=await redisHelper[_0x176207(0x1b5)](_0x18cfd5);if(!_0x494c9c||_0x494c9c[_0x176207(0x1e7)]!==_0x47fda8[_0x176207(0x1d2)])return null;try{return await fs['access'](_0x494c9c['file_path']),_0x494c9c['file_path'];}catch(_0x41eb84){return _0x47fda8['SwiGX'](logError,_0x41eb84,{'event':_0x47fda8[_0x176207(0x182)],'jobId':_0x18cfd5,'path':_0x494c9c[_0x176207(0x199)]},_0x47fda8[_0x176207(0x1a3)]),null;}}async['cleanup'](){const _0x3fc18c=a0_0x451163,_0x1a65a4={'DclZn':function(_0x370a7b,_0x2edc12){return _0x370a7b/_0x2edc12;},'OTmlK':function(_0x3d4c92,_0x47233a){return _0x3d4c92*_0x47233a;},'erZSW':function(_0x5b4d74,_0x9a3f61){return _0x5b4d74>_0x9a3f61;},'gvPEf':'Export\x20file\x20deleted','OzqSt':_0x3fc18c(0x169)};logger['info']({'event':_0x3fc18c(0x1e5)},_0x3fc18c(0x1d1));const _0x30a83b=await redisHelper[_0x3fc18c(0x1a1)]();let _0x2f8adb=0x0;for(const _0x4914f9 of _0x30a83b){const _0xebe8ed=new Date(_0x4914f9['created_at']),_0x29538d=new Date(),_0x5959c2=_0x1a65a4[_0x3fc18c(0x18b)](_0x29538d-_0xebe8ed,_0x1a65a4['OTmlK'](_0x1a65a4[_0x3fc18c(0x17f)](0x3e8,0x3c),0x3c));if(_0x1a65a4[_0x3fc18c(0x1de)](_0x5959c2,0x1)){if(_0x4914f9['file_path'])try{await fs[_0x3fc18c(0x1dc)](_0x4914f9['file_path']),logger[_0x3fc18c(0x1e8)]({'event':'export_file_deleted','path':_0x4914f9['file_path']},_0x1a65a4[_0x3fc18c(0x16b)]);}catch(_0x1bbdf3){logger[_0x3fc18c(0x17e)]({'event':_0x1a65a4['OzqSt'],'path':_0x4914f9[_0x3fc18c(0x199)],'error':_0x1bbdf3['message']},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper[_0x3fc18c(0x1c3)](_0x4914f9['job_id']),_0x2f8adb++;}}return logger[_0x3fc18c(0x1e8)]({'event':_0x3fc18c(0x17b),'deleted':_0x2f8adb},'Export\x20cleanup\x20completed'),_0x2f8adb;}}module[a0_0x451163(0x178)]=new ExportService();
1
+ const a0_0x22fccf=a0_0x5655;function a0_0x5655(_0x8cbc71,_0x4a5711){_0x8cbc71=_0x8cbc71-0x152;const _0x44cdff=a0_0x44cd();let _0x56552c=_0x44cdff[_0x8cbc71];if(a0_0x5655['gPrubn']===undefined){var _0x587b44=function(_0x1b3157){const _0x4e7537='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x526fdb='',_0x5b9de9='';for(let _0x37b610=0x0,_0x1dd1d1,_0x559acc,_0x50ff9e=0x0;_0x559acc=_0x1b3157['charAt'](_0x50ff9e++);~_0x559acc&&(_0x1dd1d1=_0x37b610%0x4?_0x1dd1d1*0x40+_0x559acc:_0x559acc,_0x37b610++%0x4)?_0x526fdb+=String['fromCharCode'](0xff&_0x1dd1d1>>(-0x2*_0x37b610&0x6)):0x0){_0x559acc=_0x4e7537['indexOf'](_0x559acc);}for(let _0x9aec96=0x0,_0x16a837=_0x526fdb['length'];_0x9aec96<_0x16a837;_0x9aec96++){_0x5b9de9+='%'+('00'+_0x526fdb['charCodeAt'](_0x9aec96)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b9de9);};a0_0x5655['KiUJNr']=_0x587b44,a0_0x5655['fmMFWy']={},a0_0x5655['gPrubn']=!![];}const _0x165a3d=_0x44cdff[0x0],_0x2b3d72=_0x8cbc71+_0x165a3d,_0x43391c=a0_0x5655['fmMFWy'][_0x2b3d72];return!_0x43391c?(_0x56552c=a0_0x5655['KiUJNr'](_0x56552c),a0_0x5655['fmMFWy'][_0x2b3d72]=_0x56552c):_0x56552c=_0x43391c,_0x56552c;}(function(_0x5dcd45,_0x14ec20){const _0x110aaa=a0_0x5655,_0x4ad542=_0x5dcd45();while(!![]){try{const _0x2755b1=-parseInt(_0x110aaa(0x165))/0x1*(parseInt(_0x110aaa(0x1d5))/0x2)+-parseInt(_0x110aaa(0x1c7))/0x3+parseInt(_0x110aaa(0x16b))/0x4+parseInt(_0x110aaa(0x1a1))/0x5+parseInt(_0x110aaa(0x1bc))/0x6+parseInt(_0x110aaa(0x15d))/0x7*(parseInt(_0x110aaa(0x17e))/0x8)+-parseInt(_0x110aaa(0x15f))/0x9;if(_0x2755b1===_0x14ec20)break;else _0x4ad542['push'](_0x4ad542['shift']());}catch(_0x469ce6){_0x4ad542['push'](_0x4ad542['shift']());}}}(a0_0x44cd,0x25081));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x22fccf(0x16f)],fsSync=require('fs'),redisHelper=require(a0_0x22fccf(0x163)),{logger,logError}=require(a0_0x22fccf(0x18a)),dbType=(process[a0_0x22fccf(0x1db)][a0_0x22fccf(0x193)]||a0_0x22fccf(0x177))[a0_0x22fccf(0x15a)]();let executeQuery;function a0_0x44cd(){const _0x1bac7e=['zxHWB3j0x2nSzwfUDxbFC3rHCNq','mvjIue1NEa','lNHSC3G','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','Aw52ywXPzf9JB25KAxrPB24','ieforca','zMXVB3i','mJeYnte2v0jLr25M','Eu1wD3a','BwvZC2fNzq','x2rHDge','ChjVBwLZzxm','y29SDw1UCW','vvbqrviO','CuLJyMO','zMLSzv9WyxrO','zxHWB3j0CW','sxzmu3a','zxHWB3j0x2zPBgvFzgvSzxrLza','Cg9ZDgDYzxnXBa','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','vLPSBeG','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','zxHWB3j0lq','uuTirNe','BxLZCwW','ofHQz0jRrW','zxjYB3i','Dw5RBM93BL9VCgvYyxrVCG','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','C3vIC3rYAw5N','DhjPBq','AM9PBG','B2XlDu4','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','zMfPBgvK','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','lI4VDxrPBhmVzgiTB3jHy2XL','lI4VDxrPBhmVBg9Nz2vY','BgvUz3rO','veTcDLC','DxbKyxrLsM9I','yMvwA08','iefticGkicaGia','zxHJzwXFy29SDw1UC19MywXSyMfJAW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','rejFvfLqrq','AhHMreS','q0PQAeO','zfjRuM0','zxHWB3j0x2zPBgvFBM90x2zVDw5K','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','ignVBhvTBNmGzNjVBsbYzxf1zxn0','BwfW','y29TCgXLDgvKx2f0','yNvPBgrpCMrLCKj5q2XHDxnL','y3jLyxrLzf9HDa','z2vUzxjHDgvfEgnLBa','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','Dw5SAw5R','mtm2nZmZnuTnuhHZBG','zxHWB3j0rgLY','CM91BMq','uMLrr0y','zMLSzw5HBwu','y0TYB1G','zxHWB3j0x2zLDgnOx3n0yxj0','ELHMCMO','zxHWB3j0uxvLCNK','y2f0y2G','rvHqt1jux0rjuG','C3rHCNrZv2L0Aa','CMvZB2X2zuv4Cg9YDff1zxj5','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','x2v4Cg9YDerPCG','A2fLu1i','zMLSztO','zMLLBgrmywjLBhm','AuToyvu','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','ieLtie5vteW','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','A05Rtgi','CMvHzezPBgvtEw5J','z2v0sM9I','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','mtGXmdK0nfv2vK5QsG','zMLSDgvY','z2v0rMLSzvbHDgG','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','svmGtLvmta','tK9uieXjs0u','r2fqtva','zxHWB3j0x2zHAwXLza','DMjfrhG','B3jHy2XL','z1zMzKO','ndu3mdqXsM1kq1zz','y29UzgL0Aw9UCW','y3jLyxrLsM9I','CMvWBgfJzq','ieLoicG','C3rYAw5N','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','rxHWB3j0igzHAwXLza','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','zxHPC3rZu3LUyW','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','tLnHquO','svmGtK9uie5vteW','CgfYyw1Z','ndK2ode2vKnArunc','z01JEKC','z2v0qwXSsM9ICW','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','qvnd','cLDirvjfia','zw52','q1nksKe','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','y2XLyw51Ca','ChjVy2vZC0PVyG','z2vUzxjHDgvkB2jjza','Dg9ju09tDhjPBMC','vxnPBMCG','BwTKAxjtEw5J','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','svbdvNa','cIaGicaGicaG','CgvUzgLUzW','Bw9KDwXLtMfTzq','D2fYBG','C1bZvKW','u1PSzwq','Aw5MBW','y29TCgXLDgvK','zxHWB3j0x2nVBxbSzxrLza','s3PUwwK','v0Lusca','qKnNsvm','z0L0vva','zxHLy3v0zvf1zxj5','rxHWB3j0igzPBguGBM90igzVDw5K','lI4VDxrPBhmVzgiTBxLZCwW','qMLLAfy','cK9srevsiejzia','ChjVy2vZC2vKx3jVD3m','Dg9mB3DLCKnHC2u','Dg9vChbLCKnHC2u','ChjVy2vZC2LUzW','mta3mdK1mvrWq2fAra','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','mJa2mdC5m25mCfLitq','Dg9tDhjPBMC','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','C2fUAxrPEMvwywX1zq','lI4VDxrPBhmVCMvKAxmTAgvSCgvY'];a0_0x44cd=function(){return _0x1bac7e;};return a0_0x44cd();}if(dbType===a0_0x22fccf(0x1c5)){const oracleDb=require(a0_0x22fccf(0x189));executeQuery=(_0x3b466f,_0x1f09aa)=>oracleDb[a0_0x22fccf(0x154)](_0x3b466f,_0x1f09aa);}else{if(dbType===a0_0x22fccf(0x17d)){const mysqlDb=require(a0_0x22fccf(0x156));executeQuery=(_0x541d54,_0x120175)=>mysqlDb[a0_0x22fccf(0x154)](_0x541d54,_0x120175);}else executeQuery=require('../utils/db')[a0_0x22fccf(0x154)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x22fccf(0x1a2)](){const _0x33b9=a0_0x22fccf,_0x9ad50b={'rYzKV':'Failed\x20to\x20initialize\x20export\x20service'};if(!this['_exportDir']){const _0x57cc62=process[_0x33b9(0x1db)][_0x33b9(0x191)]||'default';this[_0x33b9(0x1af)]=process[_0x33b9(0x1db)][_0x33b9(0x1ab)]||path[_0x33b9(0x184)](__dirname,'../../exports/'+_0x57cc62);try{!fsSync['existsSync'](this[_0x33b9(0x1af)])&&fsSync[_0x33b9(0x1e3)](this['_exportDir'],{'recursive':!![]}),logger[_0x33b9(0x1ec)]({'event':'export_service_init','dir':this['_exportDir']},_0x33b9(0x181));}catch(_0x381c17){logError(_0x381c17,{'event':_0x33b9(0x178)},_0x9ad50b['rYzKV']);}}return this[_0x33b9(0x1af)];}[a0_0x22fccf(0x1ad)](_0x341a9a,_0x50235b=null){const _0x1961c6=a0_0x22fccf,_0x311ab5={'SZled':function(_0x34c55f,_0x34f8a1){return _0x34c55f!==_0x34f8a1;},'CJjhJ':'string','iKNaU':_0x1961c6(0x1dd),'zLTjc':'payload','VvBvJ':_0x1961c6(0x1cd),'RiQGF':function(_0x19d2e3,_0x4fb177){return _0x19d2e3===_0x4fb177;},'cKroX':'ENOENT'};if(!_0x341a9a||_0x311ab5[_0x1961c6(0x1eb)](typeof _0x341a9a,_0x311ab5[_0x1961c6(0x195)]))return _0x341a9a;const _0x1c7ac2=_0x341a9a[_0x1961c6(0x183)]();if(!_0x1c7ac2['startsWith']('file:'))return _0x1c7ac2;const _0x4a4e82=_0x1c7ac2[_0x1961c6(0x1ca)](/^file:/,'')[_0x1961c6(0x183)]();if(!_0x4a4e82)throw new Error(_0x311ab5[_0x1961c6(0x1b3)]);const _0x2ffa97=_0x50235b||path['join'](process['cwd'](),_0x311ab5['zLTjc']),_0x2c6e6a=path['resolve'](_0x2ffa97,_0x4a4e82);logger['info']({'event':'export_query_file_resolve','relativePath':_0x4a4e82,'baseDir':_0x2ffa97,'absolutePath':_0x2c6e6a},_0x1961c6(0x1d8)+_0x4a4e82);if(!fsSync[_0x1961c6(0x1d0)](_0x2c6e6a))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x2c6e6a);try{const _0x4fc1c3=fsSync[_0x1961c6(0x1b9)](_0x2c6e6a,'utf8');if(!_0x4fc1c3||!_0x4fc1c3[_0x1961c6(0x183)]())throw new Error(_0x1961c6(0x1d1)+_0x2c6e6a);return logger['info']({'event':_0x311ab5['VvBvJ'],'file':_0x2c6e6a,'queryLength':_0x4fc1c3[_0x1961c6(0x18b)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x4fc1c3['length']+'\x20chars)'),_0x4fc1c3[_0x1961c6(0x183)]();}catch(_0x1ba20c){if(_0x311ab5[_0x1961c6(0x1a4)](_0x1ba20c['code'],_0x311ab5[_0x1961c6(0x1a6)]))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x2c6e6a);throw new Error(_0x1961c6(0x188)+_0x1ba20c[_0x1961c6(0x16d)]);}}['generateJobId'](){const _0x6ec4fe=a0_0x22fccf,_0x20434b={'dRkRm':_0x6ec4fe(0x1bb),'beVkO':function(_0x3deb4b){return _0x3deb4b();},'IPCVp':function(_0x4a7a09,_0x157026){return _0x4a7a09+_0x157026;},'yMVwp':function(_0x450d8f,_0x42376e){return _0x450d8f*_0x42376e;}},_0x4188e3=_0x20434b[_0x6ec4fe(0x196)],_0x160cae=Date['now']()[_0x6ec4fe(0x160)](0x24),_0x23279f=_0x20434b[_0x6ec4fe(0x18e)](uuidv7)['replace'](/-/g,'')[_0x6ec4fe(0x182)](0x0,0xc-_0x160cae[_0x6ec4fe(0x18b)]),_0x4cfd15=_0x20434b[_0x6ec4fe(0x1e5)](_0x160cae,_0x23279f)['substring'](0x0,0xc);let _0x2b2aa2='';for(let _0x4653f7=0x0;_0x4653f7<0xc;_0x4653f7++){_0x4cfd15[_0x4653f7]?_0x2b2aa2+=_0x4cfd15[_0x4653f7]:_0x2b2aa2+=_0x4188e3['charAt'](Math[_0x6ec4fe(0x16a)](_0x20434b[_0x6ec4fe(0x16c)](Math['random'](),_0x4188e3['length'])));}return _0x2b2aa2;}async[a0_0x22fccf(0x1c9)](_0x2ad41d){const _0x27770a=a0_0x22fccf,_0x2ba22e={'XajGG':'export_process_error','gMczG':'Export\x20processing\x20failed','kNkLb':_0x27770a(0x1e7),'ZtVNK':'export_job_created'},_0x20043a=this[_0x27770a(0x1e0)](),_0x381fff={'job_id':_0x20043a,'status':_0x2ba22e[_0x27770a(0x1b8)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x2ad41d,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x20043a,_0x381fff),logger[_0x27770a(0x1ec)]({'event':_0x2ba22e['ZtVNK'],'jobId':_0x20043a,'params':_0x2ad41d},'Export\x20job\x20created'),this['processJob'](_0x20043a,_0x2ad41d)[_0x27770a(0x1aa)](_0x528cdc=>{const _0x4f89f0=_0x27770a;logError(_0x528cdc,{'event':_0x2ba22e['XajGG'],'jobId':_0x20043a},_0x2ba22e[_0x4f89f0(0x1d6)]);}),{'job_id':_0x20043a,'status':_0x2ba22e['kNkLb']};}async['getJobStatus'](_0x271b31){const _0x243eee=a0_0x22fccf,_0x3101f3={'HYxfU':'Job\x20not\x20found\x20or\x20expired'},_0x537767=await redisHelper[_0x243eee(0x1ba)](_0x271b31);if(!_0x537767)return{'success':![],'error':_0x3101f3['HYxfU']};return{'success':!![],'data':{'job_id':_0x537767['job_id'],'status':_0x537767['status'],'progress':_0x537767['progress'],'total_rows':_0x537767['total_rows'],'processed_rows':_0x537767[_0x243eee(0x159)],'file_url':_0x537767['status']===_0x243eee(0x1ed)?'/api/'+_0x537767[_0x243eee(0x1d4)][_0x243eee(0x1e8)]+'/'+_0x537767['params']['endpointName']+'/export-download?job_id='+_0x271b31:null,'error':_0x537767[_0x243eee(0x17f)]||null,'created_at':_0x537767['created_at'],'completed_at':_0x537767[_0x243eee(0x19b)]||null}};}async[a0_0x22fccf(0x1df)](_0x536e28,_0x38fb11){const _0x56609c=a0_0x22fccf,_0x2c291c={'lDAxp':_0x56609c(0x15c),'IvLSp':_0x56609c(0x1e4),'sPsVL':'Export\x20completed\x20successfully','QKHFq':function(_0x9c4299,_0x38bff5,_0x13fde2,_0x34097c){return _0x9c4299(_0x38bff5,_0x13fde2,_0x34097c);},'ksfJe':_0x56609c(0x1c3),'VZllH':_0x56609c(0x1ce),'njFiY':_0x56609c(0x187)};try{await redisHelper['updateJob'](_0x536e28,{'status':_0x2c291c['lDAxp'],'started_at':new Date()['toISOString']()}),logger[_0x56609c(0x1ec)]({'event':_0x2c291c[_0x56609c(0x175)],'jobId':_0x536e28},'Export\x20processing\x20started');const _0x4b299e=await this['fetchData'](_0x38fb11);await redisHelper[_0x56609c(0x18d)](_0x536e28,{'total_rows':_0x4b299e['length']});const _0xcb2886=await this[_0x56609c(0x19e)](_0x536e28,_0x4b299e,_0x38fb11);await redisHelper['updateJob'](_0x536e28,{'status':'completed','progress':0x64,'file_path':_0xcb2886,'completed_at':new Date()[_0x56609c(0x1e1)]()}),logger['info']({'event':_0x56609c(0x1ee),'jobId':_0x536e28,'rows':_0x4b299e[_0x56609c(0x18b)]},_0x2c291c[_0x56609c(0x1ea)]);}catch(_0x458af6){_0x2c291c[_0x56609c(0x17c)](logError,_0x458af6,{'event':_0x2c291c['ksfJe'],'jobId':_0x536e28},_0x2c291c[_0x56609c(0x179)]),await redisHelper['updateJob'](_0x536e28,{'status':_0x2c291c['njFiY'],'error':_0x458af6[_0x56609c(0x16d)],'failed_at':new Date()[_0x56609c(0x1e1)]()});}}async['fetchData'](_0x332a70){const _0x20fd2a=a0_0x22fccf,_0x93040c={'zXfrj':_0x20fd2a(0x1ae),'qIcbj':_0x20fd2a(0x16e),'NqAAl':_0x20fd2a(0x15e),'NSaAJ':'Using\x20custom\x20exportQuery','wTkqC':_0x20fd2a(0x161),'olKuN':'Using\x20auto-generated\x20query','vbEDx':function(_0x1f9b06,_0x5148e0){return _0x1f9b06>_0x5148e0;},'QpdbK':'Fetching\x20data\x20from\x20database','OiDcs':_0x20fd2a(0x1c5),'CSJJA':function(_0x5f43e1,_0x1e8027,_0x4c22ca,_0x20cb03){return _0x5f43e1(_0x1e8027,_0x4c22ca,_0x20cb03);},'GaPMP':'export_fetch_error','yxvWp':'Failed\x20to\x20fetch\x20data'};try{const {tableName:_0x389826,columns:_0x3aa4b8,exportQuery:_0x37a2ad,where:_0x1145ca,sort_columns:_0x53d83c}=_0x332a70;if(!_0x389826||!_0x3aa4b8||_0x3aa4b8[_0x20fd2a(0x18b)]===0x0)throw new Error(_0x93040c[_0x20fd2a(0x1a8)]);const _0x183e92=_0x389826[_0x20fd2a(0x1ca)](/\./g,'_')+_0x93040c[_0x20fd2a(0x172)];let _0x5f1387;if(_0x37a2ad&&_0x37a2ad['trim']()){let _0xd00757=_0x37a2ad;_0x37a2ad[_0x20fd2a(0x183)]()[_0x20fd2a(0x1ac)](_0x20fd2a(0x1b1))&&(_0xd00757=this['resolveExportQuery'](_0x37a2ad)),_0x5f1387='WITH\x20'+_0x183e92+_0x20fd2a(0x18f)+_0xd00757+'\x0a)',_0x5f1387+='\x0aSELECT\x20*\x20FROM\x20'+_0x183e92,logger['info']({'event':_0x93040c['NqAAl'],'query':_0xd00757['substring'](0x0,0x64)},_0x93040c[_0x20fd2a(0x1d2)]);}else{const _0x3c68fc=_0x3aa4b8['map'](_0x56c7a6=>_0x20fd2a(0x1e6)+_0x56c7a6)['join'](',');_0x5f1387=_0x20fd2a(0x1f0)+_0x183e92+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x3c68fc+'\x0a\x20\x20\x20\x20FROM\x20'+_0x389826+'\x0a)',_0x5f1387+='\x0aSELECT\x20*\x20FROM\x20'+_0x183e92,logger['info']({'event':_0x93040c['wTkqC'],'tableName':_0x389826,'columnCount':_0x3aa4b8[_0x20fd2a(0x18b)]},_0x93040c[_0x20fd2a(0x185)]);}if(_0x1145ca){const _0x4465c8=this['buildWhereClause'](_0x1145ca);_0x4465c8&&(_0x5f1387+=_0x20fd2a(0x1da)+_0x4465c8);}if(_0x53d83c&&_0x93040c[_0x20fd2a(0x1c4)](_0x53d83c['length'],0x0)){const _0x301aed=this['buildOrderByClause'](_0x53d83c);_0x301aed&&(_0x5f1387+=_0x20fd2a(0x158)+_0x301aed);}logger['info']({'event':_0x20fd2a(0x1a7),'query':_0x5f1387[_0x20fd2a(0x182)](0x0,0xc8)},_0x93040c['QpdbK']);const _0x44ab86=await executeQuery(_0x5f1387);let _0x4aaf39=_0x44ab86;return dbType===_0x93040c['OiDcs']&&_0x44ab86&&_0x44ab86['length']>0x0&&(_0x4aaf39=_0x44ab86['map'](_0x47bd3e=>{const _0x242409=_0x20fd2a,_0x51ee84={};for(const [_0xb3b025,_0x3f225b]of Object['entries'](_0x47bd3e)){_0x51ee84[_0xb3b025[_0x242409(0x15a)]()]=_0x3f225b;}return _0x51ee84;})),logger[_0x20fd2a(0x1ec)]({'event':'export_fetch_complete','rows':_0x4aaf39[_0x20fd2a(0x18b)]},_0x20fd2a(0x1cf)),_0x4aaf39;}catch(_0x1bab58){_0x93040c[_0x20fd2a(0x1dc)](logError,_0x1bab58,{'event':_0x93040c[_0x20fd2a(0x1c2)]},_0x93040c['yxvWp']);throw _0x1bab58;}}['sanitizeValue'](_0x192c7c){const _0x265668=a0_0x22fccf,_0x480ccf={'heTlH':function(_0x222e06,_0xb298c){return _0x222e06===_0xb298c;}};if(_0x480ccf['heTlH'](typeof _0x192c7c,'string'))return _0x192c7c['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x265668(0x183)]();else{if(Array['isArray'](_0x192c7c))return _0x192c7c['map'](_0x471ef3=>this[_0x265668(0x162)](_0x471ef3));}return _0x192c7c;}['buildWhereClause'](_0xb2038a){const _0x4130c6=a0_0x22fccf,_0x42bd91={'BiehV':'string','byWPK':'Skipping\x20invalid\x20condition','RDxmP':function(_0x4a554e,_0x512f2a){return _0x4a554e===_0x512f2a;},'eGMde':_0x4130c6(0x1c1),'Oypnd':_0x4130c6(0x180)};if(!_0xb2038a||!_0xb2038a[_0x4130c6(0x1c8)]||_0xb2038a[_0x4130c6(0x1c8)]['length']===0x0)return'';const {logic:_0x5a2877,conditions:_0x5df5b4}=_0xb2038a,_0x5e43fe=_0x5a2877&&_0x5a2877['toUpperCase']()==='OR'?'\x20OR\x20':_0x4130c6(0x169),_0x559303=_0x5df5b4['map'](_0x10a3c8=>{const _0x5a0013=_0x4130c6,_0x260dd0={'ILsGC':_0x42bd91[_0x5a0013(0x157)]},{key:_0x2c2663,operator:_0x177143,value:_0x46d172,sensitive:_0x29ae7f}=_0x10a3c8;if(!_0x2c2663||!_0x177143)return logger[_0x5a0013(0x1e9)]({'event':_0x5a0013(0x168),'condition':_0x10a3c8},_0x42bd91['byWPK']),null;const _0x3d6e27=this['sanitizeValue'](_0x46d172),_0x3d718f=_0x29ae7f!==undefined?_0x29ae7f:!![];let _0x239a2a=_0x2c2663,_0x58c7cb=_0x3d6e27;!_0x3d718f&&(_0x239a2a=_0x5a0013(0x171)+_0x2c2663+')',typeof _0x46d172===_0x42bd91[_0x5a0013(0x157)]&&(_0x58c7cb=_0x46d172['toUpperCase']()));const _0x24cae6=typeof _0x58c7cb==='string'?'\x27'+_0x58c7cb[_0x5a0013(0x1ca)](/'/g,'\x27\x27')+'\x27':_0x58c7cb;switch(_0x177143['toUpperCase']()){case'=':case'!=':case'<>':return _0x239a2a+'\x20'+_0x177143+'\x20'+_0x24cae6;case'>':case'<':case'>=':case'<=':const _0x345819=_0x42bd91['RDxmP'](typeof _0x3d6e27,_0x42bd91[_0x5a0013(0x157)])?'\x27'+_0x3d6e27['replace'](/'/g,'\x27\x27')+'\x27':_0x3d6e27;return _0x2c2663+'\x20'+_0x177143+'\x20'+_0x345819;case'LIKE':case _0x42bd91['eGMde']:return _0x239a2a+'\x20'+_0x177143+'\x20'+_0x24cae6;case'IN':if(Array['isArray'](_0x3d6e27)){let _0x23fe24;return!_0x3d718f?_0x23fe24=_0x3d6e27[_0x5a0013(0x19a)](_0x3a9c88=>{const _0x33ff47=_0x5a0013,_0x4a088f=typeof _0x3a9c88===_0x260dd0['ILsGC']?_0x3a9c88['toUpperCase']():_0x3a9c88;return typeof _0x4a088f===_0x33ff47(0x1cc)?'\x27'+_0x4a088f['replace'](/'/g,'\x27\x27')+'\x27':_0x4a088f;})[_0x5a0013(0x184)](',\x20'):_0x23fe24=_0x3d6e27[_0x5a0013(0x19a)](_0x549748=>typeof _0x549748==='string'?'\x27'+_0x549748[_0x5a0013(0x1ca)](/'/g,'\x27\x27')+'\x27':_0x549748)['join'](',\x20'),_0x239a2a+_0x5a0013(0x1cb)+_0x23fe24+')';}return _0x239a2a+_0x5a0013(0x1cb)+_0x24cae6+')';case _0x5a0013(0x1c0):return _0x2c2663+_0x5a0013(0x1b5);case _0x5a0013(0x1d3):return _0x2c2663+'\x20IS\x20NOT\x20NULL';default:logger[_0x5a0013(0x1e9)]({'event':_0x42bd91['Oypnd'],'operator':_0x177143},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x239a2a+'\x20=\x20'+_0x24cae6;}})[_0x4130c6(0x1bd)](_0x5e6a1f=>_0x5e6a1f!==null);if(_0x559303['length']===0x0)return'';return _0x559303['join'](_0x5e43fe);}[a0_0x22fccf(0x19c)](_0x4e538f){const _0x59fec0=a0_0x22fccf,_0x5e69ae={'BCgIS':function(_0x44a525,_0x3f9ad6){return _0x44a525===_0x3f9ad6;},'hxfDK':'DESC'};if(!_0x4e538f||_0x5e69ae['BCgIS'](_0x4e538f['length'],0x0))return'';const _0x4f21a1=_0x4e538f[_0x59fec0(0x19a)](_0x2faa6e=>{const _0x5e95dd=_0x59fec0,{column:_0x25c214,direction:_0x22e8b7}=_0x2faa6e;if(!_0x25c214)return logger['warn']({'event':'invalid_sort_column','item':_0x2faa6e},_0x5e95dd(0x198)),null;const _0x1daa21=_0x22e8b7&&_0x5e69ae[_0x5e95dd(0x152)](_0x22e8b7[_0x5e95dd(0x15b)](),_0x5e69ae['hxfDK'])?_0x5e69ae[_0x5e95dd(0x194)]:_0x5e95dd(0x1d9);return _0x25c214+'\x20'+_0x1daa21;})[_0x59fec0(0x1bd)](_0x4ca3bf=>_0x4ca3bf!==null);if(_0x4f21a1[_0x59fec0(0x18b)]===0x0)return'';return _0x4f21a1['join'](',\x20');}async[a0_0x22fccf(0x19e)](_0x375848,_0x53bb1c,_0x26df4e){const _0x418178=a0_0x22fccf,_0x5e509c={'oGHYZ':'../utils/excel-generator','hZLhh':_0x418178(0x17a),'ENNFk':'excel_columns_from_query_result','BCVvd':_0x418178(0x1bf)},_0x1e27a4=require(_0x5e509c['oGHYZ']),_0x2d45cf=new _0x1e27a4(),_0xfe7763=_0x26df4e[_0x418178(0x1a5)]?_0x26df4e[_0x418178(0x1a5)]+'-'+_0x375848:_0x418178(0x17b)+_0x375848,_0x3e7c1f=path[_0x418178(0x184)](this['exportDir'],_0xfe7763+_0x418178(0x166));let _0x123f23=_0x26df4e['columns'];const _0x4da0c6=_0x26df4e[_0x418178(0x1a9)]&&_0x26df4e['exportQuery']['trim'](),_0x139c4c=_0x123f23&&_0x123f23[_0x418178(0x18b)]===0x1&&(_0x123f23[0x0]==='*'||_0x123f23[0x0][_0x418178(0x15a)]()==='all');if(_0x53bb1c['length']>0x0){const _0x144b85=Object['keys'](_0x53bb1c[0x0]);if(_0x4da0c6)_0x123f23=_0x144b85,logger['info']({'event':_0x418178(0x1b4),'columns':_0x123f23},_0x418178(0x1e2)+_0x123f23[_0x418178(0x18b)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x139c4c)_0x123f23=_0x144b85,logger['info']({'event':_0x5e509c['hZLhh'],'columns':_0x123f23},'Using\x20all\x20'+_0x123f23['length']+_0x418178(0x186));else{if(_0x123f23&&_0x123f23[_0x418178(0x18b)]>0x0){const _0x1ec81c=_0x123f23['filter'](_0x230f26=>_0x144b85['includes'](_0x230f26));_0x1ec81c[_0x418178(0x18b)]>0x0?(_0x123f23=_0x1ec81c,logger[_0x418178(0x1ec)]({'event':'excel_columns_from_request','requestedColumns':_0x26df4e['columns'],'validColumns':_0x123f23},_0x418178(0x1e2)+_0x123f23[_0x418178(0x18b)]+_0x418178(0x199))):(_0x123f23=_0x144b85,logger[_0x418178(0x1e9)]({'event':_0x418178(0x190),'requestedColumns':_0x26df4e[_0x418178(0x170)],'availableColumns':_0x144b85},_0x418178(0x1b6)+_0x144b85['length']+'\x20columns'));}else _0x123f23=_0x144b85,logger['info']({'event':_0x5e509c['ENNFk'],'columns':_0x123f23},'Using\x20'+_0x123f23[_0x418178(0x18b)]+_0x418178(0x167));}}}else logger['info']({'event':_0x5e509c['BCVvd'],'columns':_0x123f23},'Using\x20'+(_0x123f23?.['length']||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x2d45cf['generate']({'data':_0x53bb1c,'columns':_0x123f23,'columnFormats':_0x26df4e['columnFormats']||null,'fieldLabels':_0x26df4e[_0x418178(0x1b2)]||null,'filePath':_0x3e7c1f,'onProgress':async _0x559302=>{const _0x99819b=_0x418178;await redisHelper['updateJob'](_0x375848,{'progress':Math['round'](_0x559302),'processed_rows':Math[_0x99819b(0x1a3)](_0x559302/0x64*_0x53bb1c[_0x99819b(0x18b)])});}}),_0x3e7c1f;}async[a0_0x22fccf(0x1be)](_0x249c38){const _0x135ef9=a0_0x22fccf,_0x2242f4={'kaeSR':function(_0x54fe84,_0x3c9e75,_0x53319a,_0x4f9944){return _0x54fe84(_0x3c9e75,_0x53319a,_0x4f9944);},'FizLs':_0x135ef9(0x155)},_0x3e9a63=await redisHelper[_0x135ef9(0x1ba)](_0x249c38);if(!_0x3e9a63||_0x3e9a63['status']!==_0x135ef9(0x1ed))return null;try{return await fs['access'](_0x3e9a63[_0x135ef9(0x173)]),_0x3e9a63['file_path'];}catch(_0x32626b){return _0x2242f4[_0x135ef9(0x1b0)](logError,_0x32626b,{'event':_0x135ef9(0x197),'jobId':_0x249c38,'path':_0x3e9a63['file_path']},_0x2242f4['FizLs']),null;}}async[a0_0x22fccf(0x1de)](){const _0x3df4d6=a0_0x22fccf,_0x5d4061={'TKBvW':_0x3df4d6(0x164),'OvpeI':function(_0x49b007,_0x495bd7){return _0x49b007-_0x495bd7;},'uZoQJ':function(_0x2d4191,_0x100507){return _0x2d4191*_0x100507;},'gVffJ':'Export\x20file\x20deleted','ReaTo':_0x3df4d6(0x1b7),'KznYi':'Failed\x20to\x20delete\x20export\x20file','gItUP':_0x3df4d6(0x192)};logger['info']({'event':_0x5d4061[_0x3df4d6(0x18c)]},'Starting\x20export\x20cleanup');const _0x2190c0=await redisHelper[_0x3df4d6(0x1d7)]();let _0x52ac2a=0x0;for(const _0x4a90b2 of _0x2190c0){const _0x3af21c=new Date(_0x4a90b2[_0x3df4d6(0x19d)]),_0x19c124=new Date(),_0x12cd36=_0x5d4061['OvpeI'](_0x19c124,_0x3af21c)/(_0x5d4061['uZoQJ'](0x3e8,0x3c)*0x3c);if(_0x12cd36>0x1){if(_0x4a90b2['file_path'])try{await fs[_0x3df4d6(0x1a0)](_0x4a90b2['file_path']),logger['info']({'event':_0x3df4d6(0x176),'path':_0x4a90b2[_0x3df4d6(0x173)]},_0x5d4061[_0x3df4d6(0x1c6)]);}catch(_0x173c25){logger[_0x3df4d6(0x1e9)]({'event':_0x5d4061['ReaTo'],'path':_0x4a90b2['file_path'],'error':_0x173c25[_0x3df4d6(0x16d)]},_0x5d4061[_0x3df4d6(0x1ef)]);}await redisHelper['deleteJob'](_0x4a90b2['job_id']),_0x52ac2a++;}}return logger[_0x3df4d6(0x1ec)]({'event':_0x5d4061[_0x3df4d6(0x153)],'deleted':_0x52ac2a},_0x3df4d6(0x19f)),_0x52ac2a;}}module[a0_0x22fccf(0x174)]=new ExportService();
@@ -1 +1 @@
1
- const a0_0x422564=a0_0x2f14;(function(_0x3e0b4e,_0x3f82a1){const _0x303d60=a0_0x2f14,_0x5449ec=_0x3e0b4e();while(!![]){try{const _0x3b0c6e=parseInt(_0x303d60(0x161))/0x1*(-parseInt(_0x303d60(0x1e8))/0x2)+-parseInt(_0x303d60(0x17c))/0x3+parseInt(_0x303d60(0x1de))/0x4*(-parseInt(_0x303d60(0x17b))/0x5)+parseInt(_0x303d60(0x1d0))/0x6+-parseInt(_0x303d60(0x1ff))/0x7*(-parseInt(_0x303d60(0x19a))/0x8)+parseInt(_0x303d60(0x1d9))/0x9+parseInt(_0x303d60(0x1b7))/0xa*(parseInt(_0x303d60(0x1b5))/0xb);if(_0x3b0c6e===_0x3f82a1)break;else _0x5449ec['push'](_0x5449ec['shift']());}catch(_0xf2ac0d){_0x5449ec['push'](_0x5449ec['shift']());}}}(a0_0x55d5,0x5cdc3));const {v7:uuidv7}=require(a0_0x422564(0x16a)),path=require(a0_0x422564(0x16c)),fs=require('fs')['promises'],redisHelper=require(a0_0x422564(0x166)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x422564(0x19e)][a0_0x422564(0x1a7)]||'postgresql')[a0_0x422564(0x1d1)]();let executeQuery,executeTransaction,oracleDb;function a0_0x55d5(){const _0x1992ab=['zw52','yNvPBgrcyxrJAfvWzgf0zq','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','zxHWB3j0CW','BNvTyMvY','yM9VBgvHBG','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','y2H1BMTsB3DZ','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','rejFvfLqrq','y3jLyxrLq29TBwL0sM9I','qwjeBKm','Cw1eD0q','z2v0vgLTzq','qLPWC3a','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DMfSAwq','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','Duvty3e','x2vYCM9YCW','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','zM9YrwfJAa','DhjPBq','ntvgz1fqwfG','D0TQBgC','otmYndeWwxPPBuP3','lI4VDxrPBhmVzgiTB3jHy2XL','Dhj1zq','wfPrCuK','A2v5CW','AM9PBG','A1HeEva','B2voBKu','D1jfqLa','CMfUzg9T','ChjVy2vZC2LUzW','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','vLzkvuq','y29SDw1UrM9YBwf0CW','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','sNPAuNa','vvbmt0fex0rjuG','AM9Ix2LK','kqOGicaGica','ChjVy2vZC1bYzxzPzxDkB2i','C3rYAw5N','CMvWBgfJzq','Aw5Zzxj0','C3vIC3rYAw5N','AgfZ','mJa3nJCYmgnTuurXAq','Dg9mB3DLCKnHC2u','y3jLyxrLzf9HDa','DxbSB2fKoG','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','ChjVy2vZC0XVB2T1CezPzwXKCW','rLHeqNu','x2DLBMvYyxrLzf91DwLK','DePgEvG','mJq1nZm2s0PNwffo','yNvPBgrmywjLBfrVrMLLBgrnyxa','y2f0y2G','C2jsEMK','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','mZjOuKT0tue','ChjLDMLLD19VAW','zxHLy3v0zvf1zxj5','qxPJD0C','AgDdzwK','rfvvte0','C3rHDhvZ','yNDsy3G','r0vctLm','CM93sw5KzxG','mZjeuhj6uhm','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','C2XPy2u','suXwBKq','Dg9ju09tDhjPBMC','ChjLDMLLD19QB2jFzMfPBgvK','DMfSAwrHDgLUzW','x2fJDgLVBG','Aw5JBhvKzxm','ChjLDMLLD19QB2jFy3jLyxrLza','y29TCgXLDgvK','BgvUz3rO','uhjLDMLLDYbQB2iGy3jLyxrLza','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','tNfQse0','zgvIDwC','vxz0CwS','CMvvrKW','yKXivLa','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','q1PXq08','rwvsvNK','ntG4n2rxEgXevW','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','B3jHy2XL','A3jptuS','DxbSB2fKrgLY','CgfKu3rHCNq','vvbeqvrf','zMfSC2u','DgvZDa','zMfPBgvK','CM93CW','uhjLDMLLDYbQB2iGzMfPBgvK','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','zMLSDgvY','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','yNvPBgrcyxrJAeLUC2vYDa','C2v0','Aw5Zzxj0x29UBhK','nZy4ovrpEuPvyq','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','zMLUza','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','yM1MDuS','yMf0y2HwywXPzgf0zvjVD3m','A3LmrMG','DxvPza','BK5ytKy','Cgf0Aa','zgvMyxvSDa','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','C2TPCf9LEgLZDgLUzW','Dgv4Da','DxbSB2fKx2LK','jdfFjdi','y29TBwL0x3bYB2nLC3nFzxjYB3i','ChjLDMLLD19LCNjVCG','AM9IoG','ieLoicG','zMLSzv9JBgvHBNvWx2vYCM9Y','Dw5SAw5R','C2L6zq','igf0ihjVDYa','mZq4oda1sw5MvxvY','nti3ody1q1HbAMrR','su5trvju','C2fgD1C','BxLZCwW','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','x3vWBg9HzerPCG','zw50CMLLCW','y291BNq','BLL5yKC','v05ouwe','DNr1tvG','z2v0sM9I','rhvWBgLJyxrLihzHBhvLigzVCIa','ruDSEKW','Bg9VA3vWrMLLBgrZ','wLroqKO','ChvZAa','DgndzhO','cIaGicaGicaGv0HfuKuG','C2v0sM9I','BxnWt20','BwfW','zNjVBq','lI4VDxrPBhmVzgi','CgfYyw1Z','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','zMXVB3i','z2v0rNvSBfLLyxi','u0Tjua','z2vUzxjHDgvjza','mZC4ng1ptvrcyq','C3fS','ANrOELO','yxbWBhLdB2X1Bw5gB3jTyxrZ'];a0_0x55d5=function(){return _0x1992ab;};return a0_0x55d5();}if(dbType==='oracle')oracleDb=require(a0_0x422564(0x1b8)),executeQuery=(_0x1512a8,_0x17b0cc)=>oracleDb[a0_0x422564(0x1e0)](_0x1512a8,_0x17b0cc),executeTransaction=_0xb07eb7=>oracleDb['executeTransaction'](_0xb07eb7);else{if(dbType===a0_0x422564(0x17f)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x380697,_0x1f6ba2)=>mysqlDb[a0_0x422564(0x1e0)](_0x380697,_0x1f6ba2),executeTransaction=_0x2effc1=>mysqlDb['executeTransaction'](_0x2effc1);}else{const db=require(a0_0x422564(0x193));executeQuery=db['executeQuery'],executeTransaction=db['executeTransaction'];}}function a0_0x2f14(_0x2fb2b0,_0x5bae46){_0x2fb2b0=_0x2fb2b0-0x150;const _0x55d598=a0_0x55d5();let _0x2f1486=_0x55d598[_0x2fb2b0];if(a0_0x2f14['KLxvSG']===undefined){var _0x40cf7a=function(_0x2a3ecc){const _0x1022e0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x590dac='',_0x2b352e='';for(let _0x375933=0x0,_0x3f2744,_0x3c94b0,_0x2695c2=0x0;_0x3c94b0=_0x2a3ecc['charAt'](_0x2695c2++);~_0x3c94b0&&(_0x3f2744=_0x375933%0x4?_0x3f2744*0x40+_0x3c94b0:_0x3c94b0,_0x375933++%0x4)?_0x590dac+=String['fromCharCode'](0xff&_0x3f2744>>(-0x2*_0x375933&0x6)):0x0){_0x3c94b0=_0x1022e0['indexOf'](_0x3c94b0);}for(let _0x6ae8f=0x0,_0xa9cf22=_0x590dac['length'];_0x6ae8f<_0xa9cf22;_0x6ae8f++){_0x2b352e+='%'+('00'+_0x590dac['charCodeAt'](_0x6ae8f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b352e);};a0_0x2f14['stmUbF']=_0x40cf7a,a0_0x2f14['BjoxlZ']={},a0_0x2f14['KLxvSG']=!![];}const _0x4e2630=_0x55d598[0x0],_0x1b9209=_0x2fb2b0+_0x4e2630,_0x19eadc=a0_0x2f14['BjoxlZ'][_0x1b9209];return!_0x19eadc?(_0x2f1486=a0_0x2f14['stmUbF'](_0x2f1486),a0_0x2f14['BjoxlZ'][_0x1b9209]=_0x2f1486):_0x2f1486=_0x19eadc,_0x2f1486;}const excelParser=require(a0_0x422564(0x1f6)),importValidator=require(a0_0x422564(0x195)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x422564(0x165));class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x422564(0x153)](){const _0x84de6d=a0_0x422564,_0x39814f={'pkiHe':_0x84de6d(0x16d)};if(!this['_uploadDir']){const _0x2bfe90=process[_0x84de6d(0x19e)][_0x84de6d(0x1ad)]||_0x39814f['pkiHe'];this[_0x84de6d(0x181)]=process[_0x84de6d(0x19e)][_0x84de6d(0x1c7)]||path['join'](__dirname,'../../temp/uploads/'+_0x2bfe90);}return this[_0x84de6d(0x181)];}[a0_0x422564(0x199)](){const _0x37da2e=a0_0x422564,_0x5078aa={'AbDnC':function(_0x5b5e44,_0x2e77af){return _0x5b5e44+_0x2e77af;},'tJFyX':function(_0x20dbd8,_0x121120){return _0x20dbd8<_0x121120;},'ODPCm':function(_0x4035ee,_0xde50ef){return _0x4035ee*_0xde50ef;}},_0x55bae9='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x43f8c5=Date['now']()['toString'](0x24),_0x48b50c=uuidv7()[_0x37da2e(0x1cc)](/-/g,'')['substring'](0x0,0xc-_0x43f8c5[_0x37da2e(0x1f3)]),_0x5f0cfb=_0x5078aa[_0x37da2e(0x1a9)](_0x43f8c5,_0x48b50c)[_0x37da2e(0x1ce)](0x0,0xc);let _0x4f4534='';for(let _0x2a9625=0x0;_0x5078aa[_0x37da2e(0x1d8)](_0x2a9625,0xc);_0x2a9625++){_0x5f0cfb[_0x2a9625]?_0x4f4534+=_0x5f0cfb[_0x2a9625]:_0x4f4534+=_0x55bae9['charAt'](Math[_0x37da2e(0x196)](_0x5078aa['ODPCm'](Math[_0x37da2e(0x1c0)](),_0x55bae9['length'])));}return _0x4f4534;}['buildLabelToFieldMap'](_0x1ba179){const _0x56f4f1=a0_0x422564,_0x2a5881={'OXrKv':_0x56f4f1(0x172),'ILVnD':_0x56f4f1(0x180)},_0x2a6715=new Map();if(!_0x1ba179)return _0x2a6715;return Object['entries'](_0x1ba179)['forEach'](([_0x1c4968,_0x56afcc])=>{const _0x230ca6=_0x56f4f1,_0x271f4f=String(_0x56afcc)['trim']()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,'$1_$2')[_0x230ca6(0x1cc)](/([A-Z]+)([A-Z][a-z])/g,_0x2a5881['OXrKv'])['toLowerCase']();_0x2a6715['set'](_0x271f4f,_0x1c4968);}),logger[_0x56f4f1(0x1f8)]({'event':'label_to_field_map_built','mappingCount':_0x2a6715[_0x56f4f1(0x179)]},_0x2a5881[_0x56f4f1(0x1eb)]),_0x2a6715;}['applyColumnFormats'](_0x1f4bde,_0x337616){const _0x32ef80=a0_0x422564,_0x28e7bf={'nNXNF':function(_0x1b10bf,_0x2a4010){return _0x1b10bf===_0x2a4010;},'reUFL':'boolean','mBWRH':_0x32ef80(0x170),'fBlPq':function(_0x1b0b48,_0x33cc8f){return _0x1b0b48(_0x33cc8f);},'vXBMT':function(_0x5ca62f,_0x5f0c0b){return _0x5ca62f===_0x5f0c0b;}};if(!_0x337616||_0x28e7bf['vXBMT'](Object[_0x32ef80(0x1bb)](_0x337616)['length'],0x0))return _0x1f4bde;return _0x1f4bde['map'](_0x1aab0c=>{const _0x1510f3=_0x32ef80,_0x4670f7={..._0x1aab0c};for(const [_0x5445db,_0x4edfe5]of Object[_0x1510f3(0x182)](_0x337616)){const _0x457a61=_0x4670f7[_0x5445db];if(_0x457a61===null||_0x28e7bf[_0x1510f3(0x16b)](_0x457a61,undefined)||_0x457a61===''){_0x4670f7[_0x5445db]=null;continue;}switch(_0x4edfe5['type']){case'date':_0x4670f7[_0x5445db]=this['formatDateForDatabase'](_0x457a61);break;case _0x1510f3(0x1a2):_0x4670f7[_0x5445db]=this['formatNumberForDatabase'](_0x457a61);break;case _0x28e7bf[_0x1510f3(0x1fa)]:_0x4670f7[_0x5445db]=this['formatBooleanForDatabase'](_0x457a61);break;case _0x28e7bf['mBWRH']:_0x4670f7[_0x5445db]=_0x28e7bf['fBlPq'](String,_0x457a61);break;default:break;}}return _0x4670f7;});}['formatDateForDatabase'](_0x5c9020){const _0xae648=a0_0x422564,_0x4c1696={'tdLvy':function(_0x32ef15,_0x3b754d){return _0x32ef15===_0x3b754d;},'WNNQa':function(_0x1cd394,_0x554fcf){return _0x1cd394 instanceof _0x554fcf;},'nYybG':'string','hjyFB':function(_0x14e8db,_0x2d7c87){return _0x14e8db(_0x2d7c87);}};if(_0x4c1696['tdLvy'](_0x5c9020,null)||_0x5c9020===undefined||_0x5c9020==='')return null;if(typeof _0x5c9020==='string'&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x5c9020))return _0x5c9020;if(_0x4c1696[_0xae648(0x185)](_0x5c9020,Date)){if(isNaN(_0x5c9020[_0xae648(0x1ab)]()))return null;const _0x58210e=_0x5c9020[_0xae648(0x197)](),_0x5c4c0f=String(_0x5c9020['getMonth']()+0x1)[_0xae648(0x154)](0x2,'0'),_0xa7728c=String(_0x5c9020['getDate']())['padStart'](0x2,'0');return _0x58210e+'-'+_0x5c4c0f+'-'+_0xa7728c;}if(_0x4c1696['tdLvy'](typeof _0x5c9020,_0x4c1696[_0xae648(0x184)])){const _0x6db342=_0x5c9020['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x6db342){const _0x5709e8=_0x4c1696['hjyFB'](String,_0x6db342[0x1])['padStart'](0x2,'0'),_0x206273=String(_0x6db342[0x2])['padStart'](0x2,'0'),_0x2a05d0=_0x6db342[0x3];return _0x2a05d0+'-'+_0x206273+'-'+_0x5709e8;}const _0x205986=_0x5c9020['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x205986){const _0x3bd298=_0x205986[0x1],_0xa8845b=String(_0x205986[0x2])['padStart'](0x2,'0'),_0x1148ab=String(_0x205986[0x3])['padStart'](0x2,'0');return _0x3bd298+'-'+_0xa8845b+'-'+_0x1148ab;}}return _0x5c9020;}[a0_0x422564(0x15b)](_0x3c6fba){const _0x28af26=a0_0x422564,_0x104e65={'XZQqI':function(_0x2fcf0e,_0x128d16){return _0x2fcf0e===_0x128d16;},'mspOm':function(_0x3be935,_0x54f16b){return _0x3be935===_0x54f16b;},'BZpsp':function(_0x487908,_0x1087cd){return _0x487908(_0x1087cd);}};if(_0x104e65[_0x28af26(0x1ba)](_0x3c6fba,null)||_0x3c6fba===undefined||_0x3c6fba==='')return null;if(_0x104e65[_0x28af26(0x190)](typeof _0x3c6fba,'number'))return _0x104e65['BZpsp'](isNaN,_0x3c6fba)?null:_0x3c6fba;if(typeof _0x3c6fba==='string'){let _0xd47b61=_0x3c6fba[_0x28af26(0x1b4)]();const _0x984c59=/,\d{1,2}$/[_0x28af26(0x157)](_0xd47b61)&&!/,\d{3}/[_0x28af26(0x157)](_0xd47b61);_0x984c59?_0xd47b61=_0xd47b61[_0x28af26(0x1cc)](/\./g,'')['replace'](',','.'):_0xd47b61=_0xd47b61[_0x28af26(0x1cc)](/,/g,'');const _0x34e02f=_0x104e65[_0x28af26(0x1ac)](parseFloat,_0xd47b61);return isNaN(_0x34e02f)?null:_0x34e02f;}return null;}['formatBooleanForDatabase'](_0x3e5535){const _0x3930cf=a0_0x422564,_0x4442b1={'kXDyP':function(_0x46b4ea,_0x4e8520){return _0x46b4ea===_0x4e8520;},'eiTEp':function(_0x2474fd,_0x570d11){return _0x2474fd===_0x570d11;},'jthzZ':_0x3930cf(0x1a3),'AzcwG':_0x3930cf(0x156),'MufgM':'true'};if(_0x4442b1[_0x3930cf(0x1bd)](_0x3e5535,null)||_0x3e5535===undefined||_0x4442b1['eiTEp'](_0x3e5535,''))return null;if(typeof _0x3e5535===_0x4442b1[_0x3930cf(0x19c)])return _0x3e5535?'true':_0x4442b1['AzcwG'];if(typeof _0x3e5535===_0x3930cf(0x1cb)){const _0x5a1e4f=_0x3e5535['trim']()[_0x3930cf(0x1d1)]();if(['true','yes','y','1'][_0x3930cf(0x1f0)](_0x5a1e4f))return _0x4442b1['MufgM'];if([_0x4442b1[_0x3930cf(0x1e1)],'no','n','0'][_0x3930cf(0x1f0)](_0x5a1e4f))return'false';return null;}if(typeof _0x3e5535===_0x3930cf(0x1a2))return _0x3e5535?_0x3930cf(0x1b9):_0x3930cf(0x156);return null;}async['uploadFile'](_0x5d9e0f,_0x175097){const _0x1761a3=a0_0x422564,_0x57f5d6={'ZTNBJ':function(_0x11acb6,_0x3ddd67){return _0x11acb6||_0x3ddd67;},'PPdoq':function(_0x3c5645,_0x543fe7){return _0x3c5645>_0x543fe7;},'kyRzD':_0x1761a3(0x162),'mJVcz':'request_scope_applied','GIViO':'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows'},_0x349cba=this['generateId']();try{let {headers:_0x3b3c76,rows:_0x47c8cd,totalRows:_0x475268}=await excelParser['parseExcelFile'](_0x5d9e0f[_0x1761a3(0x16c)]);const _0xe9c331=this[_0x1761a3(0x1da)](_0x175097['fieldLabels']),_0x5085ba=_0x3b3c76[_0x1761a3(0x191)](_0x46fdc7=>{const _0x1956b5=_0x1761a3,_0x38fc6d=_0xe9c331['get'](_0x46fdc7);return _0x57f5d6[_0x1956b5(0x18b)](_0x38fc6d,_0x46fdc7);});_0x47c8cd=_0x47c8cd['map'](_0x494cd2=>{const _0x1f7ef2=_0x1761a3,_0x3ca99c={};return _0x3b3c76[_0x1f7ef2(0x1b3)]((_0x46defa,_0x451bbe)=>{const _0x2ef4c1=_0x5085ba[_0x451bbe];_0x3ca99c[_0x2ef4c1]=_0x494cd2[_0x46defa];}),_0x3ca99c;}),_0x3b3c76=_0x5085ba,logger[_0x1761a3(0x1f8)]({'event':'headers_mapped','original':_0x3b3c76['length'],'mapped':_0x5085ba[_0x1761a3(0x15c)]((_0x3fe06e,_0x2e9334)=>_0x3fe06e!==_0x3b3c76[_0x2e9334])[_0x1761a3(0x1f3)]},_0x1761a3(0x1c2));_0x175097['columnFormats']&&_0x57f5d6['PPdoq'](Object['keys'](_0x175097['columnFormats'])[_0x1761a3(0x1f3)],0x0)&&(_0x47c8cd=this[_0x1761a3(0x19d)](_0x47c8cd,_0x175097['columnFormats']),logger[_0x1761a3(0x1f8)]({'event':_0x57f5d6['kyRzD'],'formatCount':Object[_0x1761a3(0x1bb)](_0x175097['columnFormats'])[_0x1761a3(0x1f3)],'formats':Object['keys'](_0x175097[_0x1761a3(0x1c4)])},'Column\x20formats\x20applied\x20to\x20rows'));if(_0x175097['scopeOverride']&&_0x175097['scopeOverride']['column']){const {column:_0x4f09cc,value:_0x2134ad}=_0x175097['scopeOverride'];_0x47c8cd=_0x47c8cd[_0x1761a3(0x191)](_0xb1a07b=>({..._0xb1a07b,[_0x4f09cc]:_0x2134ad})),logger['debug']({'event':_0x57f5d6['mJVcz'],'column':_0x4f09cc,'rowCount':_0x47c8cd[_0x1761a3(0x1f3)]},_0x57f5d6['GIViO']);}const _0x340e1c=_0x175097[_0x1761a3(0x18a)]?Object['values'](_0x175097[_0x1761a3(0x18a)])['map'](_0x30cb8b=>_0x30cb8b['targetField']):[],_0x5acc09=_0x175097['fieldName']['filter'](_0x3f232d=>!_0x340e1c[_0x1761a3(0x1f0)](_0x3f232d)),_0x1024df=excelParser['validateExcelStructure'](_0x3b3c76,_0x5acc09);if(!_0x1024df[_0x1761a3(0x1ae)]){await fs['unlink'](_0x5d9e0f[_0x1761a3(0x16c)]);throw new Error(_0x1761a3(0x1a6)+_0x1024df['missingFields'][_0x1761a3(0x1bc)](',\x20'));}const _0x5123c7={'upload_id':_0x349cba,'filename':_0x5d9e0f['originalname'],'total_rows':_0x475268,'headers':_0x3b3c76,'rows':_0x47c8cd,'params':_0x175097,'created_at':new Date()[_0x1761a3(0x1ec)]()};return await redisHelper['setJob']('upload:'+_0x349cba,_0x5123c7,0xe10),await fs[_0x1761a3(0x178)](_0x5d9e0f[_0x1761a3(0x16c)]),logger['info']({'event':_0x1761a3(0x16e),'uploadId':_0x349cba,'filename':_0x5d9e0f['originalname'],'totalRows':_0x475268},_0x1761a3(0x1a4)),{'upload_id':_0x349cba,'total_rows':_0x475268,'preview':_0x47c8cd[_0x1761a3(0x1ea)](0x0,0xa)};}catch(_0x29453b){try{await fs[_0x1761a3(0x178)](_0x5d9e0f[_0x1761a3(0x16c)]);}catch(_0x47e286){logError(_0x47e286,{'event':_0x1761a3(0x177)},'Failed\x20to\x20cleanup\x20file');}throw _0x29453b;}}async['createPreviewJob'](_0xf005e4){const _0x2dda56=a0_0x422564,_0x4b77eb={'JgCQn':_0x2dda56(0x1d4),'vtuMX':_0x2dda56(0x1fc),'bmfuK':_0x2dda56(0x1ee),'HGSfP':_0x2dda56(0x1f1)},_0x1a9eae=this['generateId'](),_0x1a077f=await redisHelper['getJob'](_0x2dda56(0x1d3)+_0xf005e4);if(!_0x1a077f)throw new Error(_0x2dda56(0x1f5));const _0x535504={'job_id':_0x1a9eae,'upload_id':_0xf005e4,'status':_0x4b77eb[_0x2dda56(0x167)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x1a077f[_0x2dda56(0x194)]};return await redisHelper[_0x2dda56(0x18f)]('job:'+_0x1a9eae,_0x535504,0xe10),logger['info']({'event':_0x4b77eb['HGSfP'],'jobId':_0x1a9eae,'uploadId':_0xf005e4},_0x2dda56(0x1f4)),this['processPreviewJob'](_0x1a9eae,_0xf005e4,_0x1a077f)['catch'](_0x2df2c3=>{const _0x1361e4=_0x2dda56;logError(_0x2df2c3,{'event':_0x4b77eb['JgCQn'],'jobId':_0x1a9eae},_0x4b77eb[_0x1361e4(0x186)]);}),{'job_id':_0x1a9eae,'status':_0x2dda56(0x1ee)};}['autoGenerateUpsertKeys'](_0x57155f,_0x225b42){const _0x213c7b={'hgCei':function(_0x16147f,_0x3c2819){return _0x16147f===_0x3c2819;}};_0x57155f['forEach']((_0x3ff57e,_0x46f54a)=>{const _0x3b886a=a0_0x2f14,_0xd8b3fa={'OgCLG':function(_0x25ca35,_0x39a005){const _0x442292=a0_0x2f14;return _0x213c7b[_0x442292(0x1e2)](_0x25ca35,_0x39a005);}};_0x225b42[_0x3b886a(0x1b3)](_0x535de9=>{const _0xa8e98a=_0x3b886a,_0x3d8aef=_0x3ff57e[_0x535de9];if(_0x3d8aef===null||_0x3d8aef===undefined||_0x3d8aef===''||_0xd8b3fa['OgCLG'](String(_0x3d8aef)['trim'](),'-')){const _0x310a89=uuidv7();_0x3ff57e[_0x535de9]=_0x310a89,_0x3ff57e[_0xa8e98a(0x1d7)]=_0x3ff57e['_generated_uuid']||{},_0x3ff57e['_generated_uuid'][_0x535de9]=_0x310a89,logger[_0xa8e98a(0x1f8)]({'event':'uuid_auto_generated','rowIndex':_0x46f54a,'field':_0x535de9,'uuid':_0x310a89},'Auto-generated\x20UUID\x20for\x20'+_0x535de9+_0xa8e98a(0x17a)+(_0x46f54a+0x2));}});});}async[a0_0x422564(0x1ca)](_0x40b732,_0x220c00,_0x2b94fe){const _0x24cb10=a0_0x422564,_0xd23d9a={'tcCdz':function(_0x398bc7,_0x36c903){return _0x398bc7===_0x36c903;},'sbRzi':'UPDATE','BdHfb':function(_0xe23c87,_0x424d88){return _0xe23c87||_0x424d88;},'GEBNS':_0x24cb10(0x1df),'QIlrk':function(_0x570512,_0x2983bb,_0xa0e662,_0x43a2d2){return _0x570512(_0x2983bb,_0xa0e662,_0x43a2d2);},'saFwW':_0x24cb10(0x15a)};try{let {rows:_0x2090ee,params:_0x529f7a}=_0x2b94fe;const {requiredFields:_0x35c0e1,validations:_0x153963,upsertKeys:_0x51f564,tableName:_0x1db1c5,primaryKey:_0x141767,fieldName:_0x3176cc,upsertStrategy:_0x23157c,lookupFields:_0x4f8694}=_0x529f7a;this['autoGenerateUpsertKeys'](_0x2090ee,_0x51f564);let _0x1a18b2=[];if(_0x4f8694&&Object[_0x24cb10(0x1bb)](_0x4f8694)[_0x24cb10(0x1f3)]>0x0){logger['info']({'event':_0x24cb10(0x1dd),'jobId':_0x40b732,'lookupFieldCount':Object[_0x24cb10(0x1bb)](_0x4f8694)['length']},_0x24cb10(0x1af));const _0x156300=await lookupResolver[_0x24cb10(0x1d5)](_0x2090ee,_0x4f8694);_0x2090ee=_0x156300['processedRows'],_0x1a18b2=_0x156300['errors'],_0x2b94fe[_0x24cb10(0x159)]=_0x2090ee;}const _0x3e2913=importValidator[_0x24cb10(0x168)](_0x2090ee,_0x35c0e1||[],_0xd23d9a['BdHfb'](_0x153963,{}));_0x1a18b2[_0x24cb10(0x1b3)](_0x3be5e8=>{const _0x45b8cf=_0x24cb10,_0x1142d5=_0x3e2913['find'](_0x3d4664=>_0x3d4664[_0x45b8cf(0x1e7)]===_0x3be5e8[_0x45b8cf(0x1e7)]);_0x1142d5?_0x1142d5['errors']['push'](_0x3be5e8['message']):_0x3e2913['push']({'rowIndex':_0x3be5e8['rowIndex'],'rowData':_0x2090ee[_0x3be5e8['rowIndex']],'errors':[_0x3be5e8['message']]});});const _0x1e1773=importValidator['detectDuplicatesInFile'](_0x2090ee,_0x51f564);_0x1e1773['forEach'](_0x5e9a18=>{const _0x101bdf=_0x24cb10,_0x3606cf=_0x3e2913[_0x101bdf(0x163)](_0xfd2e88=>_0xfd2e88['rowIndex']===_0x5e9a18['rowIndex']),_0x20c116=_0x51f564[_0x101bdf(0x191)](_0x562cc1=>_0x562cc1['toUpperCase']())[_0x101bdf(0x1bc)](',\x20'),_0x41f607=_0x101bdf(0x188)+_0x20c116;_0x3606cf?_0x3606cf['errors'][_0x101bdf(0x18c)](_0x41f607):_0x3e2913['push']({'rowIndex':_0x5e9a18['rowIndex'],'rowData':_0x2090ee[_0x5e9a18['rowIndex']],'errors':[_0x41f607]});}),await this[_0x24cb10(0x164)](_0x2090ee,_0x51f564,_0x1db1c5,_0x141767,_0x23157c,_0x3e2913),_0x3e2913[_0x24cb10(0x1b3)](_0x12ecc6=>{const _0xf3a70e=_0x24cb10,_0x2b3a44=_0x2090ee[_0x12ecc6[_0xf3a70e(0x1e7)]];_0x2b3a44&&(_0x2b3a44['_errors']=_0x12ecc6['errors']);});let _0x59aa38=0x0,_0x3d2faf=0x0,_0x102627=0x0;_0x2090ee[_0x24cb10(0x1b3)](_0x112db1=>{const _0x4dcffb=_0x24cb10;if(_0x112db1[_0x4dcffb(0x1ef)]===_0x4dcffb(0x17d))_0x59aa38++;else{if(_0xd23d9a[_0x4dcffb(0x18d)](_0x112db1[_0x4dcffb(0x1ef)],_0xd23d9a[_0x4dcffb(0x1dc)]))_0x3d2faf++;else _0x112db1['_action']===_0x4dcffb(0x198)&&_0x102627++;}});const _0x3f5419={'job_id':_0x40b732,'upload_id':_0x220c00,'status':_0x3e2913['length']>0x0?_0x24cb10(0x174):_0xd23d9a[_0x24cb10(0x1e6)],'progress':0x64,'created_at':_0x2b94fe[_0x24cb10(0x1d2)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x2090ee['length'],'insert_count':_0x59aa38,'update_count':_0x3d2faf,'skip_count':_0x102627,'error_count':_0x3e2913['length'],'errors':_0x3e2913,'data':_0x2090ee,'sample_insert':_0x2090ee['filter'](_0x27e357=>_0x27e357['_action']===_0x24cb10(0x17d))['slice'](0x0,0x5),'sample_update':_0x2090ee['filter'](_0x527359=>_0x527359['_action']==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x2090ee[_0x24cb10(0x15c)](_0x1b54f6=>_0x1b54f6[_0x24cb10(0x1ef)]==='SKIP')[_0x24cb10(0x1ea)](0x0,0x5)},'params':_0x529f7a};await redisHelper[_0x24cb10(0x18f)](_0x24cb10(0x175)+_0x40b732,_0x3f5419,0xe10),_0x2b94fe['rows']=_0x2090ee,await redisHelper['setJob'](_0x24cb10(0x1d3)+_0x220c00,_0x2b94fe,0xe10),logger['info']({'event':'preview_job_completed','jobId':_0x40b732,'status':_0x3f5419['status'],'insertCount':_0x59aa38,'updateCount':_0x3d2faf,'skipCount':_0x102627,'errorCount':_0x3e2913['length']},'Preview\x20job\x20completed');}catch(_0x2ceb4b){_0xd23d9a['QIlrk'](logError,_0x2ceb4b,{'event':_0x24cb10(0x1ed),'jobId':_0x40b732},_0xd23d9a[_0x24cb10(0x17e)]),await redisHelper[_0x24cb10(0x18f)]('job:'+_0x40b732,{'job_id':_0x40b732,'upload_id':_0x220c00,'status':'failed','progress':0x0,'error':_0x2ceb4b['message'],'created_at':new Date()[_0x24cb10(0x1ec)](),'completed_at':new Date()[_0x24cb10(0x1ec)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x415424,_0x195304,_0x1e64b3,_0x26ca7c,_0x475fe2='update_existing',_0x3aca17=[]){const _0x542c27=a0_0x422564,_0x55bd44={'wKjlg':function(_0x59dcc2,_0x1eacef){return _0x59dcc2===_0x1eacef;},'CZqCO':function(_0x2566c5,_0x11dbbb){return _0x2566c5(_0x11dbbb);},'oeNnE':function(_0x5ed257,_0x54e09f){return _0x5ed257===_0x54e09f;},'Uvtqk':_0x542c27(0x160),'wREBP':'SKIP','egMiQ':'update_existing','FXDBu':function(_0x1ad35f,_0x1897cc){return _0x1ad35f===_0x1897cc;},'fYgsF':_0x542c27(0x17d),'EGlzL':function(_0x439f59,_0x10d3cd){return _0x439f59(_0x10d3cd);}},_0x248350=upsertBuilder[_0x542c27(0x1a5)](_0x415424,0x64);for(const _0x35687a of _0x248350){const _0x4ad5e0=_0x35687a[_0x542c27(0x191)](_0x50448d=>_0x50448d[_0x195304[0x0]]),_0x240e15=_0x4ad5e0['map'](_0x2a7aba=>{const _0x21e257=_0x542c27;if(_0x55bd44[_0x21e257(0x1b6)](_0x2a7aba,null)||_0x2a7aba===undefined)return'NULL';return'\x27'+_0x55bd44[_0x21e257(0x1fd)](String,_0x2a7aba)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x339887='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x26ca7c+',\x20'+_0x195304['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x1e64b3+_0x542c27(0x18e)+_0x195304[0x0]+_0x542c27(0x176)+_0x240e15['join'](',\x20')+_0x542c27(0x1c9);let _0x43092a=await _0x55bd44[_0x542c27(0x189)](executeQuery,_0x339887);dbType===_0x542c27(0x151)&&_0x43092a&&_0x43092a['length']>0x0&&(_0x43092a=_0x43092a['map'](_0x105224=>{const _0x190678=_0x542c27,_0x4ecdc1={};for(const [_0x4b3ac5,_0x1df08d]of Object[_0x190678(0x182)](_0x105224)){_0x4ecdc1[_0x4b3ac5[_0x190678(0x1d1)]()]=_0x1df08d;}return _0x4ecdc1;}));const _0x12947e=new Map();_0x43092a['forEach'](_0x213772=>{const _0x595150=_0x542c27,_0x1604dc=_0x213772[_0x195304[0x0]];_0x12947e[_0x595150(0x15f)](_0x1604dc,_0x213772);}),_0x35687a['forEach']((_0x399d9a,_0x2a0dfd)=>{const _0x2714a4=_0x542c27,_0x53f17e=_0x399d9a[_0x195304[0x0]],_0xf8a296=_0x12947e['get'](_0x53f17e);if(_0xf8a296){if(_0x55bd44[_0x2714a4(0x1be)](_0x475fe2,'update_existing'))_0x399d9a['_action']=_0x2714a4(0x155),_0x399d9a['_existingId']=_0xf8a296[_0x26ca7c];else{if(_0x475fe2===_0x55bd44[_0x2714a4(0x1f9)]){_0x399d9a[_0x2714a4(0x1ef)]=_0x55bd44[_0x2714a4(0x1bf)],_0x399d9a[_0x2714a4(0x1b1)]=_0x399d9a['_errors']||[],_0x399d9a['_errors'][_0x2714a4(0x18c)](_0x2714a4(0x1c5));const _0x2a0c1c=_0x415424['indexOf'](_0x399d9a);_0x2a0c1c!==-0x1&&_0x3aca17['push']({'rowIndex':_0x2a0c1c,'rowData':_0x399d9a,'errors':[_0x2714a4(0x1c5)]});}else _0x475fe2===_0x2714a4(0x16f)&&(_0x399d9a['_action']=_0x2714a4(0x198));}}else{if(_0x55bd44[_0x2714a4(0x1b6)](_0x475fe2,_0x55bd44['egMiQ']))_0x399d9a['_action']=_0x2714a4(0x17d);else(_0x55bd44[_0x2714a4(0x1d6)](_0x475fe2,_0x2714a4(0x160))||_0x475fe2==='skip_existing')&&(_0x399d9a['_action']=_0x55bd44['fYgsF']);}});}}async[a0_0x422564(0x1a8)](_0x30d121){const _0x532919=a0_0x422564,_0x18b525={'VVJUD':function(_0x1587b3,_0x5e6051,_0x3a9f5d,_0x1a0597){return _0x1587b3(_0x5e6051,_0x3a9f5d,_0x1a0597);},'qmDwD':_0x532919(0x173),'krOMK':_0x532919(0x1a0),'wTOMv':function(_0x53dd0d,_0x5cd9f6){return _0x53dd0d!==_0x5cd9f6;},'tRwis':'preview_ok','AjOLL':'Commit\x20job\x20created','kyLFh':_0x532919(0x1c1)},_0x46c67c=this[_0x532919(0x199)](),_0x27c1b2=await redisHelper[_0x532919(0x187)]('job:'+_0x30d121);if(!_0x27c1b2)throw new Error(_0x18b525[_0x532919(0x152)]);if(_0x18b525['wTOMv'](_0x27c1b2[_0x532919(0x1e4)],_0x18b525['tRwis']))throw new Error(_0x532919(0x1b2)+_0x27c1b2['status']);const _0x30a4b3={'job_id':_0x46c67c,'upload_id':_0x27c1b2['upload_id'],'preview_job_id':_0x30d121,'status':_0x532919(0x1c1),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x27c1b2[_0x532919(0x194)]};return await redisHelper['setJob'](_0x532919(0x175)+_0x46c67c,_0x30a4b3,0xe10),logger['info']({'event':'commit_job_created','jobId':_0x46c67c,'previewJobId':_0x30d121},_0x18b525['AjOLL']),this['processCommitJob'](_0x46c67c,_0x27c1b2)[_0x532919(0x1db)](_0x385a69=>{const _0x59c25e=_0x532919;_0x18b525[_0x59c25e(0x1c3)](logError,_0x385a69,{'event':_0x18b525[_0x59c25e(0x1aa)],'jobId':_0x46c67c},_0x59c25e(0x15d));}),{'job_id':_0x46c67c,'status':_0x18b525[_0x532919(0x169)]};}async['processCommitJob'](_0x50c27c,_0x110e28){const _0x1c0e67=a0_0x422564,_0x23ff5a={'DUULM':'Upload\x20data\x20not\x20found\x20or\x20expired','EeRVy':function(_0x4fcfb6,_0x90141e){return _0x4fcfb6>_0x90141e;},'NqjHM':_0x1c0e67(0x1e9),'uEScq':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','hRMPF':function(_0x44d2ab,_0x514a7d){return _0x44d2ab>_0x514a7d;},'CctyK':'update','bLHVP':function(_0x3d593c,_0x3a05e4){return _0x3d593c>_0x3a05e4;},'bwRcx':function(_0x5ed16c,_0x577366){return _0x5ed16c(_0x577366);},'JzZRp':_0x1c0e67(0x1f2),'stmjJ':'commit_job_completed','Wspfo':function(_0xe5b850,_0x4a92c8,_0x27216f,_0x19f008){return _0xe5b850(_0x4a92c8,_0x27216f,_0x19f008);},'iJNGR':'commit_job_failed'};try{const _0x1db259=await redisHelper[_0x1c0e67(0x187)](_0x1c0e67(0x1d3)+_0x110e28[_0x1c0e67(0x171)]);if(!_0x1db259)throw new Error(_0x23ff5a[_0x1c0e67(0x1e3)]);const {rows:_0x14e827,params:_0x4c0c94}=_0x1db259,{tableName:_0x5c3073,fieldName:_0x1c8265,primaryKey:_0x23813b,upsertKeys:_0x353ebc,excludeFromImport:_0x4fb817,lookupFields:_0x4cb7b6,columnFormats:_0x26d50e}=_0x4c0c94,_0x29d091=_0x4cb7b6?Object['keys'](_0x4cb7b6):[],_0x1ba28f=new Set([..._0x4fb817||[],..._0x29d091]);let _0x354038=_0x1c8265;_0x23ff5a[_0x1c0e67(0x1fe)](_0x1ba28f['size'],0x0)&&(_0x354038=_0x1c8265[_0x1c0e67(0x15c)](_0xc8a53d=>!_0x1ba28f[_0x1c0e67(0x1cf)](_0xc8a53d)),logger[_0x1c0e67(0x1f8)]({'event':_0x23ff5a[_0x1c0e67(0x1f7)],'originalCount':_0x1c8265['length'],'filteredCount':_0x354038['length'],'excludedFields':Array[_0x1c0e67(0x192)](_0x1ba28f),'lookupSourceFields':_0x29d091},_0x23ff5a[_0x1c0e67(0x1b0)]));const _0x3be5c8=_0x14e827['filter'](_0x4efaaa=>_0x4efaaa['_action']==='INSERT'),_0x1b94e0=_0x14e827['filter'](_0x11bb27=>_0x11bb27[_0x1c0e67(0x1ef)]==='UPDATE');let _0x404597=0x0,_0x4f3100=0x0;const _0x1169a7=[];if(_0x23ff5a['hRMPF'](_0x3be5c8['length'],0x0)){const _0x5b027d=upsertBuilder['chunkRows'](_0x3be5c8,0x64);for(const _0xfcfde2 of _0x5b027d){const {query:_0x11dd6d}=upsertBuilder[_0x1c0e67(0x15e)](_0xfcfde2,_0x5c3073,_0x354038,_0x26d50e||{});_0x11dd6d&&_0x1169a7[_0x1c0e67(0x18c)]({'sql':_0x11dd6d,'count':_0xfcfde2[_0x1c0e67(0x1f3)],'type':_0x1c0e67(0x1cd)});}}if(_0x1b94e0['length']>0x0){const _0x1e87c9=upsertBuilder[_0x1c0e67(0x1a5)](_0x1b94e0,0x64);for(const _0x3ccfc8 of _0x1e87c9){const {query:_0x15ad6d}=upsertBuilder[_0x1c0e67(0x19f)](_0x3ccfc8,_0x5c3073,_0x354038,_0x23813b,_0x353ebc,_0x26d50e||{});_0x15ad6d&&_0x1169a7['push']({'sql':_0x15ad6d,'count':_0x3ccfc8[_0x1c0e67(0x1f3)],'type':_0x23ff5a['CctyK']});}}_0x23ff5a[_0x1c0e67(0x1fb)](_0x1169a7[_0x1c0e67(0x1f3)],0x0)&&await _0x23ff5a[_0x1c0e67(0x1e5)](executeTransaction,_0x1169a7[_0x1c0e67(0x191)](_0x57a4db=>({'sql':_0x57a4db[_0x1c0e67(0x19b)],'params':[]})));_0x1169a7[_0x1c0e67(0x1b3)](_0x27c4ef=>{const _0x1c57e9=_0x1c0e67;if(_0x27c4ef['type']===_0x1c57e9(0x1cd))_0x404597+=_0x27c4ef['count'];else _0x4f3100+=_0x27c4ef[_0x1c57e9(0x183)];});const _0x3f53de={'job_id':_0x50c27c,'upload_id':_0x110e28[_0x1c0e67(0x171)],'preview_job_id':_0x110e28[_0x1c0e67(0x1c8)],'status':_0x23ff5a[_0x1c0e67(0x1c6)],'progress':0x64,'created_at':_0x110e28[_0x1c0e67(0x1d2)],'started_at':new Date()[_0x1c0e67(0x1ec)](),'completed_at':new Date()[_0x1c0e67(0x1ec)](),'result':{'total_rows':_0x14e827['length'],'inserted_rows':_0x404597,'updated_rows':_0x4f3100,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x4c0c94};await redisHelper[_0x1c0e67(0x18f)]('job:'+_0x50c27c,_0x3f53de,0xe10),logger['info']({'event':_0x23ff5a['stmjJ'],'jobId':_0x50c27c,'insertedCount':_0x404597,'updatedCount':_0x4f3100},'Commit\x20job\x20completed');}catch(_0x292f94){_0x23ff5a['Wspfo'](logError,_0x292f94,{'event':_0x23ff5a['iJNGR'],'jobId':_0x50c27c},'Commit\x20job\x20failed'),await redisHelper[_0x1c0e67(0x18f)](_0x1c0e67(0x175)+_0x50c27c,{'job_id':_0x50c27c,'upload_id':_0x110e28[_0x1c0e67(0x171)],'preview_job_id':_0x110e28['job_id'],'status':_0x1c0e67(0x158),'progress':0x0,'error':_0x292f94['message'],'created_at':_0x110e28[_0x1c0e67(0x1d2)],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x1f1614){const _0x1d6b66=a0_0x422564,_0x15f8c6=await redisHelper[_0x1d6b66(0x187)]('job:'+_0x1f1614);if(!_0x15f8c6)return{'success':![],'error':_0x1d6b66(0x150)};return{'success':!![],'data':_0x15f8c6};}}module[a0_0x422564(0x1a1)]=new ImportService();
1
+ const a0_0x239f28=a0_0xeb9d;(function(_0x3ece1d,_0x43189f){const _0xae64c1=a0_0xeb9d,_0x468103=_0x3ece1d();while(!![]){try{const _0x541be1=-parseInt(_0xae64c1(0x151))/0x1*(-parseInt(_0xae64c1(0x163))/0x2)+parseInt(_0xae64c1(0x1a6))/0x3+-parseInt(_0xae64c1(0x107))/0x4*(-parseInt(_0xae64c1(0x17c))/0x5)+-parseInt(_0xae64c1(0x148))/0x6+parseInt(_0xae64c1(0x15f))/0x7+parseInt(_0xae64c1(0x13a))/0x8*(parseInt(_0xae64c1(0x16a))/0x9)+-parseInt(_0xae64c1(0x110))/0xa;if(_0x541be1===_0x43189f)break;else _0x468103['push'](_0x468103['shift']());}catch(_0x305321){_0x468103['push'](_0x468103['shift']());}}}(a0_0x1c49,0xc8291));function a0_0xeb9d(_0x3391fb,_0x43d54a){_0x3391fb=_0x3391fb-0xfe;const _0x1c49d3=a0_0x1c49();let _0xeb9d9d=_0x1c49d3[_0x3391fb];if(a0_0xeb9d['pXXkkJ']===undefined){var _0x4a48d9=function(_0x151bb1){const _0x177063='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x198f45='',_0x133429='';for(let _0x4ceff0=0x0,_0x20a5d8,_0x5f0998,_0x4a640f=0x0;_0x5f0998=_0x151bb1['charAt'](_0x4a640f++);~_0x5f0998&&(_0x20a5d8=_0x4ceff0%0x4?_0x20a5d8*0x40+_0x5f0998:_0x5f0998,_0x4ceff0++%0x4)?_0x198f45+=String['fromCharCode'](0xff&_0x20a5d8>>(-0x2*_0x4ceff0&0x6)):0x0){_0x5f0998=_0x177063['indexOf'](_0x5f0998);}for(let _0xef7cf2=0x0,_0x4a4e58=_0x198f45['length'];_0xef7cf2<_0x4a4e58;_0xef7cf2++){_0x133429+='%'+('00'+_0x198f45['charCodeAt'](_0xef7cf2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x133429);};a0_0xeb9d['ZiaumZ']=_0x4a48d9,a0_0xeb9d['LmhTOt']={},a0_0xeb9d['pXXkkJ']=!![];}const _0x4384ad=_0x1c49d3[0x0],_0x4b3fbf=_0x3391fb+_0x4384ad,_0xea3202=a0_0xeb9d['LmhTOt'][_0x4b3fbf];return!_0xea3202?(_0xeb9d9d=a0_0xeb9d['ZiaumZ'](_0xeb9d9d),a0_0xeb9d['LmhTOt'][_0x4b3fbf]=_0xeb9d9d):_0xeb9d9d=_0xea3202,_0xeb9d9d;}const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x239f28(0x18b)],redisHelper=require(a0_0x239f28(0x19e)),{logger,logError}=require(a0_0x239f28(0x14a)),dbType=(process[a0_0x239f28(0x191)]['DB_TYPE']||a0_0x239f28(0x133))[a0_0x239f28(0x1a1)]();function a0_0x1c49(){const _0x34aba3=['zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','vfbQBeu','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','yM9VBgvHBG','yNvPBgrcyxrJAfvWzgf0zq','u0Tjua','kqOGicaGica','uhjLDMLLDYbQB2iGy29TCgXLDgvK','Aw5Zzxj0x29UBhK','nZyXmtG3mgzeAhPbwq','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','lI4VDxrPBhmVBg9Nz2vY','CgfYC2vfEgnLBezPBgu','u0L3ELO','ChjLDMLLD19LCNjVCG','vLjeu0C','zMfPBgvK','uhjLDMLLDYbQB2iGy3jLyxrLza','mxjOAK1lsW','CMvWBgfJzq','A2v5CW','Dg9vChbLCKnHC2u','u2TlueS','DMfSDwvZ','D2TqqK4','cIaGicaGicaGu0vmrunuia','u1LKuey','D3zkzMq','BxLZCwW','rMfPBgvKihrVignSzwfUDxaGzMLSzq','y291BNq','y29TBwL0x2PVyL9JCMvHDgvK','ntu2ntaYognQv0vwBG','yLDgvK8','Aw5JBhvKzxm','Cgf0Aa','mZeYotiWmKPPr1bvuq','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','q29TBwL0igPVyIbJB21WBgv0zwq','wMTTBgS','vMftBei','BvPfueq','AKfnywC','mty2nJyYqMHNAuXI','s0XbDKG','CM93sw5KzxG','BwLZC2LUz0zPzwXKCW','zxHLy3v0zvf1zxj5','y2HHCKf0','yNvPBgrmywjLBfrVrMLLBgrnyxa','C2v0sM9I','x2fJDgLVBG','z2v0vgLTzq','Dg9ju09tDhjPBMC','DhjPBq','q2vUEwm','DxfhsLy','z01OA0m','C2nVCgvpDMvYCMLKzq','ChjVy2vZC2LUzW','Aw5Zzxj0','mZbtAfnQrKC','Evvgqxu','C0LhzLa','vg9zyue','Bwf0y2G','zgvMyxvSDa','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','CgfKu3rHCNq','tKXVEgi','z2vUzxjHDgvjza','lI4VDxrPBhmVzgiTB3jHy2XL','B2PgAfu','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','DxbSB2fKrgLY','ChjVBwLZzxm','x2DLBMvYyxrLzf91DwLK','yMf0y2HwywXPzgf0zvjVD3m','rhvWBgLJyxrLihzHBhvLigzVCIa','C3PVDNC','zNDuwNy','zw52','Aw5MBW','vvbmt0fex0rjuG','zw50CMLLCW','ieLoicG','rePfr1m','zvLjqM8','zM9YrwfJAa','u3nwtgS','Bg9VA3vWrMLLBgrZ','z2v0rgf0zq','zxHLy3v0zvrYyw5Zywn0Aw9U','DNvxzxG','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','y3jLyxrLzf9HDa','Dg9mB3DLCKnHC2u','cIaGicaGicaGrLjptsa','q29TBwL0igPVyIbMywLSzwq','yxbWBhLdB2X1Bw5gB3jTyxrZ','y29TCgXLDgvK','mJyZnda0oejhDePOrq','EMnNuNm','y29SDw1UrM9YBwf0CW','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','lI4VDxrPBhmVzgiTBxLZCwW','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','BwfW','Dhj1zq','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','igf0ihjVDYa','jdfFjdi','x3vWBg9HzerPCG','DxbKyxrLx2v4Axn0Aw5N','AM9Ix2LK','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','quf0A3e','z2v0','y2H1BMTsB3DZ','ChvZAa','q21hsKe','yvnnv1y','ndm4nZe2D0LqDg9q','C2TPCf9LEgLZDgLUzW','z2v0tw9UDgG','sg9iwxC','AM9IoG','ChjLDMLLD19QB2jFy29TCgXLDgvK','svn6B0O','q29TBwL0igPVyIbJCMvHDgvK','u2zQA3C','mJe5nJa3mtbeBKDnzwW','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','zxjYB3jZ','zMLSDgvY','C2XPy2u','CMXHEKy','BgvUz3rO','zMLLBgrmywjLBhm','C3vIC3rYAw5N','DxvPzf9HDxrVx2DLBMvYyxrLza','yNvPBgrcyxrJAeLUC2vYDa','AgfZ','DMfSAwq','tLvmta','zgvIDwC','DxbKyxrL','ChjVy2vZC0XVB2T1CezPzwXKCW','AM9PBG','wKDxA2e','BNvTyMvY','y3jLyxrLq29TBwL0sM9I','y3jLyxrLuhjLDMLLD0PVyG','DxbSB2fKoG','y29SDw1U','su5trvju','zMLUza','DxbSB2fKx2LK','ChjVy2vZC1bYzxzPzxDkB2i','B01nu1e','CgfYyw1Z','ELDwvvK','Dw5SAw5R','vvbeqvrf','ChjVy2vZC2vKuM93CW','B3jHy2XL','Cg9ZDgDYzxnXBa','y29TBwL0x2PVyL9JB21WBgv0zwq','Dg1Izei','BwvZC2fNzq','whHtwvy','CM93CW','swLpDMq','mty4uMfewwTZ','qNrADvG','z2v0sM9I','x2vYCM9YCW','zgf0zq'];a0_0x1c49=function(){return _0x34aba3;};return a0_0x1c49();}let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require(a0_0x239f28(0x186)),executeQuery=(_0x3ba0b3,_0x49f68d)=>oracleDb['executeQuery'](_0x3ba0b3,_0x49f68d),executeTransaction=_0x4effe5=>oracleDb['executeTransaction'](_0x4effe5);else{if(dbType===a0_0x239f28(0x15b)){const mysqlDb=require(a0_0x239f28(0x1ac));executeQuery=(_0x2d5f53,_0x3b821e)=>mysqlDb[a0_0x239f28(0x16e)](_0x2d5f53,_0x3b821e),executeTransaction=_0x1a86c8=>mysqlDb['executeTransaction'](_0x1a86c8);}else{const db=require('../utils/db');executeQuery=db['executeQuery'],executeTransaction=db[a0_0x239f28(0x19c)];}}const excelParser=require(a0_0x239f28(0x1ab)),importValidator=require('../utils/import-validator'),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0x6f4b59=a0_0x239f28;this[_0x6f4b59(0x1b3)]=null;}get[a0_0x239f28(0x18a)](){const _0x37efd3=a0_0x239f28,_0x55e38b={'szovw':_0x37efd3(0x181)};if(!this[_0x37efd3(0x1b3)]){const _0x53f1d7=process['env']['RESTFORGE_PROJECT_NAME']||_0x55e38b[_0x37efd3(0x18f)];this['_uploadDir']=process[_0x37efd3(0x191)][_0x37efd3(0x193)]||path[_0x37efd3(0x121)](__dirname,'../../temp/uploads/'+_0x53f1d7);}return this[_0x37efd3(0x1b3)];}[a0_0x239f28(0x185)](){const _0x255dc8=a0_0x239f28,_0x56a8a3={'jIuVy':function(_0x267b7d,_0x5b4f40){return _0x267b7d-_0x5b4f40;},'UhYso':function(_0x12b2e6,_0x4aa8f8){return _0x12b2e6+_0x4aa8f8;},'fLFyo':function(_0x5ae398,_0x57a1cd){return _0x5ae398<_0x57a1cd;}},_0x509b63='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x557356=Date['now']()['toString'](0x24),_0x4fd2dc=uuidv7()['replace'](/-/g,'')['substring'](0x0,_0x56a8a3['jIuVy'](0xc,_0x557356[_0x255dc8(0x116)])),_0x29c1c2=_0x56a8a3['UhYso'](_0x557356,_0x4fd2dc)[_0x255dc8(0x118)](0x0,0xc);let _0xd450e7='';for(let _0xb6a673=0x0;_0x56a8a3['fLFyo'](_0xb6a673,0xc);_0xb6a673++){_0x29c1c2[_0xb6a673]?_0xd450e7+=_0x29c1c2[_0xb6a673]:_0xd450e7+=_0x509b63[_0x255dc8(0x16f)](Math['floor'](Math['random']()*_0x509b63['length']));}return _0xd450e7;}[a0_0x239f28(0x170)](_0x5a6e08){const _0x4be2d2=a0_0x239f28,_0x4adbc1={'JOIbh':'$1_$2'},_0x1f57dc=new Map();if(!_0x5a6e08)return _0x1f57dc;return Object[_0x4be2d2(0x194)](_0x5a6e08)[_0x4be2d2(0x198)](([_0xfc638b,_0x30d227])=>{const _0x597d0b=_0x4be2d2,_0x3fcb2a=String(_0x30d227)['trim']()[_0x597d0b(0x152)](/\s+/g,'_')[_0x597d0b(0x152)](/([a-z])([A-Z])/g,_0x4adbc1['JOIbh'])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x597d0b(0x1b2))['toLowerCase']();_0x1f57dc['set'](_0x3fcb2a,_0xfc638b);}),logger[_0x4be2d2(0x11e)]({'event':_0x4be2d2(0x189),'mappingCount':_0x1f57dc['size']},'Label\x20to\x20field\x20mapping\x20built'),_0x1f57dc;}[a0_0x239f28(0x1a4)](_0x46c1a0,_0x49fec3){const _0x2d6a97=a0_0x239f28,_0x5a2ae3={'ZGWka':function(_0x18ebfc,_0x2207e1){return _0x18ebfc===_0x2207e1;},'OyKQE':function(_0x4f782f,_0x5d90ab){return _0x4f782f===_0x5d90ab;},'piCGt':_0x2d6a97(0x13e),'rlazF':_0x2d6a97(0x123),'NGnaS':function(_0x3a630b,_0x46640e){return _0x3a630b(_0x46640e);},'Cenyc':function(_0xa820c7,_0x41b3b9){return _0xa820c7===_0x41b3b9;}};if(!_0x49fec3||_0x5a2ae3[_0x2d6a97(0x176)](Object['keys'](_0x49fec3)['length'],0x0))return _0x46c1a0;return _0x46c1a0['map'](_0x3b054b=>{const _0x3c5add=_0x2d6a97,_0x488515={..._0x3b054b};for(const [_0x3bffac,_0x44294c]of Object[_0x3c5add(0x194)](_0x49fec3)){const _0x57bc67=_0x488515[_0x3bffac];if(_0x5a2ae3[_0x3c5add(0x122)](_0x57bc67,null)||_0x5a2ae3['OyKQE'](_0x57bc67,undefined)||_0x5a2ae3[_0x3c5add(0x122)](_0x57bc67,'')){_0x488515[_0x3bffac]=null;continue;}switch(_0x44294c['type']){case _0x5a2ae3['piCGt']:_0x488515[_0x3bffac]=this['formatDateForDatabase'](_0x57bc67);break;case _0x5a2ae3[_0x3c5add(0x115)]:_0x488515[_0x3bffac]=this[_0x3c5add(0x13f)](_0x57bc67);break;case'boolean':_0x488515[_0x3bffac]=this['formatBooleanForDatabase'](_0x57bc67);break;case'text':_0x488515[_0x3bffac]=_0x5a2ae3['NGnaS'](String,_0x57bc67);break;default:break;}}return _0x488515;});}[a0_0x239f28(0x19f)](_0x5a122b){const _0x1c23fb=a0_0x239f28,_0x10448d={'rsfml':function(_0x4a05dd,_0x48d002){return _0x4a05dd===_0x48d002;},'ktuuL':function(_0x328349,_0xbd9a30){return _0x328349===_0xbd9a30;},'jAMag':'string','mZEPD':function(_0x327a80,_0x4a4e42){return _0x327a80(_0x4a4e42);},'VaSlB':function(_0x251bfc,_0x5d62a4){return _0x251bfc===_0x5d62a4;},'HoHYw':function(_0x9c04b8,_0x181f89){return _0x9c04b8(_0x181f89);},'VZveu':function(_0x5a2606,_0x1d54b5){return _0x5a2606(_0x1d54b5);},'HQmRZ':function(_0x2cfd9b,_0x3e3b47){return _0x2cfd9b(_0x3e3b47);},'gMhkC':function(_0x977d19,_0x210a5f){return _0x977d19(_0x210a5f);}};if(_0x5a122b===null||_0x10448d['rsfml'](_0x5a122b,undefined)||_0x10448d['ktuuL'](_0x5a122b,''))return null;if(typeof _0x5a122b===_0x10448d[_0x1c23fb(0x169)]&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x5a122b))return _0x5a122b;if(_0x5a122b instanceof Date){if(_0x10448d[_0x1c23fb(0x168)](isNaN,_0x5a122b[_0x1c23fb(0x173)]()))return null;const _0x499a13=_0x5a122b['getFullYear'](),_0x5110f2=String(_0x5a122b[_0x1c23fb(0x109)]()+0x1)[_0x1c23fb(0x183)](0x2,'0'),_0x3cbf71=String(_0x5a122b[_0x1c23fb(0x19b)]())['padStart'](0x2,'0');return _0x499a13+'-'+_0x5110f2+'-'+_0x3cbf71;}if(_0x10448d[_0x1c23fb(0x167)](typeof _0x5a122b,'string')){const _0x523762=_0x5a122b[_0x1c23fb(0x180)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x523762){const _0x30fb53=_0x10448d[_0x1c23fb(0x10a)](String,_0x523762[0x1])['padStart'](0x2,'0'),_0x1efc5a=_0x10448d['VZveu'](String,_0x523762[0x2])[_0x1c23fb(0x183)](0x2,'0'),_0x19493a=_0x523762[0x3];return _0x19493a+'-'+_0x1efc5a+'-'+_0x30fb53;}const _0x1e3245=_0x5a122b[_0x1c23fb(0x180)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x1e3245){const _0x435c39=_0x1e3245[0x1],_0x205830=_0x10448d['HQmRZ'](String,_0x1e3245[0x2])[_0x1c23fb(0x183)](0x2,'0'),_0x36e1af=_0x10448d[_0x1c23fb(0x178)](String,_0x1e3245[0x3])['padStart'](0x2,'0');return _0x435c39+'-'+_0x205830+'-'+_0x36e1af;}}return _0x5a122b;}[a0_0x239f28(0x13f)](_0x3559d8){const _0x43a4cb=a0_0x239f28,_0x35c0f8={'XxSYV':function(_0xccd9af,_0x16f558){return _0xccd9af===_0x16f558;},'LgOem':function(_0x5d4aa5,_0x117bb8){return _0x5d4aa5===_0x117bb8;},'TPjlE':function(_0x4e0988,_0x1460ec){return _0x4e0988(_0x1460ec);},'ToYaA':function(_0x338a2f,_0x163628){return _0x338a2f===_0x163628;},'jHAyX':'string'};if(_0x35c0f8['XxSYV'](_0x3559d8,null)||_0x35c0f8['XxSYV'](_0x3559d8,undefined)||_0x35c0f8[_0x43a4cb(0x137)](_0x3559d8,''))return null;if(_0x35c0f8['LgOem'](typeof _0x3559d8,_0x43a4cb(0x123)))return _0x35c0f8[_0x43a4cb(0x140)](isNaN,_0x3559d8)?null:_0x3559d8;if(_0x35c0f8[_0x43a4cb(0x17f)](typeof _0x3559d8,_0x35c0f8['jHAyX'])){let _0x316340=_0x3559d8['trim']();const _0x56e72d=/,\d{1,2}$/['test'](_0x316340)&&!/,\d{3}/['test'](_0x316340);_0x56e72d?_0x316340=_0x316340[_0x43a4cb(0x152)](/\./g,'')['replace'](',','.'):_0x316340=_0x316340[_0x43a4cb(0x152)](/,/g,'');const _0x426b60=_0x35c0f8['TPjlE'](parseFloat,_0x316340);return isNaN(_0x426b60)?null:_0x426b60;}return null;}['formatBooleanForDatabase'](_0x307f2c){const _0x21001c=a0_0x239f28,_0x475917={'LOOfF':function(_0x324923,_0x553367){return _0x324923===_0x553367;},'AAtkq':_0x21001c(0x142),'bWFVO':'false','OqwQT':function(_0x56df08,_0x408fb6){return _0x56df08===_0x408fb6;},'nvWJj':'string','ojFhU':'true'};if(_0x307f2c===null||_0x307f2c===undefined||_0x475917['LOOfF'](_0x307f2c,''))return null;if(typeof _0x307f2c===_0x475917[_0x21001c(0x101)])return _0x307f2c?_0x21001c(0x1af):_0x475917['bWFVO'];if(_0x475917['OqwQT'](typeof _0x307f2c,_0x475917['nvWJj'])){const _0x2b3e01=_0x307f2c[_0x21001c(0x175)]()['toLowerCase']();if(['true','yes','y','1'][_0x21001c(0x161)](_0x2b3e01))return _0x475917[_0x21001c(0x187)];if([_0x475917['bWFVO'],'no','n','0']['includes'](_0x2b3e01))return'false';return null;}if(typeof _0x307f2c==='number')return _0x307f2c?_0x21001c(0x1af):_0x475917[_0x21001c(0x160)];return null;}async['uploadFile'](_0x5a80d1,_0x35266e){const _0x22679a=a0_0x239f28,_0x7fa6e7={'nmXIZ':function(_0x751737,_0x260eee){return _0x751737>_0x260eee;},'KLAvH':'request_scope_applied','rQlfg':_0x22679a(0x1aa),'zcgRs':_0x22679a(0x111),'tmbdB':'Import\x20file\x20uploaded\x20and\x20parsed','uqGJV':'file_cleanup_error','rdnUR':_0x22679a(0x15c)},_0x22257a=this['generateId']();try{let {headers:_0x3d3020,rows:_0x4dc9c5,totalRows:_0xfdfaf2}=await excelParser[_0x22679a(0x14b)](_0x5a80d1['path']);const _0x6451c1=this['buildLabelToFieldMap'](_0x35266e[_0x22679a(0x117)]),_0x36ca2c=_0x3d3020['map'](_0x5e7585=>{const _0x35327a=_0x22679a,_0x453bfc=_0x6451c1[_0x35327a(0x102)](_0x5e7585);return _0x453bfc||_0x5e7585;});_0x4dc9c5=_0x4dc9c5[_0x22679a(0x1ae)](_0x5ac2bc=>{const _0x16d5ee=_0x22679a,_0x4331d3={};return _0x3d3020[_0x16d5ee(0x198)]((_0x1e70ad,_0x399779)=>{const _0xfa92c5=_0x36ca2c[_0x399779];_0x4331d3[_0xfa92c5]=_0x5ac2bc[_0x1e70ad];}),_0x4331d3;}),_0x3d3020=_0x36ca2c,logger['debug']({'event':'headers_mapped','original':_0x3d3020['length'],'mapped':_0x36ca2c['filter']((_0x5c11b9,_0x88090f)=>_0x5c11b9!==_0x3d3020[_0x88090f])['length']},_0x22679a(0x188));_0x35266e[_0x22679a(0x1a8)]&&_0x7fa6e7['nmXIZ'](Object[_0x22679a(0x153)](_0x35266e['columnFormats'])[_0x22679a(0x116)],0x0)&&(_0x4dc9c5=this[_0x22679a(0x1a4)](_0x4dc9c5,_0x35266e[_0x22679a(0x1a8)]),logger[_0x22679a(0x11e)]({'event':'column_formats_applied','formatCount':Object['keys'](_0x35266e[_0x22679a(0x1a8)])[_0x22679a(0x116)],'formats':Object['keys'](_0x35266e[_0x22679a(0x1a8)])},'Column\x20formats\x20applied\x20to\x20rows'));if(_0x35266e['scopeOverride']&&_0x35266e[_0x22679a(0x179)][_0x22679a(0x127)]){const {column:_0x236844,value:_0x1ecdfa}=_0x35266e[_0x22679a(0x179)];_0x4dc9c5=_0x4dc9c5['map'](_0x2c60f3=>({..._0x2c60f3,[_0x236844]:_0x1ecdfa})),logger['debug']({'event':_0x7fa6e7[_0x22679a(0x16b)],'column':_0x236844,'rowCount':_0x4dc9c5['length']},_0x7fa6e7['rQlfg']);}const _0x45b017=_0x35266e[_0x22679a(0x19a)]?Object[_0x22679a(0x156)](_0x35266e[_0x22679a(0x19a)])[_0x22679a(0x1ae)](_0x1aee34=>_0x1aee34['targetField']):[],_0x16a3c9=_0x35266e['fieldName']['filter'](_0x81386f=>!_0x45b017[_0x22679a(0x161)](_0x81386f)),_0x1a5c84=excelParser[_0x22679a(0x164)](_0x3d3020,_0x16a3c9);if(!_0x1a5c84[_0x22679a(0x11c)]){await fs['unlink'](_0x5a80d1['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x1a5c84[_0x22679a(0x16d)][_0x22679a(0x121)](',\x20'));}const _0x3c5af6={'upload_id':_0x22257a,'filename':_0x5a80d1['originalname'],'total_rows':_0xfdfaf2,'headers':_0x3d3020,'rows':_0x4dc9c5,'params':_0x35266e,'created_at':new Date()['toISOString']()};return await redisHelper['setJob']('upload:'+_0x22257a,_0x3c5af6,0xe10),await fs[_0x22679a(0x12f)](_0x5a80d1[_0x22679a(0x162)]),logger[_0x22679a(0x192)]({'event':_0x7fa6e7[_0x22679a(0x1a7)],'uploadId':_0x22257a,'filename':_0x5a80d1['originalname'],'totalRows':_0xfdfaf2},_0x7fa6e7[_0x22679a(0x135)]),{'upload_id':_0x22257a,'total_rows':_0xfdfaf2,'preview':_0x4dc9c5['slice'](0x0,0xa)};}catch(_0x1c6a8f){try{await fs['unlink'](_0x5a80d1[_0x22679a(0x162)]);}catch(_0x1d17c7){logError(_0x1d17c7,{'event':_0x7fa6e7[_0x22679a(0x177)]},_0x7fa6e7['rdnUR']);}throw _0x1c6a8f;}}async[a0_0x239f28(0x125)](_0xa62ef3){const _0x4b3ce7=a0_0x239f28,_0x1eaf25={'npkXM':function(_0x581013,_0x81c143,_0x36ed54,_0x5f0663){return _0x581013(_0x81c143,_0x36ed54,_0x5f0663);},'IiOvd':_0x4b3ce7(0x1ad),'Sfjkw':'preview_job_created','vuWex':_0x4b3ce7(0x150),'OnbSq':'validating'},_0x49d454=this['generateId'](),_0x7dd794=await redisHelper[_0x4b3ce7(0x13c)]('upload:'+_0xa62ef3);if(!_0x7dd794)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const _0x25048f={'job_id':_0x49d454,'upload_id':_0xa62ef3,'status':'validating','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x7dd794[_0x4b3ce7(0x12d)]};return await redisHelper['setJob']('job:'+_0x49d454,_0x25048f,0xe10),logger[_0x4b3ce7(0x192)]({'event':_0x1eaf25[_0x4b3ce7(0x10f)],'jobId':_0x49d454,'uploadId':_0xa62ef3},_0x1eaf25[_0x4b3ce7(0x19d)]),this['processPreviewJob'](_0x49d454,_0xa62ef3,_0x7dd794)['catch'](_0x3ffcd3=>{const _0x34638e=_0x4b3ce7;_0x1eaf25['npkXM'](logError,_0x3ffcd3,{'event':_0x1eaf25[_0x34638e(0x139)],'jobId':_0x49d454},'Preview\x20processing\x20failed');}),{'job_id':_0x49d454,'status':_0x1eaf25['OnbSq']};}['autoGenerateUpsertKeys'](_0xffa1bf,_0x539f52){const _0x29d9b4=a0_0x239f28,_0x34a837={'aSMWV':function(_0x256f7c,_0x3fad93){return _0x256f7c===_0x3fad93;},'TzPAg':function(_0x3bae45,_0x1f3248){return _0x3bae45===_0x1f3248;},'JhcWP':_0x29d9b4(0x119)};_0xffa1bf[_0x29d9b4(0x198)]((_0x393260,_0x3f2ad6)=>{const _0x442616=_0x29d9b4;_0x539f52[_0x442616(0x198)](_0x16819e=>{const _0x45b5b5=_0x442616,_0x5eb68c=_0x393260[_0x16819e];if(_0x34a837[_0x45b5b5(0x106)](_0x5eb68c,null)||_0x34a837[_0x45b5b5(0x106)](_0x5eb68c,undefined)||_0x34a837['TzPAg'](_0x5eb68c,'')||String(_0x5eb68c)['trim']()==='-'){const _0x1fbb7b=uuidv7();_0x393260[_0x16819e]=_0x1fbb7b,_0x393260['_generated_uuid']=_0x393260[_0x45b5b5(0x18c)]||{},_0x393260[_0x45b5b5(0x18c)][_0x16819e]=_0x1fbb7b,logger[_0x45b5b5(0x11e)]({'event':_0x34a837['JhcWP'],'rowIndex':_0x3f2ad6,'field':_0x16819e,'uuid':_0x1fbb7b},'Auto-generated\x20UUID\x20for\x20'+_0x16819e+_0x45b5b5(0x1b1)+(_0x3f2ad6+0x2));}});});}async[a0_0x239f28(0x12b)](_0xb0955e,_0x245225,_0x2dbb57){const _0x39f56d=a0_0x239f28,_0x1ede3e={'DdYpe':'INSERT','BuDUE':_0x39f56d(0x130),'SsVLk':function(_0x283e3f,_0x1e7c18){return _0x283e3f===_0x1e7c18;},'sfGKo':function(_0x5005f1,_0x29ba1c){return _0x5005f1||_0x29ba1c;},'eYIBo':'preview_job_failed','AJTWc':'Preview\x20job\x20failed','BtZuX':_0x39f56d(0x14f)};try{let {rows:_0x27cf9c,params:_0xa7e187}=_0x2dbb57;const {requiredFields:_0x276a64,validations:_0x51cf3d,upsertKeys:_0xb93c4e,tableName:_0x1421a1,primaryKey:_0xa71ef0,fieldName:_0x12d5c6,upsertStrategy:_0x2d9643,lookupFields:_0x4cb542}=_0xa7e187;this['autoGenerateUpsertKeys'](_0x27cf9c,_0xb93c4e);let _0x5e2f1c=[];if(_0x4cb542&&Object['keys'](_0x4cb542)[_0x39f56d(0x116)]>0x0){logger[_0x39f56d(0x192)]({'event':_0x39f56d(0x100),'jobId':_0xb0955e,'lookupFieldCount':Object['keys'](_0x4cb542)[_0x39f56d(0x116)]},_0x39f56d(0x1a9));const _0x5d9ea0=await lookupResolver[_0x39f56d(0x120)](_0x27cf9c,_0x4cb542);_0x27cf9c=_0x5d9ea0[_0x39f56d(0x131)],_0x5e2f1c=_0x5d9ea0[_0x39f56d(0x112)],_0x2dbb57['rows']=_0x27cf9c;}const _0x353952=importValidator[_0x39f56d(0x18d)](_0x27cf9c,_0x276a64||[],_0x1ede3e['sfGKo'](_0x51cf3d,{}));_0x5e2f1c[_0x39f56d(0x198)](_0xbedd53=>{const _0x1b3515=_0x39f56d,_0x35409d=_0x353952[_0x1b3515(0x129)](_0x557dc1=>_0x557dc1[_0x1b3515(0x16c)]===_0xbedd53[_0x1b3515(0x16c)]);_0x35409d?_0x35409d['errors'][_0x1b3515(0x104)](_0xbedd53['message']):_0x353952['push']({'rowIndex':_0xbedd53['rowIndex'],'rowData':_0x27cf9c[_0xbedd53['rowIndex']],'errors':[_0xbedd53[_0x1b3515(0x136)]]});});const _0x17727a=importValidator['detectDuplicatesInFile'](_0x27cf9c,_0xb93c4e);_0x17727a['forEach'](_0x5c81fd=>{const _0x2e439c=_0x39f56d,_0x40cd7e=_0x353952[_0x2e439c(0x129)](_0x49a691=>_0x49a691['rowIndex']===_0x5c81fd['rowIndex']),_0x27ef8d=_0xb93c4e[_0x2e439c(0x1ae)](_0x11c2ec=>_0x11c2ec[_0x2e439c(0x154)]())[_0x2e439c(0x121)](',\x20'),_0x22bf6b=_0x2e439c(0x18e)+_0x27ef8d;_0x40cd7e?_0x40cd7e['errors']['push'](_0x22bf6b):_0x353952[_0x2e439c(0x104)]({'rowIndex':_0x5c81fd['rowIndex'],'rowData':_0x27cf9c[_0x5c81fd['rowIndex']],'errors':[_0x22bf6b]});}),await this['detectDatabaseDuplicates'](_0x27cf9c,_0xb93c4e,_0x1421a1,_0xa71ef0,_0x2d9643,_0x353952),_0x353952[_0x39f56d(0x198)](_0x5bc9c3=>{const _0x1d687b=_0x39f56d,_0x2fa0ba=_0x27cf9c[_0x5bc9c3[_0x1d687b(0x16c)]];_0x2fa0ba&&(_0x2fa0ba[_0x1d687b(0x13d)]=_0x5bc9c3['errors']);});let _0xc6f995=0x0,_0x406b74=0x0,_0x9d1293=0x0;_0x27cf9c['forEach'](_0x1beb72=>{const _0x4d8b44=_0x39f56d;if(_0x1beb72['_action']===_0x1ede3e['DdYpe'])_0xc6f995++;else{if(_0x1beb72['_action']===_0x1ede3e['BuDUE'])_0x406b74++;else _0x1ede3e[_0x4d8b44(0x199)](_0x1beb72[_0x4d8b44(0x172)],_0x4d8b44(0x144))&&_0x9d1293++;}});const _0x5391a4={'job_id':_0xb0955e,'upload_id':_0x245225,'status':_0x353952['length']>0x0?_0x39f56d(0x14d):'preview_ok','progress':0x64,'created_at':_0x2dbb57[_0x39f56d(0x1a0)],'completed_at':new Date()[_0x39f56d(0x174)](),'preview':{'total_rows':_0x27cf9c['length'],'insert_count':_0xc6f995,'update_count':_0x406b74,'skip_count':_0x9d1293,'error_count':_0x353952['length'],'errors':_0x353952,'data':_0x27cf9c,'sample_insert':_0x27cf9c[_0x39f56d(0x113)](_0x4d6dfe=>_0x4d6dfe[_0x39f56d(0x172)]==='INSERT')['slice'](0x0,0x5),'sample_update':_0x27cf9c[_0x39f56d(0x113)](_0x22c3e4=>_0x22c3e4['_action']===_0x39f56d(0x130))[_0x39f56d(0x114)](0x0,0x5),'sample_skip':_0x27cf9c['filter'](_0x19b19e=>_0x19b19e[_0x39f56d(0x172)]==='SKIP')['slice'](0x0,0x5)},'params':_0xa7e187};await redisHelper[_0x39f56d(0x171)](_0x39f56d(0x10b)+_0xb0955e,_0x5391a4,0xe10),_0x2dbb57[_0x39f56d(0x138)]=_0x27cf9c,await redisHelper[_0x39f56d(0x171)](_0x39f56d(0x126)+_0x245225,_0x2dbb57,0xe10),logger[_0x39f56d(0x192)]({'event':_0x39f56d(0x10c),'jobId':_0xb0955e,'status':_0x5391a4['status'],'insertCount':_0xc6f995,'updateCount':_0x406b74,'skipCount':_0x9d1293,'errorCount':_0x353952['length']},_0x39f56d(0x146));}catch(_0x5d3cba){logError(_0x5d3cba,{'event':_0x1ede3e[_0x39f56d(0x197)],'jobId':_0xb0955e},_0x1ede3e['AJTWc']),await redisHelper['setJob']('job:'+_0xb0955e,{'job_id':_0xb0955e,'upload_id':_0x245225,'status':_0x1ede3e[_0x39f56d(0x13b)],'progress':0x0,'error':_0x5d3cba[_0x39f56d(0x136)],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x239f28(0x141)](_0x5292cd,_0x18229b,_0x37951c,_0x59ed2c,_0x111cd7='update_existing',_0x2849e4=[]){const _0x280ef2=a0_0x239f28,_0x186e90={'byTZh':function(_0x515d01,_0x5b3ae3){return _0x515d01===_0x5b3ae3;},'ykJiZ':_0x280ef2(0xfe),'Zkmlk':_0x280ef2(0x147),'jiPDj':_0x280ef2(0x144),'oMMSQ':function(_0xf48365,_0x6a5921){return _0xf48365!==_0x6a5921;},'ISzoJ':_0x280ef2(0x108),'NLoxb':function(_0x35acde,_0x4a4b36){return _0x35acde===_0x4a4b36;},'BbuJD':_0x280ef2(0x128),'wkPBN':_0x280ef2(0x132)},_0x2ce179=upsertBuilder[_0x280ef2(0x103)](_0x5292cd,0x64);for(const _0x199260 of _0x2ce179){const _0x2c1636=_0x199260['map'](_0x35b0db=>_0x35b0db[_0x18229b[0x0]]),_0x2fb992=_0x2c1636['map'](_0x908db1=>{const _0x41284c=_0x280ef2;if(_0x186e90['byTZh'](_0x908db1,null)||_0x908db1===undefined)return _0x41284c(0x11d);return'\x27'+String(_0x908db1)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x485499=_0x280ef2(0x158)+_0x59ed2c+',\x20'+_0x18229b['join'](',\x20')+_0x280ef2(0x1a2)+_0x37951c+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x18229b[0x0]+_0x280ef2(0x195)+_0x2fb992['join'](',\x20')+_0x280ef2(0x145);let _0x4ee916=await executeQuery(_0x485499);dbType===_0x186e90[_0x280ef2(0x157)]&&_0x4ee916&&_0x4ee916['length']>0x0&&(_0x4ee916=_0x4ee916[_0x280ef2(0x1ae)](_0x3582fd=>{const _0x65d34d=_0x280ef2,_0x1629c7={};for(const [_0x5cddbb,_0x5b2a01]of Object[_0x65d34d(0x194)](_0x3582fd)){_0x1629c7[_0x5cddbb[_0x65d34d(0x1a1)]()]=_0x5b2a01;}return _0x1629c7;}));const _0x7eb8c7=new Map();_0x4ee916['forEach'](_0x21f2d6=>{const _0x26c610=_0x21f2d6[_0x18229b[0x0]];_0x7eb8c7['set'](_0x26c610,_0x21f2d6);}),_0x199260['forEach']((_0x162664,_0x3618f7)=>{const _0x2e4b63=_0x280ef2,_0x395d3=_0x162664[_0x18229b[0x0]],_0x371559=_0x7eb8c7[_0x2e4b63(0x102)](_0x395d3);if(_0x371559){if(_0x186e90['byTZh'](_0x111cd7,_0x186e90['ykJiZ']))_0x162664['_action']=_0x2e4b63(0x130),_0x162664['_existingId']=_0x371559[_0x59ed2c];else{if(_0x186e90['byTZh'](_0x111cd7,_0x186e90['Zkmlk'])){_0x162664['_action']=_0x186e90['jiPDj'],_0x162664[_0x2e4b63(0x13d)]=_0x162664[_0x2e4b63(0x13d)]||[],_0x162664[_0x2e4b63(0x13d)]['push']('Record\x20exists\x20(insert_only\x20mode)');const _0x215fe3=_0x5292cd['indexOf'](_0x162664);_0x186e90[_0x2e4b63(0x12c)](_0x215fe3,-0x1)&&_0x2849e4[_0x2e4b63(0x104)]({'rowIndex':_0x215fe3,'rowData':_0x162664,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x111cd7===_0x186e90[_0x2e4b63(0x10d)]&&(_0x162664['_action']=_0x186e90['jiPDj']);}}else{if(_0x186e90[_0x2e4b63(0x184)](_0x111cd7,_0x186e90['ykJiZ']))_0x162664['_action']=_0x186e90['BbuJD'];else(_0x111cd7===_0x186e90[_0x2e4b63(0x166)]||_0x111cd7===_0x186e90[_0x2e4b63(0x10d)])&&(_0x162664['_action']=_0x2e4b63(0x128));}});}}async[a0_0x239f28(0x124)](_0x4452d3){const _0x146f12=a0_0x239f28,_0x5a4527={'LqBqn':function(_0x4f70a2,_0x1c5e02,_0x406006,_0x37b273){return _0x4f70a2(_0x1c5e02,_0x406006,_0x37b273);},'webiK':'commit_process_error','aCYaa':function(_0x4b1ba2,_0x24ed82){return _0x4b1ba2!==_0x24ed82;},'sIGfP':_0x146f12(0x15e),'enzwd':_0x146f12(0x10e)},_0x2a5c52=this[_0x146f12(0x185)](),_0x32978b=await redisHelper['getJob'](_0x146f12(0x10b)+_0x4452d3);if(!_0x32978b)throw new Error(_0x146f12(0x1b0));if(_0x5a4527['aCYaa'](_0x32978b['status'],'preview_ok'))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x32978b['status']);const _0x337ad9={'job_id':_0x2a5c52,'upload_id':_0x32978b[_0x146f12(0x12a)],'preview_job_id':_0x4452d3,'status':'processing','progress':0x0,'created_at':new Date()[_0x146f12(0x174)](),'params':_0x32978b[_0x146f12(0x12d)]};return await redisHelper[_0x146f12(0x171)]('job:'+_0x2a5c52,_0x337ad9,0xe10),logger['info']({'event':_0x5a4527[_0x146f12(0x17e)],'jobId':_0x2a5c52,'previewJobId':_0x4452d3},_0x5a4527['enzwd']),this['processCommitJob'](_0x2a5c52,_0x32978b)['catch'](_0x3efeef=>{_0x5a4527['LqBqn'](logError,_0x3efeef,{'event':_0x5a4527['webiK'],'jobId':_0x2a5c52},'Commit\x20processing\x20failed');}),{'job_id':_0x2a5c52,'status':_0x146f12(0x17a)};}async['processCommitJob'](_0x5d46eb,_0xf55ca8){const _0x47fe32=a0_0x239f28,_0x229b09={'DJEGS':function(_0x21b854,_0x195ad3){return _0x21b854===_0x195ad3;},'wvJfd':_0x47fe32(0x17b),'pHzey':_0x47fe32(0x149),'LXqhE':function(_0x5d9e4a,_0x1b4915){return _0x5d9e4a>_0x1b4915;},'zWVUY':_0x47fe32(0x11f),'VRDSG':function(_0x2abccf,_0x7ba91e){return _0x2abccf(_0x7ba91e);},'SIwzZ':_0x47fe32(0x1a5),'fwTZv':_0x47fe32(0x165),'SkKPK':function(_0x27a4c1,_0x273a74,_0x1a00d4,_0x1fbc56){return _0x27a4c1(_0x273a74,_0x1a00d4,_0x1fbc56);},'yUFAu':'commit_job_failed','CmGJA':_0x47fe32(0x1a3)};try{const _0x24c887=await redisHelper['getJob']('upload:'+_0xf55ca8['upload_id']);if(!_0x24c887)throw new Error(_0x229b09['pHzey']);const {rows:_0x2bbb28,params:_0x173e82}=_0x24c887,{tableName:_0x51ad60,fieldName:_0x513a1e,primaryKey:_0x321454,upsertKeys:_0x386eee,excludeFromImport:_0x36fa86,lookupFields:_0x329aba,columnFormats:_0x2ccb3f}=_0x173e82,_0x100c1c=_0x329aba?Object[_0x47fe32(0x153)](_0x329aba):[],_0x24ccfe=new Set([..._0x36fa86||[],..._0x100c1c]);let _0x2d4d5e=_0x513a1e;_0x24ccfe['size']>0x0&&(_0x2d4d5e=_0x513a1e[_0x47fe32(0x113)](_0x1976b9=>!_0x24ccfe[_0x47fe32(0x11b)](_0x1976b9)),logger['debug']({'event':_0x47fe32(0x182),'originalCount':_0x513a1e[_0x47fe32(0x116)],'filteredCount':_0x2d4d5e['length'],'excludedFields':Array['from'](_0x24ccfe),'lookupSourceFields':_0x100c1c},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x9f27c8=_0x2bbb28['filter'](_0x2e6c07=>_0x2e6c07['_action']==='INSERT'),_0x5dd993=_0x2bbb28[_0x47fe32(0x113)](_0x187f4e=>_0x187f4e[_0x47fe32(0x172)]===_0x47fe32(0x130));let _0x21f996=0x0,_0x38dc42=0x0;const _0x473433=[];if(_0x9f27c8[_0x47fe32(0x116)]>0x0){const _0xebff7c=upsertBuilder['chunkRows'](_0x9f27c8,0x64);for(const _0x5aecb9 of _0xebff7c){const {query:_0x12927c}=upsertBuilder[_0x47fe32(0x11a)](_0x5aecb9,_0x51ad60,_0x2d4d5e,_0x2ccb3f||{});_0x12927c&&_0x473433['push']({'sql':_0x12927c,'count':_0x5aecb9['length'],'type':_0x229b09[_0x47fe32(0x15a)]});}}if(_0x229b09['LXqhE'](_0x5dd993[_0x47fe32(0x116)],0x0)){const _0x23736a=upsertBuilder[_0x47fe32(0x103)](_0x5dd993,0x64);for(const _0x3d1a03 of _0x23736a){const {query:_0x8ad65}=upsertBuilder[_0x47fe32(0x143)](_0x3d1a03,_0x51ad60,_0x2d4d5e,_0x321454,_0x386eee,_0x2ccb3f||{});_0x8ad65&&_0x473433[_0x47fe32(0x104)]({'sql':_0x8ad65,'count':_0x3d1a03[_0x47fe32(0x116)],'type':_0x229b09[_0x47fe32(0x12e)]});}}_0x473433['length']>0x0&&await _0x229b09[_0x47fe32(0x14e)](executeTransaction,_0x473433['map'](_0x568207=>({'sql':_0x568207['sql'],'params':[]})));_0x473433[_0x47fe32(0x198)](_0x28d413=>{const _0x244243=_0x47fe32;if(_0x229b09[_0x244243(0x196)](_0x28d413['type'],_0x229b09['wvJfd']))_0x21f996+=_0x28d413[_0x244243(0x15d)];else _0x38dc42+=_0x28d413['count'];});const _0x148ecd={'job_id':_0x5d46eb,'upload_id':_0xf55ca8[_0x47fe32(0x12a)],'preview_job_id':_0xf55ca8[_0x47fe32(0xff)],'status':_0x229b09[_0x47fe32(0x14c)],'progress':0x64,'created_at':_0xf55ca8[_0x47fe32(0x1a0)],'started_at':new Date()[_0x47fe32(0x174)](),'completed_at':new Date()[_0x47fe32(0x174)](),'result':{'total_rows':_0x2bbb28[_0x47fe32(0x116)],'inserted_rows':_0x21f996,'updated_rows':_0x38dc42,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x173e82};await redisHelper['setJob']('job:'+_0x5d46eb,_0x148ecd,0xe10),logger['info']({'event':_0x47fe32(0x134),'jobId':_0x5d46eb,'insertedCount':_0x21f996,'updatedCount':_0x38dc42},_0x229b09[_0x47fe32(0x190)]);}catch(_0x105779){_0x229b09[_0x47fe32(0x155)](logError,_0x105779,{'event':_0x229b09[_0x47fe32(0x17d)],'jobId':_0x5d46eb},_0x229b09[_0x47fe32(0x105)]),await redisHelper[_0x47fe32(0x171)](_0x47fe32(0x10b)+_0x5d46eb,{'job_id':_0x5d46eb,'upload_id':_0xf55ca8[_0x47fe32(0x12a)],'preview_job_id':_0xf55ca8['job_id'],'status':_0x47fe32(0x14f),'progress':0x0,'error':_0x105779['message'],'created_at':_0xf55ca8['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x47fe32(0x174)]()},0xe10);}}async['getJobStatus'](_0x22ae99){const _0x232b6c=a0_0x239f28,_0x5dd2bc={'SYdPF':'Job\x20not\x20found\x20or\x20expired'},_0x55adf8=await redisHelper[_0x232b6c(0x13c)]('job:'+_0x22ae99);if(!_0x55adf8)return{'success':![],'error':_0x5dd2bc[_0x232b6c(0x159)]};return{'success':!![],'data':_0x55adf8};}}module['exports']=new ImportService();
@@ -1 +1 @@
1
- const a0_0x227a92=a0_0xf0c9;(function(_0x5780d1,_0x1b9600){const _0x24100d=a0_0xf0c9,_0x2857fc=_0x5780d1();while(!![]){try{const _0x508323=-parseInt(_0x24100d(0x16f))/0x1+-parseInt(_0x24100d(0x172))/0x2+parseInt(_0x24100d(0x126))/0x3+parseInt(_0x24100d(0x11c))/0x4*(parseInt(_0x24100d(0x127))/0x5)+-parseInt(_0x24100d(0x14c))/0x6*(-parseInt(_0x24100d(0x175))/0x7)+-parseInt(_0x24100d(0x11f))/0x8+-parseInt(_0x24100d(0x138))/0x9;if(_0x508323===_0x1b9600)break;else _0x2857fc['push'](_0x2857fc['shift']());}catch(_0x28580a){_0x2857fc['push'](_0x2857fc['shift']());}}}(a0_0x26fb,0x58394));const {Kafka,logLevel}=require(a0_0x227a92(0x161)),{v7:uuidv7}=require(a0_0x227a92(0x156));class KafkaConsumerService{constructor(){const _0x5e68bb=a0_0x227a92,_0x47c727='4|7|2|1|8|6|9|5|10|3|0'[_0x5e68bb(0x11d)]('|');let _0x4e03e1=0x0;while(!![]){switch(_0x47c727[_0x4e03e1++]){case'0':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'1':this['isInitializing']=![];continue;case'2':this[_0x5e68bb(0x117)]=![];continue;case'3':this[_0x5e68bb(0x146)]=null;continue;case'4':this['kafka']=null;continue;case'5':this['subscribedTopics']=[];continue;case'6':this[_0x5e68bb(0x15c)]=![];continue;case'7':this['consumer']=null;continue;case'8':this[_0x5e68bb(0x15f)]=![];continue;case'9':this[_0x5e68bb(0x169)]=null;continue;case'10':this[_0x5e68bb(0x159)]=null;continue;}break;}}[a0_0x227a92(0x15a)](){const _0x300034=a0_0x227a92,_0x21cbcd={'XuTdx':'true','qADGL':_0x300034(0x163),'IPjUZ':function(_0x2eb664,_0x2c1bc4){return _0x2eb664(_0x2c1bc4);},'OnMhl':function(_0x5a12b7,_0x2e12ce){return _0x5a12b7(_0x2e12ce);},'KtZGe':'1048576'};return{'enabled':process['env'][_0x300034(0x12a)]===_0x21cbcd['XuTdx'],'brokers':(process[_0x300034(0x16b)]['KAFKA_BROKERS']||_0x300034(0x120))['split'](','),'clientId':process['env'][_0x300034(0x140)]||'restforge-'+(process[_0x300034(0x16b)][_0x300034(0x132)]||'default')+_0x300034(0x121),'connectionTimeout':parseInt(process['env'][_0x300034(0x13d)]||_0x21cbcd[_0x300034(0x14e)]),'requestTimeout':_0x21cbcd[_0x300034(0x100)](parseInt,process['env'][_0x300034(0x10e)]||_0x300034(0x108)),'sessionTimeout':_0x21cbcd[_0x300034(0x133)](parseInt,process['env'][_0x300034(0x111)]||_0x300034(0x168)),'heartbeatInterval':_0x21cbcd[_0x300034(0x133)](parseInt,process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0x21cbcd['qADGL']),'maxBytesPerPartition':parseInt(process['env'][_0x300034(0x148)]||_0x21cbcd[_0x300034(0x128)]),'autoCommit':process[_0x300034(0x16b)][_0x300034(0x106)]===_0x300034(0x110),'autoCommitInterval':_0x21cbcd['IPjUZ'](parseInt,process[_0x300034(0x16b)]['KAFKA_AUTO_COMMIT_INTERVAL']||'5000'),'retryAttempts':_0x21cbcd['OnMhl'](parseInt,process['env'][_0x300034(0x131)]||'3'),'retryDelay':parseInt(process[_0x300034(0x16b)][_0x300034(0x14d)]||_0x300034(0x130)),'retryMaxDelay':parseInt(process['env']['KAFKA_RETRY_MAX_DELAY']||_0x300034(0x168)),'logLevel':process['env'][_0x300034(0x173)]||_0x300034(0x104)};}['getLogLevel'](_0x1a545e){const _0x235232=a0_0x227a92,_0x18b20a={'nothing':logLevel[_0x235232(0x124)],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x18b20a[_0x1a545e['toLowerCase']()]||logLevel[_0x235232(0x136)];}async['initialize'](_0x34a93c={}){const _0x275709=a0_0x227a92,_0x11c1c0={'PLmbH':function(_0x431a42,_0x36ae79){return _0x431a42===_0x36ae79;},'QAqJo':_0x275709(0x110),'AiMbY':function(_0x399c6c,_0x24f157){return _0x399c6c(_0x24f157);},'nGuyl':_0x275709(0x10a)},_0x2eaede=this[_0x275709(0x15a)]();if(!_0x2eaede['enabled'])return console[_0x275709(0x10b)](_0x11c1c0['nGuyl']),![];if(this[_0x275709(0x117)])return!![];if(this['isInitializing']&&this[_0x275709(0x169)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x506e19=>{const _0x4acf09=_0x275709;try{let _0x4387ef=undefined;_0x11c1c0[_0x4acf09(0x137)](process['env'][_0x4acf09(0x12f)],_0x11c1c0['QAqJo'])&&(_0x4387ef=!![]);let _0x4a8a76=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x4a8a76={'mechanism':process['env'][_0x4acf09(0x167)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x34a93c[_0x4acf09(0x154)]||_0x2eaede[_0x4acf09(0x154)],'brokers':_0x2eaede[_0x4acf09(0x142)],'connectionTimeout':_0x2eaede['connectionTimeout'],'requestTimeout':_0x2eaede['requestTimeout'],'logLevel':this['getLogLevel'](_0x2eaede['logLevel']),'ssl':_0x4387ef,'sasl':_0x4a8a76,'retry':{'initialRetryTime':_0x2eaede['retryDelay'],'retries':_0x2eaede[_0x4acf09(0x162)],'maxRetryTime':_0x2eaede['retryMaxDelay']}}),this[_0x4acf09(0x159)]=_0x34a93c[_0x4acf09(0x159)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||'default')+'-consumer-group',this['consumer']=this['kafka']['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x2eaede[_0x4acf09(0x16c)],'heartbeatInterval':_0x2eaede[_0x4acf09(0x150)],'maxBytesPerPartition':_0x2eaede['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer'][_0x4acf09(0x11b)](),this['isConnected']=!![],console[_0x4acf09(0x10b)](_0x4acf09(0x122)+_0x2eaede['brokers']['join'](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this[_0x4acf09(0x139)](),_0x11c1c0[_0x4acf09(0x114)](_0x506e19,!![]);}catch(_0x46ce71){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x46ce71['message']),this['isConnected']=![],_0x11c1c0['AiMbY'](_0x506e19,![]);}finally{this['isInitializing']=![];}}),this[_0x275709(0x169)];}['setupEventHandlers'](){const _0x390197=a0_0x227a92,_0x1a437b={'QgocL':_0x390197(0x101),'hRRwK':_0x390197(0x14a),'vsFVG':_0x390197(0x13f)};if(!this['consumer'])return;this['consumer']['on'](_0x1a437b[_0x390197(0x129)],()=>{const _0x1cc45=_0x390197;console['log']('[KafkaConsumer]\x20Consumer\x20disconnected'),this[_0x1cc45(0x117)]=![],this[_0x1cc45(0x15f)]=![];}),this['consumer']['on'](_0x390197(0x151),()=>{const _0x58255a=_0x390197;console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this[_0x58255a(0x15f)]=![];}),this[_0x390197(0x103)]['on'](_0x1a437b[_0x390197(0x176)],_0x36de6e=>{const _0x52ff87=_0x390197;console[_0x52ff87(0x119)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x36de6e[_0x52ff87(0x160)][_0x52ff87(0x119)]['message']),this[_0x52ff87(0x15f)]=![];}),this['consumer']['on'](_0x390197(0x134),()=>{const _0x355736=_0x390197;console['log'](_0x1a437b[_0x355736(0x157)]);});}async[a0_0x227a92(0x123)](_0x57e428,_0x2f1d5f=![]){const _0x27c98e=a0_0x227a92;if(!this[_0x27c98e(0x117)])return console[_0x27c98e(0x119)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x4c033c=Array['isArray'](_0x57e428)?_0x57e428:[_0x57e428];for(const _0x1cfea0 of _0x4c033c){await this['consumer']['subscribe']({'topic':_0x1cfea0,'fromBeginning':_0x2f1d5f}),console[_0x27c98e(0x10b)](_0x27c98e(0x12e)+_0x1cfea0+_0x27c98e(0x141)+_0x2f1d5f+')');}return this[_0x27c98e(0x155)]=[...new Set([...this['subscribedTopics'],..._0x4c033c])],!![];}catch(_0x512518){return console[_0x27c98e(0x119)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x512518['message']),![];}}async[a0_0x227a92(0x135)](_0x528bc8,_0x47106e={}){const _0x22016f=a0_0x227a92,_0xf21d87={'kmMBX':function(_0x4525a2,_0x33a74e){return _0x4525a2+_0x33a74e;},'EsHDG':function(_0x13c566,_0x2c34f5){return _0x13c566(_0x2c34f5);},'EPMfO':function(_0x1cf73e,_0x129905){return _0x1cf73e-_0x129905;},'WLvif':function(_0x4e46a7,_0xdeedff){return _0x4e46a7>_0xdeedff;},'nUttL':function(_0x1a85f5,_0x627fbc){return _0x1a85f5!==_0x627fbc;}};if(!this['isConnected'])return console['error'](_0x22016f(0x14b)),![];if(this[_0x22016f(0x15f)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x286e5b=this[_0x22016f(0x15a)]();this['messageHandler']=_0x528bc8;try{return this[_0x22016f(0x12c)][_0x22016f(0x152)]=new Date(),await this[_0x22016f(0x103)][_0x22016f(0x15b)]({'autoCommit':_0xf21d87['nUttL'](_0x47106e['autoCommit'],undefined)?_0x47106e[_0x22016f(0x112)]:_0x286e5b[_0x22016f(0x112)],'autoCommitInterval':_0x286e5b[_0x22016f(0x16d)],'eachMessage':async({topic:_0x337507,partition:_0x24e172,message:_0x14bc24,heartbeat:_0x562560})=>{const _0x47f39d=_0x22016f,_0x20e099=Date[_0x47f39d(0x10d)]();this['metrics'][_0x47f39d(0x113)]++,this['metrics'][_0x47f39d(0x165)]=new Date();try{const _0x195588=_0x14bc24['value']?_0x14bc24[_0x47f39d(0x171)]['toString']():null;let _0x360490=null;try{_0x360490=_0x195588?JSON[_0x47f39d(0x11a)](_0x195588):null;}catch(_0x1c68ea){_0x360490=_0x195588;}const _0x296866={'topic':_0x337507,'partition':_0x24e172,'offset':_0x14bc24['offset'],'key':_0x14bc24['key']?_0x14bc24[_0x47f39d(0x147)]['toString']():null,'headers':this[_0x47f39d(0x13e)](_0x14bc24[_0x47f39d(0x10c)]),'timestamp':_0x14bc24['timestamp'],'value':_0x360490,'raw':_0x195588};this[_0x47f39d(0x146)]&&await this[_0x47f39d(0x146)](_0x296866);!_0x286e5b['autoCommit']&&await this[_0x47f39d(0x103)][_0x47f39d(0x13b)]([{'topic':_0x337507,'partition':_0x24e172,'offset':_0xf21d87[_0x47f39d(0x115)](_0xf21d87['EsHDG'](parseInt,_0x14bc24[_0x47f39d(0x116)]),0x1)[_0x47f39d(0x164)]()}]);this[_0x47f39d(0x12c)]['messagesProcessed']++;const _0x151721=_0xf21d87['EPMfO'](Date['now'](),_0x20e099);this[_0x47f39d(0x12c)][_0x47f39d(0x149)][_0x47f39d(0x144)](_0x151721),_0xf21d87['WLvif'](this['metrics'][_0x47f39d(0x149)]['length'],0x64)&&this['metrics'][_0x47f39d(0x149)]['shift'](),await _0x562560();}catch(_0x58292a){this['metrics'][_0x47f39d(0x12b)]++,console[_0x47f39d(0x119)](_0x47f39d(0x107)+_0x58292a[_0x47f39d(0x15e)]);throw _0x58292a;}}}),this[_0x22016f(0x15f)]=!![],console['log'](_0x22016f(0x11e)+this[_0x22016f(0x155)]['join'](',\x20')),!![];}catch(_0xcaeec5){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0xcaeec5[_0x22016f(0x15e)]),![];}}['parseHeaders'](_0x12b8b1){const _0x1cc438=a0_0x227a92;if(!_0x12b8b1)return{};const _0x1eae3d={};for(const [_0x5b9ed2,_0x372701]of Object[_0x1cc438(0x143)](_0x12b8b1)){_0x1eae3d[_0x5b9ed2]=_0x372701?_0x372701['toString']():null;}return _0x1eae3d;}async['pause'](){const _0x1dec79=a0_0x227a92,_0x2071c1={'yaFoA':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','GcnJj':_0x1dec79(0x170)};if(!this[_0x1dec79(0x117)]||!this[_0x1dec79(0x15f)])return console[_0x1dec79(0x10b)](_0x2071c1[_0x1dec79(0x145)]),![];if(this['isPaused'])return console[_0x1dec79(0x10b)](_0x2071c1['GcnJj']),!![];try{const _0x5cc12a=this['subscribedTopics']['map'](_0x15359b=>({'topic':_0x15359b}));return this['consumer']['pause'](_0x5cc12a),this['isPaused']=!![],console[_0x1dec79(0x10b)](_0x1dec79(0x158)),!![];}catch(_0x3f56f4){return console[_0x1dec79(0x119)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x3f56f4['message']),![];}}async[a0_0x227a92(0x13c)](){const _0x491b56=a0_0x227a92;if(!this['isConnected']||!this[_0x491b56(0x15f)])return console[_0x491b56(0x10b)]('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x168413=this[_0x491b56(0x155)][_0x491b56(0x125)](_0xa0701f=>({'topic':_0xa0701f}));return this['consumer'][_0x491b56(0x13c)](_0x168413),this['isPaused']=![],console[_0x491b56(0x10b)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x13b069){return console[_0x491b56(0x119)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x13b069[_0x491b56(0x15e)]),![];}}async['stop'](){const _0x56412a=a0_0x227a92,_0x4f315c={'OIwyN':_0x56412a(0x102)};if(!this['isConnected'])return console[_0x56412a(0x10b)]('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{return this[_0x56412a(0x103)]&&(await this[_0x56412a(0x103)][_0x56412a(0x118)](),await this[_0x56412a(0x103)][_0x56412a(0x16a)]()),this['isConnected']=![],this[_0x56412a(0x15f)]=![],this['isPaused']=![],console['log'](_0x4f315c['OIwyN']),!![];}catch(_0x438bbf){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x438bbf[_0x56412a(0x15e)]),![];}}async['seekToOffset'](_0x3ed876,_0x5f522b,_0x46a02d){const _0x483b37=a0_0x227a92,_0x33f817={'CfPax':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this[_0x483b37(0x117)])return console[_0x483b37(0x119)](_0x33f817['CfPax']),![];try{return this['consumer'][_0x483b37(0x166)]({'topic':_0x3ed876,'partition':_0x5f522b,'offset':_0x46a02d[_0x483b37(0x164)]()}),console[_0x483b37(0x10b)](_0x483b37(0x105)+_0x46a02d+'\x20on\x20'+_0x3ed876+':'+_0x5f522b),!![];}catch(_0x43f534){return console['error'](_0x483b37(0x153)+_0x43f534[_0x483b37(0x15e)]),![];}}['getStatus'](){const _0x391779=a0_0x227a92,_0x2afeda=this['getConfig']();return{'enabled':_0x2afeda[_0x391779(0x109)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x391779(0x15c)],'brokers':_0x2afeda[_0x391779(0x142)],'clientId':_0x2afeda[_0x391779(0x154)],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x227a92(0x10f)](){const _0x332894=a0_0x227a92,_0x40666d={'Tumpg':function(_0x175a7d,_0x539d91){return _0x175a7d/_0x539d91;},'FgEiE':function(_0x16620e,_0x1de409){return _0x16620e>_0x1de409;},'Wefer':function(_0x9d5b9c,_0x1d5eb5){return _0x9d5b9c>_0x1d5eb5;},'OufOR':function(_0x489b63,_0x180046){return _0x489b63+_0x180046;},'BuvvT':function(_0x3c5f80,_0x440a46){return _0x3c5f80*_0x440a46;},'HnJbC':function(_0x36e584,_0x30be9e){return _0x36e584+_0x30be9e;}},_0x219d17=this['metrics'][_0x332894(0x149)]['length']>0x0?_0x40666d['Tumpg'](this[_0x332894(0x12c)]['processingTimes']['reduce']((_0x5c4343,_0x32d3ef)=>_0x5c4343+_0x32d3ef,0x0),this['metrics']['processingTimes'][_0x332894(0x13a)]):0x0,_0x4b9af5=_0x40666d['FgEiE'](this['metrics'][_0x332894(0x149)][_0x332894(0x13a)],0x0)?Math['min'](...this[_0x332894(0x12c)]['processingTimes']):0x0,_0x4e1ed8=_0x40666d['Wefer'](this[_0x332894(0x12c)][_0x332894(0x149)][_0x332894(0x13a)],0x0)?Math['max'](...this[_0x332894(0x12c)][_0x332894(0x149)]):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0x332894(0x12c)]['messagesProcessed'],'messagesFailed':this['metrics']['messagesFailed'],'successRate':this[_0x332894(0x12c)][_0x332894(0x113)]>0x0?_0x40666d[_0x332894(0x12d)](_0x40666d['BuvvT'](this[_0x332894(0x12c)]['messagesProcessed']/this[_0x332894(0x12c)][_0x332894(0x113)],0x64)[_0x332894(0x14f)](0x2),'%'):'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this['metrics'][_0x332894(0x152)],'uptime':this[_0x332894(0x12c)]['startTime']?Math[_0x332894(0x16e)](_0x40666d['Tumpg'](Date[_0x332894(0x10d)]()-this['metrics'][_0x332894(0x152)]['getTime'](),0x3e8))+'s':'0s','processingTime':{'avg':Math[_0x332894(0x174)](_0x219d17)+'ms','min':_0x4b9af5+'ms','max':_0x40666d['HnJbC'](_0x4e1ed8,'ms')}};}['resetMetrics'](){const _0x25f2de=a0_0x227a92,_0x5d87e6={'rQLEI':'[KafkaConsumer]\x20Metrics\x20reset'};this[_0x25f2de(0x12c)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x25f2de(0x10b)](_0x5d87e6['rQLEI']);}async['close'](){const _0x1e6355=a0_0x227a92;await this[_0x1e6355(0x118)]();}}function a0_0xf0c9(_0x261ebb,_0x35840a){_0x261ebb=_0x261ebb-0x100;const _0x26fbf4=a0_0x26fb();let _0xf0c920=_0x26fbf4[_0x261ebb];if(a0_0xf0c9['ensdcc']===undefined){var _0x37e584=function(_0x5191ee){const _0x254587='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x225b28='',_0x4d9bbe='';for(let _0x3dc5ab=0x0,_0x2fa9b0,_0x10d9d9,_0x507dd5=0x0;_0x10d9d9=_0x5191ee['charAt'](_0x507dd5++);~_0x10d9d9&&(_0x2fa9b0=_0x3dc5ab%0x4?_0x2fa9b0*0x40+_0x10d9d9:_0x10d9d9,_0x3dc5ab++%0x4)?_0x225b28+=String['fromCharCode'](0xff&_0x2fa9b0>>(-0x2*_0x3dc5ab&0x6)):0x0){_0x10d9d9=_0x254587['indexOf'](_0x10d9d9);}for(let _0x12cfd6=0x0,_0x1137a9=_0x225b28['length'];_0x12cfd6<_0x1137a9;_0x12cfd6++){_0x4d9bbe+='%'+('00'+_0x225b28['charCodeAt'](_0x12cfd6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d9bbe);};a0_0xf0c9['QNpSRs']=_0x37e584,a0_0xf0c9['hLoVYK']={},a0_0xf0c9['ensdcc']=!![];}const _0x37dbdf=_0x26fbf4[0x0],_0x46011d=_0x261ebb+_0x37dbdf,_0x497ee1=a0_0xf0c9['hLoVYK'][_0x46011d];return!_0x497ee1?(_0xf0c920=a0_0xf0c9['QNpSRs'](_0xf0c920),a0_0xf0c9['hLoVYK'][_0x46011d]=_0xf0c920):_0xf0c920=_0x497ee1,_0xf0c920;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0x26fb(){const _0x1f9f0a=['AgvHCNrIzwf0sw50zxj2ywW','y29UC3vTzxiUC3rVCa','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','y2XPzw50swq','C3vIC2nYAwjLzfrVCgLJCW','DxvPza','uwDVy0W','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','z3jVDxbjza','z2v0q29UzMLN','CNvU','AxnqyxvZzwq','zxHWB3j0CW','BwvZC2fNzq','AxnsDw5UAw5N','Cgf5Bg9Hza','A2fMA2fQCW','CMv0CNLbDhrLBxb0CW','mZaWma','Dg9tDhjPBMC','BgfZDe1LC3nHz2vuAw1L','C2vLAW','s0fgs0fFu0fttf9nruniqu5ju00','mZaWmda','y29UBMvJDgLVBLbYB21PC2u','zgLZy29UBMvJDa','zw52','C2vZC2LVBLrPBwvVDxq','yxv0B0nVBw1PDeLUDgvYDMfS','zMXVB3i','mJuZmJmZyNb0txbP','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','DMfSDwu','mJKXotG2sK5LD2H6','s0fgs0fFte9hx0XfvKvm','CM91BMq','nZu3neDWy2PRAG','DNngvKC','svbQvvO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','y29UC3vTzxi','D2fYBG','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','s0fgs0fFqvvut19dt01nsvq','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','mJuWmda','zw5HyMXLza','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','Bg9N','AgvHzgvYCW','BM93','s0fgs0fFuKvrvuvtvf9usu1ft1vu','z2v0twv0CMLJCW','Dhj1zq','s0fgs0fFu0vtu0LptL9usu1ft1vu','yxv0B0nVBw1PDa','BwvZC2fNzxnszwnLAxzLza','qwLnyLK','A21nqLG','B2zMC2v0','AxndB25Uzwn0zwq','C3rVCa','zxjYB3i','CgfYC2u','y29UBMvJDa','oevzrLbQzW','C3bSAxq','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','mZe5mJe3nLLvyuDdvG','Bg9JywXOB3n0oJKWoti','lwnVBNn1BwvY','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','C3vIC2nYAwjL','tK9useLorW','BwfW','mtaXntqXm25quMv3qW','ody0nJe1t2DOu0zo','s3rAr2u','AfjsD0S','s0fgs0fFru5bqKXfra','BwvZC2fNzxngywLSzwq','Bwv0CMLJCW','t3vMt1i','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','s0fgs0fFu1nm','mtaWma','s0fgs0fFuKvuuLLFqvruru1qvfm','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','t25nAgW','y29UC3vTzxiUCMvIywXHBMnPBMC','C3rHCNrdB25ZDw1PBMC','v0fstG','ueXTyKG','mZC3mta5weDZwgHy','C2v0DxbfDMvUDeHHBMrSzxjZ','BgvUz3rO','y29TBwL0t2zMC2v0CW','CMvZDw1L','s0fgs0fFq09otKvdveLptL9usu1ft1vu','CgfYC2vizwfKzxjZ','y29UC3vTzxiUy3jHC2G','s0fgs0fFq0Xjru5ux0Le','icHMCM9TqMvNAw5UAw5NoIa','yNjVA2vYCW','zw50CMLLCW','ChvZAa','EwfgB0e','BwvZC2fNzuHHBMrSzxi','A2v5','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','ChjVy2vZC2LUz1rPBwvZ','y29UC3vTzxiUzgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','mJG2ohvXv3fotq','s0fgs0fFuKvuuLLFrevmqvK','Cufer0W','Dg9gAxHLza'];a0_0x26fb=function(){return _0x1f9f0a;};return a0_0x26fb();}function createInstance(){return new KafkaConsumerService();}module[a0_0x227a92(0x15d)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x110308=a0_0x3ced;(function(_0x5a1e3b,_0x2b5bb3){const _0x4acdb9=a0_0x3ced,_0x20069f=_0x5a1e3b();while(!![]){try{const _0x5347ea=parseInt(_0x4acdb9(0xfe))/0x1+-parseInt(_0x4acdb9(0x10d))/0x2+-parseInt(_0x4acdb9(0xfc))/0x3+-parseInt(_0x4acdb9(0x12b))/0x4*(-parseInt(_0x4acdb9(0x12e))/0x5)+-parseInt(_0x4acdb9(0x111))/0x6+parseInt(_0x4acdb9(0xef))/0x7*(parseInt(_0x4acdb9(0x124))/0x8)+-parseInt(_0x4acdb9(0x101))/0x9*(-parseInt(_0x4acdb9(0xee))/0xa);if(_0x5347ea===_0x2b5bb3)break;else _0x20069f['push'](_0x20069f['shift']());}catch(_0x4b5e26){_0x20069f['push'](_0x20069f['shift']());}}}(a0_0x3dcb,0x8e117));const {Kafka,logLevel}=require(a0_0x110308(0xe6)),{v7:uuidv7}=require(a0_0x110308(0xd0));class KafkaConsumerService{constructor(){const _0x184b05=a0_0x110308,_0x88e6a=_0x184b05(0xc8)['split']('|');let _0x36e7bb=0x0;while(!![]){switch(_0x88e6a[_0x36e7bb++]){case'0':this['subscribedTopics']=[];continue;case'1':this['isInitializing']=![];continue;case'2':this[_0x184b05(0xe9)]=null;continue;case'3':this[_0x184b05(0xcd)]=![];continue;case'4':this['consumer']=null;continue;case'5':this[_0x184b05(0xf5)]=null;continue;case'6':this['messageHandler']=null;continue;case'7':this[_0x184b05(0x107)]=![];continue;case'8':this[_0x184b05(0xd8)]=![];continue;case'9':this['kafka']=null;continue;case'10':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;}break;}}['getConfig'](){const _0x5be0ae=a0_0x110308,_0x24209d={'aVxbK':_0x5be0ae(0x10e),'EbKOA':_0x5be0ae(0x13c),'vVxqk':function(_0x2a522b,_0x4fc51f){return _0x2a522b(_0x4fc51f);},'UDQNW':'3000','mwGTZ':function(_0x1240a5,_0x5d2d8e){return _0x1240a5(_0x5d2d8e);},'oyINe':_0x5be0ae(0x120),'HAkwS':function(_0x1b65c0,_0x3f6e3e){return _0x1b65c0(_0x3f6e3e);},'oOOKw':function(_0x1651f8,_0x2e869f){return _0x1651f8(_0x2e869f);},'bwpYZ':_0x5be0ae(0xe5),'pBaQq':_0x5be0ae(0x10c),'eZsDv':function(_0x57de61,_0x45cbae){return _0x57de61(_0x45cbae);},'uscts':'warn'};return{'enabled':process['env'][_0x5be0ae(0x137)]==='true','brokers':(process[_0x5be0ae(0x118)][_0x5be0ae(0x110)]||_0x24209d['aVxbK'])['split'](','),'clientId':process[_0x5be0ae(0x118)]['KAFKA_CLIENT_ID']||_0x5be0ae(0x128)+(process['env'][_0x5be0ae(0x113)]||_0x24209d['EbKOA'])+'-consumer','connectionTimeout':_0x24209d[_0x5be0ae(0x126)](parseInt,process['env'][_0x5be0ae(0x13d)]||_0x24209d[_0x5be0ae(0xc7)]),'requestTimeout':_0x24209d['mwGTZ'](parseInt,process['env'][_0x5be0ae(0xd4)]||'25000'),'sessionTimeout':parseInt(process['env'][_0x5be0ae(0x10a)]||_0x24209d['oyINe']),'heartbeatInterval':_0x24209d[_0x5be0ae(0xe1)](parseInt,process[_0x5be0ae(0x118)]['KAFKA_HEARTBEAT_INTERVAL']||_0x24209d[_0x5be0ae(0xc7)]),'maxBytesPerPartition':_0x24209d['oOOKw'](parseInt,process[_0x5be0ae(0x118)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x24209d[_0x5be0ae(0x138)]),'autoCommit':process['env'][_0x5be0ae(0xea)]===_0x24209d[_0x5be0ae(0xf8)],'autoCommitInterval':_0x24209d[_0x5be0ae(0x10f)](parseInt,process[_0x5be0ae(0x118)][_0x5be0ae(0x100)]||'5000'),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x24209d['eZsDv'](parseInt,process['env'][_0x5be0ae(0x123)]||'1000'),'retryMaxDelay':_0x24209d[_0x5be0ae(0x104)](parseInt,process[_0x5be0ae(0x118)]['KAFKA_RETRY_MAX_DELAY']||_0x24209d[_0x5be0ae(0xf9)]),'logLevel':process['env'][_0x5be0ae(0xed)]||_0x24209d[_0x5be0ae(0xd1)]};}[a0_0x110308(0xf6)](_0x2a383d){const _0x40cc28=a0_0x110308,_0x19fef7={'nothing':logLevel[_0x40cc28(0xdf)],'error':logLevel['ERROR'],'warn':logLevel[_0x40cc28(0xf2)],'info':logLevel[_0x40cc28(0xeb)],'debug':logLevel['DEBUG']};return _0x19fef7[_0x2a383d['toLowerCase']()]||logLevel[_0x40cc28(0xf2)];}async['initialize'](_0x146382={}){const _0x5c67a3=a0_0x110308,_0x38fec1={'KcbPX':function(_0x104a1b,_0x428422){return _0x104a1b===_0x428422;},'WusVc':'true'},_0xa592e=this[_0x5c67a3(0x12c)]();if(!_0xa592e['enabled'])return console[_0x5c67a3(0x13b)](_0x5c67a3(0xde)),![];if(this[_0x5c67a3(0xcd)])return!![];if(this['isInitializing']&&this[_0x5c67a3(0xf5)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x3d3d2c=>{const _0x3ecc12=_0x5c67a3;try{let _0x21fb36=undefined;_0x38fec1[_0x3ecc12(0x108)](process['env'][_0x3ecc12(0xf0)],_0x38fec1[_0x3ecc12(0x134)])&&(_0x21fb36=!![]);let _0x472119=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x472119={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x3ecc12(0x118)]['KAFKA_SASL_USERNAME']||'','password':process[_0x3ecc12(0x118)][_0x3ecc12(0x116)]||''}),this['kafka']=new Kafka({'clientId':_0x146382[_0x3ecc12(0x139)]||_0xa592e[_0x3ecc12(0x139)],'brokers':_0xa592e['brokers'],'connectionTimeout':_0xa592e['connectionTimeout'],'requestTimeout':_0xa592e['requestTimeout'],'logLevel':this['getLogLevel'](_0xa592e[_0x3ecc12(0x117)]),'ssl':_0x21fb36,'sasl':_0x472119,'retry':{'initialRetryTime':_0xa592e[_0x3ecc12(0x136)],'retries':_0xa592e['retryAttempts'],'maxRetryTime':_0xa592e['retryMaxDelay']}}),this['groupId']=_0x146382['groupId']||'restforge-'+(process[_0x3ecc12(0x118)][_0x3ecc12(0x113)]||'default')+_0x3ecc12(0x132),this['consumer']=this[_0x3ecc12(0x121)]['consumer']({'groupId':this['groupId'],'sessionTimeout':_0xa592e['sessionTimeout'],'heartbeatInterval':_0xa592e['heartbeatInterval'],'maxBytesPerPartition':_0xa592e['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer'][_0x3ecc12(0xcf)](),this[_0x3ecc12(0xcd)]=!![],console[_0x3ecc12(0x13b)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0xa592e[_0x3ecc12(0x119)]['join'](',\x20')+_0x3ecc12(0x129)+this[_0x3ecc12(0xe9)]+')'),this['setupEventHandlers'](),_0x3d3d2c(!![]);}catch(_0x27b549){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x27b549[_0x3ecc12(0xe7)]),this[_0x3ecc12(0xcd)]=![],_0x3d3d2c(![]);}finally{this['isInitializing']=![];}}),this[_0x5c67a3(0xf5)];}['setupEventHandlers'](){const _0x2495bd=a0_0x110308,_0x4f71a9={'yVGBw':'[KafkaConsumer]\x20Consumer\x20stopped','XBslD':_0x2495bd(0x103),'uNLtk':_0x2495bd(0x106),'kZivy':'consumer.rebalancing'};if(!this['consumer'])return;this['consumer']['on'](_0x2495bd(0x10b),()=>{const _0x491984=_0x2495bd;console[_0x491984(0x13b)](_0x491984(0xec)),this['isConnected']=![],this[_0x491984(0xd8)]=![];}),this[_0x2495bd(0x13e)]['on'](_0x2495bd(0xd5),()=>{const _0x3efcf7=_0x2495bd;console['log'](_0x4f71a9[_0x3efcf7(0xff)]),this[_0x3efcf7(0xd8)]=![];}),this[_0x2495bd(0x13e)]['on'](_0x4f71a9['uNLtk'],_0x6b2abc=>{const _0x2c3c15=_0x2495bd;console[_0x2c3c15(0xe3)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x6b2abc['payload']['error']['message']),this['isRunning']=![];}),this[_0x2495bd(0x13e)]['on'](_0x4f71a9['kZivy'],()=>{console['log'](_0x4f71a9['XBslD']);});}async[a0_0x110308(0xda)](_0x479d37,_0x2949fe=![]){const _0x1afd71=a0_0x110308;if(!this['isConnected'])return console[_0x1afd71(0xe3)](_0x1afd71(0x135)),![];try{const _0x5c9775=Array['isArray'](_0x479d37)?_0x479d37:[_0x479d37];for(const _0x35fe62 of _0x5c9775){await this[_0x1afd71(0x13e)][_0x1afd71(0xda)]({'topic':_0x35fe62,'fromBeginning':_0x2949fe}),console['log'](_0x1afd71(0xfb)+_0x35fe62+_0x1afd71(0xdc)+_0x2949fe+')');}return this[_0x1afd71(0x130)]=[...new Set([...this['subscribedTopics'],..._0x5c9775])],!![];}catch(_0x2280f){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x2280f[_0x1afd71(0xe7)]),![];}}async['startConsuming'](_0x4d6b9d,_0x3204d0={}){const _0x58c07a=a0_0x110308,_0x1b734d={'EONyq':function(_0x40c3e0,_0x596228){return _0x40c3e0(_0x596228);},'bWAGk':function(_0xf362e,_0x27e96a){return _0xf362e!==_0x27e96a;}};if(!this['isConnected'])return console[_0x58c07a(0xe3)](_0x58c07a(0x12d)),![];if(this['isRunning'])return console['log'](_0x58c07a(0x13a)),!![];const _0x513f48=this['getConfig']();this['messageHandler']=_0x4d6b9d;try{return this['metrics']['startTime']=new Date(),await this[_0x58c07a(0x13e)]['run']({'autoCommit':_0x1b734d['bWAGk'](_0x3204d0['autoCommit'],undefined)?_0x3204d0[_0x58c07a(0xce)]:_0x513f48['autoCommit'],'autoCommitInterval':_0x513f48[_0x58c07a(0xc9)],'eachMessage':async({topic:_0x26734b,partition:_0x40f3b3,message:_0x3fba78,heartbeat:_0x549432})=>{const _0x57c2b2=_0x58c07a,_0x3fd378=Date[_0x57c2b2(0x12f)]();this['metrics'][_0x57c2b2(0xfd)]++,this[_0x57c2b2(0xcb)]['lastMessageTime']=new Date();try{const _0x18845c=_0x3fba78[_0x57c2b2(0x11f)]?_0x3fba78['value'][_0x57c2b2(0x11e)]():null;let _0x44036f=null;try{_0x44036f=_0x18845c?JSON['parse'](_0x18845c):null;}catch(_0x36cf88){_0x44036f=_0x18845c;}const _0x2fefd7={'topic':_0x26734b,'partition':_0x40f3b3,'offset':_0x3fba78['offset'],'key':_0x3fba78[_0x57c2b2(0xf3)]?_0x3fba78[_0x57c2b2(0xf3)][_0x57c2b2(0x11e)]():null,'headers':this['parseHeaders'](_0x3fba78[_0x57c2b2(0xd2)]),'timestamp':_0x3fba78[_0x57c2b2(0xd6)],'value':_0x44036f,'raw':_0x18845c};this['messageHandler']&&await this[_0x57c2b2(0xdb)](_0x2fefd7);!_0x513f48[_0x57c2b2(0xce)]&&await this[_0x57c2b2(0x13e)][_0x57c2b2(0x125)]([{'topic':_0x26734b,'partition':_0x40f3b3,'offset':(_0x1b734d['EONyq'](parseInt,_0x3fba78['offset'])+0x1)[_0x57c2b2(0x11e)]()}]);this['metrics'][_0x57c2b2(0x112)]++;const _0x12ccf9=Date['now']()-_0x3fd378;this[_0x57c2b2(0xcb)][_0x57c2b2(0x11d)]['push'](_0x12ccf9),this['metrics']['processingTimes']['length']>0x64&&this['metrics']['processingTimes'][_0x57c2b2(0xd3)](),await _0x549432();}catch(_0x474290){this[_0x57c2b2(0xcb)][_0x57c2b2(0xe0)]++,console['error'](_0x57c2b2(0xdd)+_0x474290[_0x57c2b2(0xe7)]);throw _0x474290;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0xa0790d){return console['error'](_0x58c07a(0xcc)+_0xa0790d[_0x58c07a(0xe7)]),![];}}['parseHeaders'](_0x40a7c8){const _0xdac210=a0_0x110308;if(!_0x40a7c8)return{};const _0x1992a2={};for(const [_0x7c2c67,_0x3dc315]of Object['entries'](_0x40a7c8)){_0x1992a2[_0x7c2c67]=_0x3dc315?_0x3dc315[_0xdac210(0x11e)]():null;}return _0x1992a2;}async[a0_0x110308(0xf7)](){const _0x4a7323=a0_0x110308,_0x11aad7={'kQIIj':_0x4a7323(0xfa)};if(!this['isConnected']||!this['isRunning'])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console[_0x4a7323(0x13b)](_0x11aad7[_0x4a7323(0x133)]),!![];try{const _0x5a0aa1=this[_0x4a7323(0x130)][_0x4a7323(0x109)](_0x4149a9=>({'topic':_0x4149a9}));return this['consumer'][_0x4a7323(0xf7)](_0x5a0aa1),this['isPaused']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x1df6b0){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x1df6b0[_0x4a7323(0xe7)]),![];}}async['resume'](){const _0xd02dc2=a0_0x110308,_0x3c6926={'HXOJP':_0xd02dc2(0xca)};if(!this['isConnected']||!this[_0xd02dc2(0xd8)])return console['log']('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this['isPaused'])return console[_0xd02dc2(0x13b)](_0x3c6926['HXOJP']),!![];try{const _0x5c1856=this[_0xd02dc2(0x130)][_0xd02dc2(0x109)](_0x57813b=>({'topic':_0x57813b}));return this[_0xd02dc2(0x13e)][_0xd02dc2(0xf1)](_0x5c1856),this[_0xd02dc2(0x107)]=![],console['log'](_0xd02dc2(0x131)),!![];}catch(_0x47f173){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x47f173[_0xd02dc2(0xe7)]),![];}}async['stop'](){const _0x5979a6=a0_0x110308,_0x2db8a1={'fFHwJ':'[KafkaConsumer]\x20Consumer\x20not\x20connected','sosDD':_0x5979a6(0x12a)};if(!this['isConnected'])return console[_0x5979a6(0x13b)](_0x2db8a1[_0x5979a6(0xd7)]),!![];try{const _0x27fb33=_0x2db8a1['sosDD'][_0x5979a6(0xf4)]('|');let _0x167c05=0x0;while(!![]){switch(_0x27fb33[_0x167c05++]){case'0':this['isPaused']=![];continue;case'1':console[_0x5979a6(0x13b)](_0x5979a6(0xe8));continue;case'2':this['isRunning']=![];continue;case'3':this['isConnected']=![];continue;case'4':return!![];case'5':this[_0x5979a6(0x13e)]&&(await this['consumer'][_0x5979a6(0xd9)](),await this[_0x5979a6(0x13e)][_0x5979a6(0x11a)]());continue;}break;}}catch(_0x3809f3){return console[_0x5979a6(0xe3)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x3809f3[_0x5979a6(0xe7)]),![];}}async['seekToOffset'](_0x1c629a,_0x543df6,_0x233429){const _0x562768=a0_0x110308,_0x2870cb={'VVFYM':_0x562768(0x105)};if(!this[_0x562768(0xcd)])return console[_0x562768(0xe3)](_0x2870cb['VVFYM']),![];try{return this[_0x562768(0x13e)][_0x562768(0x127)]({'topic':_0x1c629a,'partition':_0x543df6,'offset':_0x233429['toString']()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x233429+_0x562768(0x114)+_0x1c629a+':'+_0x543df6),!![];}catch(_0x4d1607){return console['error'](_0x562768(0x115)+_0x4d1607['message']),![];}}[a0_0x110308(0xe2)](){const _0x193069=a0_0x110308,_0x4e1a76=this[_0x193069(0x12c)]();return{'enabled':_0x4e1a76['enabled'],'connected':this[_0x193069(0xcd)],'running':this[_0x193069(0xd8)],'paused':this['isPaused'],'brokers':_0x4e1a76['brokers'],'clientId':_0x4e1a76[_0x193069(0x139)],'groupId':this[_0x193069(0xe9)],'subscribedTopics':this[_0x193069(0x130)]};}['getMetrics'](){const _0x95447a=a0_0x110308,_0x275da1={'aQDaN':function(_0x5dde72,_0x29f29e){return _0x5dde72>_0x29f29e;},'urmlg':function(_0x589a96,_0x2d5049){return _0x589a96+_0x2d5049;}},_0x44226a=_0x275da1['aQDaN'](this['metrics'][_0x95447a(0x11d)]['length'],0x0)?this[_0x95447a(0xcb)][_0x95447a(0x11d)][_0x95447a(0x102)]((_0x4ea753,_0x4f70c4)=>_0x4ea753+_0x4f70c4,0x0)/this[_0x95447a(0xcb)]['processingTimes']['length']:0x0,_0x3fe78a=_0x275da1['aQDaN'](this['metrics']['processingTimes'][_0x95447a(0x122)],0x0)?Math['min'](...this[_0x95447a(0xcb)][_0x95447a(0x11d)]):0x0,_0x3af41a=this['metrics']['processingTimes']['length']>0x0?Math['max'](...this[_0x95447a(0xcb)][_0x95447a(0x11d)]):0x0;return{'messagesReceived':this[_0x95447a(0xcb)][_0x95447a(0xfd)],'messagesProcessed':this[_0x95447a(0xcb)]['messagesProcessed'],'messagesFailed':this[_0x95447a(0xcb)]['messagesFailed'],'successRate':this[_0x95447a(0xcb)][_0x95447a(0xfd)]>0x0?(this['metrics'][_0x95447a(0x112)]/this['metrics']['messagesReceived']*0x64)['toFixed'](0x2)+'%':'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this['metrics']['startTime'],'uptime':this['metrics']['startTime']?_0x275da1['urmlg'](Math['floor']((Date[_0x95447a(0x12f)]()-this[_0x95447a(0xcb)][_0x95447a(0x11c)]['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':Math[_0x95447a(0x11b)](_0x44226a)+'ms','min':_0x275da1[_0x95447a(0xe4)](_0x3fe78a,'ms'),'max':_0x3af41a+'ms'}};}['resetMetrics'](){const _0x9d219e=a0_0x110308;this[_0x9d219e(0xcb)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x9d219e(0x13b)]('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){await this['stop']();}}function a0_0x3dcb(){const _0x2f74c2=['BwvZC2fNzq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','z3jVDxbjza','s0fgs0fFqvvut19dt01nsvq','su5gtW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','s0fgs0fFte9hx0XfvKvm','mtaWtwnNweXq','nJGXndm2n0PUy1j3Ca','s0fgs0fFu1nm','CMvZDw1L','v0fstG','A2v5','C3bSAxq','y29UBMvJDgLVBLbYB21PC2u','z2v0tg9Ntgv2zwW','Cgf1C2u','CejHuxe','B3LjtMu','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','mJu3nJG2mKjkAKrKqq','BwvZC2fNzxnszwnLAxzLza','ndyWntuYwNDsBwD6','EvzhqNC','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','ndi3mdqXDNjkzwHS','CMvKDwnL','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','BxDhvfO','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','y29UC3vTzxiUy3jHC2G','AxnqyxvZzwq','s2nIufG','BwfW','s0fgs0fFu0vtu0LptL9usu1ft1vu','y29UC3vTzxiUzgLZy29UBMvJDa','Dhj1zq','mtu0mJi5oenws0LYzq','Bg9JywXOB3n0oJKWoti','zvPZrhy','s0fgs0fFqLjps0vsuW','mJq3odeXngnOywXcBq','BwvZC2fNzxnqCM9JzxnZzwq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ig9Uia','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','s0fgs0fFu0fttf9qqvntv09sra','Bg9Ntgv2zwW','zw52','yNjVA2vYCW','zgLZy29UBMvJDa','CM91BMq','C3rHCNruAw1L','ChjVy2vZC2LUz1rPBwvZ','Dg9tDhjPBMC','DMfSDwu','mZaWmda','A2fMA2e','BgvUz3rO','s0fgs0fFuKvuuLLFrevmqvK','ofrVDMnQuG','y29TBwL0t2zMC2v0CW','DLz4CwS','C2vLAW','CMvZDgzVCMDLlq','icHNCM91CeLKoIa','nxWZFdj8mhWXFdq','mJG2nJa0v3zVqwzN','z2v0q29UzMLN','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','ntb0wLzoCM4','BM93','C3vIC2nYAwjLzfrVCgLJCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','lwnVBNn1BwvYlwDYB3vW','A1fjswO','v3vZvMm','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','CMv0CNLezwXHEq','s0fgs0fFru5bqKXfra','yNDWwvO','y2XPzw50swq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','Bg9N','zgvMyxvSDa','s0fgs0fFq09otKvdveLptL9usu1ft1vu','y29UC3vTzxi','vurrtLC','oxW0Fdn8mxW4FdD8nxWWFdj8nNWXma','yxv0B0nVBw1PDeLUDgvYDMfS','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','AxndB25Uzwn0zwq','yxv0B0nVBw1PDa','y29UBMvJDa','DxvPza','DxnJDhm','AgvHzgvYCW','C2HPzNq','s0fgs0fFuKvrvuvtvf9usu1ft1vu','y29UC3vTzxiUC3rVCa','DgLTzxn0yw1W','zKziD0O','AxnsDw5UAw5N','C3rVCa','C3vIC2nYAwjL','BwvZC2fNzuHHBMrSzxi','icHMCM9TqMvNAw5UAw5NoIa','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','tK9useLorW','BwvZC2fNzxngywLSzwq','sefRD1m','z2v0u3rHDhvZ','zxjYB3i','DxjTBgC','mta0odu3nG','A2fMA2fQCW'];a0_0x3dcb=function(){return _0x2f74c2;};return a0_0x3dcb();}let instance=null;function a0_0x3ced(_0x29e0e8,_0x31e321){_0x29e0e8=_0x29e0e8-0xc7;const _0x3dcba3=a0_0x3dcb();let _0x3cedc6=_0x3dcba3[_0x29e0e8];if(a0_0x3ced['PVIgCv']===undefined){var _0x2865bc=function(_0x5e998d){const _0x43cadb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c798a='',_0x57c8aa='';for(let _0x5e4ef8=0x0,_0x2b55a9,_0x413645,_0x9bf9b7=0x0;_0x413645=_0x5e998d['charAt'](_0x9bf9b7++);~_0x413645&&(_0x2b55a9=_0x5e4ef8%0x4?_0x2b55a9*0x40+_0x413645:_0x413645,_0x5e4ef8++%0x4)?_0x2c798a+=String['fromCharCode'](0xff&_0x2b55a9>>(-0x2*_0x5e4ef8&0x6)):0x0){_0x413645=_0x43cadb['indexOf'](_0x413645);}for(let _0xefc0bd=0x0,_0x21d8fd=_0x2c798a['length'];_0xefc0bd<_0x21d8fd;_0xefc0bd++){_0x57c8aa+='%'+('00'+_0x2c798a['charCodeAt'](_0xefc0bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x57c8aa);};a0_0x3ced['HoTTAn']=_0x2865bc,a0_0x3ced['wYlRtM']={},a0_0x3ced['PVIgCv']=!![];}const _0x10da51=_0x3dcba3[0x0],_0x47aa15=_0x29e0e8+_0x10da51,_0x224530=a0_0x3ced['wYlRtM'][_0x47aa15];return!_0x224530?(_0x3cedc6=a0_0x3ced['HoTTAn'](_0x3cedc6),a0_0x3ced['wYlRtM'][_0x47aa15]=_0x3cedc6):_0x3cedc6=_0x224530,_0x3cedc6;}function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};