@restforgejs/platform 5.2.12 → 5.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/fast-track.js +4 -7
  5. package/generators/lib/templates/dashboard-catalog.js +1 -1
  6. package/generators/lib/templates/db-connection-env.js +1 -1
  7. package/generators/lib/templates/dbschema-catalog.js +1 -1
  8. package/generators/lib/templates/field-validation-catalog.js +1 -1
  9. package/generators/lib/templates/mysql-template.js +1 -1
  10. package/generators/lib/templates/oracle-template.js +1 -1
  11. package/generators/lib/templates/postgres-template.js +1 -1
  12. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  13. package/generators/lib/templates/sqlite-template.js +1 -1
  14. package/integrity-manifest.json +18 -18
  15. package/package.json +1 -1
  16. package/scripts/verify-integrity.js +1 -1
  17. package/server.js +1 -1
  18. package/src/components/handlers/adjust_handler.js +1 -1
  19. package/src/components/handlers/audit_handler.js +1 -1
  20. package/src/components/handlers/delete_handler.js +1 -1
  21. package/src/components/handlers/export_handler.js +1 -1
  22. package/src/components/handlers/import_handler.js +1 -1
  23. package/src/components/handlers/insert_handler.js +1 -1
  24. package/src/components/handlers/update_handler.js +1 -1
  25. package/src/components/handlers/upload_handler.js +1 -1
  26. package/src/components/handlers/workflow_handler.js +1 -1
  27. package/src/components/integrations/webhook.js +1 -1
  28. package/src/consumers/baseConsumer.js +1 -1
  29. package/src/consumers/declarativeMapper.js +1 -1
  30. package/src/consumers/handlers/apiHandler.js +1 -1
  31. package/src/consumers/handlers/consoleHandler.js +1 -1
  32. package/src/consumers/handlers/databaseHandler.js +1 -1
  33. package/src/consumers/handlers/index.js +1 -1
  34. package/src/consumers/handlers/kafkaHandler.js +1 -1
  35. package/src/consumers/index.js +1 -1
  36. package/src/consumers/messageTransformer.js +1 -1
  37. package/src/consumers/validator.js +1 -1
  38. package/src/core/db/dialect/base-dialect.js +1 -1
  39. package/src/core/db/dialect/index.js +1 -1
  40. package/src/core/db/dialect/mysql-dialect.js +1 -1
  41. package/src/core/db/dialect/oracle-dialect.js +1 -1
  42. package/src/core/db/dialect/postgres-dialect.js +1 -1
  43. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  44. package/src/core/db/flatten-helper.js +1 -1
  45. package/src/core/db/query-builder-error.js +1 -1
  46. package/src/core/db/query-builder.js +1 -1
  47. package/src/core/db/relation-helper.js +1 -1
  48. package/src/core/handlers/delete_handler.js +1 -1
  49. package/src/core/handlers/insert_handler.js +1 -1
  50. package/src/core/handlers/update_handler.js +1 -1
  51. package/src/core/models/base-model.js +1 -1
  52. package/src/core/utils/cache-manager.js +1 -1
  53. package/src/core/utils/component-engine.js +1 -1
  54. package/src/core/utils/context-builder.js +1 -1
  55. package/src/core/utils/datetime-formatter.js +1 -1
  56. package/src/core/utils/datetime-parser.js +1 -1
  57. package/src/core/utils/db.js +1 -1
  58. package/src/core/utils/logger.js +1 -1
  59. package/src/core/utils/payload-loader.js +1 -1
  60. package/src/core/utils/security-checks.js +1 -1
  61. package/src/middleware/body-options.js +1 -1
  62. package/src/middleware/cors.js +1 -1
  63. package/src/middleware/idempotency.js +1 -1
  64. package/src/middleware/rate-limiter.js +1 -1
  65. package/src/middleware/request-logger.js +1 -1
  66. package/src/middleware/security-headers.js +1 -1
  67. package/src/models/base-model-mysql.js +1 -1
  68. package/src/models/base-model-oracle.js +1 -1
  69. package/src/models/base-model-sqlite.js +1 -1
  70. package/src/models/base-model.js +1 -1
  71. package/src/pro/caching/redis-client.js +1 -1
  72. package/src/pro/caching/redis-helper.js +1 -1
  73. package/src/pro/consumers/baseConsumer.js +1 -1
  74. package/src/pro/consumers/declarativeMapper.js +1 -1
  75. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  76. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  77. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  78. package/src/pro/consumers/handlers/index.js +1 -1
  79. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  80. package/src/pro/consumers/index.js +1 -1
  81. package/src/pro/consumers/messageTransformer.js +1 -1
  82. package/src/pro/consumers/validator.js +1 -1
  83. package/src/pro/database/base-model-mysql.js +1 -1
  84. package/src/pro/database/base-model-oracle.js +1 -1
  85. package/src/pro/database/base-model-sqlite.js +1 -1
  86. package/src/pro/database/db-mysql.js +1 -1
  87. package/src/pro/database/db-oracle.js +1 -1
  88. package/src/pro/database/db-sqlite.js +1 -1
  89. package/src/pro/excel/excel-generator.js +1 -1
  90. package/src/pro/excel/excel-parser.js +1 -1
  91. package/src/pro/excel/export-service.js +1 -1
  92. package/src/pro/excel/export_handler.js +1 -1
  93. package/src/pro/excel/import-service.js +1 -1
  94. package/src/pro/excel/import-validator.js +1 -1
  95. package/src/pro/excel/import_handler.js +1 -1
  96. package/src/pro/excel/upsert-builder.js +1 -1
  97. package/src/pro/idgen/idgen-routes.js +1 -1
  98. package/src/pro/integrations/lookup-resolver.js +1 -1
  99. package/src/pro/integrations/upload-handler-v2.js +1 -1
  100. package/src/pro/integrations/upload-handler.js +1 -1
  101. package/src/pro/integrations/webhook.js +1 -1
  102. package/src/pro/locking/lock-routes.js +1 -1
  103. package/src/pro/locking/resource-lock-manager.js +1 -1
  104. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  105. package/src/pro/messaging/kafkaService.js +1 -1
  106. package/src/pro/messaging/messagehubService.js +1 -1
  107. package/src/pro/messaging/rabbitmqService.js +1 -1
  108. package/src/pro/scheduler/job-manager.js +1 -1
  109. package/src/pro/scheduler/job-routes.js +1 -1
  110. package/src/pro/scheduler/job-validator.js +1 -1
  111. package/src/pro/storage/base-storage-provider.js +1 -1
  112. package/src/pro/storage/file-metadata-helper.js +1 -1
  113. package/src/pro/storage/index.js +1 -1
  114. package/src/pro/storage/local-storage-provider.js +1 -1
  115. package/src/pro/storage/s3-storage-provider.js +1 -1
  116. package/src/pro/storage/upload-cleanup-job.js +1 -1
  117. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  118. package/src/pro/storage/upload-pending-tracker.js +1 -1
  119. package/src/pro/websocket/broadcast-helper.js +1 -1
  120. package/src/pro/websocket/index.js +1 -1
  121. package/src/pro/websocket/livesync-server.js +1 -1
  122. package/src/pro/websocket/ws-broadcaster.js +1 -1
  123. package/src/services/export-service.js +1 -1
  124. package/src/services/import-service.js +1 -1
  125. package/src/services/kafkaConsumerService.js +1 -1
  126. package/src/services/kafkaService.js +1 -1
  127. package/src/services/messagehubService.js +1 -1
  128. package/src/services/rabbitmqService.js +1 -1
  129. package/src/utils/cache-invalidation-registry.js +1 -1
  130. package/src/utils/cache-manager.js +1 -1
  131. package/src/utils/component-engine.js +1 -1
  132. package/src/utils/config-extractor.js +1 -1
  133. package/src/utils/consumerLogger.js +1 -1
  134. package/src/utils/context-builder.js +1 -1
  135. package/src/utils/dashboard-helpers.js +1 -1
  136. package/src/utils/dateHelper.js +1 -1
  137. package/src/utils/datetime-formatter.js +1 -1
  138. package/src/utils/datetime-parser.js +1 -1
  139. package/src/utils/db-bootstrap.js +1 -1
  140. package/src/utils/db-mysql.js +1 -1
  141. package/src/utils/db-oracle.js +1 -1
  142. package/src/utils/db-sqlite.js +1 -1
  143. package/src/utils/db.js +1 -1
  144. package/src/utils/demo-generator.js +1 -1
  145. package/src/utils/excel-generator.js +1 -1
  146. package/src/utils/excel-parser.js +1 -1
  147. package/src/utils/file-watcher.js +1 -1
  148. package/src/utils/id-generator.js +1 -1
  149. package/src/utils/idempotency-manager.js +1 -1
  150. package/src/utils/import-validator.js +1 -1
  151. package/src/utils/license-client.js +1 -1
  152. package/src/utils/lock-manager.js +1 -1
  153. package/src/utils/logger.js +1 -1
  154. package/src/utils/lookup-resolver.js +1 -1
  155. package/src/utils/payload-loader.js +1 -1
  156. package/src/utils/processor-response.js +1 -1
  157. package/src/utils/rabbitmq.js +1 -1
  158. package/src/utils/redis-client.js +1 -1
  159. package/src/utils/redis-helper.js +1 -1
  160. package/src/utils/request-scope.js +1 -1
  161. package/src/utils/security-checks.js +1 -1
  162. package/src/utils/service-resolver.js +1 -1
  163. package/src/utils/shutdown-coordinator.js +1 -1
  164. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  165. package/src/utils/sql-table-extractor.js +1 -1
  166. package/src/utils/trusted-keys.js +1 -1
  167. package/src/utils/upload-handler.js +1 -1
  168. package/src/utils/upsert-builder.js +1 -1
  169. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x5c0261=a0_0x2342;function a0_0x2342(_0x381094,_0x32465a){_0x381094=_0x381094-0x15c;const _0xf92005=a0_0xf920();let _0x234289=_0xf92005[_0x381094];if(a0_0x2342['mLsdTh']===undefined){var _0x29ab74=function(_0x8bc804){const _0x3ec100='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x117100='',_0x2257f6='';for(let _0x430467=0x0,_0x5d3d8f,_0x73f0af,_0x102c00=0x0;_0x73f0af=_0x8bc804['charAt'](_0x102c00++);~_0x73f0af&&(_0x5d3d8f=_0x430467%0x4?_0x5d3d8f*0x40+_0x73f0af:_0x73f0af,_0x430467++%0x4)?_0x117100+=String['fromCharCode'](0xff&_0x5d3d8f>>(-0x2*_0x430467&0x6)):0x0){_0x73f0af=_0x3ec100['indexOf'](_0x73f0af);}for(let _0x249a01=0x0,_0x5cb84e=_0x117100['length'];_0x249a01<_0x5cb84e;_0x249a01++){_0x2257f6+='%'+('00'+_0x117100['charCodeAt'](_0x249a01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2257f6);};a0_0x2342['DmgRfh']=_0x29ab74,a0_0x2342['vTfycP']={},a0_0x2342['mLsdTh']=!![];}const _0x4c71c2=_0xf92005[0x0],_0x53d77c=_0x381094+_0x4c71c2,_0x25113a=a0_0x2342['vTfycP'][_0x53d77c];return!_0x25113a?(_0x234289=a0_0x2342['DmgRfh'](_0x234289),a0_0x2342['vTfycP'][_0x53d77c]=_0x234289):_0x234289=_0x25113a,_0x234289;}(function(_0x3dceb0,_0x2f1bdb){const _0x59d625=a0_0x2342,_0x5c438e=_0x3dceb0();while(!![]){try{const _0xc94349=parseInt(_0x59d625(0x1bc))/0x1*(parseInt(_0x59d625(0x175))/0x2)+parseInt(_0x59d625(0x17d))/0x3*(-parseInt(_0x59d625(0x18b))/0x4)+parseInt(_0x59d625(0x1df))/0x5+-parseInt(_0x59d625(0x195))/0x6*(-parseInt(_0x59d625(0x16d))/0x7)+parseInt(_0x59d625(0x1e7))/0x8+-parseInt(_0x59d625(0x18c))/0x9+-parseInt(_0x59d625(0x1b9))/0xa;if(_0xc94349===_0x2f1bdb)break;else _0x5c438e['push'](_0x5c438e['shift']());}catch(_0x36ec2b){_0x5c438e['push'](_0x5c438e['shift']());}}}(a0_0xf920,0xcbb56));function a0_0xf920(){const _0x115298=['CxvPDa','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','tuTwBvm','u2vYDMvYihnODxr0Aw5NigrVD24','z3HOA0S','lI4VlI4VDxrPBhmVBg9Nz2vY','y2XPzw50CW','Aw5JBhvKzxm','DhLWzq','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','BgLZDgvUzxjZ','CMvXDwvZDeLK','z0rZDMe','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','CgfYC2u','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','D0vIBLm','rKXIv0G','x2jYB2fKy2fZDeXVy2fS','uKvesvnFue9sva','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','Aw5MBW','rw1Pwhm','DxfUrKe','CgLUzW','x3DVCMTLCKLK','rw5wtK4','C2H1DgrVD24','y29UBMvJDa','x29WDgLVBNm','mJeWndiXnujMrfrrwG','CgLK','y3LTrKe','vfznsum','x2HLyxj0yMvHDfrPBwvY','x293BLb1yMXPC2HLCG','v1H0ELa','zgf0yv9JAgfUz2u','nJq5nda4oePez25jwa','Ec1MB3j3yxjKzwqTzM9Y','tLDbCM4','uKvesvnFrei','x3nLDhvWvxbNCMfKzuf1DgG','y2f0y2G','v0z3DKy','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','Cg9UzW','uKvesvnFueftu1DpuKq','qNjVywrJyxn0ia','x2HHBMrSzunVBM5Ly3rPB24','AgvHzgvYCW','zgf0yq','x3nLDhvWuMvKAxnqDwjSAxnOzxi','x21Vzgu','sMX0yLm','D3jPDgu','Aw9YzwrPCW','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','DfnvB0O','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','mtK2zLDUzuLS','BwvZC2fNzq','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','y2fSBa','BgL2zxn5BMnFyNjVywrJyxn0','x2HHBMrSzvvUC3vIC2nYAwjL','Ahr0CdOVlW','C3vIC2nYAwjLzenOyw5UzwXZ','mMLgtvnpra','ywn0Aw9U','BgL2zxn5BMnFC2H1DgrVD24','ChvIBgLZAgvY','s0TlDvK','yNvrCvG','C3bSAxq','yxbPs2v5','nJLABvbYBMK','z2v0q2XPzw50','x2HHBMrSzvn1yNnJCMLIzq','zw52','C3rYAw5N','C2vUza','x3b1yMXPC2HuB1jLzgLZ','x3jLzgLZuhvIBgLZAgvY','ChvZAa','x3nLBMruB0nSAwvUDa','ignSAwvUDcHZkq','x3DZCW','zgvSzxrL','ihrVia','mJy1ota0ugfKu2n3','mJm3nJu3nNLSD3jXza','vhzfvw8','y2HHBM5LBa','C2X6D0q','x3n1yNnJCMLWDgLVBNm','BgL2zxn5BMnFAw5PDgLHBgL6zwq','CNfOt2m','C2v0','CMvTB3zLqwXStgLZDgvUzxjZ','mtC0nZa4sNrZz3LN','zxjYB3i','ueTgs2W','x3n0yxj0sgvHCNrIzwf0','zgvZDhjVEq','AgfZ','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x3jLzgLZu3vIC2nYAwjLCG','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','AxnbCNjHEq','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','zNvSBa','CMvTB3rLqwrKCMvZCW','ywrK','x3nLDhvWuMvKAxm','vfHryxm','AgfUzgXLvxbNCMfKzq','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','yNjVywrJyxn0','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','x2HHBMrSzunSAwvUDe1LC3nHz2u','C2vHCMnOugfYyw1Z','C2L6zq','x2LUAxrPywXPEMvK','zMH2Eee','DxbNCMfKzq','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','x2XVz2DLCG','D2fYBG','tKrIs1G','zgvIDwC','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','uxfHuwm','CMvHzhLtDgf0zq','nNW1Fdj8oxWXFdr8ohW3Fdb8mW','z2v0','nZa4nZe3mhHoDwnRzW','l3DZ','C3rYAw5NAwz5','mti4odiXmxDlC0nlwq','ihnODxqGzg93BG','y2XLyxi','CvneCxO','AxnbBgL2zq'];a0_0xf920=function(){return _0x115298;};return a0_0xf920();}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x223aa7=a0_0x2342,_0x5cbe96={'gxhkK':_0x223aa7(0x1b7)},_0x497390=_0x5cbe96[_0x223aa7(0x1c5)]['split']('|');let _0xa49d5=0x0;while(!![]){switch(_0x497390[_0xa49d5++]){case'0':this[_0x223aa7(0x19c)]=null;continue;case'1':this[_0x223aa7(0x1b0)]=console;continue;case'2':this[_0x223aa7(0x165)]=null;continue;case'3':this[_0x223aa7(0x1da)]=process[_0x223aa7(0x1e0)];continue;case'4':this[_0x223aa7(0x190)]=new Map();continue;case'5':this['_initialized']=![];continue;case'6':this['_wss']=null;continue;case'7':this[_0x223aa7(0x184)]=null;continue;case'8':this['_heartbeatTimer']=null;continue;case'9':this['_options']={};continue;}break;}}['initialize'](_0x39c503,_0x72897a={}){const _0x2ffa25=a0_0x2342,_0x204111={'VXUOn':'livesync_wss_error','EmiXs':_0x2ffa25(0x1a0),'xdHYv':function(_0x5973ab,_0x4a163b){return _0x5973ab(_0x4a163b);},'fhvxA':function(_0x3284e9,_0x8c952e,_0x755d9f){return _0x3284e9(_0x8c952e,_0x755d9f);},'DCWSI':_0x2ffa25(0x196)};if(this[_0x2ffa25(0x1ac)])return;this['_options']=_0x72897a,this['_mode']=_0x204111[_0x2ffa25(0x1d7)];try{this['_logger']=_0x204111['xdHYv'](require,_0x2ffa25(0x1c6))['logger']||console;}catch(_0x114677){this[_0x2ffa25(0x1b0)]=console;}const _0x2d5965=_0x204111[_0x2ffa25(0x1ad)](parseInt,process['env'][_0x2ffa25(0x1d5)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x39c503,'path':_0x2ffa25(0x1ba)}),this[_0x2ffa25(0x1eb)](_0x39c503),this[_0x2ffa25(0x188)]['on']('connection',(_0x256d81,_0x3e33b5)=>this[_0x2ffa25(0x161)](_0x256d81,_0x3e33b5)),this[_0x2ffa25(0x188)]['on'](_0x204111['DCWSI'],_0x4573fb=>{const _0x124cdb=_0x2ffa25;this[_0x124cdb(0x1b0)][_0x124cdb(0x196)]({'event':_0x204111['VXUOn'],'error':_0x4573fb[_0x124cdb(0x16e)]},'WebSocket\x20server\x20error:\x20'+_0x4573fb[_0x124cdb(0x16e)]);}),this[_0x2ffa25(0x198)](_0x2d5965),this[_0x2ffa25(0x1a3)](),this[_0x2ffa25(0x1ac)]=!![],this['_logger'][_0x2ffa25(0x1d6)]({'event':_0x2ffa25(0x191),'mode':'full','path':'/ws','heartbeat':_0x2d5965+'s'},_0x2ffa25(0x169)+_0x2d5965+'s)');}['initializeAsPublisher'](_0xc493c8={}){const _0x45a002=a0_0x2342,_0x531143={'NWArn':_0x45a002(0x178),'gDsva':function(_0x270557,_0x4086fa){return _0x270557(_0x4086fa);},'NDbKX':_0x45a002(0x1ce)};if(this['_initialized'])return;this[_0x45a002(0x1de)]=_0xc493c8,this['_mode']=_0x531143[_0x45a002(0x1e9)];try{this[_0x45a002(0x1b0)]=_0x531143[_0x45a002(0x1cd)](require,_0x45a002(0x1c6))['logger']||console;}catch(_0x1a7f8d){this[_0x45a002(0x1b0)]=console;}this['_setupRedisPublisher'](),this[_0x45a002(0x1ac)]=!![],this['_logger'][_0x45a002(0x1d6)]({'event':_0x531143[_0x45a002(0x1b2)],'mode':'publisher'},_0x45a002(0x1d0));}['isInitialized'](){const _0x1444e3=a0_0x2342;return this[_0x1444e3(0x1ac)];}[a0_0x5c0261(0x1a7)](_0xc463f5,_0x4cca21){const _0x58046e=a0_0x5c0261,_0x123db3={'cymFA':function(_0x139fa3,_0x3fb28c){return _0x139fa3===_0x3fb28c;},'EnVNN':function(_0x1d78d5,_0x3174a8){return _0x1d78d5===_0x3174a8;},'yeWRt':function(_0x461dcd,_0x3eb1c5){return _0x461dcd>_0x3eb1c5;},'KFvVn':_0x58046e(0x171)};if(!this[_0x58046e(0x1ac)])return;if(this['_mode']===_0x58046e(0x178)){this['_publishToRedis'](_0xc463f5,_0x4cca21);return;}const _0x5d4a1e=JSON[_0x58046e(0x1bb)]({'type':_0x58046e(0x1e6),'channel':_0xc463f5,'action':_0x4cca21[_0x58046e(0x176)],'data':_0x4cca21[_0x58046e(0x163)],'requestId':_0x4cca21[_0x58046e(0x1cc)]||null,'timestamp':new Date()['toISOString']()}),[_0x26707f]=_0xc463f5[_0x58046e(0x17b)](':');let _0xf26726=0x0;for(const [_0x145984,_0x38da77]of this['_subscriptions']){const _0x533a57=_0x123db3[_0x58046e(0x1e1)](_0x145984,_0xc463f5),_0x205440=_0x123db3[_0x58046e(0x1db)](_0x145984,_0x26707f+':*');if(_0x533a57||_0x205440)for(const _0x5630b8 of _0x38da77){if(_0x5630b8['readyState']===0x1)try{_0x5630b8[_0x58046e(0x182)](_0x5d4a1e),_0xf26726++;}catch(_0x47f21e){}}}_0x123db3['yeWRt'](_0xf26726,0x0)&&this[_0x58046e(0x1b0)][_0x58046e(0x1b3)]({'event':_0x123db3['KFvVn'],'channel':_0xc463f5,'action':_0x4cca21['action'],'clients':_0xf26726},_0x58046e(0x160)+_0x4cca21['action']+'\x20on\x20'+_0xc463f5+_0x58046e(0x18a)+_0xf26726+_0x58046e(0x187));}[a0_0x5c0261(0x183)](_0x100179,_0x34e44c){const _0x261c4e=a0_0x5c0261;if(!this['_redisPublisher'])return;const _0x1b2b38=JSON['stringify']({'channel':_0x100179,'message':_0x34e44c,'workerId':this['_workerId']});this['_redisPublisher']['publish'](REDIS_CHANNEL_PREFIX+_0x261c4e(0x1a7),_0x1b2b38)['catch'](()=>{});}[a0_0x5c0261(0x1dc)](){const _0x364c8d=a0_0x5c0261,_0xc679d0={'dcOgf':function(_0x35abb4,_0x250d49){return _0x35abb4(_0x250d49);},'PgXzG':_0x364c8d(0x1c4),'rqhOc':_0x364c8d(0x177)};if(!this[_0x364c8d(0x1ac)])return;this['_heartbeatTimer']&&(_0xc679d0['dcOgf'](clearInterval,this[_0x364c8d(0x1e3)]),this['_heartbeatTimer']=null);if(this[_0x364c8d(0x188)]){for(const _0x251ac1 of this[_0x364c8d(0x188)][_0x364c8d(0x1c7)]){try{_0x251ac1['close'](0x3e9,_0xc679d0['PgXzG']);}catch(_0x54eb6c){}}this[_0x364c8d(0x188)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber']['unsubscribe'](),this['_redisSubscriber']['quit']();}catch(_0x16cd77){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this['_redisPublisher'][_0x364c8d(0x1c1)]();}catch(_0x441b6d){}this['_subscriptions'][_0x364c8d(0x1be)](),this['_initialized']=![],this['_logger']['info']({'event':_0xc679d0[_0x364c8d(0x192)],'mode':this[_0x364c8d(0x165)]},'Live\x20Sync\x20'+this['_mode']+_0x364c8d(0x1bd));}[a0_0x5c0261(0x1eb)](_0x1f87fb){const _0xbe6898=a0_0x5c0261,_0x262d87={'tSUoJ':'connection','xcLla':'localhost','buQqX':'x-api-key','KKKuY':function(_0x58bb7c,_0x5192c5){return _0x58bb7c!==_0x5192c5;},'qSDqz':_0xbe6898(0x19d),'lsIaA':_0xbe6898(0x1ae)},_0x1a233a=_0x1f87fb[_0xbe6898(0x1cb)]('upgrade')['slice']();_0x1f87fb[_0xbe6898(0x194)](_0x262d87['lsIaA']),_0x1f87fb['on']('upgrade',(_0x417abd,_0xa16336,_0x2a05c7)=>{const _0xf4d9be=_0xbe6898,_0x55ba97={'rKeKX':_0x262d87[_0xf4d9be(0x16a)]};if(!_0x417abd['url']||!_0x417abd['url'][_0xf4d9be(0x1ee)](_0xf4d9be(0x1ba))){for(const _0x45e753 of _0x1a233a){_0x45e753[_0xf4d9be(0x170)](_0x1f87fb,_0x417abd,_0xa16336,_0x2a05c7);}return;}if(this[_0xf4d9be(0x1de)][_0xf4d9be(0x17c)]){const _0x480f36=new URL(_0x417abd['url'],_0xf4d9be(0x173)+(_0x417abd[_0xf4d9be(0x162)]['host']||_0x262d87['xcLla'])),_0x6ab2ee=_0x480f36[_0xf4d9be(0x1aa)]['get'](_0x262d87['buQqX'])||_0x417abd[_0xf4d9be(0x162)][_0x262d87[_0xf4d9be(0x17a)]];if(!_0x6ab2ee||_0x262d87[_0xf4d9be(0x179)](_0x6ab2ee,this['_options'][_0xf4d9be(0x17c)])){_0xa16336[_0xf4d9be(0x167)](_0x262d87[_0xf4d9be(0x1bf)]),_0xa16336[_0xf4d9be(0x199)]();return;}}this['_wss'][_0xf4d9be(0x1a5)](_0x417abd,_0xa16336,_0x2a05c7,_0x15ff03=>{const _0x42071a=_0xf4d9be;this[_0x42071a(0x188)]['emit'](_0x55ba97['rKeKX'],_0x15ff03,_0x417abd);});});}[a0_0x5c0261(0x161)](_0x5036a1,_0x17c812){const _0x384bee=a0_0x5c0261,_0x55b864={'TVMIC':'error','TvEUo':'livesync_client_disconnected','PKFKl':'pong','IJhOa':_0x384bee(0x16e),'eTOti':'close'};_0x5036a1['isAlive']=!![],_0x5036a1[_0x384bee(0x174)]=new Set();const _0x46f9f9=_0x17c812['headers'][_0x384bee(0x1e8)]||_0x17c812['socket'][_0x384bee(0x1a1)];this[_0x384bee(0x1b0)]['info']({'event':_0x384bee(0x1c2),'ip':_0x46f9f9},_0x384bee(0x1b4)+_0x46f9f9),_0x5036a1['on'](_0x55b864[_0x384bee(0x197)],()=>{_0x5036a1['isAlive']=!![];}),_0x5036a1['on'](_0x55b864['IJhOa'],_0x21b316=>{const _0x1053d5=_0x384bee;try{const _0x3490be=JSON[_0x1053d5(0x1cf)](_0x21b316['toString']());this['_handleClientMessage'](_0x5036a1,_0x3490be);}catch(_0x5a055b){this[_0x1053d5(0x186)](_0x5036a1,{'type':_0x55b864[_0x1053d5(0x1e2)],'message':'Invalid\x20JSON\x20message'});}}),_0x5036a1['on'](_0x55b864['eTOti'],()=>{const _0x44c267=_0x384bee;this['_removeClientFromAllChannels'](_0x5036a1),this['_logger']['debug']({'event':_0x55b864[_0x44c267(0x18d)],'ip':_0x46f9f9},_0x44c267(0x1a6)+_0x46f9f9);}),_0x5036a1['on'](_0x55b864['TVMIC'],_0x365e67=>{const _0x301640=_0x384bee;this[_0x301640(0x1b0)][_0x301640(0x1b1)]({'event':'livesync_client_error','error':_0x365e67['message']},'WebSocket\x20client\x20error:\x20'+_0x365e67['message']),this[_0x301640(0x19b)](_0x5036a1);});}[a0_0x5c0261(0x1a9)](_0xb8ae56,_0x157d71){const _0x45fe56=a0_0x5c0261,_0xfe764f={'WFwvF':'subscribe','tZjuJ':'unsubscribe','sOsQL':_0x45fe56(0x15e)};switch(_0x157d71['type']){case _0xfe764f[_0x45fe56(0x1ed)]:this[_0x45fe56(0x17f)](_0xb8ae56,_0x157d71['channels']);break;case _0xfe764f['tZjuJ']:this[_0x45fe56(0x172)](_0xb8ae56,_0x157d71['channels']);break;case _0xfe764f['sOsQL']:_0xb8ae56[_0x45fe56(0x1c0)]=!![];break;default:this[_0x45fe56(0x186)](_0xb8ae56,{'type':'error','message':'Unknown\x20message\x20type:\x20'+_0x157d71[_0x45fe56(0x1c9)]});}}[a0_0x5c0261(0x17f)](_0x309c14,_0x4f5a01){const _0x276986=a0_0x5c0261,_0x12a6b1={'EBIut':function(_0x22728f,_0x479369){return _0x22728f===_0x479369;},'aSmVy':'error','mXFzM':_0x276986(0x16c),'uqnFA':function(_0x2732cd,_0x1f2906){return _0x2732cd!==_0x1f2906;},'MKVmS':_0x276986(0x181),'JjvYx':'subscribed'};if(!Array[_0x276986(0x19e)](_0x4f5a01)||_0x12a6b1['EBIut'](_0x4f5a01['length'],0x0)){this[_0x276986(0x186)](_0x309c14,{'type':_0x12a6b1['aSmVy'],'message':_0x12a6b1['mXFzM']});return;}const _0x28e86c=[];for(const _0x334f27 of _0x4f5a01){if(_0x12a6b1[_0x276986(0x1d8)](typeof _0x334f27,_0x12a6b1[_0x276986(0x1c3)])||!_0x334f27[_0x276986(0x1c8)](':'))continue;!this[_0x276986(0x190)][_0x276986(0x19a)](_0x334f27)&&this['_subscriptions'][_0x276986(0x193)](_0x334f27,new Set()),this['_subscriptions'][_0x276986(0x1b8)](_0x334f27)['add'](_0x309c14),_0x309c14[_0x276986(0x174)][_0x276986(0x1a2)](_0x334f27),_0x28e86c[_0x276986(0x185)](_0x334f27);}_0x28e86c['length']>0x0&&(this[_0x276986(0x186)](_0x309c14,{'type':_0x12a6b1['JjvYx'],'channels':_0x28e86c,'timestamp':new Date()['toISOString']()}),this['_logger']['debug']({'event':'livesync_subscribe','channels':_0x28e86c},'Client\x20subscribed\x20to:\x20'+_0x28e86c['join'](',\x20')));}['_handleUnsubscribe'](_0x257dad,_0x3b5f47){const _0x383c3e=a0_0x5c0261,_0xf47a52={'FLbWH':function(_0x327243,_0x3a3e26){return _0x327243===_0x3a3e26;}};if(!Array['isArray'](_0x3b5f47))return;const _0x59a92f=[];for(const _0x150af5 of _0x3b5f47){this['_subscriptions'][_0x383c3e(0x19a)](_0x150af5)&&(this[_0x383c3e(0x190)]['get'](_0x150af5)['delete'](_0x257dad),_0xf47a52[_0x383c3e(0x1d2)](this[_0x383c3e(0x190)]['get'](_0x150af5)[_0x383c3e(0x1ab)],0x0)&&this['_subscriptions']['delete'](_0x150af5)),_0x257dad[_0x383c3e(0x174)]['delete'](_0x150af5),_0x59a92f[_0x383c3e(0x185)](_0x150af5);}_0x59a92f['length']>0x0&&this[_0x383c3e(0x186)](_0x257dad,{'type':'unsubscribed','channels':_0x59a92f,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0x58784a){const _0x34fa5a=a0_0x5c0261,_0x482f51={'WXtzP':function(_0x382f40,_0x424707){return _0x382f40===_0x424707;}};if(!_0x58784a[_0x34fa5a(0x174)])return;for(const _0x1b0e6d of _0x58784a['subscribedChannels']){this['_subscriptions'][_0x34fa5a(0x19a)](_0x1b0e6d)&&(this['_subscriptions'][_0x34fa5a(0x1b8)](_0x1b0e6d)[_0x34fa5a(0x189)](_0x58784a),_0x482f51[_0x34fa5a(0x1e5)](this[_0x34fa5a(0x190)][_0x34fa5a(0x1b8)](_0x1b0e6d)['size'],0x0)&&this['_subscriptions'][_0x34fa5a(0x189)](_0x1b0e6d));}_0x58784a[_0x34fa5a(0x174)][_0x34fa5a(0x1be)]();}[a0_0x5c0261(0x186)](_0x4d013d,_0x5c52de){const _0x1865df=a0_0x5c0261,_0x71254f={'TXQas':function(_0x487869,_0x43eeb8){return _0x487869===_0x43eeb8;}};if(_0x71254f[_0x1865df(0x1a4)](_0x4d013d[_0x1865df(0x1b6)],0x1))try{_0x4d013d[_0x1865df(0x182)](JSON[_0x1865df(0x1bb)](_0x5c52de));}catch(_0x1b42e8){}}['_startHeartbeat'](_0x1a1bbb){const _0x47f798=a0_0x5c0261,_0x4f8dc3={'hVAMo':function(_0x4befeb,_0x5837db,_0x35216f){return _0x4befeb(_0x5837db,_0x35216f);}};this[_0x47f798(0x1e3)]=_0x4f8dc3['hVAMo'](setInterval,()=>{const _0x3f4534=_0x47f798;if(!this['_wss'])return;for(const _0x151356 of this[_0x3f4534(0x188)]['clients']){if(!_0x151356[_0x3f4534(0x1c0)]){this[_0x3f4534(0x19b)](_0x151356),_0x151356['terminate']();continue;}_0x151356['isAlive']=![],this[_0x3f4534(0x186)](_0x151356,{'type':_0x3f4534(0x1d9),'timestamp':new Date()[_0x3f4534(0x15c)]()});try{_0x151356['ping']();}catch(_0x5997d5){}}},_0x1a1bbb*0x3e8);}[a0_0x5c0261(0x164)](){const _0xd5cca=a0_0x5c0261,_0x3d73ec={'PwzzP':_0xd5cca(0x16f),'slzwD':function(_0x1dd280,_0x462b7a){return _0x1dd280(_0x462b7a);},'aYltH':'127.0.0.1','UtKsZ':function(_0x33b2f3,_0x3ef03c,_0x12b254){return _0x33b2f3(_0x3ef03c,_0x12b254);}};this['_ownPublisher']=![];try{try{const _0x3fe789=require(_0x3d73ec['PwzzP']);this['_redisPublisher']=_0x3fe789[_0xd5cca(0x17e)]?_0x3fe789['getClient']():null;}catch(_0x4ed2af){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x1883ac=_0x3d73ec[_0xd5cca(0x18f)](require,_0xd5cca(0x168)),_0x14712e={'host':process[_0xd5cca(0x180)]['REDIS_HOST']||_0x3d73ec['aYltH'],'port':_0x3d73ec['UtKsZ'](parseInt,process[_0xd5cca(0x180)][_0xd5cca(0x1d4)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0xd5cca(0x180)][_0xd5cca(0x1ea)],0xa)||0x0,'lazyConnect':!![]};this[_0xd5cca(0x184)]=new _0x1883ac(_0x14712e),this[_0xd5cca(0x1e4)]=!![],this['_redisPublisher'][_0xd5cca(0x1dd)]()[_0xd5cca(0x1ec)](()=>{const _0x57dab5=_0xd5cca;this[_0x57dab5(0x1b0)]['warn']({'event':_0x57dab5(0x19f)},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x46be2d){this['_logger'][_0xd5cca(0x1b1)]({'event':_0xd5cca(0x1af),'error':_0x46be2d[_0xd5cca(0x16e)]},_0xd5cca(0x15d)+_0x46be2d['message']);}}[a0_0x5c0261(0x1a3)](){const _0x11d649=a0_0x5c0261,_0x212967={'wEbnS':'livesync_redis_subscribe_error','qVHsg':'livesync_redis_subscriber_failed','QqaQc':'127.0.0.1','JltbS':function(_0x141c59,_0x22b359,_0x29fab9){return _0x141c59(_0x22b359,_0x29fab9);},'cwxui':_0x11d649(0x1af)};this[_0x11d649(0x1e4)]=![];try{const _0x1c30ea=require('ioredis'),_0x5624cb={'host':process[_0x11d649(0x180)]['REDIS_HOST']||_0x212967[_0x11d649(0x1b5)],'port':_0x212967[_0x11d649(0x166)](parseInt,process['env'][_0x11d649(0x1d4)],0xa)||0x18eb,'password':process[_0x11d649(0x180)][_0x11d649(0x15f)]||undefined,'db':parseInt(process[_0x11d649(0x180)][_0x11d649(0x1ea)],0xa)||0x0,'lazyConnect':!![]};try{const _0x595a54=require(_0x11d649(0x16f));this['_redisPublisher']=_0x595a54[_0x11d649(0x17e)]?_0x595a54['getClient']():null;}catch(_0x3bc14a){this['_redisPublisher']=null;}!this['_redisPublisher']&&(this[_0x11d649(0x184)]=new _0x1c30ea(_0x5624cb),this[_0x11d649(0x1e4)]=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x1a07fb=_0x11d649;this[_0x1a07fb(0x1b0)]['warn']({'event':_0x1a07fb(0x19f)},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x1a07fb(0x184)]=null;})),this['_redisSubscriber']=new _0x1c30ea(_0x5624cb),this['_redisSubscriber'][_0x11d649(0x1dd)]()['then'](()=>{const _0x4fcfc7=_0x11d649;this[_0x4fcfc7(0x19c)]['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x3de488=>{const _0x2a548c=_0x4fcfc7;if(_0x3de488){this[_0x2a548c(0x1b0)]['error']({'event':_0x212967[_0x2a548c(0x1d1)],'error':_0x3de488['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x3de488[_0x2a548c(0x16e)]);return;}this['_logger']['info']({'event':'livesync_redis_subscribed'},_0x2a548c(0x1a8));}),this['_redisSubscriber']['on'](_0x4fcfc7(0x16e),(_0x172170,_0x315f47)=>{const _0x48d215=_0x4fcfc7;try{const _0x22d77d=JSON[_0x48d215(0x1cf)](_0x315f47);if(_0x22d77d['workerId']===this['_workerId'])return;this['_broadcastLocal'](_0x22d77d[_0x48d215(0x18e)],_0x22d77d['message']);}catch(_0x4dfe5a){}});})[_0x11d649(0x1ec)](()=>{const _0x4292ee=_0x11d649;this['_logger']['warn']({'event':_0x212967['qVHsg']},_0x4292ee(0x16b)),this['_redisSubscriber']=null;});}catch(_0x35a697){this['_logger']['warn']({'event':_0x212967['cwxui'],'error':_0x35a697['message']},_0x11d649(0x1ca)+_0x35a697[_0x11d649(0x16e)]);}}[a0_0x5c0261(0x1d3)](_0x8c1c1,_0x859659){const _0x13c4ee=a0_0x5c0261,_0x37adcd={'Lozdy':function(_0x291fa2,_0xe70630){return _0x291fa2===_0xe70630;},'FQGdd':function(_0x4ffc64,_0x489079){return _0x4ffc64||_0x489079;}};if(!this[_0x13c4ee(0x188)])return;const _0x52e27b=JSON[_0x13c4ee(0x1bb)]({'type':'data_change','channel':_0x8c1c1,'action':_0x859659[_0x13c4ee(0x176)],'data':_0x859659['data'],'requestId':_0x859659[_0x13c4ee(0x1cc)]||null,'timestamp':new Date()['toISOString']()}),[_0x4837bb]=_0x8c1c1[_0x13c4ee(0x17b)](':');for(const [_0x3368a2,_0x11b26f]of this['_subscriptions']){const _0x1616d2=_0x37adcd['Lozdy'](_0x3368a2,_0x8c1c1),_0x3ce5ea=_0x3368a2===_0x4837bb+':*';if(_0x37adcd['FQGdd'](_0x1616d2,_0x3ce5ea))for(const _0x4afaa0 of _0x11b26f){if(_0x37adcd['Lozdy'](_0x4afaa0[_0x13c4ee(0x1b6)],0x1))try{_0x4afaa0['send'](_0x52e27b);}catch(_0x5883d7){}}}}}module['exports']=WebSocketBroadcaster;
