@restforgejs/platform 5.2.11 → 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 +151 -34
  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_0x54e254=a0_0x6aee;(function(_0x35a306,_0x1b693c){const _0x5acb85=a0_0x6aee,_0x71ef2e=_0x35a306();while(!![]){try{const _0x5654bc=-parseInt(_0x5acb85(0x201))/0x1*(parseInt(_0x5acb85(0x239))/0x2)+-parseInt(_0x5acb85(0x213))/0x3+-parseInt(_0x5acb85(0x211))/0x4*(-parseInt(_0x5acb85(0x233))/0x5)+-parseInt(_0x5acb85(0x1fe))/0x6*(parseInt(_0x5acb85(0x216))/0x7)+-parseInt(_0x5acb85(0x234))/0x8+-parseInt(_0x5acb85(0x251))/0x9+-parseInt(_0x5acb85(0x240))/0xa*(-parseInt(_0x5acb85(0x21e))/0xb);if(_0x5654bc===_0x1b693c)break;else _0x71ef2e['push'](_0x71ef2e['shift']());}catch(_0x1b3ed2){_0x71ef2e['push'](_0x71ef2e['shift']());}}}(a0_0x24be,0xcbf64));function a0_0x6aee(_0x3398de,_0x10dda3){_0x3398de=_0x3398de-0x1e2;const _0x24beb6=a0_0x24be();let _0x6aee50=_0x24beb6[_0x3398de];if(a0_0x6aee['JmVTnc']===undefined){var _0x3519be=function(_0x1ee5fa){const _0x11600f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5f0d70='',_0x29b50a='';for(let _0x5cb3c0=0x0,_0x4d8c6e,_0x80f326,_0x5948d2=0x0;_0x80f326=_0x1ee5fa['charAt'](_0x5948d2++);~_0x80f326&&(_0x4d8c6e=_0x5cb3c0%0x4?_0x4d8c6e*0x40+_0x80f326:_0x80f326,_0x5cb3c0++%0x4)?_0x5f0d70+=String['fromCharCode'](0xff&_0x4d8c6e>>(-0x2*_0x5cb3c0&0x6)):0x0){_0x80f326=_0x11600f['indexOf'](_0x80f326);}for(let _0x425b0a=0x0,_0x35d62=_0x5f0d70['length'];_0x425b0a<_0x35d62;_0x425b0a++){_0x29b50a+='%'+('00'+_0x5f0d70['charCodeAt'](_0x425b0a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29b50a);};a0_0x6aee['xqcKbO']=_0x3519be,a0_0x6aee['WpUNbP']={},a0_0x6aee['JmVTnc']=!![];}const _0xef0df8=_0x24beb6[0x0],_0x5ce4a2=_0x3398de+_0xef0df8,_0x1e4754=a0_0x6aee['WpUNbP'][_0x5ce4a2];return!_0x1e4754?(_0x6aee50=a0_0x6aee['xqcKbO'](_0x6aee50),a0_0x6aee['WpUNbP'][_0x5ce4a2]=_0x6aee50):_0x6aee50=_0x1e4754,_0x6aee50;}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x3461ec=a0_0x6aee;this[_0x3461ec(0x224)]=null,this[_0x3461ec(0x241)]=![],this[_0x3461ec(0x204)]=null,this['_options']={},this['_logger']=console,this['_subscriptions']=new Map(),this['_heartbeatTimer']=null,this['_redisPublisher']=null,this[_0x3461ec(0x1fb)]=null,this['_workerId']=process['pid'];}[a0_0x54e254(0x217)](_0x517552,_0x46a16e={}){const _0xc7d920=a0_0x54e254,_0x188531={'eAIHK':_0xc7d920(0x248),'YDDxa':function(_0x178e21,_0x36c62b,_0x4e68bc){return _0x178e21(_0x36c62b,_0x4e68bc);},'bFxOx':_0xc7d920(0x238),'WrRSj':_0xc7d920(0x1fa),'bPnrr':_0xc7d920(0x1e2)};if(this['_initialized'])return;this['_options']=_0x46a16e,this[_0xc7d920(0x204)]='full';try{this['_logger']=require(_0x188531['eAIHK'])['logger']||console;}catch(_0x4fc7c8){this[_0xc7d920(0x1ee)]=console;}const _0x2f29ef=_0x188531['YDDxa'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x517552,'path':_0x188531[_0xc7d920(0x20a)]}),this['_setupUpgradeAuth'](_0x517552),this['_wss']['on'](_0xc7d920(0x21a),(_0x5c75c9,_0x5cba3e)=>this['_handleConnection'](_0x5c75c9,_0x5cba3e)),this[_0xc7d920(0x224)]['on'](_0x188531[_0xc7d920(0x253)],_0x3d1bc3=>{const _0xdc4843=_0xc7d920;this[_0xdc4843(0x1ee)][_0xdc4843(0x1fa)]({'event':_0xdc4843(0x200),'error':_0x3d1bc3[_0xdc4843(0x219)]},_0xdc4843(0x1ed)+_0x3d1bc3[_0xdc4843(0x219)]);}),this['_startHeartbeat'](_0x2f29ef),this['_setupRedis'](),this['_initialized']=!![],this['_logger']['info']({'event':_0x188531[_0xc7d920(0x257)],'mode':'full','path':_0x188531[_0xc7d920(0x20a)],'heartbeat':_0x2f29ef+'s'},_0xc7d920(0x22e)+_0x2f29ef+'s)');}[a0_0x54e254(0x227)](_0x1bbbeb={}){const _0x191d24=a0_0x54e254,_0x51531f={'AiRlw':_0x191d24(0x245),'WUURA':_0x191d24(0x1e5),'TBbmv':_0x191d24(0x248)},_0x378f09=_0x51531f[_0x191d24(0x264)][_0x191d24(0x244)]('|');let _0x4f45d3=0x0;while(!![]){switch(_0x378f09[_0x4f45d3++]){case'0':if(this[_0x191d24(0x241)])return;continue;case'1':this[_0x191d24(0x204)]=_0x51531f['WUURA'];continue;case'2':this['_logger']['info']({'event':'livesync_publisher_initialized','mode':_0x191d24(0x1e5)},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');continue;case'3':this[_0x191d24(0x241)]=!![];continue;case'4':try{this[_0x191d24(0x1ee)]=require(_0x51531f['TBbmv'])[_0x191d24(0x247)]||console;}catch(_0x29edd7){this['_logger']=console;}continue;case'5':this[_0x191d24(0x23f)]();continue;case'6':this[_0x191d24(0x262)]=_0x1bbbeb;continue;}break;}}['isInitialized'](){const _0x4ea162=a0_0x54e254;return this[_0x4ea162(0x241)];}['broadcast'](_0x1543d5,_0x53828e){const _0x518df8=a0_0x54e254,_0x1119f9={'APFvq':function(_0x25f7ff,_0x31732a){return _0x25f7ff===_0x31732a;},'EgxIL':function(_0x304817,_0x4b984c){return _0x304817===_0x4b984c;},'hVgTd':function(_0x12d974,_0x49967f){return _0x12d974>_0x49967f;}};if(!this[_0x518df8(0x241)])return;if(this['_mode']===_0x518df8(0x1e5)){this['_publishToRedis'](_0x1543d5,_0x53828e);return;}const _0x5b0882=JSON['stringify']({'type':'data_change','channel':_0x1543d5,'action':_0x53828e['action'],'data':_0x53828e['data'],'requestId':_0x53828e['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x13ad0b]=_0x1543d5['split'](':');let _0x5f0f05=0x0;for(const [_0x4a2725,_0x59c8bd]of this['_subscriptions']){const _0x136d4b=_0x1119f9['APFvq'](_0x4a2725,_0x1543d5),_0x504b77=_0x1119f9['EgxIL'](_0x4a2725,_0x13ad0b+':*');if(_0x136d4b||_0x504b77)for(const _0x545145 of _0x59c8bd){if(_0x1119f9[_0x518df8(0x218)](_0x545145['readyState'],0x1))try{_0x545145[_0x518df8(0x23b)](_0x5b0882),_0x5f0f05++;}catch(_0x32059b){}}}_0x1119f9[_0x518df8(0x203)](_0x5f0f05,0x0)&&this['_logger']['debug']({'event':'livesync_broadcast','channel':_0x1543d5,'action':_0x53828e['action'],'clients':_0x5f0f05},'Broadcast\x20'+_0x53828e[_0x518df8(0x1f2)]+'\x20on\x20'+_0x1543d5+_0x518df8(0x25b)+_0x5f0f05+'\x20client(s)');}['_publishToRedis'](_0x41b4c1,_0x3c4a16){const _0xf92fa1=a0_0x54e254;if(!this['_redisPublisher'])return;const _0x433645=JSON['stringify']({'channel':_0x41b4c1,'message':_0x3c4a16,'workerId':this[_0xf92fa1(0x249)]});this[_0xf92fa1(0x225)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x433645)['catch'](()=>{});}['shutdown'](){const _0x15bfeb=a0_0x54e254,_0x5a41cc={'jtTfC':function(_0xe0e37b,_0x5aaaa8){return _0xe0e37b(_0x5aaaa8);},'ifUyl':'Server\x20shutting\x20down','jWQyn':'livesync_shutdown'};if(!this['_initialized'])return;this[_0x15bfeb(0x205)]&&(_0x5a41cc['jtTfC'](clearInterval,this['_heartbeatTimer']),this[_0x15bfeb(0x205)]=null);if(this['_wss']){for(const _0x392e5a of this[_0x15bfeb(0x224)][_0x15bfeb(0x1f0)]){try{_0x392e5a[_0x15bfeb(0x212)](0x3e9,_0x5a41cc[_0x15bfeb(0x242)]);}catch(_0x2b6bb8){}}this[_0x15bfeb(0x224)][_0x15bfeb(0x212)]();}if(this['_redisSubscriber'])try{this[_0x15bfeb(0x1fb)]['unsubscribe'](),this[_0x15bfeb(0x1fb)]['quit']();}catch(_0x3c8401){}if(this['_ownPublisher']&&this[_0x15bfeb(0x225)])try{this[_0x15bfeb(0x225)][_0x15bfeb(0x1ea)]();}catch(_0x2d3893){}this[_0x15bfeb(0x207)]['clear'](),this['_initialized']=![],this[_0x15bfeb(0x1ee)]['info']({'event':_0x5a41cc[_0x15bfeb(0x202)],'mode':this[_0x15bfeb(0x204)]},_0x15bfeb(0x230)+this[_0x15bfeb(0x204)]+_0x15bfeb(0x1f1));}['_setupUpgradeAuth'](_0x525bd0){const _0x12a0f7=a0_0x54e254,_0x198f61={'UVpJu':_0x12a0f7(0x21a),'ZCjKm':_0x12a0f7(0x25c)},_0xaf980=_0x525bd0[_0x12a0f7(0x254)]('upgrade')[_0x12a0f7(0x229)]();_0x525bd0['removeAllListeners'](_0x198f61[_0x12a0f7(0x215)]),_0x525bd0['on'](_0x12a0f7(0x25c),(_0x22aed4,_0x562912,_0x481820)=>{const _0x3a95de=_0x12a0f7;if(!_0x22aed4[_0x3a95de(0x1e7)]||!_0x22aed4['url']['startsWith']('/ws')){for(const _0x3f8c1b of _0xaf980){_0x3f8c1b[_0x3a95de(0x250)](_0x525bd0,_0x22aed4,_0x562912,_0x481820);}return;}if(this['_options']['apiKey']){const _0x553730=new URL(_0x22aed4['url'],_0x3a95de(0x210)+(_0x22aed4['headers']['host']||'localhost')),_0x163c0b=_0x553730['searchParams']['get']('x-api-key')||_0x22aed4[_0x3a95de(0x21f)]['x-api-key'];if(!_0x163c0b||_0x163c0b!==this['_options']['apiKey']){_0x562912[_0x3a95de(0x256)]('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x562912['destroy']();return;}}this['_wss']['handleUpgrade'](_0x22aed4,_0x562912,_0x481820,_0x47b089=>{const _0x4bf146=_0x3a95de;this['_wss']['emit'](_0x198f61[_0x4bf146(0x20e)],_0x47b089,_0x22aed4);});});}['_handleConnection'](_0x3a82e3,_0x12f720){const _0x56672c=a0_0x54e254,_0x128e13={'oxyhu':_0x56672c(0x24e),'xjKos':'x-forwarded-for','FrHIw':'pong','nqtKA':'close','ZVGkX':'error'};_0x3a82e3[_0x56672c(0x1e6)]=!![],_0x3a82e3[_0x56672c(0x1ff)]=new Set();const _0x2002e9=_0x12f720['headers'][_0x128e13[_0x56672c(0x1e4)]]||_0x12f720['socket']['remoteAddress'];this['_logger']['info']({'event':_0x56672c(0x22b),'ip':_0x2002e9},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x2002e9),_0x3a82e3['on'](_0x128e13['FrHIw'],()=>{const _0x405986=_0x56672c;_0x3a82e3[_0x405986(0x1e6)]=!![];}),_0x3a82e3['on'](_0x56672c(0x219),_0x585114=>{const _0x1573fa=_0x56672c;try{const _0x139615=JSON[_0x1573fa(0x260)](_0x585114[_0x1573fa(0x206)]());this['_handleClientMessage'](_0x3a82e3,_0x139615);}catch(_0x52d12a){this[_0x1573fa(0x21c)](_0x3a82e3,{'type':'error','message':'Invalid\x20JSON\x20message'});}}),_0x3a82e3['on'](_0x128e13['nqtKA'],()=>{const _0x2128d0=_0x56672c;this['_removeClientFromAllChannels'](_0x3a82e3),this[_0x2128d0(0x1ee)][_0x2128d0(0x1fc)]({'event':'livesync_client_disconnected','ip':_0x2002e9},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x2002e9);}),_0x3a82e3['on'](_0x128e13['ZVGkX'],_0x37118f=>{const _0x59bac9=_0x56672c;this['_logger']['warn']({'event':_0x128e13[_0x59bac9(0x208)],'error':_0x37118f[_0x59bac9(0x219)]},_0x59bac9(0x1f5)+_0x37118f[_0x59bac9(0x219)]),this['_removeClientFromAllChannels'](_0x3a82e3);});}['_handleClientMessage'](_0x14f261,_0x2415b4){const _0x48d160=a0_0x54e254,_0x4b638c={'WeUqb':'pong','UjeIh':_0x48d160(0x1fa)};switch(_0x2415b4[_0x48d160(0x24d)]){case _0x48d160(0x209):this['_handleSubscribe'](_0x14f261,_0x2415b4[_0x48d160(0x258)]);break;case _0x48d160(0x22a):this['_handleUnsubscribe'](_0x14f261,_0x2415b4[_0x48d160(0x258)]);break;case _0x4b638c[_0x48d160(0x255)]:_0x14f261[_0x48d160(0x1e6)]=!![];break;default:this[_0x48d160(0x21c)](_0x14f261,{'type':_0x4b638c[_0x48d160(0x22f)],'message':'Unknown\x20message\x20type:\x20'+_0x2415b4[_0x48d160(0x24d)]});}}[a0_0x54e254(0x1e8)](_0x556a14,_0x42a0f8){const _0xe49a8f=a0_0x54e254,_0x7ccad2={'OlzbY':function(_0x1784d8,_0x12d172){return _0x1784d8===_0x12d172;},'BGwWI':_0xe49a8f(0x1fa),'hLolM':'string','fWibQ':'subscribed'};if(!Array[_0xe49a8f(0x20d)](_0x42a0f8)||_0x7ccad2['OlzbY'](_0x42a0f8['length'],0x0)){this[_0xe49a8f(0x21c)](_0x556a14,{'type':_0x7ccad2['BGwWI'],'message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x455380=[];for(const _0x520f6e of _0x42a0f8){if(typeof _0x520f6e!==_0x7ccad2[_0xe49a8f(0x22c)]||!_0x520f6e['includes'](':'))continue;!this[_0xe49a8f(0x207)][_0xe49a8f(0x1f4)](_0x520f6e)&&this[_0xe49a8f(0x207)][_0xe49a8f(0x235)](_0x520f6e,new Set()),this[_0xe49a8f(0x207)]['get'](_0x520f6e)['add'](_0x556a14),_0x556a14[_0xe49a8f(0x1ff)]['add'](_0x520f6e),_0x455380['push'](_0x520f6e);}_0x455380[_0xe49a8f(0x23c)]>0x0&&(this['_sendToClient'](_0x556a14,{'type':_0x7ccad2['fWibQ'],'channels':_0x455380,'timestamp':new Date()['toISOString']()}),this[_0xe49a8f(0x1ee)]['debug']({'event':'livesync_subscribe','channels':_0x455380},'Client\x20subscribed\x20to:\x20'+_0x455380['join'](',\x20')));}[a0_0x54e254(0x231)](_0x201e63,_0x487f0a){const _0x524287=a0_0x54e254,_0x3b9a4a={'IziqH':function(_0x430724,_0x17c5f3){return _0x430724===_0x17c5f3;}};if(!Array['isArray'](_0x487f0a))return;const _0xecd8bf=[];for(const _0x2f67b0 of _0x487f0a){this['_subscriptions']['has'](_0x2f67b0)&&(this['_subscriptions']['get'](_0x2f67b0)[_0x524287(0x25a)](_0x201e63),_0x3b9a4a[_0x524287(0x1f8)](this['_subscriptions']['get'](_0x2f67b0)[_0x524287(0x223)],0x0)&&this[_0x524287(0x207)]['delete'](_0x2f67b0)),_0x201e63['subscribedChannels']['delete'](_0x2f67b0),_0xecd8bf['push'](_0x2f67b0);}_0xecd8bf['length']>0x0&&this['_sendToClient'](_0x201e63,{'type':_0x524287(0x24a),'channels':_0xecd8bf,'timestamp':new Date()[_0x524287(0x1fd)]()});}['_removeClientFromAllChannels'](_0x59748a){const _0x169e35=a0_0x54e254,_0x33945a={'KXHDW':function(_0x4a2856,_0x3e0d32){return _0x4a2856===_0x3e0d32;}};if(!_0x59748a[_0x169e35(0x1ff)])return;for(const _0x512f04 of _0x59748a['subscribedChannels']){this['_subscriptions'][_0x169e35(0x1f4)](_0x512f04)&&(this['_subscriptions'][_0x169e35(0x259)](_0x512f04)[_0x169e35(0x25a)](_0x59748a),_0x33945a['KXHDW'](this[_0x169e35(0x207)][_0x169e35(0x259)](_0x512f04)[_0x169e35(0x223)],0x0)&&this['_subscriptions'][_0x169e35(0x25a)](_0x512f04));}_0x59748a['subscribedChannels']['clear']();}['_sendToClient'](_0x5b9c44,_0x4e632b){const _0x57c917=a0_0x54e254,_0x51119b={'ijbIH':function(_0x31bf66,_0x591d81){return _0x31bf66===_0x591d81;}};if(_0x51119b['ijbIH'](_0x5b9c44[_0x57c917(0x23e)],0x1))try{_0x5b9c44[_0x57c917(0x23b)](JSON['stringify'](_0x4e632b));}catch(_0x15f7c3){}}[a0_0x54e254(0x25e)](_0x2f3144){const _0x174c21=a0_0x54e254,_0x378b3b={'wqQjW':_0x174c21(0x24b),'kBCYD':function(_0x33640c,_0xfea3ed,_0x5b76ff){return _0x33640c(_0xfea3ed,_0x5b76ff);},'Wupnl':function(_0x2a1713,_0x375b9d){return _0x2a1713*_0x375b9d;}};this[_0x174c21(0x205)]=_0x378b3b['kBCYD'](setInterval,()=>{const _0x43f1ed=_0x174c21;if(!this['_wss'])return;for(const _0x13a8ea of this[_0x43f1ed(0x224)]['clients']){if(!_0x13a8ea[_0x43f1ed(0x1e6)]){this[_0x43f1ed(0x220)](_0x13a8ea),_0x13a8ea[_0x43f1ed(0x21b)]();continue;}_0x13a8ea[_0x43f1ed(0x1e6)]=![],this['_sendToClient'](_0x13a8ea,{'type':_0x378b3b['wqQjW'],'timestamp':new Date()['toISOString']()});try{_0x13a8ea[_0x43f1ed(0x24b)]();}catch(_0x4b8a66){}}},_0x378b3b[_0x174c21(0x1f9)](_0x2f3144,0x3e8));}['_setupRedisPublisher'](){const _0x15d2fb=a0_0x54e254,_0x1a7f77={'RciXu':function(_0x235422,_0x4afb62){return _0x235422(_0x4afb62);},'qiKAB':_0x15d2fb(0x24c),'dYNSJ':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x43e62e=require(_0x15d2fb(0x20b));this[_0x15d2fb(0x225)]=_0x43e62e['getClient']?_0x43e62e['getClient']():null;}catch(_0x416c15){this[_0x15d2fb(0x225)]=null;}if(!this[_0x15d2fb(0x225)]){const _0x34e311=_0x1a7f77['RciXu'](require,_0x1a7f77['qiKAB']),_0x5ec468={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':parseInt(process[_0x15d2fb(0x20c)]['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x15d2fb(0x20c)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x15d2fb(0x225)]=new _0x34e311(_0x5ec468),this['_ownPublisher']=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x40750b=_0x15d2fb;this[_0x40750b(0x1ee)][_0x40750b(0x25f)]({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x40750b(0x225)]=null;});}}catch(_0x4276fd){this[_0x15d2fb(0x1ee)]['warn']({'event':_0x1a7f77[_0x15d2fb(0x261)],'error':_0x4276fd['message']},_0x15d2fb(0x23d)+_0x4276fd['message']);}}[a0_0x54e254(0x263)](){const _0x119918=a0_0x54e254,_0x14ffcc={'XRHvp':'livesync_redis_publisher_failed','oGvgn':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','qvzXG':'livesync_redis_subscribed','ovupE':_0x119918(0x1eb),'xUfZE':_0x119918(0x24c),'uuBkR':function(_0x399814,_0x479b1b,_0x47f43c){return _0x399814(_0x479b1b,_0x47f43c);},'XyIeF':function(_0x9b87c1,_0x487f5d){return _0x9b87c1(_0x487f5d);},'nRQjf':'livesync_redis_unavailable'};this[_0x119918(0x1f6)]=![];try{const _0x33d8d6=require(_0x14ffcc['xUfZE']),_0x9a6428={'host':process['env']['REDIS_HOST']||_0x119918(0x1f3),'port':parseInt(process['env'][_0x119918(0x1e9)],0xa)||0x18eb,'password':process[_0x119918(0x20c)][_0x119918(0x1ec)]||undefined,'db':_0x14ffcc['uuBkR'](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x412210=_0x14ffcc[_0x119918(0x24f)](require,_0x119918(0x20b));this['_redisPublisher']=_0x412210[_0x119918(0x246)]?_0x412210['getClient']():null;}catch(_0x464c0f){this[_0x119918(0x225)]=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x33d8d6(_0x9a6428),this[_0x119918(0x1f6)]=!![],this[_0x119918(0x225)]['connect']()[_0x119918(0x23a)](()=>{const _0x255326=_0x119918;this['_logger'][_0x255326(0x25f)]({'event':_0x14ffcc[_0x255326(0x252)]},_0x14ffcc[_0x255326(0x22d)]),this[_0x255326(0x225)]=null;})),this['_redisSubscriber']=new _0x33d8d6(_0x9a6428),this[_0x119918(0x1fb)]['connect']()[_0x119918(0x1f7)](()=>{const _0x1491e9=_0x119918,_0x17e2dd={'IjQWx':_0x14ffcc[_0x1491e9(0x236)]};this[_0x1491e9(0x1fb)][_0x1491e9(0x209)](REDIS_CHANNEL_PREFIX+_0x1491e9(0x20f),_0x540ed8=>{const _0x53e7c3=_0x1491e9;if(_0x540ed8){this['_logger'][_0x53e7c3(0x1fa)]({'event':'livesync_redis_subscribe_error','error':_0x540ed8[_0x53e7c3(0x219)]},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x540ed8['message']);return;}this['_logger'][_0x53e7c3(0x226)]({'event':_0x17e2dd[_0x53e7c3(0x237)]},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this[_0x1491e9(0x1fb)]['on'](_0x1491e9(0x219),(_0xf14b7b,_0x1c3238)=>{const _0x597fa2=_0x1491e9;try{const _0x5a371d=JSON[_0x597fa2(0x260)](_0x1c3238);if(_0x5a371d[_0x597fa2(0x243)]===this['_workerId'])return;this['_broadcastLocal'](_0x5a371d['channel'],_0x5a371d['message']);}catch(_0x1aa644){}});})['catch'](()=>{const _0x150b7b=_0x119918;this[_0x150b7b(0x1ee)]['warn']({'event':'livesync_redis_subscriber_failed'},_0x14ffcc['ovupE']),this['_redisSubscriber']=null;});}catch(_0x494e1d){this[_0x119918(0x1ee)][_0x119918(0x25f)]({'event':_0x14ffcc[_0x119918(0x221)],'error':_0x494e1d['message']},_0x119918(0x25d)+_0x494e1d[_0x119918(0x219)]);}}[a0_0x54e254(0x1e3)](_0x6375bc,_0x435781){const _0x1d4385=a0_0x54e254,_0x5b7fcd={'PghRi':function(_0x43971f,_0xefe3fc){return _0x43971f===_0xefe3fc;},'kKZMN':function(_0x13e458,_0x396f15){return _0x13e458||_0x396f15;}};if(!this[_0x1d4385(0x224)])return;const _0x2d7e35=JSON[_0x1d4385(0x21d)]({'type':'data_change','channel':_0x6375bc,'action':_0x435781['action'],'data':_0x435781[_0x1d4385(0x228)],'requestId':_0x435781[_0x1d4385(0x1ef)]||null,'timestamp':new Date()['toISOString']()}),[_0x298ecf]=_0x6375bc[_0x1d4385(0x244)](':');for(const [_0x4a82d5,_0x5a8522]of this[_0x1d4385(0x207)]){const _0x41ce23=_0x5b7fcd[_0x1d4385(0x232)](_0x4a82d5,_0x6375bc),_0x3bd1ba=_0x4a82d5===_0x298ecf+':*';if(_0x5b7fcd[_0x1d4385(0x222)](_0x41ce23,_0x3bd1ba))for(const _0x217213 of _0x5a8522){if(_0x5b7fcd['PghRi'](_0x217213['readyState'],0x1))try{_0x217213[_0x1d4385(0x23b)](_0x2d7e35);}catch(_0x14c46a){}}}}}function a0_0x24be(){const _0x2406b3=['v3jsu2O','BgLZDgvUzxjZ','v2vvCwi','D3jPDgu','yLbUCNi','y2HHBM5LBhm','z2v0','zgvSzxrL','ihrVia','DxbNCMfKzq','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','x3n0yxj0sgvHCNrIzwf0','D2fYBG','CgfYC2u','zfLou0O','x29WDgLVBNm','x3nLDhvWuMvKAxm','qwLsBhC','BgL2zxn5BMnFAw5PDgLHBgL6zwq','x2jYB2fKy2fZDeXVy2fS','EgPlB3m','ChvIBgLZAgvY','AxnbBgL2zq','DxjS','x2HHBMrSzvn1yNnJCMLIzq','uKvesvnFue9sva','CxvPDa','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','uKvesvnFueftu1DpuKq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','x2XVz2DLCG','CMvXDwvZDeLK','y2XPzw50CW','ihnODxqGzg93BG','ywn0Aw9U','mti3lJaUmc4X','AgfZ','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','x293BLb1yMXPC2HLCG','DgHLBG','sxPPCuG','v3vWBMW','zxjYB3i','x3jLzgLZu3vIC2nYAwjLCG','zgvIDwC','Dg9ju09tDhjPBMC','mJa4mJG0vvvjseH1','C3vIC2nYAwjLzenOyw5UzwXZ','BgL2zxn5BMnFD3nZx2vYCM9Y','mZK4mM1Qt1LREG','ALDrEw4','AfzNvgq','x21Vzgu','x2HLyxj0yMvHDfrPBwvY','Dg9tDhjPBMC','x3n1yNnJCMLWDgLVBNm','B3H5Ahu','C3vIC2nYAwjL','yKz4t3G','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','zw52','AxnbCNjHEq','vvzWsNu','yNjVywrJyxn0','Ahr0CdOVlW','mJq4otjNtKLOA1C','y2XVC2u','mJC2nZq2neDNzMjezq','zxHWB3j0CW','wKnQs20','mte5rNLfDgfJ','Aw5PDgLHBgL6zq','qvbgDNe','BwvZC2fNzq','y29UBMvJDgLVBG','DgvYBwLUyxrL','x3nLBMruB0nSAwvUDa','C3rYAw5NAwz5','mtq3otq4ndzLtuPmCgG','AgvHzgvYCW','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','BLjrAMy','A0TAtu4','C2L6zq','x3DZCW','x3jLzgLZuhvIBgLZAgvY','Aw5MBW','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','zgf0yq','C2XPy2u','Dw5ZDwjZy3jPyMu','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','AeXVBe0','B0D2z24','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','vwPLswG','tgL2zsbtEw5Jia','x2HHBMrSzvvUC3vIC2nYAwjL','ugDOuMK','mti0nuPRzvrVrW','odm5mJC5mLjnrvzHrG','C2v0','Cxz6weC','swPrv3G','l3DZ','mtbUzhP3Cfm','y2f0y2G','C2vUza','BgvUz3rO','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','CMvHzhLtDgf0zq','x3nLDhvWuMvKAxnqDwjSAxnOzxi','mJblq3PSCe4','x2LUAxrPywXPEMvK','AwzvEwW','D29YA2vYswq','C3bSAxq','mhW2Fdf8nhW1Fdn8mG','z2v0q2XPzw50','Bg9Nz2vY','lI4VlI4VDxrPBhmVBg9Nz2vY','x3DVCMTLCKLK','Dw5ZDwjZy3jPyMvK','CgLUzW','Aw9YzwrPCW','DhLWzq','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','whLjzuy','y2fSBa','nZqWmtKYnfLKuMjSEa','wfjiDNa'];a0_0x24be=function(){return _0x2406b3;};return a0_0x24be();}module[a0_0x54e254(0x214)]=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
- function a0_0x2d99(){const _0x1ab7b7=['rxHWB3j0igzPBguGzgvSzxrLza','zxHWB3j0x2nSzwfUDxbFC3rHCNq','mM1brM5IsW','y29SDw1UCW','A3vNq0K','BgvUz3rO','lI4VlI4VzxHWB3j0CY8','y29TCgXLDgvK','CM91BMq','nda0ndCYuxHTDeTd','DgDes1a','zxHWB3j0x2zHAwXLza','ignVBhvTBNm','y3jLyxrLzf9HDa','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','rMfPBgvKihrVigzLDgnOigrHDge','zxHWB3j0x2nVBxbSzxrLza','C3rHDhvZ','DfPpEfa','Aw5MBW','BM93','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','cIaGicaGicaG','CgvUzgLUzW','CMfUzg9T','C3rYAw5N','r1zjCKK','l2fWAs8','wwTYrhq','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','x2v4Cg9YDerPCG','A0XAuNq','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','AM9PBG','C2fUAxrPEMvwywX1zq','q1fksLC','EwnXBfq','zxHJzwXFy29SDw1UC19MywXSyMfJAW','zMLSDgvY','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','ChjVy2vZC2LUzW','Dg9mB3DLCKnHC2u','ChjVz3jLC3m','rxHWB3j0igPVyIbJCMvHDgvK','AM9Ix2LK','z2jHvum','Dg9vChbLCKnHC2u','s0fsr0O','mtfeAKLPrKm','mJi0ofzbEMfcwG','D1z2wvK','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','zxHWB3j0x2zLDgnOx3n0yxj0','mtu0ntGXmeTIz0rjrW','mZu3mhHTBufbBW','Cgf0Aa','zwDfBe0','ChjVy2vZC0PVyG','z2vUzxjHDgvkB2jjza','id0G','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','rxHWB3j0igzPBguGBM90igzVDw5K','we9Iyvu','wKzOv1e','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','z2v0sM9I','Dg9ju09tDhjPBMC','iefticGkicaGia','lI4VDxrPBhmVzgi','Aw52ywXPzf9JB25KAxrPB24','mJC5otCZogXIuLDeBW','D2fYBG','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','mteYmZG4uvHrqMXV','revtqW','AM5rB3e','DhjPBq','vxnPBMCG','wMzpu3K','y3jLyxrLsM9I','A2v5CW','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','z2v0rMLSzvbHDgG','rejFvfLqrq','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','vLjHvfO','zNbmv08','mJyWoty3r0Xhs0nA','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','odi1mZaYmfDrtNbNCW','yNvPBgrxAgvYzunSyxvZzq','ieforca','zxHPC3rZu3LUyW','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','zxHWB3j0uxvLCNK','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','CMvWBgfJzq','z2vUzxjHDgvfEgnLBa','tNvwDgm','zg1MqxO','BwfW','z2v0qwXSsM9ICW','ywnJzxnZ','zgvMyxvSDa','AxnbCNjHEq','rg5Rz0K','ignOyxjZkq','DwHjywG','rKHlqKS','zMLSzw5HBwu','zMLSzv9WyxrO','teLlrq','DxbKyxrLsM9I','y3DK','DLf1tw8','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','ChjVBwLZzxm','ruDjBKG','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','CMvHzezPBgvtEw5J','q2LlA0e','zw52','zxHWB3j0x2zLDgnOx2vYCM9Y','ignVBhvTBNmGzNjVBsbYzxf1zxn0','zMLLBgrmywjLBhm','Bw9KDwXLtMfTzq','iefticGkicaGifnftevdvca','z0XlsNu','vvbqrviO','zxHLy3v0zvf1zxj5','y2HHCKf0','y2XLyw51Ca','Dg11tMC','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','cIaGicbguK9nia','CgfYyw1Z','lI4VDxrPBhmVBg9Nz2vY','q2jJuLC','lNHSC3G','CMvZB2X2zuv4Cg9YDff1zxj5','BwvZC2fNzq','Ehb4Ewi','nNbLrgXpDG','BxLZCwW','DxrMoa','Dg90ywXFCM93CW','ieLtie5vteW','tLjUtNi','y1zTzhG','yMnbuxe','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','C3vIC3rYAw5N','rvHqt1jux0rjuG','rMXzC0e','zw5KCg9PBNroyw1L','y29SDw1UrM9YBwf0CW'];a0_0x2d99=function(){return _0x1ab7b7;};return a0_0x2d99();}const a0_0x281a3e=a0_0x5281;(function(_0x4ec071,_0x2c469e){const _0x390c4f=a0_0x5281,_0xa6bd05=_0x4ec071();while(!![]){try{const _0x14cd95=parseInt(_0x390c4f(0xd6))/0x1*(parseInt(_0x390c4f(0x11d))/0x2)+-parseInt(_0x390c4f(0x124))/0x3+-parseInt(_0x390c4f(0xc8))/0x4+parseInt(_0x390c4f(0xb4))/0x5*(-parseInt(_0x390c4f(0x10d))/0x6)+-parseInt(_0x390c4f(0xb5))/0x7*(parseInt(_0x390c4f(0xb0))/0x8)+-parseInt(_0x390c4f(0xc5))/0x9+-parseInt(_0x390c4f(0xd8))/0xa*(-parseInt(_0x390c4f(0xaf))/0xb);if(_0x14cd95===_0x2c469e)break;else _0xa6bd05['push'](_0xa6bd05['shift']());}catch(_0x6b443a){_0xa6bd05['push'](_0xa6bd05['shift']());}}}(a0_0x2d99,0x27032));const {v7:uuidv7}=require('uuid'),path=require(a0_0x281a3e(0xb6)),fs=require('fs')[a0_0x281a3e(0xf3)],fsSync=require('fs'),redisHelper=require(a0_0x281a3e(0xd3)),{logger,logError}=require(a0_0x281a3e(0x107)),dbType=(process['env'][a0_0x281a3e(0xd2)]||'postgresql')['toLowerCase']();function a0_0x5281(_0x37396f,_0x109aaa){_0x37396f=_0x37396f-0x91;const _0x2d99e5=a0_0x2d99();let _0x52813d=_0x2d99e5[_0x37396f];if(a0_0x5281['mRVimQ']===undefined){var _0x17570c=function(_0x19f70c){const _0x567b3e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x185d09='',_0x448705='';for(let _0x4a898a=0x0,_0x312312,_0x3470ca,_0xf465d3=0x0;_0x3470ca=_0x19f70c['charAt'](_0xf465d3++);~_0x3470ca&&(_0x312312=_0x4a898a%0x4?_0x312312*0x40+_0x3470ca:_0x3470ca,_0x4a898a++%0x4)?_0x185d09+=String['fromCharCode'](0xff&_0x312312>>(-0x2*_0x4a898a&0x6)):0x0){_0x3470ca=_0x567b3e['indexOf'](_0x3470ca);}for(let _0x3c984e=0x0,_0x412515=_0x185d09['length'];_0x3c984e<_0x412515;_0x3c984e++){_0x448705+='%'+('00'+_0x185d09['charCodeAt'](_0x3c984e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x448705);};a0_0x5281['LRMEmt']=_0x17570c,a0_0x5281['JkxFyu']={},a0_0x5281['mRVimQ']=!![];}const _0x10ae7a=_0x2d99e5[0x0],_0x9a9404=_0x37396f+_0x10ae7a,_0x5e92ef=a0_0x5281['JkxFyu'][_0x9a9404];return!_0x5e92ef?(_0x52813d=a0_0x5281['LRMEmt'](_0x52813d),a0_0x5281['JkxFyu'][_0x9a9404]=_0x52813d):_0x52813d=_0x5e92ef,_0x52813d;}let executeQuery;if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x47c36e,_0x49c83d)=>oracleDb[a0_0x281a3e(0x100)](_0x47c36e,_0x49c83d);}else{if(dbType===a0_0x281a3e(0x10e)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x4f18ef,_0x50b5ec)=>mysqlDb[a0_0x281a3e(0x100)](_0x4f18ef,_0x50b5ec);}else executeQuery=require(a0_0x281a3e(0xc3))[a0_0x281a3e(0x100)];}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0x58e2e1=a0_0x281a3e,_0x3df11c={'PKqNb':_0x58e2e1(0xe6),'yHKSK':'export_service_init_error','DvaAM':_0x58e2e1(0xd0)};if(!this['_exportDir']){const _0x5ea7f6=process[_0x58e2e1(0xf8)]['RESTFORGE_PROJECT_NAME']||_0x3df11c['PKqNb'];this[_0x58e2e1(0x9d)]=process['env'][_0x58e2e1(0x117)]||path['join'](__dirname,_0x58e2e1(0x121)+_0x5ea7f6);try{!fsSync['existsSync'](this[_0x58e2e1(0x9d)])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this['_exportDir']},_0x58e2e1(0xa6));}catch(_0x1a08c1){logError(_0x1a08c1,{'event':_0x3df11c['yHKSK']},_0x3df11c['DvaAM']);}}return this[_0x58e2e1(0x9d)];}[a0_0x281a3e(0x10a)](_0x1539c8,_0x4b2592=null){const _0x155241=a0_0x281a3e,_0x939aae={'GVIrI':'string','izPDf':_0x155241(0x10f),'ozzIt':function(_0x4c0737,_0x4cb2fa){return _0x4c0737===_0x4cb2fa;}};if(!_0x1539c8||typeof _0x1539c8!==_0x939aae[_0x155241(0x99)])return _0x1539c8;const _0x2903d3=_0x1539c8['trim']();if(!_0x2903d3['startsWith']('file:'))return _0x2903d3;const _0x34682f=_0x2903d3['replace'](/^file:/,'')[_0x155241(0xcb)]();if(!_0x34682f)throw new Error('Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty');const _0x1334fb=_0x4b2592||path['join'](process[_0x155241(0xf0)](),'payload'),_0x315dda=path['resolve'](_0x1334fb,_0x34682f);logger['info']({'event':'export_query_file_resolve','relativePath':_0x34682f,'baseDir':_0x1334fb,'absolutePath':_0x315dda},_0x155241(0xf2)+_0x34682f);if(!fsSync[_0x155241(0xdb)](_0x315dda))throw new Error(_0x155241(0xc7)+_0x315dda);try{const _0x123967=fsSync[_0x155241(0xf6)](_0x315dda,_0x939aae['izPDf']);if(!_0x123967||!_0x123967['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x315dda);return logger[_0x155241(0x92)]({'event':_0x155241(0xbb),'file':_0x315dda,'queryLength':_0x123967[_0x155241(0x120)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x123967[_0x155241(0x120)]+_0x155241(0xe9)),_0x123967['trim']();}catch(_0x367fa3){if(_0x939aae['ozzIt'](_0x367fa3['code'],'ENOENT'))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x315dda);throw new Error(_0x155241(0xdc)+_0x367fa3['message']);}}[a0_0x281a3e(0xb9)](){const _0x420694=a0_0x281a3e,_0x7881c7={'tZOxP':function(_0x1044d6){return _0x1044d6();},'XUcuR':function(_0x29524,_0x3faef3){return _0x29524-_0x3faef3;},'CiKkA':function(_0x4043eb,_0x3a6311){return _0x4043eb+_0x3a6311;},'hHrko':function(_0x40628b,_0xe4b901){return _0x40628b<_0xe4b901;}},_0x3b91b3='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x44a18b=Date[_0x420694(0x93)]()['toString'](0x24),_0x31f44b=_0x7881c7[_0x420694(0x91)](uuidv7)[_0x420694(0xdf)](/-/g,'')['substring'](0x0,_0x7881c7['XUcuR'](0xc,_0x44a18b[_0x420694(0x120)])),_0x21f75d=_0x7881c7[_0x420694(0xf7)](_0x44a18b,_0x31f44b)['substring'](0x0,0xc);let _0x14ca47='';for(let _0x3cd01f=0x0;_0x7881c7['hHrko'](_0x3cd01f,0xc);_0x3cd01f++){_0x21f75d[_0x3cd01f]?_0x14ca47+=_0x21f75d[_0x3cd01f]:_0x14ca47+=_0x3b91b3[_0x420694(0x101)](Math['floor'](Math[_0x420694(0x97)]()*_0x3b91b3[_0x420694(0x120)]));}return _0x14ca47;}async[a0_0x281a3e(0xce)](_0x40c7aa){const _0x3d98ad=a0_0x281a3e,_0x2a2561={'aIXdp':function(_0x38487a,_0xb7d2a0,_0x1722f0,_0x3336a3){return _0x38487a(_0xb7d2a0,_0x1722f0,_0x3336a3);},'iSaDa':'export_process_error','FlYsA':_0x3d98ad(0x96),'CQJJW':_0x3d98ad(0xaa)},_0x4daf91=this[_0x3d98ad(0xb9)](),_0x4e46e1={'job_id':_0x4daf91,'status':_0x2a2561[_0x3d98ad(0x118)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x40c7aa,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x4daf91,_0x4e46e1),logger['info']({'event':'export_job_created','jobId':_0x4daf91,'params':_0x40c7aa},_0x2a2561[_0x3d98ad(0xa2)]),this[_0x3d98ad(0xb8)](_0x4daf91,_0x40c7aa)['catch'](_0x5f2db0=>{const _0x591780=_0x3d98ad;_0x2a2561['aIXdp'](logError,_0x5f2db0,{'event':_0x2a2561['iSaDa'],'jobId':_0x4daf91},_0x591780(0x104));}),{'job_id':_0x4daf91,'status':_0x3d98ad(0x96)};}async['getJobStatus'](_0x219550){const _0x500ee3=a0_0x281a3e,_0x520d47={'VbWmO':'completed'},_0x1f4321=await redisHelper[_0x500ee3(0xc0)](_0x219550);if(!_0x1f4321)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x1f4321[_0x500ee3(0xab)],'status':_0x1f4321['status'],'progress':_0x1f4321[_0x500ee3(0xa9)],'total_rows':_0x1f4321[_0x500ee3(0x110)],'processed_rows':_0x1f4321['processed_rows'],'file_url':_0x1f4321['status']===_0x520d47['VbWmO']?_0x500ee3(0x9a)+_0x1f4321[_0x500ee3(0x106)][_0x500ee3(0xfc)]+'/'+_0x1f4321[_0x500ee3(0x106)][_0x500ee3(0x119)]+_0x500ee3(0xbf)+_0x219550:null,'error':_0x1f4321['error']||null,'created_at':_0x1f4321['created_at'],'completed_at':_0x1f4321['completed_at']||null}};}async[a0_0x281a3e(0xb8)](_0x25752a,_0x42b6eb){const _0x38555b=a0_0x281a3e,_0x4bbcfd={'OkmCY':'completed','tgDKP':_0x38555b(0x12b),'XObaU':'Export\x20completed\x20successfully','CbcRW':_0x38555b(0x126)};try{await redisHelper['updateJob'](_0x25752a,{'status':_0x38555b(0xa7),'started_at':new Date()[_0x38555b(0xc1)]()}),logger['info']({'event':'export_processing_start','jobId':_0x25752a},'Export\x20processing\x20started');const _0x39e7c9=await this['fetchData'](_0x42b6eb);await redisHelper[_0x38555b(0xef)](_0x25752a,{'total_rows':_0x39e7c9['length']});const _0x28f367=await this['generateExcel'](_0x25752a,_0x39e7c9,_0x42b6eb);await redisHelper['updateJob'](_0x25752a,{'status':_0x4bbcfd['OkmCY'],'progress':0x64,'file_path':_0x28f367,'completed_at':new Date()['toISOString']()}),logger[_0x38555b(0x92)]({'event':_0x4bbcfd[_0x38555b(0x125)],'jobId':_0x25752a,'rows':_0x39e7c9['length']},_0x4bbcfd[_0x38555b(0xbd)]);}catch(_0x19b0c7){logError(_0x19b0c7,{'event':_0x4bbcfd[_0x38555b(0x108)],'jobId':_0x25752a},'Export\x20failed'),await redisHelper[_0x38555b(0xef)](_0x25752a,{'status':'failed','error':_0x19b0c7[_0x38555b(0x10b)],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x23d6c8){const _0x5c5cfa=a0_0x281a3e,_0x4f993a={'KARGJ':function(_0x4438ea,_0x336e7a){return _0x4438ea===_0x336e7a;},'uOLxU':function(_0x3ffda2,_0x3853b7){return _0x3ffda2+_0x3853b7;},'tmuNg':'file:','kLZRt':_0x5c5cfa(0x9c),'NTTMZ':'export_using_auto_query','fkOJg':_0x5c5cfa(0xb3),'fpLWO':'Fetching\x20data\x20from\x20database','FHKBK':function(_0x170336,_0x13347e){return _0x170336(_0x13347e);},'NuVtc':function(_0x46f268,_0x5d1ce8){return _0x46f268>_0x5d1ce8;},'jnQoq':_0x5c5cfa(0xf9)};try{const {tableName:_0x408c68,columns:_0x26a5fc,exportQuery:_0x3618d4,where:_0x1e49e2,sort_columns:_0x2e263e}=_0x23d6c8;if(!_0x408c68||!_0x26a5fc||_0x4f993a[_0x5c5cfa(0xae)](_0x26a5fc['length'],0x0))throw new Error('tableName\x20and\x20columns\x20are\x20required');const _0xd3fba9=_0x4f993a['uOLxU'](_0x408c68[_0x5c5cfa(0xdf)](/\./g,'_'),'_data');let _0x1c5180;if(_0x3618d4&&_0x3618d4[_0x5c5cfa(0xcb)]()){let _0x3916c2=_0x3618d4;_0x3618d4['trim']()['startsWith'](_0x4f993a[_0x5c5cfa(0x103)])&&(_0x3916c2=this[_0x5c5cfa(0x10a)](_0x3618d4)),_0x1c5180='WITH\x20'+_0xd3fba9+_0x5c5cfa(0xc2)+_0x3916c2+'\x0a)',_0x1c5180+='\x0aSELECT\x20*\x20FROM\x20'+_0xd3fba9,logger['info']({'event':'export_using_custom_query','query':_0x3916c2[_0x5c5cfa(0x116)](0x0,0x64)},_0x4f993a[_0x5c5cfa(0x9e)]);}else{const _0xe9cb99=_0x26a5fc['map'](_0x557c20=>_0x5c5cfa(0x95)+_0x557c20)['join'](',');_0x1c5180='WITH\x20'+_0xd3fba9+_0x5c5cfa(0xfd)+_0xe9cb99+_0x5c5cfa(0x105)+_0x408c68+'\x0a)',_0x1c5180+='\x0aSELECT\x20*\x20FROM\x20'+_0xd3fba9,logger['info']({'event':_0x4f993a['NTTMZ'],'tableName':_0x408c68,'columnCount':_0x26a5fc[_0x5c5cfa(0x120)]},'Using\x20auto-generated\x20query');}if(_0x1e49e2){const _0x239ddc=this[_0x5c5cfa(0xd9)](_0x1e49e2);_0x239ddc&&(_0x1c5180+='\x0aWHERE\x20'+_0x239ddc);}if(_0x2e263e&&_0x2e263e['length']>0x0){const _0x122f92=this['buildOrderByClause'](_0x2e263e);_0x122f92&&(_0x1c5180+='\x0aORDER\x20BY\x20'+_0x122f92);}logger[_0x5c5cfa(0x92)]({'event':_0x4f993a['fkOJg'],'query':_0x1c5180['substring'](0x0,0xc8)},_0x4f993a[_0x5c5cfa(0xd5)]);const _0x504b7a=await _0x4f993a[_0x5c5cfa(0xeb)](executeQuery,_0x1c5180);let _0x3fae89=_0x504b7a;return _0x4f993a['KARGJ'](dbType,'oracle')&&_0x504b7a&&_0x4f993a[_0x5c5cfa(0xe1)](_0x504b7a['length'],0x0)&&(_0x3fae89=_0x504b7a['map'](_0xd2d5d=>{const _0x34ed7c=_0x5c5cfa,_0x2b7057={};for(const [_0x2a8996,_0x47fa3b]of Object['entries'](_0xd2d5d)){_0x2b7057[_0x2a8996[_0x34ed7c(0xa8)]()]=_0x47fa3b;}return _0x2b7057;})),logger[_0x5c5cfa(0x92)]({'event':_0x5c5cfa(0x115),'rows':_0x3fae89[_0x5c5cfa(0x120)]},'Data\x20fetched\x20successfully'),_0x3fae89;}catch(_0xb6203c){logError(_0xb6203c,{'event':_0x4f993a[_0x5c5cfa(0xca)]},_0x5c5cfa(0x12a));throw _0xb6203c;}}[a0_0x281a3e(0xa1)](_0x279581){const _0x8d3111=a0_0x281a3e;if(typeof _0x279581===_0x8d3111(0x98))return _0x279581['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x8d3111(0xcb)]();else{if(Array['isArray'](_0x279581))return _0x279581['map'](_0xc9963f=>this['sanitizeValue'](_0xc9963f));}return _0x279581;}[a0_0x281a3e(0xd9)](_0x4e4cc7){const _0x44ad0a=a0_0x281a3e,_0x1f2c3a={'cVmdx':function(_0x187e77,_0x43b5d3){return _0x187e77===_0x43b5d3;},'wtsLv':_0x44ad0a(0xc4),'ycqlT':'string','ZfOSy':_0x44ad0a(0xee),'uhIah':'IS\x20NOT\x20NULL','BVobF':_0x44ad0a(0xd7),'kugCI':function(_0x560f16,_0x496ef0){return _0x560f16===_0x496ef0;},'bcAQq':_0x44ad0a(0xda)};if(!_0x4e4cc7||!_0x4e4cc7['conditions']||_0x4e4cc7['conditions'][_0x44ad0a(0x120)]===0x0)return'';const {logic:_0x43208b,conditions:_0x350249}=_0x4e4cc7,_0x1e814e=_0x43208b&&_0x1f2c3a[_0x44ad0a(0x11f)](_0x43208b['toUpperCase'](),'OR')?'\x20OR\x20':_0x1f2c3a[_0x44ad0a(0x114)],_0x503683=_0x350249[_0x44ad0a(0xe3)](_0x21dd87=>{const _0x2b53e9=_0x44ad0a,_0x4463ff={'mDAdq':function(_0x106b28,_0x55aa6e){return _0x1f2c3a['cVmdx'](_0x106b28,_0x55aa6e);}},{key:_0x548be3,operator:_0x528fe0,value:_0x33fdfe,sensitive:_0x42b5f0}=_0x21dd87;if(!_0x548be3||!_0x528fe0)return logger['warn']({'event':_0x1f2c3a['wtsLv'],'condition':_0x21dd87},'Skipping\x20invalid\x20condition'),null;const _0x4a88ab=this[_0x2b53e9(0xa1)](_0x33fdfe),_0x5e1ae8=_0x42b5f0!==undefined?_0x42b5f0:!![];let _0x58ba62=_0x548be3,_0x576665=_0x4a88ab;!_0x5e1ae8&&(_0x58ba62=_0x2b53e9(0xff)+_0x548be3+')',typeof _0x33fdfe==='string'&&(_0x576665=_0x33fdfe['toUpperCase']()));const _0x54fe9d=_0x1f2c3a[_0x2b53e9(0x113)](typeof _0x576665,_0x1f2c3a[_0x2b53e9(0xa3)])?'\x27'+_0x576665['replace'](/'/g,'\x27\x27')+'\x27':_0x576665;switch(_0x528fe0['toUpperCase']()){case'=':case'!=':case'<>':return _0x58ba62+'\x20'+_0x528fe0+'\x20'+_0x54fe9d;case'>':case'<':case'>=':case'<=':const _0xeceba1=typeof _0x4a88ab===_0x1f2c3a[_0x2b53e9(0xa3)]?'\x27'+_0x4a88ab[_0x2b53e9(0xdf)](/'/g,'\x27\x27')+'\x27':_0x4a88ab;return _0x548be3+'\x20'+_0x528fe0+'\x20'+_0xeceba1;case _0x1f2c3a[_0x2b53e9(0xcd)]:case'NOT\x20LIKE':return _0x58ba62+'\x20'+_0x528fe0+'\x20'+_0x54fe9d;case'IN':if(Array[_0x2b53e9(0xe7)](_0x4a88ab)){let _0xe5d698;return!_0x5e1ae8?_0xe5d698=_0x4a88ab['map'](_0x24c928=>{const _0x5929e5=_0x2b53e9,_0x4fe8c8=typeof _0x24c928===_0x5929e5(0x98)?_0x24c928['toUpperCase']():_0x24c928;return _0x4463ff['mDAdq'](typeof _0x4fe8c8,'string')?'\x27'+_0x4fe8c8['replace'](/'/g,'\x27\x27')+'\x27':_0x4fe8c8;})[_0x2b53e9(0xa0)](',\x20'):_0xe5d698=_0x4a88ab['map'](_0x2c9fe2=>typeof _0x2c9fe2===_0x2b53e9(0x98)?'\x27'+_0x2c9fe2['replace'](/'/g,'\x27\x27')+'\x27':_0x2c9fe2)[_0x2b53e9(0xa0)](',\x20'),_0x58ba62+'\x20IN\x20('+_0xe5d698+')';}return _0x58ba62+'\x20IN\x20('+_0x54fe9d+')';case'IS\x20NULL':return _0x548be3+_0x2b53e9(0x111);case _0x1f2c3a[_0x2b53e9(0xea)]:return _0x548be3+'\x20IS\x20NOT\x20NULL';default:logger[_0x2b53e9(0xc6)]({'event':'unknown_operator','operator':_0x528fe0},_0x1f2c3a['BVobF']);return _0x58ba62+_0x2b53e9(0xba)+_0x54fe9d;}})[_0x44ad0a(0xa5)](_0x58eca2=>_0x58eca2!==null);if(_0x503683[_0x44ad0a(0x120)]===0x0)return'';return _0x503683['join'](_0x1e814e);}['buildOrderByClause'](_0x37c6b4){const _0x32b5b0=a0_0x281a3e,_0x5758b1={'xpxyb':_0x32b5b0(0xb2),'DEDTu':function(_0x26fd72,_0x25bfb7){return _0x26fd72===_0x25bfb7;},'dmfAz':_0x32b5b0(0xc9),'YkrDt':'ASC','DnkgI':function(_0x4940b0,_0xbd6079){return _0x4940b0===_0xbd6079;}};if(!_0x37c6b4||_0x5758b1[_0x32b5b0(0xe8)](_0x37c6b4[_0x32b5b0(0x120)],0x0))return'';const _0x35e0ef=_0x37c6b4['map'](_0x3fdb5c=>{const _0x1d8e27=_0x32b5b0,{column:_0x32ea83,direction:_0x1aa97d}=_0x3fdb5c;if(!_0x32ea83)return logger[_0x1d8e27(0xc6)]({'event':'invalid_sort_column','item':_0x3fdb5c},_0x5758b1[_0x1d8e27(0x10c)]),null;const _0x58ebfa=_0x1aa97d&&_0x5758b1['DEDTu'](_0x1aa97d[_0x1d8e27(0xad)](),_0x1d8e27(0xc9))?_0x5758b1[_0x1d8e27(0xe2)]:_0x5758b1[_0x1d8e27(0x9b)];return _0x32ea83+'\x20'+_0x58ebfa;})['filter'](_0x1e8da2=>_0x1e8da2!==null);if(_0x5758b1[_0x32b5b0(0xe8)](_0x35e0ef['length'],0x0))return'';return _0x35e0ef['join'](',\x20');}async[a0_0x281a3e(0xe0)](_0x5d5e52,_0x8ef5ad,_0xa8c925){const _0xf9dad7=a0_0x281a3e,_0x2e4764={'SmrcK':function(_0x23b527,_0x52a918){return _0x23b527/_0x52a918;},'EGInH':function(_0x3f4ab9,_0x242471){return _0x3f4ab9(_0x242471);},'wVvYY':function(_0x35d33f,_0xae04d2){return _0x35d33f===_0xae04d2;},'VRaTZ':function(_0x5aef36,_0x29880d){return _0x5aef36>_0x29880d;},'NRnNr':'excel_columns_from_custom_query','gbaUC':_0xf9dad7(0xde),'NBOQo':'excel_columns_from_config'},_0x498da3=_0x2e4764[_0xf9dad7(0xf4)](require,'../utils/excel-generator'),_0x1e8a04=new _0x498da3(),_0x3c9636=_0xa8c925['filename']?_0xa8c925[_0xf9dad7(0xec)]+'-'+_0x5d5e52:'export-'+_0x5d5e52,_0x58c775=path[_0xf9dad7(0xa0)](this['exportDir'],_0x3c9636+_0xf9dad7(0x109));let _0x50ea2b=_0xa8c925[_0xf9dad7(0x11e)];const _0x43dccf=_0xa8c925[_0xf9dad7(0xdd)]&&_0xa8c925[_0xf9dad7(0xdd)][_0xf9dad7(0xcb)](),_0x2ce50c=_0x50ea2b&&_0x50ea2b['length']===0x1&&(_0x50ea2b[0x0]==='*'||_0x2e4764[_0xf9dad7(0xb1)](_0x50ea2b[0x0]['toLowerCase'](),'all'));if(_0x2e4764[_0xf9dad7(0xd4)](_0x8ef5ad['length'],0x0)){const _0x502a72=Object[_0xf9dad7(0xcf)](_0x8ef5ad[0x0]);if(_0x43dccf)_0x50ea2b=_0x502a72,logger[_0xf9dad7(0x92)]({'event':_0x2e4764[_0xf9dad7(0x112)],'columns':_0x50ea2b},'Using\x20'+_0x50ea2b['length']+_0xf9dad7(0x129));else{if(_0x2ce50c)_0x50ea2b=_0x502a72,logger[_0xf9dad7(0x92)]({'event':_0x2e4764[_0xf9dad7(0xac)],'columns':_0x50ea2b},'Using\x20all\x20'+_0x50ea2b['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x50ea2b&&_0x50ea2b[_0xf9dad7(0x120)]>0x0){const _0x55e75b=_0x50ea2b['filter'](_0x2b44b6=>_0x502a72['includes'](_0x2b44b6));_0x2e4764['VRaTZ'](_0x55e75b['length'],0x0)?(_0x50ea2b=_0x55e75b,logger['info']({'event':'excel_columns_from_request','requestedColumns':_0xa8c925['columns'],'validColumns':_0x50ea2b},'Using\x20'+_0x50ea2b[_0xf9dad7(0x120)]+_0xf9dad7(0xfa))):(_0x50ea2b=_0x502a72,logger['warn']({'event':_0xf9dad7(0xa4),'requestedColumns':_0xa8c925[_0xf9dad7(0x11e)],'availableColumns':_0x502a72},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x502a72[_0xf9dad7(0x120)]+_0xf9dad7(0x127)));}else _0x50ea2b=_0x502a72,logger['info']({'event':'excel_columns_from_query_result','columns':_0x50ea2b},_0xf9dad7(0xcc)+_0x50ea2b['length']+'\x20columns\x20from\x20query\x20result');}}}else logger[_0xf9dad7(0x92)]({'event':_0x2e4764['NBOQo'],'columns':_0x50ea2b},_0xf9dad7(0xcc)+(_0x50ea2b?.[_0xf9dad7(0x120)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x1e8a04['generate']({'data':_0x8ef5ad,'columns':_0x50ea2b,'columnFormats':_0xa8c925[_0xf9dad7(0x11a)]||null,'fieldLabels':_0xa8c925[_0xf9dad7(0xfb)]||null,'filePath':_0x58c775,'onProgress':async _0x7e8512=>{const _0x3b022b=_0xf9dad7;await redisHelper[_0x3b022b(0xef)](_0x5d5e52,{'progress':Math[_0x3b022b(0x123)](_0x7e8512),'processed_rows':Math[_0x3b022b(0x123)](_0x2e4764['SmrcK'](_0x7e8512,0x64)*_0x8ef5ad['length'])});}}),_0x58c775;}async[a0_0x281a3e(0xd1)](_0x237db6){const _0x1e2b77=a0_0x281a3e,_0x2d6475={'MCGxb':function(_0x17a490,_0x3267e4){return _0x17a490!==_0x3267e4;},'vQuMo':_0x1e2b77(0x122)},_0x201c61=await redisHelper[_0x1e2b77(0xc0)](_0x237db6);if(!_0x201c61||_0x2d6475['MCGxb'](_0x201c61[_0x1e2b77(0x12c)],_0x2d6475[_0x1e2b77(0xf1)]))return null;try{return await fs[_0x1e2b77(0xe5)](_0x201c61['file_path']),_0x201c61['file_path'];}catch(_0xcc8bc8){return logError(_0xcc8bc8,{'event':'export_file_not_found','jobId':_0x237db6,'path':_0x201c61[_0x1e2b77(0xed)]},_0x1e2b77(0xbc)),null;}}async[a0_0x281a3e(0x102)](){const _0x2187c9=a0_0x281a3e,_0x3b6d6e={'ZFhWQ':'Starting\x20export\x20cleanup','ZCMGS':function(_0x5aa6f7,_0x357375){return _0x5aa6f7/_0x357375;},'WuYda':function(_0x4b2707,_0x11c337){return _0x4b2707-_0x11c337;},'JLxCt':function(_0x3bd34a,_0x471ec0){return _0x3bd34a>_0x471ec0;},'gLKJu':'export_file_delete_error','egElM':_0x2187c9(0xf5)};logger[_0x2187c9(0x92)]({'event':_0x2187c9(0x11c)},_0x3b6d6e[_0x2187c9(0xbe)]);const _0x4a4298=await redisHelper[_0x2187c9(0xe4)]();let _0x585e72=0x0;for(const _0x52e1ac of _0x4a4298){const _0x57c006=new Date(_0x52e1ac[_0x2187c9(0x128)]),_0x51f884=new Date(),_0x21487c=_0x3b6d6e['ZCMGS'](_0x3b6d6e['WuYda'](_0x51f884,_0x57c006),0x3e8*0x3c*0x3c);if(_0x3b6d6e['JLxCt'](_0x21487c,0x1)){if(_0x52e1ac[_0x2187c9(0xed)])try{await fs['unlink'](_0x52e1ac[_0x2187c9(0xed)]),logger['info']({'event':'export_file_deleted','path':_0x52e1ac['file_path']},_0x2187c9(0x11b));}catch(_0x1b9fd1){logger[_0x2187c9(0xc6)]({'event':_0x3b6d6e[_0x2187c9(0xfe)],'path':_0x52e1ac['file_path'],'error':_0x1b9fd1['message']},_0x2187c9(0x9f));}await redisHelper['deleteJob'](_0x52e1ac['job_id']),_0x585e72++;}}return logger[_0x2187c9(0x92)]({'event':_0x3b6d6e[_0x2187c9(0xb7)],'deleted':_0x585e72},_0x2187c9(0x94)),_0x585e72;}}module['exports']=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_0x548d70=a0_0x4abe;function a0_0x1395(){const _0x5b908f=['wKPTCwK','y3jLyxrLq29TBwL0sM9I','mtDJELHnENK','ChjLDMLLD19QB2jFy29TCgXLDgvK','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','s0rktfy','zxHLy3v0zvf1zxj5','ChjLDMLLD19QB2jFy3jLyxrLza','Dw5SAw5R','zMLSDgvY','ChjLDMLLD19VAW','ntaXndqZmxfWvMPvCG','x2v4Axn0Aw5Nswq','ndiXnZHfAw5SAg8','CMvWBgfJzq','rhvWBgLJyxrLihzHBhvLigzVCIa','mJC0mtGYmgf1weHKuW','qvbTywm','zw5Prhu','y29SDw1UrM9YBwf0CW','C2TPCf9LEgLZDgLUzW','CKTfA3K','t0nJqMe','mJiYoujnr3DkCW','ChjVy2vZC2vKuM93CW','uhjLDMLLDYbQB2iGy29TCgXLDgvK','AhzMs2C','twXWvMC','ChjVy2vZC0XVB2T1CezPzwXKCW','uhrnBMS','u0vis2G','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','u3bXrMu','y29TBwL0x3bYB2nLC3nFzxjYB3i','wNrgs2e','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','DxbSB2fKrgLY','AgfrDhm','z2v0tw9UDgG','yMf0y2HwywXPzgf0zvjVD3m','Bg9VA3vWrMLLBgrZ','rMfPBgvKihrVignSzwfUDxaGzMLSzq','EuDxsMe','DhjPBq','BwfW','ChvZAa','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','zhLgCLu','C1zVDwm','CfLYCvO','DMfSAwq','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','x2vYCM9YCW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','BxLZCwW','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','Avfuq3a','lI4VlI4VDgvTCc91CgXVywrZlW','DgfYz2v0rMLLBgq','ChjVy2vZC1bYzxzPzxDkB2i','zw52','DxbSB2fKx2LK','CgfKu3rHCNq','CM93CW','y2f0y2G','y29TBwL0x2PVyL9JB21WBgv0zwq','z2vUzxjHDgvjza','Dg9ju09tDhjPBMC','mZq4nZC3nZD6uMDUtw4','BgvUz3rO','Aw5KzxHpzG','kqOGicaGica','AM9IoG','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','lI4VDxrPBhmVzgi','DxbKyxrL','Dhj1zq','zM9YrwfJAa','C3PvDKy','BhHtCNK','y3jLyxrLzf9HDa','s3P0vwy','ndy2mgjNzLHUBW','u0Tjua','BNvTyMvY','DhLWzq','BNLSyu8','CM93sw5KzxG','DKrkzwC','wMHlvNm','D25Py1a','y29TBwL0x2PVyL9MywLSzwq','C2L6zq','y1b1Aha','z2v0sM9I','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','DMf3ueK','A1D1veq','yNvPBgrcyxrJAfvWzgf0zq','mtbxtg5XEhi','Aw5Zzxj0','s2PRChy','DMfSAwrHDgLUzW','tLvmta','DxbSB2fKoG','CgfYyw1Z','zxHLy3v0zvrYyw5Zywn0Aw9U','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','uK5ksNy','vvbeqvrf','y29TCgXLDgvK','BwvZC2fNzq','zLbiu2G','cIaGicaGicaGv0HfuKuG','wuzswwe','Dg9vChbLCKnHC2u','cIaGicaGicaGu0vmrunuia','jdfFjdi','AujtDfy','y3jLyxrLuhjLDMLLD0PVyG','zw50CMLLCW','mZe2oda1ngTpAuTxzW','q29TBwL0igPVyIbJCMvHDgvK','z2v0vgLTzq','DxbKyxrLx2v4Axn0Aw5N','D05AvgO','x2fJDgLVBG','z3LRt2S','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','zNvpBhC','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','qK1pBg8','mJrly1nbtgq','vfjMuxa','y2H1BMTsB3DZ','z2v0','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','Aw5MBW','q0PHD2C','Dg9mB3DLCKnHC2u','DgvZDa','lI4VDxrPBhmVBg9Nz2vY','C2XPy2u','uhjLDMLLDYbQB2iGzMfPBgvK','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','A2v5CW','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','x2DLBMvYyxrLzf91DwLK','C3vIC3rYAw5N','zgvIDwC','q29TBwL0igPVyIbJB21WBgv0zwq','Aw5JBhvKzxm','C3rHDhvZ','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','ChjVy2vZC2LUzW','vvbmt0fex0rjuG','C3rYAw5N','qvvOv2q','C2jUsKq','mtC5mZGYmerPCfbmwG','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','ieLoicG','su5trvju','DuzNtK8','x3vWBg9HzerPCG','DxbSB2fKrMLSzq','AM9PBG','Aw5Zzxj0x29UBhK','C2v0','uxbIEw0','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','B3jHy2XL','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','C2v0sM9I','zMLUza','rhD3C08','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','zxjYB3jZ','yM9VBgvHBG','rejFvfLqrq','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi'];a0_0x1395=function(){return _0x5b908f;};return a0_0x1395();}(function(_0x33f7de,_0x22defc){const _0x11c7c8=a0_0x4abe,_0x84691b=_0x33f7de();while(!![]){try{const _0x25e9b8=parseInt(_0x11c7c8(0x1e1))/0x1*(parseInt(_0x11c7c8(0x1ec))/0x2)+parseInt(_0x11c7c8(0x1f6))/0x3*(-parseInt(_0x11c7c8(0x17a))/0x4)+-parseInt(_0x11c7c8(0x18b))/0x5*(parseInt(_0x11c7c8(0x1a1))/0x6)+-parseInt(_0x11c7c8(0x1c7))/0x7*(parseInt(_0x11c7c8(0x1ac))/0x8)+-parseInt(_0x11c7c8(0x1ea))/0x9+parseInt(_0x11c7c8(0x1ef))/0xa+parseInt(_0x11c7c8(0x16b))/0xb;if(_0x25e9b8===_0x22defc)break;else _0x84691b['push'](_0x84691b['shift']());}catch(_0x369ece){_0x84691b['push'](_0x84691b['shift']());}}}(a0_0x1395,0x87b4a));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],redisHelper=require(a0_0x548d70(0x1b8)),{logger,logError}=require(a0_0x548d70(0x1b5)),dbType=(process[a0_0x548d70(0x163)][a0_0x548d70(0x1dd)]||'postgresql')[a0_0x548d70(0x1b3)]();function a0_0x4abe(_0x34f53d,_0x46a099){_0x34f53d=_0x34f53d-0x163;const _0x139590=a0_0x1395();let _0x4abe16=_0x139590[_0x34f53d];if(a0_0x4abe['xlQxNh']===undefined){var _0x3b033e=function(_0x5e0250){const _0x1ea5a7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d439b='',_0x4c3ecd='';for(let _0x6ccafe=0x0,_0x47cc75,_0xfcef80,_0x3ea31e=0x0;_0xfcef80=_0x5e0250['charAt'](_0x3ea31e++);~_0xfcef80&&(_0x47cc75=_0x6ccafe%0x4?_0x47cc75*0x40+_0xfcef80:_0xfcef80,_0x6ccafe++%0x4)?_0x1d439b+=String['fromCharCode'](0xff&_0x47cc75>>(-0x2*_0x6ccafe&0x6)):0x0){_0xfcef80=_0x1ea5a7['indexOf'](_0xfcef80);}for(let _0x68b2cc=0x0,_0x49620a=_0x1d439b['length'];_0x68b2cc<_0x49620a;_0x68b2cc++){_0x4c3ecd+='%'+('00'+_0x1d439b['charCodeAt'](_0x68b2cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c3ecd);};a0_0x4abe['aaVGIt']=_0x3b033e,a0_0x4abe['mbQYGo']={},a0_0x4abe['xlQxNh']=!![];}const _0x52e204=_0x139590[0x0],_0xe04b4e=_0x34f53d+_0x52e204,_0x328eb5=a0_0x4abe['mbQYGo'][_0xe04b4e];return!_0x328eb5?(_0x4abe16=a0_0x4abe['aaVGIt'](_0x4abe16),a0_0x4abe['mbQYGo'][_0xe04b4e]=_0x4abe16):_0x4abe16=_0x328eb5,_0x4abe16;}let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x4b8171,_0x42c1b0)=>oracleDb[a0_0x548d70(0x1e5)](_0x4b8171,_0x42c1b0),executeTransaction=_0x11728c=>oracleDb[a0_0x548d70(0x192)](_0x11728c);else{if(dbType===a0_0x548d70(0x215)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1b943c,_0x118953)=>mysqlDb['executeQuery'](_0x1b943c,_0x118953),executeTransaction=_0x3e630f=>mysqlDb['executeTransaction'](_0x3e630f);}else{const db=require(a0_0x548d70(0x172));executeQuery=db[a0_0x548d70(0x1e5)],executeTransaction=db[a0_0x548d70(0x192)];}}const excelParser=require(a0_0x548d70(0x187)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x548d70(0x1de)),lookupResolver=require(a0_0x548d70(0x202));class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x548d70(0x203)](){const _0x5f3a3a=a0_0x548d70;if(!this['_uploadDir']){const _0x3ddc26=process['env'][_0x5f3a3a(0x214)]||'default';this[_0x5f3a3a(0x1cc)]=process['env'][_0x5f3a3a(0x1c3)]||path['join'](__dirname,_0x5f3a3a(0x218)+_0x3ddc26);}return this[_0x5f3a3a(0x1cc)];}['generateId'](){const _0x4e1a17=a0_0x548d70,_0x518c9e={'ZJmqi':_0x4e1a17(0x1b0),'MlpVg':function(_0x2fe682,_0x30adc7){return _0x2fe682-_0x30adc7;},'cPuhp':function(_0x39d3b3,_0x445f32){return _0x39d3b3*_0x445f32;}},_0x5b741d=_0x518c9e[_0x4e1a17(0x1df)],_0x11c748=Date['now']()['toString'](0x24),_0x2fda1d=uuidv7()[_0x4e1a17(0x1ed)](/-/g,'')['substring'](0x0,_0x518c9e[_0x4e1a17(0x1fa)](0xc,_0x11c748[_0x4e1a17(0x16c)])),_0x54eec2=(_0x11c748+_0x2fda1d)[_0x4e1a17(0x1bc)](0x0,0xc);let _0x1b78f6='';for(let _0x7bb0ae=0x0;_0x7bb0ae<0xc;_0x7bb0ae++){_0x54eec2[_0x7bb0ae]?_0x1b78f6+=_0x54eec2[_0x7bb0ae]:_0x1b78f6+=_0x5b741d['charAt'](Math['floor'](_0x518c9e[_0x4e1a17(0x185)](Math['random'](),_0x5b741d['length'])));}return _0x1b78f6;}['buildLabelToFieldMap'](_0x35872c){const _0x542f9d=a0_0x548d70,_0x192c45={'awUwC':'Label\x20to\x20field\x20mapping\x20built'},_0x59d0dc=new Map();if(!_0x35872c)return _0x59d0dc;return Object['entries'](_0x35872c)['forEach'](([_0x306055,_0x446bbd])=>{const _0x11c58e=a0_0x4abe,_0x4e7f1a=String(_0x446bbd)[_0x11c58e(0x20a)]()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x11c58e(0x19d))[_0x11c58e(0x1ed)](/([A-Z]+)([A-Z][a-z])/g,_0x11c58e(0x19d))['toLowerCase']();_0x59d0dc[_0x11c58e(0x1d0)](_0x4e7f1a,_0x306055);}),logger['debug']({'event':_0x542f9d(0x1d6),'mappingCount':_0x59d0dc[_0x542f9d(0x184)]},_0x192c45['awUwC']),_0x59d0dc;}['applyColumnFormats'](_0xa3cde,_0x43ed65){const _0x501f74=a0_0x548d70,_0x49660b={'vawPI':function(_0x2ed432,_0x34957c){return _0x2ed432===_0x34957c;},'vWTjQ':function(_0x3e4a12,_0x1a0176){return _0x3e4a12===_0x1a0176;},'KiGkE':function(_0x31e1ae,_0xc769e3){return _0x31e1ae===_0xc769e3;},'sbnJD':_0x501f74(0x17c),'SzDKv':_0x501f74(0x1dc),'fPHSh':'text','YFRYa':function(_0x587f12,_0x5073bd){return _0x587f12===_0x5073bd;}};if(!_0x43ed65||_0x49660b[_0x501f74(0x19a)](Object['keys'](_0x43ed65)[_0x501f74(0x16c)],0x0))return _0xa3cde;return _0xa3cde['map'](_0x2e3a7a=>{const _0x4ccbe7=_0x501f74,_0x2e7f6d={..._0x2e3a7a};for(const [_0x3c10a4,_0x253afa]of Object[_0x4ccbe7(0x1a0)](_0x43ed65)){const _0x23532b=_0x2e7f6d[_0x3c10a4];if(_0x49660b[_0x4ccbe7(0x188)](_0x23532b,null)||_0x49660b['vWTjQ'](_0x23532b,undefined)||_0x49660b['KiGkE'](_0x23532b,'')){_0x2e7f6d[_0x3c10a4]=null;continue;}switch(_0x253afa[_0x4ccbe7(0x17d)]){case'date':_0x2e7f6d[_0x3c10a4]=this['formatDateForDatabase'](_0x23532b);break;case _0x49660b[_0x4ccbe7(0x1c6)]:_0x2e7f6d[_0x3c10a4]=this[_0x4ccbe7(0x1d4)](_0x23532b);break;case _0x49660b['SzDKv']:_0x2e7f6d[_0x3c10a4]=this[_0x4ccbe7(0x193)](_0x23532b);break;case _0x49660b[_0x4ccbe7(0x198)]:_0x2e7f6d[_0x3c10a4]=String(_0x23532b);break;default:break;}}return _0x2e7f6d;});}[a0_0x548d70(0x1da)](_0x1d18b0){const _0x5467f3=a0_0x548d70,_0x1b6734={'BJBKc':function(_0x4cc254,_0x490915){return _0x4cc254===_0x490915;},'npMtm':function(_0x2368ea,_0x539fd2){return _0x2368ea===_0x539fd2;},'DwwsO':_0x5467f3(0x1c4),'RNJJv':function(_0xf46f8e,_0x1811d1){return _0xf46f8e instanceof _0x1811d1;},'YIlMS':function(_0x387c68,_0x5b9bb1){return _0x387c68+_0x5b9bb1;},'yGWJa':function(_0x34e3b7,_0x24133f){return _0x34e3b7(_0x24133f);}};if(_0x1b6734['BJBKc'](_0x1d18b0,null)||_0x1d18b0===undefined||_0x1b6734['npMtm'](_0x1d18b0,''))return null;if(_0x1b6734['npMtm'](typeof _0x1d18b0,_0x1b6734[_0x5467f3(0x1d9)])&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x1d18b0))return _0x1d18b0;if(_0x1b6734[_0x5467f3(0x194)](_0x1d18b0,Date)){if(isNaN(_0x1d18b0[_0x5467f3(0x1a3)]()))return null;const _0x284d0e=_0x1d18b0['getFullYear'](),_0x55af0c=String(_0x1b6734['YIlMS'](_0x1d18b0[_0x5467f3(0x205)](),0x1))[_0x5467f3(0x165)](0x2,'0'),_0x214c9e=_0x1b6734[_0x5467f3(0x209)](String,_0x1d18b0['getDate']())[_0x5467f3(0x165)](0x2,'0');return _0x284d0e+'-'+_0x55af0c+'-'+_0x214c9e;}if(typeof _0x1d18b0===_0x1b6734[_0x5467f3(0x1d9)]){const _0x33f8e4=_0x1d18b0['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x33f8e4){const _0x14d827=String(_0x33f8e4[0x1])['padStart'](0x2,'0'),_0x2cc076=String(_0x33f8e4[0x2])[_0x5467f3(0x165)](0x2,'0'),_0x1bf99b=_0x33f8e4[0x3];return _0x1bf99b+'-'+_0x2cc076+'-'+_0x14d827;}const _0x5c2420=_0x1d18b0['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x5c2420){const _0x124d50=_0x5c2420[0x1],_0x4c0bc8=_0x1b6734['yGWJa'](String,_0x5c2420[0x2])[_0x5467f3(0x165)](0x2,'0'),_0x2eed59=_0x1b6734[_0x5467f3(0x209)](String,_0x5c2420[0x3])['padStart'](0x2,'0');return _0x124d50+'-'+_0x4c0bc8+'-'+_0x2eed59;}}return _0x1d18b0;}[a0_0x548d70(0x1d4)](_0x39d10c){const _0x186069=a0_0x548d70,_0x43110a={'sVouc':function(_0x4b16d9,_0x4e0fb4){return _0x4b16d9===_0x4e0fb4;},'ZtFKa':'string','wnicP':function(_0x10ddab,_0x1d9a19){return _0x10ddab(_0x1d9a19);}};if(_0x39d10c===null||_0x43110a[_0x186069(0x20f)](_0x39d10c,undefined)||_0x39d10c==='')return null;if(typeof _0x39d10c==='number')return isNaN(_0x39d10c)?null:_0x39d10c;if(typeof _0x39d10c===_0x43110a[_0x186069(0x201)]){let _0x50e01f=_0x39d10c['trim']();const _0x261b6c=/,\d{1,2}$/['test'](_0x50e01f)&&!/,\d{3}/[_0x186069(0x1b4)](_0x50e01f);_0x261b6c?_0x50e01f=_0x50e01f[_0x186069(0x1ed)](/\./g,'')[_0x186069(0x1ed)](',','.'):_0x50e01f=_0x50e01f['replace'](/,/g,'');const _0x3f2e9a=_0x43110a[_0x186069(0x182)](parseFloat,_0x50e01f);return isNaN(_0x3f2e9a)?null:_0x3f2e9a;}return null;}[a0_0x548d70(0x193)](_0x64a150){const _0x1c28f2=a0_0x548d70,_0xd227af={'lsigH':function(_0x473da4,_0x3f2969){return _0x473da4===_0x3f2969;},'JyXCw':function(_0x57e6df,_0x2c1e3e){return _0x57e6df===_0x2c1e3e;},'CJawg':function(_0x54820e,_0x48946e){return _0x54820e===_0x48946e;},'KztUf':_0x1c28f2(0x174),'Qpbym':'false','eniDu':_0x1c28f2(0x1c4),'APmac':_0x1c28f2(0x17c)};if(_0xd227af['lsigH'](_0x64a150,null)||_0x64a150===undefined||_0xd227af['JyXCw'](_0x64a150,''))return null;if(_0xd227af[_0x1c28f2(0x1b2)](typeof _0x64a150,'boolean'))return _0x64a150?_0xd227af['KztUf']:_0xd227af[_0x1c28f2(0x1d1)];if(typeof _0x64a150===_0xd227af[_0x1c28f2(0x1f1)]){const _0x325000=_0x64a150[_0x1c28f2(0x20a)]()[_0x1c28f2(0x1b3)]();if([_0xd227af[_0x1c28f2(0x179)],'yes','y','1'][_0x1c28f2(0x1bf)](_0x325000))return'true';if(['false','no','n','0'][_0x1c28f2(0x1bf)](_0x325000))return _0xd227af[_0x1c28f2(0x1d1)];return null;}if(typeof _0x64a150===_0xd227af[_0x1c28f2(0x1f0)])return _0x64a150?_0xd227af['KztUf']:'false';return null;}async[a0_0x548d70(0x1cd)](_0x494cb4,_0x19ca42){const _0xcd01f9=a0_0x548d70,_0x1f43f7={'TRfQp':function(_0x2b03a0,_0x21b959){return _0x2b03a0||_0x21b959;},'Kjkpv':'headers_mapped','eLYqt':'request_scope_applied','sCdBS':_0xcd01f9(0x212),'fuOlw':'import_file_uploaded','ounpT':_0xcd01f9(0x1fe),'tkMji':function(_0x2087aa,_0x2b7a17,_0x459cc3,_0x394cf0){return _0x2087aa(_0x2b7a17,_0x459cc3,_0x394cf0);},'AdjYw':'file_cleanup_error','KDKmL':_0xcd01f9(0x208)},_0x1e140c=this[_0xcd01f9(0x169)]();try{let {headers:_0x52b2b7,rows:_0x2c4f7a,totalRows:_0x5e3ae9}=await excelParser['parseExcelFile'](_0x494cb4['path']);const _0x8425e6=this['buildLabelToFieldMap'](_0x19ca42['fieldLabels']),_0xbed73f=_0x52b2b7['map'](_0x5cd251=>{const _0x1dc436=_0xcd01f9,_0x392e42=_0x8425e6[_0x1dc436(0x1af)](_0x5cd251);return _0x1f43f7[_0x1dc436(0x1ad)](_0x392e42,_0x5cd251);});_0x2c4f7a=_0x2c4f7a[_0xcd01f9(0x20b)](_0x2a83e4=>{const _0x665c8={};return _0x52b2b7['forEach']((_0x3a2771,_0x1e3de7)=>{const _0x1a0955=_0xbed73f[_0x1e3de7];_0x665c8[_0x1a0955]=_0x2a83e4[_0x3a2771];}),_0x665c8;}),_0x52b2b7=_0xbed73f,logger[_0xcd01f9(0x1bd)]({'event':_0x1f43f7[_0xcd01f9(0x18d)],'original':_0x52b2b7[_0xcd01f9(0x16c)],'mapped':_0xbed73f['filter']((_0x572247,_0x30d812)=>_0x572247!==_0x52b2b7[_0x30d812])['length']},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x19ca42[_0xcd01f9(0x1f2)]&&Object['keys'](_0x19ca42[_0xcd01f9(0x1f2)])[_0xcd01f9(0x16c)]>0x0&&(_0x2c4f7a=this['applyColumnFormats'](_0x2c4f7a,_0x19ca42[_0xcd01f9(0x1f2)]),logger[_0xcd01f9(0x1bd)]({'event':_0xcd01f9(0x1c1),'formatCount':Object[_0xcd01f9(0x1b9)](_0x19ca42[_0xcd01f9(0x1f2)])['length'],'formats':Object[_0xcd01f9(0x1b9)](_0x19ca42[_0xcd01f9(0x1f2)])},_0xcd01f9(0x20d)));if(_0x19ca42['scopeOverride']&&_0x19ca42['scopeOverride']['column']){const {column:_0x4b620c,value:_0x33d1ac}=_0x19ca42['scopeOverride'];_0x2c4f7a=_0x2c4f7a[_0xcd01f9(0x20b)](_0x36a695=>({..._0x36a695,[_0x4b620c]:_0x33d1ac})),logger['debug']({'event':_0x1f43f7['eLYqt'],'column':_0x4b620c,'rowCount':_0x2c4f7a['length']},_0x1f43f7['sCdBS']);}const _0x42f3c7=_0x19ca42[_0xcd01f9(0x207)]?Object['values'](_0x19ca42['lookupFields'])['map'](_0x30882c=>_0x30882c[_0xcd01f9(0x219)]):[],_0x369077=_0x19ca42['fieldName'][_0xcd01f9(0x1e8)](_0x42d071=>!_0x42f3c7[_0xcd01f9(0x1bf)](_0x42d071)),_0x523512=excelParser['validateExcelStructure'](_0x52b2b7,_0x369077);if(!_0x523512[_0xcd01f9(0x211)]){await fs[_0xcd01f9(0x1e7)](_0x494cb4['path']);throw new Error(_0xcd01f9(0x1ba)+_0x523512['missingFields'][_0xcd01f9(0x1ce)](',\x20'));}const _0x372200={'upload_id':_0x1e140c,'filename':_0x494cb4['originalname'],'total_rows':_0x5e3ae9,'headers':_0x52b2b7,'rows':_0x2c4f7a,'params':_0x19ca42,'created_at':new Date()[_0xcd01f9(0x16a)]()};return await redisHelper['setJob'](_0xcd01f9(0x190)+_0x1e140c,_0x372200,0xe10),await fs['unlink'](_0x494cb4['path']),logger[_0xcd01f9(0x1b1)]({'event':_0x1f43f7[_0xcd01f9(0x1a9)],'uploadId':_0x1e140c,'filename':_0x494cb4['originalname'],'totalRows':_0x5e3ae9},_0x1f43f7['ounpT']),{'upload_id':_0x1e140c,'total_rows':_0x5e3ae9,'preview':_0x2c4f7a[_0xcd01f9(0x1b6)](0x0,0xa)};}catch(_0x1d30c3){try{await fs['unlink'](_0x494cb4['path']);}catch(_0x3e9bec){_0x1f43f7['tkMji'](logError,_0x3e9bec,{'event':_0x1f43f7['AdjYw']},_0x1f43f7['KDKmL']);}throw _0x1d30c3;}}async[a0_0x548d70(0x19f)](_0x18d40e){const _0x461efd=a0_0x548d70,_0x425c68={'KrFRU':function(_0xaae9c5,_0x4d9b6c,_0x1a6cc1,_0x4826ba){return _0xaae9c5(_0x4d9b6c,_0x1a6cc1,_0x4826ba);},'cFRWo':'Preview\x20processing\x20failed','BMOlo':'validating','OCcBa':'Preview\x20job\x20created'},_0x56cc25=this[_0x461efd(0x169)](),_0x5a782e=await redisHelper['getJob']('upload:'+_0x18d40e);if(!_0x5a782e)throw new Error(_0x461efd(0x216));const _0xfa0de={'job_id':_0x56cc25,'upload_id':_0x18d40e,'status':_0x425c68[_0x461efd(0x1ab)],'progress':0x0,'created_at':new Date()[_0x461efd(0x16a)](),'params':_0x5a782e[_0x461efd(0x191)]};return await redisHelper[_0x461efd(0x1d7)](_0x461efd(0x16f)+_0x56cc25,_0xfa0de,0xe10),logger['info']({'event':_0x461efd(0x1e6),'jobId':_0x56cc25,'uploadId':_0x18d40e},_0x425c68[_0x461efd(0x1f5)]),this[_0x461efd(0x21a)](_0x56cc25,_0x18d40e,_0x5a782e)['catch'](_0x4e4ff7=>{_0x425c68['KrFRU'](logError,_0x4e4ff7,{'event':'preview_process_error','jobId':_0x56cc25},_0x425c68['cFRWo']);}),{'job_id':_0x56cc25,'status':_0x461efd(0x18e)};}[a0_0x548d70(0x1d5)](_0x46bd3c,_0x3b7d41){const _0x2aff9a={'dyFrU':function(_0x35e9ed,_0x115346){return _0x35e9ed===_0x115346;},'iQTCp':function(_0x11bc5b,_0x30b031){return _0x11bc5b===_0x30b031;},'rsrXZ':function(_0x371692,_0x579371){return _0x371692(_0x579371);},'rKEky':function(_0x18838c){return _0x18838c();},'uFgNO':'uuid_auto_generated'};_0x46bd3c['forEach']((_0x4c9199,_0x250c9b)=>{const _0x52ad09=a0_0x4abe;_0x3b7d41[_0x52ad09(0x175)](_0x53a7cf=>{const _0x20c8de=_0x52ad09,_0x31e44f=_0x4c9199[_0x53a7cf];if(_0x31e44f===null||_0x2aff9a[_0x20c8de(0x20e)](_0x31e44f,undefined)||_0x31e44f===''||_0x2aff9a[_0x20c8de(0x217)](_0x2aff9a['rsrXZ'](String,_0x31e44f)[_0x20c8de(0x20a)](),'-')){const _0x3eb37d=_0x2aff9a[_0x20c8de(0x1f4)](uuidv7);_0x4c9199[_0x53a7cf]=_0x3eb37d,_0x4c9199['_generated_uuid']=_0x4c9199[_0x20c8de(0x1bb)]||{},_0x4c9199['_generated_uuid'][_0x53a7cf]=_0x3eb37d,logger['debug']({'event':_0x2aff9a[_0x20c8de(0x1cb)],'rowIndex':_0x250c9b,'field':_0x53a7cf,'uuid':_0x3eb37d},_0x20c8de(0x1e3)+_0x53a7cf+'\x20at\x20row\x20'+(_0x250c9b+0x2));}});});}async['processPreviewJob'](_0x537c02,_0x55ff3d,_0x26e6d9){const _0x196d8b=a0_0x548d70,_0x210ec7={'hvfKg':function(_0x672f1c,_0x3e1553){return _0x672f1c===_0x3e1553;},'vDJeg':function(_0x18027c,_0x315923){return _0x18027c===_0x315923;},'LgTpS':_0x196d8b(0x17b),'SpqFe':function(_0x120353,_0x2ce8a0){return _0x120353>_0x2ce8a0;},'Rwkyu':'processing_lookup_fields','ZhKVs':'preview_error','PtMnk':_0x196d8b(0x1f8),'iBStV':_0x196d8b(0x1b7)};try{let {rows:_0x53af6c,params:_0x282878}=_0x26e6d9;const {requiredFields:_0x1f3bd2,validations:_0x540dbd,upsertKeys:_0x3ca214,tableName:_0x253cd6,primaryKey:_0x256946,fieldName:_0x5c1e6f,upsertStrategy:_0x15d2b5,lookupFields:_0x4287cf}=_0x282878;this[_0x196d8b(0x1d5)](_0x53af6c,_0x3ca214);let _0x10827e=[];if(_0x4287cf&&_0x210ec7[_0x196d8b(0x1ff)](Object['keys'](_0x4287cf)['length'],0x0)){logger[_0x196d8b(0x1b1)]({'event':_0x210ec7['Rwkyu'],'jobId':_0x537c02,'lookupFieldCount':Object[_0x196d8b(0x1b9)](_0x4287cf)[_0x196d8b(0x16c)]},_0x196d8b(0x1a8));const _0x2a72a8=await lookupResolver[_0x196d8b(0x1fb)](_0x53af6c,_0x4287cf);_0x53af6c=_0x2a72a8[_0x196d8b(0x1f7)],_0x10827e=_0x2a72a8[_0x196d8b(0x1db)],_0x26e6d9[_0x196d8b(0x166)]=_0x53af6c;}const _0x495167=importValidator[_0x196d8b(0x206)](_0x53af6c,_0x1f3bd2||[],_0x540dbd||{});_0x10827e[_0x196d8b(0x175)](_0xbde3c=>{const _0x3c95f1=_0x196d8b,_0x1ce72a=_0x495167[_0x3c95f1(0x1d8)](_0x31086f=>_0x31086f['rowIndex']===_0xbde3c[_0x3c95f1(0x17f)]);_0x1ce72a?_0x1ce72a[_0x3c95f1(0x1db)]['push'](_0xbde3c['message']):_0x495167['push']({'rowIndex':_0xbde3c['rowIndex'],'rowData':_0x53af6c[_0xbde3c['rowIndex']],'errors':[_0xbde3c['message']]});});const _0x1a5b43=importValidator['detectDuplicatesInFile'](_0x53af6c,_0x3ca214);_0x1a5b43[_0x196d8b(0x175)](_0x1fcff3=>{const _0x111bd3=_0x196d8b,_0x986e77=_0x495167['find'](_0x8d32ae=>_0x8d32ae[_0x111bd3(0x17f)]===_0x1fcff3[_0x111bd3(0x17f)]),_0x5ee69c=_0x3ca214['map'](_0x4ae795=>_0x4ae795[_0x111bd3(0x19b)]())[_0x111bd3(0x1ce)](',\x20'),_0x43469b=_0x111bd3(0x1ee)+_0x5ee69c;_0x986e77?_0x986e77[_0x111bd3(0x1db)]['push'](_0x43469b):_0x495167[_0x111bd3(0x20c)]({'rowIndex':_0x1fcff3[_0x111bd3(0x17f)],'rowData':_0x53af6c[_0x1fcff3[_0x111bd3(0x17f)]],'errors':[_0x43469b]});}),await this['detectDatabaseDuplicates'](_0x53af6c,_0x3ca214,_0x253cd6,_0x256946,_0x15d2b5,_0x495167),_0x495167['forEach'](_0x4bf280=>{const _0x23b5de=_0x196d8b,_0xd599be=_0x53af6c[_0x4bf280['rowIndex']];_0xd599be&&(_0xd599be['_errors']=_0x4bf280[_0x23b5de(0x1db)]);});let _0x334f3f=0x0,_0x350053=0x0,_0x5e7043=0x0;_0x53af6c[_0x196d8b(0x175)](_0x1fc711=>{const _0x1f0c04=_0x196d8b;if(_0x210ec7[_0x1f0c04(0x1f9)](_0x1fc711['_action'],_0x1f0c04(0x1ca)))_0x334f3f++;else{if(_0x210ec7[_0x1f0c04(0x180)](_0x1fc711[_0x1f0c04(0x1a6)],_0x1f0c04(0x195)))_0x350053++;else _0x210ec7['hvfKg'](_0x1fc711[_0x1f0c04(0x1a6)],_0x210ec7['LgTpS'])&&_0x5e7043++;}});const _0xe59c65={'job_id':_0x537c02,'upload_id':_0x55ff3d,'status':_0x210ec7['SpqFe'](_0x495167[_0x196d8b(0x16c)],0x0)?_0x210ec7[_0x196d8b(0x181)]:_0x196d8b(0x1e9),'progress':0x64,'created_at':_0x26e6d9[_0x196d8b(0x178)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x53af6c[_0x196d8b(0x16c)],'insert_count':_0x334f3f,'update_count':_0x350053,'skip_count':_0x5e7043,'error_count':_0x495167['length'],'errors':_0x495167,'data':_0x53af6c,'sample_insert':_0x53af6c['filter'](_0x5a81bd=>_0x5a81bd['_action']==='INSERT')['slice'](0x0,0x5),'sample_update':_0x53af6c['filter'](_0x13501f=>_0x13501f['_action']===_0x196d8b(0x195))[_0x196d8b(0x1b6)](0x0,0x5),'sample_skip':_0x53af6c[_0x196d8b(0x1e8)](_0x3fea09=>_0x3fea09[_0x196d8b(0x1a6)]==='SKIP')['slice'](0x0,0x5)},'params':_0x282878};await redisHelper[_0x196d8b(0x1d7)](_0x196d8b(0x16f)+_0x537c02,_0xe59c65,0xe10),_0x26e6d9[_0x196d8b(0x166)]=_0x53af6c,await redisHelper['setJob']('upload:'+_0x55ff3d,_0x26e6d9,0xe10),logger[_0x196d8b(0x1b1)]({'event':_0x196d8b(0x1e2),'jobId':_0x537c02,'status':_0xe59c65['status'],'insertCount':_0x334f3f,'updateCount':_0x350053,'skipCount':_0x5e7043,'errorCount':_0x495167[_0x196d8b(0x16c)]},_0x210ec7[_0x196d8b(0x1fc)]);}catch(_0x44eb2d){logError(_0x44eb2d,{'event':'preview_job_failed','jobId':_0x537c02},_0x210ec7[_0x196d8b(0x19e)]),await redisHelper['setJob']('job:'+_0x537c02,{'job_id':_0x537c02,'upload_id':_0x55ff3d,'status':'failed','progress':0x0,'error':_0x44eb2d[_0x196d8b(0x197)],'created_at':new Date()[_0x196d8b(0x16a)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x548d70(0x1d2)](_0x535c89,_0xb19eb7,_0x20248f,_0x5b4b71,_0x1c7eb2=a0_0x548d70(0x1a4),_0x1c3b7a=[]){const _0x277622=a0_0x548d70,_0x8bf303={'gykOk':function(_0x3cfaa7,_0xb3af8f){return _0x3cfaa7===_0xb3af8f;},'wNZTj':'UPDATE','lxSry':_0x277622(0x1cf),'JHOcY':function(_0x58a7e0,_0x1639c4){return _0x58a7e0!==_0x1639c4;},'haQts':_0x277622(0x1f3),'lbChv':_0x277622(0x17b),'SEHKh':'update_existing','nylaO':_0x277622(0x1d3)},_0xdf09d3=upsertBuilder['chunkRows'](_0x535c89,0x64);for(const _0x248f8d of _0xdf09d3){const _0x23f67e=_0x248f8d[_0x277622(0x20b)](_0x2835fe=>_0x2835fe[_0xb19eb7[0x0]]),_0x16af5f=_0x23f67e[_0x277622(0x20b)](_0x3ec832=>{const _0x105584=_0x277622;if(_0x3ec832===null||_0x3ec832===undefined)return _0x105584(0x18f);return'\x27'+String(_0x3ec832)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x5902ec=_0x277622(0x19c)+_0x5b4b71+',\x20'+_0xb19eb7[_0x277622(0x1ce)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x20248f+_0x277622(0x199)+_0xb19eb7[0x0]+_0x277622(0x1c9)+_0x16af5f['join'](',\x20')+_0x277622(0x16e);let _0x3a3f6e=await executeQuery(_0x5902ec);_0x8bf303[_0x277622(0x1a7)](dbType,_0x8bf303[_0x277622(0x17e)])&&_0x3a3f6e&&_0x3a3f6e[_0x277622(0x16c)]>0x0&&(_0x3a3f6e=_0x3a3f6e['map'](_0x3973e3=>{const _0x19339f=_0x277622,_0x52585e={};for(const [_0x319445,_0x52a26f]of Object[_0x19339f(0x1a0)](_0x3973e3)){_0x52585e[_0x319445['toLowerCase']()]=_0x52a26f;}return _0x52585e;}));const _0x1b5c2c=new Map();_0x3a3f6e['forEach'](_0x41a5ab=>{const _0x4e233c=_0x277622,_0x108a26=_0x41a5ab[_0xb19eb7[0x0]];_0x1b5c2c[_0x4e233c(0x1d0)](_0x108a26,_0x41a5ab);}),_0x248f8d[_0x277622(0x175)]((_0x1c3f16,_0xfe37bb)=>{const _0x1c14d9=_0x277622,_0x5ab88a=_0x1c3f16[_0xb19eb7[0x0]],_0x581662=_0x1b5c2c[_0x1c14d9(0x1af)](_0x5ab88a);if(_0x581662){if(_0x8bf303[_0x1c14d9(0x1a7)](_0x1c7eb2,'update_existing'))_0x1c3f16['_action']=_0x8bf303[_0x1c14d9(0x1a5)],_0x1c3f16[_0x1c14d9(0x1eb)]=_0x581662[_0x5b4b71];else{if(_0x8bf303[_0x1c14d9(0x1a7)](_0x1c7eb2,_0x8bf303[_0x1c14d9(0x177)])){_0x1c3f16['_action']='SKIP',_0x1c3f16['_errors']=_0x1c3f16[_0x1c14d9(0x213)]||[],_0x1c3f16[_0x1c14d9(0x213)]['push'](_0x1c14d9(0x1c8));const _0x1084de=_0x535c89[_0x1c14d9(0x16d)](_0x1c3f16);_0x8bf303['JHOcY'](_0x1084de,-0x1)&&_0x1c3b7a['push']({'rowIndex':_0x1084de,'rowData':_0x1c3f16,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x1c7eb2===_0x8bf303[_0x1c14d9(0x204)]&&(_0x1c3f16['_action']=_0x8bf303['lbChv']);}}else{if(_0x1c7eb2===_0x8bf303[_0x1c14d9(0x1fd)])_0x1c3f16['_action']='INSERT';else(_0x1c7eb2===_0x8bf303['lxSry']||_0x1c7eb2==='skip_existing')&&(_0x1c3f16[_0x1c14d9(0x1a6)]=_0x1c14d9(0x1ca));}});}}async[a0_0x548d70(0x1e0)](_0xbbe527){const _0x1f35ba=a0_0x548d70,_0x545e13={'YdGlr':'Commit\x20processing\x20failed','cadeO':_0x1f35ba(0x171),'KDJLV':'preview_ok','szUvF':_0x1f35ba(0x1a2),'pYrqZ':_0x1f35ba(0x1c2)},_0x4788a2=this[_0x1f35ba(0x169)](),_0x5f4462=await redisHelper[_0x1f35ba(0x186)]('job:'+_0xbbe527);if(!_0x5f4462)throw new Error(_0x545e13['cadeO']);if(_0x5f4462['status']!==_0x545e13[_0x1f35ba(0x1e4)])throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x5f4462[_0x1f35ba(0x1c0)]);const _0x17d5d3={'job_id':_0x4788a2,'upload_id':_0x5f4462['upload_id'],'preview_job_id':_0xbbe527,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x5f4462['params']};return await redisHelper[_0x1f35ba(0x1d7)]('job:'+_0x4788a2,_0x17d5d3,0xe10),logger['info']({'event':'commit_job_created','jobId':_0x4788a2,'previewJobId':_0xbbe527},_0x545e13[_0x1f35ba(0x176)]),this['processCommitJob'](_0x4788a2,_0x5f4462)[_0x1f35ba(0x167)](_0x3359f4=>{const _0xd950b6=_0x1f35ba;logError(_0x3359f4,{'event':_0xd950b6(0x200),'jobId':_0x4788a2},_0x545e13['YdGlr']);}),{'job_id':_0x4788a2,'status':_0x545e13[_0x1f35ba(0x210)]};}async['processCommitJob'](_0x3b3857,_0x1d0163){const _0x112ab9=a0_0x548d70,_0x56a43d={'CVYEV':function(_0x28416c,_0xc0ef20){return _0x28416c===_0xc0ef20;},'AUhWd':_0x112ab9(0x18c),'wiUtR':function(_0x94d084,_0x92e58b){return _0x94d084>_0x92e58b;},'YsDDO':'import_fields_filtered','kWuTD':function(_0x35c9d1,_0x88fafc){return _0x35c9d1||_0x88fafc;},'JWrWI':function(_0x31ab6d,_0x196146){return _0x31ab6d>_0x196146;},'cLAJU':_0x112ab9(0x183),'TmmNz':'Commit\x20job\x20failed'};try{const _0x3abaa4=await redisHelper[_0x112ab9(0x186)]('upload:'+_0x1d0163[_0x112ab9(0x164)]);if(!_0x3abaa4)throw new Error(_0x112ab9(0x216));const {rows:_0x1bdaf3,params:_0x29fc70}=_0x3abaa4,{tableName:_0x530acc,fieldName:_0x35d8aa,primaryKey:_0x12b5ac,upsertKeys:_0x21f5fa,excludeFromImport:_0x4acc78,lookupFields:_0x464c5f,columnFormats:_0x321add}=_0x29fc70,_0x2340ad=_0x464c5f?Object[_0x112ab9(0x1b9)](_0x464c5f):[],_0x50bdf9=new Set([..._0x4acc78||[],..._0x2340ad]);let _0x1a369b=_0x35d8aa;_0x56a43d['wiUtR'](_0x50bdf9[_0x112ab9(0x184)],0x0)&&(_0x1a369b=_0x35d8aa['filter'](_0x5e730b=>!_0x50bdf9['has'](_0x5e730b)),logger['debug']({'event':_0x56a43d['YsDDO'],'originalCount':_0x35d8aa[_0x112ab9(0x16c)],'filteredCount':_0x1a369b['length'],'excludedFields':Array['from'](_0x50bdf9),'lookupSourceFields':_0x2340ad},_0x112ab9(0x1aa)));const _0x52e65a=_0x1bdaf3['filter'](_0x2d186d=>_0x2d186d[_0x112ab9(0x1a6)]==='INSERT'),_0x302c63=_0x1bdaf3['filter'](_0xc8bdd8=>_0xc8bdd8['_action']==='UPDATE');let _0xe66901=0x0,_0x1e4f86=0x0;const _0x581018=[];if(_0x52e65a[_0x112ab9(0x16c)]>0x0){const _0x2adfd6=upsertBuilder['chunkRows'](_0x52e65a,0x64);for(const _0x1334b3 of _0x2adfd6){const {query:_0x14f12f}=upsertBuilder['buildBatchInsert'](_0x1334b3,_0x530acc,_0x1a369b,_0x56a43d[_0x112ab9(0x189)](_0x321add,{}));_0x14f12f&&_0x581018['push']({'sql':_0x14f12f,'count':_0x1334b3['length'],'type':_0x56a43d[_0x112ab9(0x1c5)]});}}if(_0x56a43d['wiUtR'](_0x302c63[_0x112ab9(0x16c)],0x0)){const _0x1ea790=upsertBuilder[_0x112ab9(0x1ae)](_0x302c63,0x64);for(const _0x2ce7fb of _0x1ea790){const {query:_0x419bf5}=upsertBuilder[_0x112ab9(0x18a)](_0x2ce7fb,_0x530acc,_0x1a369b,_0x12b5ac,_0x21f5fa,_0x321add||{});_0x419bf5&&_0x581018['push']({'sql':_0x419bf5,'count':_0x2ce7fb[_0x112ab9(0x16c)],'type':_0x112ab9(0x173)});}}_0x56a43d['JWrWI'](_0x581018[_0x112ab9(0x16c)],0x0)&&await executeTransaction(_0x581018['map'](_0x27ac54=>({'sql':_0x27ac54['sql'],'params':[]})));_0x581018['forEach'](_0x5c720c=>{const _0x89cdb4=_0x112ab9;if(_0x56a43d['CVYEV'](_0x5c720c[_0x89cdb4(0x17d)],_0x56a43d['AUhWd']))_0xe66901+=_0x5c720c['count'];else _0x1e4f86+=_0x5c720c['count'];});const _0x5cf0c3={'job_id':_0x3b3857,'upload_id':_0x1d0163[_0x112ab9(0x164)],'preview_job_id':_0x1d0163['job_id'],'status':_0x112ab9(0x196),'progress':0x64,'created_at':_0x1d0163[_0x112ab9(0x178)],'started_at':new Date()[_0x112ab9(0x16a)](),'completed_at':new Date()[_0x112ab9(0x16a)](),'result':{'total_rows':_0x1bdaf3[_0x112ab9(0x16c)],'inserted_rows':_0xe66901,'updated_rows':_0x1e4f86,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x29fc70};await redisHelper[_0x112ab9(0x1d7)]('job:'+_0x3b3857,_0x5cf0c3,0xe10),logger['info']({'event':_0x112ab9(0x168),'jobId':_0x3b3857,'insertedCount':_0xe66901,'updatedCount':_0x1e4f86},_0x112ab9(0x1be));}catch(_0x21f11a){logError(_0x21f11a,{'event':_0x56a43d['cLAJU'],'jobId':_0x3b3857},_0x56a43d['TmmNz']),await redisHelper['setJob']('job:'+_0x3b3857,{'job_id':_0x3b3857,'upload_id':_0x1d0163[_0x112ab9(0x164)],'preview_job_id':_0x1d0163['job_id'],'status':'failed','progress':0x0,'error':_0x21f11a[_0x112ab9(0x197)],'created_at':_0x1d0163['created_at'],'started_at':new Date()[_0x112ab9(0x16a)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x401962){const _0xb34673=a0_0x548d70,_0x28ef60={'qrBAG':_0xb34673(0x170)},_0x382142=await redisHelper['getJob'](_0xb34673(0x16f)+_0x401962);if(!_0x382142)return{'success':![],'error':_0x28ef60['qrBAG']};return{'success':!![],'data':_0x382142};}}module['exports']=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_0x4a86e6=a0_0x4ed6;(function(_0x390799,_0x173ba1){const _0x3cf98f=a0_0x4ed6,_0x54c36c=_0x390799();while(!![]){try{const _0x4eb343=-parseInt(_0x3cf98f(0x16f))/0x1*(parseInt(_0x3cf98f(0x171))/0x2)+parseInt(_0x3cf98f(0x101))/0x3+-parseInt(_0x3cf98f(0x15a))/0x4+-parseInt(_0x3cf98f(0x15b))/0x5*(parseInt(_0x3cf98f(0x145))/0x6)+parseInt(_0x3cf98f(0x105))/0x7+parseInt(_0x3cf98f(0x170))/0x8+parseInt(_0x3cf98f(0x10f))/0x9;if(_0x4eb343===_0x173ba1)break;else _0x54c36c['push'](_0x54c36c['shift']());}catch(_0x60d475){_0x54c36c['push'](_0x54c36c['shift']());}}}(a0_0x24ee,0x257d9));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x4a86e6(0x118));function a0_0x4ed6(_0x5298ff,_0x505d49){_0x5298ff=_0x5298ff-0xfd;const _0x24eeba=a0_0x24ee();let _0x4ed6b8=_0x24eeba[_0x5298ff];if(a0_0x4ed6['mRGuDl']===undefined){var _0x5bc78d=function(_0x25285d){const _0x17f196='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xce62a8='',_0x1e3f68='';for(let _0x1a3359=0x0,_0x65f430,_0x41f596,_0x45190b=0x0;_0x41f596=_0x25285d['charAt'](_0x45190b++);~_0x41f596&&(_0x65f430=_0x1a3359%0x4?_0x65f430*0x40+_0x41f596:_0x41f596,_0x1a3359++%0x4)?_0xce62a8+=String['fromCharCode'](0xff&_0x65f430>>(-0x2*_0x1a3359&0x6)):0x0){_0x41f596=_0x17f196['indexOf'](_0x41f596);}for(let _0x227714=0x0,_0x2fe68f=_0xce62a8['length'];_0x227714<_0x2fe68f;_0x227714++){_0x1e3f68+='%'+('00'+_0xce62a8['charCodeAt'](_0x227714)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e3f68);};a0_0x4ed6['FxriJX']=_0x5bc78d,a0_0x4ed6['KhHpTn']={},a0_0x4ed6['mRGuDl']=!![];}const _0x235623=_0x24eeba[0x0],_0x1d4ee3=_0x5298ff+_0x235623,_0x2e7fd1=a0_0x4ed6['KhHpTn'][_0x1d4ee3];return!_0x2e7fd1?(_0x4ed6b8=a0_0x4ed6['FxriJX'](_0x4ed6b8),a0_0x4ed6['KhHpTn'][_0x1d4ee3]=_0x4ed6b8):_0x4ed6b8=_0x2e7fd1,_0x4ed6b8;}class KafkaConsumerService{constructor(){const _0x274081=a0_0x4a86e6,_0x5abf5b=_0x274081(0x11e)[_0x274081(0x16c)]('|');let _0x3b2e2d=0x0;while(!![]){switch(_0x5abf5b[_0x3b2e2d++]){case'0':this[_0x274081(0x11c)]=![];continue;case'1':this[_0x274081(0x13f)]=null;continue;case'2':this[_0x274081(0x166)]=null;continue;case'3':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'4':this[_0x274081(0x128)]=null;continue;case'5':this['messageHandler']=null;continue;case'6':this['subscribedTopics']=[];continue;case'7':this[_0x274081(0x104)]=![];continue;case'8':this[_0x274081(0x162)]=null;continue;case'9':this['isConnected']=![];continue;case'10':this['isInitializing']=![];continue;}break;}}[a0_0x4a86e6(0x156)](){const _0x24ece0=a0_0x4a86e6,_0x60df66={'egwqJ':_0x24ece0(0x113),'gpANv':_0x24ece0(0x120),'KBVmu':'25000','AUvLa':_0x24ece0(0x14a),'izAaM':function(_0x4165ac,_0x43d486){return _0x4165ac(_0x43d486);},'GhQHe':function(_0x27b6b9,_0x22208f){return _0x27b6b9===_0x22208f;},'bFkgv':function(_0x57d822,_0x52f793){return _0x57d822(_0x52f793);},'KPSvV':'5000','GmWKT':_0x24ece0(0x165),'tQUth':'30000','myeBF':_0x24ece0(0xff)};return{'enabled':process['env']['KAFKA_ENABLED']===_0x60df66[_0x24ece0(0x16e)],'brokers':(process['env'][_0x24ece0(0x127)]||'localhost:9092')[_0x24ece0(0x16c)](','),'clientId':process[_0x24ece0(0x153)][_0x24ece0(0x139)]||'restforge-'+(process['env'][_0x24ece0(0x134)]||_0x60df66[_0x24ece0(0x16b)])+'-consumer','connectionTimeout':parseInt(process[_0x24ece0(0x153)][_0x24ece0(0x150)]||_0x24ece0(0x14a)),'requestTimeout':parseInt(process[_0x24ece0(0x153)]['KAFKA_REQUEST_TIMEOUT']||_0x60df66['KBVmu']),'sessionTimeout':parseInt(process['env']['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':parseInt(process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0x60df66['AUvLa']),'maxBytesPerPartition':_0x60df66['izAaM'](parseInt,process['env'][_0x24ece0(0x10d)]||_0x24ece0(0x148)),'autoCommit':_0x60df66[_0x24ece0(0xfe)](process[_0x24ece0(0x153)]['KAFKA_AUTO_COMMIT'],_0x60df66['egwqJ']),'autoCommitInterval':_0x60df66[_0x24ece0(0x119)](parseInt,process['env'][_0x24ece0(0x117)]||_0x60df66[_0x24ece0(0x14d)]),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x24ece0(0x153)]['KAFKA_RETRY_DELAY']||_0x60df66[_0x24ece0(0x147)]),'retryMaxDelay':parseInt(process[_0x24ece0(0x153)]['KAFKA_RETRY_MAX_DELAY']||_0x60df66[_0x24ece0(0x12d)]),'logLevel':process[_0x24ece0(0x153)]['KAFKA_LOG_LEVEL']||_0x60df66[_0x24ece0(0x129)]};}[a0_0x4a86e6(0x106)](_0x34db74){const _0x4b9cdf=a0_0x4a86e6,_0x2843cc={'nothing':logLevel[_0x4b9cdf(0x143)],'error':logLevel['ERROR'],'warn':logLevel[_0x4b9cdf(0x111)],'info':logLevel[_0x4b9cdf(0x141)],'debug':logLevel[_0x4b9cdf(0x161)]};return _0x2843cc[_0x34db74['toLowerCase']()]||logLevel[_0x4b9cdf(0x111)];}async['initialize'](_0x443d23={}){const _0x5b6b88=a0_0x4a86e6,_0x30da98={'wYHhE':function(_0x35d01a,_0x1f1320){return _0x35d01a===_0x1f1320;},'ODHgs':'true','gvnao':_0x5b6b88(0x120),'sUPux':function(_0x1ce240,_0x8e9106){return _0x1ce240(_0x8e9106);},'KqnTC':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x5f5d7f=this[_0x5b6b88(0x156)]();if(!_0x5f5d7f['enabled'])return console[_0x5b6b88(0x169)](_0x30da98[_0x5b6b88(0x131)]),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x5b6b88(0x128)]=new Promise(async _0x55104c=>{const _0x36b7c6=_0x5b6b88;try{let _0xa601df=undefined;_0x30da98[_0x36b7c6(0x126)](process[_0x36b7c6(0x153)][_0x36b7c6(0x160)],_0x30da98[_0x36b7c6(0x14f)])&&(_0xa601df=!![]);let _0x5ad90c=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x5ad90c={'mechanism':process[_0x36b7c6(0x153)][_0x36b7c6(0x135)],'username':process[_0x36b7c6(0x153)][_0x36b7c6(0x11a)]||'','password':process['env'][_0x36b7c6(0x14b)]||''}),this[_0x36b7c6(0x162)]=new Kafka({'clientId':_0x443d23['clientId']||_0x5f5d7f[_0x36b7c6(0x116)],'brokers':_0x5f5d7f[_0x36b7c6(0x10a)],'connectionTimeout':_0x5f5d7f[_0x36b7c6(0x137)],'requestTimeout':_0x5f5d7f['requestTimeout'],'logLevel':this['getLogLevel'](_0x5f5d7f['logLevel']),'ssl':_0xa601df,'sasl':_0x5ad90c,'retry':{'initialRetryTime':_0x5f5d7f[_0x36b7c6(0x109)],'retries':_0x5f5d7f[_0x36b7c6(0x159)],'maxRetryTime':_0x5f5d7f['retryMaxDelay']}}),this['groupId']=_0x443d23['groupId']||_0x36b7c6(0x149)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x30da98['gvnao'])+'-consumer-group',this['consumer']=this[_0x36b7c6(0x162)]['consumer']({'groupId':this[_0x36b7c6(0x166)],'sessionTimeout':_0x5f5d7f['sessionTimeout'],'heartbeatInterval':_0x5f5d7f[_0x36b7c6(0x167)],'maxBytesPerPartition':_0x5f5d7f[_0x36b7c6(0x155)],'allowAutoTopicCreation':![]}),await this['consumer'][_0x36b7c6(0x10b)](),this[_0x36b7c6(0x151)]=!![],console[_0x36b7c6(0x169)](_0x36b7c6(0x11f)+_0x5f5d7f['brokers']['join'](',\x20')+'\x20(groupId:\x20'+this[_0x36b7c6(0x166)]+')'),this['setupEventHandlers'](),_0x30da98['sUPux'](_0x55104c,!![]);}catch(_0xe2e141){console[_0x36b7c6(0x136)](_0x36b7c6(0x12a)+_0xe2e141[_0x36b7c6(0x115)]),this[_0x36b7c6(0x151)]=![],_0x55104c(![]);}finally{this[_0x36b7c6(0x154)]=![];}}),this[_0x5b6b88(0x128)];}['setupEventHandlers'](){const _0x53bb00=a0_0x4a86e6,_0x1bb749={'NcstB':_0x53bb00(0x163),'WMyWR':_0x53bb00(0x133),'hzBXg':_0x53bb00(0x122),'FZXkY':'consumer.crash'};if(!this[_0x53bb00(0x13f)])return;this['consumer']['on'](_0x1bb749['hzBXg'],()=>{const _0x2c48dc=_0x53bb00;console[_0x2c48dc(0x169)](_0x1bb749[_0x2c48dc(0x12b)]),this['isConnected']=![],this[_0x2c48dc(0x11c)]=![];}),this[_0x53bb00(0x13f)]['on']('consumer.stop',()=>{const _0x42034e=_0x53bb00;console[_0x42034e(0x169)](_0x1bb749['WMyWR']),this[_0x42034e(0x11c)]=![];}),this[_0x53bb00(0x13f)]['on'](_0x1bb749['FZXkY'],_0x2aa085=>{const _0x1e6b71=_0x53bb00;console[_0x1e6b71(0x136)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x2aa085['payload'][_0x1e6b71(0x136)][_0x1e6b71(0x115)]),this[_0x1e6b71(0x11c)]=![];}),this[_0x53bb00(0x13f)]['on'](_0x53bb00(0x15d),()=>{const _0x3652ca=_0x53bb00;console[_0x3652ca(0x169)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x4a86e6(0x144)](_0x132431,_0x29fc01=![]){const _0x31bcb1=a0_0x4a86e6;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x2a94f8=Array['isArray'](_0x132431)?_0x132431:[_0x132431];for(const _0x21db3b of _0x2a94f8){await this[_0x31bcb1(0x13f)][_0x31bcb1(0x144)]({'topic':_0x21db3b,'fromBeginning':_0x29fc01}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x21db3b+'\x20(fromBeginning:\x20'+_0x29fc01+')');}return this[_0x31bcb1(0x11d)]=[...new Set([...this['subscribedTopics'],..._0x2a94f8])],!![];}catch(_0x2708d0){return console['error'](_0x31bcb1(0x13d)+_0x2708d0['message']),![];}}async[a0_0x4a86e6(0x168)](_0x24b893,_0x26a938={}){const _0x441008=a0_0x4a86e6,_0x2f2031={'ytkuU':function(_0x192064,_0x4e9181){return _0x192064+_0x4e9181;},'aoHma':function(_0x9f017a,_0x4bb92f){return _0x9f017a-_0x4bb92f;}};if(!this[_0x441008(0x151)])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this[_0x441008(0x11c)])return console['log'](_0x441008(0x123)),!![];const _0x5582a0=this['getConfig']();this['messageHandler']=_0x24b893;try{return this['metrics']['startTime']=new Date(),await this['consumer'][_0x441008(0x158)]({'autoCommit':_0x26a938[_0x441008(0x14e)]!==undefined?_0x26a938['autoCommit']:_0x5582a0[_0x441008(0x14e)],'autoCommitInterval':_0x5582a0['autoCommitInterval'],'eachMessage':async({topic:_0x1f40f3,partition:_0x527234,message:_0x230e1f,heartbeat:_0x359051})=>{const _0x3d33ea=_0x441008,_0x591c95=Date[_0x3d33ea(0x107)]();this[_0x3d33ea(0x142)]['messagesReceived']++,this[_0x3d33ea(0x142)]['lastMessageTime']=new Date();try{const _0x21ce4f=_0x230e1f['value']?_0x230e1f[_0x3d33ea(0x12f)][_0x3d33ea(0x125)]():null;let _0x370ecd=null;try{_0x370ecd=_0x21ce4f?JSON[_0x3d33ea(0x15e)](_0x21ce4f):null;}catch(_0xc2ab23){_0x370ecd=_0x21ce4f;}const _0x102a21={'topic':_0x1f40f3,'partition':_0x527234,'offset':_0x230e1f['offset'],'key':_0x230e1f['key']?_0x230e1f['key']['toString']():null,'headers':this[_0x3d33ea(0x10e)](_0x230e1f['headers']),'timestamp':_0x230e1f[_0x3d33ea(0x15f)],'value':_0x370ecd,'raw':_0x21ce4f};this['messageHandler']&&await this['messageHandler'](_0x102a21);!_0x5582a0['autoCommit']&&await this[_0x3d33ea(0x13f)][_0x3d33ea(0x14c)]([{'topic':_0x1f40f3,'partition':_0x527234,'offset':_0x2f2031['ytkuU'](parseInt(_0x230e1f['offset']),0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x1f38e1=_0x2f2031['aoHma'](Date['now'](),_0x591c95);this['metrics'][_0x3d33ea(0x16a)]['push'](_0x1f38e1),this['metrics'][_0x3d33ea(0x16a)]['length']>0x64&&this['metrics']['processingTimes']['shift'](),await _0x359051();}catch(_0xb0b695){this[_0x3d33ea(0x142)]['messagesFailed']++,console['error'](_0x3d33ea(0x146)+_0xb0b695['message']);throw _0xb0b695;}}}),this[_0x441008(0x11c)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x441008(0x11d)]['join'](',\x20')),!![];}catch(_0x3c0819){return console['error'](_0x441008(0x13c)+_0x3c0819['message']),![];}}[a0_0x4a86e6(0x10e)](_0x552eba){const _0x54324b=a0_0x4a86e6;if(!_0x552eba)return{};const _0x33a5d5={};for(const [_0x5ff4c1,_0x32340b]of Object[_0x54324b(0x130)](_0x552eba)){_0x33a5d5[_0x5ff4c1]=_0x32340b?_0x32340b[_0x54324b(0x125)]():null;}return _0x33a5d5;}async[a0_0x4a86e6(0x121)](){const _0x1ba92e=a0_0x4a86e6,_0x59b177={'ebgMz':'[KafkaConsumer]\x20Consumer\x20already\x20paused','cMeZP':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this['isRunning'])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console[_0x1ba92e(0x169)](_0x59b177['ebgMz']),!![];try{const _0x52253f=this['subscribedTopics'][_0x1ba92e(0x140)](_0x20b94b=>({'topic':_0x20b94b}));return this['consumer']['pause'](_0x52253f),this['isPaused']=!![],console[_0x1ba92e(0x169)](_0x59b177[_0x1ba92e(0xfd)]),!![];}catch(_0x4db27e){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x4db27e[_0x1ba92e(0x115)]),![];}}async['resume'](){const _0x22919b=a0_0x4a86e6,_0x219e13={'VSUkb':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'};if(!this[_0x22919b(0x151)]||!this[_0x22919b(0x11c)])return console['log'](_0x219e13[_0x22919b(0x112)]),![];if(!this[_0x22919b(0x104)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x258305=this[_0x22919b(0x11d)][_0x22919b(0x140)](_0x145814=>({'topic':_0x145814}));return this[_0x22919b(0x13f)]['resume'](_0x258305),this[_0x22919b(0x104)]=![],console['log'](_0x22919b(0x12e)),!![];}catch(_0x3462dc){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x3462dc['message']),![];}}async['stop'](){const _0x162364=a0_0x4a86e6,_0x1d070f={'HdOri':_0x162364(0x13a),'VidLx':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x162364(0x151)])return console['log'](_0x1d070f['HdOri']),!![];try{return this[_0x162364(0x13f)]&&(await this[_0x162364(0x13f)][_0x162364(0x114)](),await this['consumer']['disconnect']()),this['isConnected']=![],this[_0x162364(0x11c)]=![],this['isPaused']=![],console[_0x162364(0x169)](_0x1d070f[_0x162364(0x10c)]),!![];}catch(_0xe9189a){return console[_0x162364(0x136)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0xe9189a['message']),![];}}async[a0_0x4a86e6(0x110)](_0x39c360,_0x3654bf,_0x5a2259){const _0x1712cc=a0_0x4a86e6,_0x552de0={'mkxfE':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console[_0x1712cc(0x136)](_0x552de0['mkxfE']),![];try{return this['consumer'][_0x1712cc(0x138)]({'topic':_0x39c360,'partition':_0x3654bf,'offset':_0x5a2259[_0x1712cc(0x125)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x5a2259+_0x1712cc(0x100)+_0x39c360+':'+_0x3654bf),!![];}catch(_0x1d3cb0){return console[_0x1712cc(0x136)](_0x1712cc(0x164)+_0x1d3cb0['message']),![];}}[a0_0x4a86e6(0x16d)](){const _0x28e5bd=a0_0x4a86e6,_0x6a6d5e=this[_0x28e5bd(0x156)]();return{'enabled':_0x6a6d5e[_0x28e5bd(0x11b)],'connected':this['isConnected'],'running':this[_0x28e5bd(0x11c)],'paused':this[_0x28e5bd(0x104)],'brokers':_0x6a6d5e['brokers'],'clientId':_0x6a6d5e[_0x28e5bd(0x116)],'groupId':this[_0x28e5bd(0x166)],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x27ab56=a0_0x4a86e6,_0x571688={'upiCq':function(_0x60dc9d,_0x563c2e){return _0x60dc9d>_0x563c2e;},'osxso':function(_0x58965f,_0x391674){return _0x58965f>_0x391674;},'PITLl':function(_0x10cf42,_0x170fe3){return _0x10cf42+_0x170fe3;},'iBUVp':function(_0x218912,_0x24e43e){return _0x218912/_0x24e43e;},'fDoEq':function(_0x4db74d,_0x437fc4){return _0x4db74d+_0x437fc4;}},_0x364d08=this['metrics']['processingTimes'][_0x27ab56(0x124)]>0x0?this[_0x27ab56(0x142)]['processingTimes']['reduce']((_0x2f004a,_0x2bdb82)=>_0x2f004a+_0x2bdb82,0x0)/this[_0x27ab56(0x142)][_0x27ab56(0x16a)]['length']:0x0,_0x43483c=this['metrics']['processingTimes']['length']>0x0?Math[_0x27ab56(0x13e)](...this[_0x27ab56(0x142)][_0x27ab56(0x16a)]):0x0,_0x229260=_0x571688['upiCq'](this['metrics'][_0x27ab56(0x16a)]['length'],0x0)?Math[_0x27ab56(0x108)](...this['metrics'][_0x27ab56(0x16a)]):0x0;return{'messagesReceived':this['metrics'][_0x27ab56(0x102)],'messagesProcessed':this['metrics'][_0x27ab56(0x172)],'messagesFailed':this['metrics'][_0x27ab56(0x103)],'successRate':_0x571688['osxso'](this['metrics'][_0x27ab56(0x102)],0x0)?_0x571688[_0x27ab56(0x12c)]((_0x571688['iBUVp'](this['metrics'][_0x27ab56(0x172)],this[_0x27ab56(0x142)][_0x27ab56(0x102)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x27ab56(0x142)]['startTime'],'uptime':this['metrics']['startTime']?Math['floor'](_0x571688['iBUVp'](Date[_0x27ab56(0x107)]()-this['metrics'][_0x27ab56(0x13b)][_0x27ab56(0x132)](),0x3e8))+'s':'0s','processingTime':{'avg':Math['round'](_0x364d08)+'ms','min':_0x571688[_0x27ab56(0x152)](_0x43483c,'ms'),'max':_0x229260+'ms'}};}['resetMetrics'](){const _0x3f6135=a0_0x4a86e6,_0x50a174={'gpMuv':_0x3f6135(0x15c)};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x3f6135(0x11c)]?new Date():null,'processingTimes':[]},console[_0x3f6135(0x169)](_0x50a174['gpMuv']);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x24ee(){const _0x49d8c0=['BwvZC2fNzxnqCM9JzxnZzwq','y01LwLa','r2Hrsgu','D2fYBG','ig9Uia','odeXnJq0t0zVBMzj','BwvZC2fNzxnszwnLAxzLza','BwvZC2fNzxngywLSzwq','AxnqyxvZzwq','mtG5mdK4uwP1uxnk','z2v0tg9Ntgv2zwW','BM93','Bwf4','CMv0CNLezwXHEq','yNjVA2vYCW','y29UBMvJDa','vMLKthG','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','CgfYC2vizwfKzxjZ','otG3mtjiExbKze8','C2vLA1rVt2zMC2v0','v0fstG','vLnvA2i','Dhj1zq','C3rVCa','BwvZC2fNzq','y2XPzw50swq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','DxvPza','yKzRz3y','s0fgs0fFu0fttf9vu0vstKfnrq','zw5HyMXLza','AxnsDw5UAw5N','C3vIC2nYAwjLzfrVCgLJCW','ohWXFdL8mtb8mhW3Fdr8nNWYFdv8mW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','zgvMyxvSDa','Cgf1C2u','y29UC3vTzxiUzgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','BgvUz3rO','Dg9tDhjPBMC','D1LiAeu','s0fgs0fFqLjps0vsuW','y29UBMvJDgLVBLbYB21PC2u','BxLLqKy','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','tMnZDei','ueLutgW','DffvDgG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','DMfSDwu','zw50CMLLCW','s3fUvem','z2v0vgLTzq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','s0fgs0fFu0fttf9nruniqu5ju00','zxjYB3i','y29UBMvJDgLVBLrPBwvVDxq','C2vLAW','s0fgs0fFq0Xjru5ux0Le','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','BwLU','y29UC3vTzxi','BwfW','su5gtW','Bwv0CMLJCW','tK9useLorW','C3vIC2nYAwjL','mtm4twvdBMfb','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','r21xs1q','mta0odu3nG','CMvZDgzVCMDLlq','mZaWma','s0fgs0fFu0fttf9qqvntv09sra','y29TBwL0t2zMC2v0CW','s1btDLy','yxv0B0nVBw1PDa','t0riz3m','s0fgs0fFq09otKvdveLptL9usu1ft1vu','AxndB25Uzwn0zwq','zKrVrxe','zw52','AxnjBML0AwfSAxPPBMC','Bwf4qNL0zxnqzxjqyxj0AxrPB24','z2v0q29UzMLN','zxHWB3j0CW','CNvU','CMv0CNLbDhrLBxb0CW','mZC3mtG4BNvvD1ng','ntKYnJb0rNDyuMe','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','y29UC3vTzxiUCMvIywXHBMnPBMC','CgfYC2u','DgLTzxn0yw1W','s0fgs0fFu1nm','revcvuC','A2fMA2e','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','mtaWma','z3jVDxbjza','AgvHCNrIzwf0sw50zxj2ywW','C3rHCNrdB25ZDw1PBMC','Bg9N','ChjVy2vZC2LUz1rPBwvZ','z3bbtNy','C3bSAxq','z2v0u3rHDhvZ','zwD3CuO','ntnOvu9yB00','mtC4mZu4nfnrExD6sq','nde2we5pDgH2'];a0_0x24ee=function(){return _0x49d8c0;};return a0_0x24ee();}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x4a86e6(0x157)]={'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};