@restforgejs/platform 4.3.1 → 4.3.2

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 (167) 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/lib/payload/payload-runner.js +1 -1
  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/trusted-keys.js +1 -1
  165. package/src/utils/upload-handler.js +1 -1
  166. package/src/utils/upsert-builder.js +1 -1
  167. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x5ae3b1=a0_0xe451;(function(_0x5151d4,_0x4555a2){const _0x4d9ffa=a0_0xe451,_0x1be75e=_0x5151d4();while(!![]){try{const _0x196b40=parseInt(_0x4d9ffa(0xe5))/0x1+-parseInt(_0x4d9ffa(0xfe))/0x2+-parseInt(_0x4d9ffa(0xe7))/0x3*(parseInt(_0x4d9ffa(0xf0))/0x4)+parseInt(_0x4d9ffa(0xec))/0x5+parseInt(_0x4d9ffa(0x100))/0x6+-parseInt(_0x4d9ffa(0xf3))/0x7+parseInt(_0x4d9ffa(0xdd))/0x8;if(_0x196b40===_0x4555a2)break;else _0x1be75e['push'](_0x1be75e['shift']());}catch(_0x49cad3){_0x1be75e['push'](_0x1be75e['shift']());}}}(a0_0xb7c2,0x859d0));function a0_0xb7c2(){const _0x246bb2=['x3n1yNnJCMLWDgLVBNm','y2XVC2u','zxHPDa','zxjYB3i','Dw5JyxvNAhrfEgnLChrPB24','ndeYmdy2tenuA1fb','Dg9ju09tDhjPBMC','nZvmrunPwMW','Agvnuw8','Bg9N','y2XPzw50CW','rM1UuwK','mZC3oda4nu5YB2zQCW','x3DZCW','w0XPDMuGu3LUy10GteLwrv9twu5dx1bpuLqGAxmGCMvXDwLYzwq','zw5K','mtqWndyWs1Heq1vr','u0Lhsu5u','Bwv0Ag9K','ntGZmdq0n25Qr0XzEq','AgvHBhrOEq','BgLZDgvU','D3jPDgvizwfK','w0XPDMuGu3LUy10GrM9Yy2vKihnODxrKB3DUigfMDgvYihrPBwvVDxq','u0Lhvevstq','l3DZ','C3rYAw5NAwz5','w0XPDMuGu3LUy10Gv2vIu29JA2v0ihnLCNzLCIbSAxn0zw5PBMCGB24GCg9YDca','txPUww4','w0XPDMuGu3LUy10Gv2vIu29JA2v0oIb3CZOVl2XVy2fSAg9ZDdO','mtq2mJy0mNjNzxDPyW','Aw5PDgLHBgL6zq','mtK4mta5ogTOA0PbAW','w0XPDMuGu3LUy10GsgvHBhrOignOzwnRoIbODhrWoI8VBg9JywXOB3n0oG','zKLrqwO','DxjS','DeDiAKq','teLwrv9twu5dx1bpuLq','mte5mZiYndH0qLrPzfG','ihjLy2vPDMvKlcbZAhv0DgLUzYbKB3DUlI4U','BgL2zxn5BMmTCMvHzhK'];a0_0xb7c2=function(){return _0x246bb2;};return a0_0xb7c2();}function a0_0xe451(_0x31155b,_0x2c9c02){_0x31155b=_0x31155b-0xd8;const _0xb7c228=a0_0xb7c2();let _0xe451f1=_0xb7c228[_0x31155b];if(a0_0xe451['GhdhPO']===undefined){var _0x393729=function(_0x4057da){const _0x50fe33='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48b7c4='',_0x511163='';for(let _0x49c9b0=0x0,_0x29ba79,_0x499d27,_0xc21950=0x0;_0x499d27=_0x4057da['charAt'](_0xc21950++);~_0x499d27&&(_0x29ba79=_0x49c9b0%0x4?_0x29ba79*0x40+_0x499d27:_0x499d27,_0x49c9b0++%0x4)?_0x48b7c4+=String['fromCharCode'](0xff&_0x29ba79>>(-0x2*_0x49c9b0&0x6)):0x0){_0x499d27=_0x50fe33['indexOf'](_0x499d27);}for(let _0x5e5d4a=0x0,_0x1da0bb=_0x48b7c4['length'];_0x5e5d4a<_0x1da0bb;_0x5e5d4a++){_0x511163+='%'+('00'+_0x48b7c4['charCodeAt'](_0x5e5d4a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x511163);};a0_0xe451['NxQDQE']=_0x393729,a0_0xe451['PueBvZ']={},a0_0xe451['GhdhPO']=!![];}const _0x3aea7e=_0xb7c228[0x0],_0xf306b1=_0x31155b+_0x3aea7e,_0x28bca8=a0_0xe451['PueBvZ'][_0xf306b1];return!_0x28bca8?(_0xe451f1=a0_0xe451['NxQDQE'](_0xe451f1),a0_0xe451['PueBvZ'][_0xf306b1]=_0xe451f1):_0xe451f1=_0x28bca8,_0xe451f1;}const http=require('http'),WebSocketBroadcaster=require('./ws-broadcaster'),port=parseInt(process['env'][a0_0x5ae3b1(0xdc)],0xa),apiKey=process['env']['KEY'];!port&&(console['error'](a0_0x5ae3b1(0xee)),process['exit'](0x1));!apiKey&&(console[a0_0x5ae3b1(0xe3)]('[Live\x20Sync]\x20KEY\x20(API\x20Key)\x20is\x20required\x20for\x20Live\x20Sync'),process[a0_0x5ae3b1(0xe2)](0x1));const server=http['createServer']((_0x357c8a,_0x1148d5)=>{const _0x4ebbec=a0_0x5ae3b1,_0xe1513b={'GGykO':function(_0x10f770,_0x45afa0){return _0x10f770===_0x45afa0;},'fvXoF':'GET','fIQAj':function(_0x4f1086){return _0x4f1086();},'Odobw':'livesync','MznYn':'This\x20is\x20the\x20Live\x20Sync\x20WebSocket\x20server'};if(_0x357c8a[_0x4ebbec(0xda)]==='/health'&&_0xe1513b['GGykO'](_0x357c8a[_0x4ebbec(0xf2)],_0xe1513b['fvXoF'])){const _0x947893=_0xe1513b[_0x4ebbec(0xd9)](getBroadcaster),_0x2591c4=_0x947893['_wss']?_0x947893[_0x4ebbec(0xed)][_0x4ebbec(0xea)]['size']:0x0,_0x4323bf=_0x947893[_0x4ebbec(0xe0)]?_0x947893['_subscriptions']['size']:0x0;_0x1148d5[_0x4ebbec(0xf6)](0xc8,{'Content-Type':'application/json'}),_0x1148d5[_0x4ebbec(0xef)](JSON['stringify']({'status':_0x4ebbec(0xf4),'service':_0xe1513b['Odobw'],'port':port,'clients':_0x2591c4,'channels':_0x4323bf,'uptime':process['uptime'](),'timestamp':new Date()[_0x4ebbec(0xe6)]()}));return;}_0x1148d5[_0x4ebbec(0xf6)](0x194,{'Content-Type':'application/json'}),_0x1148d5['end'](JSON[_0x4ebbec(0xfa)]({'error':'Not\x20Found','message':_0xe1513b[_0x4ebbec(0xfc)]}));});let broadcaster=null;function getBroadcaster(){return!broadcaster&&(broadcaster=new WebSocketBroadcaster()),broadcaster;}const bc=getBroadcaster();bc[a0_0x5ae3b1(0xff)](server,{'projectName':process['env']['RESTFORGE_PROJECT_NAME']||'unknown','apiKey':apiKey}),server[a0_0x5ae3b1(0xf5)](port,()=>{const _0xc14cf0=a0_0x5ae3b1;console['log'](_0xc14cf0(0xfb)+port),console['log'](_0xc14cf0(0xd8)+port+'/health'),console[_0xc14cf0(0xe9)](_0xc14cf0(0xfd)+port+_0xc14cf0(0xf9)),process['send']&&process['send']({'type':_0xc14cf0(0xdf),'port':port});});function shutdown(_0x16910f){const _0x37dba1=a0_0x5ae3b1,_0x254773={'tGHjD':function(_0x4272b2,_0x47362a,_0x287b8d){return _0x4272b2(_0x47362a,_0x287b8d);}};console[_0x37dba1(0xe9)]('[Live\x20Sync]\x20'+_0x16910f+_0x37dba1(0xde)),bc['shutdown'](),server[_0x37dba1(0xe1)](()=>{const _0x5d75c6=_0x37dba1;console[_0x5d75c6(0xe9)]('[Live\x20Sync]\x20Server\x20closed'),process[_0x5d75c6(0xe2)](0x0);}),_0x254773[_0x37dba1(0xdb)](setTimeout,()=>{const _0xd30402=_0x37dba1;console['error'](_0xd30402(0xf7)),process['exit'](0x1);},0x1388);}process['on'](a0_0x5ae3b1(0xf1),()=>shutdown('SIGINT')),process['on'](a0_0x5ae3b1(0xf8),()=>shutdown(a0_0x5ae3b1(0xf8))),process['on'](a0_0x5ae3b1(0xe4),_0x20d2a8=>{const _0x5360ba=a0_0x5ae3b1,_0x376d6d={'FmnQi':function(_0x25a97c,_0x2d6949){return _0x25a97c(_0x2d6949);}};console[_0x5360ba(0xe3)]('[Live\x20Sync]\x20Uncaught\x20Exception:',_0x20d2a8['message']),_0x376d6d[_0x5360ba(0xeb)](shutdown,_0x5360ba(0xe4));}),process['on']('unhandledRejection',_0x2513af=>{const _0x37790f=a0_0x5ae3b1,_0x538973={'heMQo':'[Live\x20Sync]\x20Unhandled\x20Rejection:'};console[_0x37790f(0xe3)](_0x538973[_0x37790f(0xe8)],_0x2513af);});
1
+ 'use strict';const a0_0xc2ab2d=a0_0x4daa;(function(_0x529d69,_0x230bf3){const _0x4fd0a2=a0_0x4daa,_0x321614=_0x529d69();while(!![]){try{const _0x5244ed=parseInt(_0x4fd0a2(0x217))/0x1+parseInt(_0x4fd0a2(0x20f))/0x2+-parseInt(_0x4fd0a2(0x203))/0x3*(parseInt(_0x4fd0a2(0x212))/0x4)+-parseInt(_0x4fd0a2(0x219))/0x5+-parseInt(_0x4fd0a2(0x216))/0x6*(-parseInt(_0x4fd0a2(0x1f4))/0x7)+parseInt(_0x4fd0a2(0x1f6))/0x8+parseInt(_0x4fd0a2(0x204))/0x9*(-parseInt(_0x4fd0a2(0x20b))/0xa);if(_0x5244ed===_0x230bf3)break;else _0x321614['push'](_0x321614['shift']());}catch(_0x23f92c){_0x321614['push'](_0x321614['shift']());}}}(a0_0x5d51,0x1c83e));const http=require(a0_0xc2ab2d(0x1fe)),WebSocketBroadcaster=require(a0_0xc2ab2d(0x1f9)),port=parseInt(process[a0_0xc2ab2d(0x1ff)][a0_0xc2ab2d(0x20e)],0xa),apiKey=process['env']['KEY'];!port&&(console[a0_0xc2ab2d(0x211)](a0_0xc2ab2d(0x1f2)),process['exit'](0x1));!apiKey&&(console['error']('[Live\x20Sync]\x20KEY\x20(API\x20Key)\x20is\x20required\x20for\x20Live\x20Sync'),process['exit'](0x1));const server=http['createServer']((_0x3527a9,_0x115e1a)=>{const _0x131340=a0_0xc2ab2d,_0x485767={'VPOYM':function(_0x54c83a,_0x2472db){return _0x54c83a===_0x2472db;},'eNERN':function(_0x1ae39a,_0x5cb7ec){return _0x1ae39a===_0x5cb7ec;},'YTrZX':'application/json','XlRDr':'healthy','ynqJK':'livesync'};if(_0x485767['VPOYM'](_0x3527a9['url'],'/health')&&_0x485767['eNERN'](_0x3527a9[_0x131340(0x1fc)],_0x131340(0x208))){const _0x170909=getBroadcaster(),_0x25a713=_0x170909[_0x131340(0x21b)]?_0x170909[_0x131340(0x21b)][_0x131340(0x210)]['size']:0x0,_0x36bc1f=_0x170909['_subscriptions']?_0x170909[_0x131340(0x215)][_0x131340(0x205)]:0x0;_0x115e1a[_0x131340(0x209)](0xc8,{'Content-Type':_0x485767['YTrZX']}),_0x115e1a[_0x131340(0x207)](JSON['stringify']({'status':_0x485767['XlRDr'],'service':_0x485767['ynqJK'],'port':port,'clients':_0x25a713,'channels':_0x36bc1f,'uptime':process['uptime'](),'timestamp':new Date()[_0x131340(0x201)]()}));return;}_0x115e1a[_0x131340(0x209)](0x194,{'Content-Type':_0x131340(0x20d)}),_0x115e1a[_0x131340(0x207)](JSON[_0x131340(0x214)]({'error':_0x131340(0x1f8),'message':'This\x20is\x20the\x20Live\x20Sync\x20WebSocket\x20server'}));});let broadcaster=null;function a0_0x4daa(_0x2d4543,_0x42c7f1){_0x2d4543=_0x2d4543-0x1f1;const _0x5d5104=a0_0x5d51();let _0x4daaa4=_0x5d5104[_0x2d4543];if(a0_0x4daa['JZZiTn']===undefined){var _0x17a85d=function(_0x1ba244){const _0x3480d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf75054='',_0x17ae75='';for(let _0xbf28fe=0x0,_0x1c673f,_0xa37860,_0x468249=0x0;_0xa37860=_0x1ba244['charAt'](_0x468249++);~_0xa37860&&(_0x1c673f=_0xbf28fe%0x4?_0x1c673f*0x40+_0xa37860:_0xa37860,_0xbf28fe++%0x4)?_0xf75054+=String['fromCharCode'](0xff&_0x1c673f>>(-0x2*_0xbf28fe&0x6)):0x0){_0xa37860=_0x3480d0['indexOf'](_0xa37860);}for(let _0x3d6efb=0x0,_0xf38930=_0xf75054['length'];_0x3d6efb<_0xf38930;_0x3d6efb++){_0x17ae75+='%'+('00'+_0xf75054['charCodeAt'](_0x3d6efb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17ae75);};a0_0x4daa['sENKfN']=_0x17a85d,a0_0x4daa['QiSMmz']={},a0_0x4daa['JZZiTn']=!![];}const _0xc74256=_0x5d5104[0x0],_0x25934=_0x2d4543+_0xc74256,_0x2f4728=a0_0x4daa['QiSMmz'][_0x25934];return!_0x2f4728?(_0x4daaa4=a0_0x4daa['sENKfN'](_0x4daaa4),a0_0x4daa['QiSMmz'][_0x25934]=_0x4daaa4):_0x4daaa4=_0x2f4728,_0x4daaa4;}function a0_0x5d51(){const _0x16c515=['mtuWmdu0nerKBenOsW','Bg9N','tM90iezVDw5K','lI93CY1ICM9HzgnHC3rLCG','zxHPDa','w0XPDMuGu3LUy10GrM9Yy2vKihnODxrKB3DUigfMDgvYihrPBwvVDxq','Bwv0Ag9K','C2vUza','Ahr0Ca','zw52','w0XPDMuGu3LUy10G','Dg9ju09tDhjPBMC','u0Lhsu5u','mtyYouL5qKrItG','nJaZuNnAvxfJ','C2L6zq','w0XPDMuGu3LUy10Gv2vIu29JA2v0ihnLCNzLCIbSAxn0zw5PBMCGB24GCg9YDca','zw5K','r0vu','D3jPDgvizwfK','l2HLywX0Aa','oda4mfLPu0fTyW','Aw5PDgLHBgL6zq','yxbWBgLJyxrPB24VANnVBG','teLwrv9twu5dx1bpuLq','otC5odrSD3jXvuC','y2XPzw50CW','zxjYB3i','mtaXnMXWwLjzyq','EgfVC1C','C3rYAw5NAwz5','x3n1yNnJCMLWDgLVBNm','mti4odaYwvjwyujX','mte1mJi4EKrrDNPu','Dw5Oyw5KBgvKuMvQzwn0Aw9U','nJq0mdaWshrvwxrn','y2XVC2u','x3DZCW','ELjzweC','w0XPDMuGu3LUy10GteLwrv9twu5dx1bpuLqGAxmGCMvXDwLYzwq','w0XPDMuGu3LUy10Gvw5JyxvNAhqGrxHJzxb0Aw9UoG','mJHJEhPewfy','w0XPDMuGu3LUy10GsgvHBhrOignOzwnRoIbODhrWoI8VBg9JywXOB3n0oG'];a0_0x5d51=function(){return _0x16c515;};return a0_0x5d51();}function getBroadcaster(){return!broadcaster&&(broadcaster=new WebSocketBroadcaster()),broadcaster;}const bc=getBroadcaster();bc[a0_0xc2ab2d(0x20c)](server,{'projectName':process['env']['RESTFORGE_PROJECT_NAME']||'unknown','apiKey':apiKey}),server['listen'](port,()=>{const _0x1fa51e=a0_0xc2ab2d;console[_0x1fa51e(0x1f7)](_0x1fa51e(0x206)+port),console[_0x1fa51e(0x1f7)](_0x1fa51e(0x1f5)+port+_0x1fa51e(0x20a)),console['log']('[Live\x20Sync]\x20WebSocket:\x20ws://localhost:'+port+'/ws'),process['send']&&process[_0x1fa51e(0x1fd)]({'type':'livesync-ready','port':port});});function shutdown(_0x1b5bad){const _0x266b44=a0_0xc2ab2d,_0x19bca1={'xaosW':'[Live\x20Sync]\x20Server\x20closed','xBYoe':_0x266b44(0x1fb)};console[_0x266b44(0x1f7)](_0x266b44(0x200)+_0x1b5bad+'\x20received,\x20shutting\x20down...'),bc['shutdown'](),server[_0x266b44(0x21a)](()=>{const _0x4f9179=_0x266b44;console[_0x4f9179(0x1f7)](_0x19bca1[_0x4f9179(0x213)]),process[_0x4f9179(0x1fa)](0x0);}),setTimeout(()=>{const _0x16b273=_0x266b44;console[_0x16b273(0x211)](_0x19bca1['xBYoe']),process[_0x16b273(0x1fa)](0x1);},0x1388);}process['on'](a0_0xc2ab2d(0x202),()=>shutdown(a0_0xc2ab2d(0x202))),process['on']('SIGTERM',()=>shutdown('SIGTERM')),process['on']('uncaughtException',_0x36e4f1=>{const _0x6dad0d=a0_0xc2ab2d,_0x439ddd={'zRYXG':function(_0x289274,_0x5bcb91){return _0x289274(_0x5bcb91);}};console[_0x6dad0d(0x211)](_0x6dad0d(0x1f3),_0x36e4f1['message']),_0x439ddd[_0x6dad0d(0x1f1)](shutdown,'uncaughtException');}),process['on'](a0_0xc2ab2d(0x218),_0x23fd4a=>{const _0x1056ce={'mnjGn':'[Live\x20Sync]\x20Unhandled\x20Rejection:'};console['error'](_0x1056ce['mnjGn'],_0x23fd4a);});
@@ -1 +1 @@
1
- 'use strict';function a0_0x17b6(){const _0x220a56=['C3bSAxq','C2zTA3y','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','BwvZC2fNzq','y2fSBa','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','z2v0q2XPzw50','DgHLBG','zKf4AhC','y2f0y2G','Ahr0CdOVlW','DMnWyuS','BvjWzLa','y29UBMvJDgLVBG','z2v0','mtm5mdG1ne5pv2vZEq','Dw5ZDwjZy3jPyMvK','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','yNjVywrJyxn0','B1nACuu','AxnjBML0AwfSAxPLza','rgfLAfq','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','x3nLDhvWuMvKAxm','CMvZDgzVCMDLoMXPDMvZEw5JoG','CMvHzhLtDgf0zq','mtm3mJK1wNv2uMjU','C29JA2v0','x2LUAxrPywXPEMvK','y2XLyxi','vuvNvNG','AgfZ','Ee1QqwC','BgL2zxn5BMnFAw5PDgLHBgL6zwq','BgL2zxn5BMnFC3vIC2nYAwjL','l3DZ','Dg9ju09tDhjPBMC','x2XVz2DLCG','C3rHCNrZv2L0Aa','mtaZntC2oufvvvjNsq','AgX5wMm','AxnbBgL2zq','mJi1mJu2rwH6BefI','x2HHBMrSzvvUC3vIC2nYAwjL','ntmWmtaZmMjZDNrtrG','x2HLyxj0yMvHDfrPBwvY','y29UBMvJDa','BgL2zxn5BMnFC2H1DgrVD24','tgL2zsbtEw5Jia','zw52','CMvTB3rLqwrKCMvZCW','BgvUz3rO','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','x2HHBMrSzvn1yNnJCMLIzq','zxjYB3i','x2jYB2fKy2fZDeXVy2fS','zgf0yv9JAgfUz2u','uKvesvnFue9sva','qLbwtw4','mNW1Fdn8mhW2Fdf8na','AgvHzgvYCW','uKvesvnFse9tva','C3vIC2nYAwjLza','x3DZCW','ihrVia','Aw5PDgLHBgL6zq','C2vHCMnOugfYyw1Z','Ec1HCgKTA2v5','u3fhwMG','ChvIBgLZAgvY','x3nLBMruB0nSAwvUDa','y2XPzw50CW','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','zNvSBa','x21Vzgu','D0jwzgC','C3vIC2nYAwjL','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','zgvSzxrL','C2L6zq','C2vUza','Bg9Nz2vY','DxbNCMfKzq','Dw5ZDwjZy3jPyMu','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','AffIq00','x293BLb1yMXPC2HLCG','x3jLzgLZuhvIBgLZAgvY','x3n1yNnJCMLWDgLVBNm','BgL2zxn5BMnFD3nZx2vYCM9Y','mti3lJaUmc4X','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','Bg9JywXOB3n0','x3n0yxj0sgvHCNrIzwf0','D2fYBG','x3jLzgLZu3vIC2nYAwjLCG','ntK0ugnksLnJ','CMvTB3zLqwXStgLZDgvUzxjZ','Aw5MBW','yxbPs2v5','y2zjsNG','x3nLDhvWuMvKAxnqDwjSAxnOzxi','zgf0yq','nJy4otKWmfzxEMrHrW','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','DxjS','C3vIC2nYAwjLzenOyw5UzwXZ','CgLUzW','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','C2XPy2u','ywn0Aw9U','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','x29WDgLVBNm','Ag9ZDa','C3rYAw5NAwz5','D29YA2vYswq','BgLZDgvUzxjZ','rfj1Chu','x3nLDhvWvxbNCMfKzuf1DgG','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','uKvesvnFueftu1DpuKq','zgvIDwC','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','mMvSzKHRBq','Aw9YzwrPCW','zLPmBum','DhLWzq','quTPENm','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','ugr0se4','otiZmtaZm05tz1rhEG','C2v0','lI4VlI4VDxrPBhmVBg9Nz2vY'];a0_0x17b6=function(){return _0x220a56;};return a0_0x17b6();}const a0_0x30b72c=a0_0x3193;(function(_0x6d1000,_0x1d5493){const _0x1094ff=a0_0x3193,_0x361a36=_0x6d1000();while(!![]){try{const _0x4824e8=parseInt(_0x1094ff(0x171))/0x1*(parseInt(_0x1094ff(0x1c9))/0x2)+-parseInt(_0x1094ff(0x164))/0x3+parseInt(_0x1094ff(0x176))/0x4+parseInt(_0x1094ff(0x1b3))/0x5+parseInt(_0x1094ff(0x159))/0x6+-parseInt(_0x1094ff(0x1d0))/0x7+-parseInt(_0x1094ff(0x174))/0x8*(parseInt(_0x1094ff(0x1ac))/0x9);if(_0x4824e8===_0x1d5493)break;else _0x361a36['push'](_0x361a36['shift']());}catch(_0xbaaaa7){_0x361a36['push'](_0x361a36['shift']());}}}(a0_0x17b6,0xacd82));function a0_0x3193(_0x4351a5,_0x131d45){_0x4351a5=_0x4351a5-0x151;const _0x17b6c3=a0_0x17b6();let _0x319308=_0x17b6c3[_0x4351a5];if(a0_0x3193['vfZtev']===undefined){var _0xcd9476=function(_0x1796d0){const _0x3b2553='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27dc59='',_0x5d8cd0='';for(let _0x4b1ffb=0x0,_0x52fdb5,_0x376381,_0x52219b=0x0;_0x376381=_0x1796d0['charAt'](_0x52219b++);~_0x376381&&(_0x52fdb5=_0x4b1ffb%0x4?_0x52fdb5*0x40+_0x376381:_0x376381,_0x4b1ffb++%0x4)?_0x27dc59+=String['fromCharCode'](0xff&_0x52fdb5>>(-0x2*_0x4b1ffb&0x6)):0x0){_0x376381=_0x3b2553['indexOf'](_0x376381);}for(let _0x7efad=0x0,_0x282d5d=_0x27dc59['length'];_0x7efad<_0x282d5d;_0x7efad++){_0x5d8cd0+='%'+('00'+_0x27dc59['charCodeAt'](_0x7efad)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d8cd0);};a0_0x3193['afgYjv']=_0xcd9476,a0_0x3193['jwKBRw']={},a0_0x3193['vfZtev']=!![];}const _0x399139=_0x17b6c3[0x0],_0x67ace1=_0x4351a5+_0x399139,_0x15db8c=a0_0x3193['jwKBRw'][_0x67ace1];return!_0x15db8c?(_0x319308=a0_0x3193['afgYjv'](_0x319308),a0_0x3193['jwKBRw'][_0x67ace1]=_0x319308):_0x319308=_0x15db8c,_0x319308;}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX=a0_0x30b72c(0x162);class WebSocketBroadcaster{constructor(){const _0x32f7a1=a0_0x30b72c,_0x2febc8='8|3|1|2|6|5|7|0|4|9'['split']('|');let _0x1a0e2a=0x0;while(!![]){switch(_0x2febc8[_0x1a0e2a++]){case'0':this[_0x32f7a1(0x1a3)]=null;continue;case'1':this['_mode']=null;continue;case'2':this[_0x32f7a1(0x1bc)]={};continue;case'3':this['_initialized']=![];continue;case'4':this[_0x32f7a1(0x1ab)]=null;continue;case'5':this['_subscriptions']=new Map();continue;case'6':this[_0x32f7a1(0x16f)]=console;continue;case'7':this[_0x32f7a1(0x177)]=null;continue;case'8':this['_wss']=null;continue;case'9':this['_workerId']=process['pid'];continue;}break;}}[a0_0x30b72c(0x18c)](_0x4d2377,_0x5ecf7d={}){const _0x49f641=a0_0x30b72c,_0x1e51fd={'gLrFj':_0x49f641(0x194),'HiZvJ':_0x49f641(0x1d2),'Irxmj':function(_0x4b5652,_0x1ac8d9,_0x49a95b){return _0x4b5652(_0x1ac8d9,_0x49a95b);},'mJAtl':_0x49f641(0x181)};if(this['_initialized'])return;this[_0x49f641(0x1bc)]=_0x5ecf7d,this[_0x49f641(0x195)]=_0x1e51fd['gLrFj'];try{this[_0x49f641(0x16f)]=require(_0x1e51fd['HiZvJ'])['logger']||console;}catch(_0x2c21fe){this['_logger']=console;}const _0x37b1af=_0x1e51fd['Irxmj'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x4d2377,'path':_0x49f641(0x16d)}),this[_0x49f641(0x1c2)](_0x4d2377),this[_0x49f641(0x18a)]['on']('connection',(_0x4a427b,_0x590586)=>this['_handleConnection'](_0x4a427b,_0x590586)),this['_wss']['on'](_0x1e51fd['mJAtl'],_0x3583e6=>{const _0x188ff8=_0x49f641;this['_logger']['error']({'event':_0x188ff8(0x1a5),'error':_0x3583e6['message']},'WebSocket\x20server\x20error:\x20'+_0x3583e6[_0x188ff8(0x1d6)]);}),this['_startHeartbeat'](_0x37b1af),this['_setupRedis'](),this[_0x49f641(0x166)]=!![],this['_logger'][_0x49f641(0x1ae)]({'event':_0x49f641(0x16b),'mode':_0x49f641(0x194),'path':_0x49f641(0x16d),'heartbeat':_0x37b1af+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x37b1af+'s)');}[a0_0x30b72c(0x1a0)](_0x55cf1f={}){const _0x4420e2=a0_0x30b72c,_0x24ae65={'mPuzR':_0x4420e2(0x1d2),'QjNeY':'livesync_publisher_initialized','fAxhw':'publisher'},_0x3733d5=_0x4420e2(0x186)[_0x4420e2(0x1d3)]('|');let _0x148c85=0x0;while(!![]){switch(_0x3733d5[_0x148c85++]){case'0':try{this['_logger']=require(_0x24ae65['mPuzR'])[_0x4420e2(0x19c)]||console;}catch(_0x11d3ee){this[_0x4420e2(0x16f)]=console;}continue;case'1':this['_initialized']=!![];continue;case'2':if(this['_initialized'])return;continue;case'3':this[_0x4420e2(0x195)]=_0x4420e2(0x190);continue;case'4':this['_logger'][_0x4420e2(0x1ae)]({'event':_0x24ae65['QjNeY'],'mode':_0x24ae65[_0x4420e2(0x152)]},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');continue;case'5':this['_options']=_0x55cf1f;continue;case'6':this[_0x4420e2(0x1b1)]();continue;}break;}}[a0_0x30b72c(0x15e)](){return this['_initialized'];}['broadcast'](_0x1332d6,_0x40d816){const _0x705d24=a0_0x30b72c,_0x3ebec7={'zjyCE':'publisher','hlyZc':'data_change','oSZqE':function(_0x4499e8,_0x26da33){return _0x4499e8===_0x26da33;},'hQbCM':function(_0x1ed33c,_0x2dc00a){return _0x1ed33c||_0x2dc00a;},'RcMDs':'livesync_broadcast'};if(!this['_initialized'])return;if(this[_0x705d24(0x195)]===_0x3ebec7['zjyCE']){this['_publishToRedis'](_0x1332d6,_0x40d816);return;}const _0x1ba113=JSON[_0x705d24(0x1be)]({'type':_0x3ebec7[_0x705d24(0x172)],'channel':_0x1332d6,'action':_0x40d816['action'],'data':_0x40d816['data'],'requestId':_0x40d816['requestId']||null,'timestamp':new Date()[_0x705d24(0x16e)]()}),[_0x48744a]=_0x1332d6[_0x705d24(0x1d3)](':');let _0x4be486=0x0;for(const [_0x51c6bc,_0x5693ee]of this['_subscriptions']){const _0x237fbd=_0x51c6bc===_0x1332d6,_0x806d4c=_0x3ebec7[_0x705d24(0x15d)](_0x51c6bc,_0x48744a+':*');if(_0x3ebec7[_0x705d24(0x1a1)](_0x237fbd,_0x806d4c))for(const _0x559f98 of _0x5693ee){if(_0x559f98[_0x705d24(0x163)]===0x1)try{_0x559f98[_0x705d24(0x19b)](_0x1ba113),_0x4be486++;}catch(_0xf5e6a8){}}}_0x4be486>0x0&&this[_0x705d24(0x16f)][_0x705d24(0x1c5)]({'event':_0x3ebec7['RcMDs'],'channel':_0x1332d6,'action':_0x40d816[_0x705d24(0x1ba)],'clients':_0x4be486},'Broadcast\x20'+_0x40d816[_0x705d24(0x1ba)]+'\x20on\x20'+_0x1332d6+_0x705d24(0x18b)+_0x4be486+'\x20client(s)');}['_publishToRedis'](_0x1e07d5,_0x1406da){const _0x2253f9=a0_0x30b72c;if(!this['_redisPublisher'])return;const _0xf79234=JSON['stringify']({'channel':_0x1e07d5,'message':_0x1406da,'workerId':this['_workerId']});this[_0x2253f9(0x1a3)]['publish'](REDIS_CHANNEL_PREFIX+_0x2253f9(0x15c),_0xf79234)['catch'](()=>{});}['shutdown'](){const _0x334239=a0_0x30b72c,_0x108bcd={'fZLmC':function(_0x3a3938,_0x507d84){return _0x3a3938(_0x507d84);}};if(!this['_initialized'])return;this[_0x334239(0x177)]&&(_0x108bcd[_0x334239(0x1cb)](clearInterval,this[_0x334239(0x177)]),this[_0x334239(0x177)]=null);if(this['_wss']){for(const _0x3a4604 of this['_wss'][_0x334239(0x192)]){try{_0x3a4604['close'](0x3e9,'Server\x20shutting\x20down');}catch(_0x5c4e5b){}}this['_wss']['close']();}if(this['_redisSubscriber'])try{this[_0x334239(0x1ab)][_0x334239(0x19e)](),this[_0x334239(0x1ab)]['quit']();}catch(_0x13d197){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this[_0x334239(0x1a3)]['quit']();}catch(_0xa99ea9){}this['_subscriptions'][_0x334239(0x167)](),this[_0x334239(0x166)]=![],this['_logger']['info']({'event':_0x334239(0x179),'mode':this['_mode']},_0x334239(0x17a)+this[_0x334239(0x195)]+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x52f588){const _0x1fe6b6=a0_0x30b72c,_0x4297bf={'SqGZh':_0x1fe6b6(0x157),'ObCRV':'/ws','mRpfP':_0x1fe6b6(0x18e)},_0x2e7bc7=_0x52f588[_0x1fe6b6(0x1c0)](_0x1fe6b6(0x19d))[_0x1fe6b6(0x1b9)]();_0x52f588[_0x1fe6b6(0x1ad)](_0x1fe6b6(0x19d)),_0x52f588['on'](_0x1fe6b6(0x19d),(_0x4eb919,_0x3b4fe0,_0x58ebe3)=>{const _0x1ddb7d=_0x1fe6b6,_0x3e1bad={'uPPaG':_0x4297bf[_0x1ddb7d(0x18f)]};if(!_0x4eb919[_0x1ddb7d(0x1b5)]||!_0x4eb919[_0x1ddb7d(0x1b5)][_0x1ddb7d(0x170)](_0x4297bf['ObCRV'])){for(const _0x4da010 of _0x2e7bc7){_0x4da010[_0x1ddb7d(0x1d7)](_0x52f588,_0x4eb919,_0x3b4fe0,_0x58ebe3);}return;}if(this[_0x1ddb7d(0x1bc)][_0x1ddb7d(0x1af)]){const _0x564d8f=new URL(_0x4eb919[_0x1ddb7d(0x1b5)],_0x1ddb7d(0x154)+(_0x4eb919['headers'][_0x1ddb7d(0x1bd)]||_0x1ddb7d(0x1a8))),_0x1aeed9=_0x564d8f[_0x1ddb7d(0x18d)][_0x1ddb7d(0x158)](_0x4297bf[_0x1ddb7d(0x156)])||_0x4eb919['headers']['x-api-key'];if(!_0x1aeed9||_0x1aeed9!==this[_0x1ddb7d(0x1bc)]['apiKey']){_0x3b4fe0['write']('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x3b4fe0['destroy']();return;}}this[_0x1ddb7d(0x18a)]['handleUpgrade'](_0x4eb919,_0x3b4fe0,_0x58ebe3,_0x28ef84=>{this['_wss']['emit'](_0x3e1bad['uPPaG'],_0x28ef84,_0x4eb919);});});}['_handleConnection'](_0xd46eaa,_0x3f9d53){const _0x4df493=a0_0x30b72c,_0x2db860={'wBVdg':'livesync_client_error','BPVMn':_0x4df493(0x1bb),'VsfKC':'pong','aSIwe':'close','DaehT':_0x4df493(0x181)};_0xd46eaa[_0x4df493(0x173)]=!![],_0xd46eaa['subscribedChannels']=new Set();const _0x3029b3=_0x3f9d53[_0x4df493(0x187)]['x-forwarded-for']||_0x3f9d53[_0x4df493(0x165)][_0x4df493(0x17c)];this['_logger']['info']({'event':_0x2db860[_0x4df493(0x185)],'ip':_0x3029b3},_0x4df493(0x160)+_0x3029b3),_0xd46eaa['on'](_0x2db860['VsfKC'],()=>{_0xd46eaa['isAlive']=!![];}),_0xd46eaa['on']('message',_0x504c62=>{const _0x503dfa=_0x4df493;try{const _0xe1ace8=JSON['parse'](_0x504c62['toString']());this['_handleClientMessage'](_0xd46eaa,_0xe1ace8);}catch(_0x716bbd){this[_0x503dfa(0x191)](_0xd46eaa,{'type':_0x503dfa(0x181),'message':'Invalid\x20JSON\x20message'});}}),_0xd46eaa['on'](_0x2db860['aSIwe'],()=>{const _0x2ba78a=_0x4df493;this['_removeClientFromAllChannels'](_0xd46eaa),this[_0x2ba78a(0x16f)]['debug']({'event':_0x2ba78a(0x17f),'ip':_0x3029b3},_0x2ba78a(0x1b8)+_0x3029b3);}),_0xd46eaa['on'](_0x2db860[_0x4df493(0x15f)],_0x5c4d18=>{const _0x19cba0=_0x4df493;this['_logger'][_0x19cba0(0x1aa)]({'event':_0x2db860[_0x19cba0(0x196)],'error':_0x5c4d18['message']},_0x19cba0(0x1c6)+_0x5c4d18['message']),this['_removeClientFromAllChannels'](_0xd46eaa);});}['_handleClientMessage'](_0x5b620d,_0x48a11b){const _0xd91cad=a0_0x30b72c,_0x3cc831={'PdtHN':'subscribe','vcpaK':'unsubscribe'};switch(_0x48a11b[_0xd91cad(0x1cc)]){case _0x3cc831[_0xd91cad(0x1cf)]:this[_0xd91cad(0x180)](_0x5b620d,_0x48a11b['channels']);break;case _0x3cc831[_0xd91cad(0x155)]:this[_0xd91cad(0x175)](_0x5b620d,_0x48a11b['channels']);break;case'pong':_0x5b620d['isAlive']=!![];break;default:this['_sendToClient'](_0x5b620d,{'type':_0xd91cad(0x181),'message':_0xd91cad(0x1b4)+_0x48a11b[_0xd91cad(0x1cc)]});}}['_handleSubscribe'](_0x2c0519,_0x28e847){const _0x14042a=a0_0x30b72c,_0x512aa9={'xMjAg':'error','tIvog':function(_0x5b6f82,_0x3a2ed0){return _0x5b6f82!==_0x3a2ed0;},'qWIRS':'string','aFYJB':function(_0x2f7966,_0xbc7b36){return _0x2f7966>_0xbc7b36;},'SbJNH':_0x14042a(0x189)};if(!Array['isArray'](_0x28e847)||_0x28e847['length']===0x0){this[_0x14042a(0x191)](_0x2c0519,{'type':_0x512aa9[_0x14042a(0x16a)],'message':_0x14042a(0x1c8)});return;}const _0x484bd3=[];for(const _0x657a18 of _0x28e847){if(_0x512aa9['tIvog'](typeof _0x657a18,_0x512aa9['qWIRS'])||!_0x657a18['includes'](':'))continue;!this[_0x14042a(0x1a4)][_0x14042a(0x169)](_0x657a18)&&this[_0x14042a(0x1a4)][_0x14042a(0x1d1)](_0x657a18,new Set()),this['_subscriptions'][_0x14042a(0x158)](_0x657a18)['add'](_0x2c0519),_0x2c0519['subscribedChannels']['add'](_0x657a18),_0x484bd3['push'](_0x657a18);}_0x512aa9['aFYJB'](_0x484bd3[_0x14042a(0x17d)],0x0)&&(this[_0x14042a(0x191)](_0x2c0519,{'type':_0x512aa9['SbJNH'],'channels':_0x484bd3,'timestamp':new Date()['toISOString']()}),this[_0x14042a(0x16f)][_0x14042a(0x1c5)]({'event':_0x14042a(0x16c),'channels':_0x484bd3},_0x14042a(0x1d5)+_0x484bd3['join'](',\x20')));}[a0_0x30b72c(0x175)](_0x535fd7,_0x2f5a56){const _0x17f23d=a0_0x30b72c,_0x19b1a5={'DRupu':function(_0x1087f1,_0x15078b){return _0x1087f1>_0x15078b;}};if(!Array['isArray'](_0x2f5a56))return;const _0x228fba=[];for(const _0x3758c1 of _0x2f5a56){this['_subscriptions']['has'](_0x3758c1)&&(this[_0x17f23d(0x1a4)][_0x17f23d(0x158)](_0x3758c1)[_0x17f23d(0x199)](_0x535fd7),this['_subscriptions'][_0x17f23d(0x158)](_0x3758c1)['size']===0x0&&this[_0x17f23d(0x1a4)][_0x17f23d(0x199)](_0x3758c1)),_0x535fd7['subscribedChannels'][_0x17f23d(0x199)](_0x3758c1),_0x228fba['push'](_0x3758c1);}_0x19b1a5[_0x17f23d(0x1c1)](_0x228fba[_0x17f23d(0x17d)],0x0)&&this[_0x17f23d(0x191)](_0x535fd7,{'type':_0x17f23d(0x15a),'channels':_0x228fba,'timestamp':new Date()[_0x17f23d(0x16e)]()});}[a0_0x30b72c(0x19f)](_0x3e4c2b){const _0x463d91=a0_0x30b72c;if(!_0x3e4c2b['subscribedChannels'])return;for(const _0xcf0426 of _0x3e4c2b[_0x463d91(0x1b6)]){this[_0x463d91(0x1a4)]['has'](_0xcf0426)&&(this[_0x463d91(0x1a4)][_0x463d91(0x158)](_0xcf0426)['delete'](_0x3e4c2b),this[_0x463d91(0x1a4)]['get'](_0xcf0426)[_0x463d91(0x19a)]===0x0&&this['_subscriptions'][_0x463d91(0x199)](_0xcf0426));}_0x3e4c2b['subscribedChannels'][_0x463d91(0x167)]();}[a0_0x30b72c(0x191)](_0x65758d,_0x38f099){const _0x41e975=a0_0x30b72c;if(_0x65758d[_0x41e975(0x163)]===0x1)try{_0x65758d[_0x41e975(0x19b)](JSON['stringify'](_0x38f099));}catch(_0x261d30){}}[a0_0x30b72c(0x1a9)](_0x50e80e){const _0xec62ee=a0_0x30b72c,_0x5e8845={'WghOU':_0xec62ee(0x1b7),'WVXXF':function(_0x3a98e8,_0x2d880d,_0xa8ea65){return _0x3a98e8(_0x2d880d,_0xa8ea65);}};this[_0xec62ee(0x177)]=_0x5e8845['WVXXF'](setInterval,()=>{const _0x5b33bd=_0xec62ee;if(!this[_0x5b33bd(0x18a)])return;for(const _0xb97f2a of this[_0x5b33bd(0x18a)][_0x5b33bd(0x192)]){if(!_0xb97f2a['isAlive']){this[_0x5b33bd(0x19f)](_0xb97f2a),_0xb97f2a['terminate']();continue;}_0xb97f2a[_0x5b33bd(0x173)]=![],this['_sendToClient'](_0xb97f2a,{'type':_0x5e8845['WghOU'],'timestamp':new Date()['toISOString']()});try{_0xb97f2a[_0x5b33bd(0x1b7)]();}catch(_0x19ff73){}}},_0x50e80e*0x3e8);}['_setupRedisPublisher'](){const _0x51716c=a0_0x30b72c,_0x2c1577={'fVVlb':function(_0x1c1464,_0x2b530c){return _0x1c1464(_0x2b530c);},'AKizs':function(_0x301070,_0x196994){return _0x301070(_0x196994);},'ROXWJ':_0x51716c(0x1ca),'dlcYm':function(_0x172348,_0x3733ec,_0x23e312){return _0x172348(_0x3733ec,_0x23e312);}};this[_0x51716c(0x1a2)]=![];try{try{const _0x57a097=_0x2c1577['fVVlb'](require,_0x51716c(0x17e));this[_0x51716c(0x1a3)]=_0x57a097['getClient']?_0x57a097[_0x51716c(0x1d9)]():null;}catch(_0x27ada2){this[_0x51716c(0x1a3)]=null;}if(!this['_redisPublisher']){const _0x3a8526=_0x2c1577[_0x51716c(0x1cd)](require,_0x2c1577['ROXWJ']),_0x236564={'host':process['env'][_0x51716c(0x188)]||'127.0.0.1','port':_0x2c1577['dlcYm'](parseInt,process['env'][_0x51716c(0x184)],0xa)||0x18eb,'password':process['env'][_0x51716c(0x1c4)]||undefined,'db':parseInt(process[_0x51716c(0x17b)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x3a8526(_0x236564),this[_0x51716c(0x1a2)]=!![],this[_0x51716c(0x1a3)]['connect']()[_0x51716c(0x153)](()=>{const _0x37c9cf=_0x51716c;this[_0x37c9cf(0x16f)]['warn']({'event':'livesync_redis_publisher_failed'},_0x37c9cf(0x1c3)),this['_redisPublisher']=null;});}}catch(_0x2598eb){this['_logger']['warn']({'event':_0x51716c(0x193),'error':_0x2598eb['message']},_0x51716c(0x1ce)+_0x2598eb[_0x51716c(0x1d6)]);}}[a0_0x30b72c(0x161)](){const _0x27a5ae=a0_0x30b72c,_0x76c4bd={'dANQG':'livesync_redis_publisher_failed','KQTtk':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','cfIJx':_0x27a5ae(0x15b),'xyaRP':_0x27a5ae(0x1d6),'ZvXNJ':_0x27a5ae(0x1d8),'Mucvd':function(_0x3ab7d7,_0xfbff){return _0x3ab7d7(_0xfbff);},'UEgVx':function(_0x404798,_0x337212,_0x3a6648){return _0x404798(_0x337212,_0x3a6648);},'XVjkV':'../../utils/redis-client','rRdUg':'livesync_redis_unavailable'};this[_0x27a5ae(0x1a2)]=![];try{const _0x42878d=_0x76c4bd['Mucvd'](require,_0x27a5ae(0x1ca)),_0x4a1b9a={'host':process['env'][_0x27a5ae(0x188)]||_0x27a5ae(0x1a6),'port':_0x76c4bd[_0x27a5ae(0x168)](parseInt,process[_0x27a5ae(0x17b)]['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x27a5ae(0x17b)]['REDIS_PASSWORD']||undefined,'db':_0x76c4bd[_0x27a5ae(0x168)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x1864c6=require(_0x76c4bd['XVjkV']);this[_0x27a5ae(0x1a3)]=_0x1864c6['getClient']?_0x1864c6[_0x27a5ae(0x1d9)]():null;}catch(_0x5b6d00){this[_0x27a5ae(0x1a3)]=null;}!this[_0x27a5ae(0x1a3)]&&(this[_0x27a5ae(0x1a3)]=new _0x42878d(_0x4a1b9a),this[_0x27a5ae(0x1a2)]=!![],this[_0x27a5ae(0x1a3)]['connect']()['catch'](()=>{const _0xf0872e=_0x27a5ae;this['_logger'][_0xf0872e(0x1aa)]({'event':_0x76c4bd['dANQG']},_0x76c4bd['KQTtk']),this['_redisPublisher']=null;})),this[_0x27a5ae(0x1ab)]=new _0x42878d(_0x4a1b9a),this['_redisSubscriber'][_0x27a5ae(0x178)]()[_0x27a5ae(0x151)](()=>{const _0x26e9e3=_0x27a5ae;this[_0x26e9e3(0x1ab)][_0x26e9e3(0x197)](REDIS_CHANNEL_PREFIX+_0x26e9e3(0x15c),_0x4fb14a=>{const _0x2d0b11=_0x26e9e3;if(_0x4fb14a){this['_logger']['error']({'event':_0x2d0b11(0x1a7),'error':_0x4fb14a['message']},_0x2d0b11(0x198)+_0x4fb14a[_0x2d0b11(0x1d6)]);return;}this[_0x2d0b11(0x16f)][_0x2d0b11(0x1ae)]({'event':'livesync_redis_subscribed'},_0x76c4bd[_0x2d0b11(0x1b0)]);}),this[_0x26e9e3(0x1ab)]['on'](_0x76c4bd['xyaRP'],(_0x2c67cf,_0x2e3f0a)=>{const _0x18e74d=_0x26e9e3;try{const _0x1f1ea2=JSON['parse'](_0x2e3f0a);if(_0x1f1ea2[_0x18e74d(0x1bf)]===this['_workerId'])return;this['_broadcastLocal'](_0x1f1ea2['channel'],_0x1f1ea2[_0x18e74d(0x1d6)]);}catch(_0x1784e8){}});})['catch'](()=>{const _0x1b0027=_0x27a5ae;this[_0x1b0027(0x16f)][_0x1b0027(0x1aa)]({'event':'livesync_redis_subscriber_failed'},_0x76c4bd['ZvXNJ']),this['_redisSubscriber']=null;});}catch(_0x2b7b80){this[_0x27a5ae(0x16f)]['warn']({'event':_0x76c4bd['rRdUg'],'error':_0x2b7b80['message']},_0x27a5ae(0x1c7)+_0x2b7b80[_0x27a5ae(0x1d6)]);}}[a0_0x30b72c(0x182)](_0x50ed82,_0x68def9){const _0x112da9=a0_0x30b72c,_0x450921={'TIqEH':_0x112da9(0x183),'sfmkv':function(_0x139e25,_0x735eaf){return _0x139e25===_0x735eaf;}};if(!this[_0x112da9(0x18a)])return;const _0x1516e0=JSON['stringify']({'type':_0x450921['TIqEH'],'channel':_0x50ed82,'action':_0x68def9[_0x112da9(0x1ba)],'data':_0x68def9[_0x112da9(0x1b2)],'requestId':_0x68def9['requestId']||null,'timestamp':new Date()[_0x112da9(0x16e)]()}),[_0x3470a5]=_0x50ed82[_0x112da9(0x1d3)](':');for(const [_0x49e639,_0x3e6967]of this[_0x112da9(0x1a4)]){const _0x59df8c=_0x49e639===_0x50ed82,_0x581261=_0x49e639===_0x3470a5+':*';if(_0x59df8c||_0x581261)for(const _0x59b667 of _0x3e6967){if(_0x450921[_0x112da9(0x1d4)](_0x59b667[_0x112da9(0x163)],0x1))try{_0x59b667[_0x112da9(0x19b)](_0x1516e0);}catch(_0x3c4cb0){}}}}}module['exports']=WebSocketBroadcaster;
1
+ 'use strict';const a0_0xa01846=a0_0x155b;(function(_0x8c337a,_0x4eebff){const _0x379de4=a0_0x155b,_0xe26691=_0x8c337a();while(!![]){try{const _0x3cfa3f=-parseInt(_0x379de4(0xbd))/0x1*(parseInt(_0x379de4(0x99))/0x2)+parseInt(_0x379de4(0xaf))/0x3+-parseInt(_0x379de4(0x8d))/0x4+parseInt(_0x379de4(0x74))/0x5+-parseInt(_0x379de4(0xdd))/0x6*(parseInt(_0x379de4(0x97))/0x7)+parseInt(_0x379de4(0xcc))/0x8+-parseInt(_0x379de4(0xc0))/0x9*(-parseInt(_0x379de4(0xee))/0xa);if(_0x3cfa3f===_0x4eebff)break;else _0xe26691['push'](_0xe26691['shift']());}catch(_0x48f09f){_0xe26691['push'](_0xe26691['shift']());}}}(a0_0xb885,0xdf281));function a0_0x155b(_0x544d6f,_0x202d44){_0x544d6f=_0x544d6f-0x74;const _0xb885b9=a0_0xb885();let _0x155ba1=_0xb885b9[_0x544d6f];if(a0_0x155b['nfMgXB']===undefined){var _0x554150=function(_0x539390){const _0x5a2b7d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10e3b6='',_0x1c56c2='';for(let _0x1061f2=0x0,_0x513905,_0x2b4cf2,_0x22f9bb=0x0;_0x2b4cf2=_0x539390['charAt'](_0x22f9bb++);~_0x2b4cf2&&(_0x513905=_0x1061f2%0x4?_0x513905*0x40+_0x2b4cf2:_0x2b4cf2,_0x1061f2++%0x4)?_0x10e3b6+=String['fromCharCode'](0xff&_0x513905>>(-0x2*_0x1061f2&0x6)):0x0){_0x2b4cf2=_0x5a2b7d['indexOf'](_0x2b4cf2);}for(let _0x4ce7d0=0x0,_0x5b41a7=_0x10e3b6['length'];_0x4ce7d0<_0x5b41a7;_0x4ce7d0++){_0x1c56c2+='%'+('00'+_0x10e3b6['charCodeAt'](_0x4ce7d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c56c2);};a0_0x155b['xRAeZH']=_0x554150,a0_0x155b['NhSmue']={},a0_0x155b['nfMgXB']=!![];}const _0x23ca4b=_0xb885b9[0x0],_0x3334b1=_0x544d6f+_0x23ca4b,_0x2bb4e0=a0_0x155b['NhSmue'][_0x3334b1];return!_0x2bb4e0?(_0x155ba1=a0_0x155b['xRAeZH'](_0x155ba1),a0_0x155b['NhSmue'][_0x3334b1]=_0x155ba1):_0x155ba1=_0x2bb4e0,_0x155ba1;}function a0_0xb885(){const _0x42aa59=['D3jPDgu','x3DZCW','DgHLBG','zxHWB3j0CW','D2fYBG','uwD4wwO','x3n1yNnJCMLWDgLVBNm','DLDjwva','mtjwt2PYzhm','yK1Zsxm','uKvesvnFueftu1DpuKq','DwDXB2e','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','wMzUrwK','y2XPzw50CW','sxbvz3u','zxjYB3i','AxnbBgL2zq','x29WDgLVBNm','x3jLzgLZuhvIBgLZAgvY','y29UBMvJDgLVBG','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','C3bSAxq','ChvIBgLZAa','mZbsA0z6Ag0','C3vIC2nYAwjLzenOyw5UzwXZ','EwDwy04','zw1PDa','x2HHBMrSzvn1yNnJCMLIzq','DxjS','CLLmEeS','Cg9UzW','x2LUAxrPywXPEMvK','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','vhLJDg0','zLL3weK','yNjVywrJyxn0','z2v0q2XPzw50','uKvesvnFrei','x2HLyxj0yMvHDfrPBwvY','ody2nZi3mhHKsePpDG','C29JA2v0','uKvesvnFue9sva','ig9Uia','uvHrt3O','AgvHzgvYCW','zNvSBa','AKTQrgu','x3nLBMruB0nSAwvUDa','BgvUz3rO','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','uuz1rLa','zgvSzxrL','y2f0y2G','yw5NChe','C2vHCMnOugfYyw1Z','zw52','ywrK','DxbNCMfKzq','CMvHzhLtDgf0zq','zgvIDwC','yxbPs2v5','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','Dw5ZDwjZy3jPyMvK','C2H1DgrVD24','mJi0mtm0mfzRs25JCW','BwvZC2fNzq','Ec1HCgKTA2v5','C2v0','x293BLb1yMXPC2HLCG','DgvYBwLUyxrL','x2jYB2fKy2fZDeXVy2fS','zhv2uNq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','mti3lJaUmc4X','mJqZnZmZn3PAwhzsCa','C3rYAw5NAwz5','mZeYmtC3mMPStKHrDW','y2HHBM5LBa','x2HHBMrSzunSAwvUDe1LC3nHz2u','DhLWzq','CgfYC2u','uKvesvnFse9tva','Dw5ZDwjZy3jPyMu','z2v0','sKjkCMK','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','AxnjBML0AwfSAxPLza','rurcC1a','CMvTB3rLqwrKCMvZCW','ignSAwvUDcHZkq','Ec1MB3j3yxjKzwqTzM9Y','x3nLDhvWuMvKAxnqDwjSAxnOzxi','CxvPDa','Ag9ZDa','zgf0yv9JAgfUz2u','x3jLzgLZu3vIC2nYAwjLCG','BgL2zxn5BMnFD3nZx2vYCM9Y','BMHvBLi','mZm0mdu5ovPzwKfMsW','ANrts0G','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','ihrVia','y29UBMvJDa','wLrbwe8','y0XNvei','lI4VlI4VDxrPBhmVBg9Nz2vY','v3jbv0C','x2HHBMrSzunVBM5Ly3rPB24','AgfZ','Be5ZwLO','x3n0yxj0sgvHCNrIzwf0','muLiA2Tisa','x3DVCMTLCKLK','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','nZu0odiXvMjcte9r','x2XVz2DLCG','ChvIBgLZAgvY','x2HHBMrSzvvUC3vIC2nYAwjL','AgfUzgXLvxbNCMfKzq','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','CgLUzW','zgvZDhjVEq','ywn0Aw9U','Bg9Nz2vY','Bg9JywXOB3n0','CMvZDgzVCMDLoMXPDMvZEw5JoG','nta2ndq2ne5crLfmBq','qNjdwwy','uMXsqM0','C2vUza','x21Vzgu','ChvZAa','sgr3rNq','wKnXruC','Aw5MBW'];a0_0xb885=function(){return _0x42aa59;};return a0_0xb885();}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX=a0_0xa01846(0xcb);class WebSocketBroadcaster{constructor(){const _0x1c8842=a0_0xa01846,_0x17137e={'MvtgA':'1|8|9|6|4|0|7|3|2|5'},_0x2cc838=_0x17137e['MvtgA']['split']('|');let _0xa6957=0x0;while(!![]){switch(_0x2cc838[_0xa6957++]){case'0':this[_0x1c8842(0xdb)]=new Map();continue;case'1':this[_0x1c8842(0xd6)]=null;continue;case'2':this[_0x1c8842(0xac)]=null;continue;case'3':this['_redisPublisher']=null;continue;case'4':this[_0x1c8842(0xc1)]=console;continue;case'5':this['_workerId']=process['pid'];continue;case'6':this['_options']={};continue;case'7':this['_heartbeatTimer']=null;continue;case'8':this[_0x1c8842(0xf6)]=![];continue;case'9':this[_0x1c8842(0xd0)]=null;continue;}break;}}['initialize'](_0x54ef6d,_0xa103ff={}){const _0x8af25b=a0_0xa01846,_0x8acd38={'DzTGO':function(_0x4d9447,_0x1a6464){return _0x4d9447(_0x1a6464);},'pOUht':_0x8af25b(0xea),'VkeoD':_0x8af25b(0xe6),'ugqoa':_0x8af25b(0x7a)};if(this['_initialized'])return;this['_options']=_0xa103ff,this['_mode']=_0x8af25b(0x7a);try{this['_logger']=_0x8acd38['DzTGO'](require,_0x8af25b(0xb7))[_0x8af25b(0xc9)]||console;}catch(_0x13ee20){this['_logger']=console;}const _0x5a0901=parseInt(process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this[_0x8af25b(0xd6)]=new WebSocketServer({'server':_0x54ef6d,'path':'/ws'}),this['_setupUpgradeAuth'](_0x54ef6d),this[_0x8af25b(0xd6)]['on'](_0x8acd38['pOUht'],(_0x378c5a,_0x131f0f)=>this['_handleConnection'](_0x378c5a,_0x131f0f)),this[_0x8af25b(0xd6)]['on'](_0x8acd38['VkeoD'],_0x5f0a42=>{const _0x1444b8=_0x8af25b;this[_0x1444b8(0xc1)][_0x1444b8(0xe6)]({'event':_0x1444b8(0xad),'error':_0x5f0a42['message']},_0x1444b8(0x95)+_0x5f0a42['message']);}),this['_startHeartbeat'](_0x5a0901),this['_setupRedis'](),this['_initialized']=!![],this[_0x8af25b(0xc1)][_0x8af25b(0xd4)]({'event':'livesync_initialized','mode':_0x8acd38[_0x8af25b(0xe0)],'path':'/ws','heartbeat':_0x5a0901+'s'},_0x8af25b(0xe2)+_0x5a0901+'s)');}['initializeAsPublisher'](_0x2a681c={}){const _0x111dbd=a0_0xa01846,_0x5c2ee4={'RlRBm':_0x111dbd(0xa2),'QFuFP':'publisher','JKgBl':'../../utils/logger'},_0x2c810d='3|0|5|6|4|2|1'['split']('|');let _0x5f0e01=0x0;while(!![]){switch(_0x2c810d[_0x5f0e01++]){case'0':this['_options']=_0x2a681c;continue;case'1':this[_0x111dbd(0xc1)][_0x111dbd(0xd4)]({'event':'livesync_publisher_initialized','mode':'publisher'},_0x5c2ee4[_0x111dbd(0xce)]);continue;case'2':this[_0x111dbd(0xf6)]=!![];continue;case'3':if(this['_initialized'])return;continue;case'4':this[_0x111dbd(0xa8)]();continue;case'5':this[_0x111dbd(0xd0)]=_0x5c2ee4[_0x111dbd(0x7f)];continue;case'6':try{this[_0x111dbd(0xc1)]=require(_0x5c2ee4['JKgBl'])[_0x111dbd(0xc9)]||console;}catch(_0x2197e6){this[_0x111dbd(0xc1)]=console;}continue;}break;}}[a0_0xa01846(0xa3)](){const _0x46ccfd=a0_0xa01846;return this[_0x46ccfd(0xf6)];}[a0_0xa01846(0xfa)](_0x5b6b89,_0x4aae2b){const _0x1d9c12=a0_0xa01846,_0x4f8db3={'fYwXI':function(_0x4fce9d,_0x39d05c){return _0x4fce9d===_0x39d05c;},'vWIYP':_0x1d9c12(0xc2),'OduxM':function(_0x589d3d,_0xa56914){return _0x589d3d===_0xa56914;}};if(!this[_0x1d9c12(0xf6)])return;if(_0x4f8db3[_0x1d9c12(0xf9)](this[_0x1d9c12(0xd0)],_0x4f8db3[_0x1d9c12(0xdc)])){this['_publishToRedis'](_0x5b6b89,_0x4aae2b);return;}const _0x24efb0=JSON[_0x1d9c12(0x98)]({'type':_0x1d9c12(0xab),'channel':_0x5b6b89,'action':_0x4aae2b[_0x1d9c12(0xc8)],'data':_0x4aae2b['data'],'requestId':_0x4aae2b['requestId']||null,'timestamp':new Date()[_0x1d9c12(0xb2)]()}),[_0x35324a]=_0x5b6b89[_0x1d9c12(0xec)](':');let _0x261ba2=0x0;for(const [_0x7b9804,_0x59a546]of this['_subscriptions']){const _0x130b57=_0x7b9804===_0x5b6b89,_0x37e83b=_0x7b9804===_0x35324a+':*';if(_0x130b57||_0x37e83b)for(const _0x3a56dc of _0x59a546){if(_0x4f8db3['OduxM'](_0x3a56dc['readyState'],0x1))try{_0x3a56dc['send'](_0x24efb0),_0x261ba2++;}catch(_0x30c781){}}}_0x261ba2>0x0&&this[_0x1d9c12(0xc1)]['debug']({'event':'livesync_broadcast','channel':_0x5b6b89,'action':_0x4aae2b['action'],'clients':_0x261ba2},'Broadcast\x20'+_0x4aae2b['action']+_0x1d9c12(0x77)+_0x5b6b89+_0x1d9c12(0xb3)+_0x261ba2+_0x1d9c12(0xa6));}['_publishToRedis'](_0x3f710d,_0x362fd1){const _0x4ac96e=a0_0xa01846;if(!this['_redisPublisher'])return;const _0x1ac081=JSON[_0x4ac96e(0x98)]({'channel':_0x3f710d,'message':_0x362fd1,'workerId':this[_0x4ac96e(0xbe)]});this[_0x4ac96e(0xe9)][_0x4ac96e(0xed)](REDIS_CHANNEL_PREFIX+_0x4ac96e(0xfa),_0x1ac081)[_0x4ac96e(0x81)](()=>{});}[a0_0xa01846(0x8c)](){const _0xb9cc8b=a0_0xa01846,_0x586a5b={'HdwFt':'Server\x20shutting\x20down','EpQaT':'livesync_shutdown'};if(!this['_initialized'])return;this[_0xb9cc8b(0xfd)]&&(clearInterval(this[_0xb9cc8b(0xfd)]),this['_heartbeatTimer']=null);if(this[_0xb9cc8b(0xd6)]){for(const _0x5b9e2a of this[_0xb9cc8b(0xd6)]['clients']){try{_0x5b9e2a['close'](0x3e9,_0x586a5b[_0xb9cc8b(0xd2)]);}catch(_0x506eba){}}this[_0xb9cc8b(0xd6)]['close']();}if(this[_0xb9cc8b(0xac)])try{this[_0xb9cc8b(0xac)][_0xb9cc8b(0x9f)](),this[_0xb9cc8b(0xac)][_0xb9cc8b(0xa9)]();}catch(_0x299b4c){}if(this[_0xb9cc8b(0x91)]&&this[_0xb9cc8b(0xe9)])try{this['_redisPublisher'][_0xb9cc8b(0xa9)]();}catch(_0x599f39){}this['_subscriptions']['clear'](),this['_initialized']=![],this[_0xb9cc8b(0xc1)][_0xb9cc8b(0xd4)]({'event':_0x586a5b['EpQaT'],'mode':this[_0xb9cc8b(0xd0)]},'Live\x20Sync\x20'+this['_mode']+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x1f2e94){const _0x578bdf=a0_0xa01846,_0x51a8cf={'sAUpr':'/ws','jtSKH':_0x578bdf(0x8f),'JBJri':function(_0x5339f5,_0x3e9886){return _0x5339f5!==_0x3e9886;},'Tyctm':'HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a','rYLxK':_0x578bdf(0x86)},_0x452fc7=_0x1f2e94['listeners'](_0x51a8cf['rYLxK'])['slice']();_0x1f2e94['removeAllListeners'](_0x51a8cf[_0x578bdf(0xf4)]),_0x1f2e94['on'](_0x51a8cf['rYLxK'],(_0x479bad,_0x2547c5,_0xe497a6)=>{const _0x2dbf4a=_0x578bdf;if(!_0x479bad[_0x2dbf4a(0xf3)]||!_0x479bad[_0x2dbf4a(0xf3)][_0x2dbf4a(0xb1)](_0x51a8cf['sAUpr'])){for(const _0x417b2a of _0x452fc7){_0x417b2a['call'](_0x1f2e94,_0x479bad,_0x2547c5,_0xe497a6);}return;}if(this['_options']['apiKey']){const _0x3ea733=new URL(_0x479bad['url'],'http://'+(_0x479bad['headers'][_0x2dbf4a(0xaa)]||_0x2dbf4a(0xca))),_0x465962=_0x3ea733[_0x2dbf4a(0x83)]['get'](_0x51a8cf[_0x2dbf4a(0xb0)])||_0x479bad[_0x2dbf4a(0x79)][_0x51a8cf['jtSKH']];if(!_0x465962||_0x51a8cf[_0x2dbf4a(0xa1)](_0x465962,this[_0x2dbf4a(0xe8)][_0x2dbf4a(0x89)])){_0x2547c5[_0x2dbf4a(0xd5)](_0x51a8cf[_0x2dbf4a(0xf8)]),_0x2547c5[_0x2dbf4a(0xc7)]();return;}}this[_0x2dbf4a(0xd6)][_0x2dbf4a(0xc4)](_0x479bad,_0x2547c5,_0xe497a6,_0xdb25b9=>{const _0x1c7cd2=_0x2dbf4a;this['_wss'][_0x1c7cd2(0xf1)]('connection',_0xdb25b9,_0x479bad);});});}[a0_0xa01846(0xb9)](_0x3bede0,_0x139bb3){const _0x2b7534=a0_0xa01846,_0x520a3f={'UYClv':'Invalid\x20JSON\x20message','BrCYf':'livesync_client_error','IpUgu':_0x2b7534(0x8a),'XAMgq':'message','bMsIs':'close','nhUnR':'error'};_0x3bede0[_0x2b7534(0xe7)]=!![],_0x3bede0[_0x2b7534(0xef)]=new Set();const _0x2cde5=_0x139bb3[_0x2b7534(0x79)][_0x2b7534(0xa7)]||_0x139bb3[_0x2b7534(0x75)][_0x2b7534(0xa5)];this[_0x2b7534(0xc1)]['info']({'event':_0x520a3f[_0x2b7534(0xe5)],'ip':_0x2cde5},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x2cde5),_0x3bede0['on']('pong',()=>{_0x3bede0['isAlive']=!![];}),_0x3bede0['on'](_0x520a3f['XAMgq'],_0x33f733=>{const _0x218c01=_0x2b7534;try{const _0x20cdae=JSON[_0x218c01(0x9d)](_0x33f733['toString']());this[_0x218c01(0x9b)](_0x3bede0,_0x20cdae);}catch(_0x1a763c){this['_sendToClient'](_0x3bede0,{'type':'error','message':_0x520a3f['UYClv']});}}),_0x3bede0['on'](_0x520a3f[_0x2b7534(0xde)],()=>{const _0x26d218=_0x2b7534;this[_0x26d218(0xbf)](_0x3bede0),this['_logger']['debug']({'event':'livesync_client_disconnected','ip':_0x2cde5},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x2cde5);}),_0x3bede0['on'](_0x520a3f[_0x2b7534(0xae)],_0x256112=>{const _0x486251=_0x2b7534;this['_logger']['warn']({'event':_0x520a3f[_0x486251(0xcd)],'error':_0x256112[_0x486251(0x8e)]},'WebSocket\x20client\x20error:\x20'+_0x256112[_0x486251(0x8e)]),this['_removeClientFromAllChannels'](_0x3bede0);});}['_handleClientMessage'](_0x218867,_0xdbca2f){const _0x114d89=a0_0xa01846,_0x4d9757={'ZCqEG':'subscribe','QgxYj':_0x114d89(0x9f),'EDBsP':_0x114d89(0xf5)};switch(_0xdbca2f['type']){case _0x4d9757[_0x114d89(0xd3)]:this[_0x114d89(0xf2)](_0x218867,_0xdbca2f['channels']);break;case _0x4d9757[_0x114d89(0xda)]:this[_0x114d89(0xc3)](_0x218867,_0xdbca2f['channels']);break;case _0x4d9757[_0x114d89(0xa4)]:_0x218867[_0x114d89(0xe7)]=!![];break;default:this['_sendToClient'](_0x218867,{'type':'error','message':'Unknown\x20message\x20type:\x20'+_0xdbca2f[_0x114d89(0x9c)]});}}[a0_0xa01846(0xf2)](_0x5797eb,_0x1fd1aa){const _0x566dc7=a0_0xa01846,_0xf9fd60={'wLtpl':function(_0x524381,_0x40cb1f){return _0x524381!==_0x40cb1f;},'ZfnEi':function(_0x1de25d,_0x4e1218){return _0x1de25d>_0x4e1218;},'GzLtl':'subscribed','ixRGY':'livesync_subscribe'};if(!Array['isArray'](_0x1fd1aa)||_0x1fd1aa[_0x566dc7(0x7d)]===0x0){this['_sendToClient'](_0x5797eb,{'type':'error','message':_0x566dc7(0xe1)});return;}const _0x3e0a1d=[];for(const _0x2b1074 of _0x1fd1aa){if(_0xf9fd60['wLtpl'](typeof _0x2b1074,'string')||!_0x2b1074['includes'](':'))continue;!this['_subscriptions'][_0x566dc7(0xba)](_0x2b1074)&&this[_0x566dc7(0xdb)][_0x566dc7(0x90)](_0x2b1074,new Set()),this[_0x566dc7(0xdb)][_0x566dc7(0xa0)](_0x2b1074)[_0x566dc7(0x85)](_0x5797eb),_0x5797eb['subscribedChannels'][_0x566dc7(0x85)](_0x2b1074),_0x3e0a1d[_0x566dc7(0xd1)](_0x2b1074);}_0xf9fd60[_0x566dc7(0xe3)](_0x3e0a1d[_0x566dc7(0x7d)],0x0)&&(this[_0x566dc7(0x7c)](_0x5797eb,{'type':_0xf9fd60['GzLtl'],'channels':_0x3e0a1d,'timestamp':new Date()['toISOString']()}),this[_0x566dc7(0xc1)][_0x566dc7(0x88)]({'event':_0xf9fd60['ixRGY'],'channels':_0x3e0a1d},_0x566dc7(0xc5)+_0x3e0a1d['join'](',\x20')));}['_handleUnsubscribe'](_0x2f0d28,_0x83658d){const _0x355bfa=a0_0xa01846,_0x4534db={'jKjDe':function(_0x43ae6f,_0x56aa35){return _0x43ae6f>_0x56aa35;}};if(!Array['isArray'](_0x83658d))return;const _0x1bcac7=[];for(const _0x5d4cff of _0x83658d){this[_0x355bfa(0xdb)]['has'](_0x5d4cff)&&(this[_0x355bfa(0xdb)]['get'](_0x5d4cff)[_0x355bfa(0x80)](_0x2f0d28),this['_subscriptions'][_0x355bfa(0xa0)](_0x5d4cff)['size']===0x0&&this['_subscriptions'][_0x355bfa(0x80)](_0x5d4cff)),_0x2f0d28[_0x355bfa(0xef)][_0x355bfa(0x80)](_0x5d4cff),_0x1bcac7[_0x355bfa(0xd1)](_0x5d4cff);}_0x4534db[_0x355bfa(0x7b)](_0x1bcac7['length'],0x0)&&this[_0x355bfa(0x7c)](_0x2f0d28,{'type':_0x355bfa(0x8b),'channels':_0x1bcac7,'timestamp':new Date()[_0x355bfa(0xb2)]()});}[a0_0xa01846(0xbf)](_0xd8c84f){const _0x121d2b=a0_0xa01846;if(!_0xd8c84f[_0x121d2b(0xef)])return;for(const _0x5bd8d9 of _0xd8c84f[_0x121d2b(0xef)]){this[_0x121d2b(0xdb)][_0x121d2b(0xba)](_0x5bd8d9)&&(this[_0x121d2b(0xdb)]['get'](_0x5bd8d9)['delete'](_0xd8c84f),this[_0x121d2b(0xdb)][_0x121d2b(0xa0)](_0x5bd8d9)['size']===0x0&&this[_0x121d2b(0xdb)]['delete'](_0x5bd8d9));}_0xd8c84f['subscribedChannels']['clear']();}[a0_0xa01846(0x7c)](_0x2b769a,_0x35dbfd){if(_0x2b769a['readyState']===0x1)try{_0x2b769a['send'](JSON['stringify'](_0x35dbfd));}catch(_0x5156f9){}}[a0_0xa01846(0xbc)](_0x5c53a7){const _0x1c60a6=a0_0xa01846,_0x27f85d={'rVwFh':'ping','QXQOz':function(_0x23c4d0,_0x31a6e6){return _0x23c4d0*_0x31a6e6;}};this[_0x1c60a6(0xfd)]=setInterval(()=>{const _0x5696ce=_0x1c60a6;if(!this['_wss'])return;for(const _0x24c49a of this['_wss'][_0x5696ce(0xe4)]){if(!_0x24c49a[_0x5696ce(0xe7)]){this[_0x5696ce(0xbf)](_0x24c49a),_0x24c49a[_0x5696ce(0x92)]();continue;}_0x24c49a[_0x5696ce(0xe7)]=![],this[_0x5696ce(0x7c)](_0x24c49a,{'type':_0x27f85d['rVwFh'],'timestamp':new Date()[_0x5696ce(0xb2)]()});try{_0x24c49a[_0x5696ce(0xc6)]();}catch(_0xbfc08c){}}},_0x27f85d[_0x1c60a6(0x78)](_0x5c53a7,0x3e8));}['_setupRedisPublisher'](){const _0x21c1ab=a0_0xa01846,_0x4b7daa={'IBYDq':_0x21c1ab(0xf7),'LXwOq':'../../utils/redis-client','WrAWG':function(_0x20886e,_0x275291){return _0x20886e(_0x275291);},'angpq':'ioredis','lNsZZ':_0x21c1ab(0x96),'tptGa':function(_0x19eee0,_0x341396,_0x1dcd5e){return _0x19eee0(_0x341396,_0x1dcd5e);},'ZTAXO':function(_0x1992f9,_0x519000,_0x506827){return _0x1992f9(_0x519000,_0x506827);},'ygVcN':'livesync_redis_unavailable'};this[_0x21c1ab(0x91)]=![];try{try{const _0x15a9c6=require(_0x4b7daa['LXwOq']);this[_0x21c1ab(0xe9)]=_0x15a9c6['getClient']?_0x15a9c6[_0x21c1ab(0xfb)]():null;}catch(_0x288e02){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x4a32aa=_0x4b7daa[_0x21c1ab(0xb8)](require,_0x4b7daa[_0x21c1ab(0x82)]),_0x8d74ef={'host':process['env']['REDIS_HOST']||_0x4b7daa[_0x21c1ab(0xbb)],'port':_0x4b7daa['tptGa'](parseInt,process['env'][_0x21c1ab(0x76)],0xa)||0x18eb,'password':process[_0x21c1ab(0x84)][_0x21c1ab(0xdf)]||undefined,'db':_0x4b7daa[_0x21c1ab(0xb5)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x4a32aa(_0x8d74ef),this[_0x21c1ab(0x91)]=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x1b67fc=_0x21c1ab;this['_logger'][_0x1b67fc(0xd9)]({'event':_0x4b7daa['IBYDq']},_0x1b67fc(0xeb)),this[_0x1b67fc(0xe9)]=null;});}}catch(_0x32e1fb){this[_0x21c1ab(0xc1)]['warn']({'event':_0x4b7daa[_0x21c1ab(0xf0)],'error':_0x32e1fb['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x32e1fb[_0x21c1ab(0x8e)]);}}['_setupRedis'](){const _0x4486f1=a0_0xa01846,_0x4af453={'Nkbmt':'livesync_redis_subscribe_error','duvRt':'livesync_redis_subscriber_failed','cLgTB':'ioredis','HTzPq':_0x4486f1(0x96),'mbVCB':function(_0x59ab3b,_0x470eae,_0x2f534b){return _0x59ab3b(_0x470eae,_0x2f534b);},'yuMzp':'../../utils/redis-client'};this[_0x4486f1(0x91)]=![];try{const _0x5a292a=require(_0x4af453[_0x4486f1(0xb6)]),_0x4f6186={'host':process[_0x4486f1(0x84)][_0x4486f1(0x9e)]||_0x4af453['HTzPq'],'port':parseInt(process['env'][_0x4486f1(0x76)],0xa)||0x18eb,'password':process[_0x4486f1(0x84)][_0x4486f1(0xdf)]||undefined,'db':_0x4af453['mbVCB'](parseInt,process[_0x4486f1(0x84)][_0x4486f1(0xfc)],0xa)||0x0,'lazyConnect':!![]};try{const _0x213d02=require(_0x4af453['yuMzp']);this['_redisPublisher']=_0x213d02['getClient']?_0x213d02['getClient']():null;}catch(_0x363ff5){this[_0x4486f1(0xe9)]=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x5a292a(_0x4f6186),this[_0x4486f1(0x91)]=!![],this['_redisPublisher'][_0x4486f1(0xb4)]()[_0x4486f1(0x81)](()=>{const _0x1b52b8=_0x4486f1;this['_logger']['warn']({'event':'livesync_redis_publisher_failed'},_0x1b52b8(0xeb)),this[_0x1b52b8(0xe9)]=null;})),this[_0x4486f1(0xac)]=new _0x5a292a(_0x4f6186),this[_0x4486f1(0xac)]['connect']()[_0x4486f1(0xd7)](()=>{const _0x4ac8f3=_0x4486f1;this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x33780c=>{const _0x3e2cb1=a0_0x155b;if(_0x33780c){this['_logger'][_0x3e2cb1(0xe6)]({'event':_0x4af453['Nkbmt'],'error':_0x33780c[_0x3e2cb1(0x8e)]},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x33780c[_0x3e2cb1(0x8e)]);return;}this[_0x3e2cb1(0xc1)]['info']({'event':'livesync_redis_subscribed'},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this[_0x4ac8f3(0xac)]['on'](_0x4ac8f3(0x8e),(_0x4d2027,_0x2ef276)=>{const _0x156127=_0x4ac8f3;try{const _0x31e6a9=JSON['parse'](_0x2ef276);if(_0x31e6a9['workerId']===this[_0x156127(0xbe)])return;this[_0x156127(0x93)](_0x31e6a9[_0x156127(0x9a)],_0x31e6a9[_0x156127(0x8e)]);}catch(_0x1b6f63){}});})['catch'](()=>{const _0x19648f=_0x4486f1;this[_0x19648f(0xc1)]['warn']({'event':_0x4af453[_0x19648f(0x94)]},'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode'),this[_0x19648f(0xac)]=null;});}catch(_0x548406){this[_0x4486f1(0xc1)]['warn']({'event':_0x4486f1(0x7e),'error':_0x548406['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x548406[_0x4486f1(0x8e)]);}}[a0_0xa01846(0x93)](_0x38714d,_0x4c8f45){const _0x3c7adc=a0_0xa01846,_0x2bbfce={'VeYoY':_0x3c7adc(0xab),'RItTf':function(_0x1b2ce4,_0x175a8d){return _0x1b2ce4===_0x175a8d;},'mftVv':function(_0x10970e,_0x1074fc){return _0x10970e||_0x1074fc;}};if(!this['_wss'])return;const _0x1fa2f8=JSON[_0x3c7adc(0x98)]({'type':_0x2bbfce['VeYoY'],'channel':_0x38714d,'action':_0x4c8f45['action'],'data':_0x4c8f45['data'],'requestId':_0x4c8f45['requestId']||null,'timestamp':new Date()[_0x3c7adc(0xb2)]()}),[_0x3c2bd2]=_0x38714d[_0x3c7adc(0xec)](':');for(const [_0x51b2f7,_0x5aa689]of this['_subscriptions']){const _0x57eee2=_0x2bbfce['RItTf'](_0x51b2f7,_0x38714d),_0x1b7576=_0x51b2f7===_0x3c2bd2+':*';if(_0x2bbfce['mftVv'](_0x57eee2,_0x1b7576))for(const _0x33ca45 of _0x5aa689){if(_0x33ca45[_0x3c7adc(0x87)]===0x1)try{_0x33ca45[_0x3c7adc(0xcf)](_0x1fa2f8);}catch(_0x5290a3){}}}}}module[a0_0xa01846(0xd8)]=WebSocketBroadcaster;
@@ -1 +1 @@
1
- const a0_0x317f0e=a0_0x13cd;(function(_0x294cf7,_0x54dde9){const _0x14a7f6=a0_0x13cd,_0x26ef99=_0x294cf7();while(!![]){try{const _0x271e96=-parseInt(_0x14a7f6(0x158))/0x1*(-parseInt(_0x14a7f6(0x19a))/0x2)+parseInt(_0x14a7f6(0x189))/0x3+parseInt(_0x14a7f6(0x157))/0x4+parseInt(_0x14a7f6(0x16e))/0x5+parseInt(_0x14a7f6(0x151))/0x6*(-parseInt(_0x14a7f6(0x113))/0x7)+-parseInt(_0x14a7f6(0x146))/0x8+parseInt(_0x14a7f6(0x10c))/0x9*(-parseInt(_0x14a7f6(0x138))/0xa);if(_0x271e96===_0x54dde9)break;else _0x26ef99['push'](_0x26ef99['shift']());}catch(_0x287e91){_0x26ef99['push'](_0x26ef99['shift']());}}}(a0_0x13ef,0x92a7d));const {v7:uuidv7}=require('uuid'),path=require(a0_0x317f0e(0x186)),fs=require('fs')[a0_0x317f0e(0x178)],fsSync=require('fs'),redisHelper=require(a0_0x317f0e(0x15c)),{logger,logError}=require(a0_0x317f0e(0x124)),dbType=(process[a0_0x317f0e(0x174)]['DB_TYPE']||a0_0x317f0e(0x179))[a0_0x317f0e(0x109)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x5d5f56,_0x31f0a6)=>oracleDb[a0_0x317f0e(0x17c)](_0x5d5f56,_0x31f0a6);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0xdfb9b2,_0xe702c8)=>mysqlDb[a0_0x317f0e(0x17c)](_0xdfb9b2,_0xe702c8);}else executeQuery=require('../utils/db')[a0_0x317f0e(0x17c)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x317f0e(0x1a0)](){const _0x1f9f3c=a0_0x317f0e,_0x3529d7={'wLZVW':_0x1f9f3c(0x171),'TBKWu':'Export\x20service\x20initialized','afcUj':_0x1f9f3c(0x18e)};if(!this['_exportDir']){const _0x30cdfd=process[_0x1f9f3c(0x174)][_0x1f9f3c(0x143)]||_0x1f9f3c(0x147);this['_exportDir']=process['env'][_0x1f9f3c(0x154)]||path['join'](__dirname,'../../exports/'+_0x30cdfd);try{!fsSync[_0x1f9f3c(0x13f)](this[_0x1f9f3c(0x12a)])&&fsSync[_0x1f9f3c(0x165)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x3529d7['wLZVW'],'dir':this['_exportDir']},_0x3529d7[_0x1f9f3c(0x141)]);}catch(_0x2aa603){logError(_0x2aa603,{'event':_0x3529d7[_0x1f9f3c(0x182)]},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x1f9f3c(0x12a)];}[a0_0x317f0e(0x128)](_0x59dd97,_0x40c1cc=null){const _0x585e72=a0_0x317f0e,_0x10265d={'OxkOi':function(_0x1e2065,_0x3844bc){return _0x1e2065!==_0x3844bc;},'RaKPT':_0x585e72(0x164),'TuBFJ':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','egNxA':'utf8','glosH':_0x585e72(0x114)};if(!_0x59dd97||_0x10265d[_0x585e72(0x18c)](typeof _0x59dd97,_0x10265d['RaKPT']))return _0x59dd97;const _0x3e2403=_0x59dd97['trim']();if(!_0x3e2403[_0x585e72(0x111)](_0x585e72(0x17a)))return _0x3e2403;const _0x99a3c7=_0x3e2403[_0x585e72(0x11e)](/^file:/,'')['trim']();if(!_0x99a3c7)throw new Error(_0x10265d[_0x585e72(0x13a)]);const _0x30b122=_0x40c1cc||path[_0x585e72(0x133)](process['cwd'](),'payload'),_0x4ee7f5=path[_0x585e72(0x18f)](_0x30b122,_0x99a3c7);logger[_0x585e72(0x10e)]({'event':_0x585e72(0x117),'relativePath':_0x99a3c7,'baseDir':_0x30b122,'absolutePath':_0x4ee7f5},_0x585e72(0x15b)+_0x99a3c7);if(!fsSync[_0x585e72(0x13f)](_0x4ee7f5))throw new Error(_0x585e72(0x118)+_0x4ee7f5);try{const _0x29abeb=fsSync['readFileSync'](_0x4ee7f5,_0x10265d['egNxA']);if(!_0x29abeb||!_0x29abeb[_0x585e72(0x183)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x4ee7f5);return logger[_0x585e72(0x10e)]({'event':_0x10265d[_0x585e72(0x142)],'file':_0x4ee7f5,'queryLength':_0x29abeb[_0x585e72(0x153)]},_0x585e72(0x127)+_0x29abeb[_0x585e72(0x153)]+'\x20chars)'),_0x29abeb['trim']();}catch(_0x417764){if(_0x417764['code']===_0x585e72(0x187))throw new Error(_0x585e72(0x118)+_0x4ee7f5);throw new Error(_0x585e72(0x16a)+_0x417764['message']);}}['generateJobId'](){const _0x24025a=a0_0x317f0e,_0x1d68fc={'JErev':function(_0x13eb9c,_0x4ba8b8){return _0x13eb9c-_0x4ba8b8;},'xIIFB':function(_0x4367b9,_0x59dc43){return _0x4367b9<_0x59dc43;}},_0x2d5e7d=_0x24025a(0x14a),_0x162e36=Date[_0x24025a(0x173)]()[_0x24025a(0x15d)](0x24),_0xaa2849=uuidv7()[_0x24025a(0x11e)](/-/g,'')[_0x24025a(0x19b)](0x0,_0x1d68fc['JErev'](0xc,_0x162e36['length'])),_0xae79c6=(_0x162e36+_0xaa2849)['substring'](0x0,0xc);let _0x3bde6f='';for(let _0x1b7d59=0x0;_0x1d68fc[_0x24025a(0x14d)](_0x1b7d59,0xc);_0x1b7d59++){_0xae79c6[_0x1b7d59]?_0x3bde6f+=_0xae79c6[_0x1b7d59]:_0x3bde6f+=_0x2d5e7d[_0x24025a(0x161)](Math[_0x24025a(0x1a6)](Math['random']()*_0x2d5e7d['length']));}return _0x3bde6f;}async[a0_0x317f0e(0x16d)](_0x2efe20){const _0x41b460=a0_0x317f0e,_0x3aef40={'YUMaC':_0x41b460(0x1a4),'SxXgr':'Export\x20processing\x20failed','ARXHD':'pending','ePIYm':'Export\x20job\x20created'},_0x48d4c1=this['generateJobId'](),_0x43a4f4={'job_id':_0x48d4c1,'status':_0x3aef40[_0x41b460(0x12b)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x2efe20,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x48d4c1,_0x43a4f4),logger[_0x41b460(0x10e)]({'event':_0x41b460(0x191),'jobId':_0x48d4c1,'params':_0x2efe20},_0x3aef40[_0x41b460(0x1a5)]),this[_0x41b460(0x16c)](_0x48d4c1,_0x2efe20)[_0x41b460(0x12e)](_0x3bfd90=>{const _0x402d83=_0x41b460;logError(_0x3bfd90,{'event':_0x3aef40[_0x402d83(0x13b)],'jobId':_0x48d4c1},_0x3aef40['SxXgr']);}),{'job_id':_0x48d4c1,'status':_0x3aef40[_0x41b460(0x12b)]};}async[a0_0x317f0e(0x112)](_0x5e709a){const _0x16a089=a0_0x317f0e,_0xa1de96={'lrUjr':function(_0x401252,_0xaef3a9){return _0x401252===_0xaef3a9;}},_0x55c9c7=await redisHelper[_0x16a089(0x12c)](_0x5e709a);if(!_0x55c9c7)return{'success':![],'error':_0x16a089(0x13c)};return{'success':!![],'data':{'job_id':_0x55c9c7['job_id'],'status':_0x55c9c7['status'],'progress':_0x55c9c7[_0x16a089(0x196)],'total_rows':_0x55c9c7['total_rows'],'processed_rows':_0x55c9c7[_0x16a089(0x19e)],'file_url':_0xa1de96[_0x16a089(0x16b)](_0x55c9c7['status'],_0x16a089(0x10f))?_0x16a089(0x18a)+_0x55c9c7['params']['moduleName']+'/'+_0x55c9c7['params'][_0x16a089(0x123)]+_0x16a089(0x17f)+_0x5e709a:null,'error':_0x55c9c7['error']||null,'created_at':_0x55c9c7['created_at'],'completed_at':_0x55c9c7['completed_at']||null}};}async['processJob'](_0x4a2153,_0x52e873){const _0x548ef5=a0_0x317f0e,_0x51e88c={'beGsT':'Export\x20processing\x20started','ZiBsE':_0x548ef5(0x185),'RRoFp':function(_0x289162,_0x18d921,_0x5da6e6,_0x5b24fe){return _0x289162(_0x18d921,_0x5da6e6,_0x5b24fe);}};try{await redisHelper['updateJob'](_0x4a2153,{'status':_0x548ef5(0x184),'started_at':new Date()[_0x548ef5(0x168)]()}),logger[_0x548ef5(0x10e)]({'event':_0x548ef5(0x11a),'jobId':_0x4a2153},_0x51e88c[_0x548ef5(0x131)]);const _0x35d4bc=await this['fetchData'](_0x52e873);await redisHelper[_0x548ef5(0x167)](_0x4a2153,{'total_rows':_0x35d4bc[_0x548ef5(0x153)]});const _0x2e1211=await this[_0x548ef5(0x140)](_0x4a2153,_0x35d4bc,_0x52e873);await redisHelper[_0x548ef5(0x167)](_0x4a2153,{'status':'completed','progress':0x64,'file_path':_0x2e1211,'completed_at':new Date()[_0x548ef5(0x168)]()}),logger[_0x548ef5(0x10e)]({'event':_0x548ef5(0x188),'jobId':_0x4a2153,'rows':_0x35d4bc['length']},_0x51e88c['ZiBsE']);}catch(_0x36c8b1){_0x51e88c['RRoFp'](logError,_0x36c8b1,{'event':_0x548ef5(0x169),'jobId':_0x4a2153},_0x548ef5(0x18d)),await redisHelper[_0x548ef5(0x167)](_0x4a2153,{'status':'failed','error':_0x36c8b1['message'],'failed_at':new Date()[_0x548ef5(0x168)]()});}}async[a0_0x317f0e(0x197)](_0x55ca8d){const _0xcef3d1=a0_0x317f0e,_0x571c97={'SEoiY':function(_0x496187,_0x3e4ba6){return _0x496187||_0x3e4ba6;},'lgwTT':'tableName\x20and\x20columns\x20are\x20required','lsvlC':function(_0x26a218,_0x22cdcb){return _0x26a218+_0x22cdcb;},'cKvHH':_0xcef3d1(0x163),'KbuUL':'Using\x20custom\x20exportQuery','CdOVV':_0xcef3d1(0x126),'bMpRa':function(_0xffd3bd,_0x17fae8){return _0xffd3bd>_0x17fae8;},'OxoNp':'Fetching\x20data\x20from\x20database','ypdCg':function(_0x165bee,_0x388d4e){return _0x165bee===_0x388d4e;},'sPCXQ':'oracle','xVzCl':'export_fetch_complete','vkUrH':function(_0x31e567,_0x534c76,_0x26a0c0,_0x394816){return _0x31e567(_0x534c76,_0x26a0c0,_0x394816);},'XZckJ':_0xcef3d1(0x132)};try{const {tableName:_0x4ae2c3,columns:_0x4cb27d,exportQuery:_0xd9e928,where:_0x594d3a,sort_columns:_0x510a11}=_0x55ca8d;if(_0x571c97[_0xcef3d1(0x134)](!_0x4ae2c3,!_0x4cb27d)||_0x4cb27d['length']===0x0)throw new Error(_0x571c97['lgwTT']);const _0x3efe52=_0x571c97['lsvlC'](_0x4ae2c3[_0xcef3d1(0x11e)](/\./g,'_'),_0x571c97[_0xcef3d1(0x11f)]);let _0x4eeebc;if(_0xd9e928&&_0xd9e928['trim']()){let _0xcd5758=_0xd9e928;_0xd9e928['trim']()['startsWith'](_0xcef3d1(0x17a))&&(_0xcd5758=this['resolveExportQuery'](_0xd9e928)),_0x4eeebc='WITH\x20'+_0x3efe52+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0xcd5758+'\x0a)',_0x4eeebc+=_0xcef3d1(0x148)+_0x3efe52,logger['info']({'event':'export_using_custom_query','query':_0xcd5758[_0xcef3d1(0x19b)](0x0,0x64)},_0x571c97[_0xcef3d1(0x130)]);}else{const _0x49b7e9=_0x4cb27d['map'](_0x399911=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x399911)['join'](',');_0x4eeebc=_0xcef3d1(0x105)+_0x3efe52+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x49b7e9+'\x0a\x20\x20\x20\x20FROM\x20'+_0x4ae2c3+'\x0a)',_0x4eeebc+=_0xcef3d1(0x148)+_0x3efe52,logger[_0xcef3d1(0x10e)]({'event':_0x571c97['CdOVV'],'tableName':_0x4ae2c3,'columnCount':_0x4cb27d[_0xcef3d1(0x153)]},_0xcef3d1(0x162));}if(_0x594d3a){const _0x37d146=this[_0xcef3d1(0x175)](_0x594d3a);_0x37d146&&(_0x4eeebc+='\x0aWHERE\x20'+_0x37d146);}if(_0x510a11&&_0x571c97[_0xcef3d1(0x119)](_0x510a11[_0xcef3d1(0x153)],0x0)){const _0x45a826=this[_0xcef3d1(0x180)](_0x510a11);_0x45a826&&(_0x4eeebc+=_0xcef3d1(0x14f)+_0x45a826);}logger['info']({'event':'export_fetch_start','query':_0x4eeebc[_0xcef3d1(0x19b)](0x0,0xc8)},_0x571c97[_0xcef3d1(0x156)]);const _0x1e37ce=await executeQuery(_0x4eeebc);let _0x274eb3=_0x1e37ce;return _0x571c97[_0xcef3d1(0x176)](dbType,_0x571c97['sPCXQ'])&&_0x1e37ce&&_0x1e37ce[_0xcef3d1(0x153)]>0x0&&(_0x274eb3=_0x1e37ce['map'](_0x27a831=>{const _0x567ec7=_0xcef3d1,_0xad2c2b={};for(const [_0x3b8fcf,_0x341cb4]of Object[_0x567ec7(0x129)](_0x27a831)){_0xad2c2b[_0x3b8fcf[_0x567ec7(0x109)]()]=_0x341cb4;}return _0xad2c2b;})),logger['info']({'event':_0x571c97[_0xcef3d1(0x195)],'rows':_0x274eb3[_0xcef3d1(0x153)]},_0xcef3d1(0x11d)),_0x274eb3;}catch(_0x5e7ee4){_0x571c97['vkUrH'](logError,_0x5e7ee4,{'event':_0xcef3d1(0x193)},_0x571c97['XZckJ']);throw _0x5e7ee4;}}['sanitizeValue'](_0x157774){const _0x2cea3a=a0_0x317f0e,_0x1c1dfc={'YbFjn':'string'};if(typeof _0x157774===_0x1c1dfc[_0x2cea3a(0x18b)])return _0x157774['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x2cea3a(0x139)](_0x157774))return _0x157774['map'](_0x14b2bd=>this['sanitizeValue'](_0x14b2bd));}return _0x157774;}['buildWhereClause'](_0x351dc0){const _0x27ee1a=a0_0x317f0e,_0x37e831={'WmCZR':function(_0x2dff25,_0x317429){return _0x2dff25||_0x317429;},'ywOwm':'invalid_condition','cbJWM':_0x27ee1a(0x199),'cFRkq':'string','CapOf':'LIKE','HFXUA':_0x27ee1a(0x1a2),'tXetu':function(_0xfe3684,_0x1e7482){return _0xfe3684===_0x1e7482;}};if(!_0x351dc0||!_0x351dc0['conditions']||_0x351dc0[_0x27ee1a(0x12f)][_0x27ee1a(0x153)]===0x0)return'';const {logic:_0x4b9045,conditions:_0x382bfb}=_0x351dc0,_0x57df6e=_0x4b9045&&_0x4b9045[_0x27ee1a(0x150)]()==='OR'?'\x20OR\x20':_0x27ee1a(0x115),_0x1c7d44=_0x382bfb[_0x27ee1a(0x177)](_0x57874b=>{const _0xbc8ceb=_0x27ee1a,_0x146885={'FTnoY':function(_0x4810c4,_0x5b19af){return _0x4810c4===_0x5b19af;}},{key:_0x30960e,operator:_0x18f4af,value:_0x265bc0,sensitive:_0x774531}=_0x57874b;if(_0x37e831['WmCZR'](!_0x30960e,!_0x18f4af))return logger[_0xbc8ceb(0x190)]({'event':_0x37e831[_0xbc8ceb(0x172)],'condition':_0x57874b},_0x37e831['cbJWM']),null;const _0x14c834=this['sanitizeValue'](_0x265bc0),_0x1798a7=_0x774531!==undefined?_0x774531:!![];let _0x2346b4=_0x30960e,_0xa927f1=_0x14c834;!_0x1798a7&&(_0x2346b4='UPPER('+_0x30960e+')',typeof _0x265bc0===_0x37e831['cFRkq']&&(_0xa927f1=_0x265bc0[_0xbc8ceb(0x150)]()));const _0x192236=typeof _0xa927f1===_0x37e831[_0xbc8ceb(0x1a1)]?'\x27'+_0xa927f1[_0xbc8ceb(0x11e)](/'/g,'\x27\x27')+'\x27':_0xa927f1;switch(_0x18f4af['toUpperCase']()){case'=':case'!=':case'<>':return _0x2346b4+'\x20'+_0x18f4af+'\x20'+_0x192236;case'>':case'<':case'>=':case'<=':const _0x42599a=typeof _0x14c834==='string'?'\x27'+_0x14c834['replace'](/'/g,'\x27\x27')+'\x27':_0x14c834;return _0x30960e+'\x20'+_0x18f4af+'\x20'+_0x42599a;case _0x37e831['CapOf']:case'NOT\x20LIKE':return _0x2346b4+'\x20'+_0x18f4af+'\x20'+_0x192236;case'IN':if(Array['isArray'](_0x14c834)){let _0x3f0795;return!_0x1798a7?_0x3f0795=_0x14c834['map'](_0x323406=>{const _0xe46be8=_0xbc8ceb,_0x29319c=_0x146885[_0xe46be8(0x136)](typeof _0x323406,'string')?_0x323406[_0xe46be8(0x150)]():_0x323406;return typeof _0x29319c==='string'?'\x27'+_0x29319c[_0xe46be8(0x11e)](/'/g,'\x27\x27')+'\x27':_0x29319c;})['join'](',\x20'):_0x3f0795=_0x14c834['map'](_0xd04dcf=>typeof _0xd04dcf==='string'?'\x27'+_0xd04dcf['replace'](/'/g,'\x27\x27')+'\x27':_0xd04dcf)[_0xbc8ceb(0x133)](',\x20'),_0x2346b4+'\x20IN\x20('+_0x3f0795+')';}return _0x2346b4+_0xbc8ceb(0x192)+_0x192236+')';case'IS\x20NULL':return _0x30960e+'\x20IS\x20NULL';case _0xbc8ceb(0x10b):return _0x30960e+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':'unknown_operator','operator':_0x18f4af},_0x37e831[_0xbc8ceb(0x145)]);return _0x2346b4+'\x20=\x20'+_0x192236;}})[_0x27ee1a(0x125)](_0x16241e=>_0x16241e!==null);if(_0x37e831['tXetu'](_0x1c7d44['length'],0x0))return'';return _0x1c7d44['join'](_0x57df6e);}['buildOrderByClause'](_0x5814e4){const _0x3d5008=a0_0x317f0e,_0x10a395={'AZbZY':_0x3d5008(0x13e),'TyRge':'Skipping\x20invalid\x20sort\x20column','lbNMj':function(_0x6b8257,_0x42c29e){return _0x6b8257===_0x42c29e;},'QoifR':'DESC','wgROi':_0x3d5008(0x152)};if(!_0x5814e4||_0x5814e4['length']===0x0)return'';const _0x25a012=_0x5814e4[_0x3d5008(0x177)](_0x5d8360=>{const _0x288c8a=_0x3d5008,{column:_0x13f092,direction:_0x45528b}=_0x5d8360;if(!_0x13f092)return logger['warn']({'event':_0x10a395['AZbZY'],'item':_0x5d8360},_0x10a395[_0x288c8a(0x12d)]),null;const _0x562331=_0x45528b&&_0x10a395['lbNMj'](_0x45528b['toUpperCase'](),_0x10a395['QoifR'])?_0x10a395[_0x288c8a(0x10d)]:_0x10a395[_0x288c8a(0x13d)];return _0x13f092+'\x20'+_0x562331;})[_0x3d5008(0x125)](_0x5b20a2=>_0x5b20a2!==null);if(_0x25a012[_0x3d5008(0x153)]===0x0)return'';return _0x25a012[_0x3d5008(0x133)](',\x20');}async[a0_0x317f0e(0x140)](_0xa32ee3,_0x2ea4d4,_0x4f7abf){const _0x382227=a0_0x317f0e,_0x5aa912={'MLqEz':function(_0x31a09b,_0xe54277){return _0x31a09b/_0xe54277;},'cbrdQ':function(_0x18804c,_0x3061bf){return _0x18804c(_0x3061bf);},'IdoYr':_0x382227(0x17d),'IuGpt':_0x382227(0x15f),'lLgkM':function(_0x27b904,_0x56dc0a){return _0x27b904>_0x56dc0a;},'yUZlw':'excel_columns_from_request','Dcpuw':'excel_columns_fallback','ROTWi':_0x382227(0x107),'LFhPK':_0x382227(0x122)},_0x3a800b=_0x5aa912[_0x382227(0x11b)](require,_0x5aa912[_0x382227(0x144)]),_0x5899d2=new _0x3a800b(),_0x7d8388=_0x4f7abf['filename']?_0x4f7abf['filename']+'-'+_0xa32ee3:_0x382227(0x149)+_0xa32ee3,_0x248746=path['join'](this['exportDir'],_0x7d8388+'.xlsx');let _0x1fdaec=_0x4f7abf['columns'];const _0x4c5ce3=_0x4f7abf['exportQuery']&&_0x4f7abf[_0x382227(0x106)]['trim'](),_0x4ddb39=_0x1fdaec&&_0x1fdaec['length']===0x1&&(_0x1fdaec[0x0]==='*'||_0x1fdaec[0x0][_0x382227(0x109)]()==='all');if(_0x2ea4d4[_0x382227(0x153)]>0x0){const _0x347f5b=Object[_0x382227(0x135)](_0x2ea4d4[0x0]);if(_0x4c5ce3)_0x1fdaec=_0x347f5b,logger['info']({'event':_0x5aa912[_0x382227(0x19d)],'columns':_0x1fdaec},_0x382227(0x198)+_0x1fdaec[_0x382227(0x153)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x4ddb39)_0x1fdaec=_0x347f5b,logger[_0x382227(0x10e)]({'event':'excel_columns_select_all','columns':_0x1fdaec},_0x382227(0x116)+_0x1fdaec['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x1fdaec&&_0x5aa912['lLgkM'](_0x1fdaec[_0x382227(0x153)],0x0)){const _0x4b32a2=_0x1fdaec['filter'](_0x115f20=>_0x347f5b[_0x382227(0x15a)](_0x115f20));_0x5aa912['lLgkM'](_0x4b32a2['length'],0x0)?(_0x1fdaec=_0x4b32a2,logger[_0x382227(0x10e)]({'event':_0x5aa912[_0x382227(0x137)],'requestedColumns':_0x4f7abf['columns'],'validColumns':_0x1fdaec},_0x382227(0x198)+_0x1fdaec[_0x382227(0x153)]+_0x382227(0x155))):(_0x1fdaec=_0x347f5b,logger['warn']({'event':_0x5aa912['Dcpuw'],'requestedColumns':_0x4f7abf['columns'],'availableColumns':_0x347f5b},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x347f5b['length']+_0x382227(0x15e)));}else _0x1fdaec=_0x347f5b,logger['info']({'event':_0x5aa912[_0x382227(0x166)],'columns':_0x1fdaec},'Using\x20'+_0x1fdaec['length']+'\x20columns\x20from\x20query\x20result');}}}else logger[_0x382227(0x10e)]({'event':_0x5aa912[_0x382227(0x17b)],'columns':_0x1fdaec},_0x382227(0x198)+(_0x1fdaec?.['length']||0x0)+_0x382227(0x1a3));return await _0x5899d2[_0x382227(0x181)]({'data':_0x2ea4d4,'columns':_0x1fdaec,'columnFormats':_0x4f7abf[_0x382227(0x14b)]||null,'fieldLabels':_0x4f7abf['fieldLabels']||null,'filePath':_0x248746,'onProgress':async _0x34a4a5=>{const _0x47963e=_0x382227;await redisHelper[_0x47963e(0x167)](_0xa32ee3,{'progress':Math['round'](_0x34a4a5),'processed_rows':Math[_0x47963e(0x194)](_0x5aa912['MLqEz'](_0x34a4a5,0x64)*_0x2ea4d4['length'])});}}),_0x248746;}async['getFilePath'](_0x27065f){const _0x5a8729=a0_0x317f0e,_0x37c7b6={'Gpfxs':function(_0x19e8f5,_0x4e0096){return _0x19e8f5!==_0x4e0096;},'hyaMr':_0x5a8729(0x10f),'zrMAm':'export_file_not_found','BIpQE':'Export\x20file\x20not\x20found'},_0x350764=await redisHelper['getJob'](_0x27065f);if(!_0x350764||_0x37c7b6[_0x5a8729(0x121)](_0x350764[_0x5a8729(0x14c)],_0x37c7b6[_0x5a8729(0x120)]))return null;try{return await fs['access'](_0x350764['file_path']),_0x350764[_0x5a8729(0x11c)];}catch(_0x11fcae){return logError(_0x11fcae,{'event':_0x37c7b6['zrMAm'],'jobId':_0x27065f,'path':_0x350764['file_path']},_0x37c7b6['BIpQE']),null;}}async[a0_0x317f0e(0x1a7)](){const _0x4d7dfa=a0_0x317f0e,_0x5ee818={'wYVMU':function(_0x5c7c3a,_0x2f9a20){return _0x5c7c3a/_0x2f9a20;},'aEYuh':function(_0x463caf,_0x2d247b){return _0x463caf*_0x2d247b;},'WQNEf':function(_0x3faebd,_0x351a85){return _0x3faebd>_0x351a85;},'BCJWf':'Export\x20file\x20deleted','MPTtp':'export_file_delete_error','zLUtR':_0x4d7dfa(0x16f)};logger['info']({'event':_0x4d7dfa(0x10a)},'Starting\x20export\x20cleanup');const _0x3f35e9=await redisHelper['getAllJobs']();let _0x49a2c0=0x0;for(const _0x142a32 of _0x3f35e9){const _0x20321=new Date(_0x142a32['created_at']),_0x1b3ce4=new Date(),_0x14747c=_0x5ee818[_0x4d7dfa(0x14e)](_0x1b3ce4-_0x20321,_0x5ee818['aEYuh'](0x3e8*0x3c,0x3c));if(_0x5ee818[_0x4d7dfa(0x159)](_0x14747c,0x1)){if(_0x142a32[_0x4d7dfa(0x11c)])try{await fs[_0x4d7dfa(0x110)](_0x142a32['file_path']),logger['info']({'event':'export_file_deleted','path':_0x142a32[_0x4d7dfa(0x11c)]},_0x5ee818[_0x4d7dfa(0x19c)]);}catch(_0x1859ff){logger[_0x4d7dfa(0x190)]({'event':_0x5ee818[_0x4d7dfa(0x108)],'path':_0x142a32['file_path'],'error':_0x1859ff[_0x4d7dfa(0x17e)]},_0x5ee818['zLUtR']);}await redisHelper[_0x4d7dfa(0x170)](_0x142a32['job_id']),_0x49a2c0++;}}return logger['info']({'event':_0x4d7dfa(0x19f),'deleted':_0x49a2c0},'Export\x20cleanup\x20completed'),_0x49a2c0;}}function a0_0x13cd(_0x1879e1,_0x366913){_0x1879e1=_0x1879e1-0x105;const _0x13ef36=a0_0x13ef();let _0x13cd95=_0x13ef36[_0x1879e1];if(a0_0x13cd['KQvLMM']===undefined){var _0x2d46d7=function(_0x5da762){const _0x1a74f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x575753='',_0x59b90c='';for(let _0x5dac3d=0x0,_0x44fcae,_0xa84ae6,_0x5d007a=0x0;_0xa84ae6=_0x5da762['charAt'](_0x5d007a++);~_0xa84ae6&&(_0x44fcae=_0x5dac3d%0x4?_0x44fcae*0x40+_0xa84ae6:_0xa84ae6,_0x5dac3d++%0x4)?_0x575753+=String['fromCharCode'](0xff&_0x44fcae>>(-0x2*_0x5dac3d&0x6)):0x0){_0xa84ae6=_0x1a74f5['indexOf'](_0xa84ae6);}for(let _0x2ba4ed=0x0,_0x51c3e1=_0x575753['length'];_0x2ba4ed<_0x51c3e1;_0x2ba4ed++){_0x59b90c+='%'+('00'+_0x575753['charCodeAt'](_0x2ba4ed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59b90c);};a0_0x13cd['vDiHzx']=_0x2d46d7,a0_0x13cd['IWUIuz']={},a0_0x13cd['KQvLMM']=!![];}const _0x3a2d1e=_0x13ef36[0x0],_0xb209c=_0x1879e1+_0x3a2d1e,_0x1523ba=a0_0x13cd['IWUIuz'][_0xb209c];return!_0x1523ba?(_0x13cd95=a0_0x13cd['vDiHzx'](_0x13cd95),a0_0x13cd['IWUIuz'][_0xb209c]=_0x13cd95):_0x13cd95=_0x1523ba,_0x13cd95;}function a0_0x13ef(){const _0x5a3dab=['rLrUB1K','EvvABhC','mteWsMfus1bQ','AxnbCNjHEq','vhvcrKO','wvvnyum','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','D2Dst2K','Aw52ywXPzf9ZB3j0x2nVBhvTBG','zxHPC3rZu3LUyW','z2vUzxjHDgvfEgnLBa','vejlv3u','z2XVC0G','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','swrVwxi','sezyvue','mtG4nZy1nLPXAuHLAq','zgvMyxvSDa','cLnftevdvcaQiezst00G','zxHWB3j0lq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','y29SDw1UrM9YBwf0CW','C3rHDhvZ','EeLjrKi','D1Lwtvu','cK9srevsiejzia','Dg9vChbLCKnHC2u','mJC2ndiZnKvgA0PnCq','qvnd','BgvUz3rO','rvHqt1jux0rjuG','ignVBhvTBNmGzNjVBsbYzxf1zxn0','t3HVtNa','mZqXotqYnhPcveDODG','mtG4odmXCLj3B2PR','v1forwy','Aw5JBhvKzxm','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','Dg9tDhjPBMC','ignVBhvTBNm','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','zxHWB3j0CW','y2HHCKf0','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','x2rHDge','C3rYAw5N','BwTKAxjtEw5J','uK9uv2K','DxbKyxrLsM9I','Dg9ju09tDhjPBMC','zxHWB3j0x2zHAwXLza','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','BhjvANi','ChjVy2vZC0PVyG','y3jLyxrLsM9I','mtq3mtK5nxn0ANzuwG','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','zgvSzxrLsM9I','zxHWB3j0x3nLCNzPy2vFAw5PDa','ExDpD20','BM93','zw52','yNvPBgrxAgvYzunSyxvZzq','ExbKq2C','BwfW','ChjVBwLZzxm','Cg9ZDgDYzxnXBa','zMLSztO','tezOueS','zxHLy3v0zvf1zxj5','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','BwvZC2fNzq','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','yNvPBgrpCMrLCKj5q2XHDxnL','z2vUzxjHDgu','ywzJvwO','DhjPBq','ChjVy2vZC2LUzW','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','Cgf0Aa','ru5pru5u','zxHWB3j0x2nVBxbSzxrLza','mZm5ntG4nKrfvfn4EG','l2fWAs8','wwjgAM4','t3HRt2K','rxHWB3j0igzHAwXLza','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','CMvZB2X2zq','D2fYBG','zxHWB3j0x2PVyL9JCMvHDgvK','ieLoicG','zxHWB3j0x2zLDgnOx2vYCM9Y','CM91BMq','Efz6q2W','ChjVz3jLC3m','zMv0y2HeyxrH','vxnPBMCG','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','ogHmDK9LzG','C3vIC3rYAw5N','qKnkv2y','sxvhChq','ChjVy2vZC2vKx3jVD3m','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','zxHWB3j0rgLY','y0zsA3e','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zvbjww0','zMXVB3i','y2XLyw51Ca','v0Lusca','zxHWB3j0uxvLCNK','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','tvbuDha','Dg9mB3DLCKnHC2u','zxHWB3j0x2nSzwfUDxbFC3rHCNq','svmGtK9uie5vteW','mtqYmJK2m05Xv2fWza','uw9PzLi','Aw5MBW','y29TCgXLDgvK','Dw5SAw5R','C3rHCNrZv2L0Aa','z2v0sM9Iu3rHDhvZ','n0XhC0jcCq','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','ieforca','vxnPBMCGywXSia','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','yK1WuMe','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','y2jYzfe','zMLSzv9WyxrO','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','CMvWBgfJzq','y0T2seG','AhLHtxi','r3bMEhm','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','zw5KCg9PBNroyw1L','lI4VDxrPBhmVBg9Nz2vY','zMLSDgvY','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','CMvZB2X2zuv4Cg9YDff1zxj5','zw50CMLLCW','x2v4Cg9YDerPCG','qvjyseq','z2v0sM9I','vhLsz2u','y2f0y2G','y29UzgL0Aw9UCW','s2j1vuW','yMvhC1q','rMfPBgvKihrVigzLDgnOigrHDge','AM9PBG','u0vVAvK','A2v5CW'];a0_0x13ef=function(){return _0x5a3dab;};return a0_0x13ef();}module[a0_0x317f0e(0x160)]=new ExportService();
1
+ const a0_0x45dddd=a0_0x1019;function a0_0x1019(_0x5f41fb,_0x5bd0ea){_0x5f41fb=_0x5f41fb-0x15b;const _0x58e30b=a0_0x58e3();let _0x1019c5=_0x58e30b[_0x5f41fb];if(a0_0x1019['PGHBvp']===undefined){var _0x23e14b=function(_0x19253f){const _0x3ccc3c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb3c1dd='',_0x13336f='';for(let _0x452cc6=0x0,_0x263d24,_0x5d2db9,_0x2f6b26=0x0;_0x5d2db9=_0x19253f['charAt'](_0x2f6b26++);~_0x5d2db9&&(_0x263d24=_0x452cc6%0x4?_0x263d24*0x40+_0x5d2db9:_0x5d2db9,_0x452cc6++%0x4)?_0xb3c1dd+=String['fromCharCode'](0xff&_0x263d24>>(-0x2*_0x452cc6&0x6)):0x0){_0x5d2db9=_0x3ccc3c['indexOf'](_0x5d2db9);}for(let _0x59a9dd=0x0,_0x2eaea9=_0xb3c1dd['length'];_0x59a9dd<_0x2eaea9;_0x59a9dd++){_0x13336f+='%'+('00'+_0xb3c1dd['charCodeAt'](_0x59a9dd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13336f);};a0_0x1019['HHcZYb']=_0x23e14b,a0_0x1019['xchOkW']={},a0_0x1019['PGHBvp']=!![];}const _0x51f00e=_0x58e30b[0x0],_0xc1cfa4=_0x5f41fb+_0x51f00e,_0x3a43c7=a0_0x1019['xchOkW'][_0xc1cfa4];return!_0x3a43c7?(_0x1019c5=a0_0x1019['HHcZYb'](_0x1019c5),a0_0x1019['xchOkW'][_0xc1cfa4]=_0x1019c5):_0x1019c5=_0x3a43c7,_0x1019c5;}function a0_0x58e3(){const _0xec8b42=['z2v0rMLSzvbHDgG','iefticGkicaGia','CMrWy3C','zMXVB3i','vxnPBMCGywXSia','ignVBhvTBNm','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','Aw5MBW','AM9PBG','y29UzgL0Aw9UCW','zxjYB3i','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','zxHWB3j0uxvLCNK','zxHWB3j0x2PVyL9JCMvHDgvK','mZGXnZq1meH4rxfICq','DxvPza','mte5mJjqvvbNALm','zxHWB3j0x2zLDgnOx2vYCM9Y','zxHWB3j0x2zLDgnOx3n0yxj0','ChjVBwLZzxm','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','A2vXz2K','mZm3nJK5mMvgwe5syW','z2vUzxjHDgvkB2jjza','y2vouvy','CMvZB2X2zq','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','zxHWB3j0lq','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','CMvZB2X2zuv4Cg9YDff1zxj5','zw52','CgfYyw1Z','u3nmvMK','mti5odC5oufWC3zurG','vNbOvha','y29SDw1UrM9YBwf0CW','zxHWB3j0x2zPBgvFzgvSzxrLza','BLzvtfq','ntu3nZG0yNvyEK1w','y2XLyw51Ca','BwfW','x2v4Cg9YDerPCG','Dg9mB3DLCKnHC2u','Egrqv1a','zxHPC3rZu3LUyW','B21Hq3i','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','lI4VlI4VzxHWB3j0CY8','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','D2fYBG','BxLZCwW','t3DWEM8','zMLSzv9WyxrO','cLnftevdvcaQiezst00G','B0L5teC','u3zpwvG','mJyYnti5nhrzBMvVua','CKfSC3a','CMvWBgfJzq','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','rvHqt1jux0rjuG','ieLtie5pvcbovuXm','ieLtie5vteW','C3vIC3rYAw5N','C2v0sM9I','swDLsKi','DxbKyxrLsM9I','DLDJD3y','zw50CMLLCW','zM5mwMC','BwvZC2fNzq','z2v0qwXSsM9ICW','z2v0sM9I','ChjVy2vZC2LUzW','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','tgfRvwG','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','wM56seW','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','svmGtK9uie5vteW','Dw5SAw5R','AxnbCNjHEq','y29TCgXLDgvK','C3rHCNrZv2L0Aa','Cgf5Bg9Hza','lI4VDxrPBhmVzgi','id0G','zxHWB3j0x2zPBgvFBM90x2zVDw5K','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','nJiXotjhuer0A2m','ieforca','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','rwXjr2G','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','C3rHDhvZ','lI4VDxrPBhmVzgiTB3jHy2XL','z2vUzxjHDgu','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','D0zMCu0','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','vvPWAKy','AwjvzgW','yNvPBgrxAgvYzunSyxvZzq','zMLSDgvY','z3bgENG','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','tgPIDwu','zMLSzw5HBwu','Dg9ju09tDhjPBMC','zhnAuhK','C2fUAxrPEMvwywX1zq','BMzOu3q','Dg9kveO','rxHWB3j0igzPBguGBM90igzVDw5K','zxHLy3v0zvf1zxj5','yNvPBgrpCMrLCKj5q2XHDxnL','rMfPBgvKihrVigzLDgnOigrHDge','zxHWB3j0x2nVBxbSzxrLza','Dg9vChbLCKnHC2u','cLDirvjfia','BM93','teLlrq','BgvUz3rO','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','y29SDw1UCW','AM9Ix2LK','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','AKHZrvi','zfjxAhq','r0LdzMq','ruTzAfe','C2viDLq','zMLLBgrmywjLBhm','zxHWB3j0CW','y3jLyxrLzf9HDa','y2HHCKf0','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','BNjQtM0','s09SB2C','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','AefMDvq','zxHWB3j0x3nLCNzPy2vFAw5PDa','cIaGicaGicaG','DxrMoa','EMPwALu','tfHwDfG','ignVBhvTBNmGzNjVBsbYzxf1zxn0','Bw9KDwXLtMfTzq','y29Kzq','v0Lusca','tK9uieXjs0u','B216uMq','DhjPBq','ndbpELLzqwG','zw5KCg9PBNroyw1L','z2vUzxjHDgvfEgnLBa','y3jLyxrLsM9I','ieLoicG','vxnPBMCG','zMLSztO','ugjJr20','wu15yxC','C3rYAw5N','sgPXDu4'];a0_0x58e3=function(){return _0xec8b42;};return a0_0x58e3();}(function(_0x2816d7,_0x401080){const _0x330064=a0_0x1019,_0x273161=_0x2816d7();while(!![]){try{const _0x13617b=-parseInt(_0x330064(0x190))/0x1+parseInt(_0x330064(0x1a7))/0x2+-parseInt(_0x330064(0x1a2))/0x3+parseInt(_0x330064(0x1db))/0x4+-parseInt(_0x330064(0x18e))/0x5+-parseInt(_0x330064(0x196))/0x6+-parseInt(_0x330064(0x1b9))/0x7*(-parseInt(_0x330064(0x175))/0x8);if(_0x13617b===_0x401080)break;else _0x273161['push'](_0x273161['shift']());}catch(_0x3fc4b4){_0x273161['push'](_0x273161['shift']());}}}(a0_0x58e3,0x61489));const {v7:uuidv7}=require(a0_0x45dddd(0x18f)),path=require('path'),fs=require('fs')[a0_0x45dddd(0x193)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x45dddd(0x1e1));executeQuery=(_0x47c5b3,_0xa35f1d)=>oracleDb['executeQuery'](_0x47c5b3,_0xa35f1d);}else{if(dbType===a0_0x45dddd(0x1b3)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1f970a,_0x474906)=>mysqlDb[a0_0x45dddd(0x1f7)](_0x1f970a,_0x474906);}else executeQuery=require(a0_0x45dddd(0x1d7))['executeQuery'];}class ExportService{constructor(){const _0x1f604b=a0_0x45dddd;this[_0x1f604b(0x1aa)]=null;}get['exportDir'](){const _0x2cc675=a0_0x45dddd,_0x1713f2={'YMyaw':'default','SvOYX':'Export\x20service\x20initialized','nVULT':function(_0x181b52,_0x342911,_0x5ab020,_0x19a1cc){return _0x181b52(_0x342911,_0x5ab020,_0x19a1cc);},'jHsER':'export_service_init_error','oIyLG':_0x2cc675(0x1eb)};if(!this['_exportDir']){const _0x2f211c=process['env']['RESTFORGE_PROJECT_NAME']||_0x1713f2[_0x2cc675(0x17d)];this['_exportDir']=process[_0x2cc675(0x19f)][_0x2cc675(0x1bd)]||path['join'](__dirname,_0x2cc675(0x1b0)+_0x2f211c);try{!fsSync['existsSync'](this[_0x2cc675(0x1aa)])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger[_0x2cc675(0x187)]({'event':_0x2cc675(0x169),'dir':this[_0x2cc675(0x1aa)]},_0x1713f2[_0x2cc675(0x1b8)]);}catch(_0x5ca20b){_0x1713f2[_0x2cc675(0x1a6)](logError,_0x5ca20b,{'event':_0x1713f2[_0x2cc675(0x15b)]},_0x1713f2[_0x2cc675(0x1b7)]);}}return this[_0x2cc675(0x1aa)];}['resolveExportQuery'](_0x2b06b6,_0x3fc7d4=null){const _0x3bb8f9=a0_0x45dddd,_0x16afbc={'zBFvN':function(_0xb2e8ed,_0x31351d){return _0xb2e8ed!==_0x31351d;},'Owpzo':'string','ibUdl':_0x3bb8f9(0x17b),'qtmVe':'export_query_file_resolve','NhIfF':_0x3bb8f9(0x16b)};if(!_0x2b06b6||_0x16afbc['zBFvN'](typeof _0x2b06b6,_0x16afbc[_0x3bb8f9(0x1b4)]))return _0x2b06b6;const _0x3c43a7=_0x2b06b6['trim']();if(!_0x3c43a7['startsWith'](_0x16afbc[_0x3bb8f9(0x1e7)]))return _0x3c43a7;const _0x303d39=_0x3c43a7['replace'](/^file:/,'')['trim']();if(!_0x303d39)throw new Error('Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty');const _0x213809=_0x3fc7d4||path[_0x3bb8f9(0x188)](process['cwd'](),_0x3bb8f9(0x1d6)),_0x4eafea=path[_0x3bb8f9(0x199)](_0x213809,_0x303d39);logger[_0x3bb8f9(0x187)]({'event':_0x16afbc['qtmVe'],'relativePath':_0x303d39,'baseDir':_0x213809,'absolutePath':_0x4eafea},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x303d39);if(!fsSync[_0x3bb8f9(0x1ad)](_0x4eafea))throw new Error(_0x3bb8f9(0x1dd)+_0x4eafea);try{const _0x15d9ca=fsSync['readFileSync'](_0x4eafea,_0x16afbc['NhIfF']);if(!_0x15d9ca||!_0x15d9ca['trim']())throw new Error(_0x3bb8f9(0x19d)+_0x4eafea);return logger['info']({'event':_0x3bb8f9(0x1da),'file':_0x4eafea,'queryLength':_0x15d9ca['length']},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x15d9ca[_0x3bb8f9(0x1ff)]+'\x20chars)'),_0x15d9ca[_0x3bb8f9(0x174)]();}catch(_0x16000d){if(_0x16000d[_0x3bb8f9(0x170)]==='ENOENT')throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x4eafea);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x16000d['message']);}}[a0_0x45dddd(0x197)](){const _0x5e2759=a0_0x45dddd,_0x52d661={'LXVtX':function(_0x82752a,_0x5ef32f){return _0x82752a+_0x5ef32f;},'KTkBJ':function(_0x5e21fb,_0x3997f3){return _0x5e21fb<_0x3997f3;},'gpFzx':function(_0x1ad478,_0x351f36){return _0x1ad478*_0x351f36;}},_0x198673=_0x5e2759(0x1e5),_0x29f3a0=Date[_0x5e2759(0x1fd)]()['toString'](0x24),_0x5ee000=uuidv7()[_0x5e2759(0x1bb)](/-/g,'')['substring'](0x0,0xc-_0x29f3a0[_0x5e2759(0x1ff)]),_0x490490=_0x52d661[_0x5e2759(0x16d)](_0x29f3a0,_0x5ee000)[_0x5e2759(0x1c0)](0x0,0xc);let _0x5814cd='';for(let _0x4fe8de=0x0;_0x52d661['KTkBJ'](_0x4fe8de,0xc);_0x4fe8de++){_0x490490[_0x4fe8de]?_0x5814cd+=_0x490490[_0x4fe8de]:_0x5814cd+=_0x198673[_0x5e2759(0x163)](Math[_0x5e2759(0x183)](_0x52d661[_0x5e2759(0x1ea)](Math['random'](),_0x198673['length'])));}return _0x5814cd;}async[a0_0x45dddd(0x178)](_0x1832d8){const _0x7b37f5=a0_0x45dddd,_0x3955dd={'IlcQL':function(_0x4e7827,_0x5d1da2,_0xbae4db,_0x4ad874){return _0x4e7827(_0x5d1da2,_0xbae4db,_0x4ad874);},'hAfuT':_0x7b37f5(0x18d)},_0x351fbc=this[_0x7b37f5(0x197)](),_0x925100={'job_id':_0x351fbc,'status':'pending','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x1832d8,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x7b37f5(0x1c1)](_0x351fbc,_0x925100),logger['info']({'event':_0x3955dd[_0x7b37f5(0x168)],'jobId':_0x351fbc,'params':_0x1832d8},'Export\x20job\x20created'),this['processJob'](_0x351fbc,_0x1832d8)['catch'](_0x4de7fc=>{_0x3955dd['IlcQL'](logError,_0x4de7fc,{'event':'export_process_error','jobId':_0x351fbc},'Export\x20processing\x20failed');}),{'job_id':_0x351fbc,'status':'pending'};}async['getJobStatus'](_0x477fdf){const _0x1bcab1=a0_0x45dddd,_0x1601a0={'dFlbU':_0x1bcab1(0x203),'nfhSt':function(_0x21490b,_0x5bcfe7){return _0x21490b===_0x5bcfe7;},'hRDXr':_0x1bcab1(0x1d4)},_0x3d9f18=await redisHelper[_0x1bcab1(0x1c9)](_0x477fdf);if(!_0x3d9f18)return{'success':![],'error':_0x1601a0['dFlbU']};return{'success':!![],'data':{'job_id':_0x3d9f18[_0x1bcab1(0x202)],'status':_0x3d9f18[_0x1bcab1(0x1e0)],'progress':_0x3d9f18['progress'],'total_rows':_0x3d9f18['total_rows'],'processed_rows':_0x3d9f18['processed_rows'],'file_url':_0x1601a0[_0x1bcab1(0x1f4)](_0x3d9f18[_0x1bcab1(0x1e0)],_0x1601a0['hRDXr'])?'/api/'+_0x3d9f18['params'][_0x1bcab1(0x16f)]+'/'+_0x3d9f18[_0x1bcab1(0x1a0)][_0x1bcab1(0x176)]+'/export-download?job_id='+_0x477fdf:null,'error':_0x3d9f18[_0x1bcab1(0x18a)]||null,'created_at':_0x3d9f18[_0x1bcab1(0x162)],'completed_at':_0x3d9f18['completed_at']||null}};}async['processJob'](_0x15e977,_0x5049e2){const _0x435834=a0_0x45dddd,_0x1b968e={'Ljbue':_0x435834(0x1ca),'dsZPy':'export_processing_start','BlbLN':_0x435834(0x1d0),'KOlog':_0x435834(0x1d4),'qhEhy':_0x435834(0x1fa),'omaCr':function(_0x18168c,_0x5d25da,_0x526754,_0x121175){return _0x18168c(_0x5d25da,_0x526754,_0x121175);}};try{await redisHelper[_0x435834(0x1c3)](_0x15e977,{'status':_0x1b968e[_0x435834(0x1ef)],'started_at':new Date()['toISOString']()}),logger[_0x435834(0x187)]({'event':_0x1b968e[_0x435834(0x1f2)],'jobId':_0x15e977},_0x1b968e['BlbLN']);const _0xc39d1=await this['fetchData'](_0x5049e2);await redisHelper['updateJob'](_0x15e977,{'total_rows':_0xc39d1[_0x435834(0x1ff)]});const _0x3cdeb6=await this[_0x435834(0x177)](_0x15e977,_0xc39d1,_0x5049e2);await redisHelper[_0x435834(0x1c3)](_0x15e977,{'status':_0x1b968e[_0x435834(0x166)],'progress':0x64,'file_path':_0x3cdeb6,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0x1b968e['qhEhy'],'jobId':_0x15e977,'rows':_0xc39d1[_0x435834(0x1ff)]},_0x435834(0x1df));}catch(_0x15a0c7){_0x1b968e[_0x435834(0x1ae)](logError,_0x15a0c7,{'event':'export_failed','jobId':_0x15e977},'Export\x20failed'),await redisHelper[_0x435834(0x1c3)](_0x15e977,{'status':'failed','error':_0x15a0c7['message'],'failed_at':new Date()[_0x435834(0x1f1)]()});}}async['fetchData'](_0x4cd55b){const _0xc64325=a0_0x45dddd,_0x483c8b={'EKYhQ':function(_0x432610,_0x51ba95){return _0x432610===_0x51ba95;},'TGbeR':_0xc64325(0x17b),'xdPWP':_0xc64325(0x1af),'nrjNm':function(_0x17e89d,_0x688c49){return _0x17e89d>_0x688c49;},'xYuCz':_0xc64325(0x192),'keqgi':'Fetching\x20data\x20from\x20database','IlDua':function(_0x4becc2,_0x4a6aaa){return _0x4becc2(_0x4a6aaa);},'ZnzHL':'oracle','seHvT':_0xc64325(0x1bc),'sHjlY':function(_0x17de8c,_0x42ca7f,_0x266171,_0x144870){return _0x17de8c(_0x42ca7f,_0x266171,_0x144870);},'rdpcw':_0xc64325(0x1f9)};try{const {tableName:_0x21fe08,columns:_0x4705ee,exportQuery:_0x42a626,where:_0x4f6230,sort_columns:_0x35db7e}=_0x4cd55b;if(!_0x21fe08||!_0x4705ee||_0x483c8b[_0xc64325(0x15e)](_0x4705ee['length'],0x0))throw new Error('tableName\x20and\x20columns\x20are\x20required');const _0x31ba71=_0x21fe08['replace'](/\./g,'_')+'_data';let _0x5ddc54;if(_0x42a626&&_0x42a626['trim']()){let _0x443d3d=_0x42a626;_0x42a626['trim']()[_0xc64325(0x1d5)](_0x483c8b['TGbeR'])&&(_0x443d3d=this[_0xc64325(0x19e)](_0x42a626)),_0x5ddc54=_0xc64325(0x171)+_0x31ba71+_0xc64325(0x181)+_0x443d3d+'\x0a)',_0x5ddc54+=_0xc64325(0x1b6)+_0x31ba71,logger['info']({'event':_0xc64325(0x19a),'query':_0x443d3d['substring'](0x0,0x64)},_0xc64325(0x1ed));}else{const _0x334539=_0x4705ee[_0xc64325(0x1a9)](_0xb2c336=>_0xc64325(0x16a)+_0xb2c336)['join'](',');_0x5ddc54=_0xc64325(0x171)+_0x31ba71+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x334539+'\x0a\x20\x20\x20\x20FROM\x20'+_0x21fe08+'\x0a)',_0x5ddc54+='\x0aSELECT\x20*\x20FROM\x20'+_0x31ba71,logger['info']({'event':_0xc64325(0x194),'tableName':_0x21fe08,'columnCount':_0x4705ee[_0xc64325(0x1ff)]},_0x483c8b[_0xc64325(0x1ac)]);}if(_0x4f6230){const _0x188ca9=this['buildWhereClause'](_0x4f6230);_0x188ca9&&(_0x5ddc54+=_0xc64325(0x1fc)+_0x188ca9);}if(_0x35db7e&&_0x483c8b['nrjNm'](_0x35db7e['length'],0x0)){const _0xe8d48c=this[_0xc64325(0x1f8)](_0x35db7e);_0xe8d48c&&(_0x5ddc54+='\x0aORDER\x20BY\x20'+_0xe8d48c);}logger[_0xc64325(0x187)]({'event':_0x483c8b['xYuCz'],'query':_0x5ddc54['substring'](0x0,0xc8)},_0x483c8b[_0xc64325(0x195)]);const _0x2ecb83=await _0x483c8b['IlDua'](executeQuery,_0x5ddc54);let _0x301ef4=_0x2ecb83;return _0x483c8b[_0xc64325(0x15e)](dbType,_0x483c8b[_0xc64325(0x1cf)])&&_0x2ecb83&&_0x483c8b[_0xc64325(0x165)](_0x2ecb83['length'],0x0)&&(_0x301ef4=_0x2ecb83['map'](_0x5a74d0=>{const _0x22b411=_0xc64325,_0x39f8cb={};for(const [_0x5ac6a1,_0x28cf58]of Object[_0x22b411(0x1c5)](_0x5a74d0)){_0x39f8cb[_0x5ac6a1[_0x22b411(0x1ab)]()]=_0x28cf58;}return _0x39f8cb;})),logger[_0xc64325(0x187)]({'event':_0x483c8b[_0xc64325(0x15f)],'rows':_0x301ef4['length']},'Data\x20fetched\x20successfully'),_0x301ef4;}catch(_0x2a560f){_0x483c8b['sHjlY'](logError,_0x2a560f,{'event':_0xc64325(0x191)},_0x483c8b[_0xc64325(0x182)]);throw _0x2a560f;}}[a0_0x45dddd(0x1f3)](_0x470815){const _0x1b69c3=a0_0x45dddd,_0x478ec1={'YnerS':_0x1b69c3(0x17e)};if(typeof _0x470815===_0x478ec1['YnerS'])return _0x470815[_0x1b69c3(0x1bb)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x1b69c3(0x174)]();else{if(Array[_0x1b69c3(0x1d3)](_0x470815))return _0x470815[_0x1b69c3(0x1a9)](_0x3a469f=>this['sanitizeValue'](_0x3a469f));}return _0x470815;}[a0_0x45dddd(0x1e8)](_0x8006cc){const _0x1112d0=a0_0x45dddd,_0x54e0eb={'SsLVi':function(_0x1e2a21,_0x545a60){return _0x1e2a21===_0x545a60;},'LakUh':'string','vWcwv':function(_0x19396f,_0x1411bb){return _0x19396f||_0x1411bb;},'ulLKo':'invalid_condition','UZpjF':function(_0x373f36,_0x27ee4d){return _0x373f36!==_0x27ee4d;},'zjVjU':_0x1112d0(0x1fe),'JUjwo':_0x1112d0(0x172),'VphTp':'unknown_operator','DhRYf':_0x1112d0(0x186),'toJTJ':function(_0xac1ed7,_0x5978aa){return _0xac1ed7===_0x5978aa;},'PbcGm':'\x20OR\x20'};if(!_0x8006cc||!_0x8006cc[_0x1112d0(0x189)]||_0x8006cc['conditions']['length']===0x0)return'';const {logic:_0x4be96e,conditions:_0x57ab83}=_0x8006cc,_0x5eac7a=_0x4be96e&&_0x54e0eb[_0x1112d0(0x1f5)](_0x4be96e[_0x1112d0(0x1fb)](),'OR')?_0x54e0eb[_0x1112d0(0x17c)]:_0x1112d0(0x1dc),_0x2edac6=_0x57ab83[_0x1112d0(0x1a9)](_0x4b5b2b=>{const _0x4ecaf8=_0x1112d0,{key:_0x2e5c1d,operator:_0x3c6701,value:_0x5b99b0,sensitive:_0x44bf55}=_0x4b5b2b;if(_0x54e0eb[_0x4ecaf8(0x1c4)](!_0x2e5c1d,!_0x3c6701))return logger[_0x4ecaf8(0x1b2)]({'event':_0x54e0eb['ulLKo'],'condition':_0x4b5b2b},_0x4ecaf8(0x167)),null;const _0x5e50df=this['sanitizeValue'](_0x5b99b0),_0x5598a7=_0x54e0eb[_0x4ecaf8(0x1e6)](_0x44bf55,undefined)?_0x44bf55:!![];let _0x3e8a51=_0x2e5c1d,_0x559834=_0x5e50df;!_0x5598a7&&(_0x3e8a51='UPPER('+_0x2e5c1d+')',typeof _0x5b99b0===_0x4ecaf8(0x17e)&&(_0x559834=_0x5b99b0[_0x4ecaf8(0x1fb)]()));const _0x3bfa34=typeof _0x559834===_0x54e0eb[_0x4ecaf8(0x1cc)]?'\x27'+_0x559834['replace'](/'/g,'\x27\x27')+'\x27':_0x559834;switch(_0x3c6701['toUpperCase']()){case'=':case'!=':case'<>':return _0x3e8a51+'\x20'+_0x3c6701+'\x20'+_0x3bfa34;case'>':case'<':case'>=':case'<=':const _0x57bf82=typeof _0x5e50df==='string'?'\x27'+_0x5e50df['replace'](/'/g,'\x27\x27')+'\x27':_0x5e50df;return _0x2e5c1d+'\x20'+_0x3c6701+'\x20'+_0x57bf82;case _0x54e0eb[_0x4ecaf8(0x16c)]:case _0x54e0eb['JUjwo']:return _0x3e8a51+'\x20'+_0x3c6701+'\x20'+_0x3bfa34;case'IN':if(Array[_0x4ecaf8(0x1d3)](_0x5e50df)){let _0x52b64a;return!_0x5598a7?_0x52b64a=_0x5e50df['map'](_0x61690f=>{const _0x254ecf=_0x4ecaf8,_0x3c47df=_0x54e0eb[_0x254ecf(0x1a1)](typeof _0x61690f,'string')?_0x61690f['toUpperCase']():_0x61690f;return _0x54e0eb['SsLVi'](typeof _0x3c47df,_0x54e0eb['LakUh'])?'\x27'+_0x3c47df['replace'](/'/g,'\x27\x27')+'\x27':_0x3c47df;})['join'](',\x20'):_0x52b64a=_0x5e50df[_0x4ecaf8(0x1a9)](_0x192e62=>typeof _0x192e62==='string'?'\x27'+_0x192e62[_0x4ecaf8(0x1bb)](/'/g,'\x27\x27')+'\x27':_0x192e62)['join'](',\x20'),_0x3e8a51+'\x20IN\x20('+_0x52b64a+')';}return _0x3e8a51+_0x4ecaf8(0x179)+_0x3bfa34+')';case'IS\x20NULL':return _0x2e5c1d+_0x4ecaf8(0x1bf);case _0x4ecaf8(0x1d1):return _0x2e5c1d+_0x4ecaf8(0x1be);default:logger['warn']({'event':_0x54e0eb[_0x4ecaf8(0x1a3)],'operator':_0x3c6701},_0x54e0eb['DhRYf']);return _0x3e8a51+_0x4ecaf8(0x1d8)+_0x3bfa34;}})[_0x1112d0(0x1e9)](_0x1823de=>_0x1823de!==null);if(_0x2edac6[_0x1112d0(0x1ff)]===0x0)return'';return _0x2edac6['join'](_0x5eac7a);}['buildOrderByClause'](_0x4fce60){const _0x2f0a0a=a0_0x45dddd,_0x5876f2={'fETQk':'Skipping\x20invalid\x20sort\x20column','wFfqM':'ASC','rAlsp':function(_0xbfc6fa,_0x246c5a){return _0xbfc6fa===_0x246c5a;}};if(!_0x4fce60||_0x4fce60['length']===0x0)return'';const _0x1ffc0b=_0x4fce60[_0x2f0a0a(0x1a9)](_0x3a2282=>{const _0x30816e=_0x2f0a0a,{column:_0x2d1776,direction:_0x4ecf62}=_0x3a2282;if(!_0x2d1776)return logger[_0x30816e(0x1b2)]({'event':'invalid_sort_column','item':_0x3a2282},_0x5876f2['fETQk']),null;const _0x10d700=_0x4ecf62&&_0x4ecf62[_0x30816e(0x1fb)]()==='DESC'?'DESC':_0x5876f2[_0x30816e(0x1e4)];return _0x2d1776+'\x20'+_0x10d700;})[_0x2f0a0a(0x1e9)](_0x57ea44=>_0x57ea44!==null);if(_0x5876f2[_0x2f0a0a(0x1ba)](_0x1ffc0b[_0x2f0a0a(0x1ff)],0x0))return'';return _0x1ffc0b[_0x2f0a0a(0x188)](',\x20');}async['generateExcel'](_0x233cc8,_0x55c657,_0x32f5a3){const _0x4bf858=a0_0x45dddd,_0x404bea={'ceNQV':function(_0xb3ed1c,_0x4ed3f6){return _0xb3ed1c*_0x4ed3f6;},'mqsXb':_0x4bf858(0x200),'okjJN':_0x4bf858(0x18b),'omzRd':function(_0x38452d,_0x50bd44){return _0x38452d>_0x50bd44;},'XsMld':function(_0x2762e8,_0x2235bb){return _0x2762e8>_0x2235bb;},'ElIGh':_0x4bf858(0x1ce),'dDntP':'excel_columns_fallback','WcZrD':'excel_columns_from_config'},_0x48a279=require(_0x404bea['mqsXb']),_0x2db369=new _0x48a279(),_0x4fbce2=_0x32f5a3[_0x4bf858(0x1f0)]?_0x32f5a3['filename']+'-'+_0x233cc8:_0x4bf858(0x19c)+_0x233cc8,_0x2dfc1e=path['join'](this['exportDir'],_0x4fbce2+'.xlsx');let _0x25243f=_0x32f5a3['columns'];const _0x49facd=_0x32f5a3[_0x4bf858(0x18c)]&&_0x32f5a3['exportQuery']['trim'](),_0x495cc9=_0x25243f&&_0x25243f[_0x4bf858(0x1ff)]===0x1&&(_0x25243f[0x0]==='*'||_0x25243f[0x0][_0x4bf858(0x1ab)]()==='all');if(_0x55c657[_0x4bf858(0x1ff)]>0x0){const _0x1d412b=Object['keys'](_0x55c657[0x0]);if(_0x49facd)_0x25243f=_0x1d412b,logger[_0x4bf858(0x187)]({'event':_0x4bf858(0x1cd),'columns':_0x25243f},_0x4bf858(0x17a)+_0x25243f['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x495cc9)_0x25243f=_0x1d412b,logger[_0x4bf858(0x187)]({'event':_0x404bea['okjJN'],'columns':_0x25243f},_0x4bf858(0x184)+_0x25243f[_0x4bf858(0x1ff)]+'\x20columns\x20(wildcard\x20requested)');else{if(_0x25243f&&_0x404bea[_0x4bf858(0x173)](_0x25243f[_0x4bf858(0x1ff)],0x0)){const _0x180a98=_0x25243f[_0x4bf858(0x1e9)](_0x90344b=>_0x1d412b['includes'](_0x90344b));_0x404bea['XsMld'](_0x180a98[_0x4bf858(0x1ff)],0x0)?(_0x25243f=_0x180a98,logger[_0x4bf858(0x187)]({'event':_0x404bea[_0x4bf858(0x1de)],'requestedColumns':_0x32f5a3[_0x4bf858(0x201)],'validColumns':_0x25243f},'Using\x20'+_0x25243f[_0x4bf858(0x1ff)]+_0x4bf858(0x16e))):(_0x25243f=_0x1d412b,logger['warn']({'event':_0x404bea['dDntP'],'requestedColumns':_0x32f5a3[_0x4bf858(0x201)],'availableColumns':_0x1d412b},_0x4bf858(0x1ee)+_0x1d412b[_0x4bf858(0x1ff)]+_0x4bf858(0x185)));}else _0x25243f=_0x1d412b,logger[_0x4bf858(0x187)]({'event':_0x4bf858(0x1cb),'columns':_0x25243f},'Using\x20'+_0x25243f['length']+_0x4bf858(0x19b));}}}else logger['info']({'event':_0x404bea['WcZrD'],'columns':_0x25243f},_0x4bf858(0x17a)+(_0x25243f?.['length']||0x0)+_0x4bf858(0x1e3));return await _0x2db369[_0x4bf858(0x1e2)]({'data':_0x55c657,'columns':_0x25243f,'columnFormats':_0x32f5a3[_0x4bf858(0x1a4)]||null,'fieldLabels':_0x32f5a3[_0x4bf858(0x160)]||null,'filePath':_0x2dfc1e,'onProgress':async _0x538d6d=>{const _0x25b55b=_0x4bf858;await redisHelper['updateJob'](_0x233cc8,{'progress':Math['round'](_0x538d6d),'processed_rows':Math['round'](_0x404bea[_0x25b55b(0x198)](_0x538d6d/0x64,_0x55c657['length']))});}}),_0x2dfc1e;}async[a0_0x45dddd(0x180)](_0x33b256){const _0x1751c1=a0_0x45dddd,_0x133d14={'nAsZp':function(_0x586a99,_0x1414c3,_0x3ba461,_0x400bea){return _0x586a99(_0x1414c3,_0x3ba461,_0x400bea);},'ofGqR':_0x1751c1(0x1f6)},_0x412186=await redisHelper[_0x1751c1(0x1c9)](_0x33b256);if(!_0x412186||_0x412186['status']!=='completed')return null;try{return await fs['access'](_0x412186['file_path']),_0x412186['file_path'];}catch(_0x507f62){return _0x133d14['nAsZp'](logError,_0x507f62,{'event':_0x1751c1(0x1d9),'jobId':_0x33b256,'path':_0x412186['file_path']},_0x133d14['ofGqR']),null;}}async[a0_0x45dddd(0x1a8)](){const _0xaa4834=a0_0x45dddd,_0x104a56={'fnLZg':_0xaa4834(0x1b1),'HjquN':function(_0x1a9160,_0x170dd7){return _0x1a9160/_0x170dd7;},'IgeJB':'export_file_delete_error','dRWht':_0xaa4834(0x164),'GICfd':'Export\x20cleanup\x20completed'};logger['info']({'event':'export_cleanup_start'},_0x104a56[_0xaa4834(0x1c6)]);const _0x3a3938=await redisHelper[_0xaa4834(0x1c8)]();let _0x355d77=0x0;for(const _0x35ce85 of _0x3a3938){const _0x5e55d9=new Date(_0x35ce85[_0xaa4834(0x162)]),_0x502ace=new Date(),_0x3df84e=_0x104a56[_0xaa4834(0x17f)](_0x502ace-_0x5e55d9,0x3e8*0x3c*0x3c);if(_0x3df84e>0x1){if(_0x35ce85[_0xaa4834(0x1b5)])try{await fs[_0xaa4834(0x1d2)](_0x35ce85['file_path']),logger['info']({'event':_0xaa4834(0x1a5),'path':_0x35ce85['file_path']},'Export\x20file\x20deleted');}catch(_0x51f38c){logger['warn']({'event':_0x104a56[_0xaa4834(0x1c2)],'path':_0x35ce85['file_path'],'error':_0x51f38c[_0xaa4834(0x1c7)]},_0x104a56[_0xaa4834(0x15c)]);}await redisHelper['deleteJob'](_0x35ce85[_0xaa4834(0x202)]),_0x355d77++;}}return logger['info']({'event':_0xaa4834(0x1ec),'deleted':_0x355d77},_0x104a56[_0xaa4834(0x15d)]),_0x355d77;}}module[a0_0x45dddd(0x161)]=new ExportService();
@@ -1 +1 @@
1
- const a0_0xe52136=a0_0x7f27;(function(_0x1bd982,_0x210724){const _0x5dc193=a0_0x7f27,_0x4693f5=_0x1bd982();while(!![]){try{const _0x6e8c85=-parseInt(_0x5dc193(0x211))/0x1*(-parseInt(_0x5dc193(0x1fe))/0x2)+-parseInt(_0x5dc193(0x1ef))/0x3+parseInt(_0x5dc193(0x20f))/0x4*(-parseInt(_0x5dc193(0x1dd))/0x5)+-parseInt(_0x5dc193(0x237))/0x6*(-parseInt(_0x5dc193(0x1ce))/0x7)+-parseInt(_0x5dc193(0x1ff))/0x8*(-parseInt(_0x5dc193(0x22d))/0x9)+parseInt(_0x5dc193(0x22f))/0xa+-parseInt(_0x5dc193(0x21b))/0xb*(parseInt(_0x5dc193(0x1d9))/0xc);if(_0x6e8c85===_0x210724)break;else _0x4693f5['push'](_0x4693f5['shift']());}catch(_0xca8c8){_0x4693f5['push'](_0x4693f5['shift']());}}}(a0_0x5c68,0xb31ea));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0xe52136(0x1dc)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0xe52136(0x24b)),dbType=(process['env'][a0_0xe52136(0x20a)]||'postgresql')[a0_0xe52136(0x265)]();function a0_0x7f27(_0x117ba1,_0x48c979){_0x117ba1=_0x117ba1-0x1c3;const _0x5c6886=a0_0x5c68();let _0x7f2767=_0x5c6886[_0x117ba1];if(a0_0x7f27['ifAhQL']===undefined){var _0x32deb5=function(_0x1fad55){const _0x5d5c57='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55cb6b='',_0xa84a0e='';for(let _0x582ee4=0x0,_0x45d181,_0x56d60f,_0x4f4b14=0x0;_0x56d60f=_0x1fad55['charAt'](_0x4f4b14++);~_0x56d60f&&(_0x45d181=_0x582ee4%0x4?_0x45d181*0x40+_0x56d60f:_0x56d60f,_0x582ee4++%0x4)?_0x55cb6b+=String['fromCharCode'](0xff&_0x45d181>>(-0x2*_0x582ee4&0x6)):0x0){_0x56d60f=_0x5d5c57['indexOf'](_0x56d60f);}for(let _0x32cc06=0x0,_0x40da07=_0x55cb6b['length'];_0x32cc06<_0x40da07;_0x32cc06++){_0xa84a0e+='%'+('00'+_0x55cb6b['charCodeAt'](_0x32cc06)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa84a0e);};a0_0x7f27['nUGPjD']=_0x32deb5,a0_0x7f27['ckrhMX']={},a0_0x7f27['ifAhQL']=!![];}const _0x3da4af=_0x5c6886[0x0],_0x5c145c=_0x117ba1+_0x3da4af,_0x1b16bd=a0_0x7f27['ckrhMX'][_0x5c145c];return!_0x1b16bd?(_0x7f2767=a0_0x7f27['nUGPjD'](_0x7f2767),a0_0x7f27['ckrhMX'][_0x5c145c]=_0x7f2767):_0x7f2767=_0x1b16bd,_0x7f2767;}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0xe52136(0x231))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x284bb0,_0x2b9ce9)=>oracleDb['executeQuery'](_0x284bb0,_0x2b9ce9),executeTransaction=_0x7f45e2=>oracleDb[a0_0xe52136(0x269)](_0x7f45e2);else{if(dbType===a0_0xe52136(0x259)){const mysqlDb=require(a0_0xe52136(0x229));executeQuery=(_0x269b57,_0x20a257)=>mysqlDb['executeQuery'](_0x269b57,_0x20a257),executeTransaction=_0x2fca49=>mysqlDb['executeTransaction'](_0x2fca49);}else{const db=require('../utils/db');executeQuery=db[a0_0xe52136(0x1e3)],executeTransaction=db[a0_0xe52136(0x269)];}}const excelParser=require('../utils/excel-parser'),importValidator=require('../utils/import-validator'),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0xe52136(0x228));function a0_0x5c68(){const _0x405e91=['Dhfft2y','igf0ihjVDYa','z2v0rNvSBfLLyxi','Aw5Zzxj0x29UBhK','twDVwLK','Dg9ju09tDhjPBMC','zKfjqMq','qxj2Bgq','x2v4Axn0Aw5Nswq','zMLSDgvY','CMvWBgfJzq','Dhj1zq','y29SDw1UrM9YBwf0CW','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','zMLUza','ndK2m2Lfq1DMwG','rgrJDKO','cIaGicaGicaGv0HfuKuG','Aw5MBW','B1PNyKi','zwXHsNi','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','su5trvju','C2XPy2u','sLnqBvm','AM9Ix2LK','mtq0vNLzqvvL','zxjYB3jZ','qvbHCgK','ChjVBwLZzxm','mZy1s2ntAxLk','Dg9vChbLCKnHC2u','AgvHzgvYC19TyxbWzwq','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','B0X5qNa','zxHWB3j0CW','zxHLy3v0zvf1zxj5','zgvIDwC','BwLZC2LUz0zPzwXKCW','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','u0Tjua','z2vUzxjHDgvjza','CgfKu3rHCNq','BgvUz3rO','DxbSB2fKoG','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','y29SDw1U','C2v0sM9I','ndGXnZm3uwnLBfzZ','vMLxyvG','zM9YrwfJAa','rfPqqNC','yxbWBhLdB2X1Bw5gB3jTyxrZ','C3rHDhvZ','sMTWweW','y29TBwL0x2PVyL9JB21WBgv0zwq','AM9PBG','A1HhrfG','y291BNq','DxbKyxrLx2v4Axn0Aw5N','y2H1BMTsB3DZ','ieLoicG','CNHcC0C','mNDpAM1RDG','mtiXnZzisuLorKi','tLvmta','y29TBwL0x3bYB2nLC3nFzxjYB3i','DK5YwwS','twvyB0G','wxnOuNm','ChjVy2vZC0nVBw1PDePVyG','zwTvAu4','Aw5Zzxj0','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','x2fJDgLVBG','rejFvfLqrq','qMfXqLy','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','ndC5ntzzq0f6C0C','y2f0y2G','ntiZntK4A2jfq1Hl','BNvTyMvY','A3PeA0e','BNPJAwe','AgfZ','DhjPBq','yNvPBgrcyxrJAfvWzgf0zq','Cgf0Aa','zMfPBgvK','lI4VlI4VDgvTCc91CgXVywrZlW','ndC4odC0zwzUB2Dq','rhLkBwC','CevtD1i','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','ChjLDMLLD19LCNjVCG','sg5vBeG','yNvPBgrmywjLBfrVrMLLBgrnyxa','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','zMXVB3i','CM93sw5KzxG','DhLWzq','u0Dju0u','zw52','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','lI4VDxrPBhmVzgiTBxLZCwW','Ahrbwve','C2TPCf9LEgLZDgLUzW','ChvZAa','mtq4nuTzwwPNAG','C3rYAw5N','mtm5mdiXotbMz2PLEM8','zw50CMLLCW','B3jHy2XL','Dw5SAw5R','yM9VBgvHBG','DLrbr3O','z2v0sM9I','wu5VrfC','mta3ngvTCMzVCq','zgf0zq','AM9IoG','ChjVy2vZC1bYzxzPzxDkB2i','ChjVy2vZC2LUzW','BM93','vvbeqvrf','x2DLBMvYyxrLzf91DwLK','cIaGicaGicaGu0vmrunuia','rhHwquu','y2HHCKf0','C2v0','AKDmwwu','uxD2B3u','DgvZDa','CM93CW','Aw5JBhvKzxm','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','DxbSB2fKx2LK','tLPRqMq','lI4VDxrPBhmVBg9Nz2vY','q29TBwL0igPVyIbJB21WBgv0zwq','BwfW','y29TCgXLDgvK','uhjLDMLLDYbQB2iGzMfPBgvK','BuDvvNe','C3vIC3rYAw5N','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','tKLHwgS','DMfSAwrHDgLUzW','ChjLDMLLD19VAW','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','sLfAq2C','z0PcyKW','BxLZCwW','Dg9tDhjPBMC','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','uhjLDMLLDYbQB2iGy3jLyxrLza','uvHfrwK','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','kqOGicaGica','s2T2Ehy','vMnArw4','uhjLDMLLDYbQB2iGy29TCgXLDgvK','AuDNEKi','shHSDem','Dg9mB3DLCKnHC2u','wLL2zwi','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','zxHLy3v0zvrYyw5Zywn0Aw9U','ve5qsMW','BwvZC2fNzq','uK1nwKm','zMLLBgrmywjLBhm','zMfSC2u','zMLSzv9JBgvHBNvWx2vYCM9Y','Bwf0y2G','x2vYCM9YCW','A2v5CW'];a0_0x5c68=function(){return _0x405e91;};return a0_0x5c68();}class ImportService{constructor(){this['_uploadDir']=null;}get['uploadDir'](){const _0x1b8275=a0_0xe52136,_0x161e1b={'htAYQ':'default'};if(!this['_uploadDir']){const _0x451b61=process[_0x1b8275(0x227)]['RESTFORGE_PROJECT_NAME']||_0x161e1b[_0x1b8275(0x22a)];this['_uploadDir']=process[_0x1b8275(0x227)]['UPLOAD_DIR']||path[_0x1b8275(0x1f7)](__dirname,_0x1b8275(0x21a)+_0x451b61);}return this['_uploadDir'];}[a0_0xe52136(0x1e8)](){const _0xe2918a=a0_0xe52136,_0x3b9e17={'NZkBd':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','qQcvr':function(_0x27e35e){return _0x27e35e();},'SeitB':function(_0x58d048,_0x3bbe83){return _0x58d048+_0x3bbe83;},'wUMBM':function(_0x59aedc,_0x50f655){return _0x59aedc<_0x50f655;}},_0x110d0a=_0x3b9e17[_0xe2918a(0x24a)],_0x334321=Date[_0xe2918a(0x23c)]()[_0xe2918a(0x25a)](0x24),_0x6da2ee=_0x3b9e17['qQcvr'](uuidv7)['replace'](/-/g,'')[_0xe2918a(0x251)](0x0,0xc-_0x334321['length']),_0x48c313=_0x3b9e17['SeitB'](_0x334321,_0x6da2ee)[_0xe2918a(0x251)](0x0,0xc);let _0x25dde1='';for(let _0x674dc2=0x0;_0x3b9e17['wUMBM'](_0x674dc2,0xc);_0x674dc2++){_0x48c313[_0x674dc2]?_0x25dde1+=_0x48c313[_0x674dc2]:_0x25dde1+=_0x110d0a[_0xe2918a(0x241)](Math[_0xe2918a(0x223)](Math['random']()*_0x110d0a[_0xe2918a(0x1ea)]));}return _0x25dde1;}[a0_0xe52136(0x221)](_0x3ffd44){const _0x30affb=a0_0xe52136,_0x408832={'YshRs':function(_0x37551c,_0x3a9410){return _0x37551c(_0x3a9410);},'PpiDD':_0x30affb(0x1ec)},_0x3537ee=new Map();if(!_0x3ffd44)return _0x3537ee;return Object[_0x30affb(0x230)](_0x3ffd44)[_0x30affb(0x1f1)](([_0x529395,_0x1764af])=>{const _0x25dd6a=_0x30affb,_0x56abbd=_0x408832[_0x25dd6a(0x204)](String,_0x1764af)[_0x25dd6a(0x216)]()[_0x25dd6a(0x1c9)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,'$1_$2')['replace'](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')[_0x25dd6a(0x265)]();_0x3537ee[_0x25dd6a(0x242)](_0x56abbd,_0x529395);}),logger[_0x30affb(0x1e4)]({'event':_0x30affb(0x1d4),'mappingCount':_0x3537ee['size']},_0x408832['PpiDD']),_0x3537ee;}['applyColumnFormats'](_0x15992e,_0x347cf5){const _0x2bd6dc=a0_0xe52136,_0x341872={'RMMZC':function(_0x31c65d,_0x542e76){return _0x31c65d===_0x542e76;},'kXGDX':_0x2bd6dc(0x233)};if(!_0x347cf5||Object['keys'](_0x347cf5)['length']===0x0)return _0x15992e;return _0x15992e['map'](_0x573db0=>{const _0x2fecc6=_0x2bd6dc,_0x53caf9={..._0x573db0};for(const [_0x57bca7,_0x4c842b]of Object[_0x2fecc6(0x230)](_0x347cf5)){const _0x3823fa=_0x53caf9[_0x57bca7];if(_0x3823fa===null||_0x3823fa===undefined||_0x341872[_0x2fecc6(0x26c)](_0x3823fa,'')){_0x53caf9[_0x57bca7]=null;continue;}switch(_0x4c842b[_0x2fecc6(0x225)]){case _0x2fecc6(0x238):_0x53caf9[_0x57bca7]=this['formatDateForDatabase'](_0x3823fa);break;case _0x2fecc6(0x212):_0x53caf9[_0x57bca7]=this[_0x2fecc6(0x25b)](_0x3823fa);break;case _0x341872[_0x2fecc6(0x1f8)]:_0x53caf9[_0x57bca7]=this[_0x2fecc6(0x252)](_0x3823fa);break;case'text':_0x53caf9[_0x57bca7]=String(_0x3823fa);break;default:break;}}return _0x53caf9;});}[a0_0xe52136(0x208)](_0x5ac0a0){const _0x4ecbed=a0_0xe52136,_0x44d065={'gEKqO':function(_0x45a141,_0x208d86){return _0x45a141===_0x208d86;},'fAIBd':function(_0x4a615b,_0x4896ff){return _0x4a615b===_0x4896ff;},'MgoZY':'string','bzZSk':function(_0x2d584b,_0x298b55){return _0x2d584b instanceof _0x298b55;},'Arvld':function(_0x394cbb,_0x5a2a9f){return _0x394cbb(_0x5a2a9f);},'vNrYk':function(_0x26fe97,_0x3966ab){return _0x26fe97(_0x3966ab);},'CzWjz':function(_0x136cdc,_0x192578){return _0x136cdc(_0x192578);}};if(_0x44d065['gEKqO'](_0x5ac0a0,null)||_0x44d065[_0x4ecbed(0x1c5)](_0x5ac0a0,undefined)||_0x5ac0a0==='')return null;if(typeof _0x5ac0a0===_0x44d065[_0x4ecbed(0x1c3)]&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x5ac0a0))return _0x5ac0a0;if(_0x44d065['bzZSk'](_0x5ac0a0,Date)){if(isNaN(_0x5ac0a0['getTime']()))return null;const _0x1170c9=_0x5ac0a0[_0x4ecbed(0x275)](),_0x1dc03f=_0x44d065['Arvld'](String,_0x5ac0a0['getMonth']()+0x1)[_0x4ecbed(0x1e9)](0x2,'0'),_0x1e9155=String(_0x5ac0a0['getDate']())['padStart'](0x2,'0');return _0x1170c9+'-'+_0x1dc03f+'-'+_0x1e9155;}if(typeof _0x5ac0a0===_0x44d065[_0x4ecbed(0x1c3)]){const _0x7df6c0=_0x5ac0a0[_0x4ecbed(0x270)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x7df6c0){const _0x1286cd=_0x44d065[_0x4ecbed(0x202)](String,_0x7df6c0[0x1])['padStart'](0x2,'0'),_0x5e7148=_0x44d065[_0x4ecbed(0x1c6)](String,_0x7df6c0[0x2])['padStart'](0x2,'0'),_0x516c76=_0x7df6c0[0x3];return _0x516c76+'-'+_0x5e7148+'-'+_0x1286cd;}const _0x4f1716=_0x5ac0a0['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x4f1716){const _0xfc37f2=_0x4f1716[0x1],_0x172f78=String(_0x4f1716[0x2])[_0x4ecbed(0x1e9)](0x2,'0'),_0x1fdc2b=_0x44d065['CzWjz'](String,_0x4f1716[0x3])[_0x4ecbed(0x1e9)](0x2,'0');return _0xfc37f2+'-'+_0x172f78+'-'+_0x1fdc2b;}}return _0x5ac0a0;}[a0_0xe52136(0x25b)](_0x394251){const _0x174010=a0_0xe52136,_0x1ffd70={'joRpJ':function(_0x259491,_0x539914){return _0x259491===_0x539914;},'aJSJJ':function(_0x4647eb,_0x5e2689){return _0x4647eb===_0x5e2689;},'upJDQ':function(_0x423098,_0x498ec8){return _0x423098===_0x498ec8;},'jMErr':function(_0x542ace,_0x1aa424){return _0x542ace(_0x1aa424);}};if(_0x1ffd70['joRpJ'](_0x394251,null)||_0x394251===undefined||_0x394251==='')return null;if(_0x1ffd70['aJSJJ'](typeof _0x394251,_0x174010(0x212)))return isNaN(_0x394251)?null:_0x394251;if(_0x1ffd70['upJDQ'](typeof _0x394251,_0x174010(0x22e))){let _0x492b0f=_0x394251[_0x174010(0x216)]();const _0x49f578=/,\d{1,2}$/[_0x174010(0x245)](_0x492b0f)&&!/,\d{3}/[_0x174010(0x245)](_0x492b0f);_0x49f578?_0x492b0f=_0x492b0f['replace'](/\./g,'')[_0x174010(0x1c9)](',','.'):_0x492b0f=_0x492b0f['replace'](/,/g,'');const _0x5a683b=_0x1ffd70['jMErr'](parseFloat,_0x492b0f);return isNaN(_0x5a683b)?null:_0x5a683b;}return null;}[a0_0xe52136(0x252)](_0x5e9f6f){const _0xf84294=a0_0xe52136,_0x438a59={'JkpXL':function(_0x5e4dc5,_0x4e1d88){return _0x5e4dc5===_0x4e1d88;},'RbvYD':'true','rxBsG':'false','ekUiN':function(_0x5958ed,_0x4293ba){return _0x5958ed===_0x4293ba;},'Kkvxv':'yes','fdefX':function(_0x22c707,_0x5f1adf){return _0x22c707===_0x5f1adf;}};if(_0x5e9f6f===null||_0x438a59[_0xf84294(0x1f5)](_0x5e9f6f,undefined)||_0x438a59[_0xf84294(0x1f5)](_0x5e9f6f,''))return null;if(typeof _0x5e9f6f===_0xf84294(0x233))return _0x5e9f6f?_0x438a59['RbvYD']:_0x438a59[_0xf84294(0x1fd)];if(_0x438a59[_0xf84294(0x206)](typeof _0x5e9f6f,'string')){const _0x34e80b=_0x5e9f6f['trim']()[_0xf84294(0x265)]();if([_0x438a59['RbvYD'],_0x438a59[_0xf84294(0x260)],'y','1'][_0xf84294(0x247)](_0x34e80b))return _0x438a59['RbvYD'];if([_0x438a59['rxBsG'],'no','n','0'][_0xf84294(0x247)](_0x34e80b))return _0x438a59['rxBsG'];return null;}if(_0x438a59['fdefX'](typeof _0x5e9f6f,'number'))return _0x5e9f6f?_0xf84294(0x1ca):_0xf84294(0x26e);return null;}async['uploadFile'](_0x365c27,_0x350e9f){const _0x251e51=a0_0xe52136,_0xde4986={'JSPmS':function(_0x16d06b,_0x18f928){return _0x16d06b||_0x18f928;},'tqEOf':_0x251e51(0x21e),'KtobM':_0x251e51(0x20c),'DZPBw':'request_scope_applied','FIvXG':'import_file_uploaded','JLagK':_0x251e51(0x1cc),'HxltC':_0x251e51(0x26f),'NIaXk':'Failed\x20to\x20cleanup\x20file'},_0x1300ab=this[_0x251e51(0x1e8)]();try{let {headers:_0x46c2f8,rows:_0x4f782b,totalRows:_0x563c3c}=await excelParser['parseExcelFile'](_0x365c27[_0x251e51(0x218)]);const _0x48fcf4=this[_0x251e51(0x221)](_0x350e9f[_0x251e51(0x26d)]),_0x26cd09=_0x46c2f8['map'](_0x5da347=>{const _0xdad645=_0x251e51,_0x441605=_0x48fcf4['get'](_0x5da347);return _0xde4986[_0xdad645(0x1d7)](_0x441605,_0x5da347);});_0x4f782b=_0x4f782b['map'](_0x3a89df=>{const _0x16b8b6={};return _0x46c2f8['forEach']((_0x38dbe0,_0x52aaa5)=>{const _0x3aead7=_0x26cd09[_0x52aaa5];_0x16b8b6[_0x3aead7]=_0x3a89df[_0x38dbe0];}),_0x16b8b6;}),_0x46c2f8=_0x26cd09,logger[_0x251e51(0x1e4)]({'event':_0x251e51(0x1df),'original':_0x46c2f8[_0x251e51(0x1ea)],'mapped':_0x26cd09['filter']((_0x27a40b,_0x3a3fc8)=>_0x27a40b!==_0x46c2f8[_0x3a3fc8])[_0x251e51(0x1ea)]},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x350e9f['columnFormats']&&Object['keys'](_0x350e9f[_0x251e51(0x1cb)])['length']>0x0&&(_0x4f782b=this[_0x251e51(0x1f3)](_0x4f782b,_0x350e9f['columnFormats']),logger[_0x251e51(0x1e4)]({'event':_0xde4986[_0x251e51(0x273)],'formatCount':Object[_0x251e51(0x272)](_0x350e9f['columnFormats'])[_0x251e51(0x1ea)],'formats':Object['keys'](_0x350e9f['columnFormats'])},_0xde4986['KtobM']));if(_0x350e9f['scopeOverride']&&_0x350e9f['scopeOverride'][_0x251e51(0x1ed)]){const {column:_0x18a3e8,value:_0x22acd4}=_0x350e9f['scopeOverride'];_0x4f782b=_0x4f782b['map'](_0x3ae93c=>({..._0x3ae93c,[_0x18a3e8]:_0x22acd4})),logger['debug']({'event':_0xde4986[_0x251e51(0x1f2)],'column':_0x18a3e8,'rowCount':_0x4f782b[_0x251e51(0x1ea)]},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x5277dc=_0x350e9f['lookupFields']?Object['values'](_0x350e9f['lookupFields'])['map'](_0x38340a=>_0x38340a['targetField']):[],_0x3e4829=_0x350e9f['fieldName'][_0x251e51(0x1c8)](_0x672abd=>!_0x5277dc['includes'](_0x672abd)),_0x292879=excelParser[_0x251e51(0x1e6)](_0x46c2f8,_0x3e4829);if(!_0x292879['valid']){await fs[_0x251e51(0x232)](_0x365c27[_0x251e51(0x218)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x292879[_0x251e51(0x1e5)]['join'](',\x20'));}const _0x55196e={'upload_id':_0x1300ab,'filename':_0x365c27['originalname'],'total_rows':_0x563c3c,'headers':_0x46c2f8,'rows':_0x4f782b,'params':_0x350e9f,'created_at':new Date()[_0x251e51(0x1c4)]()};return await redisHelper[_0x251e51(0x1ee)](_0x251e51(0x1eb)+_0x1300ab,_0x55196e,0xe10),await fs['unlink'](_0x365c27['path']),logger[_0x251e51(0x1d1)]({'event':_0xde4986['FIvXG'],'uploadId':_0x1300ab,'filename':_0x365c27['originalname'],'totalRows':_0x563c3c},_0xde4986['JLagK']),{'upload_id':_0x1300ab,'total_rows':_0x563c3c,'preview':_0x4f782b[_0x251e51(0x1d6)](0x0,0xa)};}catch(_0x5b6850){try{await fs['unlink'](_0x365c27['path']);}catch(_0x1e39bf){logError(_0x1e39bf,{'event':_0xde4986[_0x251e51(0x264)]},_0xde4986[_0x251e51(0x253)]);}throw _0x5b6850;}}async['createPreviewJob'](_0x358359){const _0x1d74d8=a0_0xe52136,_0x42a34c={'nzcia':function(_0x1020ae,_0x4464af,_0x1536a7,_0x154ebc){return _0x1020ae(_0x4464af,_0x1536a7,_0x154ebc);},'Ctmkl':_0x1d74d8(0x20e),'EbMJH':'Upload\x20data\x20not\x20found\x20or\x20expired','weJSQ':'preview_job_created'},_0xf7a6ac=this['generateId'](),_0x42e4fe=await redisHelper[_0x1d74d8(0x235)]('upload:'+_0x358359);if(!_0x42e4fe)throw new Error(_0x42a34c['EbMJH']);const _0x16b92e={'job_id':_0xf7a6ac,'upload_id':_0x358359,'status':_0x1d74d8(0x254),'progress':0x0,'created_at':new Date()[_0x1d74d8(0x1c4)](),'params':_0x42e4fe['params']};return await redisHelper['setJob'](_0x1d74d8(0x239)+_0xf7a6ac,_0x16b92e,0xe10),logger['info']({'event':_0x42a34c['weJSQ'],'jobId':_0xf7a6ac,'uploadId':_0x358359},_0x1d74d8(0x25c)),this[_0x1d74d8(0x23a)](_0xf7a6ac,_0x358359,_0x42e4fe)[_0x1d74d8(0x210)](_0x550454=>{const _0x3afd0c=_0x1d74d8;_0x42a34c[_0x3afd0c(0x214)](logError,_0x550454,{'event':_0x42a34c['Ctmkl'],'jobId':_0xf7a6ac},_0x3afd0c(0x267));}),{'job_id':_0xf7a6ac,'status':'validating'};}[a0_0xe52136(0x222)](_0x5b89d7,_0x48ed3f){const _0x286bd1={'YNoDW':function(_0x29f3e6,_0xc4bf2){return _0x29f3e6===_0xc4bf2;},'APapi':function(_0x32096c){return _0x32096c();},'rvJEc':'uuid_auto_generated'};_0x5b89d7['forEach']((_0x256393,_0x5c9fe2)=>{const _0x1f22c2=a0_0x7f27;_0x48ed3f[_0x1f22c2(0x1f1)](_0x2ee605=>{const _0x471c9b=_0x1f22c2,_0x595251=_0x256393[_0x2ee605];if(_0x595251===null||_0x286bd1[_0x471c9b(0x236)](_0x595251,undefined)||_0x286bd1[_0x471c9b(0x236)](_0x595251,'')||_0x286bd1['YNoDW'](String(_0x595251)[_0x471c9b(0x216)](),'-')){const _0x1ca72b=_0x286bd1[_0x471c9b(0x1db)](uuidv7);_0x256393[_0x2ee605]=_0x1ca72b,_0x256393['_generated_uuid']=_0x256393[_0x471c9b(0x23e)]||{},_0x256393['_generated_uuid'][_0x2ee605]=_0x1ca72b,logger[_0x471c9b(0x1e4)]({'event':_0x286bd1['rvJEc'],'rowIndex':_0x5c9fe2,'field':_0x2ee605,'uuid':_0x1ca72b},'Auto-generated\x20UUID\x20for\x20'+_0x2ee605+_0x471c9b(0x274)+(_0x5c9fe2+0x2));}});});}async['processPreviewJob'](_0x3d4909,_0x199ca7,_0x28194){const _0x55c1f6=a0_0xe52136,_0x500451={'DdcvJ':function(_0x1d3efb,_0x5b433e){return _0x1d3efb===_0x5b433e;},'OLafy':function(_0x2a65a4,_0x554ec7){return _0x2a65a4===_0x554ec7;},'vBGeZ':'UPDATE','gJBbL':function(_0x25e208,_0x2bc773){return _0x25e208===_0x2bc773;},'elaJr':'SKIP','ViWaX':function(_0x17bc2b,_0x1e0251){return _0x17bc2b>_0x1e0251;},'pESwR':'Processing\x20lookup\x20fields','DPDsM':function(_0x431d4f,_0x5bc895){return _0x431d4f>_0x5bc895;},'DxVAE':_0x55c1f6(0x21f),'mGUVq':_0x55c1f6(0x255),'emgYa':_0x55c1f6(0x262),'JQZCg':function(_0x1c8efd,_0x42594c,_0x4f6ed2,_0x1b3fb6){return _0x1c8efd(_0x42594c,_0x4f6ed2,_0x1b3fb6);},'DyJmg':_0x55c1f6(0x24f)};try{let {rows:_0x35675e,params:_0x41a33f}=_0x28194;const {requiredFields:_0x5b5b9f,validations:_0x2ba49b,upsertKeys:_0x24eaef,tableName:_0xb71655,primaryKey:_0x1f1c9d,fieldName:_0x3656fd,upsertStrategy:_0xfa40b4,lookupFields:_0x433ee3}=_0x41a33f;this[_0x55c1f6(0x222)](_0x35675e,_0x24eaef);let _0x2b8736=[];if(_0x433ee3&&_0x500451[_0x55c1f6(0x1f0)](Object[_0x55c1f6(0x272)](_0x433ee3)[_0x55c1f6(0x1ea)],0x0)){logger[_0x55c1f6(0x1d1)]({'event':_0x55c1f6(0x1e0),'jobId':_0x3d4909,'lookupFieldCount':Object[_0x55c1f6(0x272)](_0x433ee3)[_0x55c1f6(0x1ea)]},_0x500451[_0x55c1f6(0x21d)]);const _0x5c101a=await lookupResolver['processLookupFields'](_0x35675e,_0x433ee3);_0x35675e=_0x5c101a['processedRows'],_0x2b8736=_0x5c101a[_0x55c1f6(0x1da)],_0x28194[_0x55c1f6(0x246)]=_0x35675e;}const _0x2fb677=importValidator['batchValidateRows'](_0x35675e,_0x5b5b9f||[],_0x2ba49b||{});_0x2b8736[_0x55c1f6(0x1f1)](_0x51bf48=>{const _0x598d29=_0x55c1f6,_0x199c17=_0x2fb677[_0x598d29(0x1cd)](_0xbedc77=>_0xbedc77['rowIndex']===_0x51bf48['rowIndex']);_0x199c17?_0x199c17[_0x598d29(0x1da)][_0x598d29(0x22c)](_0x51bf48['message']):_0x2fb677[_0x598d29(0x22c)]({'rowIndex':_0x51bf48[_0x598d29(0x224)],'rowData':_0x35675e[_0x51bf48['rowIndex']],'errors':[_0x51bf48[_0x598d29(0x26b)]]});});const _0x586fbb=importValidator[_0x55c1f6(0x25e)](_0x35675e,_0x24eaef);_0x586fbb['forEach'](_0x22b8a3=>{const _0x3b6c8e=_0x55c1f6,_0x7bf00c=_0x2fb677['find'](_0x5afa69=>_0x5afa69['rowIndex']===_0x22b8a3[_0x3b6c8e(0x224)]),_0x1c7524=_0x24eaef[_0x3b6c8e(0x24d)](_0x1a5f95=>_0x1a5f95[_0x3b6c8e(0x1de)]())[_0x3b6c8e(0x1f7)](',\x20'),_0x28891b='Duplicate\x20value\x20for\x20'+_0x1c7524;_0x7bf00c?_0x7bf00c['errors'][_0x3b6c8e(0x22c)](_0x28891b):_0x2fb677[_0x3b6c8e(0x22c)]({'rowIndex':_0x22b8a3[_0x3b6c8e(0x224)],'rowData':_0x35675e[_0x22b8a3['rowIndex']],'errors':[_0x28891b]});}),await this[_0x55c1f6(0x268)](_0x35675e,_0x24eaef,_0xb71655,_0x1f1c9d,_0xfa40b4,_0x2fb677),_0x2fb677['forEach'](_0x3057a9=>{const _0x23b90d=_0x55c1f6,_0x45f32e=_0x35675e[_0x3057a9[_0x23b90d(0x224)]];_0x45f32e&&(_0x45f32e[_0x23b90d(0x271)]=_0x3057a9['errors']);});let _0x261fef=0x0,_0x166e08=0x0,_0x47699e=0x0;_0x35675e[_0x55c1f6(0x1f1)](_0x4e715e=>{const _0x961445=_0x55c1f6;if(_0x500451[_0x961445(0x1cf)](_0x4e715e['_action'],'INSERT'))_0x261fef++;else{if(_0x500451['OLafy'](_0x4e715e[_0x961445(0x209)],_0x500451['vBGeZ']))_0x166e08++;else _0x500451[_0x961445(0x258)](_0x4e715e[_0x961445(0x209)],_0x500451[_0x961445(0x1d3)])&&_0x47699e++;}});const _0x1b8e93={'job_id':_0x3d4909,'upload_id':_0x199ca7,'status':_0x500451['DPDsM'](_0x2fb677['length'],0x0)?_0x500451[_0x55c1f6(0x240)]:_0x500451[_0x55c1f6(0x250)],'progress':0x64,'created_at':_0x28194['created_at'],'completed_at':new Date()[_0x55c1f6(0x1c4)](),'preview':{'total_rows':_0x35675e['length'],'insert_count':_0x261fef,'update_count':_0x166e08,'skip_count':_0x47699e,'error_count':_0x2fb677[_0x55c1f6(0x1ea)],'errors':_0x2fb677,'data':_0x35675e,'sample_insert':_0x35675e['filter'](_0x443010=>_0x443010[_0x55c1f6(0x209)]===_0x55c1f6(0x1d5))['slice'](0x0,0x5),'sample_update':_0x35675e[_0x55c1f6(0x1c8)](_0x3cc180=>_0x3cc180[_0x55c1f6(0x209)]===_0x55c1f6(0x23d))['slice'](0x0,0x5),'sample_skip':_0x35675e['filter'](_0x3b98a9=>_0x3b98a9[_0x55c1f6(0x209)]===_0x55c1f6(0x1e7))['slice'](0x0,0x5)},'params':_0x41a33f};await redisHelper[_0x55c1f6(0x1ee)]('job:'+_0x3d4909,_0x1b8e93,0xe10),_0x28194['rows']=_0x35675e,await redisHelper['setJob'](_0x55c1f6(0x1eb)+_0x199ca7,_0x28194,0xe10),logger['info']({'event':'preview_job_completed','jobId':_0x3d4909,'status':_0x1b8e93[_0x55c1f6(0x1f4)],'insertCount':_0x261fef,'updateCount':_0x166e08,'skipCount':_0x47699e,'errorCount':_0x2fb677['length']},_0x500451['emgYa']);}catch(_0x1f1ecb){_0x500451[_0x55c1f6(0x257)](logError,_0x1f1ecb,{'event':'preview_job_failed','jobId':_0x3d4909},_0x500451[_0x55c1f6(0x21c)]),await redisHelper[_0x55c1f6(0x1ee)](_0x55c1f6(0x239)+_0x3d4909,{'job_id':_0x3d4909,'upload_id':_0x199ca7,'status':_0x55c1f6(0x219),'progress':0x0,'error':_0x1f1ecb[_0x55c1f6(0x26b)],'created_at':new Date()['toISOString'](),'completed_at':new Date()[_0x55c1f6(0x1c4)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x4f1513,_0x23c6c8,_0x3d5ffa,_0x162875,_0x4f68da=a0_0xe52136(0x1fa),_0x445201=[]){const _0x4e6343=a0_0xe52136,_0x486df0={'BaqBV':_0x4e6343(0x200),'qZOGv':function(_0x270715,_0x259bf4){return _0x270715===_0x259bf4;},'rFsIB':_0x4e6343(0x1fa),'oZgbB':_0x4e6343(0x276),'oLyBp':function(_0x2289e2,_0xf74c38){return _0x2289e2===_0xf74c38;},'VcZEn':_0x4e6343(0x22b),'aWcnc':'SKIP','KOsTY':function(_0x1d9431,_0x51c7a1){return _0x1d9431===_0x51c7a1;},'TNPJl':function(_0x1e1a72,_0x6f7d3c){return _0x1e1a72(_0x6f7d3c);},'klBUd':function(_0x31f1f0,_0x37b5e5){return _0x31f1f0>_0x37b5e5;}},_0x39e3d4=upsertBuilder[_0x4e6343(0x1fb)](_0x4f1513,0x64);for(const _0x303a1f of _0x39e3d4){const _0x515414=_0x303a1f['map'](_0x1c1628=>_0x1c1628[_0x23c6c8[0x0]]),_0x33f7d5=_0x515414['map'](_0x122302=>{const _0x11e66c=_0x4e6343;if(_0x122302===null||_0x122302===undefined)return _0x486df0[_0x11e66c(0x20b)];return'\x27'+String(_0x122302)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x260350=_0x4e6343(0x23f)+_0x162875+',\x20'+_0x23c6c8['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x3d5ffa+_0x4e6343(0x1d0)+_0x23c6c8[0x0]+_0x4e6343(0x1fc)+_0x33f7d5[_0x4e6343(0x1f7)](',\x20')+_0x4e6343(0x25f);let _0x312cde=await _0x486df0[_0x4e6343(0x26a)](executeQuery,_0x260350);dbType===_0x4e6343(0x231)&&_0x312cde&&_0x486df0['klBUd'](_0x312cde['length'],0x0)&&(_0x312cde=_0x312cde[_0x4e6343(0x24d)](_0x4b2d9c=>{const _0x28bc37=_0x4e6343,_0x459adb={};for(const [_0x19b455,_0x4d45f9]of Object[_0x28bc37(0x230)](_0x4b2d9c)){_0x459adb[_0x19b455['toLowerCase']()]=_0x4d45f9;}return _0x459adb;}));const _0x4b9e7a=new Map();_0x312cde['forEach'](_0x59d6f6=>{const _0x1675c9=_0x4e6343,_0x1d44fc=_0x59d6f6[_0x23c6c8[0x0]];_0x4b9e7a[_0x1675c9(0x242)](_0x1d44fc,_0x59d6f6);}),_0x303a1f[_0x4e6343(0x1f1)]((_0x5a1c71,_0x3440fa)=>{const _0x21b9b2=_0x4e6343,_0x4eecac=_0x5a1c71[_0x23c6c8[0x0]],_0x10b703=_0x4b9e7a['get'](_0x4eecac);if(_0x10b703){if(_0x486df0['qZOGv'](_0x4f68da,_0x486df0['rFsIB']))_0x5a1c71['_action']=_0x21b9b2(0x23d),_0x5a1c71[_0x21b9b2(0x1c7)]=_0x10b703[_0x162875];else{if(_0x486df0['qZOGv'](_0x4f68da,_0x486df0[_0x21b9b2(0x1d2)])){_0x5a1c71['_action']='SKIP',_0x5a1c71['_errors']=_0x5a1c71[_0x21b9b2(0x271)]||[],_0x5a1c71[_0x21b9b2(0x271)]['push'](_0x21b9b2(0x248));const _0x52da18=_0x4f1513['indexOf'](_0x5a1c71);_0x52da18!==-0x1&&_0x445201[_0x21b9b2(0x22c)]({'rowIndex':_0x52da18,'rowData':_0x5a1c71,'errors':[_0x21b9b2(0x248)]});}else _0x486df0['oLyBp'](_0x4f68da,_0x486df0['VcZEn'])&&(_0x5a1c71['_action']=_0x486df0['aWcnc']);}}else{if(_0x486df0[_0x21b9b2(0x1e1)](_0x4f68da,'update_existing'))_0x5a1c71[_0x21b9b2(0x209)]='INSERT';else(_0x486df0['KOsTY'](_0x4f68da,_0x21b9b2(0x276))||_0x486df0[_0x21b9b2(0x1e1)](_0x4f68da,_0x486df0[_0x21b9b2(0x261)]))&&(_0x5a1c71[_0x21b9b2(0x209)]='INSERT');}});}}async['createCommitJob'](_0x5601d2){const _0x215332=a0_0xe52136,_0x32e113={'ZYveb':_0x215332(0x201),'MeXoH':'Preview\x20job\x20not\x20found\x20or\x20expired','QXEEi':function(_0x56107b,_0x399470){return _0x56107b!==_0x399470;},'vTAGz':_0x215332(0x255),'mFDvw':'commit_job_created','SGISE':_0x215332(0x23b)},_0x525f1f=this[_0x215332(0x1e8)](),_0x51f51a=await redisHelper[_0x215332(0x235)](_0x215332(0x239)+_0x5601d2);if(!_0x51f51a)throw new Error(_0x32e113[_0x215332(0x203)]);if(_0x32e113[_0x215332(0x25d)](_0x51f51a['status'],_0x32e113[_0x215332(0x234)]))throw new Error(_0x215332(0x256)+_0x51f51a['status']);const _0x2774a8={'job_id':_0x525f1f,'upload_id':_0x51f51a[_0x215332(0x249)],'preview_job_id':_0x5601d2,'status':'processing','progress':0x0,'created_at':new Date()[_0x215332(0x1c4)](),'params':_0x51f51a['params']};return await redisHelper['setJob']('job:'+_0x525f1f,_0x2774a8,0xe10),logger[_0x215332(0x1d1)]({'event':_0x32e113['mFDvw'],'jobId':_0x525f1f,'previewJobId':_0x5601d2},'Commit\x20job\x20created'),this[_0x215332(0x205)](_0x525f1f,_0x51f51a)[_0x215332(0x210)](_0x5dde99=>{const _0x25f006=_0x215332;logError(_0x5dde99,{'event':_0x32e113[_0x25f006(0x266)],'jobId':_0x525f1f},_0x25f006(0x20d));}),{'job_id':_0x525f1f,'status':_0x32e113[_0x215332(0x226)]};}async[a0_0xe52136(0x205)](_0x2284c5,_0x319622){const _0x5edf94=a0_0xe52136,_0x39623a={'kzDkA':'insert','ZSpYX':'import_fields_filtered','jGLYe':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','NukjG':function(_0x68649,_0x8be731){return _0x68649>_0x8be731;},'yhPEz':function(_0x4f6e1f,_0x36063f){return _0x4f6e1f>_0x36063f;},'HnUlH':_0x5edf94(0x24e),'WJvNg':_0x5edf94(0x1f6),'iGgzB':'Commit\x20job\x20failed'};try{const _0x2daf7b=await redisHelper[_0x5edf94(0x235)](_0x5edf94(0x1eb)+_0x319622['upload_id']);if(!_0x2daf7b)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const {rows:_0x46ae34,params:_0x4110dd}=_0x2daf7b,{tableName:_0x4ea42d,fieldName:_0x2b00b2,primaryKey:_0x33b016,upsertKeys:_0x28b2bd,excludeFromImport:_0x76ee90,lookupFields:_0x230f5a,columnFormats:_0x42844e}=_0x4110dd,_0x476825=_0x230f5a?Object['keys'](_0x230f5a):[],_0x3057cd=new Set([..._0x76ee90||[],..._0x476825]);let _0x12a35f=_0x2b00b2;_0x3057cd['size']>0x0&&(_0x12a35f=_0x2b00b2[_0x5edf94(0x1c8)](_0x2c033d=>!_0x3057cd[_0x5edf94(0x215)](_0x2c033d)),logger['debug']({'event':_0x39623a['ZSpYX'],'originalCount':_0x2b00b2[_0x5edf94(0x1ea)],'filteredCount':_0x12a35f[_0x5edf94(0x1ea)],'excludedFields':Array['from'](_0x3057cd),'lookupSourceFields':_0x476825},_0x39623a[_0x5edf94(0x243)]));const _0x3db231=_0x46ae34[_0x5edf94(0x1c8)](_0x204db3=>_0x204db3[_0x5edf94(0x209)]===_0x5edf94(0x1d5)),_0xc83ce3=_0x46ae34[_0x5edf94(0x1c8)](_0x10b586=>_0x10b586['_action']==='UPDATE');let _0x3d02b8=0x0,_0x17472f=0x0;const _0x1af906=[];if(_0x3db231[_0x5edf94(0x1ea)]>0x0){const _0x488557=upsertBuilder['chunkRows'](_0x3db231,0x64);for(const _0x179678 of _0x488557){const {query:_0x1cac79}=upsertBuilder['buildBatchInsert'](_0x179678,_0x4ea42d,_0x12a35f,_0x42844e||{});_0x1cac79&&_0x1af906['push']({'sql':_0x1cac79,'count':_0x179678['length'],'type':_0x5edf94(0x207)});}}if(_0x39623a['NukjG'](_0xc83ce3[_0x5edf94(0x1ea)],0x0)){const _0x5d50b7=upsertBuilder[_0x5edf94(0x1fb)](_0xc83ce3,0x64);for(const _0x3f5644 of _0x5d50b7){const {query:_0x3c781f}=upsertBuilder[_0x5edf94(0x217)](_0x3f5644,_0x4ea42d,_0x12a35f,_0x33b016,_0x28b2bd,_0x42844e||{});_0x3c781f&&_0x1af906[_0x5edf94(0x22c)]({'sql':_0x3c781f,'count':_0x3f5644['length'],'type':'update'});}}_0x39623a['yhPEz'](_0x1af906[_0x5edf94(0x1ea)],0x0)&&await executeTransaction(_0x1af906[_0x5edf94(0x24d)](_0x2494dd=>({'sql':_0x2494dd['sql'],'params':[]})));_0x1af906[_0x5edf94(0x1f1)](_0x135bd9=>{const _0x873a63=_0x5edf94;if(_0x135bd9[_0x873a63(0x225)]===_0x39623a[_0x873a63(0x213)])_0x3d02b8+=_0x135bd9[_0x873a63(0x1f9)];else _0x17472f+=_0x135bd9['count'];});const _0x24ef63={'job_id':_0x2284c5,'upload_id':_0x319622[_0x5edf94(0x249)],'preview_job_id':_0x319622[_0x5edf94(0x1d8)],'status':_0x39623a[_0x5edf94(0x220)],'progress':0x64,'created_at':_0x319622['created_at'],'started_at':new Date()[_0x5edf94(0x1c4)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x46ae34['length'],'inserted_rows':_0x3d02b8,'updated_rows':_0x17472f,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x4110dd};await redisHelper[_0x5edf94(0x1ee)](_0x5edf94(0x239)+_0x2284c5,_0x24ef63,0xe10),logger['info']({'event':_0x39623a['WJvNg'],'jobId':_0x2284c5,'insertedCount':_0x3d02b8,'updatedCount':_0x17472f},_0x5edf94(0x24c));}catch(_0x18c314){logError(_0x18c314,{'event':'commit_job_failed','jobId':_0x2284c5},_0x39623a[_0x5edf94(0x263)]),await redisHelper[_0x5edf94(0x1ee)](_0x5edf94(0x239)+_0x2284c5,{'job_id':_0x2284c5,'upload_id':_0x319622['upload_id'],'preview_job_id':_0x319622[_0x5edf94(0x1d8)],'status':_0x5edf94(0x219),'progress':0x0,'error':_0x18c314['message'],'created_at':_0x319622['created_at'],'started_at':new Date()[_0x5edf94(0x1c4)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x39ec52){const _0x29c880=a0_0xe52136,_0x4edce1={'Qwvou':'Job\x20not\x20found\x20or\x20expired'},_0x26c4c7=await redisHelper[_0x29c880(0x235)]('job:'+_0x39ec52);if(!_0x26c4c7)return{'success':![],'error':_0x4edce1[_0x29c880(0x244)]};return{'success':!![],'data':_0x26c4c7};}}module[a0_0xe52136(0x1e2)]=new ImportService();
1
+ function a0_0x4a02(_0x2f4a30,_0xe9ea61){_0x2f4a30=_0x2f4a30-0x11d;const _0x35d98b=a0_0x35d9();let _0x4a023f=_0x35d98b[_0x2f4a30];if(a0_0x4a02['zvuptZ']===undefined){var _0x2800e0=function(_0x25b185){const _0x902dfb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5cebf5='',_0x59057e='';for(let _0x47cd67=0x0,_0x22127a,_0x5ca74f,_0x3b3946=0x0;_0x5ca74f=_0x25b185['charAt'](_0x3b3946++);~_0x5ca74f&&(_0x22127a=_0x47cd67%0x4?_0x22127a*0x40+_0x5ca74f:_0x5ca74f,_0x47cd67++%0x4)?_0x5cebf5+=String['fromCharCode'](0xff&_0x22127a>>(-0x2*_0x47cd67&0x6)):0x0){_0x5ca74f=_0x902dfb['indexOf'](_0x5ca74f);}for(let _0x4fcb91=0x0,_0x2a263e=_0x5cebf5['length'];_0x4fcb91<_0x2a263e;_0x4fcb91++){_0x59057e+='%'+('00'+_0x5cebf5['charCodeAt'](_0x4fcb91)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59057e);};a0_0x4a02['RwkkVE']=_0x2800e0,a0_0x4a02['vPTctN']={},a0_0x4a02['zvuptZ']=!![];}const _0x35e64c=_0x35d98b[0x0],_0x12d984=_0x2f4a30+_0x35e64c,_0x3ecc2e=a0_0x4a02['vPTctN'][_0x12d984];return!_0x3ecc2e?(_0x4a023f=a0_0x4a02['RwkkVE'](_0x4a023f),a0_0x4a02['vPTctN'][_0x12d984]=_0x4a023f):_0x4a023f=_0x3ecc2e,_0x4a023f;}const a0_0x35876d=a0_0x4a02;(function(_0x19fcb1,_0x25d9a2){const _0x26c269=a0_0x4a02,_0x5615a5=_0x19fcb1();while(!![]){try{const _0x25ade6=-parseInt(_0x26c269(0x193))/0x1*(-parseInt(_0x26c269(0x14a))/0x2)+-parseInt(_0x26c269(0x1c5))/0x3*(parseInt(_0x26c269(0x1b1))/0x4)+parseInt(_0x26c269(0x183))/0x5*(-parseInt(_0x26c269(0x124))/0x6)+parseInt(_0x26c269(0x13a))/0x7+parseInt(_0x26c269(0x1a7))/0x8+parseInt(_0x26c269(0x18d))/0x9+-parseInt(_0x26c269(0x18b))/0xa;if(_0x25ade6===_0x25d9a2)break;else _0x5615a5['push'](_0x5615a5['shift']());}catch(_0x4f0da5){_0x5615a5['push'](_0x5615a5['shift']());}}}(a0_0x35d9,0xe7510));const {v7:uuidv7}=require(a0_0x35876d(0x18f)),path=require('path'),fs=require('fs')[a0_0x35876d(0x140)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x35876d(0x16f)][a0_0x35876d(0x128)]||'postgresql')[a0_0x35876d(0x1bf)]();function a0_0x35d9(){const _0x44c1d9=['Dw5SAw5R','Bwf0y2G','mZa3nZK3re1gv2Dw','Aw5Zzxj0x29UBhK','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','AwjzD20','zuXfsKm','sM1RrMS','ChjVBwLZzxm','A2v5CW','C3vIC3rYAw5N','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','yM9VBgvHBG','DxbKyxrL','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','EvvrBg8','y29TBwL0x2PVyL9MywLSzwq','ndm5ngz3vuL1Bq','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','ChjVy2vZC0nVBw1PDePVyG','Cgf0Aa','zNjVBq','C2v0','u0Tjua','C3rYAw5N','DxbSB2fKoG','y2HHCKf0','vvbmt0fex0rjuG','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','ChjVy2vZC2LUzW','lI4VDxrPBhmVzgi','C2jJBha','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','y29TCgXLDgvK','y2H1BMTsB3DZ','CxzHtuG','yxbWBhLdB2X1Bw5gB3jTyxrZ','ChDKuxC','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','z2vUzxjHDgvjza','DxvPzf9HDxrVx2DLBMvYyxrLza','DMfSDwvZ','vMLkBKS','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','y2XzC1O','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','Dg9ju09tDhjPBMC','igf0ihjVDYa','x3vWBg9HzerPCG','B3jPz2LUywXUyw1L','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','C2TPCf9LEgLZDgLUzW','y2f0y2G','zgvMyxvSDa','zw52','vvbeqvrf','sLv1ExK','qvrAr1e','zMfSC2u','z2v0rgf0zq','uhjLDMLLDYbQB2iGzMfPBgvK','BxnmDxi','zMXVB3i','zgf0zq','x2v4Axn0Aw5Nswq','DwTLyuK','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','y29SDw1UrM9YBwf0CW','CMvWBgfJzq','y29TBwL0x3bYB2nLC3nFzxjYB3i','B0HdsuK','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','CgfYyw1Z','BgvUz3rO','mZiXnun0D0HJBa','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','Aw5JBhvKzxm','C3rHDhvZ','Aw5KzxHpzG','DMfSAwq','CMvXDwvZDf9Zy29Wzv9HChbSAwvK','v3bct0y','mZmWotG5mezOse1pvq','DhjPBq','ndy5mJGWn3nJBLrQtW','z2v0sM9I','DxvPza','zxHLy3v0zvf1zxj5','rhvWBgLJyxrLihzHBhvLigzVCIa','DxbSB2fKrMLSzq','mJmWuerxC1Dq','AgfZ','CMDKs1m','rgnLzfK','zMLSDgvY','BwfW','ChjLDMLLD19LCNjVCG','yMflCvG','zxHLy3v0zvrYyw5Zywn0Aw9U','AgvHzgvYC19TyxbWzwq','tLvmta','Aw5MBW','wffsy0q','x2fJDgLVBG','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','CgfYC2vfEgnLBezPBgu','DxbSB2fKrgLY','BNvTyMvY','AM9Ix2LK','uhjLDMLLDYbQB2iGy3jLyxrLza','otC3odG0mgDmC1nrBW','BwvZC2fNzq','AM9PBG','q1HJrhm','ueHku2y','yNvPBgrcyxrJAfvWzgf0zq','cIaGicaGicaGv0HfuKuG','C2nVCgvpDMvYCMLKzq','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','BgjtwwO','mZGWotjrs2LnuwW','y29SDw1U','zxjYB3jZ','DxbSB2fKx2LK','ChjVy2vZC0XVB2T1CezPzwXKCW','Dg9tDhjPBMC','x2DLBMvYyxrLzf91DwLK','sg5gCMK','jdfFjdi','CM93sw5KzxG','zMz4CuC','AM9IoG','DMfSAwrHDgLUzW','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','Dg9mB3DLCKnHC2u','x2vYCM9YCW','y29TBwL0x2PVyL9JCMvHDgvK','yNvPBgrcyxrJAeLUC2vYDa','DhbvEw4','CMfUzg9T','mZnZAhHju1O','cIaGicaGicaGrLjptsa','CM93CW','tenZsLm','Dhj1zq','CgfKu3rHCNq','A0PPwNm','y291BNq','cIaGicaGicaGu0vmrunuia','s3f0v0e','zMLLBgrmywjLBhm','y3nwzxe','BwLZC2LUz0zPzwXKCW','odq5mfL0A1L5Eq','C2v0sM9I','C2XPy2u','ChvZAa','rejFvfLqrq','su5trvju','z2v0','zw50CMLLCW','BxLZCwW','y3jLyxrLzf9HDa','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zM9YrwfJAa','svbwzhO','Dg9vChbLCKnHC2u','BMPpBxu','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','B3jHy2XL','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','zgvIDwC','q29TBwL0igPVyIbMywLSzwq'];a0_0x35d9=function(){return _0x44c1d9;};return a0_0x35d9();}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x35876d(0x134))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x45ce1c,_0x309a70)=>oracleDb['executeQuery'](_0x45ce1c,_0x309a70),executeTransaction=_0x5f0120=>oracleDb['executeTransaction'](_0x5f0120);else{if(dbType===a0_0x35876d(0x12c)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x5eb1ae,_0x2c21e7)=>mysqlDb[a0_0x35876d(0x190)](_0x5eb1ae,_0x2c21e7),executeTransaction=_0x5c7da3=>mysqlDb[a0_0x35876d(0x19b)](_0x5c7da3);}else{const db=require(a0_0x35876d(0x157));executeQuery=db['executeQuery'],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0x35876d(0x143)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x35876d(0x147)),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0x575226=a0_0x35876d;this[_0x575226(0x169)]=null;}get[a0_0x35876d(0x1a3)](){const _0x36475c=a0_0x35876d;if(!this[_0x36475c(0x169)]){const _0x131a33=process['env']['RESTFORGE_PROJECT_NAME']||_0x36475c(0x16e);this['_uploadDir']=process[_0x36475c(0x16f)][_0x36475c(0x154)]||path['join'](__dirname,'../../temp/uploads/'+_0x131a33);}return this[_0x36475c(0x169)];}[a0_0x35876d(0x160)](){const _0x515bf9=a0_0x35876d,_0x30ccaa={'lbSYj':function(_0x24b146,_0x5a9f43){return _0x24b146-_0x5a9f43;},'DcedY':function(_0x1e199c,_0x4fa67c){return _0x1e199c<_0x4fa67c;}},_0x25bdb3=_0x515bf9(0x12e),_0x651629=Date['now']()[_0x515bf9(0x1b6)](0x24),_0x510f9e=uuidv7()[_0x515bf9(0x17d)](/-/g,'')['substring'](0x0,_0x30ccaa[_0x515bf9(0x1b0)](0xc,_0x651629[_0x515bf9(0x182)])),_0x15bd37=(_0x651629+_0x510f9e)[_0x515bf9(0x142)](0x0,0xc);let _0x3ed550='';for(let _0x7c4365=0x0;_0x30ccaa[_0x515bf9(0x196)](_0x7c4365,0xc);_0x7c4365++){_0x15bd37[_0x7c4365]?_0x3ed550+=_0x15bd37[_0x7c4365]:_0x3ed550+=_0x25bdb3[_0x515bf9(0x153)](Math[_0x515bf9(0x177)](Math[_0x515bf9(0x1c4)]()*_0x25bdb3['length']));}return _0x3ed550;}['buildLabelToFieldMap'](_0x11e925){const _0x3acb62=a0_0x35876d,_0x2e84f3={'TUERg':function(_0x363af4,_0x17c565){return _0x363af4(_0x17c565);},'cvvUC':_0x3acb62(0x1b9)},_0x12331f=new Map();if(!_0x11e925)return _0x12331f;return Object[_0x3acb62(0x12b)](_0x11e925)[_0x3acb62(0x12f)](([_0x581189,_0xfcdf96])=>{const _0x167940=_0x3acb62,_0x2798ae=_0x2e84f3['TUERg'](String,_0xfcdf96)[_0x167940(0x18c)]()[_0x167940(0x17d)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,'$1_$2')[_0x167940(0x17d)](/([A-Z]+)([A-Z][a-z])/g,_0x2e84f3['cvvUC'])[_0x167940(0x1bf)]();_0x12331f[_0x167940(0x14f)](_0x2798ae,_0x581189);}),logger['debug']({'event':'label_to_field_map_built','mappingCount':_0x12331f['size']},'Label\x20to\x20field\x20mapping\x20built'),_0x12331f;}[a0_0x35876d(0x15d)](_0x3601d9,_0x3b0dec){const _0x41c87d=a0_0x35876d,_0x445ccd={'AxKVe':_0x41c87d(0x178),'msLur':function(_0x34285f,_0x2c6520){return _0x34285f(_0x2c6520);}};if(!_0x3b0dec||Object['keys'](_0x3b0dec)['length']===0x0)return _0x3601d9;return _0x3601d9['map'](_0x2a9742=>{const _0x375af1=_0x41c87d,_0x1112b5={..._0x2a9742};for(const [_0x19350c,_0xfc1e44]of Object[_0x375af1(0x12b)](_0x3b0dec)){const _0x49e50c=_0x1112b5[_0x19350c];if(_0x49e50c===null||_0x49e50c===undefined||_0x49e50c===''){_0x1112b5[_0x19350c]=null;continue;}switch(_0xfc1e44['type']){case _0x445ccd['AxKVe']:_0x1112b5[_0x19350c]=this['formatDateForDatabase'](_0x49e50c);break;case _0x375af1(0x1a4):_0x1112b5[_0x19350c]=this['formatNumberForDatabase'](_0x49e50c);break;case'boolean':_0x1112b5[_0x19350c]=this[_0x375af1(0x133)](_0x49e50c);break;case'text':_0x1112b5[_0x19350c]=_0x445ccd[_0x375af1(0x176)](String,_0x49e50c);break;default:break;}}return _0x1112b5;});}[a0_0x35876d(0x164)](_0x37a3de){const _0x5d60f6=a0_0x35876d,_0x211ffe={'JmkFk':function(_0x4a8451,_0x9d8afc){return _0x4a8451===_0x9d8afc;},'WpBOF':'string'};if(_0x37a3de===null||_0x211ffe[_0x5d60f6(0x13f)](_0x37a3de,undefined)||_0x37a3de==='')return null;if(typeof _0x37a3de===_0x5d60f6(0x151)&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x37a3de))return _0x37a3de;if(_0x37a3de instanceof Date){if(isNaN(_0x37a3de['getTime']()))return null;const _0x3cb45f=_0x37a3de['getFullYear'](),_0x58716d=String(_0x37a3de['getMonth']()+0x1)['padStart'](0x2,'0'),_0xa1a61d=String(_0x37a3de[_0x5d60f6(0x174)]())[_0x5d60f6(0x1ca)](0x2,'0');return _0x3cb45f+'-'+_0x58716d+'-'+_0xa1a61d;}if(_0x211ffe[_0x5d60f6(0x13f)](typeof _0x37a3de,_0x211ffe[_0x5d60f6(0x18a)])){const _0x4cc36=_0x37a3de[_0x5d60f6(0x139)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x4cc36){const _0x223f62=String(_0x4cc36[0x1])['padStart'](0x2,'0'),_0x2ab20b=String(_0x4cc36[0x2])['padStart'](0x2,'0'),_0x56dcdd=_0x4cc36[0x3];return _0x56dcdd+'-'+_0x2ab20b+'-'+_0x223f62;}const _0x401160=_0x37a3de['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x401160){const _0x161099=_0x401160[0x1],_0x507005=String(_0x401160[0x2])[_0x5d60f6(0x1ca)](0x2,'0'),_0x533738=String(_0x401160[0x3])[_0x5d60f6(0x1ca)](0x2,'0');return _0x161099+'-'+_0x507005+'-'+_0x533738;}}return _0x37a3de;}['formatNumberForDatabase'](_0x45c5f4){const _0x312d1a=a0_0x35876d,_0x5e00f3={'tpUyn':function(_0x3595a0,_0x188a9f){return _0x3595a0===_0x188a9f;},'oHCII':_0x312d1a(0x1a4),'HpuCB':_0x312d1a(0x151)};if(_0x5e00f3[_0x312d1a(0x1c3)](_0x45c5f4,null)||_0x45c5f4===undefined||_0x45c5f4==='')return null;if(typeof _0x45c5f4===_0x5e00f3[_0x312d1a(0x17f)])return isNaN(_0x45c5f4)?null:_0x45c5f4;if(typeof _0x45c5f4===_0x5e00f3['HpuCB']){let _0x403564=_0x45c5f4[_0x312d1a(0x18c)]();const _0x50bfcf=/,\d{1,2}$/['test'](_0x403564)&&!/,\d{3}/['test'](_0x403564);_0x50bfcf?_0x403564=_0x403564['replace'](/\./g,'')['replace'](',','.'):_0x403564=_0x403564[_0x312d1a(0x17d)](/,/g,'');const _0x5180f8=parseFloat(_0x403564);return isNaN(_0x5180f8)?null:_0x5180f8;}return null;}['formatBooleanForDatabase'](_0x286297){const _0x27c729=a0_0x35876d,_0x59a606={'csVeq':function(_0xfdcbc,_0x5e3e8a){return _0xfdcbc===_0x5e3e8a;},'baKqX':function(_0x52626b,_0x41f541){return _0x52626b===_0x41f541;},'LCsJS':_0x27c729(0x145),'ATZGQ':_0x27c729(0x151),'clYsZ':'true','sbclp':_0x27c729(0x173),'giAfE':'number'};if(_0x59a606[_0x27c729(0x122)](_0x286297,null)||_0x59a606['csVeq'](_0x286297,undefined)||_0x59a606[_0x27c729(0x19a)](_0x286297,''))return null;if(_0x59a606[_0x27c729(0x19a)](typeof _0x286297,_0x59a606[_0x27c729(0x1c8)]))return _0x286297?_0x27c729(0x1c9):'false';if(typeof _0x286297===_0x59a606[_0x27c729(0x172)]){const _0xa04292=_0x286297[_0x27c729(0x18c)]()[_0x27c729(0x1bf)]();if([_0x27c729(0x1c9),'yes','y','1'][_0x27c729(0x185)](_0xa04292))return _0x59a606['clYsZ'];if(['false','no','n','0']['includes'](_0xa04292))return _0x59a606['sbclp'];return null;}if(typeof _0x286297===_0x59a606['giAfE'])return _0x286297?_0x59a606[_0x27c729(0x165)]:_0x59a606[_0x27c729(0x158)];return null;}async[a0_0x35876d(0x192)](_0x111129,_0x3843e4){const _0x579ae2=a0_0x35876d,_0x32bfd2={'gfGAB':_0x579ae2(0x19c),'uIIhY':_0x579ae2(0x159),'HnFri':function(_0x2c7d61,_0x2b5af8){return _0x2c7d61>_0x2b5af8;},'eLEJC':'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows','XDbVt':_0x579ae2(0x144),'TKtBN':function(_0x44beb7,_0x1416d1,_0x4d5bcb,_0x59f88c){return _0x44beb7(_0x1416d1,_0x4d5bcb,_0x59f88c);},'kncHL':'file_cleanup_error'},_0x12d5b8=this['generateId']();try{let {headers:_0x74ac86,rows:_0x21c80f,totalRows:_0x3e2dc8}=await excelParser[_0x579ae2(0x1a2)](_0x111129['path']);const _0x28e7b6=this['buildLabelToFieldMap'](_0x3843e4[_0x579ae2(0x121)]),_0x18fda2=_0x74ac86['map'](_0x50fb9b=>{const _0x7d708b=_0x28e7b6['get'](_0x50fb9b);return _0x7d708b||_0x50fb9b;});_0x21c80f=_0x21c80f[_0x579ae2(0x198)](_0x5908a4=>{const _0x24b698=_0x579ae2,_0x55554a={};return _0x74ac86[_0x24b698(0x12f)]((_0x4d3b42,_0x320215)=>{const _0x255e30=_0x18fda2[_0x320215];_0x55554a[_0x255e30]=_0x5908a4[_0x4d3b42];}),_0x55554a;}),_0x74ac86=_0x18fda2,logger[_0x579ae2(0x136)]({'event':_0x32bfd2['gfGAB'],'original':_0x74ac86['length'],'mapped':_0x18fda2[_0x579ae2(0x197)]((_0x3b41e5,_0x5ead1f)=>_0x3b41e5!==_0x74ac86[_0x5ead1f])['length']},_0x32bfd2['uIIhY']);_0x3843e4['columnFormats']&&_0x32bfd2[_0x579ae2(0x1b8)](Object[_0x579ae2(0x141)](_0x3843e4['columnFormats'])[_0x579ae2(0x182)],0x0)&&(_0x21c80f=this[_0x579ae2(0x15d)](_0x21c80f,_0x3843e4[_0x579ae2(0x17c)]),logger[_0x579ae2(0x136)]({'event':_0x579ae2(0x1a1),'formatCount':Object['keys'](_0x3843e4[_0x579ae2(0x17c)])[_0x579ae2(0x182)],'formats':Object[_0x579ae2(0x141)](_0x3843e4['columnFormats'])},_0x579ae2(0x16b)));if(_0x3843e4[_0x579ae2(0x1ae)]&&_0x3843e4[_0x579ae2(0x1ae)][_0x579ae2(0x1b2)]){const {column:_0x257d69,value:_0x14dfc7}=_0x3843e4['scopeOverride'];_0x21c80f=_0x21c80f[_0x579ae2(0x198)](_0x2fc0bd=>({..._0x2fc0bd,[_0x257d69]:_0x14dfc7})),logger[_0x579ae2(0x136)]({'event':_0x579ae2(0x189),'column':_0x257d69,'rowCount':_0x21c80f[_0x579ae2(0x182)]},_0x32bfd2[_0x579ae2(0x13e)]);}const _0x36ed58=_0x3843e4['lookupFields']?Object[_0x579ae2(0x162)](_0x3843e4['lookupFields'])[_0x579ae2(0x198)](_0x14ecbd=>_0x14ecbd['targetField']):[],_0x19cf02=_0x3843e4['fieldName']['filter'](_0x3d60ff=>!_0x36ed58[_0x579ae2(0x185)](_0x3d60ff)),_0x31f3dd=excelParser[_0x579ae2(0x166)](_0x74ac86,_0x19cf02);if(!_0x31f3dd[_0x579ae2(0x188)]){await fs['unlink'](_0x111129[_0x579ae2(0x14d)]);throw new Error(_0x579ae2(0x1be)+_0x31f3dd[_0x579ae2(0x123)]['join'](',\x20'));}const _0xbee558={'upload_id':_0x12d5b8,'filename':_0x111129['originalname'],'total_rows':_0x3e2dc8,'headers':_0x74ac86,'rows':_0x21c80f,'params':_0x3843e4,'created_at':new Date()['toISOString']()};return await redisHelper[_0x579ae2(0x125)](_0x579ae2(0x152)+_0x12d5b8,_0xbee558,0xe10),await fs['unlink'](_0x111129['path']),logger[_0x579ae2(0x19e)]({'event':'import_file_uploaded','uploadId':_0x12d5b8,'filename':_0x111129[_0x579ae2(0x16a)],'totalRows':_0x3e2dc8},_0x32bfd2['XDbVt']),{'upload_id':_0x12d5b8,'total_rows':_0x3e2dc8,'preview':_0x21c80f[_0x579ae2(0x126)](0x0,0xa)};}catch(_0x46a6ae){try{await fs[_0x579ae2(0x138)](_0x111129[_0x579ae2(0x14d)]);}catch(_0x1ba2e3){_0x32bfd2['TKtBN'](logError,_0x1ba2e3,{'event':_0x32bfd2['kncHL']},'Failed\x20to\x20cleanup\x20file');}throw _0x46a6ae;}}async['createPreviewJob'](_0x585fa1){const _0x4d8931=a0_0x35876d,_0x254808={'njOmu':_0x4d8931(0x17b),'lGxMy':_0x4d8931(0x180),'DWqcq':_0x4d8931(0x1a6)},_0x23436a=this['generateId'](),_0x337833=await redisHelper['getJob'](_0x4d8931(0x152)+_0x585fa1);if(!_0x337833)throw new Error(_0x4d8931(0x13c));const _0xc22b06={'job_id':_0x23436a,'upload_id':_0x585fa1,'status':_0x4d8931(0x1bd),'progress':0x0,'created_at':new Date()[_0x4d8931(0x167)](),'params':_0x337833['params']};return await redisHelper['setJob'](_0x4d8931(0x1bc)+_0x23436a,_0xc22b06,0xe10),logger['info']({'event':'preview_job_created','jobId':_0x23436a,'uploadId':_0x585fa1},_0x254808['DWqcq']),this['processPreviewJob'](_0x23436a,_0x585fa1,_0x337833)[_0x4d8931(0x16d)](_0x42032d=>{const _0x2978b7=_0x4d8931;logError(_0x42032d,{'event':_0x254808[_0x2978b7(0x132)],'jobId':_0x23436a},_0x254808['lGxMy']);}),{'job_id':_0x23436a,'status':'validating'};}['autoGenerateUpsertKeys'](_0x123e4c,_0x4917e1){const _0x3228bf=a0_0x35876d,_0x5db6b1={'JUuyy':function(_0x39c9dc,_0x292e6b){return _0x39c9dc===_0x292e6b;}};_0x123e4c[_0x3228bf(0x12f)]((_0x513412,_0x5e63ba)=>{const _0x145ade={'VnEbd':function(_0x100ff6,_0x528fe2){return _0x5db6b1['JUuyy'](_0x100ff6,_0x528fe2);},'ibYwm':function(_0x4d7efe,_0x141214){const _0x1b0d21=a0_0x4a02;return _0x5db6b1[_0x1b0d21(0x171)](_0x4d7efe,_0x141214);},'NEXOu':function(_0x32a827,_0x115c5b){return _0x32a827(_0x115c5b);}};_0x4917e1['forEach'](_0x21dff3=>{const _0x71ac39=a0_0x4a02,_0x5e1777=_0x513412[_0x21dff3];if(_0x145ade['VnEbd'](_0x5e1777,null)||_0x5e1777===undefined||_0x145ade['VnEbd'](_0x5e1777,'')||_0x145ade[_0x71ac39(0x13d)](_0x145ade['NEXOu'](String,_0x5e1777)['trim'](),'-')){const _0x91b701=uuidv7();_0x513412[_0x21dff3]=_0x91b701,_0x513412[_0x71ac39(0x1b7)]=_0x513412[_0x71ac39(0x1b7)]||{},_0x513412['_generated_uuid'][_0x21dff3]=_0x91b701,logger['debug']({'event':_0x71ac39(0x161),'rowIndex':_0x5e63ba,'field':_0x21dff3,'uuid':_0x91b701},'Auto-generated\x20UUID\x20for\x20'+_0x21dff3+_0x71ac39(0x168)+(_0x5e63ba+0x2));}});});}async['processPreviewJob'](_0xb2554d,_0x1f6c47,_0x4ef147){const _0x3d9e62=a0_0x35876d,_0x12374a={'FJajw':'INSERT','KqtWA':_0x3d9e62(0x170),'qvaMH':'Processing\x20lookup\x20fields','pyFYx':function(_0x2ebf65,_0x51e63d){return _0x2ebf65||_0x51e63d;},'wUIBA':'preview_ok','yUQlo':'preview_job_completed','rgdKS':function(_0x4da476,_0x5b2052,_0x55f0c5,_0x57bd0e){return _0x4da476(_0x5b2052,_0x55f0c5,_0x57bd0e);},'YdWEx':'preview_job_failed','kJiZs':'failed'};try{let {rows:_0x3c3354,params:_0x3b9658}=_0x4ef147;const {requiredFields:_0x26eb23,validations:_0x567ec8,upsertKeys:_0x4806db,tableName:_0x386a54,primaryKey:_0x38539a,fieldName:_0x53bc65,upsertStrategy:_0x4c0490,lookupFields:_0x5be01e}=_0x3b9658;this[_0x3d9e62(0x184)](_0x3c3354,_0x4806db);let _0x3fbc8b=[];if(_0x5be01e&&Object[_0x3d9e62(0x141)](_0x5be01e)['length']>0x0){logger['info']({'event':'processing_lookup_fields','jobId':_0xb2554d,'lookupFieldCount':Object['keys'](_0x5be01e)[_0x3d9e62(0x182)]},_0x12374a[_0x3d9e62(0x15c)]);const _0x409a00=await lookupResolver[_0x3d9e62(0x1b5)](_0x3c3354,_0x5be01e);_0x3c3354=_0x409a00['processedRows'],_0x3fbc8b=_0x409a00['errors'],_0x4ef147[_0x3d9e62(0x1c7)]=_0x3c3354;}const _0x9dc235=importValidator['batchValidateRows'](_0x3c3354,_0x26eb23||[],_0x12374a['pyFYx'](_0x567ec8,{}));_0x3fbc8b[_0x3d9e62(0x12f)](_0x316914=>{const _0x379e4f=_0x3d9e62,_0x52803d=_0x9dc235['find'](_0x2e8501=>_0x2e8501['rowIndex']===_0x316914[_0x379e4f(0x1ba)]);_0x52803d?_0x52803d[_0x379e4f(0x1b3)][_0x379e4f(0x127)](_0x316914['message']):_0x9dc235[_0x379e4f(0x127)]({'rowIndex':_0x316914[_0x379e4f(0x1ba)],'rowData':_0x3c3354[_0x316914['rowIndex']],'errors':[_0x316914[_0x379e4f(0x1a8)]]});});const _0x3c34c9=importValidator[_0x3d9e62(0x1af)](_0x3c3354,_0x4806db);_0x3c34c9['forEach'](_0x97e38b=>{const _0x1d8828=_0x3d9e62,_0x2cf6ad=_0x9dc235['find'](_0x14fc9b=>_0x14fc9b['rowIndex']===_0x97e38b['rowIndex']),_0x3d1f32=_0x4806db['map'](_0x5affdc=>_0x5affdc[_0x1d8828(0x131)]())['join'](',\x20'),_0xff7278=_0x1d8828(0x191)+_0x3d1f32;_0x2cf6ad?_0x2cf6ad[_0x1d8828(0x1b3)]['push'](_0xff7278):_0x9dc235[_0x1d8828(0x127)]({'rowIndex':_0x97e38b[_0x1d8828(0x1ba)],'rowData':_0x3c3354[_0x97e38b[_0x1d8828(0x1ba)]],'errors':[_0xff7278]});}),await this['detectDatabaseDuplicates'](_0x3c3354,_0x4806db,_0x386a54,_0x38539a,_0x4c0490,_0x9dc235),_0x9dc235['forEach'](_0x52a13e=>{const _0x8d5405=_0x3d9e62,_0x115c02=_0x3c3354[_0x52a13e[_0x8d5405(0x1ba)]];_0x115c02&&(_0x115c02[_0x8d5405(0x1c0)]=_0x52a13e[_0x8d5405(0x1b3)]);});let _0x5c9636=0x0,_0x1160dd=0x0,_0x451de7=0x0;_0x3c3354['forEach'](_0x43ba82=>{const _0x54b972=_0x3d9e62;if(_0x43ba82[_0x54b972(0x1a0)]===_0x12374a['FJajw'])_0x5c9636++;else{if(_0x43ba82['_action']===_0x12374a[_0x54b972(0x120)])_0x1160dd++;else _0x43ba82['_action']===_0x54b972(0x150)&&_0x451de7++;}});const _0x10afaf={'job_id':_0xb2554d,'upload_id':_0x1f6c47,'status':_0x9dc235[_0x3d9e62(0x182)]>0x0?_0x3d9e62(0x199):_0x12374a['wUIBA'],'progress':0x64,'created_at':_0x4ef147[_0x3d9e62(0x12d)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x3c3354[_0x3d9e62(0x182)],'insert_count':_0x5c9636,'update_count':_0x1160dd,'skip_count':_0x451de7,'error_count':_0x9dc235[_0x3d9e62(0x182)],'errors':_0x9dc235,'data':_0x3c3354,'sample_insert':_0x3c3354['filter'](_0x41c102=>_0x41c102[_0x3d9e62(0x1a0)]===_0x3d9e62(0x129))[_0x3d9e62(0x126)](0x0,0x5),'sample_update':_0x3c3354['filter'](_0x5eb53d=>_0x5eb53d[_0x3d9e62(0x1a0)]===_0x3d9e62(0x170))[_0x3d9e62(0x126)](0x0,0x5),'sample_skip':_0x3c3354['filter'](_0x312ec3=>_0x312ec3['_action']===_0x3d9e62(0x150))[_0x3d9e62(0x126)](0x0,0x5)},'params':_0x3b9658};await redisHelper['setJob'](_0x3d9e62(0x1bc)+_0xb2554d,_0x10afaf,0xe10),_0x4ef147[_0x3d9e62(0x1c7)]=_0x3c3354,await redisHelper[_0x3d9e62(0x125)]('upload:'+_0x1f6c47,_0x4ef147,0xe10),logger['info']({'event':_0x12374a[_0x3d9e62(0x148)],'jobId':_0xb2554d,'status':_0x10afaf['status'],'insertCount':_0x5c9636,'updateCount':_0x1160dd,'skipCount':_0x451de7,'errorCount':_0x9dc235['length']},'Preview\x20job\x20completed');}catch(_0x47b017){_0x12374a[_0x3d9e62(0x195)](logError,_0x47b017,{'event':_0x12374a['YdWEx'],'jobId':_0xb2554d},_0x3d9e62(0x175)),await redisHelper['setJob']('job:'+_0xb2554d,{'job_id':_0xb2554d,'upload_id':_0x1f6c47,'status':_0x12374a[_0x3d9e62(0x11d)],'progress':0x0,'error':_0x47b017['message'],'created_at':new Date()[_0x3d9e62(0x167)](),'completed_at':new Date()[_0x3d9e62(0x167)]()},0xe10);}}async['detectDatabaseDuplicates'](_0xab9231,_0x466ef5,_0x3f3cce,_0x507744,_0x4ca26d='update_existing',_0x1959d5=[]){const _0x429f68=a0_0x35876d,_0x19459c={'CXcDs':function(_0x5c043c,_0x5c3d7b){return _0x5c043c===_0x5c3d7b;},'IPVdz':'update_existing','pwdQw':_0x429f68(0x150),'uIzWt':function(_0x2c978b,_0x585acc){return _0x2c978b!==_0x585acc;},'XQRcD':function(_0x222e4e,_0x1b393f){return _0x222e4e===_0x1b393f;},'lqZtE':function(_0x36c057,_0x105df4){return _0x36c057===_0x105df4;},'LeJkw':'skip_existing','ViJnK':function(_0x7dabaa,_0x59dd42){return _0x7dabaa===_0x59dd42;}},_0x4c9d66=upsertBuilder['chunkRows'](_0xab9231,0x64);for(const _0x4ec31d of _0x4c9d66){const _0x4f9275=_0x4ec31d[_0x429f68(0x198)](_0x50d8ef=>_0x50d8ef[_0x466ef5[0x0]]),_0x327067=_0x4f9275['map'](_0x241130=>{const _0x24b3d7=_0x429f68;if(_0x19459c[_0x24b3d7(0x1aa)](_0x241130,null)||_0x19459c['CXcDs'](_0x241130,undefined))return _0x24b3d7(0x19d);return'\x27'+String(_0x241130)[_0x24b3d7(0x17d)](/'/g,'\x27\x27')+'\x27';}),_0x41dc1e=_0x429f68(0x11f)+_0x507744+',\x20'+_0x466ef5[_0x429f68(0x1a9)](',\x20')+_0x429f68(0x1c6)+_0x3f3cce+_0x429f68(0x1ad)+_0x466ef5[0x0]+'\x20IN\x20('+_0x327067[_0x429f68(0x1a9)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x95e4b7=await executeQuery(_0x41dc1e);_0x19459c[_0x429f68(0x163)](dbType,'oracle')&&_0x95e4b7&&_0x95e4b7['length']>0x0&&(_0x95e4b7=_0x95e4b7[_0x429f68(0x198)](_0x407eb2=>{const _0x4c2f02=_0x429f68,_0x456654={};for(const [_0x368b5f,_0x4df1cb]of Object['entries'](_0x407eb2)){_0x456654[_0x368b5f[_0x4c2f02(0x1bf)]()]=_0x4df1cb;}return _0x456654;}));const _0x5969a2=new Map();_0x95e4b7[_0x429f68(0x12f)](_0x3cbbfb=>{const _0x5c785c=_0x3cbbfb[_0x466ef5[0x0]];_0x5969a2['set'](_0x5c785c,_0x3cbbfb);}),_0x4ec31d['forEach']((_0x1dad8a,_0x1a7cd7)=>{const _0x1caf51=_0x429f68,_0x388ca3=_0x1dad8a[_0x466ef5[0x0]],_0x49bfc7=_0x5969a2[_0x1caf51(0x12a)](_0x388ca3);if(_0x49bfc7){if(_0x19459c[_0x1caf51(0x1aa)](_0x4ca26d,_0x19459c['IPVdz']))_0x1dad8a[_0x1caf51(0x1a0)]='UPDATE',_0x1dad8a[_0x1caf51(0x179)]=_0x49bfc7[_0x507744];else{if(_0x4ca26d===_0x1caf51(0x13b)){_0x1dad8a['_action']=_0x19459c[_0x1caf51(0x15e)],_0x1dad8a['_errors']=_0x1dad8a[_0x1caf51(0x1c0)]||[],_0x1dad8a['_errors'][_0x1caf51(0x127)](_0x1caf51(0x135));const _0x428cf9=_0xab9231[_0x1caf51(0x187)](_0x1dad8a);_0x19459c['uIzWt'](_0x428cf9,-0x1)&&_0x1959d5[_0x1caf51(0x127)]({'rowIndex':_0x428cf9,'rowData':_0x1dad8a,'errors':[_0x1caf51(0x135)]});}else _0x19459c[_0x1caf51(0x19f)](_0x4ca26d,_0x1caf51(0x16c))&&(_0x1dad8a[_0x1caf51(0x1a0)]=_0x19459c['pwdQw']);}}else{if(_0x4ca26d===_0x19459c[_0x1caf51(0x130)])_0x1dad8a[_0x1caf51(0x1a0)]='INSERT';else(_0x19459c['lqZtE'](_0x4ca26d,_0x1caf51(0x13b))||_0x4ca26d===_0x19459c['LeJkw'])&&(_0x1dad8a['_action']=_0x1caf51(0x129));}});}}async['createCommitJob'](_0x20c4cb){const _0x1938d2=a0_0x35876d,_0x216302={'nEsiy':function(_0x6c8f57,_0x37b6a4,_0x4036e8,_0x50a8b9){return _0x6c8f57(_0x37b6a4,_0x4036e8,_0x50a8b9);},'uhOmt':_0x1938d2(0x17e),'Tmgcg':'Commit\x20processing\x20failed','AFQsB':'Preview\x20job\x20not\x20found\x20or\x20expired','ffxqG':'preview_ok','EXHgH':_0x1938d2(0x1c1)},_0x33864e=this['generateId'](),_0x597a71=await redisHelper[_0x1938d2(0x18e)]('job:'+_0x20c4cb);if(!_0x597a71)throw new Error(_0x216302['AFQsB']);if(_0x597a71['status']!==_0x216302[_0x1938d2(0x1bb)])throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x597a71[_0x1938d2(0x186)]);const _0x433074={'job_id':_0x33864e,'upload_id':_0x597a71['upload_id'],'preview_job_id':_0x20c4cb,'status':_0x1938d2(0x156),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x597a71[_0x1938d2(0x181)]};return await redisHelper['setJob'](_0x1938d2(0x1bc)+_0x33864e,_0x433074,0xe10),logger[_0x1938d2(0x19e)]({'event':_0x216302['EXHgH'],'jobId':_0x33864e,'previewJobId':_0x20c4cb},'Commit\x20job\x20created'),this['processCommitJob'](_0x33864e,_0x597a71)['catch'](_0x483000=>{_0x216302['nEsiy'](logError,_0x483000,{'event':_0x216302['uhOmt'],'jobId':_0x33864e},_0x216302['Tmgcg']);}),{'job_id':_0x33864e,'status':_0x1938d2(0x156)};}async[a0_0x35876d(0x14c)](_0x31a436,_0x17b9a8){const _0xda416e=a0_0x35876d,_0x93c953={'UEOND':function(_0x35133e,_0x4c3ea4){return _0x35133e>_0x4c3ea4;},'DrRoT':_0xda416e(0x15f),'ukeaI':function(_0x1529b3,_0x410e4d){return _0x1529b3||_0x410e4d;},'YJjfi':_0xda416e(0x146),'PHJSf':function(_0x1c98c7,_0x42264a){return _0x1c98c7(_0x42264a);},'MvllG':_0xda416e(0x15a),'GJAXq':'Commit\x20job\x20completed'};try{const _0x2687b8=await redisHelper['getJob']('upload:'+_0x17b9a8[_0xda416e(0x1b4)]);if(!_0x2687b8)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const {rows:_0x29a6ef,params:_0x368679}=_0x2687b8,{tableName:_0x586c9d,fieldName:_0x2bce27,primaryKey:_0x47e0cb,upsertKeys:_0x4e0824,excludeFromImport:_0x41d20b,lookupFields:_0x4052f8,columnFormats:_0x4dad4f}=_0x368679,_0xd121c8=_0x4052f8?Object['keys'](_0x4052f8):[],_0x363f41=new Set([..._0x41d20b||[],..._0xd121c8]);let _0x178267=_0x2bce27;_0x93c953['UEOND'](_0x363f41['size'],0x0)&&(_0x178267=_0x2bce27['filter'](_0x268e2a=>!_0x363f41[_0xda416e(0x194)](_0x268e2a)),logger['debug']({'event':_0xda416e(0x14b),'originalCount':_0x2bce27['length'],'filteredCount':_0x178267[_0xda416e(0x182)],'excludedFields':Array[_0xda416e(0x14e)](_0x363f41),'lookupSourceFields':_0xd121c8},_0x93c953['DrRoT']));const _0x29d584=_0x29a6ef[_0xda416e(0x197)](_0x11a1b8=>_0x11a1b8['_action']===_0xda416e(0x129)),_0x1e9b66=_0x29a6ef['filter'](_0x1ef891=>_0x1ef891[_0xda416e(0x1a0)]===_0xda416e(0x170));let _0xcb6b40=0x0,_0x317b7b=0x0;const _0x15d561=[];if(_0x29d584['length']>0x0){const _0x5462e8=upsertBuilder['chunkRows'](_0x29d584,0x64);for(const _0x5391ae of _0x5462e8){const {query:_0x5f2726}=upsertBuilder[_0xda416e(0x1c2)](_0x5391ae,_0x586c9d,_0x178267,_0x93c953[_0xda416e(0x17a)](_0x4dad4f,{}));_0x5f2726&&_0x15d561['push']({'sql':_0x5f2726,'count':_0x5391ae[_0xda416e(0x182)],'type':'insert'});}}if(_0x93c953['UEOND'](_0x1e9b66['length'],0x0)){const _0x9c7a0a=upsertBuilder[_0xda416e(0x15b)](_0x1e9b66,0x64);for(const _0x86017c of _0x9c7a0a){const {query:_0x304d81}=upsertBuilder[_0xda416e(0x1ac)](_0x86017c,_0x586c9d,_0x178267,_0x47e0cb,_0x4e0824,_0x4dad4f||{});_0x304d81&&_0x15d561['push']({'sql':_0x304d81,'count':_0x86017c[_0xda416e(0x182)],'type':_0x93c953['YJjfi']});}}_0x15d561['length']>0x0&&await _0x93c953[_0xda416e(0x1ab)](executeTransaction,_0x15d561['map'](_0x49d5e1=>({'sql':_0x49d5e1['sql'],'params':[]})));_0x15d561[_0xda416e(0x12f)](_0x529dbe=>{const _0x7eba63=_0xda416e;if(_0x529dbe['type']==='insert')_0xcb6b40+=_0x529dbe[_0x7eba63(0x11e)];else _0x317b7b+=_0x529dbe['count'];});const _0x34ac6a={'job_id':_0x31a436,'upload_id':_0x17b9a8['upload_id'],'preview_job_id':_0x17b9a8['job_id'],'status':_0x93c953['MvllG'],'progress':0x64,'created_at':_0x17b9a8['created_at'],'started_at':new Date()[_0xda416e(0x167)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x29a6ef[_0xda416e(0x182)],'inserted_rows':_0xcb6b40,'updated_rows':_0x317b7b,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x368679};await redisHelper['setJob']('job:'+_0x31a436,_0x34ac6a,0xe10),logger['info']({'event':'commit_job_completed','jobId':_0x31a436,'insertedCount':_0xcb6b40,'updatedCount':_0x317b7b},_0x93c953['GJAXq']);}catch(_0x58d08d){logError(_0x58d08d,{'event':_0xda416e(0x149),'jobId':_0x31a436},_0xda416e(0x137)),await redisHelper['setJob']('job:'+_0x31a436,{'job_id':_0x31a436,'upload_id':_0x17b9a8['upload_id'],'preview_job_id':_0x17b9a8[_0xda416e(0x1a5)],'status':'failed','progress':0x0,'error':_0x58d08d[_0xda416e(0x1a8)],'created_at':_0x17b9a8[_0xda416e(0x12d)],'started_at':new Date()[_0xda416e(0x167)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x47d549){const _0x3faf07=a0_0x35876d,_0x5892e1=await redisHelper['getJob'](_0x3faf07(0x1bc)+_0x47d549);if(!_0x5892e1)return{'success':![],'error':_0x3faf07(0x155)};return{'success':!![],'data':_0x5892e1};}}module['exports']=new ImportService();