1
+ 'use strict';const a0_0x52b64c=a0_0x3a91;(function(_0x4d7e80,_0x50ea7d){const _0xd2e88a=a0_0x3a91,_0x1cc772=_0x4d7e80();while(!![]){try{const _0x12bd5a=parseInt(_0xd2e88a(0x171))/0x1*(-parseInt(_0xd2e88a(0x183))/0x2)+-parseInt(_0xd2e88a(0x12a))/0x3*(parseInt(_0xd2e88a(0x162))/0x4)+parseInt(_0xd2e88a(0x152))/0x5+parseInt(_0xd2e88a(0x18f))/0x6+parseInt(_0xd2e88a(0x148))/0x7*(parseInt(_0xd2e88a(0x1aa))/0x8)+-parseInt(_0xd2e88a(0x184))/0x9*(parseInt(_0xd2e88a(0x158))/0xa)+parseInt(_0xd2e88a(0x199))/0xb*(parseInt(_0xd2e88a(0x13d))/0xc);if(_0x12bd5a===_0x50ea7d)break;else _0x1cc772['push'](_0x1cc772['shift']());}catch(_0x5516ca){_0x1cc772['push'](_0x1cc772['shift']());}}}(a0_0x25a1,0x3df0f));function a0_0x25a1(){const _0x5be011=['DhLWzq','tfzPuvy','ChvZAa','y2HHBM5LBhm','ywn0Aw9U','mtyXmZzKtNzUsxK','Aw5MBW','C3vIC2nYAwjLzenOyw5UzwXZ','ChvIBgLZAgvY','zgf0yv9JAgfUz2u','AMvbz0m','zxjYB3i','CMvXDwvZDeLK','u2vYDMvYihnODxr0Aw5NigrVD24','yKzuAhm','AxnbCNjHEq','z0X3Bg0','C3rHCNrZv2L0Aa','zw52','AxnbBgL2zq','nJG0owD2sM55sa','x3nLDhvWvxbNCMfKzuf1DgG','Ec1MB3j3yxjKzwqTzM9Y','C2L6zq','Ahr0CdOVlW','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','x3nLBMruB0nSAwvUDa','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','C3rYAw5N','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','mti3lJaUmc4X','uKvesvnFrei','uKvesvnFse9tva','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','BgLZDgvUzxjZ','y29UBMvJDa','x2HHBMrSzvn1yNnJCMLIzq','y29UBMvJDgLVBG','BLrWBgW','mJq0mJbptgTsree','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','s1veuK0','CxvPDa','x2HHBMrSzunVBM5Ly3rPB24','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','ignSAwvUDcHZkq','zNvSBa','zw1PDa','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','y2f0y2G','nZyZs3zhsxfr','zgvZDhjVEq','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','z2HwthO','x2LUAxrPywXPEMvK','yxbPs2v5','z2v0q2XPzw50','x2HHBMrSzvvUC3vIC2nYAwjL','AgfZ','C01Ktgm','mtqXmdC1nuPtwLzrsG','DgvYBwLUyxrL','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','uMjzEwK','zejVEfq','x3DVCMTLCKLK','mZqYnduWzxbWuxHN','x3jLzgLZu3vIC2nYAwjLCG','BwvZC2fNzq','x2HHBMrSzunSAwvUDe1LC3nHz2u','zgf0yq','DxjS','x3nLDhvWuMvKAxm','C3bSAxq','y2XLyxi','CMvZDgzVCMDLoMXPDMvZEw5JoG','ntjHs3DKtfe','u09HAMu','DgHLBG','x2HLyxj0yMvHDfrPBwvY','sw52ywXPzcbku09oig1LC3nHz2u','z2v0','x2XVz2DLCG','wej3qNe','Dg9ju09tDhjPBMC','x3n0yxj0sgvHCNrIzwf0','ig9Uia','ihrVia','y2XVC2u','BgvUz3rO','Ag9ZDa','mZu1nZGZD0zMwvvu','BgL2zxn5BMnFD3nZx2vYCM9Y','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','z1zXEuC','Axz2A3y','BgL2zxn5BMnFC2H1DgrVD24','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','C29JA2v0','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x3n1yNnJCMLWDgLVBNm','y2XPzw50CW','x29WDgLVBNm','z2juz0e','D09wz2G','CgfYC2u','zxHWB3j0CW','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','CgLUzW','mKn6DevoDG','mte3Cg5rvgju','lI4VlI4VDxrPBhmVBg9Nz2vY','zgvIDwC','zKjrvxG','uKvesvnFueftu1DpuKq','zgvSzxrL','C3rYAw5NAwz5','Dg9tDhjPBMC','yNjVywrJyxn0','x3DZCW','AgvHzgvYCW','ndi5nde0u3Hprgnu','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','C3vIC2nYAwjL','C2vHCMnOugfYyw1Z','y1z6vNm','x3jLzgLZuhvIBgLZAgvY','quX5zxa','ywrK','Cgn2vvO','CMvHzhLtDgf0zq','mJC2muXVC1DitG','vvPuEeK','mxW0Fdb8nxWYFdz8mW','x3nLDhvWuMvKAxnqDwjSAxnOzxi','x21Vzgu','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','swf2DMy','AeHUAgu','Bg9Nz2vY','vfbHs2C','EeTcCei','Aw9YzwrPCW'];a0_0x25a1=function(){return _0x5be011;};return a0_0x25a1();}const {WebSocketServer}=require('ws'),{URL}=require(a0_0x52b64c(0x15d)),REDIS_CHANNEL_PREFIX=a0_0x52b64c(0x161);function a0_0x3a91(_0x546486,_0x19fda2){_0x546486=_0x546486-0x129;const _0x25a1c5=a0_0x25a1();let _0x3a91a9=_0x25a1c5[_0x546486];if(a0_0x3a91['YaUiMw']===undefined){var _0x5ca1f8=function(_0x879448){const _0x2dee06='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46f30f='',_0x5bdf7e='';for(let _0x57a350=0x0,_0x2e50fd,_0x2036ce,_0x34a55e=0x0;_0x2036ce=_0x879448['charAt'](_0x34a55e++);~_0x2036ce&&(_0x2e50fd=_0x57a350%0x4?_0x2e50fd*0x40+_0x2036ce:_0x2036ce,_0x57a350++%0x4)?_0x46f30f+=String['fromCharCode'](0xff&_0x2e50fd>>(-0x2*_0x57a350&0x6)):0x0){_0x2036ce=_0x2dee06['indexOf'](_0x2036ce);}for(let _0xc9de81=0x0,_0x223e97=_0x46f30f['length'];_0xc9de81<_0x223e97;_0xc9de81++){_0x5bdf7e+='%'+('00'+_0x46f30f['charCodeAt'](_0xc9de81)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bdf7e);};a0_0x3a91['Thzmjy']=_0x5ca1f8,a0_0x3a91['TlCzHl']={},a0_0x3a91['YaUiMw']=!![];}const _0x4fbf4a=_0x25a1c5[0x0],_0x1e7e2d=_0x546486+_0x4fbf4a,_0x155130=a0_0x3a91['TlCzHl'][_0x1e7e2d];return!_0x155130?(_0x3a91a9=a0_0x3a91['Thzmjy'](_0x3a91a9),a0_0x3a91['TlCzHl'][_0x1e7e2d]=_0x3a91a9):_0x3a91a9=_0x155130,_0x3a91a9;}class WebSocketBroadcaster{constructor(){const _0x37aac2=a0_0x52b64c;this[_0x37aac2(0x18d)]=null,this[_0x37aac2(0x14c)]=![],this[_0x37aac2(0x19d)]=null,this['_options']={},this[_0x37aac2(0x168)]=console,this['_subscriptions']=new Map(),this[_0x37aac2(0x165)]=null,this[_0x37aac2(0x194)]=null,this['_redisSubscriber']=null,this[_0x37aac2(0x157)]=process['pid'];}['initialize'](_0x462963,_0x110037={}){const _0x2ee10b=a0_0x52b64c,_0x2d85b1={'Iavvf':_0x2ee10b(0x172),'ZFTGD':function(_0x5a7af6,_0xca864f){return _0x5a7af6(_0xca864f);},'RqIsr':function(_0x10c270,_0x1dd012,_0x39a248){return _0x10c270(_0x1dd012,_0x39a248);},'xKBpB':'/ws','ERLAl':_0x2ee10b(0x13b),'gnyhq':'livesync_initialized','XBwBq':_0x2ee10b(0x144)};if(this['_initialized'])return;this['_options']=_0x110037,this[_0x2ee10b(0x19d)]=_0x2ee10b(0x144);try{this[_0x2ee10b(0x168)]=_0x2d85b1['ZFTGD'](require,'../../utils/logger')[_0x2ee10b(0x1a1)]||console;}catch(_0x53bba2){this['_logger']=console;}const _0x20d7f5=_0x2d85b1['RqIsr'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this[_0x2ee10b(0x18d)]=new WebSocketServer({'server':_0x462963,'path':_0x2d85b1['xKBpB']}),this[_0x2ee10b(0x12b)](_0x462963),this[_0x2ee10b(0x18d)]['on'](_0x2d85b1['ERLAl'],(_0x280485,_0xe02acc)=>this[_0x2ee10b(0x141)](_0x280485,_0xe02acc)),this[_0x2ee10b(0x18d)]['on']('error',_0x2d76f3=>{const _0x5c6375=_0x2ee10b;this[_0x5c6375(0x168)][_0x5c6375(0x1b0)]({'event':_0x2d85b1[_0x5c6375(0x19f)],'error':_0x2d76f3['message']},'WebSocket\x20server\x20error:\x20'+_0x2d76f3['message']);}),this[_0x2ee10b(0x16b)](_0x20d7f5),this['_setupRedis'](),this['_initialized']=!![],this['_logger']['info']({'event':_0x2d85b1['gnyhq'],'mode':_0x2d85b1[_0x2ee10b(0x169)],'path':_0x2d85b1[_0x2ee10b(0x1a3)],'heartbeat':_0x20d7f5+'s'},_0x2ee10b(0x137)+_0x20d7f5+'s)');}[a0_0x52b64c(0x13e)](_0xb1f404={}){const _0x43111f=a0_0x52b64c,_0x4e85cb={'gbTgA':_0x43111f(0x19b),'YZjjz':'publisher','SaYnM':_0x43111f(0x185)},_0x11ef2c=_0x4e85cb[_0x43111f(0x17d)]['split']('|');let _0x9a9c75=0x0;while(!![]){switch(_0x11ef2c[_0x9a9c75++]){case'0':this['_mode']=_0x4e85cb['YZjjz'];continue;case'1':if(this[_0x43111f(0x14c)])return;continue;case'2':this['_setupRedisPublisher']();continue;case'3':this['_logger']['info']({'event':'livesync_publisher_initialized','mode':_0x43111f(0x1ad)},_0x43111f(0x19e));continue;case'4':this['_options']=_0xb1f404;continue;case'5':try{this['_logger']=require(_0x4e85cb['SaYnM'])[_0x43111f(0x1a1)]||console;}catch(_0x4e5552){this['_logger']=console;}continue;case'6':this[_0x43111f(0x14c)]=!![];continue;}break;}}['isInitialized'](){return this['_initialized'];}['broadcast'](_0xa9de0a,_0x249cfb){const _0x54607c=a0_0x52b64c,_0x40b2b8={'cVzVs':'publisher','TPaKg':function(_0x208f5d,_0x29a2c9){return _0x208f5d===_0x29a2c9;},'NDfZc':function(_0x134f3a,_0xf21ee){return _0x134f3a||_0xf21ee;}};if(!this[_0x54607c(0x14c)])return;if(this['_mode']===_0x40b2b8[_0x54607c(0x193)]){this['_publishToRedis'](_0xa9de0a,_0x249cfb);return;}const _0x1dcd97=JSON[_0x54607c(0x18a)]({'type':'data_change','channel':_0xa9de0a,'action':_0x249cfb['action'],'data':_0x249cfb[_0x54607c(0x15c)],'requestId':_0x249cfb[_0x54607c(0x1b1)]||null,'timestamp':new Date()[_0x54607c(0x16a)]()}),[_0x2ec684]=_0xa9de0a[_0x54607c(0x15f)](':');let _0x4105fc=0x0;for(const [_0x9e8251,_0x24a97d]of this['_subscriptions']){const _0x4aedee=_0x40b2b8[_0x54607c(0x1a2)](_0x9e8251,_0xa9de0a),_0x2c5e2e=_0x9e8251===_0x2ec684+':*';if(_0x40b2b8['NDfZc'](_0x4aedee,_0x2c5e2e))for(const _0x45571f of _0x24a97d){if(_0x45571f['readyState']===0x1)try{_0x45571f['send'](_0x1dcd97),_0x4105fc++;}catch(_0x1d0ca8){}}}_0x4105fc>0x0&&this['_logger'][_0x54607c(0x186)]({'event':'livesync_broadcast','channel':_0xa9de0a,'action':_0x249cfb[_0x54607c(0x1a9)],'clients':_0x4105fc},'Broadcast\x20'+_0x249cfb[_0x54607c(0x1a9)]+_0x54607c(0x16c)+_0xa9de0a+_0x54607c(0x16d)+_0x4105fc+_0x54607c(0x143));}['_publishToRedis'](_0x483625,_0x3e376f){const _0x5615b1=a0_0x52b64c;if(!this[_0x5615b1(0x194)])return;const _0x4dbabf=JSON['stringify']({'channel':_0x483625,'message':_0x3e376f,'workerId':this['_workerId']});this[_0x5615b1(0x194)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x4dbabf)['catch'](()=>{});}['shutdown'](){const _0x2bdd03=a0_0x52b64c,_0x1350ed={'lAlYT':_0x2bdd03(0x1b2)};if(!this['_initialized'])return;this['_heartbeatTimer']&&(clearInterval(this[_0x2bdd03(0x165)]),this[_0x2bdd03(0x165)]=null);if(this[_0x2bdd03(0x18d)]){for(const _0x156ec0 of this['_wss']['clients']){try{_0x156ec0[_0x2bdd03(0x16e)](0x3e9,_0x1350ed['lAlYT']);}catch(_0x6c25c){}}this[_0x2bdd03(0x18d)][_0x2bdd03(0x16e)]();}if(this['_redisSubscriber'])try{this['_redisSubscriber']['unsubscribe'](),this[_0x2bdd03(0x159)]['quit']();}catch(_0x590ac0){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this[_0x2bdd03(0x194)][_0x2bdd03(0x140)]();}catch(_0x4498cb){}this['_subscriptions'][_0x2bdd03(0x160)](),this['_initialized']=![],this['_logger']['info']({'event':_0x2bdd03(0x176),'mode':this['_mode']},'Live\x20Sync\x20'+this['_mode']+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x14e2a2){const _0x12cb68=a0_0x52b64c,_0x7951f2={'SZMeE':'/ws','JwCAJ':'localhost','gLwlm':'x-api-key','nQPOs':function(_0x2c67db,_0x260e17){return _0x2c67db!==_0x260e17;},'GaIOP':_0x12cb68(0x14a),'NchjK':'upgrade'},_0x3697fe=_0x14e2a2[_0x12cb68(0x138)](_0x7951f2['NchjK'])['slice']();_0x14e2a2['removeAllListeners']('upgrade'),_0x14e2a2['on']('upgrade',(_0x5446b7,_0x3f703d,_0x12832e)=>{const _0x43d25c=_0x12cb68;if(!_0x5446b7[_0x43d25c(0x15d)]||!_0x5446b7['url'][_0x43d25c(0x1b6)](_0x7951f2['SZMeE'])){for(const _0x5b0987 of _0x3697fe){_0x5b0987['call'](_0x14e2a2,_0x5446b7,_0x3f703d,_0x12832e);}return;}if(this[_0x43d25c(0x17c)]['apiKey']){const _0x782548=new URL(_0x5446b7[_0x43d25c(0x15d)],_0x43d25c(0x12e)+(_0x5446b7[_0x43d25c(0x18e)][_0x43d25c(0x170)]||_0x7951f2['JwCAJ'])),_0x2757c8=_0x782548[_0x43d25c(0x192)]['get'](_0x7951f2[_0x43d25c(0x1b5)])||_0x5446b7['headers']['x-api-key'];if(!_0x2757c8||_0x7951f2['nQPOs'](_0x2757c8,this[_0x43d25c(0x17c)][_0x43d25c(0x14d)])){_0x3f703d['write'](_0x7951f2['GaIOP']),_0x3f703d[_0x43d25c(0x149)]();return;}}this['_wss']['handleUpgrade'](_0x5446b7,_0x3f703d,_0x12832e,_0x4f26c4=>{const _0xf87218=_0x43d25c;this[_0xf87218(0x18d)][_0xf87218(0x145)]('connection',_0x4f26c4,_0x5446b7);});});}['_handleConnection'](_0x588d9a,_0x2f4b16){const _0x1bfafd=a0_0x52b64c,_0x48c444={'fBQUx':_0x1bfafd(0x1b0),'LViQV':_0x1bfafd(0x166),'FCenS':'livesync_client_disconnected','ayenn':'livesync_client_error','sMdLc':'message'};_0x588d9a['isAlive']=!![],_0x588d9a['subscribedChannels']=new Set();const _0x93577f=_0x2f4b16[_0x1bfafd(0x18e)][_0x1bfafd(0x12c)]||_0x2f4b16[_0x1bfafd(0x178)]['remoteAddress'];this[_0x1bfafd(0x168)][_0x1bfafd(0x1ab)]({'event':_0x1bfafd(0x12f),'ip':_0x93577f},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x93577f),_0x588d9a['on']('pong',()=>{const _0x516783=_0x1bfafd;_0x588d9a[_0x516783(0x129)]=!![];}),_0x588d9a['on'](_0x48c444[_0x1bfafd(0x151)],_0x2ae0e2=>{const _0x37fba4=_0x1bfafd;try{const _0x53b517=JSON['parse'](_0x2ae0e2[_0x37fba4(0x18b)]());this[_0x37fba4(0x15b)](_0x588d9a,_0x53b517);}catch(_0x557544){this[_0x37fba4(0x130)](_0x588d9a,{'type':_0x48c444['fBQUx'],'message':_0x48c444[_0x37fba4(0x1a6)]});}}),_0x588d9a['on']('close',()=>{const _0x25904d=_0x1bfafd;this[_0x25904d(0x179)](_0x588d9a),this[_0x25904d(0x168)][_0x25904d(0x186)]({'event':_0x48c444['FCenS'],'ip':_0x93577f},_0x25904d(0x181)+_0x93577f);}),_0x588d9a['on'](_0x48c444[_0x1bfafd(0x187)],_0x2d6be5=>{const _0x4ee22d=_0x1bfafd;this[_0x4ee22d(0x168)]['warn']({'event':_0x48c444['ayenn'],'error':_0x2d6be5[_0x4ee22d(0x15a)]},_0x4ee22d(0x177)+_0x2d6be5['message']),this['_removeClientFromAllChannels'](_0x588d9a);});}['_handleClientMessage'](_0x4361eb,_0x42c2b8){const _0x50ff58=a0_0x52b64c,_0xef6614={'dBoxT':'unsubscribe','ivvkv':'pong','CVhJw':'error'};switch(_0x42c2b8[_0x50ff58(0x1a5)]){case _0x50ff58(0x191):this[_0x50ff58(0x13a)](_0x4361eb,_0x42c2b8[_0x50ff58(0x1a8)]);break;case _0xef6614[_0x50ff58(0x156)]:this[_0x50ff58(0x14f)](_0x4361eb,_0x42c2b8[_0x50ff58(0x1a8)]);break;case _0xef6614[_0x50ff58(0x175)]:_0x4361eb['isAlive']=!![];break;default:this['_sendToClient'](_0x4361eb,{'type':_0xef6614['CVhJw'],'message':'Unknown\x20message\x20type:\x20'+_0x42c2b8['type']});}}['_handleSubscribe'](_0x315f23,_0x59d1f5){const _0x338474=a0_0x52b64c,_0x5d26aa={'SOaje':'error','fybOe':'channels\x20must\x20be\x20a\x20non-empty\x20array','ZlgAf':function(_0xf6e4cd,_0x1264a7){return _0xf6e4cd!==_0x1264a7;},'hHnhe':_0x338474(0x132),'JLsKM':function(_0x2f3da6,_0x1b6a00){return _0x2f3da6>_0x1b6a00;},'LdQBm':'subscribed','kiSno':'livesync_subscribe'};if(!Array[_0x338474(0x1b4)](_0x59d1f5)||_0x59d1f5[_0x338474(0x16f)]===0x0){this[_0x338474(0x130)](_0x315f23,{'type':_0x5d26aa[_0x338474(0x163)],'message':_0x5d26aa['fybOe']});return;}const _0x502af5=[];for(const _0x4b64ea of _0x59d1f5){if(_0x5d26aa['ZlgAf'](typeof _0x4b64ea,_0x5d26aa[_0x338474(0x1a0)])||!_0x4b64ea['includes'](':'))continue;!this[_0x338474(0x17a)][_0x338474(0x150)](_0x4b64ea)&&this[_0x338474(0x17a)]['set'](_0x4b64ea,new Set()),this[_0x338474(0x17a)]['get'](_0x4b64ea)['add'](_0x315f23),_0x315f23[_0x338474(0x1ac)][_0x338474(0x196)](_0x4b64ea),_0x502af5['push'](_0x4b64ea);}_0x5d26aa['JLsKM'](_0x502af5[_0x338474(0x16f)],0x0)&&(this[_0x338474(0x130)](_0x315f23,{'type':_0x5d26aa['LdQBm'],'channels':_0x502af5,'timestamp':new Date()[_0x338474(0x16a)]()}),this['_logger'][_0x338474(0x186)]({'event':_0x5d26aa['kiSno'],'channels':_0x502af5},_0x338474(0x131)+_0x502af5['join'](',\x20')));}['_handleUnsubscribe'](_0x338f2c,_0x5976a9){const _0x2a4b06=a0_0x52b64c;if(!Array[_0x2a4b06(0x1b4)](_0x5976a9))return;const _0x155d0b=[];for(const _0x2dbccb of _0x5976a9){this[_0x2a4b06(0x17a)]['has'](_0x2dbccb)&&(this['_subscriptions'][_0x2a4b06(0x167)](_0x2dbccb)[_0x2a4b06(0x189)](_0x338f2c),this[_0x2a4b06(0x17a)]['get'](_0x2dbccb)['size']===0x0&&this[_0x2a4b06(0x17a)][_0x2a4b06(0x189)](_0x2dbccb)),_0x338f2c[_0x2a4b06(0x1ac)][_0x2a4b06(0x189)](_0x2dbccb),_0x155d0b[_0x2a4b06(0x1a7)](_0x2dbccb);}_0x155d0b[_0x2a4b06(0x16f)]>0x0&&this['_sendToClient'](_0x338f2c,{'type':'unsubscribed','channels':_0x155d0b,'timestamp':new Date()[_0x2a4b06(0x16a)]()});}[a0_0x52b64c(0x179)](_0x428cb8){const _0x14612d=a0_0x52b64c,_0x4bd481={'wOVgh':function(_0x4d893e,_0x4027a1){return _0x4d893e===_0x4027a1;}};if(!_0x428cb8['subscribedChannels'])return;for(const _0x5c35a2 of _0x428cb8['subscribedChannels']){this['_subscriptions'][_0x14612d(0x150)](_0x5c35a2)&&(this[_0x14612d(0x17a)]['get'](_0x5c35a2)['delete'](_0x428cb8),_0x4bd481[_0x14612d(0x17e)](this[_0x14612d(0x17a)]['get'](_0x5c35a2)[_0x14612d(0x12d)],0x0)&&this['_subscriptions']['delete'](_0x5c35a2));}_0x428cb8[_0x14612d(0x1ac)]['clear']();}[a0_0x52b64c(0x130)](_0x4d4ecd,_0x1dd5d6){const _0x68e2={'xNmuR':function(_0x156ac9,_0x3421fe){return _0x156ac9===_0x3421fe;}};if(_0x68e2['xNmuR'](_0x4d4ecd['readyState'],0x1))try{_0x4d4ecd['send'](JSON['stringify'](_0x1dd5d6));}catch(_0x5ed2d0){}}['_startHeartbeat'](_0x4fc822){const _0x4ff437=a0_0x52b64c,_0x2c2199={'RbYyi':function(_0x3642f8,_0x7535ed,_0x5e107e){return _0x3642f8(_0x7535ed,_0x5e107e);},'IVbGh':function(_0x510488,_0x5f2438){return _0x510488*_0x5f2438;}};this['_heartbeatTimer']=_0x2c2199[_0x4ff437(0x155)](setInterval,()=>{const _0x1d6791=_0x4ff437;if(!this['_wss'])return;for(const _0x2fdb75 of this[_0x1d6791(0x18d)][_0x1d6791(0x17b)]){if(!_0x2fdb75['isAlive']){this['_removeClientFromAllChannels'](_0x2fdb75),_0x2fdb75[_0x1d6791(0x153)]();continue;}_0x2fdb75['isAlive']=![],this['_sendToClient'](_0x2fdb75,{'type':_0x1d6791(0x182),'timestamp':new Date()[_0x1d6791(0x16a)]()});try{_0x2fdb75['ping']();}catch(_0x52f6f1){}}},_0x2c2199['IVbGh'](_0x4fc822,0x3e8));}[a0_0x52b64c(0x19c)](){const _0x368180=a0_0x52b64c,_0x2e29a2={'wPDkU':function(_0x10f068,_0x8deb16){return _0x10f068(_0x8deb16);},'LSgCr':_0x368180(0x173),'meKdj':function(_0x296273,_0x3dc9d9){return _0x296273(_0x3dc9d9);},'srSXs':_0x368180(0x134),'qYZvc':function(_0x103cba,_0x3121a6,_0xd2de1d){return _0x103cba(_0x3121a6,_0xd2de1d);},'UZTxI':_0x368180(0x154)};this['_ownPublisher']=![];try{try{const _0x83bb04=_0x2e29a2['wPDkU'](require,_0x2e29a2['LSgCr']);this['_redisPublisher']=_0x83bb04[_0x368180(0x14e)]?_0x83bb04['getClient']():null;}catch(_0x3be351){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x290f1b=_0x2e29a2['meKdj'](require,_0x368180(0x1a4)),_0x84eeaf={'host':process['env'][_0x368180(0x136)]||_0x2e29a2['srSXs'],'port':_0x2e29a2['qYZvc'](parseInt,process[_0x368180(0x1b7)]['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x368180(0x1b7)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x368180(0x1b7)][_0x368180(0x135)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x290f1b(_0x84eeaf),this['_ownPublisher']=!![],this[_0x368180(0x194)][_0x368180(0x139)]()[_0x368180(0x147)](()=>{this['_logger']['warn']({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x7fc08e){this['_logger']['warn']({'event':_0x2e29a2[_0x368180(0x19a)],'error':_0x7fc08e[_0x368180(0x15a)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x7fc08e[_0x368180(0x15a)]);}}[a0_0x52b64c(0x15e)](){const _0xd6bb3c=a0_0x52b64c,_0x204069={'bFThs':_0xd6bb3c(0x146),'FEbql':'livesync_redis_subscribe_error','xczHN':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','fwxvz':function(_0x349d29,_0x17767e){return _0x349d29(_0x17767e);},'nTpll':'ioredis'};this['_ownPublisher']=![];try{const _0x4f2793=_0x204069['fwxvz'](require,_0x204069[_0xd6bb3c(0x13c)]),_0x18eba7={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':parseInt(process[_0xd6bb3c(0x1b7)]['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0xd6bb3c(0x188)]||undefined,'db':parseInt(process['env'][_0xd6bb3c(0x135)],0xa)||0x0,'lazyConnect':!![]};try{const _0x3f7329=require(_0xd6bb3c(0x173));this['_redisPublisher']=_0x3f7329[_0xd6bb3c(0x14e)]?_0x3f7329['getClient']():null;}catch(_0x37f3fe){this['_redisPublisher']=null;}!this[_0xd6bb3c(0x194)]&&(this[_0xd6bb3c(0x194)]=new _0x4f2793(_0x18eba7),this['_ownPublisher']=!![],this['_redisPublisher'][_0xd6bb3c(0x139)]()[_0xd6bb3c(0x147)](()=>{const _0x4b0feb=_0xd6bb3c;this[_0x4b0feb(0x168)]['warn']({'event':'livesync_redis_publisher_failed'},_0x204069[_0x4b0feb(0x1b3)]),this['_redisPublisher']=null;})),this[_0xd6bb3c(0x159)]=new _0x4f2793(_0x18eba7),this['_redisSubscriber'][_0xd6bb3c(0x139)]()[_0xd6bb3c(0x164)](()=>{const _0x1b28f0=_0xd6bb3c,_0x26c2a1={'jeAgC':_0x204069['FEbql'],'ALyep':_0x1b28f0(0x190),'gVqyG':function(_0x226a28,_0x43e925){return _0x226a28===_0x43e925;}};this['_redisSubscriber'][_0x1b28f0(0x191)](REDIS_CHANNEL_PREFIX+_0x1b28f0(0x18c),_0x1b2bb1=>{const _0x503ef9=_0x1b28f0;if(_0x1b2bb1){this[_0x503ef9(0x168)][_0x503ef9(0x1b0)]({'event':_0x26c2a1[_0x503ef9(0x1af)],'error':_0x1b2bb1[_0x503ef9(0x15a)]},_0x503ef9(0x133)+_0x1b2bb1[_0x503ef9(0x15a)]);return;}this[_0x503ef9(0x168)][_0x503ef9(0x1ab)]({'event':'livesync_redis_subscribed'},_0x26c2a1[_0x503ef9(0x195)]);}),this[_0x1b28f0(0x159)]['on']('message',(_0x573245,_0x1e1734)=>{const _0x506635=_0x1b28f0;try{const _0x1c1fdd=JSON[_0x506635(0x17f)](_0x1e1734);if(_0x26c2a1[_0x506635(0x174)](_0x1c1fdd['workerId'],this[_0x506635(0x157)]))return;this['_broadcastLocal'](_0x1c1fdd['channel'],_0x1c1fdd['message']);}catch(_0x581de1){}});})['catch'](()=>{const _0x4c7a0=_0xd6bb3c;this['_logger']['warn']({'event':_0x4c7a0(0x142)},_0x204069['xczHN']),this['_redisSubscriber']=null;});}catch(_0xa45fbb){this['_logger']['warn']({'event':_0xd6bb3c(0x154),'error':_0xa45fbb['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0xa45fbb['message']);}}['_broadcastLocal'](_0x5f15fa,_0x200e06){const _0xec47fc=a0_0x52b64c,_0x29d4e5={'ghVLz':function(_0x34c34f,_0x369190){return _0x34c34f===_0x369190;},'KUDRM':function(_0x2e820b,_0x5e6802){return _0x2e820b===_0x5e6802;},'pcvUZ':function(_0x144a5d,_0x1c41ae){return _0x144a5d===_0x1c41ae;}};if(!this['_wss'])return;const _0x423337=JSON['stringify']({'type':_0xec47fc(0x1ae),'channel':_0x5f15fa,'action':_0x200e06[_0xec47fc(0x1a9)],'data':_0x200e06[_0xec47fc(0x15c)],'requestId':_0x200e06[_0xec47fc(0x1b1)]||null,'timestamp':new Date()['toISOString']()}),[_0x5d65d4]=_0x5f15fa['split'](':');for(const [_0x5721bf,_0x24da5e]of this['_subscriptions']){const _0x2ae333=_0x29d4e5[_0xec47fc(0x14b)](_0x5721bf,_0x5f15fa),_0x3d3a1a=_0x29d4e5[_0xec47fc(0x13f)](_0x5721bf,_0x5d65d4+':*');if(_0x2ae333||_0x3d3a1a)for(const _0x211ca6 of _0x24da5e){if(_0x29d4e5[_0xec47fc(0x197)](_0x211ca6[_0xec47fc(0x198)],0x1))try{_0x211ca6['send'](_0x423337);}catch(_0x421a87){}}}}}module[a0_0x52b64c(0x180)]=WebSocketBroadcaster;
@@ -1 +1 @@
1
- const a0_0x3c7914=a0_0x4a9c;function a0_0x3bd8(){const _0x433671=['zxHWB3j0uxvLCNK','A0P3q0e','Aw52ywXPzf9JB25KAxrPB24','rMfPBgvKihrVigzLDgnOigrHDge','AM9PBG','Dw5RBM93BL9VCgvYyxrVCG','ChjVy2vZC0PVyG','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','DxbKyxrLsM9I','zxHWB3j0x2zLDgnOx3n0yxj0','zxHWB3j0x2PVyL9JCMvHDgvK','cLnftevdvcaQiezst00G','zxHWB3j0CW','Dg9vChbLCKnHC2u','qvnd','B3jHy2XL','Cg9ZDgDYzxnXBa','vvbqrviO','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','yNvPBgrxAgvYzunSyxvZzq','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','v0Lusca','zMfPBgvK','ENnJELm','zw52','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','zMLSzv9WyxrO','x2v4Cg9YDerPCG','CMvWBgfJzq','Dw5SAw5R','ywXS','yNrIvhC','zxHWB3j0x2nSzwfUDxbFC3rHCNq','revtqW','Dw1Vwg4','ALzKzeu','mZy2otK0DuzTwfvi','y2f0y2G','ELPxDKK','CwLbA0y','zMLLBgrmywjLBhm','y3jLyxrLsM9I','AM9Ix2LK','Aw52ywXPzf9ZB3j0x2nVBhvTBG','BgvUz3rO','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','zxHPC3rZu3LUyW','qwrTA0K','iefticGkicaGia','zMLSDgvY','zxHWB3j0rgLY','r050A00','y0n6uem','CMfUzg9T','ru5pru5u','vfnZuvq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','z2vUzxjHDgvkB2jjza','rxHWB3j0igzPBguGzgvSzxrLza','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','mtm4mdq4tLDZzhPr','C0zbDKm','lI4VDxrPBhmVBg9Nz2vY','ugn3u0W','z2v0qwXSsM9ICW','ndq5nte5ngL5DNbyqq','svvVq3m','txHMExO','y3jLyxrLzf9HDa','nJa1mJyXnLziDMjQAG','zMXVB3i','AxnbCNjHEq','ie9sia','B0LHy24','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','t3fAEhm','odiZntz2rwvoAgi','lI4VDxrPBhmVzgiTB3jHy2XL','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','qNDitNa','t01tAKS','cIaGicbguK9nia','BernCMu','C3vIC3rYAw5N','s2nAuhC','lNHSC3G','rejFvfLqrq','ChjVy2vZC2LUzW','EgLRq04','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','DxvPza','y29TCgXLDgvKx2f0','nhfKBK1QyG','mJC5r3nYyw1W','Dg9mB3DLCKnHC2u','ue1rB00','BLrcDxe','Cgf0Aa','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','qw1WzK8','BwvZC2fNzq','C2fUAxrPEMvwywX1zq','Agf0BxG','n3PSqK1eAq','t0Xnwvy','vxnPBMCG','zw5KCg9PBNroyw1L','s2vRu08','mtiYnZCWtNH0sLHJ','iefticGkicaGifnftevdvca','ignOyxjZkq','l2fWAs8','BM93','zxHWB3j0x3nLCNzPy2vFAw5PDa','zxHWB3j0x2nVBxbSzxrLza','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','uhLss1i','wxzkwhO','qvrJrMq','zMLSzw5HBwu','ieLoicG','lI4VlI4VzxHWB3j0CY8','Dg9tDhjPBMC','Aw5MBW','DhjPBq','BwTKAxjtEw5J','y29SDw1UCW','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','D2fYBG','ignVBhvTBNm','u05etvC','BwTRqxi','BwnIEMK','y2XLyw51Ca','CgvUzgLUzW','BwfW','y29TCgXLDgvK','CMvZB2X2zuv4Cg9YDff1zxj5','cIaGicaGicaG','y2HHCKf0','vxnPBMCGywXSia','C3rHDhvZ','C3rHCNrZv2L0Aa','svmGtLvmta','CM91BMq','DwPstge','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','z2v0sM9I','y29UzgL0Aw9UCW','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','rxHWB3j0igPVyIbJCMvHDgvK','rxHWB3j0igzPBguGBM90igzVDw5K','qKrIDfq','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','rKzVBuq','mZqWntu5mfPzrwTQDa','zxHLy3v0zvf1zxj5','sKTfBfO','C3rYAw5N','yNvPBgrpCMrLCKj5q2XHDxnL','m2fRyuzSwG'];a0_0x3bd8=function(){return _0x433671;};return a0_0x3bd8();}function a0_0x4a9c(_0x2d2572,_0x5b7fb2){_0x2d2572=_0x2d2572-0x1b4;const _0x3bd8e6=a0_0x3bd8();let _0x4a9cfa=_0x3bd8e6[_0x2d2572];if(a0_0x4a9c['GPdSvO']===undefined){var _0x81856f=function(_0x1bcb1a){const _0x5e81e9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x565ee2='',_0x7d856c='';for(let _0x10af83=0x0,_0x5776b5,_0x1c6ac2,_0x5cd64d=0x0;_0x1c6ac2=_0x1bcb1a['charAt'](_0x5cd64d++);~_0x1c6ac2&&(_0x5776b5=_0x10af83%0x4?_0x5776b5*0x40+_0x1c6ac2:_0x1c6ac2,_0x10af83++%0x4)?_0x565ee2+=String['fromCharCode'](0xff&_0x5776b5>>(-0x2*_0x10af83&0x6)):0x0){_0x1c6ac2=_0x5e81e9['indexOf'](_0x1c6ac2);}for(let _0x281e6c=0x0,_0x843365=_0x565ee2['length'];_0x281e6c<_0x843365;_0x281e6c++){_0x7d856c+='%'+('00'+_0x565ee2['charCodeAt'](_0x281e6c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7d856c);};a0_0x4a9c['MdKwUR']=_0x81856f,a0_0x4a9c['UImFrM']={},a0_0x4a9c['GPdSvO']=!![];}const _0x4780b7=_0x3bd8e6[0x0],_0x1bd1d6=_0x2d2572+_0x4780b7,_0x1ff8e7=a0_0x4a9c['UImFrM'][_0x1bd1d6];return!_0x1ff8e7?(_0x4a9cfa=a0_0x4a9c['MdKwUR'](_0x4a9cfa),a0_0x4a9c['UImFrM'][_0x1bd1d6]=_0x4a9cfa):_0x4a9cfa=_0x1ff8e7,_0x4a9cfa;}(function(_0x363646,_0x5ed662){const _0xcb7190=a0_0x4a9c,_0x288b7f=_0x363646();while(!![]){try{const _0x5e4f24=-parseInt(_0xcb7190(0x1fc))/0x1+parseInt(_0xcb7190(0x1e4))/0x2*(-parseInt(_0xcb7190(0x1be))/0x3)+parseInt(_0xcb7190(0x21d))/0x4*(-parseInt(_0xcb7190(0x1b9))/0x5)+-parseInt(_0xcb7190(0x20c))/0x6*(-parseInt(_0xcb7190(0x228))/0x7)+parseInt(_0xcb7190(0x205))/0x8+-parseInt(_0xcb7190(0x21e))/0x9*(-parseInt(_0xcb7190(0x22d))/0xa)+parseInt(_0xcb7190(0x201))/0xb;if(_0x5e4f24===_0x5ed662)break;else _0x288b7f['push'](_0x288b7f['shift']());}catch(_0x12e034){_0x288b7f['push'](_0x288b7f['shift']());}}}(a0_0x3bd8,0x87f51));const {v7:uuidv7}=require(a0_0x3c7914(0x21b)),path=require(a0_0x3c7914(0x222)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x3c7914(0x1fe)),dbType=(process['env'][a0_0x3c7914(0x217)]||a0_0x3c7914(0x1cf))[a0_0x3c7914(0x21f)]();let executeQuery;if(dbType===a0_0x3c7914(0x1ce)){const oracleDb=require(a0_0x3c7914(0x20d));executeQuery=(_0x1a442b,_0x26d325)=>oracleDb['executeQuery'](_0x1a442b,_0x26d325);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1b2592,_0x1a1a10)=>mysqlDb['executeQuery'](_0x1b2592,_0x1a1a10);}else executeQuery=require('../utils/db')[a0_0x3c7914(0x1ba)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x3c7914(0x1f2)](){const _0x776b65=a0_0x3c7914,_0x267453={'btbTw':'Export\x20service\x20initialized','PcwSL':function(_0x2a2ce9,_0x2e4654,_0x5e8814,_0x9bff4){return _0x2a2ce9(_0x2e4654,_0x5e8814,_0x9bff4);},'uXwrK':_0x776b65(0x256)};if(!this[_0x776b65(0x1db)]){const _0x194839=process['env'][_0x776b65(0x1f8)]||'default';this[_0x776b65(0x1db)]=process[_0x776b65(0x1d8)]['EXPORT_DIR']||path['join'](__dirname,_0x776b65(0x23b)+_0x194839);try{!fsSync[_0x776b65(0x1ee)](this[_0x776b65(0x1db)])&&fsSync[_0x776b65(0x23f)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x776b65(0x232),'dir':this[_0x776b65(0x1db)]},_0x267453[_0x776b65(0x1df)]);}catch(_0x27f0e6){_0x267453[_0x776b65(0x1ff)](logError,_0x27f0e6,{'event':_0x267453['uXwrK']},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}[a0_0x3c7914(0x24c)](_0x2e44cc,_0x2b49cb=null){const _0x2686cd=a0_0x3c7914,_0x1309b1={'umoXn':_0x2686cd(0x1bc),'BwHNp':'file:','CnGWJ':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','Mxfyz':'payload','gCrKI':_0x2686cd(0x223),'oIacn':_0x2686cd(0x1f6)};if(!_0x2e44cc||typeof _0x2e44cc!==_0x1309b1[_0x2686cd(0x1e2)])return _0x2e44cc;const _0x1c1030=_0x2e44cc[_0x2686cd(0x23e)]();if(!_0x1c1030['startsWith'](_0x1309b1[_0x2686cd(0x210)]))return _0x1c1030;const _0xbc2ab3=_0x1c1030['replace'](/^file:/,'')['trim']();if(!_0xbc2ab3)throw new Error(_0x1309b1['CnGWJ']);const _0x151608=_0x2b49cb||path['join'](process['cwd'](),_0x1309b1[_0x2686cd(0x203)]),_0x560c96=path['resolve'](_0x151608,_0xbc2ab3);logger[_0x2686cd(0x23d)]({'event':_0x1309b1['gCrKI'],'relativePath':_0xbc2ab3,'baseDir':_0x151608,'absolutePath':_0x560c96},_0x2686cd(0x255)+_0xbc2ab3);if(!fsSync['existsSync'](_0x560c96))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x560c96);try{const _0x25fa23=fsSync['readFileSync'](_0x560c96,'utf8');if(!_0x25fa23||!_0x25fa23['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x560c96);return logger['info']({'event':'export_query_file_loaded','file':_0x560c96,'queryLength':_0x25fa23[_0x2686cd(0x1ec)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x25fa23['length']+_0x2686cd(0x22f)),_0x25fa23[_0x2686cd(0x23e)]();}catch(_0x4b0161){if(_0x4b0161['code']===_0x1309b1[_0x2686cd(0x209)])throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x560c96);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x4b0161[_0x2686cd(0x225)]);}}[a0_0x3c7914(0x1f9)](){const _0x13101d=a0_0x3c7914,_0x6d58ac={'ATcFd':function(_0x5b81c6){return _0x5b81c6();},'OLMYV':function(_0x33f3a3,_0x42e40e){return _0x33f3a3*_0x42e40e;}},_0x32ea39='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x20779c=Date[_0x13101d(0x231)]()[_0x13101d(0x23c)](0x24),_0x2860b8=_0x6d58ac[_0x13101d(0x238)](uuidv7)[_0x13101d(0x1dc)](/-/g,'')[_0x13101d(0x214)](0x0,0xc-_0x20779c[_0x13101d(0x1ec)]),_0xc8be6d=(_0x20779c+_0x2860b8)[_0x13101d(0x214)](0x0,0xc);let _0x4333d6='';for(let _0x589630=0x0;_0x589630<0xc;_0x589630++){_0xc8be6d[_0x589630]?_0x4333d6+=_0xc8be6d[_0x589630]:_0x4333d6+=_0x32ea39[_0x13101d(0x24e)](Math[_0x13101d(0x206)](_0x6d58ac[_0x13101d(0x229)](Math[_0x13101d(0x1f5)](),_0x32ea39[_0x13101d(0x1ec)])));}return _0x4333d6;}async[a0_0x3c7914(0x1e9)](_0x451aed){const _0x3d16d4=a0_0x3c7914,_0x331473={'AmpfO':function(_0x428788,_0xe7b425,_0x3fe465,_0x5ee2a0){return _0x428788(_0xe7b425,_0x3fe465,_0x5ee2a0);},'xEJBu':'export_process_error','kJwCA':_0x3d16d4(0x249)},_0x4be967=this[_0x3d16d4(0x1f9)](),_0x21cd16={'job_id':_0x4be967,'status':_0x331473[_0x3d16d4(0x1c0)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x451aed,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x4be967,_0x21cd16),logger[_0x3d16d4(0x23d)]({'event':_0x3d16d4(0x1c9),'jobId':_0x4be967,'params':_0x451aed},_0x3d16d4(0x1b4)),this['processJob'](_0x4be967,_0x451aed)[_0x3d16d4(0x1e5)](_0x36fc06=>{const _0x5b1986=_0x3d16d4;_0x331473[_0x5b1986(0x224)](logError,_0x36fc06,{'event':_0x331473['xEJBu'],'jobId':_0x4be967},'Export\x20processing\x20failed');}),{'job_id':_0x4be967,'status':_0x3d16d4(0x249)};}async['getJobStatus'](_0x17ad07){const _0x274bd1=a0_0x3c7914,_0xf35b44=await redisHelper[_0x274bd1(0x257)](_0x17ad07);if(!_0xf35b44)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0xf35b44[_0x274bd1(0x1ea)],'status':_0xf35b44['status'],'progress':_0xf35b44['progress'],'total_rows':_0xf35b44['total_rows'],'processed_rows':_0xf35b44['processed_rows'],'file_url':_0xf35b44['status']===_0x274bd1(0x24b)?_0x274bd1(0x230)+_0xf35b44['params']['moduleName']+'/'+_0xf35b44['params'][_0x274bd1(0x22b)]+'/export-download?job_id='+_0x17ad07:null,'error':_0xf35b44['error']||null,'created_at':_0xf35b44['created_at'],'completed_at':_0xf35b44[_0x274bd1(0x21c)]||null}};}async[a0_0x3c7914(0x1c5)](_0x15f44d,_0x68040d){const _0x2fc985=a0_0x3c7914,_0x3354b7={'bXZPG':'export_processing_start','jRSdK':_0x2fc985(0x259),'TSsQT':_0x2fc985(0x233),'xJHdE':_0x2fc985(0x20a),'PMQoM':function(_0x3c7a6e,_0x4f91b6,_0x3ee13d,_0x4d43a9){return _0x3c7a6e(_0x4f91b6,_0x3ee13d,_0x4d43a9);},'nTBuq':_0x2fc985(0x1d6)};try{await redisHelper['updateJob'](_0x15f44d,{'status':_0x2fc985(0x218),'started_at':new Date()['toISOString']()}),logger[_0x2fc985(0x23d)]({'event':_0x3354b7['bXZPG'],'jobId':_0x15f44d},_0x3354b7['jRSdK']);const _0x10255b=await this['fetchData'](_0x68040d);await redisHelper['updateJob'](_0x15f44d,{'total_rows':_0x10255b['length']});const _0x17d5fa=await this['generateExcel'](_0x15f44d,_0x10255b,_0x68040d);await redisHelper['updateJob'](_0x15f44d,{'status':'completed','progress':0x64,'file_path':_0x17d5fa,'completed_at':new Date()['toISOString']()}),logger[_0x2fc985(0x23d)]({'event':_0x3354b7[_0x2fc985(0x1f7)],'jobId':_0x15f44d,'rows':_0x10255b[_0x2fc985(0x1ec)]},_0x3354b7['xJHdE']);}catch(_0x1b880b){_0x3354b7[_0x2fc985(0x220)](logError,_0x1b880b,{'event':'export_failed','jobId':_0x15f44d},'Export\x20failed'),await redisHelper[_0x2fc985(0x1c7)](_0x15f44d,{'status':_0x3354b7[_0x2fc985(0x221)],'error':_0x1b880b['message'],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0xcdc542){const _0x202989=a0_0x3c7914,_0x4b011e={'JKElZ':function(_0x4eb72f,_0x50f1d5){return _0x4eb72f===_0x50f1d5;},'YvJXz':_0x202989(0x21a),'jVddE':'file:','lDMre':'export_using_custom_query','PyRKR':function(_0x114915,_0x4be7db){return _0x114915>_0x4be7db;},'FFomD':_0x202989(0x1c8),'AlTYL':'Fetching\x20data\x20from\x20database','yxtsN':_0x202989(0x1ce),'xbQGV':'export_fetch_complete','EWBGk':_0x202989(0x1d1),'OrwVM':function(_0x403b5e,_0x3c4e49,_0x18708e,_0x522453){return _0x403b5e(_0x3c4e49,_0x18708e,_0x522453);},'KekSO':'export_fetch_error'};try{const {tableName:_0x14400a,columns:_0x35cb91,exportQuery:_0x27a9ce,where:_0x9dccde,sort_columns:_0x1734f7}=_0xcdc542;if(!_0x14400a||!_0x35cb91||_0x4b011e[_0x202989(0x1bb)](_0x35cb91['length'],0x0))throw new Error(_0x4b011e[_0x202989(0x237)]);const _0x205547=_0x14400a['replace'](/\./g,'_')+'_data';let _0x750948;if(_0x27a9ce&&_0x27a9ce[_0x202989(0x23e)]()){let _0x3d5d55=_0x27a9ce;_0x27a9ce['trim']()[_0x202989(0x251)](_0x4b011e[_0x202989(0x1e3)])&&(_0x3d5d55=this['resolveExportQuery'](_0x27a9ce)),_0x750948='WITH\x20'+_0x205547+_0x202989(0x1f0)+_0x3d5d55+'\x0a)',_0x750948+=_0x202989(0x1ca)+_0x205547,logger['info']({'event':_0x4b011e[_0x202989(0x213)],'query':_0x3d5d55[_0x202989(0x214)](0x0,0x64)},_0x202989(0x242));}else{const _0x3a90f9=_0x35cb91[_0x202989(0x24a)](_0x9e17a6=>_0x202989(0x24d)+_0x9e17a6)[_0x202989(0x1c3)](',');_0x750948=_0x202989(0x1d5)+_0x205547+_0x202989(0x22e)+_0x3a90f9+_0x202989(0x212)+_0x14400a+'\x0a)',_0x750948+='\x0aSELECT\x20*\x20FROM\x20'+_0x205547,logger[_0x202989(0x23d)]({'event':_0x202989(0x1fb),'tableName':_0x14400a,'columnCount':_0x35cb91[_0x202989(0x1ec)]},_0x202989(0x1ed));}if(_0x9dccde){const _0x3f096e=this['buildWhereClause'](_0x9dccde);_0x3f096e&&(_0x750948+='\x0aWHERE\x20'+_0x3f096e);}if(_0x1734f7&&_0x4b011e[_0x202989(0x236)](_0x1734f7['length'],0x0)){const _0x23de7a=this[_0x202989(0x1bd)](_0x1734f7);_0x23de7a&&(_0x750948+='\x0aORDER\x20BY\x20'+_0x23de7a);}logger[_0x202989(0x23d)]({'event':_0x4b011e[_0x202989(0x1b8)],'query':_0x750948[_0x202989(0x214)](0x0,0xc8)},_0x4b011e['AlTYL']);const _0x17038a=await executeQuery(_0x750948);let _0x4242da=_0x17038a;return _0x4b011e[_0x202989(0x1bb)](dbType,_0x4b011e['yxtsN'])&&_0x17038a&&_0x4b011e['PyRKR'](_0x17038a[_0x202989(0x1ec)],0x0)&&(_0x4242da=_0x17038a[_0x202989(0x24a)](_0x5b4368=>{const _0x18662d={};for(const [_0x218a86,_0x70a447]of Object['entries'](_0x5b4368)){_0x18662d[_0x218a86['toLowerCase']()]=_0x70a447;}return _0x18662d;})),logger['info']({'event':_0x4b011e['xbQGV'],'rows':_0x4242da[_0x202989(0x1ec)]},_0x4b011e['EWBGk']),_0x4242da;}catch(_0x3e8aa3){_0x4b011e['OrwVM'](logError,_0x3e8aa3,{'event':_0x4b011e[_0x202989(0x22c)]},_0x202989(0x1c2));throw _0x3e8aa3;}}['sanitizeValue'](_0x3ccd2c){const _0x194971=a0_0x3c7914,_0x1f03dc={'txXsf':'string'};if(typeof _0x3ccd2c===_0x1f03dc['txXsf'])return _0x3ccd2c[_0x194971(0x1dc)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x194971(0x207)](_0x3ccd2c))return _0x3ccd2c['map'](_0x53de4f=>this[_0x194971(0x226)](_0x53de4f));}return _0x3ccd2c;}[a0_0x3c7914(0x1d3)](_0x2445b5){const _0x1b46bd=a0_0x3c7914,_0x4c69b4={'KcZPw':function(_0x4328ae,_0x283d9a){return _0x4328ae===_0x283d9a;},'PQDOc':function(_0x4b7c05,_0x4c64b0){return _0x4b7c05||_0x4c64b0;},'SNDMW':function(_0x888091,_0x33a713){return _0x888091!==_0x33a713;},'GNtkM':_0x1b46bd(0x1bc),'mcbzi':function(_0x283d08,_0x1dd53c){return _0x283d08===_0x1dd53c;},'KYBaA':'LIKE','peNQI':'IS\x20NOT\x20NULL','AdmkI':_0x1b46bd(0x1c4),'xxStk':function(_0x1bd06b,_0x21e56e){return _0x1bd06b===_0x21e56e;},'mzrpc':_0x1b46bd(0x208),'sMUyR':function(_0x201cc2,_0x24eba6){return _0x201cc2===_0x24eba6;}};if(!_0x2445b5||!_0x2445b5[_0x1b46bd(0x258)]||_0x2445b5['conditions'][_0x1b46bd(0x1ec)]===0x0)return'';const {logic:_0x20ab90,conditions:_0x112a5e}=_0x2445b5,_0x5bebc2=_0x20ab90&&_0x4c69b4['xxStk'](_0x20ab90['toUpperCase'](),'OR')?_0x4c69b4['mzrpc']:'\x20AND\x20',_0x84b353=_0x112a5e['map'](_0x3b3185=>{const _0x565c5f=_0x1b46bd,_0x180444={'OqZxs':function(_0xfba27f,_0x1c82c2){return _0xfba27f===_0x1c82c2;},'IUoCs':'string','ujRLa':function(_0x1fdf2d,_0x34aa86){const _0x27eace=a0_0x4a9c;return _0x4c69b4[_0x27eace(0x215)](_0x1fdf2d,_0x34aa86);}},{key:_0x4aa151,operator:_0x137a85,value:_0x41005a,sensitive:_0x523385}=_0x3b3185;if(_0x4c69b4['PQDOc'](!_0x4aa151,!_0x137a85))return logger[_0x565c5f(0x243)]({'event':_0x565c5f(0x1c1),'condition':_0x3b3185},_0x565c5f(0x20e)),null;const _0x518f74=this[_0x565c5f(0x226)](_0x41005a),_0x5a2300=_0x4c69b4[_0x565c5f(0x245)](_0x523385,undefined)?_0x523385:!![];let _0xa7de49=_0x4aa151,_0x24b46d=_0x518f74;!_0x5a2300&&(_0xa7de49=_0x565c5f(0x1d0)+_0x4aa151+')',typeof _0x41005a===_0x565c5f(0x1bc)&&(_0x24b46d=_0x41005a[_0x565c5f(0x1cc)]()));const _0xd066fc=typeof _0x24b46d===_0x4c69b4[_0x565c5f(0x1f3)]?'\x27'+_0x24b46d['replace'](/'/g,'\x27\x27')+'\x27':_0x24b46d;switch(_0x137a85['toUpperCase']()){case'=':case'!=':case'<>':return _0xa7de49+'\x20'+_0x137a85+'\x20'+_0xd066fc;case'>':case'<':case'>=':case'<=':const _0x57b8d8=_0x4c69b4[_0x565c5f(0x247)](typeof _0x518f74,_0x4c69b4['GNtkM'])?'\x27'+_0x518f74[_0x565c5f(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x518f74;return _0x4aa151+'\x20'+_0x137a85+'\x20'+_0x57b8d8;case _0x4c69b4['KYBaA']:case'NOT\x20LIKE':return _0xa7de49+'\x20'+_0x137a85+'\x20'+_0xd066fc;case'IN':if(Array['isArray'](_0x518f74)){let _0x1e7de6;return!_0x5a2300?_0x1e7de6=_0x518f74['map'](_0x5bfd08=>{const _0x3c2ac2=_0x565c5f,_0x19376a=_0x180444[_0x3c2ac2(0x20b)](typeof _0x5bfd08,_0x180444[_0x3c2ac2(0x202)])?_0x5bfd08[_0x3c2ac2(0x1cc)]():_0x5bfd08;return _0x180444[_0x3c2ac2(0x254)](typeof _0x19376a,_0x3c2ac2(0x1bc))?'\x27'+_0x19376a[_0x3c2ac2(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x19376a;})['join'](',\x20'):_0x1e7de6=_0x518f74['map'](_0x5d179d=>typeof _0x5d179d===_0x565c5f(0x1bc)?'\x27'+_0x5d179d[_0x565c5f(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x5d179d)['join'](',\x20'),_0xa7de49+_0x565c5f(0x23a)+_0x1e7de6+')';}return _0xa7de49+'\x20IN\x20('+_0xd066fc+')';case _0x565c5f(0x252):return _0x4aa151+'\x20IS\x20NULL';case _0x4c69b4['peNQI']:return _0x4aa151+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x4c69b4[_0x565c5f(0x1ef)],'operator':_0x137a85},_0x565c5f(0x1d9));return _0xa7de49+'\x20=\x20'+_0xd066fc;}})['filter'](_0x60c324=>_0x60c324!==null);if(_0x4c69b4['sMUyR'](_0x84b353[_0x1b46bd(0x1ec)],0x0))return'';return _0x84b353[_0x1b46bd(0x1c3)](_0x5bebc2);}['buildOrderByClause'](_0x329dbe){const _0x546e68=a0_0x3c7914,_0x20b983={'hatmx':_0x546e68(0x1eb),'mkkAr':_0x546e68(0x1d4),'OMSjK':function(_0x40f9af,_0xcdff83){return _0x40f9af===_0xcdff83;},'xikCN':_0x546e68(0x1e1),'ReknW':function(_0x2aae01,_0x34e3bc){return _0x2aae01===_0x34e3bc;}};if(!_0x329dbe||_0x20b983[_0x546e68(0x211)](_0x329dbe['length'],0x0))return'';const _0x2e6fb9=_0x329dbe['map'](_0x8047b0=>{const _0x4b805f=_0x546e68,{column:_0x30d635,direction:_0x385063}=_0x8047b0;if(!_0x30d635)return logger['warn']({'event':_0x20b983[_0x4b805f(0x227)],'item':_0x8047b0},_0x20b983[_0x4b805f(0x246)]),null;const _0x38665b=_0x385063&&_0x20b983[_0x4b805f(0x211)](_0x385063[_0x4b805f(0x1cc)](),_0x4b805f(0x1e1))?_0x20b983[_0x4b805f(0x219)]:_0x4b805f(0x1cd);return _0x30d635+'\x20'+_0x38665b;})['filter'](_0x360e56=>_0x360e56!==null);if(_0x20b983['ReknW'](_0x2e6fb9['length'],0x0))return'';return _0x2e6fb9[_0x546e68(0x1c3)](',\x20');}async['generateExcel'](_0x380ff2,_0x28904b,_0x2685a9){const _0x1a323a=a0_0x3c7914,_0x461ac0={'qiAkF':function(_0x480f75,_0x3f7eca){return _0x480f75*_0x3f7eca;},'sFAvC':function(_0xb518eb,_0xb27d07){return _0xb518eb/_0xb27d07;},'eUarR':_0x1a323a(0x1de),'kEaeZ':function(_0x543446,_0x205b24){return _0x543446>_0x205b24;},'VhLaP':_0x1a323a(0x241),'USfKq':function(_0x26c106,_0x18933c){return _0x26c106>_0x18933c;},'QYEsu':'excel_columns_from_request','NZEFm':'excel_columns_fallback','BDbtT':'excel_columns_from_query_result','UsZAc':_0x1a323a(0x20f)},_0x27d3ea=require('../utils/excel-generator'),_0x3e787e=new _0x27d3ea(),_0x2f0ed6=_0x2685a9[_0x1a323a(0x239)]?_0x2685a9['filename']+'-'+_0x380ff2:'export-'+_0x380ff2,_0x20f1bf=path['join'](this[_0x1a323a(0x1f2)],_0x2f0ed6+_0x1a323a(0x216));let _0x4b2890=_0x2685a9['columns'];const _0x42cc83=_0x2685a9[_0x1a323a(0x1bf)]&&_0x2685a9['exportQuery'][_0x1a323a(0x23e)](),_0x1666cc=_0x4b2890&&_0x4b2890[_0x1a323a(0x1ec)]===0x1&&(_0x4b2890[0x0]==='*'||_0x4b2890[0x0]['toLowerCase']()===_0x461ac0['eUarR']);if(_0x461ac0['kEaeZ'](_0x28904b[_0x1a323a(0x1ec)],0x0)){const _0xb5d230=Object['keys'](_0x28904b[0x0]);if(_0x42cc83)_0x4b2890=_0xb5d230,logger[_0x1a323a(0x23d)]({'event':_0x461ac0['VhLaP'],'columns':_0x4b2890},_0x1a323a(0x22a)+_0x4b2890[_0x1a323a(0x1ec)]+_0x1a323a(0x1c6));else{if(_0x1666cc)_0x4b2890=_0xb5d230,logger[_0x1a323a(0x23d)]({'event':'excel_columns_select_all','columns':_0x4b2890},_0x1a323a(0x24f)+_0x4b2890['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x4b2890&&_0x461ac0['USfKq'](_0x4b2890['length'],0x0)){const _0x543989=_0x4b2890[_0x1a323a(0x1f1)](_0x1c3031=>_0xb5d230['includes'](_0x1c3031));_0x543989['length']>0x0?(_0x4b2890=_0x543989,logger[_0x1a323a(0x23d)]({'event':_0x461ac0['QYEsu'],'requestedColumns':_0x2685a9[_0x1a323a(0x240)],'validColumns':_0x4b2890},'Using\x20'+_0x4b2890['length']+'\x20columns\x20from\x20request')):(_0x4b2890=_0xb5d230,logger['warn']({'event':_0x461ac0['NZEFm'],'requestedColumns':_0x2685a9[_0x1a323a(0x240)],'availableColumns':_0xb5d230},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0xb5d230[_0x1a323a(0x1ec)]+_0x1a323a(0x244)));}else _0x4b2890=_0xb5d230,logger['info']({'event':_0x461ac0[_0x1a323a(0x1b6)],'columns':_0x4b2890},_0x1a323a(0x22a)+_0x4b2890['length']+_0x1a323a(0x235));}}}else logger[_0x1a323a(0x23d)]({'event':_0x461ac0['UsZAc'],'columns':_0x4b2890},_0x1a323a(0x22a)+(_0x4b2890?.[_0x1a323a(0x1ec)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x3e787e['generate']({'data':_0x28904b,'columns':_0x4b2890,'columnFormats':_0x2685a9['columnFormats']||null,'fieldLabels':_0x2685a9[_0x1a323a(0x1e8)]||null,'filePath':_0x20f1bf,'onProgress':async _0x8960d5=>{const _0x443a11=_0x1a323a;await redisHelper['updateJob'](_0x380ff2,{'progress':Math[_0x443a11(0x253)](_0x8960d5),'processed_rows':Math[_0x443a11(0x253)](_0x461ac0[_0x443a11(0x1e7)](_0x461ac0[_0x443a11(0x1fd)](_0x8960d5,0x64),_0x28904b[_0x443a11(0x1ec)]))});}}),_0x20f1bf;}async['getFilePath'](_0x24fb48){const _0x435f12=a0_0x3c7914,_0x529161={'liOMm':function(_0x4cef0d,_0x4c4846,_0x3f1479,_0x1457d5){return _0x4cef0d(_0x4c4846,_0x3f1479,_0x1457d5);},'zZWvI':'export_file_not_found'},_0x11d8e8=await redisHelper['getJob'](_0x24fb48);if(!_0x11d8e8||_0x11d8e8[_0x435f12(0x250)]!==_0x435f12(0x24b))return null;try{return await fs['access'](_0x11d8e8[_0x435f12(0x1da)]),_0x11d8e8['file_path'];}catch(_0x2ff967){return _0x529161['liOMm'](logError,_0x2ff967,{'event':_0x529161[_0x435f12(0x1e6)],'jobId':_0x24fb48,'path':_0x11d8e8['file_path']},_0x435f12(0x1b5)),null;}}async[a0_0x3c7914(0x248)](){const _0x4ca673=a0_0x3c7914,_0x41d66b={'aThJI':'Starting\x20export\x20cleanup','rMUGl':function(_0x5131ea,_0xaf6b5a){return _0x5131ea/_0xaf6b5a;},'cCzPC':function(_0x4b1edf,_0xcc2870){return _0x4b1edf*_0xcc2870;},'DRWFX':function(_0x2e889c,_0x343517){return _0x2e889c>_0x343517;},'zsczS':_0x4ca673(0x1b7),'VHDtj':_0x4ca673(0x1d2)};logger[_0x4ca673(0x23d)]({'event':_0x4ca673(0x1e0)},_0x41d66b['aThJI']);const _0x2a5062=await redisHelper[_0x4ca673(0x200)]();let _0x1a926e=0x0;for(const _0x576f5d of _0x2a5062){const _0x40a7a5=new Date(_0x576f5d[_0x4ca673(0x204)]),_0x28fe14=new Date(),_0x10c050=_0x41d66b['rMUGl'](_0x28fe14-_0x40a7a5,_0x41d66b[_0x4ca673(0x1f4)](0x3e8,0x3c)*0x3c);if(_0x41d66b['DRWFX'](_0x10c050,0x1)){if(_0x576f5d['file_path'])try{await fs[_0x4ca673(0x1dd)](_0x576f5d[_0x4ca673(0x1da)]),logger['info']({'event':'export_file_deleted','path':_0x576f5d[_0x4ca673(0x1da)]},_0x4ca673(0x1fa));}catch(_0x21c474){logger[_0x4ca673(0x243)]({'event':_0x41d66b[_0x4ca673(0x1d7)],'path':_0x576f5d[_0x4ca673(0x1da)],'error':_0x21c474[_0x4ca673(0x225)]},_0x41d66b['VHDtj']);}await redisHelper['deleteJob'](_0x576f5d[_0x4ca673(0x1ea)]),_0x1a926e++;}}return logger[_0x4ca673(0x23d)]({'event':'export_cleanup_complete','deleted':_0x1a926e},_0x4ca673(0x234)),_0x1a926e;}}module[a0_0x3c7914(0x1cb)]=new ExportService();
1
+ function a0_0x1643(){const _0x3dbce7=['zxHWB3j0x2zPBgvFBM90x2zVDw5K','Aw5JBhvKzxm','rejFvfLqrq','zMLSztO','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','qvnd','C3rHCNrZv2L0Aa','nJC3mJeWvvjIywrO','y29TCgXLDgvK','A2v5CW','Cg9ZDgDYzxnXBa','mteYnev5CuHJvq','tMPzuK4','runKCgO','lNHSC3G','zgvMyxvSDa','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','cK9srevsiejzia','AxnbCNjHEq','tNLHA0S','revtqW','rvHqt1jux0rjuG','y2f0y2G','BgvUz3rO','ieforca','zxHWB3j0x2nVBxbSzxrLza','iefticGkicaGifnftevdvca','yvDABgu','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','BxLZCwW','CMvZB2X2zq','lI4VDxrPBhmVBg9Nz2vY','ywDYq0y','CgryB1u','AM9PBG','Dw5RBM93BL9VCgvYyxrVCG','wuTuBhC','mJiWodGXnLDRBKnZrW','y3bHCvy','ngrMy3j6yq','CMvWBgfJzq','wgP6AeW','n2Tzy3nWrW','B3jHy2XL','C3rYAw5N','tw5jq0q','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','BNHRzei','zxHWB3j0x3bYB2nLC3nFzxjYB3i','l2fWAs8','rxHWB3j0igzPBguGzgvSzxrLza','CgfYyw1Z','y29UzgL0Aw9UCW','z2vUzxjHDgu','C2fUAxrPEMvwywX1zq','BwTKAxjtEw5J','z2vUzxjHDgvfEgnLBa','zxHWB3j0x2nSzwfUDxbFC3rHCNq','ignVBhvTBNmGzNjVBsbYzxf1zxn0','zxHLy3v0zvf1zxj5','zMLSzw5HBwu','uhzSyu4','z2vUzxjHDgvkB2jjza','zw52','ie9sia','wKDVq2W','nZm0yvL5D0Xt','ugHHEwi','svmGtLvmta','EMnIAeG','ueris00','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','AgX1vMq','ven6uem','q1HctKq','svmGtK9uie5vteW','CMvZB2X2zuv4Cg9YDff1zxj5','y3jLyxrLsM9I','y3jLyxrLzf9HDa','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','nZKWmJK5Dxb2rgvx','BwfW','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','Dg9ju09tDhjPBMC','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','ChjVy2vZC2vKx3jVD3m','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','Dw5SAw5R','DxrMoa','uuzbvNe','z2v0rMLSzvbHDgG','zw5KCg9PBNroyw1L','zxjYB3i','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','rxHWB3j0igzHAwXLza','v0Lusca','AuPdt0G','CM91BMq','zg5Pz00','yvzJEuq','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','CMLZv2G','y2zRBeW','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','cIaGicbguK9nia','zxHWB3j0x2zLDgnOx3n0yxj0','mta0nJbAuKLly0K','vxnPBMCG','cLnftevdvcaQiezst00G','DhjPBq','s2XYsxe','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','z2TxtgO','teLlrq','zxHPC3rZu3LUyW','y29TCgXLDgvKx2f0','tK9uieXjs0u','BwvZC2fNzq','lI4VDxrPBhmVzgi','zxHWB3j0lq','zMLSzv9WyxrO','mtq1oti4ngPtEgrRBq','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','mJK3ota5AKf2vKvb','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','Dg9vChbLCKnHC2u','x2v4Cg9YDerPCG','B0D1sNG','Dg90ywXFCM93CW','ndG3m0nktg9hAW','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','z2v0qwXSsM9ICW','yNvPBgrpCMrLCKj5q2XHDxnL','cIaGicaGicaG','zxHWB3j0x2PVyL9JCMvHDgvK','ChjVBwLZzxm','B1jKtum','lI4VlI4VzxHWB3j0CY8','wuLtDgm','zxHWB3j0x2zLDgnOx2vYCM9Y','DxbKyxrLsM9I','sePiBwK','ru5pru5u','zMLSDgvY','D2fYBG','C3rHDhvZ','Aw5MBW'];a0_0x1643=function(){return _0x3dbce7;};return a0_0x1643();}const a0_0x15bd1d=a0_0x47b0;(function(_0xa81207,_0x673842){const _0x659a0b=a0_0x47b0,_0x18d836=_0xa81207();while(!![]){try{const _0x35521f=parseInt(_0x659a0b(0x12f))/0x1*(-parseInt(_0x659a0b(0xf7))/0x2)+parseInt(_0x659a0b(0xa8))/0x3*(parseInt(_0x659a0b(0x114))/0x4)+-parseInt(_0x659a0b(0xf3))/0x5+parseInt(_0x659a0b(0xd2))/0x6*(-parseInt(_0x659a0b(0x117))/0x7)+parseInt(_0x659a0b(0x112))/0x8+parseInt(_0x659a0b(0xd4))/0x9+-parseInt(_0x659a0b(0xc3))/0xa*(-parseInt(_0x659a0b(0xda))/0xb);if(_0x35521f===_0x673842)break;else _0x18d836['push'](_0x18d836['shift']());}catch(_0x44acbe){_0x18d836['push'](_0x18d836['shift']());}}}(a0_0x1643,0x3bc72));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x15bd1d(0xe0)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x15bd1d(0x10c)),dbType=(process[a0_0x15bd1d(0x12c)][a0_0x15bd1d(0xee)]||a0_0x15bd1d(0xf6))['toLowerCase']();let executeQuery;function a0_0x47b0(_0x1817a9,_0x5ccc7f){_0x1817a9=_0x1817a9-0xa6;const _0x164395=a0_0x1643();let _0x47b017=_0x164395[_0x1817a9];if(a0_0x47b0['JoPDdW']===undefined){var _0x40113a=function(_0xdef354){const _0x41f52d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5bb6f0='',_0x374bd7='';for(let _0x2b6ab8=0x0,_0x4a9028,_0x5075fe,_0xe8d42e=0x0;_0x5075fe=_0xdef354['charAt'](_0xe8d42e++);~_0x5075fe&&(_0x4a9028=_0x2b6ab8%0x4?_0x4a9028*0x40+_0x5075fe:_0x5075fe,_0x2b6ab8++%0x4)?_0x5bb6f0+=String['fromCharCode'](0xff&_0x4a9028>>(-0x2*_0x2b6ab8&0x6)):0x0){_0x5075fe=_0x41f52d['indexOf'](_0x5075fe);}for(let _0x24de96=0x0,_0x590620=_0x5bb6f0['length'];_0x24de96<_0x590620;_0x24de96++){_0x374bd7+='%'+('00'+_0x5bb6f0['charCodeAt'](_0x24de96)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x374bd7);};a0_0x47b0['HWWtYO']=_0x40113a,a0_0x47b0['ertAQj']={},a0_0x47b0['JoPDdW']=!![];}const _0x1adfcc=_0x164395[0x0],_0x18cbd9=_0x1817a9+_0x1adfcc,_0x4b5054=a0_0x47b0['ertAQj'][_0x18cbd9];return!_0x4b5054?(_0x47b017=a0_0x47b0['HWWtYO'](_0x47b017),a0_0x47b0['ertAQj'][_0x18cbd9]=_0x47b017):_0x47b017=_0x4b5054,_0x47b017;}if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x2941da,_0x50737c)=>oracleDb['executeQuery'](_0x2941da,_0x50737c);}else{if(dbType===a0_0x15bd1d(0x10a)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x308f2d,_0x16aa82)=>mysqlDb[a0_0x15bd1d(0x128)](_0x308f2d,_0x16aa82);}else executeQuery=require(a0_0x15bd1d(0xcf))[a0_0x15bd1d(0x128)];}class ExportService{constructor(){const _0x5dada8=a0_0x15bd1d;this[_0x5dada8(0xd7)]=null;}get['exportDir'](){const _0x40c99e=a0_0x15bd1d,_0x22199c={'uVWWQ':_0x40c99e(0xfb),'MnICD':function(_0x5891aa,_0x289918,_0xc094ef,_0x378008){return _0x5891aa(_0x289918,_0xc094ef,_0x378008);},'oRdMC':'Failed\x20to\x20initialize\x20export\x20service'};if(!this['_exportDir']){const _0x1dfe9d=process[_0x40c99e(0x12c)]['RESTFORGE_PROJECT_NAME']||_0x22199c['uVWWQ'];this['_exportDir']=process['env'][_0x40c99e(0x102)]||path[_0x40c99e(0x10f)](__dirname,_0x40c99e(0xe2)+_0x1dfe9d);try{!fsSync[_0x40c99e(0xcb)](this[_0x40c99e(0xd7)])&&fsSync[_0x40c99e(0x124)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this[_0x40c99e(0xd7)]},'Export\x20service\x20initialized');}catch(_0x48bbc0){_0x22199c[_0x40c99e(0x11a)](logError,_0x48bbc0,{'event':'export_service_init_error'},_0x22199c[_0x40c99e(0xe1)]);}}return this['_exportDir'];}[a0_0x15bd1d(0x139)](_0x4c6732,_0x1e164a=null){const _0x367d6b=a0_0x15bd1d,_0x20b036={'nxkdB':'string','YdOWL':'payload','EOoSM':_0x367d6b(0xa7),'hluVd':function(_0x15e831,_0x93ef55){return _0x15e831===_0x93ef55;}};if(!_0x4c6732||typeof _0x4c6732!==_0x20b036[_0x367d6b(0x11c)])return _0x4c6732;const _0x2772a0=_0x4c6732['trim']();if(!_0x2772a0['startsWith'](_0x367d6b(0xef)))return _0x2772a0;const _0x291464=_0x2772a0[_0x367d6b(0x115)](/^file:/,'')[_0x367d6b(0xc6)]();if(!_0x291464)throw new Error(_0x367d6b(0xc0));const _0x1d9a72=_0x1e164a||path['join'](process['cwd'](),_0x20b036['YdOWL']),_0x5a4b67=path[_0x367d6b(0x10b)](_0x1d9a72,_0x291464);logger['info']({'event':_0x20b036['EOoSM'],'relativePath':_0x291464,'baseDir':_0x1d9a72,'absolutePath':_0x5a4b67},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x291464);if(!fsSync[_0x367d6b(0xcb)](_0x5a4b67))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x5a4b67);try{const _0x2e4fb0=fsSync['readFileSync'](_0x5a4b67,_0x367d6b(0xb1));if(!_0x2e4fb0||!_0x2e4fb0['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x5a4b67);return logger[_0x367d6b(0xeb)]({'event':'export_query_file_loaded','file':_0x5a4b67,'queryLength':_0x2e4fb0['length']},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x2e4fb0['length']+'\x20chars)'),_0x2e4fb0[_0x367d6b(0xc6)]();}catch(_0x516666){if(_0x20b036[_0x367d6b(0x135)](_0x516666['code'],_0x367d6b(0xe7)))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x5a4b67);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x516666[_0x367d6b(0xce)]);}}[a0_0x15bd1d(0x12b)](){const _0x192c2d=a0_0x15bd1d,_0x2e3fbe={'dnigM':function(_0x2bf8b4,_0x77a9dd){return _0x2bf8b4-_0x77a9dd;},'jlofV':function(_0x4be9c9,_0x3e7d7e){return _0x4be9c9<_0x3e7d7e;}},_0x5ef363='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x1e1a73=Date['now']()['toString'](0x24),_0x6275c5=uuidv7()['replace'](/-/g,'')['substring'](0x0,_0x2e3fbe[_0x192c2d(0xbb)](0xc,_0x1e1a73[_0x192c2d(0x104)])),_0x2e1179=(_0x1e1a73+_0x6275c5)['substring'](0x0,0xc);let _0x27bf99='';for(let _0x3c7b7a=0x0;_0x2e3fbe['jlofV'](_0x3c7b7a,0xc);_0x3c7b7a++){_0x2e1179[_0x3c7b7a]?_0x27bf99+=_0x2e1179[_0x3c7b7a]:_0x27bf99+=_0x5ef363['charAt'](Math['floor'](Math['random']()*_0x5ef363['length']));}return _0x27bf99;}async[a0_0x15bd1d(0x13a)](_0x327231){const _0x2b5639=a0_0x15bd1d,_0xe7bcd8={'ZGoCl':_0x2b5639(0x11d),'ECdpj':'pending'},_0x253b11=this[_0x2b5639(0x12b)](),_0x131544={'job_id':_0x253b11,'status':'pending','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x327231,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x253b11,_0x131544),logger['info']({'event':_0x2b5639(0xdf),'jobId':_0x253b11,'params':_0x327231},'Export\x20job\x20created'),this['processJob'](_0x253b11,_0x327231)[_0x2b5639(0x103)](_0x433936=>{const _0x9d4674=_0x2b5639;logError(_0x433936,{'event':_0xe7bcd8[_0x9d4674(0x12e)],'jobId':_0x253b11},'Export\x20processing\x20failed');}),{'job_id':_0x253b11,'status':_0xe7bcd8[_0x2b5639(0xf9)]};}async['getJobStatus'](_0x2de1cd){const _0x499fc6=a0_0x15bd1d,_0x25d95f={'yNRGf':_0x499fc6(0xf4)},_0x32ccd3=await redisHelper['getJob'](_0x2de1cd);if(!_0x32ccd3)return{'success':![],'error':_0x499fc6(0xac)};return{'success':!![],'data':{'job_id':_0x32ccd3['job_id'],'status':_0x32ccd3[_0x499fc6(0xea)],'progress':_0x32ccd3['progress'],'total_rows':_0x32ccd3[_0x499fc6(0xd9)],'processed_rows':_0x32ccd3[_0x499fc6(0xae)],'file_url':_0x32ccd3['status']===_0x25d95f['yNRGf']?_0x499fc6(0x11e)+_0x32ccd3[_0x499fc6(0x120)]['moduleName']+'/'+_0x32ccd3['params'][_0x499fc6(0xb4)]+'/export-download?job_id='+_0x2de1cd:null,'error':_0x32ccd3[_0x499fc6(0xb5)]||null,'created_at':_0x32ccd3['created_at'],'completed_at':_0x32ccd3[_0x499fc6(0xcc)]||null}};}async['processJob'](_0x142d93,_0x5514f2){const _0x4cf1b7=a0_0x15bd1d,_0x286385={'tGGPW':_0x4cf1b7(0xf4),'NyakK':_0x4cf1b7(0x11b),'zLxaV':function(_0x26fee8,_0x4b4596,_0x20e5e3,_0xdaafca){return _0x26fee8(_0x4b4596,_0x20e5e3,_0xdaafca);},'vepyX':'export_failed','HJHmi':'failed'};try{await redisHelper[_0x4cf1b7(0xe5)](_0x142d93,{'status':'processing','started_at':new Date()['toISOString']()}),logger[_0x4cf1b7(0xeb)]({'event':'export_processing_start','jobId':_0x142d93},'Export\x20processing\x20started');const _0x135538=await this['fetchData'](_0x5514f2);await redisHelper['updateJob'](_0x142d93,{'total_rows':_0x135538[_0x4cf1b7(0x104)]});const _0x176fab=await this[_0x4cf1b7(0x125)](_0x142d93,_0x135538,_0x5514f2);await redisHelper[_0x4cf1b7(0xe5)](_0x142d93,{'status':_0x286385['tGGPW'],'progress':0x64,'file_path':_0x176fab,'completed_at':new Date()[_0x4cf1b7(0xab)]()}),logger[_0x4cf1b7(0xeb)]({'event':_0x4cf1b7(0x106),'jobId':_0x142d93,'rows':_0x135538['length']},_0x286385[_0x4cf1b7(0x100)]);}catch(_0x1d9512){_0x286385['zLxaV'](logError,_0x1d9512,{'event':_0x286385['vepyX'],'jobId':_0x142d93},_0x4cf1b7(0xb7)),await redisHelper[_0x4cf1b7(0xe5)](_0x142d93,{'status':_0x286385[_0x4cf1b7(0xe6)],'error':_0x1d9512[_0x4cf1b7(0xce)],'failed_at':new Date()[_0x4cf1b7(0xab)]()});}}async['fetchData'](_0x578cba){const _0x8253e9=a0_0x15bd1d,_0x534704={'NjYRN':function(_0x37d3fe,_0x4fcec2){return _0x37d3fe||_0x4fcec2;},'aWZle':function(_0x172e1e,_0xf1e592){return _0x172e1e===_0xf1e592;},'pqEOf':_0x8253e9(0xb6),'MpcYL':function(_0x2ef956,_0x21799c){return _0x2ef956+_0x21799c;},'ukkUw':function(_0x59f59d,_0x461a87){return _0x59f59d>_0x461a87;},'FTGLj':_0x8253e9(0xc2),'fHBDF':function(_0x19efff,_0x1ffa70){return _0x19efff(_0x1ffa70);},'ZBYMT':function(_0x5627c3,_0x29b2d4){return _0x5627c3===_0x29b2d4;},'oJngO':function(_0x57a69e,_0x4029ca){return _0x57a69e>_0x4029ca;},'OcLic':_0x8253e9(0xe4),'aVcyD':'Failed\x20to\x20fetch\x20data'};try{const {tableName:_0x47024c,columns:_0x1e2d84,exportQuery:_0x5c19f1,where:_0x1b7608,sort_columns:_0x484c51}=_0x578cba;if(_0x534704[_0x8253e9(0xf8)](!_0x47024c,!_0x1e2d84)||_0x534704[_0x8253e9(0x108)](_0x1e2d84[_0x8253e9(0x104)],0x0))throw new Error(_0x534704['pqEOf']);const _0x2b1fdb=_0x534704['MpcYL'](_0x47024c['replace'](/\./g,'_'),'_data');let _0x2b4ac0;if(_0x5c19f1&&_0x5c19f1['trim']()){let _0x412102=_0x5c19f1;_0x5c19f1[_0x8253e9(0xc6)]()[_0x8253e9(0xf2)]('file:')&&(_0x412102=this['resolveExportQuery'](_0x5c19f1)),_0x2b4ac0=_0x8253e9(0xb8)+_0x2b1fdb+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x412102+'\x0a)',_0x2b4ac0+=_0x8253e9(0xc5)+_0x2b1fdb,logger['info']({'event':_0x8253e9(0xfd),'query':_0x412102['substring'](0x0,0x64)},_0x8253e9(0xc8));}else{const _0x4a38b6=_0x1e2d84[_0x8253e9(0xa9)](_0x443c07=>_0x8253e9(0xde)+_0x443c07)[_0x8253e9(0x10f)](',');_0x2b4ac0='WITH\x20'+_0x2b1fdb+_0x8253e9(0x107)+_0x4a38b6+_0x8253e9(0xc1)+_0x47024c+'\x0a)',_0x2b4ac0+='\x0aSELECT\x20*\x20FROM\x20'+_0x2b1fdb,logger['info']({'event':'export_using_auto_query','tableName':_0x47024c,'columnCount':_0x1e2d84[_0x8253e9(0x104)]},_0x8253e9(0xfc));}if(_0x1b7608){const _0x3940aa=this['buildWhereClause'](_0x1b7608);_0x3940aa&&(_0x2b4ac0+='\x0aWHERE\x20'+_0x3940aa);}if(_0x484c51&&_0x534704['ukkUw'](_0x484c51[_0x8253e9(0x104)],0x0)){const _0x25f350=this[_0x8253e9(0xdd)](_0x484c51);_0x25f350&&(_0x2b4ac0+=_0x8253e9(0xfe)+_0x25f350);}logger['info']({'event':_0x534704['FTGLj'],'query':_0x2b4ac0['substring'](0x0,0xc8)},_0x8253e9(0xaf));const _0x47a970=await _0x534704['fHBDF'](executeQuery,_0x2b4ac0);let _0x394c16=_0x47a970;return _0x534704['ZBYMT'](dbType,_0x8253e9(0x118))&&_0x47a970&&_0x534704['oJngO'](_0x47a970['length'],0x0)&&(_0x394c16=_0x47a970['map'](_0x3383ab=>{const _0x597f3f={};for(const [_0x3b1432,_0x23dbd5]of Object['entries'](_0x3383ab)){_0x597f3f[_0x3b1432['toLowerCase']()]=_0x23dbd5;}return _0x597f3f;})),logger[_0x8253e9(0xeb)]({'event':'export_fetch_complete','rows':_0x394c16[_0x8253e9(0x104)]},'Data\x20fetched\x20successfully'),_0x394c16;}catch(_0xdf6927){logError(_0xdf6927,{'event':_0x534704['OcLic']},_0x534704[_0x8253e9(0xbc)]);throw _0xdf6927;}}[a0_0x15bd1d(0x123)](_0x360da3){const _0x2882be=a0_0x15bd1d,_0x4337f3={'gkWLj':function(_0x5203bd,_0x36a8cc){return _0x5203bd===_0x36a8cc;}};if(_0x4337f3[_0x2882be(0xc9)](typeof _0x360da3,_0x2882be(0x119)))return _0x360da3[_0x2882be(0x115)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x2882be(0xc6)]();else{if(Array[_0x2882be(0xff)](_0x360da3))return _0x360da3[_0x2882be(0xa9)](_0x24bf2d=>this[_0x2882be(0x123)](_0x24bf2d));}return _0x360da3;}['buildWhereClause'](_0x2a9532){const _0x4308d1=a0_0x15bd1d,_0x2bbb45={'cfklL':function(_0x33bfd0,_0x3c2f8e){return _0x33bfd0===_0x3c2f8e;},'pnVlO':'string','MjDxN':function(_0x2a708a,_0x30ad79){return _0x2a708a||_0x30ad79;},'QPqUn':function(_0x3eb774,_0x18059e){return _0x3eb774!==_0x18059e;},'PGxGh':_0x4308d1(0xca),'zcbhH':_0x4308d1(0xcd),'PLNna':_0x4308d1(0x138),'CBtuj':function(_0x3d4706,_0x2b9a78){return _0x3d4706===_0x2b9a78;},'YIStc':_0x4308d1(0x12d),'sjTby':_0x4308d1(0x105)};if(!_0x2a9532||!_0x2a9532[_0x4308d1(0x121)]||_0x2a9532[_0x4308d1(0x121)][_0x4308d1(0x104)]===0x0)return'';const {logic:_0x14f54a,conditions:_0x4a2b3f}=_0x2a9532,_0x2ae891=_0x14f54a&&_0x2bbb45['CBtuj'](_0x14f54a['toUpperCase'](),'OR')?_0x2bbb45[_0x4308d1(0xe3)]:_0x2bbb45['sjTby'],_0x38e314=_0x4a2b3f[_0x4308d1(0xa9)](_0x46a256=>{const _0xbdd997=_0x4308d1,_0x3f5261={'XjzhL':function(_0x3c07c8,_0x49bbf0){const _0x5e8c46=a0_0x47b0;return _0x2bbb45[_0x5e8c46(0xbf)](_0x3c07c8,_0x49bbf0);},'PvlaN':_0x2bbb45['pnVlO']},{key:_0x1b051e,operator:_0x328d50,value:_0x52d5eb,sensitive:_0x70cb8c}=_0x46a256;if(_0x2bbb45['MjDxN'](!_0x1b051e,!_0x328d50))return logger[_0xbdd997(0xe9)]({'event':'invalid_condition','condition':_0x46a256},_0xbdd997(0xbd)),null;const _0xea6c13=this['sanitizeValue'](_0x52d5eb),_0xdd22f=_0x2bbb45['QPqUn'](_0x70cb8c,undefined)?_0x70cb8c:!![];let _0x1a826b=_0x1b051e,_0x269a1e=_0xea6c13;!_0xdd22f&&(_0x1a826b='UPPER('+_0x1b051e+')',typeof _0x52d5eb==='string'&&(_0x269a1e=_0x52d5eb[_0xbdd997(0xd6)]()));const _0x288414=_0x2bbb45['cfklL'](typeof _0x269a1e,_0xbdd997(0x119))?'\x27'+_0x269a1e[_0xbdd997(0x115)](/'/g,'\x27\x27')+'\x27':_0x269a1e;switch(_0x328d50['toUpperCase']()){case'=':case'!=':case'<>':return _0x1a826b+'\x20'+_0x328d50+'\x20'+_0x288414;case'>':case'<':case'>=':case'<=':const _0x2a1384=typeof _0xea6c13==='string'?'\x27'+_0xea6c13['replace'](/'/g,'\x27\x27')+'\x27':_0xea6c13;return _0x1b051e+'\x20'+_0x328d50+'\x20'+_0x2a1384;case _0x2bbb45['PGxGh']:case _0x2bbb45[_0xbdd997(0x132)]:return _0x1a826b+'\x20'+_0x328d50+'\x20'+_0x288414;case'IN':if(Array[_0xbdd997(0xff)](_0xea6c13)){let _0x525262;return!_0xdd22f?_0x525262=_0xea6c13['map'](_0x589f43=>{const _0x567105=_0xbdd997,_0x53bfb8=_0x3f5261[_0x567105(0x116)](typeof _0x589f43,_0x3f5261[_0x567105(0x12a)])?_0x589f43[_0x567105(0xd6)]():_0x589f43;return _0x3f5261[_0x567105(0x116)](typeof _0x53bfb8,_0x3f5261['PvlaN'])?'\x27'+_0x53bfb8['replace'](/'/g,'\x27\x27')+'\x27':_0x53bfb8;})[_0xbdd997(0x10f)](',\x20'):_0x525262=_0xea6c13[_0xbdd997(0xa9)](_0x442772=>typeof _0x442772==='string'?'\x27'+_0x442772[_0xbdd997(0x115)](/'/g,'\x27\x27')+'\x27':_0x442772)[_0xbdd997(0x10f)](',\x20'),_0x1a826b+'\x20IN\x20('+_0x525262+')';}return _0x1a826b+'\x20IN\x20('+_0x288414+')';case _0xbdd997(0x131):return _0x1b051e+'\x20IS\x20NULL';case _0x2bbb45['PLNna']:return _0x1b051e+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0xbdd997(0x110),'operator':_0x328d50},_0xbdd997(0xdb));return _0x1a826b+'\x20=\x20'+_0x288414;}})['filter'](_0x429ff6=>_0x429ff6!==null);if(_0x38e314['length']===0x0)return'';return _0x38e314[_0x4308d1(0x10f)](_0x2ae891);}['buildOrderByClause'](_0x3b8af0){const _0x1dd3d6=a0_0x15bd1d,_0x1ab25a={'Ueucc':'invalid_sort_column','cpaqV':function(_0x2ffdd7,_0x44205f){return _0x2ffdd7===_0x44205f;},'QFAVq':'DESC'};if(!_0x3b8af0||_0x3b8af0['length']===0x0)return'';const _0x843ed0=_0x3b8af0['map'](_0x42c671=>{const _0x572ab8=a0_0x47b0,{column:_0x46afe5,direction:_0x3b8a02}=_0x42c671;if(!_0x46afe5)return logger[_0x572ab8(0xe9)]({'event':_0x1ab25a['Ueucc'],'item':_0x42c671},'Skipping\x20invalid\x20sort\x20column'),null;const _0x4ea85a=_0x3b8a02&&_0x1ab25a[_0x572ab8(0x113)](_0x3b8a02['toUpperCase'](),_0x1ab25a[_0x572ab8(0xb2)])?_0x572ab8(0x101):_0x572ab8(0xf1);return _0x46afe5+'\x20'+_0x4ea85a;})['filter'](_0x183252=>_0x183252!==null);if(_0x1ab25a['cpaqV'](_0x843ed0[_0x1dd3d6(0x104)],0x0))return'';return _0x843ed0['join'](',\x20');}async[a0_0x15bd1d(0x125)](_0x30a7ac,_0x31232a,_0x5c5df0){const _0x1a1538=a0_0x15bd1d,_0x134ae8={'YKTlw':function(_0x4bb12f,_0x20f60d){return _0x4bb12f/_0x20f60d;},'SzdQA':function(_0x42c150,_0x6defc9){return _0x42c150(_0x6defc9);},'TIewK':function(_0x26ec0a,_0x39f228){return _0x26ec0a===_0x39f228;},'CXBND':'all','oGuJx':function(_0x4d5a72,_0x39d76f){return _0x4d5a72>_0x39d76f;},'KlrIq':'excel_columns_select_all','Phayb':function(_0x5ba426,_0xf609e2){return _0x5ba426>_0xf609e2;},'risWh':'excel_columns_from_request','evCLT':'excel_columns_from_config'},_0x44a5ce=_0x134ae8['SzdQA'](require,'../utils/excel-generator'),_0x463e2a=new _0x44a5ce(),_0x1d5c26=_0x5c5df0[_0x1a1538(0x129)]?_0x5c5df0[_0x1a1538(0x129)]+'-'+_0x30a7ac:_0x1a1538(0xd0)+_0x30a7ac,_0xce1ea5=path['join'](this['exportDir'],_0x1d5c26+_0x1a1538(0xfa));let _0x45758d=_0x5c5df0['columns'];const _0x42a511=_0x5c5df0['exportQuery']&&_0x5c5df0['exportQuery'][_0x1a1538(0xc6)](),_0x3a0614=_0x45758d&&_0x134ae8['TIewK'](_0x45758d['length'],0x1)&&(_0x45758d[0x0]==='*'||_0x45758d[0x0]['toLowerCase']()===_0x134ae8[_0x1a1538(0x137)]);if(_0x134ae8[_0x1a1538(0xd8)](_0x31232a[_0x1a1538(0x104)],0x0)){const _0x4faeef=Object[_0x1a1538(0xf5)](_0x31232a[0x0]);if(_0x42a511)_0x45758d=_0x4faeef,logger['info']({'event':'excel_columns_from_custom_query','columns':_0x45758d},'Using\x20'+_0x45758d['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x3a0614)_0x45758d=_0x4faeef,logger[_0x1a1538(0xeb)]({'event':_0x134ae8[_0x1a1538(0xc7)],'columns':_0x45758d},'Using\x20all\x20'+_0x45758d['length']+_0x1a1538(0xd3));else{if(_0x45758d&&_0x134ae8[_0x1a1538(0x130)](_0x45758d[_0x1a1538(0x104)],0x0)){const _0x43fb8a=_0x45758d[_0x1a1538(0xe8)](_0x35dfcb=>_0x4faeef[_0x1a1538(0xed)](_0x35dfcb));_0x134ae8[_0x1a1538(0xd8)](_0x43fb8a['length'],0x0)?(_0x45758d=_0x43fb8a,logger['info']({'event':_0x134ae8[_0x1a1538(0xbe)],'requestedColumns':_0x5c5df0['columns'],'validColumns':_0x45758d},'Using\x20'+_0x45758d['length']+_0x1a1538(0x127))):(_0x45758d=_0x4faeef,logger[_0x1a1538(0xe9)]({'event':'excel_columns_fallback','requestedColumns':_0x5c5df0['columns'],'availableColumns':_0x4faeef},_0x1a1538(0xaa)+_0x4faeef[_0x1a1538(0x104)]+'\x20columns'));}else _0x45758d=_0x4faeef,logger[_0x1a1538(0xeb)]({'event':_0x1a1538(0xf0),'columns':_0x45758d},_0x1a1538(0xc4)+_0x45758d[_0x1a1538(0x104)]+'\x20columns\x20from\x20query\x20result');}}}else logger[_0x1a1538(0xeb)]({'event':_0x134ae8['evCLT'],'columns':_0x45758d},_0x1a1538(0xc4)+(_0x45758d?.['length']||0x0)+_0x1a1538(0x109));return await _0x463e2a[_0x1a1538(0x122)]({'data':_0x31232a,'columns':_0x45758d,'columnFormats':_0x5c5df0['columnFormats']||null,'fieldLabels':_0x5c5df0['fieldLabels']||null,'filePath':_0xce1ea5,'onProgress':async _0x312f7a=>{const _0x3c2da3=_0x1a1538;await redisHelper['updateJob'](_0x30a7ac,{'progress':Math[_0x3c2da3(0xba)](_0x312f7a),'processed_rows':Math['round'](_0x134ae8[_0x3c2da3(0x111)](_0x312f7a,0x64)*_0x31232a[_0x3c2da3(0x104)])});}}),_0xce1ea5;}async[a0_0x15bd1d(0xb3)](_0x35c2e6){const _0xe6a049=a0_0x15bd1d,_0x4263c4={'PDHKM':function(_0x29bc8a,_0x50b169,_0x536c79,_0xdc0e68){return _0x29bc8a(_0x50b169,_0x536c79,_0xdc0e68);},'pdXoU':_0xe6a049(0xec)},_0x1d4df4=await redisHelper['getJob'](_0x35c2e6);if(!_0x1d4df4||_0x1d4df4[_0xe6a049(0xea)]!=='completed')return null;try{return await fs['access'](_0x1d4df4[_0xe6a049(0xd1)]),_0x1d4df4[_0xe6a049(0xd1)];}catch(_0x3014a0){return _0x4263c4[_0xe6a049(0x133)](logError,_0x3014a0,{'event':_0x4263c4[_0xe6a049(0x10e)],'jobId':_0x35c2e6,'path':_0x1d4df4['file_path']},'Export\x20file\x20not\x20found'),null;}}async['cleanup'](){const _0x213ad3=a0_0x15bd1d,_0x2949bd={'rOtuv':_0x213ad3(0x126),'TCzPC':function(_0x2a9e6a,_0xc8e11f){return _0x2a9e6a-_0xc8e11f;},'FltZT':function(_0x29e4cf,_0x37aa82){return _0x29e4cf*_0x37aa82;},'ENfnq':_0x213ad3(0x11f),'iJCOH':_0x213ad3(0x134),'agrCF':'Failed\x20to\x20delete\x20export\x20file','CKeeg':'Export\x20cleanup\x20completed'};logger[_0x213ad3(0xeb)]({'event':_0x2949bd['rOtuv']},_0x213ad3(0xd5));const _0x10b481=await redisHelper[_0x213ad3(0xdc)]();let _0x380597=0x0;for(const _0x2a2d3d of _0x10b481){const _0x3424ca=new Date(_0x2a2d3d[_0x213ad3(0xa6)]),_0x62c17b=new Date(),_0x2b5e11=_0x2949bd[_0x213ad3(0x136)](_0x62c17b,_0x3424ca)/_0x2949bd['FltZT'](0x3e8*0x3c,0x3c);if(_0x2b5e11>0x1){if(_0x2a2d3d[_0x213ad3(0xd1)])try{await fs[_0x213ad3(0xb0)](_0x2a2d3d[_0x213ad3(0xd1)]),logger[_0x213ad3(0xeb)]({'event':'export_file_deleted','path':_0x2a2d3d['file_path']},_0x2949bd['ENfnq']);}catch(_0x4ead12){logger['warn']({'event':_0x2949bd[_0x213ad3(0xb9)],'path':_0x2a2d3d[_0x213ad3(0xd1)],'error':_0x4ead12['message']},_0x2949bd[_0x213ad3(0x10d)]);}await redisHelper['deleteJob'](_0x2a2d3d['job_id']),_0x380597++;}}return logger['info']({'event':_0x213ad3(0xad),'deleted':_0x380597},_0x2949bd['CKeeg']),_0x380597;}}module['exports']=new ExportService();
@@ -1 +1 @@
1
- const a0_0x4e6a12=a0_0x372d;(function(_0x2d4c76,_0x5768bd){const _0x25b613=a0_0x372d,_0x26864f=_0x2d4c76();while(!![]){try{const _0x1f0db0=parseInt(_0x25b613(0x114))/0x1+parseInt(_0x25b613(0xf3))/0x2*(parseInt(_0x25b613(0x143))/0x3)+-parseInt(_0x25b613(0xf2))/0x4+-parseInt(_0x25b613(0x12e))/0x5*(parseInt(_0x25b613(0x176))/0x6)+parseInt(_0x25b613(0x130))/0x7*(parseInt(_0x25b613(0x15c))/0x8)+parseInt(_0x25b613(0x155))/0x9*(-parseInt(_0x25b613(0x106))/0xa)+-parseInt(_0x25b613(0x13d))/0xb;if(_0x1f0db0===_0x5768bd)break;else _0x26864f['push'](_0x26864f['shift']());}catch(_0x5cf13f){_0x26864f['push'](_0x26864f['shift']());}}}(a0_0x2661,0x44cd4));const {v7:uuidv7}=require(a0_0x4e6a12(0x10c)),path=require(a0_0x4e6a12(0x11a)),fs=require('fs')['promises'],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x4e6a12(0x14a)),dbType=(process[a0_0x4e6a12(0xec)]['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery,executeTransaction,oracleDb;function a0_0x372d(_0x5d1e79,_0x64a0be){_0x5d1e79=_0x5d1e79-0xe2;const _0x266191=a0_0x2661();let _0x372daa=_0x266191[_0x5d1e79];if(a0_0x372d['sgUoef']===undefined){var _0x5de5bc=function(_0x2352ce){const _0x176529='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c76e8='',_0x43c4f8='';for(let _0x5370fe=0x0,_0x4e8c13,_0x182fcc,_0x119e42=0x0;_0x182fcc=_0x2352ce['charAt'](_0x119e42++);~_0x182fcc&&(_0x4e8c13=_0x5370fe%0x4?_0x4e8c13*0x40+_0x182fcc:_0x182fcc,_0x5370fe++%0x4)?_0x5c76e8+=String['fromCharCode'](0xff&_0x4e8c13>>(-0x2*_0x5370fe&0x6)):0x0){_0x182fcc=_0x176529['indexOf'](_0x182fcc);}for(let _0x553aef=0x0,_0x3f0972=_0x5c76e8['length'];_0x553aef<_0x3f0972;_0x553aef++){_0x43c4f8+='%'+('00'+_0x5c76e8['charCodeAt'](_0x553aef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43c4f8);};a0_0x372d['egUTcj']=_0x5de5bc,a0_0x372d['rAMhSo']={},a0_0x372d['sgUoef']=!![];}const _0x14686e=_0x266191[0x0],_0x56d9f4=_0x5d1e79+_0x14686e,_0x3fb7fe=a0_0x372d['rAMhSo'][_0x56d9f4];return!_0x3fb7fe?(_0x372daa=a0_0x372d['egUTcj'](_0x372daa),a0_0x372d['rAMhSo'][_0x56d9f4]=_0x372daa):_0x372daa=_0x3fb7fe,_0x372daa;}if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x1a1db2,_0x47cb7f)=>oracleDb['executeQuery'](_0x1a1db2,_0x47cb7f),executeTransaction=_0xf6f673=>oracleDb[a0_0x4e6a12(0x158)](_0xf6f673);else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0xfd21af,_0x17180f)=>mysqlDb['executeQuery'](_0xfd21af,_0x17180f),executeTransaction=_0x5261b0=>mysqlDb[a0_0x4e6a12(0x158)](_0x5261b0);}else{const db=require('../utils/db');executeQuery=db[a0_0x4e6a12(0x12f)],executeTransaction=db['executeTransaction'];}}const excelParser=require('../utils/excel-parser'),importValidator=require(a0_0x4e6a12(0x14d)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x4e6a12(0x163));class ImportService{constructor(){const _0x866837=a0_0x4e6a12;this[_0x866837(0x124)]=null;}get['uploadDir'](){const _0x229d78=a0_0x4e6a12,_0x92a508={'IrzAp':_0x229d78(0x16c)};if(!this[_0x229d78(0x124)]){const _0x3b2d09=process[_0x229d78(0xec)][_0x229d78(0xfa)]||_0x92a508[_0x229d78(0x15f)];this['_uploadDir']=process['env']['UPLOAD_DIR']||path['join'](__dirname,_0x229d78(0x156)+_0x3b2d09);}return this['_uploadDir'];}['generateId'](){const _0x444f95=a0_0x4e6a12,_0x3239cf={'UMphJ':function(_0xc15d5f){return _0xc15d5f();},'EMiTx':function(_0x2eadc5,_0x3780cb){return _0x2eadc5+_0x3780cb;},'LcwLb':function(_0x3283e9,_0x4bd6ea){return _0x3283e9*_0x4bd6ea;}},_0x394bd9=_0x444f95(0x100),_0x824ad9=Date['now']()[_0x444f95(0x171)](0x24),_0x2390cd=_0x3239cf['UMphJ'](uuidv7)[_0x444f95(0x180)](/-/g,'')['substring'](0x0,0xc-_0x824ad9['length']),_0x11e641=_0x3239cf['EMiTx'](_0x824ad9,_0x2390cd)[_0x444f95(0x150)](0x0,0xc);let _0xbcccca='';for(let _0x59ebb2=0x0;_0x59ebb2<0xc;_0x59ebb2++){_0x11e641[_0x59ebb2]?_0xbcccca+=_0x11e641[_0x59ebb2]:_0xbcccca+=_0x394bd9['charAt'](Math[_0x444f95(0x12d)](_0x3239cf[_0x444f95(0xe2)](Math['random'](),_0x394bd9[_0x444f95(0x174)])));}return _0xbcccca;}['buildLabelToFieldMap'](_0x4a937a){const _0x1f3042=a0_0x4e6a12,_0x2dcfc9=new Map();if(!_0x4a937a)return _0x2dcfc9;return Object['entries'](_0x4a937a)[_0x1f3042(0x118)](([_0x172bb0,_0x713c75])=>{const _0x9c89e9=_0x1f3042,_0x34fa73=String(_0x713c75)['trim']()[_0x9c89e9(0x180)](/\s+/g,'_')[_0x9c89e9(0x180)](/([a-z])([A-Z])/g,'$1_$2')[_0x9c89e9(0x180)](/([A-Z]+)([A-Z][a-z])/g,_0x9c89e9(0x117))[_0x9c89e9(0x173)]();_0x2dcfc9[_0x9c89e9(0x12a)](_0x34fa73,_0x172bb0);}),logger['debug']({'event':'label_to_field_map_built','mappingCount':_0x2dcfc9[_0x1f3042(0x12c)]},_0x1f3042(0xeb)),_0x2dcfc9;}[a0_0x4e6a12(0x15e)](_0x1e4652,_0x2cb6ed){const _0x2cfe85=a0_0x4e6a12,_0xef57d5={'NxSUQ':function(_0x19830e,_0x3183df){return _0x19830e===_0x3183df;},'bwtNG':_0x2cfe85(0xed),'LJKWa':_0x2cfe85(0x17b),'eyZHj':function(_0x7708aa,_0x530329){return _0x7708aa===_0x530329;}};if(!_0x2cb6ed||_0xef57d5['eyZHj'](Object['keys'](_0x2cb6ed)[_0x2cfe85(0x174)],0x0))return _0x1e4652;return _0x1e4652['map'](_0x1c236e=>{const _0xf1d017=_0x2cfe85,_0x4ae30a={..._0x1c236e};for(const [_0x486842,_0x193299]of Object[_0xf1d017(0xfb)](_0x2cb6ed)){const _0x5b627d=_0x4ae30a[_0x486842];if(_0xef57d5[_0xf1d017(0xe6)](_0x5b627d,null)||_0x5b627d===undefined||_0x5b627d===''){_0x4ae30a[_0x486842]=null;continue;}switch(_0x193299[_0xf1d017(0x14b)]){case _0xef57d5['bwtNG']:_0x4ae30a[_0x486842]=this[_0xf1d017(0x16b)](_0x5b627d);break;case'number':_0x4ae30a[_0x486842]=this['formatNumberForDatabase'](_0x5b627d);break;case'boolean':_0x4ae30a[_0x486842]=this['formatBooleanForDatabase'](_0x5b627d);break;case _0xef57d5[_0xf1d017(0x151)]:_0x4ae30a[_0x486842]=String(_0x5b627d);break;default:break;}}return _0x4ae30a;});}['formatDateForDatabase'](_0x1a3434){const _0x4b31d7=a0_0x4e6a12,_0x82550={'PCcGL':function(_0x41bafa,_0x4c74f8){return _0x41bafa===_0x4c74f8;},'gkucY':function(_0x4725b8,_0x17b87a){return _0x4725b8===_0x17b87a;},'ikYft':_0x4b31d7(0x121),'HKVGH':function(_0x289104,_0x42cff5){return _0x289104(_0x42cff5);},'FzqjZ':function(_0x38f3e8,_0x400b4f){return _0x38f3e8+_0x400b4f;},'eIzai':function(_0x66c4d5,_0x36cec6){return _0x66c4d5(_0x36cec6);}};if(_0x82550[_0x4b31d7(0x154)](_0x1a3434,null)||_0x82550['gkucY'](_0x1a3434,undefined)||_0x1a3434==='')return null;if(typeof _0x1a3434===_0x82550['ikYft']&&/^\d{4}-\d{2}-\d{2}$/[_0x4b31d7(0x14e)](_0x1a3434))return _0x1a3434;if(_0x1a3434 instanceof Date){if(_0x82550[_0x4b31d7(0x107)](isNaN,_0x1a3434[_0x4b31d7(0x177)]()))return null;const _0x5be3b5=_0x1a3434[_0x4b31d7(0x11d)](),_0x35ce3c=_0x82550[_0x4b31d7(0x107)](String,_0x82550[_0x4b31d7(0x10d)](_0x1a3434['getMonth'](),0x1))[_0x4b31d7(0x14c)](0x2,'0'),_0x478688=_0x82550[_0x4b31d7(0x153)](String,_0x1a3434['getDate']())['padStart'](0x2,'0');return _0x5be3b5+'-'+_0x35ce3c+'-'+_0x478688;}if(_0x82550[_0x4b31d7(0x170)](typeof _0x1a3434,_0x4b31d7(0x121))){const _0x34b934=_0x1a3434['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x34b934){const _0x39a085=_0x82550['eIzai'](String,_0x34b934[0x1])[_0x4b31d7(0x14c)](0x2,'0'),_0x5141f9=String(_0x34b934[0x2])[_0x4b31d7(0x14c)](0x2,'0'),_0x31bfbe=_0x34b934[0x3];return _0x31bfbe+'-'+_0x5141f9+'-'+_0x39a085;}const _0x222a4e=_0x1a3434['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x222a4e){const _0x5e21fc=_0x222a4e[0x1],_0x4740da=String(_0x222a4e[0x2])[_0x4b31d7(0x14c)](0x2,'0'),_0xe9e703=String(_0x222a4e[0x3])[_0x4b31d7(0x14c)](0x2,'0');return _0x5e21fc+'-'+_0x4740da+'-'+_0xe9e703;}}return _0x1a3434;}['formatNumberForDatabase'](_0x16b347){const _0x511be0=a0_0x4e6a12,_0x4aad9a={'asWKY':'number','aIrSs':function(_0x22fa5a,_0x31f218){return _0x22fa5a(_0x31f218);},'qYzVe':function(_0x4b1d91,_0x36fa1e){return _0x4b1d91===_0x36fa1e;}};if(_0x16b347===null||_0x16b347===undefined||_0x16b347==='')return null;if(typeof _0x16b347===_0x4aad9a[_0x511be0(0x147)])return _0x4aad9a[_0x511be0(0x120)](isNaN,_0x16b347)?null:_0x16b347;if(_0x4aad9a[_0x511be0(0x13c)](typeof _0x16b347,_0x511be0(0x121))){let _0x887444=_0x16b347[_0x511be0(0xe8)]();const _0x4385ff=/,\d{1,2}$/['test'](_0x887444)&&!/,\d{3}/['test'](_0x887444);_0x4385ff?_0x887444=_0x887444[_0x511be0(0x180)](/\./g,'')[_0x511be0(0x180)](',','.'):_0x887444=_0x887444[_0x511be0(0x180)](/,/g,'');const _0x224371=_0x4aad9a[_0x511be0(0x120)](parseFloat,_0x887444);return _0x4aad9a[_0x511be0(0x120)](isNaN,_0x224371)?null:_0x224371;}return null;}['formatBooleanForDatabase'](_0x3335a9){const _0x3d7d22=a0_0x4e6a12,_0xaf5484={'PlKJU':function(_0x587dee,_0x27dda9){return _0x587dee===_0x27dda9;},'wWPor':function(_0x5107f9,_0x4bfef7){return _0x5107f9===_0x4bfef7;},'NzRxa':function(_0x26ee05,_0x297bda){return _0x26ee05===_0x297bda;},'CBKuD':function(_0xb937f2,_0xd7cba6){return _0xb937f2===_0xd7cba6;},'turRK':'true','EKJaT':_0x3d7d22(0x140)};if(_0xaf5484['PlKJU'](_0x3335a9,null)||_0x3335a9===undefined||_0xaf5484[_0x3d7d22(0xff)](_0x3335a9,''))return null;if(_0xaf5484['NzRxa'](typeof _0x3335a9,'boolean'))return _0x3335a9?_0x3d7d22(0x17c):_0x3d7d22(0x17d);if(_0xaf5484[_0x3d7d22(0x109)](typeof _0x3335a9,_0x3d7d22(0x121))){const _0x3ec451=_0x3335a9['trim']()[_0x3d7d22(0x173)]();if([_0xaf5484['turRK'],_0xaf5484['EKJaT'],'y','1']['includes'](_0x3ec451))return _0xaf5484['turRK'];if([_0x3d7d22(0x17d),'no','n','0']['includes'](_0x3ec451))return _0x3d7d22(0x17d);return null;}if(typeof _0x3335a9==='number')return _0x3335a9?_0xaf5484['turRK']:'false';return null;}async['uploadFile'](_0x18dd7a,_0x3ad18a){const _0x2bcbbd=a0_0x4e6a12,_0x31f6db={'bRZsv':function(_0x2b6765,_0x5209d7){return _0x2b6765>_0x5209d7;},'fTHRB':'Column\x20formats\x20applied\x20to\x20rows','jcqaM':function(_0x5bee43,_0x5ba5d8,_0x4307e5,_0x5522a8){return _0x5bee43(_0x5ba5d8,_0x4307e5,_0x5522a8);}},_0x26853c=this[_0x2bcbbd(0x145)]();try{let {headers:_0x556f9a,rows:_0x1d541c,totalRows:_0x3af04c}=await excelParser[_0x2bcbbd(0x105)](_0x18dd7a[_0x2bcbbd(0x11a)]);const _0x4d6061=this['buildLabelToFieldMap'](_0x3ad18a['fieldLabels']),_0x467647=_0x556f9a['map'](_0x53a493=>{const _0x342b65=_0x2bcbbd,_0x3b6beb=_0x4d6061[_0x342b65(0xee)](_0x53a493);return _0x3b6beb||_0x53a493;});_0x1d541c=_0x1d541c['map'](_0x2fd3eb=>{const _0x2b8e4b={};return _0x556f9a['forEach']((_0x48257a,_0x1f7f45)=>{const _0x256617=_0x467647[_0x1f7f45];_0x2b8e4b[_0x256617]=_0x2fd3eb[_0x48257a];}),_0x2b8e4b;}),_0x556f9a=_0x467647,logger['debug']({'event':_0x2bcbbd(0xfe),'original':_0x556f9a['length'],'mapped':_0x467647[_0x2bcbbd(0x102)]((_0x35259f,_0x29f2a1)=>_0x35259f!==_0x556f9a[_0x29f2a1])['length']},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x3ad18a['columnFormats']&&_0x31f6db['bRZsv'](Object['keys'](_0x3ad18a['columnFormats'])[_0x2bcbbd(0x174)],0x0)&&(_0x1d541c=this['applyColumnFormats'](_0x1d541c,_0x3ad18a[_0x2bcbbd(0x166)]),logger['debug']({'event':'column_formats_applied','formatCount':Object['keys'](_0x3ad18a[_0x2bcbbd(0x166)])['length'],'formats':Object['keys'](_0x3ad18a[_0x2bcbbd(0x166)])},_0x31f6db['fTHRB']));if(_0x3ad18a['scopeOverride']&&_0x3ad18a['scopeOverride']['column']){const {column:_0x3cbbc3,value:_0x19d1ba}=_0x3ad18a[_0x2bcbbd(0x16e)];_0x1d541c=_0x1d541c[_0x2bcbbd(0x13a)](_0x27bdf0=>({..._0x27bdf0,[_0x3cbbc3]:_0x19d1ba})),logger[_0x2bcbbd(0x181)]({'event':'request_scope_applied','column':_0x3cbbc3,'rowCount':_0x1d541c['length']},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x5edc20=_0x3ad18a[_0x2bcbbd(0x11f)]?Object[_0x2bcbbd(0x111)](_0x3ad18a['lookupFields'])[_0x2bcbbd(0x13a)](_0x266984=>_0x266984['targetField']):[],_0x14b0ec=_0x3ad18a['fieldName'][_0x2bcbbd(0x102)](_0x13099=>!_0x5edc20['includes'](_0x13099)),_0x32643f=excelParser['validateExcelStructure'](_0x556f9a,_0x14b0ec);if(!_0x32643f['valid']){await fs[_0x2bcbbd(0xea)](_0x18dd7a[_0x2bcbbd(0x11a)]);throw new Error(_0x2bcbbd(0x15d)+_0x32643f[_0x2bcbbd(0x164)][_0x2bcbbd(0xfd)](',\x20'));}const _0xc36f32={'upload_id':_0x26853c,'filename':_0x18dd7a['originalname'],'total_rows':_0x3af04c,'headers':_0x556f9a,'rows':_0x1d541c,'params':_0x3ad18a,'created_at':new Date()[_0x2bcbbd(0x139)]()};return await redisHelper['setJob']('upload:'+_0x26853c,_0xc36f32,0xe10),await fs[_0x2bcbbd(0xea)](_0x18dd7a['path']),logger[_0x2bcbbd(0x148)]({'event':_0x2bcbbd(0x13f),'uploadId':_0x26853c,'filename':_0x18dd7a['originalname'],'totalRows':_0x3af04c},_0x2bcbbd(0x169)),{'upload_id':_0x26853c,'total_rows':_0x3af04c,'preview':_0x1d541c['slice'](0x0,0xa)};}catch(_0x4028d2){try{await fs['unlink'](_0x18dd7a[_0x2bcbbd(0x11a)]);}catch(_0x35435c){_0x31f6db['jcqaM'](logError,_0x35435c,{'event':_0x2bcbbd(0x165)},_0x2bcbbd(0x11e));}throw _0x4028d2;}}async['createPreviewJob'](_0x5ec8f3){const _0x3f2be0=a0_0x4e6a12,_0x20afbb={'sCjka':_0x3f2be0(0x125),'bBgsM':_0x3f2be0(0x11c)},_0x43a9ca=this['generateId'](),_0x435452=await redisHelper[_0x3f2be0(0x149)](_0x3f2be0(0x182)+_0x5ec8f3);if(!_0x435452)throw new Error(_0x3f2be0(0x16a));const _0x2c38f1={'job_id':_0x43a9ca,'upload_id':_0x5ec8f3,'status':_0x3f2be0(0x178),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x435452[_0x3f2be0(0xe4)]};return await redisHelper['setJob'](_0x3f2be0(0x136)+_0x43a9ca,_0x2c38f1,0xe10),logger['info']({'event':_0x3f2be0(0xf9),'jobId':_0x43a9ca,'uploadId':_0x5ec8f3},_0x20afbb[_0x3f2be0(0x144)]),this[_0x3f2be0(0x146)](_0x43a9ca,_0x5ec8f3,_0x435452)[_0x3f2be0(0x113)](_0x53bf56=>{logError(_0x53bf56,{'event':_0x20afbb['sCjka'],'jobId':_0x43a9ca},'Preview\x20processing\x20failed');}),{'job_id':_0x43a9ca,'status':'validating'};}['autoGenerateUpsertKeys'](_0x5bc0cf,_0x552230){const _0x190de5=a0_0x4e6a12,_0x31d023={'hlAZk':function(_0xcda557,_0x558baa){return _0xcda557===_0x558baa;},'EJVca':function(_0x897b1a){return _0x897b1a();},'lYrme':function(_0x5d5ebd,_0x49ef94){return _0x5d5ebd+_0x49ef94;}};_0x5bc0cf[_0x190de5(0x118)]((_0xb5c31f,_0x98eec)=>{const _0x1cebd9=_0x190de5;_0x552230[_0x1cebd9(0x118)](_0x335142=>{const _0x391930=_0x1cebd9,_0x100fd4=_0xb5c31f[_0x335142];if(_0x100fd4===null||_0x100fd4===undefined||_0x31d023[_0x391930(0xf1)](_0x100fd4,'')||String(_0x100fd4)['trim']()==='-'){const _0x140bec=_0x31d023['EJVca'](uuidv7);_0xb5c31f[_0x335142]=_0x140bec,_0xb5c31f['_generated_uuid']=_0xb5c31f['_generated_uuid']||{},_0xb5c31f['_generated_uuid'][_0x335142]=_0x140bec,logger['debug']({'event':'uuid_auto_generated','rowIndex':_0x98eec,'field':_0x335142,'uuid':_0x140bec},'Auto-generated\x20UUID\x20for\x20'+_0x335142+'\x20at\x20row\x20'+_0x31d023[_0x391930(0x16f)](_0x98eec,0x2));}});});}async['processPreviewJob'](_0x377fd8,_0xdb0263,_0x181070){const _0x2e6e7f=a0_0x4e6a12,_0x22088b={'zCzna':function(_0x260ec2,_0x204f5b){return _0x260ec2===_0x204f5b;},'rEHIA':_0x2e6e7f(0x157),'BXihI':_0x2e6e7f(0xef),'MaSuN':function(_0x4f9973,_0x15d2c0,_0x189a36,_0x4c7b75){return _0x4f9973(_0x15d2c0,_0x189a36,_0x4c7b75);},'fToHB':'failed'};try{let {rows:_0x39d946,params:_0x2a6636}=_0x181070;const {requiredFields:_0x45295a,validations:_0x4d360e,upsertKeys:_0x14d3e5,tableName:_0x4762b5,primaryKey:_0x29ffde,fieldName:_0xea4041,upsertStrategy:_0x3cf26f,lookupFields:_0x4f5f77}=_0x2a6636;this['autoGenerateUpsertKeys'](_0x39d946,_0x14d3e5);let _0x3d2b39=[];if(_0x4f5f77&&Object['keys'](_0x4f5f77)['length']>0x0){logger['info']({'event':_0x22088b['BXihI'],'jobId':_0x377fd8,'lookupFieldCount':Object['keys'](_0x4f5f77)['length']},'Processing\x20lookup\x20fields');const _0x5917e0=await lookupResolver[_0x2e6e7f(0x17a)](_0x39d946,_0x4f5f77);_0x39d946=_0x5917e0[_0x2e6e7f(0x12b)],_0x3d2b39=_0x5917e0[_0x2e6e7f(0xf5)],_0x181070['rows']=_0x39d946;}const _0x1fedb4=importValidator['batchValidateRows'](_0x39d946,_0x45295a||[],_0x4d360e||{});_0x3d2b39[_0x2e6e7f(0x118)](_0xe03037=>{const _0x28813f=_0x2e6e7f,_0x24d27c=_0x1fedb4[_0x28813f(0x101)](_0x44dfe2=>_0x44dfe2['rowIndex']===_0xe03037['rowIndex']);_0x24d27c?_0x24d27c['errors'][_0x28813f(0x14f)](_0xe03037['message']):_0x1fedb4[_0x28813f(0x14f)]({'rowIndex':_0xe03037['rowIndex'],'rowData':_0x39d946[_0xe03037['rowIndex']],'errors':[_0xe03037['message']]});});const _0xb9cf2=importValidator['detectDuplicatesInFile'](_0x39d946,_0x14d3e5);_0xb9cf2['forEach'](_0x752cfe=>{const _0xcf3601=_0x2e6e7f,_0x5ecec4=_0x1fedb4['find'](_0x24ca3a=>_0x24ca3a[_0xcf3601(0x15b)]===_0x752cfe[_0xcf3601(0x15b)]),_0x4de885=_0x14d3e5[_0xcf3601(0x13a)](_0x1ce212=>_0x1ce212['toUpperCase']())['join'](',\x20'),_0x5e5c51=_0xcf3601(0xf7)+_0x4de885;_0x5ecec4?_0x5ecec4[_0xcf3601(0xf5)]['push'](_0x5e5c51):_0x1fedb4[_0xcf3601(0x14f)]({'rowIndex':_0x752cfe['rowIndex'],'rowData':_0x39d946[_0x752cfe['rowIndex']],'errors':[_0x5e5c51]});}),await this['detectDatabaseDuplicates'](_0x39d946,_0x14d3e5,_0x4762b5,_0x29ffde,_0x3cf26f,_0x1fedb4),_0x1fedb4['forEach'](_0x1a6254=>{const _0x32ecd0=_0x2e6e7f,_0x4a07be=_0x39d946[_0x1a6254['rowIndex']];_0x4a07be&&(_0x4a07be['_errors']=_0x1a6254[_0x32ecd0(0xf5)]);});let _0x2c8b0c=0x0,_0x454c4b=0x0,_0xe2ee36=0x0;_0x39d946[_0x2e6e7f(0x118)](_0xe60eef=>{const _0x55c3b7=_0x2e6e7f;if(_0x22088b[_0x55c3b7(0x172)](_0xe60eef[_0x55c3b7(0xf8)],'INSERT'))_0x2c8b0c++;else{if(_0x22088b['zCzna'](_0xe60eef['_action'],_0x22088b[_0x55c3b7(0x131)]))_0x454c4b++;else _0x22088b['zCzna'](_0xe60eef[_0x55c3b7(0xf8)],'SKIP')&&_0xe2ee36++;}});const _0x546f25={'job_id':_0x377fd8,'upload_id':_0xdb0263,'status':_0x1fedb4[_0x2e6e7f(0x174)]>0x0?_0x2e6e7f(0x162):'preview_ok','progress':0x64,'created_at':_0x181070['created_at'],'completed_at':new Date()[_0x2e6e7f(0x139)](),'preview':{'total_rows':_0x39d946[_0x2e6e7f(0x174)],'insert_count':_0x2c8b0c,'update_count':_0x454c4b,'skip_count':_0xe2ee36,'error_count':_0x1fedb4[_0x2e6e7f(0x174)],'errors':_0x1fedb4,'data':_0x39d946,'sample_insert':_0x39d946['filter'](_0x5ab3f4=>_0x5ab3f4['_action']===_0x2e6e7f(0xf0))[_0x2e6e7f(0x133)](0x0,0x5),'sample_update':_0x39d946[_0x2e6e7f(0x102)](_0x4afbe3=>_0x4afbe3['_action']===_0x2e6e7f(0x157))['slice'](0x0,0x5),'sample_skip':_0x39d946[_0x2e6e7f(0x102)](_0x37f05f=>_0x37f05f['_action']==='SKIP')[_0x2e6e7f(0x133)](0x0,0x5)},'params':_0x2a6636};await redisHelper['setJob'](_0x2e6e7f(0x136)+_0x377fd8,_0x546f25,0xe10),_0x181070[_0x2e6e7f(0xf4)]=_0x39d946,await redisHelper['setJob']('upload:'+_0xdb0263,_0x181070,0xe10),logger[_0x2e6e7f(0x148)]({'event':_0x2e6e7f(0x15a),'jobId':_0x377fd8,'status':_0x546f25[_0x2e6e7f(0x10b)],'insertCount':_0x2c8b0c,'updateCount':_0x454c4b,'skipCount':_0xe2ee36,'errorCount':_0x1fedb4[_0x2e6e7f(0x174)]},_0x2e6e7f(0x168));}catch(_0x15d791){_0x22088b[_0x2e6e7f(0xe5)](logError,_0x15d791,{'event':_0x2e6e7f(0x17e),'jobId':_0x377fd8},_0x2e6e7f(0x128)),await redisHelper[_0x2e6e7f(0x119)](_0x2e6e7f(0x136)+_0x377fd8,{'job_id':_0x377fd8,'upload_id':_0xdb0263,'status':_0x22088b[_0x2e6e7f(0xfc)],'progress':0x0,'error':_0x15d791['message'],'created_at':new Date()[_0x2e6e7f(0x139)](),'completed_at':new Date()[_0x2e6e7f(0x139)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x1345ad,_0x563138,_0x331f35,_0x5eb4ab,_0x5d6bf9='update_existing',_0x2cee06=[]){const _0x25661f=a0_0x4e6a12,_0x39303f={'DNHdt':function(_0x2903dc,_0x280330){return _0x2903dc===_0x280330;},'hlEhw':_0x25661f(0x175),'TLoQe':function(_0x21902b,_0x5ba107){return _0x21902b===_0x5ba107;},'MResW':'skip_existing','HPzdE':function(_0x49632e,_0x3079b7){return _0x49632e===_0x3079b7;},'StquT':'insert_only','AiyrB':_0x25661f(0xf0),'NmvVt':function(_0x15c363,_0x1dec79){return _0x15c363===_0x1dec79;},'bShjD':_0x25661f(0x112)},_0x1b26b8=upsertBuilder['chunkRows'](_0x1345ad,0x64);for(const _0x4af97b of _0x1b26b8){const _0x1f7122=_0x4af97b[_0x25661f(0x13a)](_0x1a374b=>_0x1a374b[_0x563138[0x0]]),_0x5f2772=_0x1f7122['map'](_0x55bdfe=>{const _0x541edd=_0x25661f;if(_0x39303f['DNHdt'](_0x55bdfe,null)||_0x55bdfe===undefined)return'NULL';return'\x27'+String(_0x55bdfe)[_0x541edd(0x180)](/'/g,'\x27\x27')+'\x27';}),_0x12d21d=_0x25661f(0x159)+_0x5eb4ab+',\x20'+_0x563138[_0x25661f(0xfd)](',\x20')+_0x25661f(0x13e)+_0x331f35+_0x25661f(0xe3)+_0x563138[0x0]+'\x20IN\x20('+_0x5f2772[_0x25661f(0xfd)](',\x20')+_0x25661f(0x179);let _0x1ec39e=await executeQuery(_0x12d21d);_0x39303f[_0x25661f(0x127)](dbType,_0x39303f[_0x25661f(0x17f)])&&_0x1ec39e&&_0x1ec39e[_0x25661f(0x174)]>0x0&&(_0x1ec39e=_0x1ec39e[_0x25661f(0x13a)](_0x2fddb5=>{const _0x2d8140=_0x25661f,_0x5d49c3={};for(const [_0x51267f,_0x4bc9fa]of Object[_0x2d8140(0xfb)](_0x2fddb5)){_0x5d49c3[_0x51267f[_0x2d8140(0x173)]()]=_0x4bc9fa;}return _0x5d49c3;}));const _0x22eb42=new Map();_0x1ec39e['forEach'](_0xa826a0=>{const _0xa23c1d=_0xa826a0[_0x563138[0x0]];_0x22eb42['set'](_0xa23c1d,_0xa826a0);}),_0x4af97b['forEach']((_0x7f75c7,_0x38582f)=>{const _0x32cf82=_0x25661f,_0x4c3858=_0x7f75c7[_0x563138[0x0]],_0x3698de=_0x22eb42['get'](_0x4c3858);if(_0x3698de){if(_0x5d6bf9===_0x39303f['hlEhw'])_0x7f75c7['_action']='UPDATE',_0x7f75c7['_existingId']=_0x3698de[_0x5eb4ab];else{if(_0x39303f[_0x32cf82(0x138)](_0x5d6bf9,'insert_only')){_0x7f75c7[_0x32cf82(0xf8)]='SKIP',_0x7f75c7[_0x32cf82(0x10a)]=_0x7f75c7['_errors']||[],_0x7f75c7['_errors']['push'](_0x32cf82(0x108));const _0x47cbdb=_0x1345ad['indexOf'](_0x7f75c7);_0x47cbdb!==-0x1&&_0x2cee06['push']({'rowIndex':_0x47cbdb,'rowData':_0x7f75c7,'errors':[_0x32cf82(0x108)]});}else _0x5d6bf9===_0x39303f['MResW']&&(_0x7f75c7['_action']='SKIP');}}else{if(_0x5d6bf9==='update_existing')_0x7f75c7[_0x32cf82(0xf8)]='INSERT';else(_0x39303f['HPzdE'](_0x5d6bf9,_0x39303f[_0x32cf82(0x142)])||_0x5d6bf9==='skip_existing')&&(_0x7f75c7['_action']=_0x39303f[_0x32cf82(0xe7)]);}});}}async[a0_0x4e6a12(0x135)](_0x67d2cd){const _0xf9dd0d=a0_0x4e6a12,_0x51e6ec={'kBovu':'commit_process_error','tyfRg':_0xf9dd0d(0x13b),'otOMj':_0xf9dd0d(0x103)},_0x5b3a10=this[_0xf9dd0d(0x145)](),_0xffaa4=await redisHelper['getJob']('job:'+_0x67d2cd);if(!_0xffaa4)throw new Error(_0xf9dd0d(0x104));if(_0xffaa4['status']!=='preview_ok')throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0xffaa4[_0xf9dd0d(0x10b)]);const _0x23f85b={'job_id':_0x5b3a10,'upload_id':_0xffaa4['upload_id'],'preview_job_id':_0x67d2cd,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0xffaa4['params']};return await redisHelper['setJob']('job:'+_0x5b3a10,_0x23f85b,0xe10),logger[_0xf9dd0d(0x148)]({'event':_0x51e6ec[_0xf9dd0d(0x183)],'jobId':_0x5b3a10,'previewJobId':_0x67d2cd},_0x51e6ec[_0xf9dd0d(0x122)]),this[_0xf9dd0d(0x115)](_0x5b3a10,_0xffaa4)['catch'](_0x3eb8ba=>{const _0x4f4781=_0xf9dd0d;logError(_0x3eb8ba,{'event':_0x51e6ec[_0x4f4781(0x160)],'jobId':_0x5b3a10},'Commit\x20processing\x20failed');}),{'job_id':_0x5b3a10,'status':'processing'};}async[a0_0x4e6a12(0x115)](_0x403250,_0x3efd78){const _0x2b6fe6=a0_0x4e6a12,_0x543d1d={'YtRuJ':'Upload\x20data\x20not\x20found\x20or\x20expired','npFzN':_0x2b6fe6(0x141),'aZmyP':_0x2b6fe6(0x10e),'gwTgM':'insert','johdj':'update','JsroS':function(_0x7fa91c,_0x5971a8){return _0x7fa91c>_0x5971a8;},'bAaaE':function(_0x5e4539,_0xce826c){return _0x5e4539(_0xce826c);},'dxydP':_0x2b6fe6(0x126),'LKVkw':_0x2b6fe6(0x110),'cMOHu':_0x2b6fe6(0x116)};try{const _0x1b8d8b=await redisHelper[_0x2b6fe6(0x149)]('upload:'+_0x3efd78[_0x2b6fe6(0x137)]);if(!_0x1b8d8b)throw new Error(_0x543d1d['YtRuJ']);const {rows:_0x3aa088,params:_0x35e7df}=_0x1b8d8b,{tableName:_0x15885e,fieldName:_0x4c643f,primaryKey:_0xd6524,upsertKeys:_0x6ed82f,excludeFromImport:_0x47c65c,lookupFields:_0x495c4f,columnFormats:_0x45c2be}=_0x35e7df,_0x1888bc=_0x495c4f?Object['keys'](_0x495c4f):[],_0x26e6c8=new Set([..._0x47c65c||[],..._0x1888bc]);let _0x2a7a55=_0x4c643f;_0x26e6c8['size']>0x0&&(_0x2a7a55=_0x4c643f['filter'](_0x182e23=>!_0x26e6c8[_0x2b6fe6(0x161)](_0x182e23)),logger['debug']({'event':_0x543d1d[_0x2b6fe6(0xf6)],'originalCount':_0x4c643f[_0x2b6fe6(0x174)],'filteredCount':_0x2a7a55[_0x2b6fe6(0x174)],'excludedFields':Array['from'](_0x26e6c8),'lookupSourceFields':_0x1888bc},_0x543d1d['aZmyP']));const _0x34fbf1=_0x3aa088['filter'](_0x1b4038=>_0x1b4038['_action']==='INSERT'),_0x48e6d0=_0x3aa088['filter'](_0x550603=>_0x550603['_action']===_0x2b6fe6(0x157));let _0x494ef6=0x0,_0xf01caf=0x0;const _0x28a5d9=[];if(_0x34fbf1['length']>0x0){const _0x199981=upsertBuilder['chunkRows'](_0x34fbf1,0x64);for(const _0x35a083 of _0x199981){const {query:_0x48eab0}=upsertBuilder['buildBatchInsert'](_0x35a083,_0x15885e,_0x2a7a55,_0x45c2be||{});_0x48eab0&&_0x28a5d9[_0x2b6fe6(0x14f)]({'sql':_0x48eab0,'count':_0x35a083[_0x2b6fe6(0x174)],'type':_0x543d1d['gwTgM']});}}if(_0x48e6d0[_0x2b6fe6(0x174)]>0x0){const _0x54ae81=upsertBuilder['chunkRows'](_0x48e6d0,0x64);for(const _0x22cdd7 of _0x54ae81){const {query:_0x5c50cd}=upsertBuilder['buildBatchUpdate'](_0x22cdd7,_0x15885e,_0x2a7a55,_0xd6524,_0x6ed82f,_0x45c2be||{});_0x5c50cd&&_0x28a5d9[_0x2b6fe6(0x14f)]({'sql':_0x5c50cd,'count':_0x22cdd7['length'],'type':_0x543d1d['johdj']});}}_0x543d1d[_0x2b6fe6(0x11b)](_0x28a5d9[_0x2b6fe6(0x174)],0x0)&&await _0x543d1d['bAaaE'](executeTransaction,_0x28a5d9[_0x2b6fe6(0x13a)](_0x589b4c=>({'sql':_0x589b4c[_0x2b6fe6(0x123)],'params':[]})));_0x28a5d9[_0x2b6fe6(0x118)](_0x2ea32d=>{const _0x4eac6a=_0x2b6fe6;if(_0x2ea32d['type']==='insert')_0x494ef6+=_0x2ea32d['count'];else _0xf01caf+=_0x2ea32d[_0x4eac6a(0x16d)];});const _0x29f9d4={'job_id':_0x403250,'upload_id':_0x3efd78[_0x2b6fe6(0x137)],'preview_job_id':_0x3efd78[_0x2b6fe6(0x152)],'status':_0x2b6fe6(0x10f),'progress':0x64,'created_at':_0x3efd78['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x3aa088['length'],'inserted_rows':_0x494ef6,'updated_rows':_0xf01caf,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x35e7df};await redisHelper[_0x2b6fe6(0x119)](_0x2b6fe6(0x136)+_0x403250,_0x29f9d4,0xe10),logger['info']({'event':_0x543d1d['dxydP'],'jobId':_0x403250,'insertedCount':_0x494ef6,'updatedCount':_0xf01caf},_0x543d1d[_0x2b6fe6(0x132)]);}catch(_0x5a4222){logError(_0x5a4222,{'event':_0x543d1d['cMOHu'],'jobId':_0x403250},'Commit\x20job\x20failed'),await redisHelper[_0x2b6fe6(0x119)]('job:'+_0x403250,{'job_id':_0x403250,'upload_id':_0x3efd78[_0x2b6fe6(0x137)],'preview_job_id':_0x3efd78[_0x2b6fe6(0x152)],'status':'failed','progress':0x0,'error':_0x5a4222[_0x2b6fe6(0x129)],'created_at':_0x3efd78['created_at'],'started_at':new Date()[_0x2b6fe6(0x139)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x4e6a12(0x167)](_0x3fc60b){const _0x340baf=a0_0x4e6a12,_0x2d7eda={'CvXnt':_0x340baf(0xe9)},_0x46d52a=await redisHelper[_0x340baf(0x149)](_0x340baf(0x136)+_0x3fc60b);if(!_0x46d52a)return{'success':![],'error':_0x2d7eda['CvXnt']};return{'success':!![],'data':_0x46d52a};}}function a0_0x2661(){const _0x21b4e8=['BwvZC2fNzq','C2v0','ChjVy2vZC2vKuM93CW','C2L6zq','zMXVB3i','mta4oduYmezpwKTZrq','zxHLy3v0zvf1zxj5','mtG3ntCXm0XmvxbbtG','CKvisue','teTwA3C','C2XPy2u','zxHWB3j0CW','y3jLyxrLq29TBwL0sM9I','AM9IoG','DxbSB2fKx2LK','veXVuwu','Dg9ju09tDhjPBMC','BwfW','y29TBwL0x2PVyL9JCMvHDgvK','CvL6vMu','otyXmtu4CeLeugHL','cIaGicaGicaGrLjptsa','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','EwvZ','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','u3rXDvq','mZLOEwjhvLa','yKjNC00','z2vUzxjHDgvjza','ChjVy2vZC1bYzxzPzxDkB2i','yxnxs1K','Aw5MBW','z2v0sM9I','lI4VDxrPBhmVBg9Nz2vY','DhLWzq','CgfKu3rHCNq','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','DgvZDa','ChvZAa','C3vIC3rYAw5N','tePlv2e','AM9Ix2LK','zuL6ywK','uenJr0W','owLJqNHAsW','lI4VlI4VDgvTCc91CgXVywrZlW','vvbeqvrf','zxHLy3v0zvrYyw5Zywn0Aw9U','cIaGicaGicaGu0vmrunuia','ChjLDMLLD19QB2jFy29TCgXLDgvK','CM93sw5KzxG','mtzir0PxrLq','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','yxbWBhLdB2X1Bw5gB3jTyxrZ','sxj6qxa','A0jVDNu','AgfZ','ChjLDMLLD19LCNjVCG','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','BwLZC2LUz0zPzwXKCW','zMLSzv9JBgvHBNvWx2vYCM9Y','y29SDw1UrM9YBwf0CW','z2v0sM9Iu3rHDhvZ','uhjLDMLLDYbQB2iGy29TCgXLDgvK','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','zgvMyxvSDa','y291BNq','C2nVCgvpDMvYCMLKzq','BfLYBwu','z2T1y1K','Dg9tDhjPBMC','EKn6BMe','Dg9mB3DLCKnHC2u','BgvUz3rO','DxbKyxrLx2v4Axn0Aw5N','mtjsz0fmCuS','z2v0vgLTzq','DMfSAwrHDgLUzW','kqOGicaGica','ChjVy2vZC0XVB2T1CezPzwXKCW','Dgv4Da','Dhj1zq','zMfSC2u','ChjLDMLLD19QB2jFzMfPBgvK','yLnOAKq','CMvWBgfJzq','zgvIDwC','DxbSB2fKoG','DhLMuMC','tgn3tgi','cIaGicaGicaGv0HfuKuG','CgfYyw1Z','twftDu4','tNHtvve','qwL5CKi','DhjPBq','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','Dw5SAw5R','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','zw52','zgf0zq','z2v0','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','su5trvju','AgXbwMS','nZKZmta0v3nWufzk','nJG3odzPwxbQuxm','CM93CW','zxjYB3jZ','BNbgEK4','rhvWBgLJyxrLihzHBhvLigzVCIa','x2fJDgLVBG','ChjLDMLLD19QB2jFy3jLyxrLza','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zw50CMLLCW','zLrVsei','AM9PBG','AgvHzgvYC19TyxbWzwq','D1DqB3i','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zMLUza','zMLSDgvY','q29TBwL0igPVyIbJCMvHDgvK','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','CgfYC2vfEgnLBezPBgu','ndK3mtmXmePtCeLbvW','seTwr0G','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','q0jlDuq','x2vYCM9YCW','C3rHDhvZ','DxvPza','rNPXALO','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','y29TCgXLDgvK','q29TBwL0igPVyIbJB21WBgv0zwq','DMfSDwvZ','B3jHy2XL','y2f0y2G','nte2otC4tgHKvw9O','ChjVy2vZC0nVBw1PDePVyG','y29TBwL0x2PVyL9MywLSzwq','jdfFjdi','zM9YrwfJAa','C2v0sM9I','Cgf0Aa','sNnYB1m','uhjLDMLLDYbQB2iGy3jLyxrLza','z2v0rNvSBfLLyxi','rMfPBgvKihrVignSzwfUDxaGzMLSzq','Bg9VA3vWrMLLBgrZ','yuLYu3m','C3rYAw5N','B3rptwO','C3fS','x3vWBg9HzerPCG','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','y29TBwL0x2PVyL9JB21WBgv0zwq','tM12vNq','uhjLDMLLDYbQB2iGzMfPBgvK'];a0_0x2661=function(){return _0x21b4e8;};return a0_0x2661();}module[a0_0x4e6a12(0x134)]=new ImportService();
1
+ const a0_0x1de924=a0_0x3baf;(function(_0x3b20e8,_0x2cd5f5){const _0x3e209b=a0_0x3baf,_0x5cbede=_0x3b20e8();while(!![]){try{const _0x12f615=parseInt(_0x3e209b(0x214))/0x1*(parseInt(_0x3e209b(0x1d8))/0x2)+parseInt(_0x3e209b(0x1bb))/0x3+-parseInt(_0x3e209b(0x177))/0x4+parseInt(_0x3e209b(0x1c1))/0x5*(-parseInt(_0x3e209b(0x1b4))/0x6)+parseInt(_0x3e209b(0x183))/0x7+-parseInt(_0x3e209b(0x1b9))/0x8+parseInt(_0x3e209b(0x1f5))/0x9;if(_0x12f615===_0x2cd5f5)break;else _0x5cbede['push'](_0x5cbede['shift']());}catch(_0x1a7b87){_0x5cbede['push'](_0x5cbede['shift']());}}}(a0_0x20c8,0x5c24c));const {v7:uuidv7}=require(a0_0x1de924(0x175)),path=require('path'),fs=require('fs')[a0_0x1de924(0x16b)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x1de924(0x1a7)]['DB_TYPE']||'postgresql')[a0_0x1de924(0x1aa)]();function a0_0x20c8(){const _0x46ada8=['DgvZDa','CgfYC2vfEgnLBezPBgu','zMLUza','z2vUzxjHDgvjza','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','Bwf0y2G','C3rHDhvZ','lI4VDxrPBhmVzgi','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','DhLWzq','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','ieLoicG','zgvIDwC','nZK5mZyYmgfuA3Ptta','uhjLDMLLDYbQB2iGy3jLyxrLza','AM9PBG','cIaGicaGicaGv0HfuKuG','ChjLDMLLD19LCNjVCG','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','t09QzM0','yNvPBgrcyxrJAfvWzgf0zq','uhjLDMLLDYbQB2iGy29TCgXLDgvK','CuLxrK4','B2Hfr1K','vvbeqvrf','ChjVy2vZC2LUzW','AxrJyK4','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','DMfSAwq','txjAEKO','C2v0','Aw5Zzxj0x29UBhK','DMfSAwrHDgLUzW','tKzNAe8','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','zMLLBgrmywjLBhm','lI4VDxrPBhmVzgiTBxLZCwW','Dg9vChbLCKnHC2u','jdfFjdi','Cfjlvhq','CM93sw5KzxG','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','Dhj1zq','zxHLy3v0zvf1zxj5','mZeXndiYAefqzePp','ChjVBwLZzxm','x3vWBg9HzerPCG','q29TBwL0igPVyIbMywLSzwq','vhjPq3a','z2v0tw9UDgG','x2v4Axn0Aw5Nswq','Aw5JBhvKzxm','DhjPBq','sfPRsKS','DxbKyxrLx2v4Axn0Aw5N','DxvPza','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','mJaXnJmYmgzZBMntuG','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','A0XPD1m','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','y29TBwL0x2PVyL9JCMvHDgvK','DxbSB2fKx2LK','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','yNvPBgrmywjLBfrVrMLLBgrnyxa','A01Pt2S','zMLSzv9JBgvHBNvWx2vYCM9Y','B3jPz2LUywXUyw1L','Aw5MBW','nda5mta1mKvXD3b2zG','zMfPBgvK','su5trvju','ChvZAa','C2L6zq','uMnqsu8','CwnUCvq','zxjYB3jZ','x2vYCM9YCW','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','ChjLDMLLD19QB2jFy3jLyxrLza','Dw5SAw5R','y3jLyxrLzf9HDa','r1zrAw8','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','AwjZDfG','ChjLDMLLD19QB2jFy29TCgXLDgvK','vhD3EMS','BwvZC2fNzq','AMnorue','Bg9VA3vWrMLLBgrZ','ChjLDMLLD19VAW','y2H1BMTsB3DZ','zxHLy3v0zvrYyw5Zywn0Aw9U','A2v5CW','C2v0sM9I','zMLSDgvY','EgXcz1i','B3jHy2XL','vKLitNO','BwfW','y3jLyxrLuhjLDMLLD0PVyG','ChjVy2vZC0nVBw1PDePVyG','CMvWBgfJzq','sgLIsgu','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','zw52','zNjVBq','z2v0sM9I','Dg9mB3DLCKnHC2u','r09uzxu','BgvUz3rO','z2v0','DgfYz2v0rMLLBgq','yM9VBgvHBG','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','u0Tjua','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','Cgf0Aa','mti1nJK0uMvvq213','AgfZ','sxrpuK0','CgfYyw1Z','CfvRwgq','ntKYmdq2nfrpyLD3sG','y3jLyxrLq29TBwL0sM9I','mtq2mdGXn0PPALHIAW','C2XPy2u','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','uK92Afq','Aw5Zzxj0','A1LOr3q','mtu1vxb5zgLz','zM9YrwfJAa','CfDyDuC','ChjVy2vZC2vKuM93CW','C3fS','wwjpzNO','wNjIrhK','yK5ZvM0','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','BxLZCwW','z1vZBwi','x2DLBMvYyxrLzf91DwLK','vufyt28','y29SDw1UrM9YBwf0CW','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','DxbSB2fKrMLSzq','y29TBwL0x2PVyL9JB21WBgv0zwq','Dg9ju09tDhjPBMC','swvMwLa','C3vIC3rYAw5N','zMLLBgroyw1L','CgfKu3rHCNq','mKjSvKnsza','rhvWBgLJyxrLihzHBhvLigzVCIa','y291BNq','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','BgzTDwK','C3rYAw5N','x2fJDgLVBG','kqOGicaGica','CMHfzhy','zLrnr3K','sKvVwgC','BfPKteq','EfbtzM8','shfOCNq','DLHAAuG','AM9IoG'];a0_0x20c8=function(){return _0x46ada8;};return a0_0x20c8();}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x1de924(0x19f))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x27fc6a,_0x17a455)=>oracleDb['executeQuery'](_0x27fc6a,_0x17a455),executeTransaction=_0x3c3216=>oracleDb[a0_0x1de924(0x19a)](_0x3c3216);else{if(dbType===a0_0x1de924(0x1cb)){const mysqlDb=require(a0_0x1de924(0x20c));executeQuery=(_0x2f6f0f,_0x36771c)=>mysqlDb[a0_0x1de924(0x213)](_0x2f6f0f,_0x36771c),executeTransaction=_0x11a6c6=>mysqlDb['executeTransaction'](_0x11a6c6);}else{const db=require(a0_0x1de924(0x1ef));executeQuery=db['executeQuery'],executeTransaction=db[a0_0x1de924(0x19a)];}}const excelParser=require(a0_0x1de924(0x191)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x1de924(0x1d0)),lookupResolver=require('../utils/lookup-resolver');function a0_0x3baf(_0x5a122e,_0x3b297d){_0x5a122e=_0x5a122e-0x16b;const _0x20c8b4=a0_0x20c8();let _0x3baf81=_0x20c8b4[_0x5a122e];if(a0_0x3baf['QXExpN']===undefined){var _0x45d333=function(_0x4deb2d){const _0x4f7818='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x594e9e='',_0x1c4bee='';for(let _0x2a10a6=0x0,_0x30bf70,_0x1351f5,_0x2624bb=0x0;_0x1351f5=_0x4deb2d['charAt'](_0x2624bb++);~_0x1351f5&&(_0x30bf70=_0x2a10a6%0x4?_0x30bf70*0x40+_0x1351f5:_0x1351f5,_0x2a10a6++%0x4)?_0x594e9e+=String['fromCharCode'](0xff&_0x30bf70>>(-0x2*_0x2a10a6&0x6)):0x0){_0x1351f5=_0x4f7818['indexOf'](_0x1351f5);}for(let _0x4f16c3=0x0,_0x2c3b85=_0x594e9e['length'];_0x4f16c3<_0x2c3b85;_0x4f16c3++){_0x1c4bee+='%'+('00'+_0x594e9e['charCodeAt'](_0x4f16c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c4bee);};a0_0x3baf['krQlBc']=_0x45d333,a0_0x3baf['uMoZoE']={},a0_0x3baf['QXExpN']=!![];}const _0x1b4d8c=_0x20c8b4[0x0],_0x17f35b=_0x5a122e+_0x1b4d8c,_0x678655=a0_0x3baf['uMoZoE'][_0x17f35b];return!_0x678655?(_0x3baf81=a0_0x3baf['krQlBc'](_0x3baf81),a0_0x3baf['uMoZoE'][_0x17f35b]=_0x3baf81):_0x3baf81=_0x678655,_0x3baf81;}class ImportService{constructor(){const _0x52de56=a0_0x1de924;this[_0x52de56(0x16c)]=null;}get['uploadDir'](){const _0x63d5b7=a0_0x1de924;if(!this['_uploadDir']){const _0x5c83cf=process['env'][_0x63d5b7(0x1bd)]||'default';this[_0x63d5b7(0x16c)]=process['env']['UPLOAD_DIR']||path['join'](__dirname,'../../temp/uploads/'+_0x5c83cf);}return this[_0x63d5b7(0x16c)];}[a0_0x1de924(0x1eb)](){const _0x28a920=a0_0x1de924,_0x30c708={'qqJyy':function(_0x3c228c){return _0x3c228c();}},_0x4c4322=_0x28a920(0x211),_0x4ec6cb=Date['now']()['toString'](0x24),_0x2aee1f=_0x30c708['qqJyy'](uuidv7)[_0x28a920(0x1a4)](/-/g,'')[_0x28a920(0x1d5)](0x0,0xc-_0x4ec6cb['length']),_0x3b246b=(_0x4ec6cb+_0x2aee1f)['substring'](0x0,0xc);let _0x752f8b='';for(let _0x3e1b3d=0x0;_0x3e1b3d<0xc;_0x3e1b3d++){_0x3b246b[_0x3e1b3d]?_0x752f8b+=_0x3b246b[_0x3e1b3d]:_0x752f8b+=_0x4c4322['charAt'](Math['floor'](Math['random']()*_0x4c4322[_0x28a920(0x1ac)]));}return _0x752f8b;}[a0_0x1de924(0x17e)](_0x3d57b5){const _0x508161=a0_0x1de924,_0x7f7f11={'DEqPT':_0x508161(0x20e)},_0x283503=new Map();if(!_0x3d57b5)return _0x283503;return Object['entries'](_0x3d57b5)[_0x508161(0x1c2)](([_0x39b799,_0x297ebe])=>{const _0x418202=_0x508161,_0x188609=String(_0x297ebe)[_0x418202(0x172)]()[_0x418202(0x1a4)](/\s+/g,'_')[_0x418202(0x1a4)](/([a-z])([A-Z])/g,'$1_$2')[_0x418202(0x1a4)](/([A-Z]+)([A-Z][a-z])/g,_0x7f7f11['DEqPT'])[_0x418202(0x1aa)]();_0x283503['set'](_0x188609,_0x39b799);}),logger[_0x508161(0x1f4)]({'event':_0x508161(0x18c),'mappingCount':_0x283503['size']},'Label\x20to\x20field\x20mapping\x20built'),_0x283503;}['applyColumnFormats'](_0x25e60e,_0x33415e){const _0x7cbb15=a0_0x1de924,_0x501ab0={'xlBgR':function(_0x346bdc,_0x2824cd){return _0x346bdc===_0x2824cd;},'ceeUf':'date','dsaZA':_0x7cbb15(0x1af),'qvTym':function(_0x1213c9,_0x269132){return _0x1213c9(_0x269132);}};if(!_0x33415e||Object[_0x7cbb15(0x19b)](_0x33415e)[_0x7cbb15(0x1ac)]===0x0)return _0x25e60e;return _0x25e60e[_0x7cbb15(0x1a1)](_0xd13857=>{const _0x3697dd=_0x7cbb15,_0xe715c3={..._0xd13857};for(const [_0x3c8ebf,_0x1dbed1]of Object['entries'](_0x33415e)){const _0x40ce8e=_0xe715c3[_0x3c8ebf];if(_0x501ab0['xlBgR'](_0x40ce8e,null)||_0x501ab0[_0x3697dd(0x19e)](_0x40ce8e,undefined)||_0x40ce8e===''){_0xe715c3[_0x3c8ebf]=null;continue;}switch(_0x1dbed1['type']){case _0x501ab0['ceeUf']:_0xe715c3[_0x3c8ebf]=this[_0x3697dd(0x1f0)](_0x40ce8e);break;case'number':_0xe715c3[_0x3c8ebf]=this['formatNumberForDatabase'](_0x40ce8e);break;case _0x501ab0['dsaZA']:_0xe715c3[_0x3c8ebf]=this['formatBooleanForDatabase'](_0x40ce8e);break;case'text':_0xe715c3[_0x3c8ebf]=_0x501ab0['qvTym'](String,_0x40ce8e);break;default:break;}}return _0xe715c3;});}['formatDateForDatabase'](_0x4d6c0f){const _0x3bac87=a0_0x1de924,_0x3a8dce={'fhgBL':function(_0x244dd4,_0x195af2){return _0x244dd4===_0x195af2;},'HZkJK':function(_0x381fe7,_0x2b0308){return _0x381fe7===_0x2b0308;},'kmfRZ':function(_0x412025,_0x56fb1b){return _0x412025 instanceof _0x56fb1b;},'sPvRe':function(_0xef4ca2,_0x63a626){return _0xef4ca2+_0x63a626;},'Zffpn':'string','rhEdv':function(_0x494d42,_0x2dee5a){return _0x494d42(_0x2dee5a);}};if(_0x3a8dce['fhgBL'](_0x4d6c0f,null)||_0x4d6c0f===undefined||_0x3a8dce[_0x3bac87(0x173)](_0x4d6c0f,''))return null;if(_0x3a8dce['fhgBL'](typeof _0x4d6c0f,'string')&&/^\d{4}-\d{2}-\d{2}$/[_0x3bac87(0x1e8)](_0x4d6c0f))return _0x4d6c0f;if(_0x3a8dce['kmfRZ'](_0x4d6c0f,Date)){if(isNaN(_0x4d6c0f['getTime']()))return null;const _0x2ffe1f=_0x4d6c0f['getFullYear'](),_0x47bdac=String(_0x3a8dce['sPvRe'](_0x4d6c0f[_0x3bac87(0x16f)](),0x1))[_0x3bac87(0x1d7)](0x2,'0'),_0x4a0c29=String(_0x4d6c0f['getDate']())[_0x3bac87(0x1d7)](0x2,'0');return _0x2ffe1f+'-'+_0x47bdac+'-'+_0x4a0c29;}if(_0x3a8dce['fhgBL'](typeof _0x4d6c0f,_0x3a8dce['Zffpn'])){const _0x49e5c3=_0x4d6c0f[_0x3bac87(0x1ed)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x49e5c3){const _0x5d7a20=_0x3a8dce[_0x3bac87(0x1e0)](String,_0x49e5c3[0x1])[_0x3bac87(0x1d7)](0x2,'0'),_0x1262b6=String(_0x49e5c3[0x2])[_0x3bac87(0x1d7)](0x2,'0'),_0x3da3ff=_0x49e5c3[0x3];return _0x3da3ff+'-'+_0x1262b6+'-'+_0x5d7a20;}const _0x1349bc=_0x4d6c0f[_0x3bac87(0x1ed)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x1349bc){const _0x4b3c3e=_0x1349bc[0x1],_0x4994d5=_0x3a8dce['rhEdv'](String,_0x1349bc[0x2])['padStart'](0x2,'0'),_0x4b7ba7=_0x3a8dce[_0x3bac87(0x1e0)](String,_0x1349bc[0x3])['padStart'](0x2,'0');return _0x4b3c3e+'-'+_0x4994d5+'-'+_0x4b7ba7;}}return _0x4d6c0f;}[a0_0x1de924(0x1b2)](_0x117131){const _0x34b5d9=a0_0x1de924,_0x288478={'RcPIO':function(_0x2ed2ed,_0x4f95d4){return _0x2ed2ed===_0x4f95d4;},'umNnm':function(_0x3e0da4,_0x41d05e){return _0x3e0da4===_0x41d05e;}};if(_0x288478[_0x34b5d9(0x188)](_0x117131,null)||_0x288478['RcPIO'](_0x117131,undefined)||_0x117131==='')return null;if(_0x288478['umNnm'](typeof _0x117131,'number'))return isNaN(_0x117131)?null:_0x117131;if(typeof _0x117131==='string'){let _0x47d2cb=_0x117131[_0x34b5d9(0x172)]();const _0xad965f=/,\d{1,2}$/[_0x34b5d9(0x1e8)](_0x47d2cb)&&!/,\d{3}/['test'](_0x47d2cb);_0xad965f?_0x47d2cb=_0x47d2cb[_0x34b5d9(0x1a4)](/\./g,'')[_0x34b5d9(0x1a4)](',','.'):_0x47d2cb=_0x47d2cb[_0x34b5d9(0x1a4)](/,/g,'');const _0x220228=parseFloat(_0x47d2cb);return isNaN(_0x220228)?null:_0x220228;}return null;}[a0_0x1de924(0x1db)](_0x1e3c49){const _0x48174e=a0_0x1de924,_0x2f4b20={'lxpnp':'true','pUkXd':'false'};if(_0x1e3c49===null||_0x1e3c49===undefined||_0x1e3c49==='')return null;if(typeof _0x1e3c49==='boolean')return _0x1e3c49?_0x2f4b20['lxpnp']:_0x2f4b20[_0x48174e(0x1b8)];if(typeof _0x1e3c49===_0x48174e(0x1dd)){const _0x54b8a9=_0x1e3c49['trim']()['toLowerCase']();if([_0x48174e(0x212),'yes','y','1']['includes'](_0x54b8a9))return _0x2f4b20['lxpnp'];if(['false','no','n','0'][_0x48174e(0x171)](_0x54b8a9))return _0x2f4b20['pUkXd'];return null;}if(typeof _0x1e3c49==='number')return _0x1e3c49?_0x2f4b20['lxpnp']:'false';return null;}async[a0_0x1de924(0x1d1)](_0xa7f3fe,_0x343240){const _0x54da35=a0_0x1de924,_0x10b67f={'tivzM':'headers_mapped','qIWFN':'Excel\x20headers\x20mapped\x20to\x20field\x20names','oqkhc':'column_formats_applied','MrZzJ':'Column\x20formats\x20applied\x20to\x20rows','irgsP':'request_scope_applied','UAXOo':_0x54da35(0x1c9),'YWHlY':_0x54da35(0x180),'kLiwS':'Failed\x20to\x20cleanup\x20file'},_0x147d82=this[_0x54da35(0x1eb)]();try{let {headers:_0x573f14,rows:_0xa5f754,totalRows:_0x2cb968}=await excelParser[_0x54da35(0x1e9)](_0xa7f3fe[_0x54da35(0x1b3)]);const _0x228010=this[_0x54da35(0x17e)](_0x343240[_0x54da35(0x20b)]),_0x3842c5=_0x573f14[_0x54da35(0x1a1)](_0x541d64=>{const _0x299b32=_0x228010['get'](_0x541d64);return _0x299b32||_0x541d64;});_0xa5f754=_0xa5f754['map'](_0x3bcdbf=>{const _0x2b2ab4=_0x54da35,_0xb41999={};return _0x573f14[_0x2b2ab4(0x1c2)]((_0xeb6876,_0x453b55)=>{const _0x959366=_0x3842c5[_0x453b55];_0xb41999[_0x959366]=_0x3bcdbf[_0xeb6876];}),_0xb41999;}),_0x573f14=_0x3842c5,logger['debug']({'event':_0x10b67f['tivzM'],'original':_0x573f14['length'],'mapped':_0x3842c5[_0x54da35(0x19d)]((_0x511b62,_0x14668d)=>_0x511b62!==_0x573f14[_0x14668d])[_0x54da35(0x1ac)]},_0x10b67f[_0x54da35(0x1fe)]);_0x343240['columnFormats']&&Object['keys'](_0x343240['columnFormats'])[_0x54da35(0x1ac)]>0x0&&(_0xa5f754=this['applyColumnFormats'](_0xa5f754,_0x343240['columnFormats']),logger[_0x54da35(0x1f4)]({'event':_0x10b67f['oqkhc'],'formatCount':Object[_0x54da35(0x19b)](_0x343240[_0x54da35(0x1cf)])[_0x54da35(0x1ac)],'formats':Object['keys'](_0x343240[_0x54da35(0x1cf)])},_0x10b67f[_0x54da35(0x205)]));if(_0x343240['scopeOverride']&&_0x343240['scopeOverride']['column']){const {column:_0x28e127,value:_0x3aa879}=_0x343240['scopeOverride'];_0xa5f754=_0xa5f754[_0x54da35(0x1a1)](_0x579fe2=>({..._0x579fe2,[_0x28e127]:_0x3aa879})),logger['debug']({'event':_0x10b67f['irgsP'],'column':_0x28e127,'rowCount':_0xa5f754['length']},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x249594=_0x343240['lookupFields']?Object['values'](_0x343240[_0x54da35(0x197)])['map'](_0x423f5c=>_0x423f5c[_0x54da35(0x1ae)]):[],_0x42ed7d=_0x343240[_0x54da35(0x1d6)]['filter'](_0x296857=>!_0x249594['includes'](_0x296857)),_0xee0a05=excelParser[_0x54da35(0x1ca)](_0x573f14,_0x42ed7d);if(!_0xee0a05[_0x54da35(0x204)]){await fs['unlink'](_0xa7f3fe[_0x54da35(0x1b3)]);throw new Error(_0x54da35(0x17a)+_0xee0a05['missingFields']['join'](',\x20'));}const _0x5ce136={'upload_id':_0x147d82,'filename':_0xa7f3fe[_0x54da35(0x181)],'total_rows':_0x2cb968,'headers':_0x573f14,'rows':_0xa5f754,'params':_0x343240,'created_at':new Date()[_0x54da35(0x1d3)]()};return await redisHelper['setJob']('upload:'+_0x147d82,_0x5ce136,0xe10),await fs[_0x54da35(0x18e)](_0xa7f3fe[_0x54da35(0x1b3)]),logger['info']({'event':'import_file_uploaded','uploadId':_0x147d82,'filename':_0xa7f3fe['originalname'],'totalRows':_0x2cb968},_0x10b67f[_0x54da35(0x1ce)]),{'upload_id':_0x147d82,'total_rows':_0x2cb968,'preview':_0xa5f754[_0x54da35(0x1bc)](0x0,0xa)};}catch(_0x44fb9f){try{await fs[_0x54da35(0x18e)](_0xa7f3fe['path']);}catch(_0x2d320b){logError(_0x2d320b,{'event':_0x10b67f['YWHlY']},_0x10b67f[_0x54da35(0x179)]);}throw _0x44fb9f;}}async[a0_0x1de924(0x1a2)](_0x53103d){const _0x2e00bc=a0_0x1de924,_0x376505={'VIHNz':function(_0x20476a,_0x4fa7d3,_0x20a985,_0x278123){return _0x20476a(_0x4fa7d3,_0x20a985,_0x278123);},'ZrbDy':'Upload\x20data\x20not\x20found\x20or\x20expired','ohEGY':_0x2e00bc(0x18d),'FppBW':_0x2e00bc(0x1f6)},_0xaecdf2=this[_0x2e00bc(0x1eb)](),_0x1b4e33=await redisHelper['getJob']('upload:'+_0x53103d);if(!_0x1b4e33)throw new Error(_0x376505[_0x2e00bc(0x1c7)]);const _0x36d0df={'job_id':_0xaecdf2,'upload_id':_0x53103d,'status':'validating','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x1b4e33[_0x2e00bc(0x1b7)]};return await redisHelper[_0x2e00bc(0x19c)](_0x2e00bc(0x1e7)+_0xaecdf2,_0x36d0df,0xe10),logger[_0x2e00bc(0x182)]({'event':_0x376505[_0x2e00bc(0x1ff)],'jobId':_0xaecdf2,'uploadId':_0x53103d},_0x376505['FppBW']),this['processPreviewJob'](_0xaecdf2,_0x53103d,_0x1b4e33)['catch'](_0x57ce40=>{const _0x20c56c=_0x2e00bc;_0x376505[_0x20c56c(0x1a0)](logError,_0x57ce40,{'event':_0x20c56c(0x20a),'jobId':_0xaecdf2},_0x20c56c(0x1b0));}),{'job_id':_0xaecdf2,'status':_0x2e00bc(0x208)};}['autoGenerateUpsertKeys'](_0x3395a5,_0x395c3c){const _0xee63a8=a0_0x1de924,_0x3a5074={'HkRXp':function(_0xb3e815,_0x476ddb){return _0xb3e815===_0x476ddb;},'OOjfm':function(_0x53809a,_0x88a12f){return _0x53809a===_0x88a12f;},'GvUPr':function(_0x5bdb61){return _0x5bdb61();},'IefZP':function(_0x3d7b32,_0x31eea2){return _0x3d7b32+_0x31eea2;}};_0x3395a5[_0xee63a8(0x1c2)]((_0x358fd2,_0x1c98c2)=>{const _0x4bcd17=_0xee63a8,_0xf51418={'mmvUo':function(_0x38adee,_0x123455){return _0x3a5074['HkRXp'](_0x38adee,_0x123455);},'lfmui':function(_0x29862a,_0x5d585d){const _0x31a4ff=a0_0x3baf;return _0x3a5074[_0x31a4ff(0x1fb)](_0x29862a,_0x5d585d);},'ROvhT':function(_0x235545,_0x28ea0f){return _0x235545(_0x28ea0f);},'QyARD':function(_0x28eb0d){return _0x3a5074['GvUPr'](_0x28eb0d);},'SrnPH':function(_0x19fe0a,_0x23cc8d){const _0x37d6f4=a0_0x3baf;return _0x3a5074[_0x37d6f4(0x1d4)](_0x19fe0a,_0x23cc8d);}};_0x395c3c[_0x4bcd17(0x1c2)](_0x1557b6=>{const _0x13e955=_0x4bcd17,_0x4b1c87=_0x358fd2[_0x1557b6];if(_0x4b1c87===null||_0xf51418['mmvUo'](_0x4b1c87,undefined)||_0x4b1c87===''||_0xf51418[_0x13e955(0x1dc)](_0xf51418[_0x13e955(0x1be)](String,_0x4b1c87)[_0x13e955(0x172)](),'-')){const _0x21d169=_0xf51418['QyARD'](uuidv7);_0x358fd2[_0x1557b6]=_0x21d169,_0x358fd2['_generated_uuid']=_0x358fd2[_0x13e955(0x1cd)]||{},_0x358fd2['_generated_uuid'][_0x1557b6]=_0x21d169,logger['debug']({'event':'uuid_auto_generated','rowIndex':_0x1c98c2,'field':_0x1557b6,'uuid':_0x21d169},'Auto-generated\x20UUID\x20for\x20'+_0x1557b6+'\x20at\x20row\x20'+_0xf51418['SrnPH'](_0x1c98c2,0x2));}});});}async['processPreviewJob'](_0x30a87a,_0x3e256f,_0x385351){const _0x5b2010=a0_0x1de924,_0x36bf5c={'GSTRb':function(_0x1ae5ef,_0xb2defb){return _0x1ae5ef===_0xb2defb;},'vXZiH':function(_0x536c60,_0xbc2eab){return _0x536c60===_0xbc2eab;},'fTMGy':'UPDATE','bNsVm':_0x5b2010(0x1b1),'itcbN':function(_0x36af79,_0x22f2c6){return _0x36af79>_0x22f2c6;},'qcnqT':_0x5b2010(0x1f9),'VYQDS':_0x5b2010(0x193),'NHlJA':function(_0x2286fb,_0x2d21e3,_0x3726fc,_0x283ccb){return _0x2286fb(_0x2d21e3,_0x3726fc,_0x283ccb);},'YbOfz':'Preview\x20job\x20failed','HibHe':'failed'};try{let {rows:_0x20ffe4,params:_0x39a443}=_0x385351;const {requiredFields:_0xbe32e6,validations:_0x3557e6,upsertKeys:_0x5ef989,tableName:_0x74451b,primaryKey:_0x272021,fieldName:_0x359b47,upsertStrategy:_0x1e1ad3,lookupFields:_0x214be7}=_0x39a443;this[_0x5b2010(0x203)](_0x20ffe4,_0x5ef989);let _0x127f15=[];if(_0x214be7&&Object[_0x5b2010(0x19b)](_0x214be7)[_0x5b2010(0x1ac)]>0x0){logger['info']({'event':'processing_lookup_fields','jobId':_0x30a87a,'lookupFieldCount':Object[_0x5b2010(0x19b)](_0x214be7)[_0x5b2010(0x1ac)]},_0x5b2010(0x178));const _0xfc7c0=await lookupResolver['processLookupFields'](_0x20ffe4,_0x214be7);_0x20ffe4=_0xfc7c0[_0x5b2010(0x1c4)],_0x127f15=_0xfc7c0[_0x5b2010(0x18a)],_0x385351['rows']=_0x20ffe4;}const _0x50eec6=importValidator['batchValidateRows'](_0x20ffe4,_0xbe32e6||[],_0x3557e6||{});_0x127f15['forEach'](_0x3f0e98=>{const _0xd3e04e=_0x5b2010,_0x18bad4=_0x50eec6[_0xd3e04e(0x1ea)](_0x1c3ecf=>_0x1c3ecf['rowIndex']===_0x3f0e98['rowIndex']);_0x18bad4?_0x18bad4['errors']['push'](_0x3f0e98['message']):_0x50eec6['push']({'rowIndex':_0x3f0e98[_0xd3e04e(0x210)],'rowData':_0x20ffe4[_0x3f0e98['rowIndex']],'errors':[_0x3f0e98[_0xd3e04e(0x195)]]});});const _0x4088cb=importValidator['detectDuplicatesInFile'](_0x20ffe4,_0x5ef989);_0x4088cb[_0x5b2010(0x1c2)](_0x1712cd=>{const _0x9b64c=_0x5b2010,_0x4f757d=_0x50eec6['find'](_0x40a6af=>_0x40a6af[_0x9b64c(0x210)]===_0x1712cd['rowIndex']),_0x33d03d=_0x5ef989[_0x9b64c(0x1a1)](_0x1743df=>_0x1743df[_0x9b64c(0x20d)]())['join'](',\x20'),_0x5738ab=_0x9b64c(0x1d9)+_0x33d03d;_0x4f757d?_0x4f757d[_0x9b64c(0x18a)][_0x9b64c(0x186)](_0x5738ab):_0x50eec6['push']({'rowIndex':_0x1712cd[_0x9b64c(0x210)],'rowData':_0x20ffe4[_0x1712cd['rowIndex']],'errors':[_0x5738ab]});}),await this['detectDatabaseDuplicates'](_0x20ffe4,_0x5ef989,_0x74451b,_0x272021,_0x1e1ad3,_0x50eec6),_0x50eec6[_0x5b2010(0x1c2)](_0x26be44=>{const _0x420903=_0x5b2010,_0x3a54ac=_0x20ffe4[_0x26be44[_0x420903(0x210)]];_0x3a54ac&&(_0x3a54ac['_errors']=_0x26be44['errors']);});let _0x5a3752=0x0,_0xadee31=0x0,_0x3c99c5=0x0;_0x20ffe4['forEach'](_0xccc98c=>{const _0x5b6e64=_0x5b2010;if(_0x36bf5c['GSTRb'](_0xccc98c[_0x5b6e64(0x1de)],_0x5b6e64(0x185)))_0x5a3752++;else{if(_0x36bf5c[_0x5b6e64(0x1e6)](_0xccc98c['_action'],_0x36bf5c[_0x5b6e64(0x1e1)]))_0xadee31++;else _0xccc98c['_action']===_0x36bf5c[_0x5b6e64(0x1c8)]&&_0x3c99c5++;}});const _0x3dc4a4={'job_id':_0x30a87a,'upload_id':_0x3e256f,'status':_0x36bf5c[_0x5b2010(0x202)](_0x50eec6[_0x5b2010(0x1ac)],0x0)?_0x36bf5c[_0x5b2010(0x189)]:_0x5b2010(0x198),'progress':0x64,'created_at':_0x385351['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x20ffe4['length'],'insert_count':_0x5a3752,'update_count':_0xadee31,'skip_count':_0x3c99c5,'error_count':_0x50eec6['length'],'errors':_0x50eec6,'data':_0x20ffe4,'sample_insert':_0x20ffe4[_0x5b2010(0x19d)](_0xffc3d8=>_0xffc3d8['_action']===_0x5b2010(0x185))[_0x5b2010(0x1bc)](0x0,0x5),'sample_update':_0x20ffe4[_0x5b2010(0x19d)](_0x290fda=>_0x290fda[_0x5b2010(0x1de)]==='UPDATE')[_0x5b2010(0x1bc)](0x0,0x5),'sample_skip':_0x20ffe4['filter'](_0x40bc9a=>_0x40bc9a[_0x5b2010(0x1de)]===_0x5b2010(0x1b1))['slice'](0x0,0x5)},'params':_0x39a443};await redisHelper[_0x5b2010(0x19c)]('job:'+_0x30a87a,_0x3dc4a4,0xe10),_0x385351['rows']=_0x20ffe4,await redisHelper[_0x5b2010(0x19c)]('upload:'+_0x3e256f,_0x385351,0xe10),logger[_0x5b2010(0x182)]({'event':_0x36bf5c['VYQDS'],'jobId':_0x30a87a,'status':_0x3dc4a4[_0x5b2010(0x1ee)],'insertCount':_0x5a3752,'updateCount':_0xadee31,'skipCount':_0x3c99c5,'errorCount':_0x50eec6[_0x5b2010(0x1ac)]},_0x5b2010(0x1fd));}catch(_0x53b67f){_0x36bf5c['NHlJA'](logError,_0x53b67f,{'event':'preview_job_failed','jobId':_0x30a87a},_0x36bf5c[_0x5b2010(0x1c6)]),await redisHelper['setJob']('job:'+_0x30a87a,{'job_id':_0x30a87a,'upload_id':_0x3e256f,'status':_0x36bf5c[_0x5b2010(0x1a5)],'progress':0x0,'error':_0x53b67f[_0x5b2010(0x195)],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x203ff4,_0xd6832e,_0xb7f01e,_0x2165a3,_0x4c5612=a0_0x1de924(0x174),_0x4f7665=[]){const _0x2aff7c=a0_0x1de924,_0x2d916c={'NFghO':function(_0xb16237,_0x325db4){return _0xb16237===_0x325db4;},'srKBj':'NULL','Twwzk':'update_existing','WIFZU':function(_0x19c3b3,_0x11f239){return _0x19c3b3===_0x11f239;},'Hqhrt':_0x2aff7c(0x207),'ibstX':_0x2aff7c(0x1b1),'poJjO':function(_0x51329e,_0xca8359){return _0x51329e!==_0xca8359;},'TriCp':'skip_existing','GVQio':function(_0x2f1bdd,_0x58e9bb){return _0x2f1bdd===_0x58e9bb;},'PiXwk':function(_0xe3e068,_0x134be2){return _0xe3e068===_0x134be2;},'EvEOY':_0x2aff7c(0x185),'pWXuG':_0x2aff7c(0x19f),'kYhGt':function(_0x527846,_0x350ac1){return _0x527846>_0x350ac1;}},_0x5b34b8=upsertBuilder['chunkRows'](_0x203ff4,0x64);for(const _0x57d73d of _0x5b34b8){const _0x4192e9=_0x57d73d['map'](_0x14f8ef=>_0x14f8ef[_0xd6832e[0x0]]),_0x45577a=_0x4192e9['map'](_0x3e1f12=>{const _0x3a7d70=_0x2aff7c;if(_0x2d916c[_0x3a7d70(0x209)](_0x3e1f12,null)||_0x3e1f12===undefined)return _0x2d916c['srKBj'];return'\x27'+String(_0x3e1f12)[_0x3a7d70(0x1a4)](/'/g,'\x27\x27')+'\x27';}),_0x224fa5='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x2165a3+',\x20'+_0xd6832e[_0x2aff7c(0x1f7)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0xb7f01e+_0x2aff7c(0x1f8)+_0xd6832e[0x0]+_0x2aff7c(0x1f3)+_0x45577a[_0x2aff7c(0x1f7)](',\x20')+_0x2aff7c(0x1df);let _0x73f0b2=await executeQuery(_0x224fa5);dbType===_0x2d916c[_0x2aff7c(0x1c3)]&&_0x73f0b2&&_0x2d916c[_0x2aff7c(0x1c0)](_0x73f0b2['length'],0x0)&&(_0x73f0b2=_0x73f0b2['map'](_0x26b2fd=>{const _0x5eb8df={};for(const [_0x38a433,_0x1b7c03]of Object['entries'](_0x26b2fd)){_0x5eb8df[_0x38a433['toLowerCase']()]=_0x1b7c03;}return _0x5eb8df;}));const _0x1f2736=new Map();_0x73f0b2['forEach'](_0x3f6539=>{const _0x46e31f=_0x2aff7c,_0x18aab9=_0x3f6539[_0xd6832e[0x0]];_0x1f2736[_0x46e31f(0x206)](_0x18aab9,_0x3f6539);}),_0x57d73d['forEach']((_0x5daa15,_0x2f165c)=>{const _0x49cb0e=_0x2aff7c,_0x2eb110=_0x5daa15[_0xd6832e[0x0]],_0x56f3ad=_0x1f2736[_0x49cb0e(0x1ad)](_0x2eb110);if(_0x56f3ad){if(_0x4c5612===_0x2d916c[_0x49cb0e(0x194)])_0x5daa15[_0x49cb0e(0x1de)]=_0x49cb0e(0x200),_0x5daa15[_0x49cb0e(0x170)]=_0x56f3ad[_0x2165a3];else{if(_0x2d916c['WIFZU'](_0x4c5612,_0x2d916c[_0x49cb0e(0x1e5)])){_0x5daa15[_0x49cb0e(0x1de)]=_0x2d916c[_0x49cb0e(0x192)],_0x5daa15['_errors']=_0x5daa15[_0x49cb0e(0x18b)]||[],_0x5daa15['_errors'][_0x49cb0e(0x186)]('Record\x20exists\x20(insert_only\x20mode)');const _0x171947=_0x203ff4['indexOf'](_0x5daa15);_0x2d916c['poJjO'](_0x171947,-0x1)&&_0x4f7665['push']({'rowIndex':_0x171947,'rowData':_0x5daa15,'errors':[_0x49cb0e(0x176)]});}else _0x2d916c['NFghO'](_0x4c5612,_0x2d916c[_0x49cb0e(0x16e)])&&(_0x5daa15[_0x49cb0e(0x1de)]=_0x2d916c['ibstX']);}}else{if(_0x4c5612===_0x2d916c['Twwzk'])_0x5daa15[_0x49cb0e(0x1de)]=_0x49cb0e(0x185);else(_0x2d916c[_0x49cb0e(0x190)](_0x4c5612,_0x49cb0e(0x207))||_0x2d916c['PiXwk'](_0x4c5612,_0x2d916c[_0x49cb0e(0x16e)]))&&(_0x5daa15[_0x49cb0e(0x1de)]=_0x2d916c['EvEOY']);}});}}async[a0_0x1de924(0x1ba)](_0x1c97da){const _0x5d7124=a0_0x1de924,_0x65f5ed={'lZdLD':function(_0x4cf28c,_0xaa586f,_0x24e5ef,_0x541eee){return _0x4cf28c(_0xaa586f,_0x24e5ef,_0x541eee);},'ONjoW':'commit_process_error','gWxNm':'Commit\x20processing\x20failed','ItORM':_0x5d7124(0x1f2),'LhNDY':_0x5d7124(0x17b),'pRKTt':'Commit\x20job\x20created','GOTeu':'processing'},_0xd6f25f=this[_0x5d7124(0x1eb)](),_0x4b12b0=await redisHelper[_0x5d7124(0x1a9)](_0x5d7124(0x1e7)+_0x1c97da);if(!_0x4b12b0)throw new Error(_0x65f5ed[_0x5d7124(0x1b6)]);if(_0x4b12b0['status']!==_0x5d7124(0x198))throw new Error(_0x5d7124(0x1fa)+_0x4b12b0['status']);const _0x274375={'job_id':_0xd6f25f,'upload_id':_0x4b12b0[_0x5d7124(0x17c)],'preview_job_id':_0x1c97da,'status':_0x5d7124(0x201),'progress':0x0,'created_at':new Date()[_0x5d7124(0x1d3)](),'params':_0x4b12b0['params']};return await redisHelper['setJob'](_0x5d7124(0x1e7)+_0xd6f25f,_0x274375,0xe10),logger['info']({'event':_0x65f5ed['LhNDY'],'jobId':_0xd6f25f,'previewJobId':_0x1c97da},_0x65f5ed[_0x5d7124(0x20f)]),this[_0x5d7124(0x1a3)](_0xd6f25f,_0x4b12b0)['catch'](_0x1ab9bc=>{const _0x3b9a32=_0x5d7124;_0x65f5ed[_0x3b9a32(0x1e3)](logError,_0x1ab9bc,{'event':_0x65f5ed['ONjoW'],'jobId':_0xd6f25f},_0x65f5ed['gWxNm']);}),{'job_id':_0xd6f25f,'status':_0x65f5ed[_0x5d7124(0x1ab)]};}async['processCommitJob'](_0x13088f,_0x4d42ab){const _0x582222=a0_0x1de924,_0x3507ff={'QcXsC':function(_0x1b8565,_0x3b2e19){return _0x1b8565===_0x3b2e19;},'Sstvy':_0x582222(0x1a6),'xPSfo':function(_0x5e6491,_0x5aab20){return _0x5e6491>_0x5aab20;},'qbMcG':_0x582222(0x1bf),'kMiOk':function(_0x1762ab,_0x273994){return _0x1762ab>_0x273994;},'XjmKg':function(_0x41ca3f,_0x46c0de){return _0x41ca3f(_0x46c0de);},'gUsmb':'completed','JEoXg':_0x582222(0x16d),'jcNEA':_0x582222(0x184)};try{const _0x307579=await redisHelper[_0x582222(0x1a9)]('upload:'+_0x4d42ab[_0x582222(0x17c)]);if(!_0x307579)throw new Error(_0x582222(0x1ec));const {rows:_0x33b6e2,params:_0x2811b0}=_0x307579,{tableName:_0x41056b,fieldName:_0x2baab0,primaryKey:_0x385851,upsertKeys:_0x2b4d51,excludeFromImport:_0x178088,lookupFields:_0x192d9e,columnFormats:_0x463d01}=_0x2811b0,_0x4cee49=_0x192d9e?Object[_0x582222(0x19b)](_0x192d9e):[],_0x3ab29b=new Set([..._0x178088||[],..._0x4cee49]);let _0x3befcb=_0x2baab0;_0x3ab29b[_0x582222(0x187)]>0x0&&(_0x3befcb=_0x2baab0['filter'](_0x508e8e=>!_0x3ab29b[_0x582222(0x1b5)](_0x508e8e)),logger[_0x582222(0x1f4)]({'event':_0x3507ff['Sstvy'],'originalCount':_0x2baab0[_0x582222(0x1ac)],'filteredCount':_0x3befcb[_0x582222(0x1ac)],'excludedFields':Array[_0x582222(0x1a8)](_0x3ab29b),'lookupSourceFields':_0x4cee49},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x11680d=_0x33b6e2[_0x582222(0x19d)](_0x2602a3=>_0x2602a3['_action']===_0x582222(0x185)),_0x285a3c=_0x33b6e2[_0x582222(0x19d)](_0x103482=>_0x103482[_0x582222(0x1de)]==='UPDATE');let _0x55abbb=0x0,_0xcf6595=0x0;const _0xdce90e=[];if(_0x3507ff[_0x582222(0x1e4)](_0x11680d[_0x582222(0x1ac)],0x0)){const _0x2fe957=upsertBuilder['chunkRows'](_0x11680d,0x64);for(const _0x429e6f of _0x2fe957){const {query:_0x4fd73c}=upsertBuilder['buildBatchInsert'](_0x429e6f,_0x41056b,_0x3befcb,_0x463d01||{});_0x4fd73c&&_0xdce90e[_0x582222(0x186)]({'sql':_0x4fd73c,'count':_0x429e6f['length'],'type':_0x3507ff['qbMcG']});}}if(_0x285a3c['length']>0x0){const _0x51d05f=upsertBuilder[_0x582222(0x199)](_0x285a3c,0x64);for(const _0x2ca962 of _0x51d05f){const {query:_0x1621ae}=upsertBuilder[_0x582222(0x1fc)](_0x2ca962,_0x41056b,_0x3befcb,_0x385851,_0x2b4d51,_0x463d01||{});_0x1621ae&&_0xdce90e['push']({'sql':_0x1621ae,'count':_0x2ca962['length'],'type':'update'});}}_0x3507ff[_0x582222(0x17f)](_0xdce90e[_0x582222(0x1ac)],0x0)&&await _0x3507ff['XjmKg'](executeTransaction,_0xdce90e[_0x582222(0x1a1)](_0x6b1ed0=>({'sql':_0x6b1ed0[_0x582222(0x1c5)],'params':[]})));_0xdce90e['forEach'](_0x328de7=>{const _0x1aa010=_0x582222;if(_0x3507ff['QcXsC'](_0x328de7[_0x1aa010(0x1f1)],_0x1aa010(0x1bf)))_0x55abbb+=_0x328de7[_0x1aa010(0x1da)];else _0xcf6595+=_0x328de7['count'];});const _0x3830f8={'job_id':_0x13088f,'upload_id':_0x4d42ab[_0x582222(0x17c)],'preview_job_id':_0x4d42ab['job_id'],'status':_0x3507ff[_0x582222(0x1cc)],'progress':0x64,'created_at':_0x4d42ab[_0x582222(0x18f)],'started_at':new Date()[_0x582222(0x1d3)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x33b6e2['length'],'inserted_rows':_0x55abbb,'updated_rows':_0xcf6595,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x2811b0};await redisHelper[_0x582222(0x19c)]('job:'+_0x13088f,_0x3830f8,0xe10),logger[_0x582222(0x182)]({'event':_0x582222(0x1d2),'jobId':_0x13088f,'insertedCount':_0x55abbb,'updatedCount':_0xcf6595},'Commit\x20job\x20completed');}catch(_0x4a40f8){logError(_0x4a40f8,{'event':'commit_job_failed','jobId':_0x13088f},_0x3507ff[_0x582222(0x1e2)]),await redisHelper['setJob'](_0x582222(0x1e7)+_0x13088f,{'job_id':_0x13088f,'upload_id':_0x4d42ab[_0x582222(0x17c)],'preview_job_id':_0x4d42ab['job_id'],'status':_0x3507ff[_0x582222(0x196)],'progress':0x0,'error':_0x4a40f8['message'],'created_at':_0x4d42ab['created_at'],'started_at':new Date()[_0x582222(0x1d3)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x5c6e8b){const _0x5ca2f6=a0_0x1de924,_0x3891eb=await redisHelper[_0x5ca2f6(0x1a9)](_0x5ca2f6(0x1e7)+_0x5c6e8b);if(!_0x3891eb)return{'success':![],'error':_0x5ca2f6(0x17d)};return{'success':!![],'data':_0x3891eb};}}module['exports']=new ImportService();
@@ -1 +1 @@
1
- const a0_0x15617e=a0_0x4823;(function(_0x27170d,_0x181ca0){const _0x4f8fb5=a0_0x4823,_0x43fbac=_0x27170d();while(!![]){try{const _0x359f54=parseInt(_0x4f8fb5(0x1c8))/0x1+-parseInt(_0x4f8fb5(0x19b))/0x2+parseInt(_0x4f8fb5(0x1e5))/0x3*(parseInt(_0x4f8fb5(0x1ad))/0x4)+-parseInt(_0x4f8fb5(0x1cf))/0x5+-parseInt(_0x4f8fb5(0x1ec))/0x6+parseInt(_0x4f8fb5(0x1e6))/0x7*(parseInt(_0x4f8fb5(0x1d3))/0x8)+parseInt(_0x4f8fb5(0x185))/0x9;if(_0x359f54===_0x181ca0)break;else _0x43fbac['push'](_0x43fbac['shift']());}catch(_0x3f1e4f){_0x43fbac['push'](_0x43fbac['shift']());}}}(a0_0x432e,0x7fa57));const {Kafka,logLevel}=require(a0_0x15617e(0x1e0)),{v7:uuidv7}=require('uuid');function a0_0x4823(_0x3bba29,_0x15c5f7){_0x3bba29=_0x3bba29-0x17d;const _0x432ed0=a0_0x432e();let _0x4823c4=_0x432ed0[_0x3bba29];if(a0_0x4823['JJQADl']===undefined){var _0x5031d5=function(_0x532274){const _0x32d281='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x766599='',_0x5988a1='';for(let _0x542d27=0x0,_0x1f88fe,_0x4a81de,_0x2a8e8f=0x0;_0x4a81de=_0x532274['charAt'](_0x2a8e8f++);~_0x4a81de&&(_0x1f88fe=_0x542d27%0x4?_0x1f88fe*0x40+_0x4a81de:_0x4a81de,_0x542d27++%0x4)?_0x766599+=String['fromCharCode'](0xff&_0x1f88fe>>(-0x2*_0x542d27&0x6)):0x0){_0x4a81de=_0x32d281['indexOf'](_0x4a81de);}for(let _0x464181=0x0,_0x279e25=_0x766599['length'];_0x464181<_0x279e25;_0x464181++){_0x5988a1+='%'+('00'+_0x766599['charCodeAt'](_0x464181)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5988a1);};a0_0x4823['PZQKoF']=_0x5031d5,a0_0x4823['VvTFwQ']={},a0_0x4823['JJQADl']=!![];}const _0x2d022a=_0x432ed0[0x0],_0x4fc22f=_0x3bba29+_0x2d022a,_0x1a2016=a0_0x4823['VvTFwQ'][_0x4fc22f];return!_0x1a2016?(_0x4823c4=a0_0x4823['PZQKoF'](_0x4823c4),a0_0x4823['VvTFwQ'][_0x4fc22f]=_0x4823c4):_0x4823c4=_0x1a2016,_0x4823c4;}class KafkaConsumerService{constructor(){const _0x4cb085=a0_0x15617e,_0x33c85f='2|0|8|6|5|3|7|1|9|4|10'[_0x4cb085(0x1a5)]('|');let _0x495a71=0x0;while(!![]){switch(_0x33c85f[_0x495a71++]){case'0':this['consumer']=null;continue;case'1':this['subscribedTopics']=[];continue;case'2':this[_0x4cb085(0x19e)]=null;continue;case'3':this['isPaused']=![];continue;case'4':this[_0x4cb085(0x189)]=null;continue;case'5':this[_0x4cb085(0x1cc)]=![];continue;case'6':this[_0x4cb085(0x1b7)]=![];continue;case'7':this[_0x4cb085(0x1f9)]=null;continue;case'8':this['isConnected']=![];continue;case'9':this[_0x4cb085(0x1c1)]=null;continue;case'10':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;}break;}}[a0_0x15617e(0x1b8)](){const _0x26db4d=a0_0x15617e,_0x271089={'FOfTv':_0x26db4d(0x188),'VocMA':'25000','ATlow':function(_0x495ec6,_0x271284){return _0x495ec6(_0x271284);},'BEEPu':'30000','gfARs':function(_0x143d52,_0x7cf6ad){return _0x143d52(_0x7cf6ad);},'wViOO':function(_0x298c8e,_0xcb1902){return _0x298c8e===_0xcb1902;},'rsphE':'5000','jiIbO':'warn'};return{'enabled':process[_0x26db4d(0x1d2)][_0x26db4d(0x1d9)]===_0x271089['FOfTv'],'brokers':(process['env']['KAFKA_BROKERS']||_0x26db4d(0x1ed))[_0x26db4d(0x1a5)](','),'clientId':process['env'][_0x26db4d(0x1aa)]||'restforge-'+(process[_0x26db4d(0x1d2)][_0x26db4d(0x1a1)]||'default')+'-consumer','connectionTimeout':parseInt(process[_0x26db4d(0x1d2)][_0x26db4d(0x190)]||'3000'),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x271089['VocMA']),'sessionTimeout':_0x271089[_0x26db4d(0x1f7)](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x1b2)]||_0x271089[_0x26db4d(0x1d0)]),'heartbeatInterval':_0x271089['gfARs'](parseInt,process['env'][_0x26db4d(0x1ee)]||_0x26db4d(0x1b3)),'maxBytesPerPartition':parseInt(process['env'][_0x26db4d(0x1ba)]||'1048576'),'autoCommit':_0x271089['wViOO'](process[_0x26db4d(0x1d2)][_0x26db4d(0x1de)],'true'),'autoCommitInterval':_0x271089[_0x26db4d(0x1f7)](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x192)]||_0x271089[_0x26db4d(0x1ca)]),'retryAttempts':_0x271089['ATlow'](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x1c9)]||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x26db4d(0x1ab)),'retryMaxDelay':parseInt(process[_0x26db4d(0x1d2)]['KAFKA_RETRY_MAX_DELAY']||_0x271089[_0x26db4d(0x1d0)]),'logLevel':process[_0x26db4d(0x1d2)][_0x26db4d(0x1eb)]||_0x271089[_0x26db4d(0x1da)]};}[a0_0x15617e(0x196)](_0x22bf9b){const _0x1f0c03=a0_0x15617e,_0x20cd76={'nothing':logLevel[_0x1f0c03(0x1dd)],'error':logLevel['ERROR'],'warn':logLevel[_0x1f0c03(0x19f)],'info':logLevel[_0x1f0c03(0x182)],'debug':logLevel['DEBUG']};return _0x20cd76[_0x22bf9b[_0x1f0c03(0x1f8)]()]||logLevel['WARN'];}async['initialize'](_0x5f1f50={}){const _0x1efee8=a0_0x15617e,_0x23cd63={'DcAco':function(_0x48f053,_0x15558c){return _0x48f053(_0x15558c);},'dxGAi':function(_0x53bf1f,_0x226f71){return _0x53bf1f(_0x226f71);},'EkLby':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x43fbdc=this[_0x1efee8(0x1b8)]();if(!_0x43fbdc['enabled'])return console[_0x1efee8(0x1d1)](_0x23cd63['EkLby']),![];if(this['isConnected'])return!![];if(this[_0x1efee8(0x1b7)]&&this['connectionPromise'])return this[_0x1efee8(0x1f9)];return this['isInitializing']=!![],this[_0x1efee8(0x1f9)]=new Promise(async _0x355917=>{const _0x462859=_0x1efee8;try{let _0xa0e6a0=undefined;process[_0x462859(0x1d2)]['KAFKA_SSL']==='true'&&(_0xa0e6a0=!![]);let _0x396e98=undefined;process['env'][_0x462859(0x1ef)]&&(_0x396e98={'mechanism':process['env'][_0x462859(0x1ef)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x462859(0x1d2)][_0x462859(0x187)]||''}),this['kafka']=new Kafka({'clientId':_0x5f1f50[_0x462859(0x198)]||_0x43fbdc[_0x462859(0x198)],'brokers':_0x43fbdc[_0x462859(0x1c3)],'connectionTimeout':_0x43fbdc['connectionTimeout'],'requestTimeout':_0x43fbdc['requestTimeout'],'logLevel':this[_0x462859(0x196)](_0x43fbdc[_0x462859(0x1c5)]),'ssl':_0xa0e6a0,'sasl':_0x396e98,'retry':{'initialRetryTime':_0x43fbdc[_0x462859(0x195)],'retries':_0x43fbdc[_0x462859(0x1cd)],'maxRetryTime':_0x43fbdc[_0x462859(0x191)]}}),this['groupId']=_0x5f1f50['groupId']||'restforge-'+(process[_0x462859(0x1d2)][_0x462859(0x1a1)]||'default')+_0x462859(0x17d),this[_0x462859(0x1d6)]=this['kafka'][_0x462859(0x1d6)]({'groupId':this[_0x462859(0x1c1)],'sessionTimeout':_0x43fbdc[_0x462859(0x1cb)],'heartbeatInterval':_0x43fbdc['heartbeatInterval'],'maxBytesPerPartition':_0x43fbdc[_0x462859(0x1c6)],'allowAutoTopicCreation':![]}),await this[_0x462859(0x1d6)][_0x462859(0x1b1)](),this[_0x462859(0x18c)]=!![],console['log'](_0x462859(0x1af)+_0x43fbdc['brokers']['join'](',\x20')+_0x462859(0x1e8)+this[_0x462859(0x1c1)]+')'),this['setupEventHandlers'](),_0x23cd63[_0x462859(0x193)](_0x355917,!![]);}catch(_0x3b0700){console[_0x462859(0x1c7)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x3b0700['message']),this[_0x462859(0x18c)]=![],_0x23cd63[_0x462859(0x184)](_0x355917,![]);}finally{this['isInitializing']=![];}}),this[_0x1efee8(0x1f9)];}[a0_0x15617e(0x18e)](){const _0x5d91c3=a0_0x15617e,_0x584f5f={'TbhQl':'consumer.stop'};if(!this[_0x5d91c3(0x1d6)])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x16a742=_0x5d91c3;console[_0x16a742(0x1d1)](_0x16a742(0x1bf)),this['isConnected']=![],this[_0x16a742(0x1cc)]=![];}),this['consumer']['on'](_0x584f5f[_0x5d91c3(0x1a9)],()=>{const _0x30d9ac=_0x5d91c3;console['log'](_0x30d9ac(0x1c4)),this['isRunning']=![];}),this[_0x5d91c3(0x1d6)]['on']('consumer.crash',_0x2b4e0a=>{const _0x4e3b27=_0x5d91c3;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x2b4e0a['payload'][_0x4e3b27(0x1c7)][_0x4e3b27(0x1e9)]),this['isRunning']=![];}),this['consumer']['on'](_0x5d91c3(0x1d5),()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x15617e(0x181)](_0x2c9418,_0x1cc87f=![]){const _0x80232=a0_0x15617e;if(!this['isConnected'])return console['error'](_0x80232(0x1ae)),![];try{const _0x4c7761=Array[_0x80232(0x1dc)](_0x2c9418)?_0x2c9418:[_0x2c9418];for(const _0x5844f7 of _0x4c7761){await this[_0x80232(0x1d6)][_0x80232(0x181)]({'topic':_0x5844f7,'fromBeginning':_0x1cc87f}),console[_0x80232(0x1d1)](_0x80232(0x1e4)+_0x5844f7+'\x20(fromBeginning:\x20'+_0x1cc87f+')');}return this[_0x80232(0x1fb)]=[...new Set([...this[_0x80232(0x1fb)],..._0x4c7761])],!![];}catch(_0x14eab6){return console[_0x80232(0x1c7)](_0x80232(0x194)+_0x14eab6['message']),![];}}async[a0_0x15617e(0x1df)](_0x3d394c,_0x142209={}){const _0x514ed4=a0_0x15617e,_0x99a5b4={'VUccK':function(_0x504421,_0x26f3f6){return _0x504421>_0x26f3f6;},'IRGmX':function(_0x53c96d){return _0x53c96d();},'kjRIZ':_0x514ed4(0x1e1),'HYfWp':function(_0x48dcb0,_0x409307){return _0x48dcb0!==_0x409307;}};if(!this['isConnected'])return console['error'](_0x99a5b4['kjRIZ']),![];if(this['isRunning'])return console['log'](_0x514ed4(0x1f2)),!![];const _0x1d07d2=this[_0x514ed4(0x1b8)]();this[_0x514ed4(0x189)]=_0x3d394c;try{return this['metrics'][_0x514ed4(0x1d8)]=new Date(),await this['consumer']['run']({'autoCommit':_0x99a5b4['HYfWp'](_0x142209[_0x514ed4(0x1a0)],undefined)?_0x142209[_0x514ed4(0x1a0)]:_0x1d07d2[_0x514ed4(0x1a0)],'autoCommitInterval':_0x1d07d2['autoCommitInterval'],'eachMessage':async({topic:_0x58f10d,partition:_0x4dfcca,message:_0x4ba9c4,heartbeat:_0x320fa7})=>{const _0x8b8946=_0x514ed4,_0x224683=Date[_0x8b8946(0x18b)]();this[_0x8b8946(0x1f6)][_0x8b8946(0x1b9)]++,this[_0x8b8946(0x1f6)]['lastMessageTime']=new Date();try{const _0x4f19af=_0x4ba9c4['value']?_0x4ba9c4['value'][_0x8b8946(0x197)]():null;let _0x2c0055=null;try{_0x2c0055=_0x4f19af?JSON['parse'](_0x4f19af):null;}catch(_0x4f3654){_0x2c0055=_0x4f19af;}const _0x106fac={'topic':_0x58f10d,'partition':_0x4dfcca,'offset':_0x4ba9c4['offset'],'key':_0x4ba9c4['key']?_0x4ba9c4[_0x8b8946(0x1db)]['toString']():null,'headers':this[_0x8b8946(0x19d)](_0x4ba9c4['headers']),'timestamp':_0x4ba9c4[_0x8b8946(0x180)],'value':_0x2c0055,'raw':_0x4f19af};this['messageHandler']&&await this['messageHandler'](_0x106fac);!_0x1d07d2['autoCommit']&&await this['consumer'][_0x8b8946(0x1f0)]([{'topic':_0x58f10d,'partition':_0x4dfcca,'offset':(parseInt(_0x4ba9c4[_0x8b8946(0x1b6)])+0x1)[_0x8b8946(0x197)]()}]);this['metrics'][_0x8b8946(0x1a3)]++;const _0x2350b1=Date['now']()-_0x224683;this['metrics'][_0x8b8946(0x1b4)][_0x8b8946(0x1a2)](_0x2350b1),_0x99a5b4[_0x8b8946(0x199)](this[_0x8b8946(0x1f6)][_0x8b8946(0x1b4)][_0x8b8946(0x1a7)],0x64)&&this[_0x8b8946(0x1f6)][_0x8b8946(0x1b4)]['shift'](),await _0x99a5b4['IRGmX'](_0x320fa7);}catch(_0x21b3e8){this[_0x8b8946(0x1f6)][_0x8b8946(0x1e2)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x21b3e8['message']);throw _0x21b3e8;}}}),this[_0x514ed4(0x1cc)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x2af1b2){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x2af1b2['message']),![];}}['parseHeaders'](_0x2aa4e9){const _0x37dcd5=a0_0x15617e;if(!_0x2aa4e9)return{};const _0x34531f={};for(const [_0x350deb,_0x16f89c]of Object[_0x37dcd5(0x186)](_0x2aa4e9)){_0x34531f[_0x350deb]=_0x16f89c?_0x16f89c[_0x37dcd5(0x197)]():null;}return _0x34531f;}async['pause'](){const _0x101123=a0_0x15617e,_0x27c8d9={'ezdWS':_0x101123(0x1b0)};if(!this[_0x101123(0x18c)]||!this[_0x101123(0x1cc)])return console['log'](_0x27c8d9[_0x101123(0x1ce)]),![];if(this['isPaused'])return console[_0x101123(0x1d1)]('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x52dc92=this[_0x101123(0x1fb)][_0x101123(0x17e)](_0x1028a1=>({'topic':_0x1028a1}));return this['consumer']['pause'](_0x52dc92),this['isPaused']=!![],console[_0x101123(0x1d1)](_0x101123(0x1d7)),!![];}catch(_0xb9b935){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0xb9b935[_0x101123(0x1e9)]),![];}}async['resume'](){const _0x5a470b=a0_0x15617e,_0x2aaf53={'pnDva':_0x5a470b(0x1a8)};if(!this['isConnected']||!this['isRunning'])return console[_0x5a470b(0x1d1)](_0x2aaf53[_0x5a470b(0x1be)]),![];if(!this[_0x5a470b(0x183)])return console[_0x5a470b(0x1d1)]('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x300c5e=this[_0x5a470b(0x1fb)][_0x5a470b(0x17e)](_0x55eada=>({'topic':_0x55eada}));return this[_0x5a470b(0x1d6)]['resume'](_0x300c5e),this['isPaused']=![],console['log'](_0x5a470b(0x1a6)),!![];}catch(_0x2f1dce){return console[_0x5a470b(0x1c7)](_0x5a470b(0x1c0)+_0x2f1dce[_0x5a470b(0x1e9)]),![];}}async[a0_0x15617e(0x1b5)](){const _0x5cd519=a0_0x15617e,_0x85868b={'uZGdj':'[KafkaConsumer]\x20Consumer\x20not\x20connected','CHsmw':_0x5cd519(0x1e7),'wWyUV':_0x5cd519(0x1ac)};if(!this['isConnected'])return console[_0x5cd519(0x1d1)](_0x85868b['uZGdj']),!![];try{const _0x56bff4=_0x85868b[_0x5cd519(0x1f4)][_0x5cd519(0x1a5)]('|');let _0x56f3df=0x0;while(!![]){switch(_0x56bff4[_0x56f3df++]){case'0':this['consumer']&&(await this[_0x5cd519(0x1d6)]['stop'](),await this[_0x5cd519(0x1d6)]['disconnect']());continue;case'1':this['isRunning']=![];continue;case'2':this['isPaused']=![];continue;case'3':return!![];case'4':console['log'](_0x85868b['wWyUV']);continue;case'5':this['isConnected']=![];continue;}break;}}catch(_0x160e07){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x160e07['message']),![];}}async['seekToOffset'](_0x2c9431,_0x1e3e60,_0x540c7b){const _0x9276e6=a0_0x15617e;if(!this['isConnected'])return console[_0x9276e6(0x1c7)]('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this['consumer']['seek']({'topic':_0x2c9431,'partition':_0x1e3e60,'offset':_0x540c7b[_0x9276e6(0x197)]()}),console['log'](_0x9276e6(0x1ea)+_0x540c7b+'\x20on\x20'+_0x2c9431+':'+_0x1e3e60),!![];}catch(_0x354c1c){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x354c1c['message']),![];}}[a0_0x15617e(0x1fa)](){const _0x5778d4=a0_0x15617e,_0x2c98d2=this['getConfig']();return{'enabled':_0x2c98d2[_0x5778d4(0x1f1)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x5778d4(0x183)],'brokers':_0x2c98d2['brokers'],'clientId':_0x2c98d2['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x15617e(0x1f3)](){const _0x94adf=a0_0x15617e,_0x22c3aa={'iNKsR':function(_0x5e7ac6,_0x5c7371){return _0x5e7ac6/_0x5c7371;},'Kxrly':function(_0x53e0aa,_0xec32e9){return _0x53e0aa>_0xec32e9;},'pZzGi':function(_0x59c868,_0x48b9d7){return _0x59c868+_0x48b9d7;},'XmTfQ':function(_0x4f87c9,_0xbc4f94){return _0x4f87c9*_0xbc4f94;},'BaRtu':function(_0x3b69a8,_0x28df7d){return _0x3b69a8-_0x28df7d;},'SMrcp':function(_0x529d05,_0x317ba7){return _0x529d05+_0x317ba7;},'bXEry':function(_0x28b368,_0x3ad984){return _0x28b368+_0x3ad984;}},_0x11aa00=this[_0x94adf(0x1f6)]['processingTimes'][_0x94adf(0x1a7)]>0x0?_0x22c3aa[_0x94adf(0x1c2)](this[_0x94adf(0x1f6)][_0x94adf(0x1b4)][_0x94adf(0x17f)]((_0x545b80,_0x49d671)=>_0x545b80+_0x49d671,0x0),this['metrics'][_0x94adf(0x1b4)][_0x94adf(0x1a7)]):0x0,_0x3f7802=this['metrics']['processingTimes']['length']>0x0?Math[_0x94adf(0x1e3)](...this[_0x94adf(0x1f6)][_0x94adf(0x1b4)]):0x0,_0x85d3f3=this['metrics'][_0x94adf(0x1b4)]['length']>0x0?Math[_0x94adf(0x1bb)](...this[_0x94adf(0x1f6)][_0x94adf(0x1b4)]):0x0;return{'messagesReceived':this[_0x94adf(0x1f6)]['messagesReceived'],'messagesProcessed':this[_0x94adf(0x1f6)][_0x94adf(0x1a3)],'messagesFailed':this['metrics']['messagesFailed'],'successRate':_0x22c3aa['Kxrly'](this[_0x94adf(0x1f6)][_0x94adf(0x1b9)],0x0)?_0x22c3aa[_0x94adf(0x1bc)](_0x22c3aa[_0x94adf(0x18a)](_0x22c3aa[_0x94adf(0x1c2)](this['metrics'][_0x94adf(0x1a3)],this[_0x94adf(0x1f6)][_0x94adf(0x1b9)]),0x64)[_0x94adf(0x18d)](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x94adf(0x19a)],'startTime':this[_0x94adf(0x1f6)][_0x94adf(0x1d8)],'uptime':this['metrics'][_0x94adf(0x1d8)]?_0x22c3aa['pZzGi'](Math['floor'](_0x22c3aa[_0x94adf(0x18f)](Date['now'](),this[_0x94adf(0x1f6)]['startTime']['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':Math['round'](_0x11aa00)+'ms','min':_0x22c3aa['SMrcp'](_0x3f7802,'ms'),'max':_0x22c3aa[_0x94adf(0x1d4)](_0x85d3f3,'ms')}};}[a0_0x15617e(0x1bd)](){const _0x32e7b5=a0_0x15617e,_0x326bc9={'TYRGD':_0x32e7b5(0x1a4)};this[_0x32e7b5(0x1f6)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x32e7b5(0x1d1)](_0x326bc9[_0x32e7b5(0x1f5)]);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x547ce5=a0_0x15617e;instance&&(instance[_0x547ce5(0x19c)](),instance=null);}function a0_0x432e(){const _0x3fd567=['vfLsr0q','Bwv0CMLJCW','qvrSB3C','Dg9mB3DLCKnHC2u','y29UBMvJDgLVBLbYB21PC2u','z2v0u3rHDhvZ','C3vIC2nYAwjLzfrVCgLJCW','lwnVBNn1BwvYlwDYB3vW','BwfW','CMvKDwnL','DgLTzxn0yw1W','C3vIC2nYAwjL','su5gtW','AxnqyxvZzwq','zhHhqwK','mJG1ntG3mxLZtxvhBG','zw50CMLLCW','s0fgs0fFu0fttf9qqvntv09sra','Dhj1zq','BwvZC2fNzuHHBMrSzxi','wg1uzLe','BM93','AxndB25Uzwn0zwq','Dg9gAxHLza','C2v0DxbfDMvUDeHHBMrSzxjZ','qMfsDhu','s0fgs0fFq09otKvdveLptL9usu1ft1vu','CMv0CNLnyxHezwXHEq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','rgnby28','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','CMv0CNLezwXHEq','z2v0tg9Ntgv2zwW','Dg9tDhjPBMC','y2XPzw50swq','vLvJy0S','BgfZDe1LC3nHz2vuAw1L','mtm1mZe1nLfPB0zvBW','y2XVC2u','CgfYC2vizwfKzxjZ','A2fMA2e','v0fstG','yxv0B0nVBw1PDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChvZAa','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','C3bSAxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','BgvUz3rO','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','vgjOuwW','s0fgs0fFq0Xjru5ux0Le','mtaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','nda0Eu1Uswr6','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','y29UBMvJDa','s0fgs0fFu0vtu0LptL9usu1ft1vu','mZaWma','ChjVy2vZC2LUz1rPBwvZ','C3rVCa','B2zMC2v0','AxnjBML0AwfSAxPPBMC','z2v0q29UzMLN','BwvZC2fNzxnszwnLAxzLza','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','Bwf4','CfP6r2K','CMvZzxrnzxrYAwnZ','Cg5eDMe','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','z3jVDxbjza','Au5lC1i','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','Bg9Ntgv2zwW','Bwf4qNL0zxnqzxjqyxj0AxrPB24','zxjYB3i','nZq1oda0DgDqqNvt','s0fgs0fFuKvuuLLFqvruru1qvfm','CNnWAeu','C2vZC2LVBLrPBwvVDxq','AxnsDw5UAw5N','CMv0CNLbDhrLBxb0CW','zxPKv1m','mJu0ote0mhLHuNjMta','qKvfuhu','Bg9N','zw52','mJKZodrhrvjfAMi','yLHfCNK','y29UC3vTzxiUCMvIywXHBMnPBMC','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','C3rHCNruAw1L','s0fgs0fFru5bqKXfra','AMLjyK8','A2v5','AxnbCNjHEq','tK9useLorW','s0fgs0fFqvvut19dt01nsvq','C3rHCNrdB25ZDw1PBMC','A2fMA2fQCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','BwvZC2fNzxngywLSzwq','BwLU','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','mJu2mtfZANrRshe','nZC3r3fmAhL0','mhW1Fdf8mNW0Fdm','icHNCM91CeLKoIa','BwvZC2fNzq','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','s0fgs0fFte9hx0XfvKvm','mZC0mJKWofLJv2LkrW','Bg9JywXOB3n0oJKWoti','s0fgs0fFsevbuLrcrufux0LovevsvKfm','s0fgs0fFu0fttf9nruniqu5ju00','y29TBwL0t2zMC2v0CW','zw5HyMXLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','z2v0twv0CMLJCW','q0HZBxC'];a0_0x432e=function(){return _0x3fd567;};return a0_0x432e();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x20a05b=a0_0x5d4f;(function(_0x324dde,_0x2674d8){const _0x7cfe87=a0_0x5d4f,_0x460134=_0x324dde();while(!![]){try{const _0x42474e=parseInt(_0x7cfe87(0x1eb))/0x1+-parseInt(_0x7cfe87(0x206))/0x2*(-parseInt(_0x7cfe87(0x1e9))/0x3)+parseInt(_0x7cfe87(0x233))/0x4+parseInt(_0x7cfe87(0x215))/0x5+-parseInt(_0x7cfe87(0x1f3))/0x6*(parseInt(_0x7cfe87(0x23c))/0x7)+parseInt(_0x7cfe87(0x22a))/0x8+-parseInt(_0x7cfe87(0x1da))/0x9*(parseInt(_0x7cfe87(0x205))/0xa);if(_0x42474e===_0x2674d8)break;else _0x460134['push'](_0x460134['shift']());}catch(_0x4bbe29){_0x460134['push'](_0x460134['shift']());}}}(a0_0x85b6,0x951a4));function a0_0x5d4f(_0x36ca9f,_0x2b1598){_0x36ca9f=_0x36ca9f-0x1cf;const _0x85b68a=a0_0x85b6();let _0x5d4fc8=_0x85b68a[_0x36ca9f];if(a0_0x5d4f['ofiZyX']===undefined){var _0x4ed59d=function(_0xddaa7a){const _0x410483='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x90816f='',_0x10851f='';for(let _0x4fbdb4=0x0,_0x5da195,_0x517018,_0x161fb8=0x0;_0x517018=_0xddaa7a['charAt'](_0x161fb8++);~_0x517018&&(_0x5da195=_0x4fbdb4%0x4?_0x5da195*0x40+_0x517018:_0x517018,_0x4fbdb4++%0x4)?_0x90816f+=String['fromCharCode'](0xff&_0x5da195>>(-0x2*_0x4fbdb4&0x6)):0x0){_0x517018=_0x410483['indexOf'](_0x517018);}for(let _0x1c92ea=0x0,_0x2d495a=_0x90816f['length'];_0x1c92ea<_0x2d495a;_0x1c92ea++){_0x10851f+='%'+('00'+_0x90816f['charCodeAt'](_0x1c92ea)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x10851f);};a0_0x5d4f['nSRuJe']=_0x4ed59d,a0_0x5d4f['oQSOoU']={},a0_0x5d4f['ofiZyX']=!![];}const _0x3594be=_0x85b68a[0x0],_0x28f2a4=_0x36ca9f+_0x3594be,_0x27726b=a0_0x5d4f['oQSOoU'][_0x28f2a4];return!_0x27726b?(_0x5d4fc8=a0_0x5d4f['nSRuJe'](_0x5d4fc8),a0_0x5d4f['oQSOoU'][_0x28f2a4]=_0x5d4fc8):_0x5d4fc8=_0x27726b,_0x5d4fc8;}const {Kafka,logLevel}=require(a0_0x20a05b(0x209)),{v7:uuidv7}=require(a0_0x20a05b(0x1e2));class KafkaConsumerService{constructor(){const _0x55eef7=a0_0x20a05b,_0x10c883='8|10|4|0|3|1|7|5|9|2|6'['split']('|');let _0x1ab5d5=0x0;while(!![]){switch(_0x10c883[_0x1ab5d5++]){case'0':this['isInitializing']=![];continue;case'1':this[_0x55eef7(0x235)]=![];continue;case'2':this[_0x55eef7(0x1ee)]=null;continue;case'3':this['isRunning']=![];continue;case'4':this['isConnected']=![];continue;case'5':this[_0x55eef7(0x23e)]=[];continue;case'6':this[_0x55eef7(0x1d6)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'7':this['connectionPromise']=null;continue;case'8':this['kafka']=null;continue;case'9':this['groupId']=null;continue;case'10':this[_0x55eef7(0x1d8)]=null;continue;}break;}}[a0_0x20a05b(0x208)](){const _0x7e1929=a0_0x20a05b,_0x191a74={'sTfOe':_0x7e1929(0x1f4),'IOxPX':_0x7e1929(0x1f2),'bAegD':'default','HuBcG':function(_0x1384db,_0x129e4f){return _0x1384db(_0x129e4f);},'pOLNl':function(_0x1c079e,_0x289a4e){return _0x1c079e(_0x289a4e);},'rrRdC':'25000','FpAMw':'3000','BoSJK':'5000','HVYJE':_0x7e1929(0x211)};return{'enabled':process['env'][_0x7e1929(0x1f6)]===_0x191a74['sTfOe'],'brokers':(process['env']['KAFKA_BROKERS']||_0x191a74['IOxPX'])['split'](','),'clientId':process[_0x7e1929(0x1f9)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x7e1929(0x1f9)][_0x7e1929(0x22f)]||_0x191a74[_0x7e1929(0x21c)])+_0x7e1929(0x241),'connectionTimeout':_0x191a74['HuBcG'](parseInt,process[_0x7e1929(0x1f9)]['KAFKA_CONNECTION_TIMEOUT']||_0x7e1929(0x228)),'requestTimeout':_0x191a74[_0x7e1929(0x1e1)](parseInt,process[_0x7e1929(0x1f9)][_0x7e1929(0x204)]||_0x191a74[_0x7e1929(0x21d)]),'sessionTimeout':parseInt(process['env'][_0x7e1929(0x219)]||'30000'),'heartbeatInterval':_0x191a74['HuBcG'](parseInt,process['env'][_0x7e1929(0x1dc)]||_0x191a74['FpAMw']),'maxBytesPerPartition':_0x191a74[_0x7e1929(0x1db)](parseInt,process[_0x7e1929(0x1f9)][_0x7e1929(0x20a)]||_0x7e1929(0x21b)),'autoCommit':process[_0x7e1929(0x1f9)][_0x7e1929(0x1ff)]==='true','autoCommitInterval':parseInt(process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0x191a74[_0x7e1929(0x1d9)]),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x7e1929(0x1f9)][_0x7e1929(0x230)]||'1000'),'retryMaxDelay':_0x191a74['pOLNl'](parseInt,process['env']['KAFKA_RETRY_MAX_DELAY']||_0x191a74[_0x7e1929(0x216)]),'logLevel':process[_0x7e1929(0x1f9)][_0x7e1929(0x200)]||'warn'};}['getLogLevel'](_0x23612a){const _0x1ef573=a0_0x20a05b,_0x4dba87={'nothing':logLevel['NOTHING'],'error':logLevel[_0x1ef573(0x242)],'warn':logLevel[_0x1ef573(0x1d4)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x4dba87[_0x23612a['toLowerCase']()]||logLevel['WARN'];}async['initialize'](_0x296727={}){const _0x5250a1=a0_0x20a05b,_0x1a1f6b={'OcPHB':function(_0x264fd4,_0x9b9368){return _0x264fd4===_0x9b9368;},'NlEbR':function(_0x6e3d26,_0x2841c8){return _0x6e3d26(_0x2841c8);}},_0x21e116=this['getConfig']();if(!_0x21e116[_0x5250a1(0x20b)])return console[_0x5250a1(0x214)](_0x5250a1(0x210)),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x5250a1(0x1df)])return this[_0x5250a1(0x1df)];return this[_0x5250a1(0x1de)]=!![],this[_0x5250a1(0x1df)]=new Promise(async _0x2f0765=>{const _0xdfbd90=_0x5250a1;try{let _0x9cc3c2=undefined;_0x1a1f6b[_0xdfbd90(0x223)](process['env'][_0xdfbd90(0x225)],'true')&&(_0x9cc3c2=!![]);let _0x3f9af7=undefined;process[_0xdfbd90(0x1f9)]['KAFKA_SASL_MECHANISM']&&(_0x3f9af7={'mechanism':process['env'][_0xdfbd90(0x220)],'username':process[_0xdfbd90(0x1f9)]['KAFKA_SASL_USERNAME']||'','password':process['env'][_0xdfbd90(0x227)]||''}),this['kafka']=new Kafka({'clientId':_0x296727[_0xdfbd90(0x1f1)]||_0x21e116['clientId'],'brokers':_0x21e116['brokers'],'connectionTimeout':_0x21e116['connectionTimeout'],'requestTimeout':_0x21e116['requestTimeout'],'logLevel':this['getLogLevel'](_0x21e116['logLevel']),'ssl':_0x9cc3c2,'sasl':_0x3f9af7,'retry':{'initialRetryTime':_0x21e116[_0xdfbd90(0x243)],'retries':_0x21e116[_0xdfbd90(0x22c)],'maxRetryTime':_0x21e116[_0xdfbd90(0x1d5)]}}),this['groupId']=_0x296727[_0xdfbd90(0x21a)]||'restforge-'+(process[_0xdfbd90(0x1f9)][_0xdfbd90(0x22f)]||_0xdfbd90(0x21f))+'-consumer-group',this[_0xdfbd90(0x1d8)]=this[_0xdfbd90(0x1d1)][_0xdfbd90(0x1d8)]({'groupId':this['groupId'],'sessionTimeout':_0x21e116['sessionTimeout'],'heartbeatInterval':_0x21e116['heartbeatInterval'],'maxBytesPerPartition':_0x21e116['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer'][_0xdfbd90(0x212)](),this['isConnected']=!![],console[_0xdfbd90(0x214)](_0xdfbd90(0x202)+_0x21e116['brokers'][_0xdfbd90(0x1f8)](',\x20')+_0xdfbd90(0x1d0)+this['groupId']+')'),this[_0xdfbd90(0x1e5)](),_0x1a1f6b[_0xdfbd90(0x1d3)](_0x2f0765,!![]);}catch(_0x11c022){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x11c022['message']),this['isConnected']=![],_0x1a1f6b['NlEbR'](_0x2f0765,![]);}finally{this[_0xdfbd90(0x1de)]=![];}}),this[_0x5250a1(0x1df)];}['setupEventHandlers'](){const _0x165c6c=a0_0x20a05b,_0x58b1ce={'HKJtU':_0x165c6c(0x1d7)},_0x41e858=_0x58b1ce['HKJtU']['split']('|');let _0x370f09=0x0;while(!![]){switch(_0x41e858[_0x370f09++]){case'0':this[_0x165c6c(0x1d8)]['on']('consumer.disconnect',()=>{const _0x355056=_0x165c6c;console[_0x355056(0x214)](_0x355056(0x1cf)),this[_0x355056(0x23d)]=![],this[_0x355056(0x1dd)]=![];});continue;case'1':this['consumer']['on']('consumer.stop',()=>{const _0x441b95=_0x165c6c;console[_0x441b95(0x214)](_0x441b95(0x217)),this[_0x441b95(0x1dd)]=![];});continue;case'2':this['consumer']['on'](_0x165c6c(0x23b),()=>{const _0x2daae8=_0x165c6c;console[_0x2daae8(0x214)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});continue;case'3':if(!this['consumer'])return;continue;case'4':this[_0x165c6c(0x1d8)]['on']('consumer.crash',_0x35d260=>{const _0x5929ac=_0x165c6c;console[_0x5929ac(0x1f5)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x35d260['payload'][_0x5929ac(0x1f5)]['message']),this[_0x5929ac(0x1dd)]=![];});continue;}break;}}async['subscribe'](_0x408088,_0x58b9a2=![]){const _0x1d75f9=a0_0x20a05b;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x2921d9=Array[_0x1d75f9(0x239)](_0x408088)?_0x408088:[_0x408088];for(const _0x13d9a8 of _0x2921d9){await this[_0x1d75f9(0x1d8)]['subscribe']({'topic':_0x13d9a8,'fromBeginning':_0x58b9a2}),console[_0x1d75f9(0x214)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x13d9a8+'\x20(fromBeginning:\x20'+_0x58b9a2+')');}return this[_0x1d75f9(0x23e)]=[...new Set([...this[_0x1d75f9(0x23e)],..._0x2921d9])],!![];}catch(_0x235b36){return console[_0x1d75f9(0x1f5)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x235b36['message']),![];}}async['startConsuming'](_0x53b726,_0x331c69={}){const _0x40d734=a0_0x20a05b,_0x1b107a={'ljBui':function(_0x5d2d28,_0x3cec5c){return _0x5d2d28>_0x3cec5c;},'nUoYE':function(_0x55719d){return _0x55719d();},'YLKWd':_0x40d734(0x1ed),'LFbYR':function(_0x38d8c0,_0x3dd8ca){return _0x38d8c0!==_0x3dd8ca;}};if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console['log'](_0x1b107a['YLKWd']),!![];const _0x506861=this['getConfig']();this[_0x40d734(0x1ee)]=_0x53b726;try{return this['metrics'][_0x40d734(0x234)]=new Date(),await this['consumer']['run']({'autoCommit':_0x1b107a['LFbYR'](_0x331c69['autoCommit'],undefined)?_0x331c69[_0x40d734(0x1fc)]:_0x506861['autoCommit'],'autoCommitInterval':_0x506861['autoCommitInterval'],'eachMessage':async({topic:_0x26b0c9,partition:_0x29177a,message:_0x4a155e,heartbeat:_0x5bd3fd})=>{const _0x1b612a=_0x40d734,_0x5833d0=Date[_0x1b612a(0x207)]();this[_0x1b612a(0x1d6)][_0x1b612a(0x231)]++,this['metrics'][_0x1b612a(0x244)]=new Date();try{const _0x5ed882=_0x4a155e['value']?_0x4a155e[_0x1b612a(0x22e)]['toString']():null;let _0x43d073=null;try{_0x43d073=_0x5ed882?JSON['parse'](_0x5ed882):null;}catch(_0x23355d){_0x43d073=_0x5ed882;}const _0x391827={'topic':_0x26b0c9,'partition':_0x29177a,'offset':_0x4a155e[_0x1b612a(0x1e4)],'key':_0x4a155e[_0x1b612a(0x232)]?_0x4a155e['key'][_0x1b612a(0x226)]():null,'headers':this['parseHeaders'](_0x4a155e[_0x1b612a(0x224)]),'timestamp':_0x4a155e[_0x1b612a(0x1f7)],'value':_0x43d073,'raw':_0x5ed882};this[_0x1b612a(0x1ee)]&&await this[_0x1b612a(0x1ee)](_0x391827);!_0x506861[_0x1b612a(0x1fc)]&&await this[_0x1b612a(0x1d8)]['commitOffsets']([{'topic':_0x26b0c9,'partition':_0x29177a,'offset':(parseInt(_0x4a155e[_0x1b612a(0x1e4)])+0x1)[_0x1b612a(0x226)]()}]);this[_0x1b612a(0x1d6)][_0x1b612a(0x1fe)]++;const _0x558178=Date[_0x1b612a(0x207)]()-_0x5833d0;this['metrics'][_0x1b612a(0x23a)]['push'](_0x558178),_0x1b107a[_0x1b612a(0x1e7)](this[_0x1b612a(0x1d6)]['processingTimes']['length'],0x64)&&this['metrics'][_0x1b612a(0x23a)][_0x1b612a(0x1fa)](),await _0x1b107a['nUoYE'](_0x5bd3fd);}catch(_0x3f94fd){this[_0x1b612a(0x1d6)]['messagesFailed']++,console[_0x1b612a(0x1f5)](_0x1b612a(0x1fd)+_0x3f94fd['message']);throw _0x3f94fd;}}}),this['isRunning']=!![],console['log'](_0x40d734(0x229)+this[_0x40d734(0x23e)]['join'](',\x20')),!![];}catch(_0x1aade6){return console[_0x40d734(0x1f5)](_0x40d734(0x236)+_0x1aade6['message']),![];}}[a0_0x20a05b(0x1f0)](_0x69aa5f){const _0x1d5834=a0_0x20a05b;if(!_0x69aa5f)return{};const _0x1bb76c={};for(const [_0x57e8ae,_0xbac20]of Object['entries'](_0x69aa5f)){_0x1bb76c[_0x57e8ae]=_0xbac20?_0xbac20[_0x1d5834(0x226)]():null;}return _0x1bb76c;}async['pause'](){const _0x3dceea=a0_0x20a05b,_0x2a4641={'fFZKz':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','wuZxd':'[KafkaConsumer]\x20Consumer\x20already\x20paused','iPgTm':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x3dceea(0x23d)]||!this['isRunning'])return console[_0x3dceea(0x214)](_0x2a4641[_0x3dceea(0x20c)]),![];if(this[_0x3dceea(0x235)])return console['log'](_0x2a4641['wuZxd']),!![];try{const _0x11edb7=this['subscribedTopics']['map'](_0x41edf2=>({'topic':_0x41edf2}));return this['consumer'][_0x3dceea(0x1fb)](_0x11edb7),this['isPaused']=!![],console['log'](_0x2a4641['iPgTm']),!![];}catch(_0x254b55){return console[_0x3dceea(0x1f5)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x254b55[_0x3dceea(0x20d)]),![];}}async[a0_0x20a05b(0x201)](){const _0x777cd5=a0_0x20a05b,_0x170cdd={'lntah':'[KafkaConsumer]\x20Consumer\x20not\x20paused','VBMne':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this[_0x777cd5(0x1dd)])return console['log']('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this['isPaused'])return console[_0x777cd5(0x214)](_0x170cdd['lntah']),!![];try{const _0x140f9c=this['subscribedTopics'][_0x777cd5(0x1ec)](_0x4fe8f6=>({'topic':_0x4fe8f6}));return this['consumer']['resume'](_0x140f9c),this[_0x777cd5(0x235)]=![],console[_0x777cd5(0x214)](_0x170cdd[_0x777cd5(0x1e0)]),!![];}catch(_0x148f6e){return console[_0x777cd5(0x1f5)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x148f6e['message']),![];}}async['stop'](){const _0x15390a=a0_0x20a05b,_0x1472cb={'PipUc':'[KafkaConsumer]\x20Consumer\x20not\x20connected'};if(!this['isConnected'])return console[_0x15390a(0x214)](_0x1472cb['PipUc']),!![];try{const _0x26915f='0|4|2|5|3|1'['split']('|');let _0x2573e2=0x0;while(!![]){switch(_0x26915f[_0x2573e2++]){case'0':this['consumer']&&(await this['consumer']['stop'](),await this[_0x15390a(0x1d8)][_0x15390a(0x23f)]());continue;case'1':return!![];case'2':this['isRunning']=![];continue;case'3':console[_0x15390a(0x214)](_0x15390a(0x240));continue;case'4':this[_0x15390a(0x23d)]=![];continue;case'5':this[_0x15390a(0x235)]=![];continue;}break;}}catch(_0x193d41){return console['error'](_0x15390a(0x21e)+_0x193d41['message']),![];}}async[a0_0x20a05b(0x218)](_0x1b58d3,_0x3986fe,_0x30df56){const _0x56941b=a0_0x20a05b;if(!this['isConnected'])return console['error'](_0x56941b(0x1e8)),![];try{return this[_0x56941b(0x1d8)]['seek']({'topic':_0x1b58d3,'partition':_0x3986fe,'offset':_0x30df56[_0x56941b(0x226)]()}),console[_0x56941b(0x214)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x30df56+'\x20on\x20'+_0x1b58d3+':'+_0x3986fe),!![];}catch(_0x313bff){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x313bff['message']),![];}}['getStatus'](){const _0x180d31=a0_0x20a05b,_0xfda539=this['getConfig']();return{'enabled':_0xfda539['enabled'],'connected':this[_0x180d31(0x23d)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0xfda539[_0x180d31(0x20e)],'clientId':_0xfda539['clientId'],'groupId':this[_0x180d31(0x21a)],'subscribedTopics':this[_0x180d31(0x23e)]};}[a0_0x20a05b(0x1e3)](){const _0x442bfe=a0_0x20a05b,_0x35e363={'FIsPP':function(_0x32a530,_0x456a65){return _0x32a530/_0x456a65;},'buSQv':function(_0x2f9bd5,_0x2d8aab){return _0x2f9bd5>_0x2d8aab;},'UpmAt':function(_0x56dbbc,_0x41a48d){return _0x56dbbc+_0x41a48d;},'UsKYA':function(_0x99d2ea,_0x1db40b){return _0x99d2ea/_0x1db40b;},'uJkDw':function(_0x2d4b6d,_0x1797ec){return _0x2d4b6d+_0x1797ec;},'FddhV':function(_0x4c4bbf,_0x68c96b){return _0x4c4bbf-_0x68c96b;},'jalol':function(_0x446161,_0x483c59){return _0x446161+_0x483c59;}},_0x53c406=this['metrics'][_0x442bfe(0x23a)][_0x442bfe(0x22d)]>0x0?_0x35e363[_0x442bfe(0x237)](this['metrics']['processingTimes'][_0x442bfe(0x222)]((_0x5c4d83,_0x1c59e9)=>_0x5c4d83+_0x1c59e9,0x0),this[_0x442bfe(0x1d6)][_0x442bfe(0x23a)]['length']):0x0,_0x4fb7b0=this[_0x442bfe(0x1d6)]['processingTimes']['length']>0x0?Math['min'](...this[_0x442bfe(0x1d6)][_0x442bfe(0x23a)]):0x0,_0x9ed6dd=_0x35e363['buSQv'](this['metrics'][_0x442bfe(0x23a)]['length'],0x0)?Math[_0x442bfe(0x1ea)](...this[_0x442bfe(0x1d6)]['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x442bfe(0x231)],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this[_0x442bfe(0x1d6)]['messagesFailed'],'successRate':this['metrics'][_0x442bfe(0x231)]>0x0?_0x35e363['UpmAt']((_0x35e363['UsKYA'](this[_0x442bfe(0x1d6)]['messagesProcessed'],this[_0x442bfe(0x1d6)][_0x442bfe(0x231)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x442bfe(0x244)],'startTime':this['metrics'][_0x442bfe(0x234)],'uptime':this[_0x442bfe(0x1d6)][_0x442bfe(0x234)]?_0x35e363['uJkDw'](Math[_0x442bfe(0x22b)](_0x35e363[_0x442bfe(0x213)](_0x35e363[_0x442bfe(0x20f)](Date['now'](),this[_0x442bfe(0x1d6)]['startTime']['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':Math['round'](_0x53c406)+'ms','min':_0x35e363[_0x442bfe(0x1d2)](_0x4fb7b0,'ms'),'max':_0x35e363[_0x442bfe(0x1ef)](_0x9ed6dd,'ms')}};}[a0_0x20a05b(0x238)](){const _0x12d65d=a0_0x20a05b;this[_0x12d65d(0x1d6)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){const _0x50354f=a0_0x20a05b;await this[_0x50354f(0x1e6)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x49521b=a0_0x20a05b;instance&&(instance[_0x49521b(0x203)](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x85b6(){const _0x478391=['zw52','C2HPzNq','Cgf1C2u','yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','BwvZC2fNzxnqCM9JzxnZzwq','s0fgs0fFqvvut19dt01nsvq','s0fgs0fFte9hx0XfvKvm','CMvZDw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','y2XVC2u','s0fgs0fFuKvrvuvtvf9usu1ft1vu','mJq3otCWA3j4rNbM','nJyXmeLxzuvqtG','BM93','z2v0q29UzMLN','A2fMA2fQCW','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','zw5HyMXLza','zKzAs3O','BwvZC2fNzq','yNjVA2vYCW','rMrKAfy','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','mZaWmda','y29UBMvJDa','vxnlwue','Bg9N','ndeXmde0mfryAuXnDq','sfzzsKu','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','C2vLA1rVt2zMC2v0','s0fgs0fFu0vtu0LptL9usu1ft1vu','z3jVDxbjza','mta0odu3nG','yKfLz0q','CNjszem','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','zgvMyxvSDa','s0fgs0fFu0fttf9nruniqu5ju00','zxHWB3j0CW','CMvKDwnL','t2nqsei','AgvHzgvYCW','s0fgs0fFu1nm','Dg9tDhjPBMC','s0fgs0fFu0fttf9qqvntv09sra','mZaWma','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','odG5mJq2nefuzejztq','zMXVB3i','CMv0CNLbDhrLBxb0CW','BgvUz3rO','DMfSDwu','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','s0fgs0fFuKvuuLLFrevmqvK','BwvZC2fNzxnszwnLAxzLza','A2v5','mJG3nJGXmNzms2fVta','C3rHCNruAw1L','AxnqyxvZzwq','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','rKLZufa','CMvZzxrnzxrYAwnZ','AxnbCNjHEq','ChjVy2vZC2LUz1rPBwvZ','y29UC3vTzxiUCMvIywXHBMnPBMC','mJuXndy1ouHnD0LJta','AxndB25Uzwn0zwq','C3vIC2nYAwjLzfrVCgLJCW','zgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','lwnVBNn1BwvY','rvjst1i','CMv0CNLezwXHEq','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','icHNCM91CeLKoIa','A2fMA2e','DuPRrhC','tMXfyLi','v0fstG','CMv0CNLnyxHezwXHEq','Bwv0CMLJCW','m3WWFdf8nhWY','y29UC3vTzxi','qM9tsKS','ode5yxvTrMzj','shvcy0C','s0fgs0fFsevbuLrcrufux0LovevsvKfm','AxnsDw5UAw5N','AxnjBML0AwfSAxPPBMC','y29UBMvJDgLVBLbYB21PC2u','vKjnBMu','Ce9mtMW','DxvPza','z2v0twv0CMLJCW','B2zMC2v0','C2v0DxbfDMvUDeHHBMrSzxjZ','C3rVCa','BgPcDwK','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','mtiZseTqz2ff','Bwf4','nZK3ndmXvuzPvhz0','BwfW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','BwvZC2fNzuHHBMrSzxi','AMfSB2W','CgfYC2vizwfKzxjZ','y2XPzw50swq','Bg9JywXOB3n0oJKWoti','mtjNDvLes2q','Dhj1zq','zxjYB3i','s0fgs0fFru5bqKXfra','DgLTzxn0yw1W','AM9PBG'];a0_0x85b6=function(){return _0x478391;};return a0_0x85b6();}module[a0_0x20a05b(0x221)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};