@restforgejs/platform 4.3.2 → 4.3.4

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 (176) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/dashboard/create.js +0 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/lib/generators/model-generator.js +1 -1
  7. package/generators/lib/payload/endpoint-schema-validator.js +11 -1
  8. package/generators/lib/payload/payload-runner.js +3 -3
  9. package/generators/lib/payload/schema-diff.js +186 -3
  10. package/generators/lib/templates/dashboard-catalog.js +1 -1
  11. package/generators/lib/templates/db-connection-env.js +1 -1
  12. package/generators/lib/templates/dbschema-catalog.js +1 -1
  13. package/generators/lib/templates/field-validation-catalog.js +1 -1
  14. package/generators/lib/templates/mysql-template.js +1 -1
  15. package/generators/lib/templates/oracle-template.js +1 -1
  16. package/generators/lib/templates/postgres-template.js +1 -1
  17. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  18. package/generators/lib/templates/sqlite-template.js +1 -1
  19. package/generators/lib/utils/conflict-checker.js +9 -57
  20. package/generators/lib/utils/database-introspector.js +84 -0
  21. package/generators/lib/utils/file-utils.js +0 -159
  22. package/generators/lib/utils/payload-processor.js +21 -112
  23. package/integrity-manifest.json +18 -18
  24. package/package.json +1 -1
  25. package/scripts/verify-integrity.js +1 -1
  26. package/server.js +1 -1
  27. package/src/components/handlers/adjust_handler.js +1 -1
  28. package/src/components/handlers/audit_handler.js +1 -1
  29. package/src/components/handlers/delete_handler.js +1 -1
  30. package/src/components/handlers/export_handler.js +1 -1
  31. package/src/components/handlers/import_handler.js +1 -1
  32. package/src/components/handlers/insert_handler.js +1 -1
  33. package/src/components/handlers/update_handler.js +1 -1
  34. package/src/components/handlers/upload_handler.js +1 -1
  35. package/src/components/handlers/workflow_handler.js +1 -1
  36. package/src/components/integrations/webhook.js +1 -1
  37. package/src/consumers/baseConsumer.js +1 -1
  38. package/src/consumers/declarativeMapper.js +1 -1
  39. package/src/consumers/handlers/apiHandler.js +1 -1
  40. package/src/consumers/handlers/consoleHandler.js +1 -1
  41. package/src/consumers/handlers/databaseHandler.js +1 -1
  42. package/src/consumers/handlers/index.js +1 -1
  43. package/src/consumers/handlers/kafkaHandler.js +1 -1
  44. package/src/consumers/index.js +1 -1
  45. package/src/consumers/messageTransformer.js +1 -1
  46. package/src/consumers/validator.js +1 -1
  47. package/src/core/db/dialect/base-dialect.js +1 -1
  48. package/src/core/db/dialect/index.js +1 -1
  49. package/src/core/db/dialect/mysql-dialect.js +1 -1
  50. package/src/core/db/dialect/oracle-dialect.js +1 -1
  51. package/src/core/db/dialect/postgres-dialect.js +1 -1
  52. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  53. package/src/core/db/flatten-helper.js +1 -1
  54. package/src/core/db/query-builder-error.js +1 -1
  55. package/src/core/db/query-builder.js +1 -1
  56. package/src/core/db/relation-helper.js +1 -1
  57. package/src/core/handlers/delete_handler.js +1 -1
  58. package/src/core/handlers/insert_handler.js +1 -1
  59. package/src/core/handlers/update_handler.js +1 -1
  60. package/src/core/models/base-model.js +1 -1
  61. package/src/core/utils/cache-manager.js +1 -1
  62. package/src/core/utils/component-engine.js +1 -1
  63. package/src/core/utils/context-builder.js +1 -1
  64. package/src/core/utils/datetime-formatter.js +1 -1
  65. package/src/core/utils/datetime-parser.js +1 -1
  66. package/src/core/utils/db.js +1 -1
  67. package/src/core/utils/logger.js +1 -1
  68. package/src/core/utils/payload-loader.js +1 -1
  69. package/src/core/utils/security-checks.js +1 -1
  70. package/src/middleware/body-options.js +1 -1
  71. package/src/middleware/cors.js +1 -1
  72. package/src/middleware/idempotency.js +1 -1
  73. package/src/middleware/rate-limiter.js +1 -1
  74. package/src/middleware/request-logger.js +1 -1
  75. package/src/middleware/security-headers.js +1 -1
  76. package/src/models/base-model-mysql.js +1 -1
  77. package/src/models/base-model-oracle.js +1 -1
  78. package/src/models/base-model-sqlite.js +1 -1
  79. package/src/models/base-model.js +1 -1
  80. package/src/pro/caching/redis-client.js +1 -1
  81. package/src/pro/caching/redis-helper.js +1 -1
  82. package/src/pro/consumers/baseConsumer.js +1 -1
  83. package/src/pro/consumers/declarativeMapper.js +1 -1
  84. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  85. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  86. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  87. package/src/pro/consumers/handlers/index.js +1 -1
  88. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  89. package/src/pro/consumers/index.js +1 -1
  90. package/src/pro/consumers/messageTransformer.js +1 -1
  91. package/src/pro/consumers/validator.js +1 -1
  92. package/src/pro/database/base-model-mysql.js +1 -1
  93. package/src/pro/database/base-model-oracle.js +1 -1
  94. package/src/pro/database/base-model-sqlite.js +1 -1
  95. package/src/pro/database/db-mysql.js +1 -1
  96. package/src/pro/database/db-oracle.js +1 -1
  97. package/src/pro/database/db-sqlite.js +1 -1
  98. package/src/pro/excel/excel-generator.js +1 -1
  99. package/src/pro/excel/excel-parser.js +1 -1
  100. package/src/pro/excel/export-service.js +1 -1
  101. package/src/pro/excel/export_handler.js +1 -1
  102. package/src/pro/excel/import-service.js +1 -1
  103. package/src/pro/excel/import-validator.js +1 -1
  104. package/src/pro/excel/import_handler.js +1 -1
  105. package/src/pro/excel/upsert-builder.js +1 -1
  106. package/src/pro/idgen/idgen-routes.js +1 -1
  107. package/src/pro/integrations/lookup-resolver.js +1 -1
  108. package/src/pro/integrations/upload-handler-v2.js +1 -1
  109. package/src/pro/integrations/upload-handler.js +1 -1
  110. package/src/pro/integrations/webhook.js +1 -1
  111. package/src/pro/locking/lock-routes.js +1 -1
  112. package/src/pro/locking/resource-lock-manager.js +1 -1
  113. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  114. package/src/pro/messaging/kafkaService.js +1 -1
  115. package/src/pro/messaging/messagehubService.js +1 -1
  116. package/src/pro/messaging/rabbitmqService.js +1 -1
  117. package/src/pro/scheduler/job-manager.js +1 -1
  118. package/src/pro/scheduler/job-routes.js +1 -1
  119. package/src/pro/scheduler/job-validator.js +1 -1
  120. package/src/pro/storage/base-storage-provider.js +1 -1
  121. package/src/pro/storage/file-metadata-helper.js +1 -1
  122. package/src/pro/storage/index.js +1 -1
  123. package/src/pro/storage/local-storage-provider.js +1 -1
  124. package/src/pro/storage/s3-storage-provider.js +1 -1
  125. package/src/pro/storage/upload-cleanup-job.js +1 -1
  126. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  127. package/src/pro/storage/upload-pending-tracker.js +1 -1
  128. package/src/pro/websocket/broadcast-helper.js +1 -1
  129. package/src/pro/websocket/index.js +1 -1
  130. package/src/pro/websocket/livesync-server.js +1 -1
  131. package/src/pro/websocket/ws-broadcaster.js +1 -1
  132. package/src/services/export-service.js +1 -1
  133. package/src/services/import-service.js +1 -1
  134. package/src/services/kafkaConsumerService.js +1 -1
  135. package/src/services/kafkaService.js +1 -1
  136. package/src/services/messagehubService.js +1 -1
  137. package/src/services/rabbitmqService.js +1 -1
  138. package/src/utils/cache-invalidation-registry.js +1 -1
  139. package/src/utils/cache-manager.js +1 -1
  140. package/src/utils/component-engine.js +1 -1
  141. package/src/utils/config-extractor.js +1 -1
  142. package/src/utils/consumerLogger.js +1 -1
  143. package/src/utils/context-builder.js +1 -1
  144. package/src/utils/dashboard-helpers.js +1 -1
  145. package/src/utils/dateHelper.js +1 -1
  146. package/src/utils/datetime-formatter.js +1 -1
  147. package/src/utils/datetime-parser.js +1 -1
  148. package/src/utils/db-bootstrap.js +1 -1
  149. package/src/utils/db-mysql.js +1 -1
  150. package/src/utils/db-oracle.js +1 -1
  151. package/src/utils/db-sqlite.js +1 -1
  152. package/src/utils/db.js +1 -1
  153. package/src/utils/demo-generator.js +1 -1
  154. package/src/utils/excel-generator.js +1 -1
  155. package/src/utils/excel-parser.js +1 -1
  156. package/src/utils/file-watcher.js +1 -1
  157. package/src/utils/id-generator.js +1 -1
  158. package/src/utils/idempotency-manager.js +1 -1
  159. package/src/utils/import-validator.js +1 -1
  160. package/src/utils/license-client.js +1 -1
  161. package/src/utils/lock-manager.js +1 -1
  162. package/src/utils/logger.js +1 -1
  163. package/src/utils/lookup-resolver.js +1 -1
  164. package/src/utils/payload-loader.js +1 -1
  165. package/src/utils/processor-response.js +1 -1
  166. package/src/utils/rabbitmq.js +1 -1
  167. package/src/utils/redis-client.js +1 -1
  168. package/src/utils/redis-helper.js +1 -1
  169. package/src/utils/request-scope.js +1 -1
  170. package/src/utils/security-checks.js +1 -1
  171. package/src/utils/service-resolver.js +1 -1
  172. package/src/utils/shutdown-coordinator.js +1 -1
  173. package/src/utils/trusted-keys.js +1 -1
  174. package/src/utils/upload-handler.js +1 -1
  175. package/src/utils/upsert-builder.js +1 -1
  176. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
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
+ 'use strict';const a0_0x228f8c=a0_0xe452;(function(_0x1a592a,_0x42e120){const _0x288092=a0_0xe452,_0x163622=_0x1a592a();while(!![]){try{const _0x4fe2bd=-parseInt(_0x288092(0x154))/0x1+parseInt(_0x288092(0x16c))/0x2*(-parseInt(_0x288092(0x137))/0x3)+-parseInt(_0x288092(0x17d))/0x4+parseInt(_0x288092(0x170))/0x5*(-parseInt(_0x288092(0x17c))/0x6)+-parseInt(_0x288092(0x16a))/0x7*(-parseInt(_0x288092(0x155))/0x8)+-parseInt(_0x288092(0x184))/0x9+parseInt(_0x288092(0x131))/0xa;if(_0x4fe2bd===_0x42e120)break;else _0x163622['push'](_0x163622['shift']());}catch(_0x3faa4e){_0x163622['push'](_0x163622['shift']());}}}(a0_0x54c4,0x3d3ef));const {WebSocketServer}=require('ws'),{URL}=require(a0_0x228f8c(0x165)),REDIS_CHANNEL_PREFIX=a0_0x228f8c(0x145);class WebSocketBroadcaster{constructor(){const _0x1d8ee0=a0_0x228f8c;this[_0x1d8ee0(0x18f)]=null,this[_0x1d8ee0(0x136)]=![],this['_mode']=null,this[_0x1d8ee0(0x11c)]={},this['_logger']=console,this['_subscriptions']=new Map(),this['_heartbeatTimer']=null,this[_0x1d8ee0(0x134)]=null,this['_redisSubscriber']=null,this[_0x1d8ee0(0x13e)]=process[_0x1d8ee0(0x188)];}[a0_0x228f8c(0x14f)](_0x138afb,_0x54c0ea={}){const _0x230779=a0_0x228f8c,_0x2fdbae={'XqGaZ':_0x230779(0x177),'xJHhS':'error','lLaOd':_0x230779(0x124),'zdnLe':_0x230779(0x15b)};if(this['_initialized'])return;this[_0x230779(0x11c)]=_0x54c0ea,this[_0x230779(0x110)]=_0x230779(0x168);try{this[_0x230779(0x13b)]=require('../../utils/logger')[_0x230779(0x16f)]||console;}catch(_0x2e0ed7){this[_0x230779(0x13b)]=console;}const _0x2fa3b6=parseInt(process[_0x230779(0x17f)][_0x230779(0x126)],0xa)||0x1e;this[_0x230779(0x18f)]=new WebSocketServer({'server':_0x138afb,'path':'/ws'}),this[_0x230779(0x13c)](_0x138afb),this[_0x230779(0x18f)]['on'](_0x230779(0x140),(_0x4a7bff,_0x36f101)=>this[_0x230779(0x117)](_0x4a7bff,_0x36f101)),this['_wss']['on'](_0x2fdbae['xJHhS'],_0x34b5d5=>{const _0x20e086=_0x230779;this['_logger'][_0x20e086(0x183)]({'event':_0x2fdbae['XqGaZ'],'error':_0x34b5d5[_0x20e086(0x127)]},_0x20e086(0x18a)+_0x34b5d5['message']);}),this['_startHeartbeat'](_0x2fa3b6),this[_0x230779(0x157)](),this[_0x230779(0x136)]=!![],this['_logger']['info']({'event':_0x2fdbae[_0x230779(0x11b)],'mode':'full','path':_0x2fdbae[_0x230779(0x12b)],'heartbeat':_0x2fa3b6+'s'},_0x230779(0x139)+_0x2fa3b6+'s)');}['initializeAsPublisher'](_0x57478d={}){const _0x3d284f=a0_0x228f8c,_0xc64d6c={'VbgXG':_0x3d284f(0x111),'PrlfL':_0x3d284f(0x176)},_0x4207f5=_0xc64d6c[_0x3d284f(0x192)]['split']('|');let _0x2cb9c3=0x0;while(!![]){switch(_0x4207f5[_0x2cb9c3++]){case'0':this[_0x3d284f(0x13b)]['info']({'event':'livesync_publisher_initialized','mode':'publisher'},_0x3d284f(0x10e));continue;case'1':this['_setupRedisPublisher']();continue;case'2':this['_initialized']=!![];continue;case'3':if(this[_0x3d284f(0x136)])return;continue;case'4':this[_0x3d284f(0x110)]=_0xc64d6c[_0x3d284f(0x15f)];continue;case'5':this['_options']=_0x57478d;continue;case'6':try{this[_0x3d284f(0x13b)]=require('../../utils/logger')[_0x3d284f(0x16f)]||console;}catch(_0x303d5d){this[_0x3d284f(0x13b)]=console;}continue;}break;}}['isInitialized'](){return this['_initialized'];}['broadcast'](_0x437781,_0x337979){const _0xf18789=a0_0x228f8c,_0x272778={'sIFFA':_0xf18789(0x176),'cBGXw':function(_0x325ab0,_0x178a99){return _0x325ab0===_0x178a99;},'hwkCP':function(_0x1a5d5c,_0x2b7827){return _0x1a5d5c===_0x2b7827;},'RrDQh':_0xf18789(0x118)};if(!this[_0xf18789(0x136)])return;if(this[_0xf18789(0x110)]===_0x272778[_0xf18789(0x135)]){this['_publishToRedis'](_0x437781,_0x337979);return;}const _0x55894d=JSON['stringify']({'type':'data_change','channel':_0x437781,'action':_0x337979[_0xf18789(0x14a)],'data':_0x337979['data'],'requestId':_0x337979[_0xf18789(0x18c)]||null,'timestamp':new Date()[_0xf18789(0x191)]()}),[_0x3d44b8]=_0x437781[_0xf18789(0x149)](':');let _0x44cc46=0x0;for(const [_0x544112,_0x2ad4f6]of this['_subscriptions']){const _0x548d15=_0x272778['cBGXw'](_0x544112,_0x437781),_0x569063=_0x272778['hwkCP'](_0x544112,_0x3d44b8+':*');if(_0x548d15||_0x569063)for(const _0x254942 of _0x2ad4f6){if(_0x254942['readyState']===0x1)try{_0x254942['send'](_0x55894d),_0x44cc46++;}catch(_0x3b6c5b){}}}_0x44cc46>0x0&&this[_0xf18789(0x13b)][_0xf18789(0x16e)]({'event':_0x272778['RrDQh'],'channel':_0x437781,'action':_0x337979['action'],'clients':_0x44cc46},'Broadcast\x20'+_0x337979[_0xf18789(0x14a)]+_0xf18789(0x116)+_0x437781+'\x20to\x20'+_0x44cc46+'\x20client(s)');}['_publishToRedis'](_0x138c99,_0x17db1f){const _0x1c5048=a0_0x228f8c;if(!this['_redisPublisher'])return;const _0x5cb77f=JSON['stringify']({'channel':_0x138c99,'message':_0x17db1f,'workerId':this['_workerId']});this[_0x1c5048(0x134)]['publish'](REDIS_CHANNEL_PREFIX+_0x1c5048(0x148),_0x5cb77f)['catch'](()=>{});}['shutdown'](){const _0xdb7a0b=a0_0x228f8c,_0x2f933a={'VrdXe':function(_0x3b9a89,_0x36719c){return _0x3b9a89(_0x36719c);},'ldAzj':'Server\x20shutting\x20down'};if(!this[_0xdb7a0b(0x136)])return;this['_heartbeatTimer']&&(_0x2f933a['VrdXe'](clearInterval,this['_heartbeatTimer']),this['_heartbeatTimer']=null);if(this[_0xdb7a0b(0x18f)]){for(const _0x34979b of this[_0xdb7a0b(0x18f)][_0xdb7a0b(0x146)]){try{_0x34979b['close'](0x3e9,_0x2f933a[_0xdb7a0b(0x180)]);}catch(_0x4dedec){}}this['_wss'][_0xdb7a0b(0x187)]();}if(this[_0xdb7a0b(0x16d)])try{this['_redisSubscriber'][_0xdb7a0b(0x119)](),this[_0xdb7a0b(0x16d)][_0xdb7a0b(0x161)]();}catch(_0x5d1095){}if(this['_ownPublisher']&&this[_0xdb7a0b(0x134)])try{this[_0xdb7a0b(0x134)]['quit']();}catch(_0x32cf52){}this[_0xdb7a0b(0x123)]['clear'](),this['_initialized']=![],this['_logger']['info']({'event':_0xdb7a0b(0x15a),'mode':this[_0xdb7a0b(0x110)]},_0xdb7a0b(0x162)+this[_0xdb7a0b(0x110)]+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x11fd0f){const _0x7d1b0c=a0_0x228f8c,_0x2e6e74={'PqhJW':_0x7d1b0c(0x140),'xeeuj':'/ws','aJBWK':'x-api-key','owrAB':function(_0x3fd738,_0x44f581){return _0x3fd738!==_0x44f581;},'CCgyS':_0x7d1b0c(0x173),'obXyd':_0x7d1b0c(0x120)},_0x43839d=_0x11fd0f['listeners'](_0x2e6e74['obXyd'])['slice']();_0x11fd0f[_0x7d1b0c(0x171)](_0x2e6e74['obXyd']),_0x11fd0f['on']('upgrade',(_0x160a7d,_0xa07a4c,_0x13a088)=>{const _0x41185c=_0x7d1b0c;if(!_0x160a7d[_0x41185c(0x165)]||!_0x160a7d[_0x41185c(0x165)][_0x41185c(0x129)](_0x2e6e74[_0x41185c(0x169)])){for(const _0x3d54e7 of _0x43839d){_0x3d54e7[_0x41185c(0x13d)](_0x11fd0f,_0x160a7d,_0xa07a4c,_0x13a088);}return;}if(this['_options']['apiKey']){const _0x54cb3d=new URL(_0x160a7d[_0x41185c(0x165)],_0x41185c(0x147)+(_0x160a7d[_0x41185c(0x141)][_0x41185c(0x181)]||_0x41185c(0x17a))),_0x586bd3=_0x54cb3d['searchParams'][_0x41185c(0x14d)](_0x2e6e74['aJBWK'])||_0x160a7d[_0x41185c(0x141)][_0x2e6e74['aJBWK']];if(!_0x586bd3||_0x2e6e74['owrAB'](_0x586bd3,this[_0x41185c(0x11c)]['apiKey'])){_0xa07a4c['write'](_0x2e6e74[_0x41185c(0x143)]),_0xa07a4c[_0x41185c(0x132)]();return;}}this[_0x41185c(0x18f)][_0x41185c(0x17e)](_0x160a7d,_0xa07a4c,_0x13a088,_0x373220=>{const _0x1f7f32=_0x41185c;this[_0x1f7f32(0x18f)]['emit'](_0x2e6e74['PqhJW'],_0x373220,_0x160a7d);});});}['_handleConnection'](_0x48cfa2,_0x19e8f8){const _0x376351=a0_0x228f8c,_0xaec679={'rFpxp':_0x376351(0x11a),'wTPKS':'livesync_client_connected','udezF':'error'};_0x48cfa2[_0x376351(0x174)]=!![],_0x48cfa2['subscribedChannels']=new Set();const _0x5dab3e=_0x19e8f8['headers'][_0x376351(0x18d)]||_0x19e8f8['socket']['remoteAddress'];this[_0x376351(0x13b)]['info']({'event':_0xaec679['wTPKS'],'ip':_0x5dab3e},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x5dab3e),_0x48cfa2['on']('pong',()=>{const _0x3d3656=_0x376351;_0x48cfa2[_0x3d3656(0x174)]=!![];}),_0x48cfa2['on']('message',_0x5dcf91=>{const _0x5cdce5=_0x376351;try{const _0x37c196=JSON['parse'](_0x5dcf91['toString']());this[_0x5cdce5(0x179)](_0x48cfa2,_0x37c196);}catch(_0x49291f){this['_sendToClient'](_0x48cfa2,{'type':'error','message':_0xaec679[_0x5cdce5(0x114)]});}}),_0x48cfa2['on']('close',()=>{const _0x257749=_0x376351;this['_removeClientFromAllChannels'](_0x48cfa2),this['_logger'][_0x257749(0x16e)]({'event':_0x257749(0x12d),'ip':_0x5dab3e},_0x257749(0x115)+_0x5dab3e);}),_0x48cfa2['on'](_0xaec679['udezF'],_0x3f17fd=>{const _0x300a49=_0x376351;this['_logger']['warn']({'event':'livesync_client_error','error':_0x3f17fd[_0x300a49(0x127)]},_0x300a49(0x14b)+_0x3f17fd[_0x300a49(0x127)]),this['_removeClientFromAllChannels'](_0x48cfa2);});}['_handleClientMessage'](_0xcbada,_0x4163d2){const _0x2b6d47=a0_0x228f8c,_0x689d32={'sbbPz':_0x2b6d47(0x119),'QdkPC':'error'};switch(_0x4163d2['type']){case'subscribe':this[_0x2b6d47(0x178)](_0xcbada,_0x4163d2[_0x2b6d47(0x189)]);break;case _0x689d32['sbbPz']:this[_0x2b6d47(0x186)](_0xcbada,_0x4163d2['channels']);break;case'pong':_0xcbada['isAlive']=!![];break;default:this[_0x2b6d47(0x15e)](_0xcbada,{'type':_0x689d32[_0x2b6d47(0x159)],'message':_0x2b6d47(0x167)+_0x4163d2[_0x2b6d47(0x133)]});}}['_handleSubscribe'](_0x79644b,_0x44d095){const _0x737064=a0_0x228f8c,_0x43997c={'OTeKv':function(_0x3431de,_0x5b707e){return _0x3431de===_0x5b707e;},'GwXMg':'error','lluXA':_0x737064(0x125),'rDfQF':function(_0x2f0d80,_0x59f350){return _0x2f0d80>_0x59f350;},'wztjM':_0x737064(0x15d)};if(!Array[_0x737064(0x142)](_0x44d095)||_0x43997c[_0x737064(0x15c)](_0x44d095['length'],0x0)){this['_sendToClient'](_0x79644b,{'type':_0x43997c[_0x737064(0x11e)],'message':_0x43997c['lluXA']});return;}const _0x566324=[];for(const _0x787274 of _0x44d095){if(typeof _0x787274!=='string'||!_0x787274['includes'](':'))continue;!this['_subscriptions'][_0x737064(0x163)](_0x787274)&&this['_subscriptions']['set'](_0x787274,new Set()),this['_subscriptions'][_0x737064(0x14d)](_0x787274)[_0x737064(0x138)](_0x79644b),_0x79644b['subscribedChannels'][_0x737064(0x138)](_0x787274),_0x566324[_0x737064(0x185)](_0x787274);}_0x43997c[_0x737064(0x13a)](_0x566324[_0x737064(0x152)],0x0)&&(this[_0x737064(0x15e)](_0x79644b,{'type':'subscribed','channels':_0x566324,'timestamp':new Date()['toISOString']()}),this[_0x737064(0x13b)][_0x737064(0x16e)]({'event':_0x43997c[_0x737064(0x14e)],'channels':_0x566324},'Client\x20subscribed\x20to:\x20'+_0x566324['join'](',\x20')));}[a0_0x228f8c(0x186)](_0x172db8,_0x118ff4){const _0x45aea7=a0_0x228f8c,_0x5abbe9={'gcJQt':function(_0x141d81,_0x2586b9){return _0x141d81===_0x2586b9;},'zbvMQ':function(_0x1ce54a,_0xe19890){return _0x1ce54a>_0xe19890;},'tuTeF':_0x45aea7(0x121)};if(!Array[_0x45aea7(0x142)](_0x118ff4))return;const _0x49babc=[];for(const _0x488e50 of _0x118ff4){this['_subscriptions']['has'](_0x488e50)&&(this[_0x45aea7(0x123)][_0x45aea7(0x14d)](_0x488e50)[_0x45aea7(0x190)](_0x172db8),_0x5abbe9['gcJQt'](this[_0x45aea7(0x123)]['get'](_0x488e50)[_0x45aea7(0x144)],0x0)&&this['_subscriptions']['delete'](_0x488e50)),_0x172db8['subscribedChannels'][_0x45aea7(0x190)](_0x488e50),_0x49babc[_0x45aea7(0x185)](_0x488e50);}_0x5abbe9['zbvMQ'](_0x49babc[_0x45aea7(0x152)],0x0)&&this['_sendToClient'](_0x172db8,{'type':_0x5abbe9[_0x45aea7(0x122)],'channels':_0x49babc,'timestamp':new Date()[_0x45aea7(0x191)]()});}['_removeClientFromAllChannels'](_0x4c0818){const _0x37a992=a0_0x228f8c,_0x36e07f={'EGTfH':function(_0x33aedf,_0x55d30a){return _0x33aedf===_0x55d30a;}};if(!_0x4c0818['subscribedChannels'])return;for(const _0xb8d298 of _0x4c0818['subscribedChannels']){this[_0x37a992(0x123)]['has'](_0xb8d298)&&(this['_subscriptions'][_0x37a992(0x14d)](_0xb8d298)['delete'](_0x4c0818),_0x36e07f[_0x37a992(0x11d)](this['_subscriptions']['get'](_0xb8d298)['size'],0x0)&&this['_subscriptions'][_0x37a992(0x190)](_0xb8d298));}_0x4c0818['subscribedChannels']['clear']();}['_sendToClient'](_0x14a9c0,_0xcee32d){const _0x266ddb=a0_0x228f8c,_0x1533f2={'qWgsP':function(_0x54f385,_0x1ffb18){return _0x54f385===_0x1ffb18;}};if(_0x1533f2['qWgsP'](_0x14a9c0[_0x266ddb(0x175)],0x1))try{_0x14a9c0['send'](JSON[_0x266ddb(0x193)](_0xcee32d));}catch(_0x3d82ab){}}['_startHeartbeat'](_0x1fc827){const _0x3d0971=a0_0x228f8c,_0x5ebe5d={'GSWot':function(_0x417106,_0x17799e,_0x50fafc){return _0x417106(_0x17799e,_0x50fafc);}};this[_0x3d0971(0x12a)]=_0x5ebe5d['GSWot'](setInterval,()=>{const _0x2bafc1=_0x3d0971;if(!this[_0x2bafc1(0x18f)])return;for(const _0x19f934 of this['_wss'][_0x2bafc1(0x146)]){if(!_0x19f934['isAlive']){this['_removeClientFromAllChannels'](_0x19f934),_0x19f934[_0x2bafc1(0x130)]();continue;}_0x19f934[_0x2bafc1(0x174)]=![],this[_0x2bafc1(0x15e)](_0x19f934,{'type':_0x2bafc1(0x112),'timestamp':new Date()[_0x2bafc1(0x191)]()});try{_0x19f934[_0x2bafc1(0x112)]();}catch(_0x1ce23a){}}},_0x1fc827*0x3e8);}[a0_0x228f8c(0x151)](){const _0x4e14b1=a0_0x228f8c,_0x98491e={'UTgls':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','uAsNE':function(_0x4440f4,_0x4de3f7){return _0x4440f4(_0x4de3f7);},'iaoIK':function(_0x457cb3,_0x3b570e){return _0x457cb3(_0x3b570e);},'bCQLE':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x4b0608=_0x98491e['uAsNE'](require,_0x4e14b1(0x182));this[_0x4e14b1(0x134)]=_0x4b0608[_0x4e14b1(0x17b)]?_0x4b0608['getClient']():null;}catch(_0x4db215){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x521f4d=_0x98491e[_0x4e14b1(0x10f)](require,'ioredis'),_0x33f313={'host':process[_0x4e14b1(0x17f)]['REDIS_HOST']||'127.0.0.1','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x4e14b1(0x17f)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x4e14b1(0x134)]=new _0x521f4d(_0x33f313),this[_0x4e14b1(0x18e)]=!![],this[_0x4e14b1(0x134)]['connect']()[_0x4e14b1(0x160)](()=>{const _0x289e33=_0x4e14b1;this[_0x289e33(0x13b)]['warn']({'event':_0x289e33(0x166)},_0x98491e['UTgls']),this[_0x289e33(0x134)]=null;});}}catch(_0x7e2d79){this[_0x4e14b1(0x13b)]['warn']({'event':_0x98491e[_0x4e14b1(0x12c)],'error':_0x7e2d79[_0x4e14b1(0x127)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x7e2d79['message']);}}[a0_0x228f8c(0x157)](){const _0x54c5aa=a0_0x228f8c,_0x3decb9={'cLjtB':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','kQhUp':_0x54c5aa(0x127),'DwwbF':_0x54c5aa(0x16b),'EaBus':function(_0x216f9f,_0x52fe9d){return _0x216f9f(_0x52fe9d);},'daYve':function(_0x4b36a3,_0x25cbf8,_0x470c83){return _0x4b36a3(_0x25cbf8,_0x470c83);},'jaQOw':'../../utils/redis-client'};this['_ownPublisher']=![];try{const _0xf67409=_0x3decb9[_0x54c5aa(0x18b)](require,'ioredis'),_0x54feee={'host':process[_0x54c5aa(0x17f)][_0x54c5aa(0x172)]||_0x54c5aa(0x11f),'port':_0x3decb9['daYve'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x54c5aa(0x17f)][_0x54c5aa(0x128)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x36d790=_0x3decb9['EaBus'](require,_0x3decb9['jaQOw']);this['_redisPublisher']=_0x36d790[_0x54c5aa(0x17b)]?_0x36d790['getClient']():null;}catch(_0x2c1166){this[_0x54c5aa(0x134)]=null;}!this['_redisPublisher']&&(this[_0x54c5aa(0x134)]=new _0xf67409(_0x54feee),this['_ownPublisher']=!![],this['_redisPublisher'][_0x54c5aa(0x12f)]()['catch'](()=>{const _0x58ced6=_0x54c5aa;this['_logger']['warn']({'event':'livesync_redis_publisher_failed'},_0x3decb9['cLjtB']),this[_0x58ced6(0x134)]=null;})),this['_redisSubscriber']=new _0xf67409(_0x54feee),this[_0x54c5aa(0x16d)]['connect']()['then'](()=>{const _0x6c01c6=_0x54c5aa;this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x5513ae=>{const _0x30f1de=a0_0xe452;if(_0x5513ae){this['_logger']['error']({'event':'livesync_redis_subscribe_error','error':_0x5513ae['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x5513ae['message']);return;}this['_logger'][_0x30f1de(0x12e)]({'event':'livesync_redis_subscribed'},_0x30f1de(0x164));}),this[_0x6c01c6(0x16d)]['on'](_0x3decb9[_0x6c01c6(0x153)],(_0x5d2424,_0x2c9b1d)=>{const _0x20cd67=_0x6c01c6;try{const _0x4f56b8=JSON['parse'](_0x2c9b1d);if(_0x4f56b8['workerId']===this['_workerId'])return;this['_broadcastLocal'](_0x4f56b8[_0x20cd67(0x14c)],_0x4f56b8[_0x20cd67(0x127)]);}catch(_0x348472){}});})['catch'](()=>{const _0x56eaf8=_0x54c5aa;this['_logger']['warn']({'event':_0x3decb9['DwwbF']},'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode'),this[_0x56eaf8(0x16d)]=null;});}catch(_0x1a35b1){this[_0x54c5aa(0x13b)][_0x54c5aa(0x156)]({'event':'livesync_redis_unavailable','error':_0x1a35b1['message']},_0x54c5aa(0x158)+_0x1a35b1[_0x54c5aa(0x127)]);}}['_broadcastLocal'](_0x22b730,_0x2f99c0){const _0x45381e=a0_0x228f8c,_0x351bb3={'eCYLf':function(_0x527389,_0xa1fb87){return _0x527389===_0xa1fb87;},'Cpsun':function(_0x5830f5,_0xdc633c){return _0x5830f5||_0xdc633c;}};if(!this['_wss'])return;const _0x494a61=JSON[_0x45381e(0x193)]({'type':'data_change','channel':_0x22b730,'action':_0x2f99c0[_0x45381e(0x14a)],'data':_0x2f99c0['data'],'requestId':_0x2f99c0[_0x45381e(0x18c)]||null,'timestamp':new Date()[_0x45381e(0x191)]()}),[_0x18b902]=_0x22b730[_0x45381e(0x149)](':');for(const [_0xf533d9,_0x5ce90d]of this['_subscriptions']){const _0xaec905=_0x351bb3[_0x45381e(0x150)](_0xf533d9,_0x22b730),_0x459604=_0xf533d9===_0x18b902+':*';if(_0x351bb3[_0x45381e(0x113)](_0xaec905,_0x459604))for(const _0x27df16 of _0x5ce90d){if(_0x351bb3[_0x45381e(0x150)](_0x27df16[_0x45381e(0x175)],0x1))try{_0x27df16[_0x45381e(0x13f)](_0x494a61);}catch(_0x546bfe){}}}}}function a0_0xe452(_0x2b7052,_0x1ff89b){_0x2b7052=_0x2b7052-0x10e;const _0x54c474=a0_0x54c4();let _0xe45204=_0x54c474[_0x2b7052];if(a0_0xe452['PFbUWR']===undefined){var _0x35e8ed=function(_0x3fca5d){const _0x30c242='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x531132='',_0x25c592='';for(let _0x283e14=0x0,_0x455bdd,_0x27858e,_0x4b4218=0x0;_0x27858e=_0x3fca5d['charAt'](_0x4b4218++);~_0x27858e&&(_0x455bdd=_0x283e14%0x4?_0x455bdd*0x40+_0x27858e:_0x27858e,_0x283e14++%0x4)?_0x531132+=String['fromCharCode'](0xff&_0x455bdd>>(-0x2*_0x283e14&0x6)):0x0){_0x27858e=_0x30c242['indexOf'](_0x27858e);}for(let _0x17169f=0x0,_0x23c9b2=_0x531132['length'];_0x17169f<_0x23c9b2;_0x17169f++){_0x25c592+='%'+('00'+_0x531132['charCodeAt'](_0x17169f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25c592);};a0_0xe452['LdpqCA']=_0x35e8ed,a0_0xe452['MzlIgY']={},a0_0xe452['PFbUWR']=!![];}const _0x489f31=_0x54c474[0x0],_0x4b9479=_0x2b7052+_0x489f31,_0x36de5b=a0_0xe452['MzlIgY'][_0x4b9479];return!_0x36de5b?(_0xe45204=a0_0xe452['LdpqCA'](_0xe45204),a0_0xe452['MzlIgY'][_0x4b9479]=_0xe45204):_0xe45204=_0x36de5b,_0xe45204;}module['exports']=WebSocketBroadcaster;function a0_0x54c4(){const _0x44df58=['vMjNweC','C3rYAw5NAwz5','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','AwfVsuS','x21Vzgu','m3W1Fdr8nNWXFdj8ma','CgLUzW','q3bZDw4','CKzWEha','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','ig9Uia','x2HHBMrSzunVBM5Ly3rPB24','BgL2zxn5BMnFyNjVywrJyxn0','Dw5ZDwjZy3jPyMu','sw52ywXPzcbku09oig1LC3nHz2u','BeXHt2q','x29WDgLVBNm','ruDuzKG','r3DytwC','mti3lJaUmc4X','DxbNCMfKzq','Dw5ZDwjZy3jPyMvK','Dhvuzuy','x3n1yNnJCMLWDgLVBNm','BgL2zxn5BMnFAw5PDgLHBgL6zwq','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','BwvZC2fNzq','uKvesvnFueftu1DpuKq','C3rHCNrZv2L0Aa','x2HLyxj0yMvHDfrPBwvY','EMrUtgu','yKnrteu','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','Aw5MBW','y29UBMvJDa','DgvYBwLUyxrL','mJaZnJG1ndbbvLLkDfq','zgvZDhjVEq','DhLWzq','x3jLzgLZuhvIBgLZAgvY','C0LgrKe','x2LUAxrPywXPEMvK','otu3otbSqMjSzeK','ywrK','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','CKrMuuy','x2XVz2DLCG','x3nLDhvWvxbNCMfKzuf1DgG','y2fSBa','x3DVCMTLCKLK','C2vUza','y29UBMvJDgLVBG','AgvHzgvYCW','AxnbCNjHEq','q0nNEvm','C2L6zq','CMvZDgzVCMDLoMXPDMvZEw5JoG','y2XPzw50CW','Ahr0CdOVlW','yNjVywrJyxn0','C3bSAxq','ywn0Aw9U','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','y2HHBM5LBa','z2v0','D3P0AK0','Aw5PDgLHBgL6zq','zunztgy','x3nLDhvWuMvKAxnqDwjSAxnOzxi','BgvUz3rO','A1fOvxa','mJKYmZiWALzlyvjW','oda4sMrQq2Hl','D2fYBG','x3nLDhvWuMvKAxm','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','uwrRuem','BgL2zxn5BMnFC2H1DgrVD24','l3DZ','t1rLs3y','BgL2zxn5BMnFC3vIC2nYAwjL','x3nLBMruB0nSAwvUDa','uhjSzKW','y2f0y2G','CxvPDa','tgL2zsbtEw5Jia','AgfZ','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','DxjS','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','zNvSBa','EgvLDwO','mtK4mw5jB3z1tq','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','mJbcsvn4z2m','x3jLzgLZu3vIC2nYAwjLCG','zgvIDwC','Bg9Nz2vY','mtvgt010B2W','CMvTB3zLqwXStgLZDgvUzxjZ','uKvesvnFse9tva','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','AxnbBgL2zq','CMvHzhLtDgf0zq','ChvIBgLZAgvY','BgL2zxn5BMnFD3nZx2vYCM9Y','x2HHBMrSzvn1yNnJCMLIzq','x2HHBMrSzunSAwvUDe1LC3nHz2u','Bg9JywXOB3n0','z2v0q2XPzw50','nJGZody4C2XSCfzh','mty4nJK4ogfuBg9Rra','AgfUzgXLvxbNCMfKzq','zw52','BgrbEMO','Ag9ZDa','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','zxjYB3i','mZK1mZq1n0vNsLzhAG','ChvZAa','x2HHBMrSzvvUC3vIC2nYAwjL','y2XVC2u','CgLK','y2HHBM5LBhm','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','rwfcDxm','CMvXDwvZDeLK','Ec1MB3j3yxjKzwqTzM9Y','x293BLb1yMXPC2HLCG','x3DZCW','zgvSzxrL','Dg9ju09tDhjPBMC'];a0_0x54c4=function(){return _0x44df58;};return a0_0x54c4();}
@@ -1 +1 @@
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
+ const a0_0x473530=a0_0x3cde;(function(_0xcad90f,_0x158e55){const _0x1fc680=a0_0x3cde,_0x859084=_0xcad90f();while(!![]){try{const _0x207c23=-parseInt(_0x1fc680(0xd1))/0x1*(parseInt(_0x1fc680(0xf3))/0x2)+parseInt(_0x1fc680(0x14a))/0x3*(-parseInt(_0x1fc680(0x107))/0x4)+parseInt(_0x1fc680(0x125))/0x5+-parseInt(_0x1fc680(0xee))/0x6*(parseInt(_0x1fc680(0x146))/0x7)+-parseInt(_0x1fc680(0xdf))/0x8+parseInt(_0x1fc680(0x11c))/0x9*(-parseInt(_0x1fc680(0xea))/0xa)+parseInt(_0x1fc680(0xda))/0xb;if(_0x207c23===_0x158e55)break;else _0x859084['push'](_0x859084['shift']());}catch(_0x305e88){_0x859084['push'](_0x859084['shift']());}}}(a0_0xc147,0x2f5de));function a0_0x3cde(_0x5da42f,_0x101ca6){_0x5da42f=_0x5da42f-0xc7;const _0xc1476d=a0_0xc147();let _0x3cde11=_0xc1476d[_0x5da42f];if(a0_0x3cde['PsXDCw']===undefined){var _0x444837=function(_0x3d09e1){const _0x54dd45='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f99ff='',_0x2b8f74='';for(let _0x56bb57=0x0,_0x172042,_0x4f24cb,_0x3155a7=0x0;_0x4f24cb=_0x3d09e1['charAt'](_0x3155a7++);~_0x4f24cb&&(_0x172042=_0x56bb57%0x4?_0x172042*0x40+_0x4f24cb:_0x4f24cb,_0x56bb57++%0x4)?_0x2f99ff+=String['fromCharCode'](0xff&_0x172042>>(-0x2*_0x56bb57&0x6)):0x0){_0x4f24cb=_0x54dd45['indexOf'](_0x4f24cb);}for(let _0x5b64e6=0x0,_0x3bc779=_0x2f99ff['length'];_0x5b64e6<_0x3bc779;_0x5b64e6++){_0x2b8f74+='%'+('00'+_0x2f99ff['charCodeAt'](_0x5b64e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b8f74);};a0_0x3cde['bptoEX']=_0x444837,a0_0x3cde['pwPVqn']={},a0_0x3cde['PsXDCw']=!![];}const _0x3f5836=_0xc1476d[0x0],_0x372108=_0x5da42f+_0x3f5836,_0x418c68=a0_0x3cde['pwPVqn'][_0x372108];return!_0x418c68?(_0x3cde11=a0_0x3cde['bptoEX'](_0x3cde11),a0_0x3cde['pwPVqn'][_0x372108]=_0x3cde11):_0x3cde11=_0x418c68,_0x3cde11;}const {v7:uuidv7}=require(a0_0x473530(0x15e)),path=require(a0_0x473530(0xe5)),fs=require('fs')[a0_0x473530(0x150)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x473530(0x13d)]['DB_TYPE']||a0_0x473530(0xfb))[a0_0x473530(0x110)]();let executeQuery;function a0_0xc147(){const _0x433176=['ru5qB3K','yNvPBgrxAgvYzunSyxvZzq','ieforca','zhPbCgm','Cgf5Bg9Hza','y2f0y2G','wxDkExi','z2v0sM9I','vxnPBMCGywXSia','sgj0uvq','C3vIC3rYAw5N','zxHWB3j0x2zHAwXLza','lI4VDxrPBhmVzgiTBxLZCwW','CM91BMq','vxnPBMCG','qwX5DvO','cLnftevdvcaQiezst00G','D2fYBG','ignOyxjZkq','zw52','y29UzgL0Aw9UCW','CgvUzgLUzW','DerYy3i','zKXsEvq','sKzLsKy','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','y2XLyw51Ca','rxHWB3j0igzPBguGBM90igzVDw5K','mtuXmZa5ouTIsePlua','Dw5RBM93BL9VCgvYyxrVCG','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','x2v4Cg9YDerPCG','nZjLwu1Zs0y','cIaGicaGicaG','AwfHBfy','zMXVB3i','AKLdyK4','ieLoicG','ChjVBwLZzxm','Dw5SAw5R','s2TpEMu','y29TCgXLDgvKx2f0','qMvhrxy','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zMLLBgrmywjLBhm','v0Lusca','tg9PEvO','zxHWB3j0x3nLCNzPy2vFAw5PDa','z2v0qwXSsM9ICW','tML3Bvu','Aw5MBW','uwjVv3a','DxvPza','CuvNq0S','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','y3HYy3C','r1Dwzgm','z2vUzxjHDgvfEgnLBa','rxHWB3j0igzHAwXLza','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','svmGtLvmta','zLDuAK0','id0G','AMvrBM8','Dg9ju09tDhjPBMC','mta1mJaYtNzUEKDW','C3rHDhvZ','B3jHy2XL','A25Mwfy','zxHWB3j0uxvLCNK','zxHWB3j0x2zPBgvFzgvSzxrLza','zMLSDgvY','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','CMvZB2X2zuv4Cg9YDff1zxj5','mti2mte3mZfIyuzhq0m','svmGtK9uie5vteW','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','Aw52ywXPzf9ZB3j0x2nVBhvTBG','DxrMoa','mJG2otaYnfPzEKPIBG','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','zxjYB3i','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','AgX1D1a','iefticGkicaGifnftevdvca','Cgf0Aa','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','zgvMyxvSDa','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','mtbVDgr4t0O','Dw15B1K','y29SDw1UrM9YBwf0CW','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','nLfJvxrPta','Dg9vChbLCKnHC2u','qK14Buy','y29TCgXLDgvK','tfjVvKq','nKf0EKrMBG','CvHOv1e','DhjPBq','CMvZB2X2zq','C3rYAw5N','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','tefLAgC','zxHWB3j0CW','Cg9ZDgDYzxnXBa','ChjVy2vZC0PVyG','CMvWBgfJzq','DxbKyxrLsM9I','zxHWB3j0x2zLDgnOx3n0yxj0','revtqW','zMLSzw5HBwu','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','y2HHCKf0','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','swHTrMG','l2fWAs8','mZu2nZzJwwrxBwq','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','C3rHCNrZv2L0Aa','ieLtie5pvcbovuXm','Bu1dueK','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','rMfPBgvKihrVigzLDgnOigrHDge','zMLSzv9WyxrO','CgfYyw1Z','Dg9mB3DLCKnHC2u','cLDirvjfia','BwfW','z2vUzxjHDgvkB2jjza','BgvUz3rO','DeXcAuy','C2fUAxrPEMvwywX1zq','BwvZC2fNzq','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','AM9PBG','ChjVy2vZC2LUzW','ru5pru5u','mtGYnJfLuuXwBeW','ignVBhvTBNmGzNjVBsbYzxf1zxn0','zxHWB3j0x2nVBxbSzxrLza','tK9uieXjs0u','Dg90ywXFCM93CW','ie9sia','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','zMLSztO','lNHSC3G','nZy5odq1vxPwwMXc','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','z2v0rMLSzvbHDgG'];a0_0xc147=function(){return _0x433176;};return a0_0xc147();}if(dbType===a0_0x473530(0xd3)){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x4a69e1,_0x13ceca)=>oracleDb['executeQuery'](_0x4a69e1,_0x13ceca);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x473530(0x136));executeQuery=(_0x238173,_0xd1ce85)=>mysqlDb['executeQuery'](_0x238173,_0xd1ce85);}else executeQuery=require('../utils/db')['executeQuery'];}class ExportService{constructor(){const _0x362da1=a0_0x473530;this[_0x362da1(0x149)]=null;}get['exportDir'](){const _0x4594b0=a0_0x473530,_0x2f0c4a={'AKDLE':_0x4594b0(0xe7),'PlZrC':'Export\x20service\x20initialized','GWZwk':'Failed\x20to\x20initialize\x20export\x20service'};if(!this[_0x4594b0(0x149)]){const _0x3ae330=process['env'][_0x4594b0(0x155)]||_0x2f0c4a['AKDLE'];this['_exportDir']=process['env']['EXPORT_DIR']||path['join'](__dirname,'../../exports/'+_0x3ae330);try{!fsSync['existsSync'](this[_0x4594b0(0x149)])&&fsSync['mkdirSync'](this[_0x4594b0(0x149)],{'recursive':!![]}),logger['info']({'event':_0x4594b0(0x159),'dir':this[_0x4594b0(0x149)]},_0x2f0c4a['PlZrC']);}catch(_0x1241db){logError(_0x1241db,{'event':'export_service_init_error'},_0x2f0c4a['GWZwk']);}}return this['_exportDir'];}[a0_0x473530(0xd9)](_0x59b553,_0xd485c9=null){const _0x1757cf=a0_0x473530,_0x319326={'pGaAk':function(_0xce822c,_0x522307){return _0xce822c!==_0x522307;},'BMxmF':_0x1757cf(0xf7),'EOabA':_0x1757cf(0x118),'ENPoy':_0x1757cf(0x12e),'PwKXU':_0x1757cf(0xcb),'LAehg':_0x1757cf(0xde),'BeGEv':_0x1757cf(0xe8),'Slouc':function(_0x3db3cc,_0x2c838b){return _0x3db3cc===_0x2c838b;}};if(!_0x59b553||_0x319326['pGaAk'](typeof _0x59b553,_0x319326[_0x1757cf(0xf0)]))return _0x59b553;const _0x39ad95=_0x59b553['trim']();if(!_0x39ad95[_0x1757cf(0x109)](_0x1757cf(0x123)))return _0x39ad95;const _0x3b43f9=_0x39ad95['replace'](/^file:/,'')['trim']();if(!_0x3b43f9)throw new Error(_0x319326['EOabA']);const _0x36af1f=_0xd485c9||path[_0x1757cf(0x119)](process['cwd'](),_0x319326[_0x1757cf(0x12a)]),_0x592e55=path[_0x1757cf(0xf6)](_0x36af1f,_0x3b43f9);logger['info']({'event':_0x319326['PwKXU'],'relativePath':_0x3b43f9,'baseDir':_0x36af1f,'absolutePath':_0x592e55},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x3b43f9);if(!fsSync['existsSync'](_0x592e55))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x592e55);try{const _0x5cec18=fsSync['readFileSync'](_0x592e55,_0x319326[_0x1757cf(0xf9)]);if(!_0x5cec18||!_0x5cec18[_0x1757cf(0xf5)]())throw new Error(_0x1757cf(0xe2)+_0x592e55);return logger[_0x1757cf(0x15c)]({'event':_0x319326[_0x1757cf(0x154)],'file':_0x592e55,'queryLength':_0x5cec18[_0x1757cf(0x114)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x5cec18[_0x1757cf(0x114)]+_0x1757cf(0x13c)),_0x5cec18[_0x1757cf(0xf5)]();}catch(_0x1208fd){if(_0x319326['Slouc'](_0x1208fd['code'],_0x1757cf(0x11b)))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x592e55);throw new Error(_0x1757cf(0xf8)+_0x1208fd['message']);}}[a0_0x473530(0x113)](){const _0x4b337d=a0_0x473530,_0x3fe160={'iaalV':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','umyoY':function(_0x25676a){return _0x25676a();},'ynavJ':function(_0x185e20,_0x4bd735){return _0x185e20-_0x4bd735;},'mszkM':function(_0x35386d,_0x45f1b1){return _0x35386d+_0x45f1b1;},'SBFfg':function(_0x280f93,_0x56de47){return _0x280f93<_0x56de47;},'jeQno':function(_0x1d4c55,_0x1d5a9a){return _0x1d4c55*_0x1d5a9a;}},_0x30b6d9=_0x3fe160[_0x4b337d(0x14c)],_0x1d2ada=Date['now']()['toString'](0x24),_0x5ac0fe=_0x3fe160[_0x4b337d(0xeb)](uuidv7)['replace'](/-/g,'')[_0x4b337d(0x134)](0x0,_0x3fe160['ynavJ'](0xc,_0x1d2ada[_0x4b337d(0x114)])),_0x37d98e=_0x3fe160['mszkM'](_0x1d2ada,_0x5ac0fe)[_0x4b337d(0x134)](0x0,0xc);let _0x6553b8='';for(let _0x33b1ee=0x0;_0x3fe160['SBFfg'](_0x33b1ee,0xc);_0x33b1ee++){_0x37d98e[_0x33b1ee]?_0x6553b8+=_0x37d98e[_0x33b1ee]:_0x6553b8+=_0x30b6d9[_0x4b337d(0x103)](Math[_0x4b337d(0x14d)](_0x3fe160[_0x4b337d(0xcf)](Math['random'](),_0x30b6d9['length'])));}return _0x6553b8;}async['createJob'](_0x3f0fba){const _0x9c6a7f=a0_0x473530,_0x8d0a75={'MzRTe':function(_0x457823,_0x1778b7,_0x43f33f,_0x5b0df0){return _0x457823(_0x1778b7,_0x43f33f,_0x5b0df0);},'eYDEK':'export_job_created','fWTjM':'Export\x20job\x20created'},_0x3cb42e=this['generateJobId'](),_0x317bb8={'job_id':_0x3cb42e,'status':_0x9c6a7f(0x13f),'progress':0x0,'created_at':new Date()[_0x9c6a7f(0xd0)](),'params':_0x3f0fba,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x3cb42e,_0x317bb8),logger[_0x9c6a7f(0x15c)]({'event':_0x8d0a75['eYDEK'],'jobId':_0x3cb42e,'params':_0x3f0fba},_0x8d0a75[_0x9c6a7f(0xcd)]),this[_0x9c6a7f(0xfc)](_0x3cb42e,_0x3f0fba)[_0x9c6a7f(0x12f)](_0x3a5ad4=>{_0x8d0a75['MzRTe'](logError,_0x3a5ad4,{'event':'export_process_error','jobId':_0x3cb42e},'Export\x20processing\x20failed');}),{'job_id':_0x3cb42e,'status':'pending'};}async['getJobStatus'](_0x4c9a2a){const _0x2ea51e=a0_0x473530,_0x38f58c={'fKzzA':'Job\x20not\x20found\x20or\x20expired','qfucw':function(_0x4ceea8,_0x521eaf){return _0x4ceea8===_0x521eaf;},'IhmFh':'completed'},_0x19e0d3=await redisHelper['getJob'](_0x4c9a2a);if(!_0x19e0d3)return{'success':![],'error':_0x38f58c['fKzzA']};return{'success':!![],'data':{'job_id':_0x19e0d3['job_id'],'status':_0x19e0d3['status'],'progress':_0x19e0d3['progress'],'total_rows':_0x19e0d3[_0x2ea51e(0x120)],'processed_rows':_0x19e0d3['processed_rows'],'file_url':_0x38f58c['qfucw'](_0x19e0d3[_0x2ea51e(0xd2)],_0x38f58c[_0x2ea51e(0x105)])?_0x2ea51e(0x106)+_0x19e0d3[_0x2ea51e(0x10f)]['moduleName']+'/'+_0x19e0d3[_0x2ea51e(0x10f)]['endpointName']+'/export-download?job_id='+_0x4c9a2a:null,'error':_0x19e0d3[_0x2ea51e(0xe1)]||null,'created_at':_0x19e0d3['created_at'],'completed_at':_0x19e0d3[_0x2ea51e(0x153)]||null}};}async['processJob'](_0x3177d5,_0x7f1b32){const _0x3c5de4=a0_0x473530,_0x1503ac={'aCWhZ':_0x3c5de4(0x11a),'JFeJF':'export_processing_start','mMCPI':_0x3c5de4(0x11e),'qEgCK':'Export\x20completed\x20successfully','zNgvS':_0x3c5de4(0xca)};try{await redisHelper[_0x3c5de4(0xfe)](_0x3177d5,{'status':_0x1503ac['aCWhZ'],'started_at':new Date()[_0x3c5de4(0xd0)]()}),logger['info']({'event':_0x1503ac[_0x3c5de4(0x142)],'jobId':_0x3177d5},'Export\x20processing\x20started');const _0x123a0a=await this['fetchData'](_0x7f1b32);await redisHelper[_0x3c5de4(0xfe)](_0x3177d5,{'total_rows':_0x123a0a['length']});const _0x253f88=await this['generateExcel'](_0x3177d5,_0x123a0a,_0x7f1b32);await redisHelper['updateJob'](_0x3177d5,{'status':_0x3c5de4(0xf1),'progress':0x64,'file_path':_0x253f88,'completed_at':new Date()['toISOString']()}),logger[_0x3c5de4(0x15c)]({'event':_0x1503ac[_0x3c5de4(0x10b)],'jobId':_0x3177d5,'rows':_0x123a0a['length']},_0x1503ac[_0x3c5de4(0x15f)]);}catch(_0x3a47e0){logError(_0x3a47e0,{'event':_0x3c5de4(0x135),'jobId':_0x3177d5},_0x1503ac['zNgvS']),await redisHelper[_0x3c5de4(0xfe)](_0x3177d5,{'status':'failed','error':_0x3a47e0[_0x3c5de4(0x117)],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x261b2b){const _0x39c315=a0_0x473530,_0x46903a={'YwJyr':function(_0x194d6c,_0x593c12){return _0x194d6c===_0x593c12;},'cxrcw':'export_using_auto_query','XpwQW':function(_0x221cb4,_0x2c7ea9){return _0x221cb4>_0x2c7ea9;},'NiwmU':_0x39c315(0xff),'IKPjV':_0x39c315(0x127),'QboWp':function(_0x488eda,_0xa0afdc){return _0x488eda(_0xa0afdc);},'mdyYj':'oracle','hluwP':'export_fetch_complete','PWKFE':'export_fetch_error','YCzjE':_0x39c315(0x10d)};try{const {tableName:_0x54d448,columns:_0x4e71b7,exportQuery:_0x50d0c7,where:_0x4f6258,sort_columns:_0x421519}=_0x261b2b;if(!_0x54d448||!_0x4e71b7||_0x46903a[_0x39c315(0x130)](_0x4e71b7['length'],0x0))throw new Error(_0x39c315(0x143));const _0xa988b1=_0x54d448['replace'](/\./g,'_')+'_data';let _0x1c6792;if(_0x50d0c7&&_0x50d0c7['trim']()){let _0x52222a=_0x50d0c7;_0x50d0c7['trim']()[_0x39c315(0x109)]('file:')&&(_0x52222a=this[_0x39c315(0xd9)](_0x50d0c7)),_0x1c6792=_0x39c315(0x157)+_0xa988b1+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x52222a+'\x0a)',_0x1c6792+=_0x39c315(0x13a)+_0xa988b1,logger['info']({'event':'export_using_custom_query','query':_0x52222a['substring'](0x0,0x64)},_0x39c315(0xe9));}else{const _0x14337d=_0x4e71b7[_0x39c315(0x112)](_0x351f9f=>_0x39c315(0x14b)+_0x351f9f)['join'](',');_0x1c6792='WITH\x20'+_0xa988b1+_0x39c315(0xe4)+_0x14337d+'\x0a\x20\x20\x20\x20FROM\x20'+_0x54d448+'\x0a)',_0x1c6792+=_0x39c315(0x13a)+_0xa988b1,logger[_0x39c315(0x15c)]({'event':_0x46903a[_0x39c315(0xc7)],'tableName':_0x54d448,'columnCount':_0x4e71b7['length']},_0x39c315(0x108));}if(_0x4f6258){const _0x5612af=this[_0x39c315(0x12b)](_0x4f6258);_0x5612af&&(_0x1c6792+=_0x39c315(0x111)+_0x5612af);}if(_0x421519&&_0x46903a['XpwQW'](_0x421519[_0x39c315(0x114)],0x0)){const _0x11ff43=this['buildOrderByClause'](_0x421519);_0x11ff43&&(_0x1c6792+='\x0aORDER\x20BY\x20'+_0x11ff43);}logger['info']({'event':_0x46903a[_0x39c315(0x15b)],'query':_0x1c6792['substring'](0x0,0xc8)},_0x46903a['IKPjV']);const _0x54ceaa=await _0x46903a[_0x39c315(0x15d)](executeQuery,_0x1c6792);let _0x25f8b9=_0x54ceaa;return dbType===_0x46903a['mdyYj']&&_0x54ceaa&&_0x54ceaa['length']>0x0&&(_0x25f8b9=_0x54ceaa[_0x39c315(0x112)](_0x19052d=>{const _0x283dad=_0x39c315,_0x34112e={};for(const [_0x4f9786,_0x1f2086]of Object['entries'](_0x19052d)){_0x34112e[_0x4f9786[_0x283dad(0x110)]()]=_0x1f2086;}return _0x34112e;})),logger['info']({'event':_0x46903a[_0x39c315(0xe3)],'rows':_0x25f8b9[_0x39c315(0x114)]},_0x39c315(0x160)),_0x25f8b9;}catch(_0x49d6d0){logError(_0x49d6d0,{'event':_0x46903a['PWKFE']},_0x46903a['YCzjE']);throw _0x49d6d0;}}['sanitizeValue'](_0x419956){const _0x337dd9=a0_0x473530,_0x4a8198={'JiWig':'string'};if(typeof _0x419956===_0x4a8198['JiWig'])return _0x419956['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x419956))return _0x419956[_0x337dd9(0x112)](_0x60568=>this[_0x337dd9(0x116)](_0x60568));}return _0x419956;}['buildWhereClause'](_0x4963d8){const _0x2f649a=a0_0x473530,_0x43f713={'HbtQT':_0x2f649a(0xf7),'TJYTp':_0x2f649a(0x10c),'knfXV':function(_0x16f10a,_0x2bf2b4){return _0x16f10a===_0x2bf2b4;},'BUZtT':_0x2f649a(0x147),'tDrcr':function(_0x49ebba,_0xa72c0f){return _0x49ebba===_0xa72c0f;},'fSiLw':function(_0x3b0ae6,_0x1461d9){return _0x3b0ae6===_0x1461d9;},'KsGZi':_0x2f649a(0x121),'sVuyz':_0x2f649a(0x12c)};if(!_0x4963d8||!_0x4963d8['conditions']||_0x43f713[_0x2f649a(0x140)](_0x4963d8[_0x2f649a(0x13e)][_0x2f649a(0x114)],0x0))return'';const {logic:_0x23c4f3,conditions:_0x51c457}=_0x4963d8,_0x30bf8a=_0x23c4f3&&_0x43f713['fSiLw'](_0x23c4f3[_0x2f649a(0xef)](),'OR')?_0x43f713['KsGZi']:_0x43f713['sVuyz'],_0x23a3f9=_0x51c457['map'](_0x9402f5=>{const _0x16c85c=_0x2f649a,{key:_0x2eb332,operator:_0x474b22,value:_0x59560c,sensitive:_0xd987ae}=_0x9402f5;if(!_0x2eb332||!_0x474b22)return logger['warn']({'event':'invalid_condition','condition':_0x9402f5},_0x43f713['TJYTp']),null;const _0x2fdb73=this['sanitizeValue'](_0x59560c),_0xc5a639=_0xd987ae!==undefined?_0xd987ae:!![];let _0x3d6c6c=_0x2eb332,_0x55f52e=_0x2fdb73;!_0xc5a639&&(_0x3d6c6c='UPPER('+_0x2eb332+')',typeof _0x59560c===_0x43f713['HbtQT']&&(_0x55f52e=_0x59560c[_0x16c85c(0xef)]()));const _0x3a2e0a=_0x43f713['knfXV'](typeof _0x55f52e,_0x43f713[_0x16c85c(0x133)])?'\x27'+_0x55f52e['replace'](/'/g,'\x27\x27')+'\x27':_0x55f52e;switch(_0x474b22[_0x16c85c(0xef)]()){case'=':case'!=':case'<>':return _0x3d6c6c+'\x20'+_0x474b22+'\x20'+_0x3a2e0a;case'>':case'<':case'>=':case'<=':const _0x47bdc3=_0x43f713[_0x16c85c(0xd4)](typeof _0x2fdb73,'string')?'\x27'+_0x2fdb73['replace'](/'/g,'\x27\x27')+'\x27':_0x2fdb73;return _0x2eb332+'\x20'+_0x474b22+'\x20'+_0x47bdc3;case'LIKE':case _0x16c85c(0x11f):return _0x3d6c6c+'\x20'+_0x474b22+'\x20'+_0x3a2e0a;case'IN':if(Array['isArray'](_0x2fdb73)){let _0x49a79b;return!_0xc5a639?_0x49a79b=_0x2fdb73[_0x16c85c(0x112)](_0x5066ef=>{const _0x12da10=_0x16c85c,_0x53aaed=typeof _0x5066ef===_0x43f713['HbtQT']?_0x5066ef[_0x12da10(0xef)]():_0x5066ef;return typeof _0x53aaed==='string'?'\x27'+_0x53aaed[_0x12da10(0xfd)](/'/g,'\x27\x27')+'\x27':_0x53aaed;})[_0x16c85c(0x119)](',\x20'):_0x49a79b=_0x2fdb73[_0x16c85c(0x112)](_0xa5c0a7=>typeof _0xa5c0a7===_0x16c85c(0xf7)?'\x27'+_0xa5c0a7[_0x16c85c(0xfd)](/'/g,'\x27\x27')+'\x27':_0xa5c0a7)['join'](',\x20'),_0x3d6c6c+_0x16c85c(0x14f)+_0x49a79b+')';}return _0x3d6c6c+_0x16c85c(0x14f)+_0x3a2e0a+')';case _0x16c85c(0xcc):return _0x2eb332+'\x20IS\x20NULL';case _0x16c85c(0xdb):return _0x2eb332+_0x16c85c(0x10a);default:logger['warn']({'event':_0x43f713['BUZtT'],'operator':_0x474b22},_0x16c85c(0xe6));return _0x3d6c6c+_0x16c85c(0xce)+_0x3a2e0a;}})[_0x2f649a(0xd7)](_0x3b2333=>_0x3b2333!==null);if(_0x23a3f9[_0x2f649a(0x114)]===0x0)return'';return _0x23a3f9['join'](_0x30bf8a);}['buildOrderByClause'](_0x56da17){const _0x5b1a1d=a0_0x473530,_0xab8245={'GWVdc':function(_0x31efc8,_0x5605b4){return _0x31efc8===_0x5605b4;},'tLBiF':'DESC','LRoVD':function(_0xab1872,_0x517dc3){return _0xab1872===_0x517dc3;}};if(!_0x56da17||_0xab8245[_0x5b1a1d(0xf2)](_0x56da17['length'],0x0))return'';const _0x355e24=_0x56da17['map'](_0xddc254=>{const _0x30b00a=_0x5b1a1d,{column:_0x2ca52c,direction:_0x419602}=_0xddc254;if(!_0x2ca52c)return logger['warn']({'event':_0x30b00a(0xdd),'item':_0xddc254},_0x30b00a(0xe0)),null;const _0x26f493=_0x419602&&_0xab8245[_0x30b00a(0xc8)](_0x419602['toUpperCase'](),_0x30b00a(0x100))?_0xab8245[_0x30b00a(0x115)]:'ASC';return _0x2ca52c+'\x20'+_0x26f493;})['filter'](_0x15edfa=>_0x15edfa!==null);if(_0x355e24[_0x5b1a1d(0x114)]===0x0)return'';return _0x355e24[_0x5b1a1d(0x119)](',\x20');}async[a0_0x473530(0xc9)](_0x786cb7,_0x131e2e,_0x1e4c0d){const _0x815316=a0_0x473530,_0x326877={'qXhWQ':function(_0x4c0484,_0x4ae492){return _0x4c0484/_0x4ae492;},'fLRyT':'../utils/excel-generator','Iwvgk':function(_0x2bc845,_0x42fe8e){return _0x2bc845===_0x42fe8e;},'DdRYr':'all','jdiiN':function(_0x5e3e89,_0xcd4bd3){return _0x5e3e89>_0xcd4bd3;},'LoiyZ':_0x815316(0x102),'FgKcF':function(_0x3789ff,_0x4e2e6d){return _0x3789ff>_0x4e2e6d;},'lFPKy':'excel_columns_from_request','dzApc':_0x815316(0x148)},_0x494aaf=require(_0x326877[_0x815316(0x141)]),_0x11b34a=new _0x494aaf(),_0x398741=_0x1e4c0d[_0x815316(0x101)]?_0x1e4c0d[_0x815316(0x101)]+'-'+_0x786cb7:'export-'+_0x786cb7,_0x4b88ee=path['join'](this['exportDir'],_0x398741+_0x815316(0x124));let _0x41c55a=_0x1e4c0d['columns'];const _0x41dd77=_0x1e4c0d['exportQuery']&&_0x1e4c0d[_0x815316(0xd5)]['trim'](),_0x53daba=_0x41c55a&&_0x41c55a[_0x815316(0x114)]===0x1&&(_0x41c55a[0x0]==='*'||_0x326877['Iwvgk'](_0x41c55a[0x0][_0x815316(0x110)](),_0x326877['DdRYr']));if(_0x326877['jdiiN'](_0x131e2e[_0x815316(0x114)],0x0)){const _0xd1e45b=Object['keys'](_0x131e2e[0x0]);if(_0x41dd77)_0x41c55a=_0xd1e45b,logger[_0x815316(0x15c)]({'event':_0x815316(0x128),'columns':_0x41c55a},_0x815316(0x138)+_0x41c55a[_0x815316(0x114)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x53daba)_0x41c55a=_0xd1e45b,logger[_0x815316(0x15c)]({'event':_0x326877[_0x815316(0x158)],'columns':_0x41c55a},_0x815316(0x132)+_0x41c55a[_0x815316(0x114)]+_0x815316(0x104));else{if(_0x41c55a&&_0x326877['FgKcF'](_0x41c55a[_0x815316(0x114)],0x0)){const _0x45808c=_0x41c55a[_0x815316(0xd7)](_0xced113=>_0xd1e45b['includes'](_0xced113));_0x45808c['length']>0x0?(_0x41c55a=_0x45808c,logger[_0x815316(0x15c)]({'event':_0x326877['lFPKy'],'requestedColumns':_0x1e4c0d['columns'],'validColumns':_0x41c55a},_0x815316(0x138)+_0x41c55a['length']+_0x815316(0x11d))):(_0x41c55a=_0xd1e45b,logger['warn']({'event':'excel_columns_fallback','requestedColumns':_0x1e4c0d['columns'],'availableColumns':_0xd1e45b},_0x815316(0xd8)+_0xd1e45b[_0x815316(0x114)]+'\x20columns'));}else _0x41c55a=_0xd1e45b,logger['info']({'event':_0x326877[_0x815316(0x12d)],'columns':_0x41c55a},_0x815316(0x138)+_0x41c55a['length']+_0x815316(0x126));}}}else logger['info']({'event':'excel_columns_from_config','columns':_0x41c55a},_0x815316(0x138)+(_0x41c55a?.[_0x815316(0x114)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x11b34a['generate']({'data':_0x131e2e,'columns':_0x41c55a,'columnFormats':_0x1e4c0d[_0x815316(0xec)]||null,'fieldLabels':_0x1e4c0d[_0x815316(0x156)]||null,'filePath':_0x4b88ee,'onProgress':async _0x37981b=>{const _0x55aae7=_0x815316;await redisHelper['updateJob'](_0x786cb7,{'progress':Math[_0x55aae7(0x137)](_0x37981b),'processed_rows':Math['round'](_0x326877[_0x55aae7(0xf4)](_0x37981b,0x64)*_0x131e2e[_0x55aae7(0x114)])});}}),_0x4b88ee;}async[a0_0x473530(0x129)](_0x311117){const _0x18615e=a0_0x473530,_0x4768b9=await redisHelper[_0x18615e(0x131)](_0x311117);if(!_0x4768b9||_0x4768b9['status']!==_0x18615e(0xf1))return null;try{return await fs['access'](_0x4768b9['file_path']),_0x4768b9['file_path'];}catch(_0x1226f5){return logError(_0x1226f5,{'event':'export_file_not_found','jobId':_0x311117,'path':_0x4768b9['file_path']},_0x18615e(0x145)),null;}}async[a0_0x473530(0x144)](){const _0x3b7fbd=a0_0x473530,_0x5710aa={'VUZIB':function(_0x473263,_0x5c4dbc){return _0x473263*_0x5c4dbc;},'AlyuZ':function(_0x54264c,_0x292dab){return _0x54264c*_0x292dab;},'KkOze':'Export\x20file\x20deleted','EGrtY':_0x3b7fbd(0xed),'jICbN':'export_cleanup_complete','bHwDT':_0x3b7fbd(0xdc)};logger['info']({'event':'export_cleanup_start'},'Starting\x20export\x20cleanup');const _0x4bbb0a=await redisHelper[_0x3b7fbd(0x15a)]();let _0x2e8949=0x0;for(const _0xb93e7 of _0x4bbb0a){const _0x35e614=new Date(_0xb93e7['created_at']),_0x484ed9=new Date(),_0x3bce55=(_0x484ed9-_0x35e614)/_0x5710aa['VUZIB'](_0x5710aa[_0x3b7fbd(0x139)](0x3e8,0x3c),0x3c);if(_0x3bce55>0x1){if(_0xb93e7['file_path'])try{await fs[_0x3b7fbd(0x151)](_0xb93e7[_0x3b7fbd(0x10e)]),logger['info']({'event':_0x3b7fbd(0xd6),'path':_0xb93e7[_0x3b7fbd(0x10e)]},_0x5710aa[_0x3b7fbd(0x152)]);}catch(_0x2bb2de){logger[_0x3b7fbd(0x13b)]({'event':_0x3b7fbd(0x122),'path':_0xb93e7[_0x3b7fbd(0x10e)],'error':_0x2bb2de['message']},_0x5710aa['EGrtY']);}await redisHelper['deleteJob'](_0xb93e7['job_id']),_0x2e8949++;}}return logger[_0x3b7fbd(0x15c)]({'event':_0x5710aa[_0x3b7fbd(0x14e)],'deleted':_0x2e8949},_0x5710aa['bHwDT']),_0x2e8949;}}module[a0_0x473530(0xfa)]=new ExportService();
@@ -1 +1 @@
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();
1
+ const a0_0x400c56=a0_0x4a61;function a0_0x4a61(_0x1aab38,_0x3c9044){_0x1aab38=_0x1aab38-0x14f;const _0x24863e=a0_0x2486();let _0x4a617b=_0x24863e[_0x1aab38];if(a0_0x4a61['fhRhwL']===undefined){var _0x45517f=function(_0x5a2570){const _0x42614b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x52bfae='',_0x5e8a24='';for(let _0x61e74c=0x0,_0x3e9319,_0x441d40,_0x465760=0x0;_0x441d40=_0x5a2570['charAt'](_0x465760++);~_0x441d40&&(_0x3e9319=_0x61e74c%0x4?_0x3e9319*0x40+_0x441d40:_0x441d40,_0x61e74c++%0x4)?_0x52bfae+=String['fromCharCode'](0xff&_0x3e9319>>(-0x2*_0x61e74c&0x6)):0x0){_0x441d40=_0x42614b['indexOf'](_0x441d40);}for(let _0x15772a=0x0,_0x131410=_0x52bfae['length'];_0x15772a<_0x131410;_0x15772a++){_0x5e8a24+='%'+('00'+_0x52bfae['charCodeAt'](_0x15772a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e8a24);};a0_0x4a61['lcyiMI']=_0x45517f,a0_0x4a61['rNTxEz']={},a0_0x4a61['fhRhwL']=!![];}const _0x168d5c=_0x24863e[0x0],_0x213a0c=_0x1aab38+_0x168d5c,_0x523733=a0_0x4a61['rNTxEz'][_0x213a0c];return!_0x523733?(_0x4a617b=a0_0x4a61['lcyiMI'](_0x4a617b),a0_0x4a61['rNTxEz'][_0x213a0c]=_0x4a617b):_0x4a617b=_0x523733,_0x4a617b;}function a0_0x2486(){const _0xc33394=['ieLoicG','su5trvju','ugfUCLG','CgfKu3rHCNq','Cg5YyKG','ChjVy2vZC2vKuM93CW','x2fJDgLVBG','y29TBwL0x3bYB2nLC3nFzxjYB3i','B3jPz2LUywXUyw1L','rNPWC3q','DhjPBq','ChvZAa','ChjVy2vZC1bYzxzPzxDkB2i','swvutNK','uxz5tKO','uuXVzKi','zMPnANO','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','Aw5JBhvKzxm','t2z3ug8','z2v0sM9Iu3rHDhvZ','y29SDw1U','BM93','y2f0y2G','Aw5KzxHpzG','CMfUzg9T','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','zgvMyxvSDa','BgvUz3rO','Dg9mB3DLCKnHC2u','mJjMy3jTEw0','y3jLyxrLuhjLDMLLD0PVyG','C2nVCgvpDMvYCMLKzq','z2v0sM9I','BwLZC2LUz0zPzwXKCW','nJa5nZqYnfzergjqvW','uhjLDMLLDYbQB2iGy3jLyxrLza','C3rHDhvZ','y2H1BMTsB3DZ','DKLnuhq','Dg9ju09tDhjPBMC','uhjLDMLLDYbQB2iGy29TCgXLDgvK','B01qy2q','y1bvEwS','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','zxHLy3v0zvrYyw5Zywn0Aw9U','DxbKyxrLx2v4Axn0Aw5N','Dg9vChbLCKnHC2u','kqOGicaGica','cIaGicaGicaGu0vmrunuia','Dgv4Da','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','mZG1zxHRyK9K','BNvTyMvY','vvbeqvrf','BKLcC0q','CMvWBgfJzq','CM93sw5KzxG','DhLWzq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','ode0nti3mgjxu2P5vW','zgvIDwC','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','AgvHzgvYC19TyxbWzwq','DxbSB2fKx2LK','zxjYB3jZ','zMLSDgvY','C2v0','mtq5ndK2C3PKy2Xy','yNvPBgrmywjLBfrVrMLLBgrnyxa','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','DK5KqNa','zMXVB3i','Dhj1zq','y291BNq','AM9IoG','DxvPza','tfPgz1G','BwfW','zMLLBgroyw1L','uLjrwuO','txbjCKG','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','ChjVy2vZC2LUzW','DNnWu24','DxvPzf9HDxrVx2DLBMvYyxrLza','ChjVBwLZzxm','y3jLyxrLzf9HDa','DxbSB2fKoG','x2vYCM9YCW','DKjvDeu','nJyZmZaXmhbytMnqvG','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','Aw5MBW','z2PfDM0','rvvuBvG','Aw5Zzxj0','C2L6zq','ChjVy2vZC0nVBw1PDePVyG','Cgf0Aa','C2XPy2u','Bwf0y2G','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','z2v0rgf0zq','shDHtNe','q3bRvwG','vfLuDg0','x2DLBMvYyxrLzf91DwLK','yMPADfi','tMjHz2W','BLDJyM8','DgvZDa','DxbSB2fKrgLY','y29SDw1UrM9YBwf0CW','z2v0tw9UDgG','ExHsC2q','C3fS','mteXmZCWn2HjD290DW','mty2otm4zu1MsurY','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','CgfYyw1Z','A2v5CW','yxbWBhLdB2X1Bw5gB3jTyxrZ','ChjLDMLLD19QB2jFy29TCgXLDgvK','u0Tjua','ANDztNC','y0T6Exu','uhjLDMLLDYbQB2iGzMfPBgvK','C3rYAw5N','C2TPCf9LEgLZDgLUzW','wMvnBMC','Bg9trLi','CM93CW','BxLZCwW','rejFvfLqrq','u2HzuLu','BwvZC2fNzq','Cvncwu0','C2v0sM9I','C3vIC3rYAw5N','zxHLy3v0zvf1zxj5','Aw5Zzxj0x29UBhK','nePJEMrsta','zw50CMLLCW','zMLUza','CKXNvuK','Dw5SAw5R','x3vWBg9HzerPCG','rfHTAMe','yMf0y2HwywXPzgf0zvjVD3m','q29TBwL0igPVyIbJCMvHDgvK','z2vUzxjHDgvjza','z2v0','zMfSC2u','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','nJy1mJiZnvzMBvnKCa','mLnHuNbWyq','ChjLDMLLD19LCNjVCG','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','BufnEfq','ChjLDMLLD19VAW','zMfPBgvK','vvbmt0fex0rjuG','zM9YrwfJAa','CM1gvvC','AMDUrK0','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','Ber3re8'];a0_0x2486=function(){return _0xc33394;};return a0_0x2486();}(function(_0x19cfd7,_0x2fe548){const _0x2c70ca=a0_0x4a61,_0x2f15cb=_0x19cfd7();while(!![]){try{const _0x2f53ce=-parseInt(_0x2c70ca(0x17b))/0x1*(-parseInt(_0x2c70ca(0x1a2))/0x2)+parseInt(_0x2c70ca(0x17c))/0x3*(parseInt(_0x2c70ca(0x194))/0x4)+parseInt(_0x2c70ca(0x1a1))/0x5+parseInt(_0x2c70ca(0x1f4))/0x6*(-parseInt(_0x2c70ca(0x1e3))/0x7)+-parseInt(_0x2c70ca(0x1d2))/0x8+-parseInt(_0x2c70ca(0x1ec))/0x9+-parseInt(_0x2c70ca(0x15f))/0xa*(-parseInt(_0x2c70ca(0x1cd))/0xb);if(_0x2f53ce===_0x2fe548)break;else _0x2f15cb['push'](_0x2f15cb['shift']());}catch(_0x58e923){_0x2f15cb['push'](_0x2f15cb['shift']());}}}(a0_0x2486,0xc094e));const {v7:uuidv7}=require(a0_0x400c56(0x150)),path=require(a0_0x400c56(0x168)),fs=require('fs')[a0_0x400c56(0x15a)],redisHelper=require(a0_0x400c56(0x1a0)),{logger,logError}=require('../utils/logger'),dbType=(process['env'][a0_0x400c56(0x18c)]||'postgresql')[a0_0x400c56(0x1cc)]();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x297337,_0x545d48)=>oracleDb[a0_0x400c56(0x192)](_0x297337,_0x545d48),executeTransaction=_0x53442d=>oracleDb[a0_0x400c56(0x1dc)](_0x53442d);else{if(dbType===a0_0x400c56(0x18b)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1003d9,_0x54d0b4)=>mysqlDb['executeQuery'](_0x1003d9,_0x54d0b4),executeTransaction=_0x5f4d77=>mysqlDb[a0_0x400c56(0x1dc)](_0x5f4d77);}else{const db=require('../utils/db');executeQuery=db[a0_0x400c56(0x192)],executeTransaction=db['executeTransaction'];}}const excelParser=require('../utils/excel-parser'),importValidator=require(a0_0x400c56(0x1ee)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x400c56(0x176)](){const _0x5c2844=a0_0x400c56,_0x285c96={'QvyNJ':_0x5c2844(0x1ca)};if(!this[_0x5c2844(0x199)]){const _0x31ea64=process['env'][_0x5c2844(0x1ea)]||_0x285c96[_0x5c2844(0x1bd)];this['_uploadDir']=process['env'][_0x5c2844(0x1a8)]||path['join'](__dirname,'../../temp/uploads/'+_0x31ea64);}return this['_uploadDir'];}[a0_0x400c56(0x19d)](){const _0xfb357e=a0_0x400c56,_0x11003c={'XAkAW':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','OBMhM':function(_0x114868){return _0x114868();},'YVuto':function(_0x1b435c,_0x3aaaae){return _0x1b435c-_0x3aaaae;},'nIBsD':function(_0xf6020a,_0x40048e){return _0xf6020a+_0x40048e;},'pnrbH':function(_0x5368fa,_0x123654){return _0x5368fa<_0x123654;},'sAwAJ':function(_0x78484,_0x1ff803){return _0x78484*_0x1ff803;}},_0x2112bd=_0x11003c['XAkAW'],_0x3dded4=Date[_0xfb357e(0x1c5)]()['toString'](0x24),_0x5509e7=_0x11003c['OBMhM'](uuidv7)['replace'](/-/g,'')[_0xfb357e(0x191)](0x0,_0x11003c['YVuto'](0xc,_0x3dded4[_0xfb357e(0x1cb)])),_0x1ff30e=_0x11003c[_0xfb357e(0x1e6)](_0x3dded4,_0x5509e7)['substring'](0x0,0xc);let _0x3ac311='';for(let _0x44a3b1=0x0;_0x11003c[_0xfb357e(0x1b3)](_0x44a3b1,0xc);_0x44a3b1++){_0x1ff30e[_0x44a3b1]?_0x3ac311+=_0x1ff30e[_0x44a3b1]:_0x3ac311+=_0x2112bd['charAt'](Math[_0xfb357e(0x1f8)](_0x11003c['sAwAJ'](Math[_0xfb357e(0x1c8)](),_0x2112bd[_0xfb357e(0x1cb)])));}return _0x3ac311;}['buildLabelToFieldMap'](_0x137580){const _0x18e166=a0_0x400c56,_0x15d230={'CVndo':function(_0x4eec92,_0x1ad61a){return _0x4eec92(_0x1ad61a);},'PanrX':'$1_$2','Nbagl':'Label\x20to\x20field\x20mapping\x20built'},_0x152e9c=new Map();if(!_0x137580)return _0x152e9c;return Object[_0x18e166(0x195)](_0x137580)[_0x18e166(0x1a9)](([_0x213824,_0x4951ca])=>{const _0x4f731a=_0x18e166,_0x3461dc=_0x15d230['CVndo'](String,_0x4951ca)[_0x4f731a(0x1b9)]()['replace'](/\s+/g,'_')[_0x4f731a(0x1e7)](/([a-z])([A-Z])/g,'$1_$2')['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x15d230[_0x4f731a(0x1b1)])[_0x4f731a(0x1cc)]();_0x152e9c[_0x4f731a(0x1f3)](_0x3461dc,_0x213824);}),logger[_0x18e166(0x1ed)]({'event':_0x18e166(0x160),'mappingCount':_0x152e9c['size']},_0x15d230[_0x18e166(0x173)]),_0x152e9c;}['applyColumnFormats'](_0x22f2e5,_0x8c8097){const _0x136b00=a0_0x400c56,_0x37d163={'vNdBp':function(_0xc4d216,_0x465286){return _0xc4d216===_0x465286;},'CzcMJ':function(_0x405734,_0x3d7149){return _0x405734===_0x3d7149;},'CvyoV':'number','yxRsd':_0x136b00(0x1e1),'loSFR':function(_0x209874,_0x4d9195){return _0x209874(_0x4d9195);}};if(!_0x8c8097||Object['keys'](_0x8c8097)['length']===0x0)return _0x22f2e5;return _0x22f2e5[_0x136b00(0x152)](_0x47afbe=>{const _0xb35fff=_0x136b00,_0x3f2142={..._0x47afbe};for(const [_0x29ef03,_0x3a3b2c]of Object['entries'](_0x8c8097)){const _0x49fdbe=_0x3f2142[_0x29ef03];if(_0x37d163[_0xb35fff(0x1f7)](_0x49fdbe,null)||_0x49fdbe===undefined||_0x37d163['CzcMJ'](_0x49fdbe,'')){_0x3f2142[_0x29ef03]=null;continue;}switch(_0x3a3b2c[_0xb35fff(0x1e9)]){case'date':_0x3f2142[_0x29ef03]=this[_0xb35fff(0x1db)](_0x49fdbe);break;case _0x37d163['CvyoV']:_0x3f2142[_0x29ef03]=this['formatNumberForDatabase'](_0x49fdbe);break;case'boolean':_0x3f2142[_0x29ef03]=this['formatBooleanForDatabase'](_0x49fdbe);break;case _0x37d163[_0xb35fff(0x179)]:_0x3f2142[_0x29ef03]=_0x37d163[_0xb35fff(0x189)](String,_0x49fdbe);break;default:break;}}return _0x3f2142;});}[a0_0x400c56(0x1db)](_0xb48d19){const _0x265b33=a0_0x400c56,_0x3013e3={'FbKQe':function(_0x3110e1,_0x2f7400){return _0x3110e1===_0x2f7400;},'oMPcd':function(_0x4ae263,_0x2faae7){return _0x4ae263 instanceof _0x2faae7;},'Fzpst':function(_0xad15ee,_0x17cab2){return _0xad15ee(_0x17cab2);},'ztotQ':function(_0x2b5214,_0x31348e){return _0x2b5214(_0x31348e);}};if(_0xb48d19===null||_0xb48d19===undefined||_0x3013e3['FbKQe'](_0xb48d19,''))return null;if(_0x3013e3['FbKQe'](typeof _0xb48d19,_0x265b33(0x186))&&/^\d{4}-\d{2}-\d{2}$/['test'](_0xb48d19))return _0xb48d19;if(_0x3013e3[_0x265b33(0x1d9)](_0xb48d19,Date)){if(_0x3013e3[_0x265b33(0x1b8)](isNaN,_0xb48d19['getTime']()))return null;const _0x30f53b=_0xb48d19['getFullYear'](),_0x6941cb=_0x3013e3[_0x265b33(0x1b8)](String,_0xb48d19[_0x265b33(0x178)]()+0x1)[_0x265b33(0x1b2)](0x2,'0'),_0x14e232=String(_0xb48d19[_0x265b33(0x16d)]())[_0x265b33(0x1b2)](0x2,'0');return _0x30f53b+'-'+_0x6941cb+'-'+_0x14e232;}if(typeof _0xb48d19===_0x265b33(0x186)){const _0x1d70ca=_0xb48d19[_0x265b33(0x16a)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x1d70ca){const _0x32dbc1=_0x3013e3['Fzpst'](String,_0x1d70ca[0x1])[_0x265b33(0x1b2)](0x2,'0'),_0xd272d7=_0x3013e3[_0x265b33(0x1b8)](String,_0x1d70ca[0x2])['padStart'](0x2,'0'),_0x50df00=_0x1d70ca[0x3];return _0x50df00+'-'+_0xd272d7+'-'+_0x32dbc1;}const _0x12396d=_0xb48d19[_0x265b33(0x16a)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x12396d){const _0x2715d5=_0x12396d[0x1],_0x5ccf9a=String(_0x12396d[0x2])['padStart'](0x2,'0'),_0x3ba2c4=_0x3013e3['ztotQ'](String,_0x12396d[0x3])['padStart'](0x2,'0');return _0x2715d5+'-'+_0x5ccf9a+'-'+_0x3ba2c4;}}return _0xb48d19;}[a0_0x400c56(0x1ac)](_0x462414){const _0x1feab6=a0_0x400c56,_0x359454={'cPUyk':function(_0x21945a,_0x746824){return _0x21945a===_0x746824;},'LuHLh':_0x1feab6(0x186)};if(_0x462414===null||_0x462414===undefined||_0x462414==='')return null;if(_0x359454[_0x1feab6(0x1da)](typeof _0x462414,_0x1feab6(0x1e4)))return isNaN(_0x462414)?null:_0x462414;if(typeof _0x462414===_0x359454['LuHLh']){let _0x2e2c44=_0x462414[_0x1feab6(0x1b9)]();const _0x5f566d=/,\d{1,2}$/[_0x1feab6(0x175)](_0x2e2c44)&&!/,\d{3}/[_0x1feab6(0x175)](_0x2e2c44);_0x5f566d?_0x2e2c44=_0x2e2c44[_0x1feab6(0x1e7)](/\./g,'')[_0x1feab6(0x1e7)](',','.'):_0x2e2c44=_0x2e2c44[_0x1feab6(0x1e7)](/,/g,'');const _0x3c3d75=parseFloat(_0x2e2c44);return isNaN(_0x3c3d75)?null:_0x3c3d75;}return null;}['formatBooleanForDatabase'](_0x40d4a6){const _0xaa905e=a0_0x400c56,_0x98f662={'ABsqF':function(_0x4b4f5c,_0x4c71d8){return _0x4b4f5c===_0x4c71d8;},'HwaNq':function(_0x5b8a13,_0x3d21db){return _0x5b8a13===_0x3d21db;},'ewBCP':'boolean','bjZtR':'true','WLujT':'false'};if(_0x98f662['ABsqF'](_0x40d4a6,null)||_0x40d4a6===undefined||_0x98f662[_0xaa905e(0x16e)](_0x40d4a6,''))return null;if(typeof _0x40d4a6===_0x98f662['ewBCP'])return _0x40d4a6?_0x98f662[_0xaa905e(0x172)]:_0x98f662['WLujT'];if(_0x98f662['ABsqF'](typeof _0x40d4a6,'string')){const _0x286d96=_0x40d4a6['trim']()['toLowerCase']();if([_0xaa905e(0x1f9),'yes','y','1'][_0xaa905e(0x1c1)](_0x286d96))return _0xaa905e(0x1f9);if([_0x98f662['WLujT'],'no','n','0'][_0xaa905e(0x1c1)](_0x286d96))return _0xaa905e(0x19f);return null;}if(typeof _0x40d4a6===_0xaa905e(0x1e4))return _0x40d4a6?_0xaa905e(0x1f9):_0x98f662['WLujT'];return null;}async['uploadFile'](_0x36451d,_0x355a0b){const _0x195ed4=a0_0x400c56,_0x527b1f={'jwYNw':function(_0xcb6908,_0x281580){return _0xcb6908||_0x281580;},'ZWsuy':'column_formats_applied','aAlzT':_0x195ed4(0x1ad),'nWcbo':function(_0x166853,_0x2444f0,_0x45a1aa,_0x520e4b){return _0x166853(_0x2444f0,_0x45a1aa,_0x520e4b);},'BxtYY':'file_cleanup_error'},_0x3671c1=this['generateId']();try{let {headers:_0x4f068b,rows:_0x3148c3,totalRows:_0x2213fa}=await excelParser['parseExcelFile'](_0x36451d['path']);const _0x3ed2f3=this[_0x195ed4(0x1f5)](_0x355a0b['fieldLabels']),_0x55cfce=_0x4f068b['map'](_0x53ddb9=>{const _0x10480f=_0x195ed4,_0x5ef43a=_0x3ed2f3[_0x10480f(0x19e)](_0x53ddb9);return _0x527b1f[_0x10480f(0x183)](_0x5ef43a,_0x53ddb9);});_0x3148c3=_0x3148c3['map'](_0x3540f4=>{const _0x13e3c2=_0x195ed4,_0x4120f6={};return _0x4f068b[_0x13e3c2(0x1a9)]((_0x1b2634,_0x1eb712)=>{const _0x4fc253=_0x55cfce[_0x1eb712];_0x4120f6[_0x4fc253]=_0x3540f4[_0x1b2634];}),_0x4120f6;}),_0x4f068b=_0x55cfce,logger['debug']({'event':_0x195ed4(0x1ef),'original':_0x4f068b[_0x195ed4(0x1cb)],'mapped':_0x55cfce[_0x195ed4(0x1f2)]((_0x319c2f,_0x1834aa)=>_0x319c2f!==_0x4f068b[_0x1834aa])['length']},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x355a0b[_0x195ed4(0x177)]&&Object[_0x195ed4(0x17f)](_0x355a0b[_0x195ed4(0x177)])['length']>0x0&&(_0x3148c3=this[_0x195ed4(0x180)](_0x3148c3,_0x355a0b['columnFormats']),logger[_0x195ed4(0x1ed)]({'event':_0x527b1f['ZWsuy'],'formatCount':Object[_0x195ed4(0x17f)](_0x355a0b['columnFormats'])['length'],'formats':Object['keys'](_0x355a0b['columnFormats'])},'Column\x20formats\x20applied\x20to\x20rows'));if(_0x355a0b[_0x195ed4(0x1cf)]&&_0x355a0b[_0x195ed4(0x1cf)][_0x195ed4(0x1c4)]){const {column:_0x36ba6d,value:_0x187d7e}=_0x355a0b['scopeOverride'];_0x3148c3=_0x3148c3['map'](_0x5d5c45=>({..._0x5d5c45,[_0x36ba6d]:_0x187d7e})),logger['debug']({'event':'request_scope_applied','column':_0x36ba6d,'rowCount':_0x3148c3[_0x195ed4(0x1cb)]},_0x527b1f['aAlzT']);}const _0x2906ac=_0x355a0b['lookupFields']?Object['values'](_0x355a0b['lookupFields'])['map'](_0x30688e=>_0x30688e['targetField']):[],_0x47455d=_0x355a0b[_0x195ed4(0x153)][_0x195ed4(0x1f2)](_0x196b7f=>!_0x2906ac['includes'](_0x196b7f)),_0x5e184a=excelParser[_0x195ed4(0x1f6)](_0x4f068b,_0x47455d);if(!_0x5e184a['valid']){await fs[_0x195ed4(0x198)](_0x36451d['path']);throw new Error(_0x195ed4(0x156)+_0x5e184a[_0x195ed4(0x1d1)]['join'](',\x20'));}const _0x3b8ffd={'upload_id':_0x3671c1,'filename':_0x36451d[_0x195ed4(0x1b7)],'total_rows':_0x2213fa,'headers':_0x4f068b,'rows':_0x3148c3,'params':_0x355a0b,'created_at':new Date()['toISOString']()};return await redisHelper['setJob']('upload:'+_0x3671c1,_0x3b8ffd,0xe10),await fs['unlink'](_0x36451d['path']),logger['info']({'event':_0x195ed4(0x17d),'uploadId':_0x3671c1,'filename':_0x36451d[_0x195ed4(0x1b7)],'totalRows':_0x2213fa},_0x195ed4(0x1e2)),{'upload_id':_0x3671c1,'total_rows':_0x2213fa,'preview':_0x3148c3[_0x195ed4(0x169)](0x0,0xa)};}catch(_0x36521c){try{await fs['unlink'](_0x36451d['path']);}catch(_0x5e1dc0){_0x527b1f[_0x195ed4(0x174)](logError,_0x5e1dc0,{'event':_0x527b1f['BxtYY']},'Failed\x20to\x20cleanup\x20file');}throw _0x36521c;}}async[a0_0x400c56(0x1ce)](_0x4d4104){const _0x24be92=a0_0x400c56,_0x3c8883={'pgUsK':_0x24be92(0x161),'qSBYM':'validating','fjMjz':_0x24be92(0x1d3)},_0x5a84c2=this['generateId'](),_0x2c52ed=await redisHelper[_0x24be92(0x1d0)](_0x24be92(0x15c)+_0x4d4104);if(!_0x2c52ed)throw new Error(_0x24be92(0x16b));const _0x2f9224={'job_id':_0x5a84c2,'upload_id':_0x4d4104,'status':_0x3c8883['qSBYM'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x2c52ed[_0x24be92(0x17e)]};return await redisHelper[_0x24be92(0x190)](_0x24be92(0x14f)+_0x5a84c2,_0x2f9224,0xe10),logger[_0x24be92(0x162)]({'event':'preview_job_created','jobId':_0x5a84c2,'uploadId':_0x4d4104},_0x3c8883[_0x24be92(0x1bf)]),this[_0x24be92(0x1bb)](_0x5a84c2,_0x4d4104,_0x2c52ed)[_0x24be92(0x1c6)](_0x20e191=>{logError(_0x20e191,{'event':'preview_process_error','jobId':_0x5a84c2},_0x3c8883['pgUsK']);}),{'job_id':_0x5a84c2,'status':_0x3c8883[_0x24be92(0x18f)]};}['autoGenerateUpsertKeys'](_0x46bde9,_0x53835c){const _0x17114b={'FjYwJ':function(_0x37d458,_0x57a87a){return _0x37d458===_0x57a87a;}};_0x46bde9['forEach']((_0x2e8f34,_0x40cb2d)=>{const _0x2cd635=a0_0x4a61,_0x323aaf={'swyge':function(_0xd6282,_0x5332a6){return _0x17114b['FjYwJ'](_0xd6282,_0x5332a6);},'bsFML':function(_0x58fcc9,_0x1dc4d1){return _0x58fcc9(_0x1dc4d1);},'QOeJz':function(_0x4a906e){return _0x4a906e();},'rLgUI':_0x2cd635(0x159)};_0x53835c[_0x2cd635(0x1a9)](_0x33085a=>{const _0x22c9ec=_0x2cd635,_0x146cce=_0x2e8f34[_0x33085a];if(_0x146cce===null||_0x323aaf['swyge'](_0x146cce,undefined)||_0x146cce===''||_0x323aaf['bsFML'](String,_0x146cce)['trim']()==='-'){const _0x27a4a2=_0x323aaf['QOeJz'](uuidv7);_0x2e8f34[_0x33085a]=_0x27a4a2,_0x2e8f34[_0x22c9ec(0x171)]=_0x2e8f34[_0x22c9ec(0x171)]||{},_0x2e8f34['_generated_uuid'][_0x33085a]=_0x27a4a2,logger[_0x22c9ec(0x1ed)]({'event':_0x323aaf[_0x22c9ec(0x197)],'rowIndex':_0x40cb2d,'field':_0x33085a,'uuid':_0x27a4a2},'Auto-generated\x20UUID\x20for\x20'+_0x33085a+'\x20at\x20row\x20'+(_0x40cb2d+0x2));}});});}async['processPreviewJob'](_0x1db33e,_0x2b1d28,_0x47ddc4){const _0x1ad392=a0_0x400c56,_0x267061={'LZFgX':'INSERT','QLofB':_0x1ad392(0x1e5),'uEoTH':function(_0x12c154,_0x1b05e7){return _0x12c154===_0x1b05e7;},'PWHhN':function(_0x2ca75a,_0x1295cb){return _0x2ca75a>_0x1295cb;},'zldVg':function(_0x1370ad,_0x1308bf){return _0x1370ad||_0x1308bf;},'TYTtm':_0x1ad392(0x1a3),'YEmWM':_0x1ad392(0x1d8),'SDVJx':'preview_job_failed'};try{let {rows:_0x473fbd,params:_0x5d22b7}=_0x47ddc4;const {requiredFields:_0x1e2043,validations:_0xb03cea,upsertKeys:_0xd2433f,tableName:_0x3952ed,primaryKey:_0x56a5a0,fieldName:_0x27d052,upsertStrategy:_0x142eef,lookupFields:_0xe420d0}=_0x5d22b7;this[_0x1ad392(0x1a4)](_0x473fbd,_0xd2433f);let _0xb39aef=[];if(_0xe420d0&&_0x267061['PWHhN'](Object['keys'](_0xe420d0)[_0x1ad392(0x1cb)],0x0)){logger['info']({'event':'processing_lookup_fields','jobId':_0x1db33e,'lookupFieldCount':Object['keys'](_0xe420d0)['length']},_0x1ad392(0x1c9));const _0x35bf1e=await lookupResolver['processLookupFields'](_0x473fbd,_0xe420d0);_0x473fbd=_0x35bf1e[_0x1ad392(0x1b4)],_0xb39aef=_0x35bf1e[_0x1ad392(0x1f1)],_0x47ddc4[_0x1ad392(0x18a)]=_0x473fbd;}const _0x15d9ab=importValidator[_0x1ad392(0x19b)](_0x473fbd,_0x1e2043||[],_0x267061['zldVg'](_0xb03cea,{}));_0xb39aef[_0x1ad392(0x1a9)](_0x12951b=>{const _0x25def8=_0x1ad392,_0x1efd61=_0x15d9ab[_0x25def8(0x196)](_0xfe458=>_0xfe458['rowIndex']===_0x12951b['rowIndex']);_0x1efd61?_0x1efd61[_0x25def8(0x1f1)][_0x25def8(0x1ba)](_0x12951b['message']):_0x15d9ab['push']({'rowIndex':_0x12951b['rowIndex'],'rowData':_0x473fbd[_0x12951b['rowIndex']],'errors':[_0x12951b[_0x25def8(0x18e)]]});});const _0x264896=importValidator['detectDuplicatesInFile'](_0x473fbd,_0xd2433f);_0x264896['forEach'](_0x193157=>{const _0x10055f=_0x1ad392,_0x1a14ba=_0x15d9ab['find'](_0x1d6dee=>_0x1d6dee[_0x10055f(0x1e8)]===_0x193157[_0x10055f(0x1e8)]),_0x2ff886=_0xd2433f[_0x10055f(0x152)](_0x53165d=>_0x53165d[_0x10055f(0x1de)]())['join'](',\x20'),_0x18a0ed='Duplicate\x20value\x20for\x20'+_0x2ff886;_0x1a14ba?_0x1a14ba['errors'][_0x10055f(0x1ba)](_0x18a0ed):_0x15d9ab['push']({'rowIndex':_0x193157['rowIndex'],'rowData':_0x473fbd[_0x193157[_0x10055f(0x1e8)]],'errors':[_0x18a0ed]});}),await this[_0x1ad392(0x1c0)](_0x473fbd,_0xd2433f,_0x3952ed,_0x56a5a0,_0x142eef,_0x15d9ab),_0x15d9ab['forEach'](_0x5fdaf=>{const _0x1dc75c=_0x1ad392,_0x3d8243=_0x473fbd[_0x5fdaf[_0x1dc75c(0x1e8)]];_0x3d8243&&(_0x3d8243['_errors']=_0x5fdaf['errors']);});let _0x51f07e=0x0,_0x27fb6b=0x0,_0x40bcf6=0x0;_0x473fbd[_0x1ad392(0x1a9)](_0x1ad093=>{const _0x429fb0=_0x1ad392;if(_0x1ad093['_action']===_0x267061[_0x429fb0(0x151)])_0x51f07e++;else{if(_0x1ad093[_0x429fb0(0x1b5)]===_0x267061[_0x429fb0(0x1be)])_0x27fb6b++;else _0x267061['uEoTH'](_0x1ad093['_action'],_0x429fb0(0x182))&&_0x40bcf6++;}});const _0x57236c={'job_id':_0x1db33e,'upload_id':_0x2b1d28,'status':_0x15d9ab[_0x1ad392(0x1cb)]>0x0?_0x267061[_0x1ad392(0x170)]:'preview_ok','progress':0x64,'created_at':_0x47ddc4['created_at'],'completed_at':new Date()[_0x1ad392(0x1d7)](),'preview':{'total_rows':_0x473fbd[_0x1ad392(0x1cb)],'insert_count':_0x51f07e,'update_count':_0x27fb6b,'skip_count':_0x40bcf6,'error_count':_0x15d9ab[_0x1ad392(0x1cb)],'errors':_0x15d9ab,'data':_0x473fbd,'sample_insert':_0x473fbd['filter'](_0x416dd7=>_0x416dd7[_0x1ad392(0x1b5)]==='INSERT')[_0x1ad392(0x169)](0x0,0x5),'sample_update':_0x473fbd[_0x1ad392(0x1f2)](_0x5d43d5=>_0x5d43d5['_action']==='UPDATE')[_0x1ad392(0x169)](0x0,0x5),'sample_skip':_0x473fbd[_0x1ad392(0x1f2)](_0x4cc7c6=>_0x4cc7c6[_0x1ad392(0x1b5)]===_0x1ad392(0x182))['slice'](0x0,0x5)},'params':_0x5d22b7};await redisHelper['setJob']('job:'+_0x1db33e,_0x57236c,0xe10),_0x47ddc4[_0x1ad392(0x18a)]=_0x473fbd,await redisHelper[_0x1ad392(0x190)]('upload:'+_0x2b1d28,_0x47ddc4,0xe10),logger[_0x1ad392(0x162)]({'event':_0x1ad392(0x181),'jobId':_0x1db33e,'status':_0x57236c[_0x1ad392(0x1d4)],'insertCount':_0x51f07e,'updateCount':_0x27fb6b,'skipCount':_0x40bcf6,'errorCount':_0x15d9ab[_0x1ad392(0x1cb)]},_0x267061['YEmWM']);}catch(_0x6a244f){logError(_0x6a244f,{'event':_0x267061['SDVJx'],'jobId':_0x1db33e},_0x1ad392(0x185)),await redisHelper['setJob'](_0x1ad392(0x14f)+_0x1db33e,{'job_id':_0x1db33e,'upload_id':_0x2b1d28,'status':_0x1ad392(0x1a7),'progress':0x0,'error':_0x6a244f['message'],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x400c56(0x1c0)](_0x530e70,_0xdc867a,_0x1d5250,_0x905496,_0x47394d='update_existing',_0x5ce084=[]){const _0x5c8ede=a0_0x400c56,_0x3e4811={'xmucd':function(_0x473e72,_0xb850b6){return _0x473e72===_0xb850b6;},'vIMPt':'NULL','RRQYJ':function(_0xbfae81,_0x2d244c){return _0xbfae81(_0x2d244c);},'lDwDO':_0x5c8ede(0x1e5),'wlRKO':'insert_only','afQoR':function(_0x337461,_0x52a951){return _0x337461!==_0x52a951;},'gjEvm':function(_0x312007,_0x3e49e1){return _0x312007===_0x3e49e1;},'XcXSG':_0x5c8ede(0x187),'ShYRU':'SKIP','IhBWE':function(_0x23ca85,_0x5ca6c5){return _0x23ca85>_0x5ca6c5;}},_0x1dafb5=upsertBuilder['chunkRows'](_0x530e70,0x64);for(const _0x1d3acc of _0x1dafb5){const _0x59c11b=_0x1d3acc[_0x5c8ede(0x152)](_0x5dd00c=>_0x5dd00c[_0xdc867a[0x0]]),_0x27327e=_0x59c11b['map'](_0x286ad1=>{const _0x3c529c=_0x5c8ede;if(_0x3e4811['xmucd'](_0x286ad1,null)||_0x286ad1===undefined)return _0x3e4811[_0x3c529c(0x1d6)];return'\x27'+_0x3e4811[_0x3c529c(0x154)](String,_0x286ad1)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x3b9509=_0x5c8ede(0x1e0)+_0x905496+',\x20'+_0xdc867a['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x1d5250+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0xdc867a[0x0]+_0x5c8ede(0x1af)+_0x27327e['join'](',\x20')+_0x5c8ede(0x1df);let _0xe0e20f=await executeQuery(_0x3b9509);dbType==='oracle'&&_0xe0e20f&&_0x3e4811['IhBWE'](_0xe0e20f[_0x5c8ede(0x1cb)],0x0)&&(_0xe0e20f=_0xe0e20f['map'](_0x1666f1=>{const _0x2c9e63=_0x5c8ede,_0x145822={};for(const [_0x4a0e74,_0x3a72c6]of Object[_0x2c9e63(0x195)](_0x1666f1)){_0x145822[_0x4a0e74['toLowerCase']()]=_0x3a72c6;}return _0x145822;}));const _0x3568ed=new Map();_0xe0e20f[_0x5c8ede(0x1a9)](_0x2b8c54=>{const _0x10c011=_0x2b8c54[_0xdc867a[0x0]];_0x3568ed['set'](_0x10c011,_0x2b8c54);}),_0x1d3acc['forEach']((_0x48d399,_0x50df67)=>{const _0x529713=_0x5c8ede,_0x53eb3a=_0x48d399[_0xdc867a[0x0]],_0x350d6d=_0x3568ed['get'](_0x53eb3a);if(_0x350d6d){if(_0x47394d===_0x529713(0x1dd))_0x48d399['_action']=_0x3e4811[_0x529713(0x1ae)],_0x48d399['_existingId']=_0x350d6d[_0x905496];else{if(_0x47394d===_0x3e4811['wlRKO']){_0x48d399['_action']=_0x529713(0x182),_0x48d399['_errors']=_0x48d399[_0x529713(0x15d)]||[],_0x48d399[_0x529713(0x15d)]['push']('Record\x20exists\x20(insert_only\x20mode)');const _0x56aff3=_0x530e70[_0x529713(0x1c7)](_0x48d399);_0x3e4811['afQoR'](_0x56aff3,-0x1)&&_0x5ce084['push']({'rowIndex':_0x56aff3,'rowData':_0x48d399,'errors':[_0x529713(0x16c)]});}else _0x3e4811[_0x529713(0x163)](_0x47394d,_0x3e4811['XcXSG'])&&(_0x48d399['_action']=_0x3e4811[_0x529713(0x18d)]);}}else{if(_0x47394d==='update_existing')_0x48d399['_action']=_0x529713(0x1b0);else(_0x47394d===_0x529713(0x193)||_0x3e4811[_0x529713(0x163)](_0x47394d,_0x3e4811['XcXSG']))&&(_0x48d399['_action']='INSERT');}});}}async['createCommitJob'](_0x4a8789){const _0x2856c0=a0_0x400c56,_0x1e5b10={'ZjDke':function(_0x130a77,_0xdbecd7,_0x37bd62,_0xef4ba0){return _0x130a77(_0xdbecd7,_0x37bd62,_0xef4ba0);},'cKzyu':_0x2856c0(0x1eb),'UflPi':'Preview\x20job\x20not\x20found\x20or\x20expired','DXmja':function(_0x46bc06,_0x573dc1){return _0x46bc06!==_0x573dc1;},'DMQOL':'processing','OfwPo':_0x2856c0(0x19c)},_0x12b16e=this['generateId'](),_0x149890=await redisHelper[_0x2856c0(0x1d0)]('job:'+_0x4a8789);if(!_0x149890)throw new Error(_0x1e5b10['UflPi']);if(_0x1e5b10[_0x2856c0(0x19a)](_0x149890['status'],_0x2856c0(0x1a6)))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x149890['status']);const _0x277d1b={'job_id':_0x12b16e,'upload_id':_0x149890[_0x2856c0(0x1f0)],'preview_job_id':_0x4a8789,'status':_0x1e5b10['DMQOL'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x149890[_0x2856c0(0x17e)]};return await redisHelper['setJob'](_0x2856c0(0x14f)+_0x12b16e,_0x277d1b,0xe10),logger[_0x2856c0(0x162)]({'event':'commit_job_created','jobId':_0x12b16e,'previewJobId':_0x4a8789},_0x1e5b10[_0x2856c0(0x1c2)]),this['processCommitJob'](_0x12b16e,_0x149890)[_0x2856c0(0x1c6)](_0x5a5a16=>{const _0x1e4a45=_0x2856c0;_0x1e5b10['ZjDke'](logError,_0x5a5a16,{'event':_0x1e4a45(0x1b6),'jobId':_0x12b16e},_0x1e5b10[_0x1e4a45(0x184)]);}),{'job_id':_0x12b16e,'status':_0x2856c0(0x157)};}async[a0_0x400c56(0x167)](_0x24a548,_0x3686a7){const _0x559d7a=a0_0x400c56,_0x3b681b={'ktxGy':'insert','IeTNy':'Upload\x20data\x20not\x20found\x20or\x20expired','DGcxP':'import_fields_filtered','afnHQ':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','ZeMng':function(_0x34424b,_0x173d1c){return _0x34424b>_0x173d1c;},'EUTmX':function(_0x29316f,_0x1e8411){return _0x29316f||_0x1e8411;},'rmFUW':'update','vspSn':function(_0x4533b7,_0x3db9f8){return _0x4533b7(_0x3db9f8);},'FuYkT':'Commit\x20job\x20completed','jgnFM':function(_0x5c2883,_0x396915,_0x57e81b,_0x2aeb9c){return _0x5c2883(_0x396915,_0x57e81b,_0x2aeb9c);},'vBUtE':'commit_job_failed','mAMxT':'Commit\x20job\x20failed','MpIrH':'failed'};try{const _0x42e4d8=await redisHelper['getJob']('upload:'+_0x3686a7['upload_id']);if(!_0x42e4d8)throw new Error(_0x3b681b[_0x559d7a(0x1bc)]);const {rows:_0x57e22c,params:_0x3ef0fa}=_0x42e4d8,{tableName:_0x2769b6,fieldName:_0x1c6f50,primaryKey:_0x2cf2b8,upsertKeys:_0x2c8afb,excludeFromImport:_0x410874,lookupFields:_0x325181,columnFormats:_0x1d4861}=_0x3ef0fa,_0x26324e=_0x325181?Object[_0x559d7a(0x17f)](_0x325181):[],_0x205cd4=new Set([..._0x410874||[],..._0x26324e]);let _0x30b7f9=_0x1c6f50;_0x205cd4[_0x559d7a(0x166)]>0x0&&(_0x30b7f9=_0x1c6f50['filter'](_0x1ced89=>!_0x205cd4['has'](_0x1ced89)),logger['debug']({'event':_0x3b681b['DGcxP'],'originalCount':_0x1c6f50['length'],'filteredCount':_0x30b7f9[_0x559d7a(0x1cb)],'excludedFields':Array['from'](_0x205cd4),'lookupSourceFields':_0x26324e},_0x3b681b['afnHQ']));const _0x59d13d=_0x57e22c[_0x559d7a(0x1f2)](_0x209d8c=>_0x209d8c['_action']==='INSERT'),_0x383639=_0x57e22c['filter'](_0x1612da=>_0x1612da[_0x559d7a(0x1b5)]===_0x559d7a(0x1e5));let _0x13742d=0x0,_0x548adb=0x0;const _0x2ee74f=[];if(_0x59d13d[_0x559d7a(0x1cb)]>0x0){const _0x3b3bc9=upsertBuilder['chunkRows'](_0x59d13d,0x64);for(const _0x322120 of _0x3b3bc9){const {query:_0xe9cd9e}=upsertBuilder['buildBatchInsert'](_0x322120,_0x2769b6,_0x30b7f9,_0x1d4861||{});_0xe9cd9e&&_0x2ee74f['push']({'sql':_0xe9cd9e,'count':_0x322120[_0x559d7a(0x1cb)],'type':_0x559d7a(0x165)});}}if(_0x3b681b[_0x559d7a(0x188)](_0x383639[_0x559d7a(0x1cb)],0x0)){const _0x29f087=upsertBuilder[_0x559d7a(0x1d5)](_0x383639,0x64);for(const _0x36bcd1 of _0x29f087){const {query:_0x4a19e9}=upsertBuilder['buildBatchUpdate'](_0x36bcd1,_0x2769b6,_0x30b7f9,_0x2cf2b8,_0x2c8afb,_0x3b681b[_0x559d7a(0x164)](_0x1d4861,{}));_0x4a19e9&&_0x2ee74f['push']({'sql':_0x4a19e9,'count':_0x36bcd1[_0x559d7a(0x1cb)],'type':_0x3b681b[_0x559d7a(0x1aa)]});}}_0x3b681b['ZeMng'](_0x2ee74f[_0x559d7a(0x1cb)],0x0)&&await _0x3b681b[_0x559d7a(0x158)](executeTransaction,_0x2ee74f[_0x559d7a(0x152)](_0x32621d=>({'sql':_0x32621d[_0x559d7a(0x17a)],'params':[]})));_0x2ee74f[_0x559d7a(0x1a9)](_0x1746c0=>{const _0x5c42d2=_0x559d7a;if(_0x1746c0['type']===_0x3b681b['ktxGy'])_0x13742d+=_0x1746c0[_0x5c42d2(0x1fa)];else _0x548adb+=_0x1746c0['count'];});const _0x5f1427={'job_id':_0x24a548,'upload_id':_0x3686a7[_0x559d7a(0x1f0)],'preview_job_id':_0x3686a7['job_id'],'status':'completed','progress':0x64,'created_at':_0x3686a7[_0x559d7a(0x15b)],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x57e22c[_0x559d7a(0x1cb)],'inserted_rows':_0x13742d,'updated_rows':_0x548adb,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x3ef0fa};await redisHelper['setJob']('job:'+_0x24a548,_0x5f1427,0xe10),logger[_0x559d7a(0x162)]({'event':'commit_job_completed','jobId':_0x24a548,'insertedCount':_0x13742d,'updatedCount':_0x548adb},_0x3b681b['FuYkT']);}catch(_0x416cb0){_0x3b681b[_0x559d7a(0x1ab)](logError,_0x416cb0,{'event':_0x3b681b[_0x559d7a(0x15e)],'jobId':_0x24a548},_0x3b681b[_0x559d7a(0x1a5)]),await redisHelper[_0x559d7a(0x190)](_0x559d7a(0x14f)+_0x24a548,{'job_id':_0x24a548,'upload_id':_0x3686a7['upload_id'],'preview_job_id':_0x3686a7['job_id'],'status':_0x3b681b[_0x559d7a(0x155)],'progress':0x0,'error':_0x416cb0[_0x559d7a(0x18e)],'created_at':_0x3686a7['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x559d7a(0x1d7)]()},0xe10);}}async[a0_0x400c56(0x1c3)](_0x4d7f7f){const _0x1b4e7b=a0_0x400c56,_0x1814de={'CpkUh':'Job\x20not\x20found\x20or\x20expired'},_0x46ce25=await redisHelper[_0x1b4e7b(0x1d0)]('job:'+_0x4d7f7f);if(!_0x46ce25)return{'success':![],'error':_0x1814de[_0x1b4e7b(0x16f)]};return{'success':!![],'data':_0x46ce25};}}module['exports']=new ImportService();
@@ -1 +1 @@
1
- const a0_0x1bea91=a0_0x4dc4;(function(_0x124b41,_0x165362){const _0x566e46=a0_0x4dc4,_0x451234=_0x124b41();while(!![]){try{const _0x376cec=-parseInt(_0x566e46(0x13a))/0x1+-parseInt(_0x566e46(0x11a))/0x2*(parseInt(_0x566e46(0x12d))/0x3)+parseInt(_0x566e46(0x142))/0x4+-parseInt(_0x566e46(0x16b))/0x5*(-parseInt(_0x566e46(0x155))/0x6)+-parseInt(_0x566e46(0x102))/0x7*(-parseInt(_0x566e46(0x11e))/0x8)+parseInt(_0x566e46(0x115))/0x9*(-parseInt(_0x566e46(0x158))/0xa)+-parseInt(_0x566e46(0x172))/0xb;if(_0x376cec===_0x165362)break;else _0x451234['push'](_0x451234['shift']());}catch(_0x2b0d20){_0x451234['push'](_0x451234['shift']());}}}(a0_0x4720,0x3b42d));const {Kafka,logLevel}=require(a0_0x1bea91(0x118)),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x1b040e=a0_0x1bea91,_0x458fa4={'XZOYP':'5|3|0|9|2|7|1|4|6|8|10'},_0x29adcb=_0x458fa4[_0x1b040e(0x13d)][_0x1b040e(0x150)]('|');let _0x55722f=0x0;while(!![]){switch(_0x29adcb[_0x55722f++]){case'0':this[_0x1b040e(0x124)]=![];continue;case'1':this['connectionPromise']=null;continue;case'2':this[_0x1b040e(0x114)]=![];continue;case'3':this[_0x1b040e(0x153)]=null;continue;case'4':this['subscribedTopics']=[];continue;case'5':this['kafka']=null;continue;case'6':this[_0x1b040e(0x16e)]=null;continue;case'7':this['isPaused']=![];continue;case'8':this[_0x1b040e(0x10f)]=null;continue;case'9':this[_0x1b040e(0x12f)]=![];continue;case'10':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;}break;}}['getConfig'](){const _0x47f432=a0_0x1bea91,_0x42a288={'ywUEe':function(_0xee6e48,_0x9b119c){return _0xee6e48===_0x9b119c;},'ygdNs':'default','Pucek':function(_0x4726c9,_0x5b8bca){return _0x4726c9(_0x5b8bca);},'Lqwwc':'25000','UDTjn':function(_0x52b724,_0x31391f){return _0x52b724(_0x31391f);},'KGgpp':_0x47f432(0x10d),'AXnJa':function(_0x1ee146,_0x430a2a){return _0x1ee146(_0x430a2a);},'lfJgh':function(_0x956ec9,_0x3c2b38){return _0x956ec9(_0x3c2b38);},'efhwh':_0x47f432(0x10c),'rKXAh':function(_0x55b659,_0x18bc78){return _0x55b659(_0x18bc78);},'qAYSl':_0x47f432(0x143),'fJywX':function(_0x850d5,_0x5d07f6){return _0x850d5(_0x5d07f6);},'LDXbX':_0x47f432(0x11b)};return{'enabled':_0x42a288[_0x47f432(0x119)](process['env']['KAFKA_ENABLED'],_0x47f432(0x10c)),'brokers':(process['env'][_0x47f432(0x144)]||_0x47f432(0x16f))[_0x47f432(0x150)](','),'clientId':process[_0x47f432(0x133)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x47f432(0x133)][_0x47f432(0x112)]||_0x42a288[_0x47f432(0x169)])+_0x47f432(0x152),'connectionTimeout':_0x42a288['Pucek'](parseInt,process[_0x47f432(0x133)][_0x47f432(0x159)]||_0x47f432(0x11f)),'requestTimeout':_0x42a288[_0x47f432(0x15e)](parseInt,process['env'][_0x47f432(0x109)]||_0x42a288[_0x47f432(0x15a)]),'sessionTimeout':_0x42a288['UDTjn'](parseInt,process[_0x47f432(0x133)]['KAFKA_SESSION_TIMEOUT']||_0x42a288['KGgpp']),'heartbeatInterval':_0x42a288[_0x47f432(0x117)](parseInt,process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0x47f432(0x11f)),'maxBytesPerPartition':_0x42a288['lfJgh'](parseInt,process[_0x47f432(0x133)][_0x47f432(0x139)]||'1048576'),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']===_0x42a288[_0x47f432(0x16a)],'autoCommitInterval':_0x42a288[_0x47f432(0x131)](parseInt,process[_0x47f432(0x133)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x42a288['qAYSl']),'retryAttempts':_0x42a288['fJywX'](parseInt,process[_0x47f432(0x133)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x42a288['UDTjn'](parseInt,process[_0x47f432(0x133)]['KAFKA_RETRY_DELAY']||_0x42a288['LDXbX']),'retryMaxDelay':parseInt(process[_0x47f432(0x133)][_0x47f432(0x160)]||'30000'),'logLevel':process[_0x47f432(0x133)][_0x47f432(0x156)]||'warn'};}['getLogLevel'](_0x460d73){const _0xd59c74=a0_0x1bea91,_0xb86dcf={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel[_0xd59c74(0x146)],'info':logLevel[_0xd59c74(0x15c)],'debug':logLevel['DEBUG']};return _0xb86dcf[_0x460d73['toLowerCase']()]||logLevel['WARN'];}async['initialize'](_0x339e8f={}){const _0x1d60b2=a0_0x1bea91,_0xe24e19={'zRzvU':function(_0x5d752f,_0x3d66e8){return _0x5d752f===_0x3d66e8;},'ihYzl':_0x1d60b2(0x10c),'BHuJA':function(_0x4a9378,_0x502560){return _0x4a9378(_0x502560);}},_0x7dc28d=this[_0x1d60b2(0x110)]();if(!_0x7dc28d['enabled'])return console[_0x1d60b2(0x130)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this[_0x1d60b2(0x14c)];return this['isInitializing']=!![],this[_0x1d60b2(0x14c)]=new Promise(async _0xb2acba=>{const _0x52ce81=_0x1d60b2;try{let _0x45eeab=undefined;_0xe24e19[_0x52ce81(0x173)](process[_0x52ce81(0x133)]['KAFKA_SSL'],_0xe24e19[_0x52ce81(0x116)])&&(_0x45eeab=!![]);let _0x25ea40=undefined;process['env'][_0x52ce81(0x161)]&&(_0x25ea40={'mechanism':process['env'][_0x52ce81(0x161)],'username':process['env'][_0x52ce81(0x129)]||'','password':process['env'][_0x52ce81(0x147)]||''}),this['kafka']=new Kafka({'clientId':_0x339e8f['clientId']||_0x7dc28d['clientId'],'brokers':_0x7dc28d[_0x52ce81(0x14e)],'connectionTimeout':_0x7dc28d['connectionTimeout'],'requestTimeout':_0x7dc28d[_0x52ce81(0x16c)],'logLevel':this[_0x52ce81(0x164)](_0x7dc28d[_0x52ce81(0x127)]),'ssl':_0x45eeab,'sasl':_0x25ea40,'retry':{'initialRetryTime':_0x7dc28d['retryDelay'],'retries':_0x7dc28d[_0x52ce81(0x126)],'maxRetryTime':_0x7dc28d['retryMaxDelay']}}),this[_0x52ce81(0x16e)]=_0x339e8f['groupId']||'restforge-'+(process['env'][_0x52ce81(0x112)]||_0x52ce81(0x107))+'-consumer-group',this[_0x52ce81(0x153)]=this[_0x52ce81(0x157)][_0x52ce81(0x153)]({'groupId':this[_0x52ce81(0x16e)],'sessionTimeout':_0x7dc28d['sessionTimeout'],'heartbeatInterval':_0x7dc28d[_0x52ce81(0x132)],'maxBytesPerPartition':_0x7dc28d['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x52ce81(0x124)]=!![],console[_0x52ce81(0x130)](_0x52ce81(0x137)+_0x7dc28d['brokers']['join'](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this[_0x52ce81(0x113)](),_0xe24e19['BHuJA'](_0xb2acba,!![]);}catch(_0x5b81a9){console[_0x52ce81(0x154)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x5b81a9['message']),this['isConnected']=![],_0xb2acba(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0x1bea91(0x113)](){const _0x181c4d=a0_0x1bea91,_0x480e1f={'ENnvo':_0x181c4d(0x141),'PwDfb':_0x181c4d(0x136),'dHJwN':'consumer.crash'};if(!this['consumer'])return;this[_0x181c4d(0x153)]['on']('consumer.disconnect',()=>{const _0x4274ed=_0x181c4d;console['log'](_0x480e1f['ENnvo']),this[_0x4274ed(0x124)]=![],this[_0x4274ed(0x114)]=![];}),this[_0x181c4d(0x153)]['on'](_0x181c4d(0x103),()=>{const _0x56df43=_0x181c4d;console['log'](_0x480e1f[_0x56df43(0x101)]),this[_0x56df43(0x114)]=![];}),this['consumer']['on'](_0x480e1f['dHJwN'],_0x28973a=>{const _0x2e00e0=_0x181c4d;console[_0x2e00e0(0x154)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x28973a[_0x2e00e0(0x16d)][_0x2e00e0(0x154)][_0x2e00e0(0x165)]),this['isRunning']=![];}),this[_0x181c4d(0x153)]['on']('consumer.rebalancing',()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async['subscribe'](_0x32fd8e,_0x4fea48=![]){const _0x1f2a2b=a0_0x1bea91,_0x9f5429={'tVKuP':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x9f5429[_0x1f2a2b(0x123)]),![];try{const _0x4cfc69=Array[_0x1f2a2b(0x138)](_0x32fd8e)?_0x32fd8e:[_0x32fd8e];for(const _0x25230b of _0x4cfc69){await this['consumer'][_0x1f2a2b(0x100)]({'topic':_0x25230b,'fromBeginning':_0x4fea48}),console[_0x1f2a2b(0x130)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x25230b+_0x1f2a2b(0x11d)+_0x4fea48+')');}return this[_0x1f2a2b(0x14d)]=[...new Set([...this[_0x1f2a2b(0x14d)],..._0x4cfc69])],!![];}catch(_0xf1424a){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0xf1424a['message']),![];}}async['startConsuming'](_0x4890b0,_0xed4427={}){const _0x3d5333=a0_0x1bea91,_0x224617={'WUFEe':function(_0x996405,_0x58d3e6){return _0x996405+_0x58d3e6;},'UDmhe':function(_0x391d00,_0x7b6def){return _0x391d00(_0x7b6def);},'LFZKI':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','bQBob':function(_0x5b6f59,_0x1d7e14){return _0x5b6f59!==_0x1d7e14;}};if(!this['isConnected'])return console[_0x3d5333(0x154)](_0x224617['LFZKI']),![];if(this['isRunning'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x1e76af=this[_0x3d5333(0x110)]();this['messageHandler']=_0x4890b0;try{return this['metrics'][_0x3d5333(0x104)]=new Date(),await this['consumer']['run']({'autoCommit':_0x224617['bQBob'](_0xed4427[_0x3d5333(0x111)],undefined)?_0xed4427[_0x3d5333(0x111)]:_0x1e76af[_0x3d5333(0x111)],'autoCommitInterval':_0x1e76af['autoCommitInterval'],'eachMessage':async({topic:_0x3af9c0,partition:_0x228e0c,message:_0x57856c,heartbeat:_0x5b5b77})=>{const _0x28dd0f=_0x3d5333,_0x19bf7b=Date['now']();this['metrics'][_0x28dd0f(0x15f)]++,this['metrics'][_0x28dd0f(0x11c)]=new Date();try{const _0x159386=_0x57856c['value']?_0x57856c[_0x28dd0f(0x14f)]['toString']():null;let _0x480d94=null;try{_0x480d94=_0x159386?JSON[_0x28dd0f(0x13b)](_0x159386):null;}catch(_0x3f0979){_0x480d94=_0x159386;}const _0x1a1d03={'topic':_0x3af9c0,'partition':_0x228e0c,'offset':_0x57856c[_0x28dd0f(0x14b)],'key':_0x57856c['key']?_0x57856c['key']['toString']():null,'headers':this[_0x28dd0f(0x13e)](_0x57856c['headers']),'timestamp':_0x57856c[_0x28dd0f(0xfe)],'value':_0x480d94,'raw':_0x159386};this['messageHandler']&&await this['messageHandler'](_0x1a1d03);!_0x1e76af['autoCommit']&&await this[_0x28dd0f(0x153)]['commitOffsets']([{'topic':_0x3af9c0,'partition':_0x228e0c,'offset':_0x224617[_0x28dd0f(0x13f)](_0x224617['UDmhe'](parseInt,_0x57856c[_0x28dd0f(0x14b)]),0x1)[_0x28dd0f(0x12b)]()}]);this['metrics']['messagesProcessed']++;const _0x697442=Date[_0x28dd0f(0x134)]()-_0x19bf7b;this[_0x28dd0f(0x15d)][_0x28dd0f(0x170)][_0x28dd0f(0x13c)](_0x697442),this[_0x28dd0f(0x15d)]['processingTimes']['length']>0x64&&this[_0x28dd0f(0x15d)][_0x28dd0f(0x170)][_0x28dd0f(0x145)](),await _0x5b5b77();}catch(_0x44e694){this[_0x28dd0f(0x15d)][_0x28dd0f(0x125)]++,console[_0x28dd0f(0x154)](_0x28dd0f(0x120)+_0x44e694[_0x28dd0f(0x165)]);throw _0x44e694;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x3d5333(0x14d)][_0x3d5333(0x121)](',\x20')),!![];}catch(_0x14b11e){return console[_0x3d5333(0x154)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x14b11e['message']),![];}}[a0_0x1bea91(0x13e)](_0x401fcf){const _0x2bdcef=a0_0x1bea91;if(!_0x401fcf)return{};const _0x2d9a7b={};for(const [_0x5b43b3,_0x1d12bd]of Object['entries'](_0x401fcf)){_0x2d9a7b[_0x5b43b3]=_0x1d12bd?_0x1d12bd[_0x2bdcef(0x12b)]():null;}return _0x2d9a7b;}async[a0_0x1bea91(0x149)](){const _0x5a46c0=a0_0x1bea91,_0x5151ae={'qJPsP':_0x5a46c0(0x166)};if(!this['isConnected']||!this[_0x5a46c0(0x114)])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console['log'](_0x5a46c0(0x14a)),!![];try{const _0x45ea52=this[_0x5a46c0(0x14d)][_0x5a46c0(0x128)](_0x1d2c6d=>({'topic':_0x1d2c6d}));return this['consumer'][_0x5a46c0(0x149)](_0x45ea52),this[_0x5a46c0(0x140)]=!![],console['log'](_0x5151ae[_0x5a46c0(0x122)]),!![];}catch(_0x31bb25){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x31bb25[_0x5a46c0(0x165)]),![];}}async['resume'](){const _0x103911=a0_0x1bea91,_0x291e45={'SfEcF':'[KafkaConsumer]\x20Consumer\x20not\x20paused'};if(!this['isConnected']||!this['isRunning'])return console[_0x103911(0x130)](_0x103911(0x10b)),![];if(!this['isPaused'])return console[_0x103911(0x130)](_0x291e45['SfEcF']),!![];try{const _0xa700ba=this[_0x103911(0x14d)][_0x103911(0x128)](_0x2fbac8=>({'topic':_0x2fbac8}));return this[_0x103911(0x153)][_0x103911(0x135)](_0xa700ba),this['isPaused']=![],console['log'](_0x103911(0x10e)),!![];}catch(_0x460dfd){return console['error'](_0x103911(0x171)+_0x460dfd['message']),![];}}async[a0_0x1bea91(0xff)](){const _0x2b6ea6=a0_0x1bea91,_0x5c82a8={'ZkwLO':'[KafkaConsumer]\x20Consumer\x20not\x20connected','GNeYf':_0x2b6ea6(0x162)};if(!this['isConnected'])return console['log'](_0x5c82a8['ZkwLO']),!![];try{const _0x5531e8=_0x5c82a8[_0x2b6ea6(0x10a)][_0x2b6ea6(0x150)]('|');let _0x1c4ad0=0x0;while(!![]){switch(_0x5531e8[_0x1c4ad0++]){case'0':this[_0x2b6ea6(0x140)]=![];continue;case'1':return!![];case'2':this['consumer']&&(await this['consumer']['stop'](),await this[_0x2b6ea6(0x153)][_0x2b6ea6(0x12a)]());continue;case'3':this[_0x2b6ea6(0x124)]=![];continue;case'4':this['isRunning']=![];continue;case'5':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;}break;}}catch(_0x4fdcdf){return console[_0x2b6ea6(0x154)](_0x2b6ea6(0x163)+_0x4fdcdf[_0x2b6ea6(0x165)]),![];}}async[a0_0x1bea91(0x167)](_0x185bce,_0x42b9cb,_0x2bf93b){const _0x52ee9c=a0_0x1bea91;if(!this['isConnected'])return console['error'](_0x52ee9c(0x151)),![];try{return this['consumer']['seek']({'topic':_0x185bce,'partition':_0x42b9cb,'offset':_0x2bf93b['toString']()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x2bf93b+'\x20on\x20'+_0x185bce+':'+_0x42b9cb),!![];}catch(_0x242841){return console[_0x52ee9c(0x154)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x242841['message']),![];}}['getStatus'](){const _0x5a627c=a0_0x1bea91,_0x3bec25=this['getConfig']();return{'enabled':_0x3bec25['enabled'],'connected':this['isConnected'],'running':this[_0x5a627c(0x114)],'paused':this['isPaused'],'brokers':_0x3bec25['brokers'],'clientId':_0x3bec25[_0x5a627c(0x148)],'groupId':this[_0x5a627c(0x16e)],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x15828d=a0_0x1bea91,_0x36538b={'EgDzz':function(_0x556db3,_0x54f201){return _0x556db3/_0x54f201;},'hnesI':function(_0x2f2371,_0x51604e){return _0x2f2371>_0x51604e;},'BlECN':function(_0x47b203,_0x1e5e5b){return _0x47b203*_0x1e5e5b;},'mkMfG':function(_0x546dc2,_0x4ba2db){return _0x546dc2/_0x4ba2db;},'oXbVe':function(_0xc30170,_0x11c14c){return _0xc30170+_0x11c14c;},'XTTMo':function(_0x400bb0,_0x58820b){return _0x400bb0+_0x58820b;}},_0x83d7bf=this['metrics'][_0x15828d(0x170)][_0x15828d(0x106)]>0x0?_0x36538b['EgDzz'](this[_0x15828d(0x15d)]['processingTimes'][_0x15828d(0x12c)]((_0x5ca2a7,_0x1dcf63)=>_0x5ca2a7+_0x1dcf63,0x0),this['metrics']['processingTimes'][_0x15828d(0x106)]):0x0,_0x2e40be=this[_0x15828d(0x15d)]['processingTimes']['length']>0x0?Math['min'](...this[_0x15828d(0x15d)]['processingTimes']):0x0,_0x1b7085=_0x36538b['hnesI'](this[_0x15828d(0x15d)]['processingTimes']['length'],0x0)?Math['max'](...this[_0x15828d(0x15d)]['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x15828d(0x15f)],'messagesProcessed':this[_0x15828d(0x15d)][_0x15828d(0x168)],'messagesFailed':this[_0x15828d(0x15d)]['messagesFailed'],'successRate':_0x36538b['hnesI'](this[_0x15828d(0x15d)][_0x15828d(0x15f)],0x0)?_0x36538b['BlECN'](_0x36538b[_0x15828d(0x15b)](this[_0x15828d(0x15d)]['messagesProcessed'],this['metrics'][_0x15828d(0x15f)]),0x64)[_0x15828d(0x12e)](0x2)+'%':'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x15828d(0x15d)][_0x15828d(0x104)],'uptime':this['metrics']['startTime']?Math['floor']((Date['now']()-this['metrics'][_0x15828d(0x104)]['getTime']())/0x3e8)+'s':'0s','processingTime':{'avg':_0x36538b['oXbVe'](Math['round'](_0x83d7bf),'ms'),'min':_0x2e40be+'ms','max':_0x36538b['XTTMo'](_0x1b7085,'ms')}};}[a0_0x1bea91(0x105)](){const _0x423df3=a0_0x1bea91;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x423df3(0x130)]('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){await this['stop']();}}function a0_0x4dc4(_0x282434,_0x442666){_0x282434=_0x282434-0xfe;const _0x4720c5=a0_0x4720();let _0x4dc416=_0x4720c5[_0x282434];if(a0_0x4dc4['MVXufY']===undefined){var _0x2c8cdd=function(_0xd06efe){const _0x404497='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb429c='',_0x5ee610='';for(let _0x237f05=0x0,_0x217aa2,_0x430494,_0x319981=0x0;_0x430494=_0xd06efe['charAt'](_0x319981++);~_0x430494&&(_0x217aa2=_0x237f05%0x4?_0x217aa2*0x40+_0x430494:_0x430494,_0x237f05++%0x4)?_0xb429c+=String['fromCharCode'](0xff&_0x217aa2>>(-0x2*_0x237f05&0x6)):0x0){_0x430494=_0x404497['indexOf'](_0x430494);}for(let _0x99e698=0x0,_0x1f8550=_0xb429c['length'];_0x99e698<_0x1f8550;_0x99e698++){_0x5ee610+='%'+('00'+_0xb429c['charCodeAt'](_0x99e698)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ee610);};a0_0x4dc4['WAsGPY']=_0x2c8cdd,a0_0x4dc4['TbYVQM']={},a0_0x4dc4['MVXufY']=!![];}const _0x880151=_0x4720c5[0x0],_0x44e961=_0x282434+_0x880151,_0xf3bcfd=a0_0x4dc4['TbYVQM'][_0x44e961];return!_0xf3bcfd?(_0x4dc416=a0_0x4dc4['WAsGPY'](_0x4dc416),a0_0x4dc4['TbYVQM'][_0x44e961]=_0x4dc416):_0x4dc416=_0xf3bcfd,_0x4dc416;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x5c2f24=a0_0x1bea91;instance&&(instance[_0x5c2f24(0x108)](),instance=null);}function a0_0x4720(){const _0x5412f4=['AxndB25Uzwn0zwq','BwvZC2fNzxngywLSzwq','CMv0CNLbDhrLBxb0CW','Bg9Ntgv2zwW','BwfW','s0fgs0fFu0fttf9vu0vstKfnrq','zgLZy29UBMvJDa','Dg9tDhjPBMC','CMvKDwnL','mJa0sKPcCvjW','Dg9gAxHLza','AxnjBML0AwfSAxPPBMC','Bg9N','CKTyqwG','AgvHCNrIzwf0sw50zxj2ywW','zw52','BM93','CMvZDw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','AxnbCNjHEq','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','odC4odD0sfPOuum','CgfYC2u','ChvZAa','wfPpwva','CgfYC2vizwfKzxjZ','v1vgrwu','AxnqyxvZzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','mtmWmtyZmKPkCMfgsq','ntaWma','s0fgs0fFqLjps0vsuW','C2HPzNq','v0fstG','s0fgs0fFu0fttf9qqvntv09sra','y2XPzw50swq','Cgf1C2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','B2zMC2v0','y29UBMvJDgLVBLbYB21PC2u','C3vIC2nYAwjLzfrVCgLJCW','yNjVA2vYCW','DMfSDwu','C3bSAxq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','lwnVBNn1BwvY','y29UC3vTzxi','zxjYB3i','nNjKuwreuW','s0fgs0fFte9hx0XfvKvm','A2fMA2e','mti1odiWsfv1tKH1','s0fgs0fFq09otKvdveLptL9usu1ft1vu','thf3D2m','BwTnzKC','su5gtW','Bwv0CMLJCW','uhvJzwS','BwvZC2fNzxnszwnLAxzLza','s0fgs0fFuKvuuLLFtufyx0rftefz','s0fgs0fFu0fttf9nruniqu5ju00','mNWZFdr8mhW1Fde','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','z2v0tg9Ntgv2zwW','BwvZC2fNzq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','C2vLA1rVt2zMC2v0','BwvZC2fNzxnqCM9JzxnZzwq','EwDKtNm','zwzOD2G','odK0oteWEfLkD1fN','CMvXDwvZDfrPBwvVDxq','Cgf5Bg9Hza','z3jVDxbjza','Bg9JywXOB3n0oJKWoti','ChjVy2vZC2LUz1rPBwvZ','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','mJeYntGYn3HPB2n0vW','ELj6DLu','DgLTzxn0yw1W','C3rVCa','C3vIC2nYAwjL','uhDezMi','mZiWmtK2mwDus3j4Ba','y29UC3vTzxiUC3rVCa','C3rHCNruAw1L','CMvZzxrnzxrYAwnZ','BgvUz3rO','zgvMyxvSDa','y2XVC2u','s0fgs0fFuKvrvuvtvf9usu1ft1vu','r05Lwwy','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','Dhj1zq','mZaWmda','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','BwvZC2fNzuHHBMrSzxi','z2v0q29UzMLN','yxv0B0nVBw1PDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C2v0DxbfDMvUDeHHBMrSzxjZ','AxnsDw5UAw5N','nZjoDezfC0m','AwHzEMW','qvHUsMe','A2fMA2fQCW','ExDvrwu','otKYmhvjtgfJDq','mtaWma','BgfZDe1LC3nHz2vuAw1L','icHMCM9TqMvNAw5UAw5NoIa','ohzOrKPAua','mZaWma','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','AM9PBG','CuPqC1a','DfzlDva'];a0_0x4720=function(){return _0x5412f4;};return a0_0x4720();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x16dba6=a0_0x59b3;(function(_0x304210,_0x5972a2){const _0x5f4f31=a0_0x59b3,_0x278cb7=_0x304210();while(!![]){try{const _0x3f34e7=-parseInt(_0x5f4f31(0x155))/0x1+parseInt(_0x5f4f31(0x166))/0x2+-parseInt(_0x5f4f31(0x18f))/0x3+-parseInt(_0x5f4f31(0x138))/0x4+-parseInt(_0x5f4f31(0x16a))/0x5*(-parseInt(_0x5f4f31(0x147))/0x6)+-parseInt(_0x5f4f31(0x182))/0x7+parseInt(_0x5f4f31(0x14e))/0x8;if(_0x3f34e7===_0x5972a2)break;else _0x278cb7['push'](_0x278cb7['shift']());}catch(_0x5aa37d){_0x278cb7['push'](_0x278cb7['shift']());}}}(a0_0x5ebf,0xb9163));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x588c47=a0_0x59b3,_0x5583ba='9|6|3|5|10|7|4|0|1|8|2'[_0x588c47(0x177)]('|');let _0x3d5ceb=0x0;while(!![]){switch(_0x5583ba[_0x3d5ceb++]){case'0':this['subscribedTopics']=[];continue;case'1':this['groupId']=null;continue;case'2':this[_0x588c47(0x188)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'3':this['isConnected']=![];continue;case'4':this['connectionPromise']=null;continue;case'5':this['isInitializing']=![];continue;case'6':this['consumer']=null;continue;case'7':this['isPaused']=![];continue;case'8':this[_0x588c47(0x181)]=null;continue;case'9':this[_0x588c47(0x129)]=null;continue;case'10':this['isRunning']=![];continue;}break;}}['getConfig'](){const _0x1b6cfb=a0_0x59b3,_0x243037={'IfImC':function(_0x547ab3,_0x216546){return _0x547ab3===_0x216546;},'TedXZ':'true','mJpvB':'localhost:9092','DNbqV':_0x1b6cfb(0x157),'MDbOe':function(_0x8c9002,_0x23e247){return _0x8c9002(_0x23e247);},'cQnXP':'30000'};return{'enabled':_0x243037[_0x1b6cfb(0x18b)](process['env'][_0x1b6cfb(0x144)],_0x243037[_0x1b6cfb(0x13b)]),'brokers':(process[_0x1b6cfb(0x141)]['KAFKA_BROKERS']||_0x243037[_0x1b6cfb(0x137)])[_0x1b6cfb(0x177)](','),'clientId':process['env'][_0x1b6cfb(0x13f)]||_0x1b6cfb(0x16c)+(process['env'][_0x1b6cfb(0x13e)]||_0x243037['DNbqV'])+_0x1b6cfb(0x179),'connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||'3000'),'requestTimeout':parseInt(process[_0x1b6cfb(0x141)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0x243037[_0x1b6cfb(0x150)](parseInt,process[_0x1b6cfb(0x141)]['KAFKA_SESSION_TIMEOUT']||_0x243037[_0x1b6cfb(0x187)]),'heartbeatInterval':parseInt(process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0x1b6cfb(0x17f)),'maxBytesPerPartition':_0x243037[_0x1b6cfb(0x150)](parseInt,process[_0x1b6cfb(0x141)][_0x1b6cfb(0x18d)]||_0x1b6cfb(0x17b)),'autoCommit':process[_0x1b6cfb(0x141)]['KAFKA_AUTO_COMMIT']==='true','autoCommitInterval':parseInt(process[_0x1b6cfb(0x141)][_0x1b6cfb(0x139)]||_0x1b6cfb(0x18c)),'retryAttempts':parseInt(process[_0x1b6cfb(0x141)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x243037[_0x1b6cfb(0x150)](parseInt,process[_0x1b6cfb(0x141)][_0x1b6cfb(0x136)]||'1000'),'retryMaxDelay':parseInt(process['env']['KAFKA_RETRY_MAX_DELAY']||_0x243037[_0x1b6cfb(0x187)]),'logLevel':process['env']['KAFKA_LOG_LEVEL']||'warn'};}['getLogLevel'](_0x298412){const _0x5e4cde=a0_0x59b3,_0x313a41={'nothing':logLevel[_0x5e4cde(0x13d)],'error':logLevel['ERROR'],'warn':logLevel[_0x5e4cde(0x15c)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x313a41[_0x298412[_0x5e4cde(0x178)]()]||logLevel['WARN'];}async['initialize'](_0x30792c={}){const _0x567f49=a0_0x59b3,_0x26e674={'xZdOX':function(_0x3b3bf1,_0x5bb90d){return _0x3b3bf1===_0x5bb90d;},'XgawL':function(_0x3bfb75,_0x44fbe8){return _0x3bfb75(_0x44fbe8);}},_0x53bf91=this[_0x567f49(0x170)]();if(!_0x53bf91[_0x567f49(0x126)])return console[_0x567f49(0x12c)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x567f49(0x186)])return!![];if(this[_0x567f49(0x140)]&&this['connectionPromise'])return this[_0x567f49(0x152)];return this[_0x567f49(0x140)]=!![],this[_0x567f49(0x152)]=new Promise(async _0x568226=>{const _0x27d0d8=_0x567f49;try{let _0x4a04db=undefined;_0x26e674['xZdOX'](process[_0x27d0d8(0x141)]['KAFKA_SSL'],'true')&&(_0x4a04db=!![]);let _0x1b40a8=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x1b40a8={'mechanism':process[_0x27d0d8(0x141)][_0x27d0d8(0x156)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x27d0d8(0x141)][_0x27d0d8(0x15e)]||''}),this[_0x27d0d8(0x129)]=new Kafka({'clientId':_0x30792c['clientId']||_0x53bf91['clientId'],'brokers':_0x53bf91[_0x27d0d8(0x193)],'connectionTimeout':_0x53bf91['connectionTimeout'],'requestTimeout':_0x53bf91['requestTimeout'],'logLevel':this['getLogLevel'](_0x53bf91['logLevel']),'ssl':_0x4a04db,'sasl':_0x1b40a8,'retry':{'initialRetryTime':_0x53bf91[_0x27d0d8(0x17d)],'retries':_0x53bf91[_0x27d0d8(0x128)],'maxRetryTime':_0x53bf91['retryMaxDelay']}}),this['groupId']=_0x30792c['groupId']||_0x27d0d8(0x16c)+(process[_0x27d0d8(0x141)]['RESTFORGE_PROJECT_NAME']||'default')+_0x27d0d8(0x12f),this['consumer']=this['kafka'][_0x27d0d8(0x14f)]({'groupId':this['groupId'],'sessionTimeout':_0x53bf91[_0x27d0d8(0x161)],'heartbeatInterval':_0x53bf91[_0x27d0d8(0x151)],'maxBytesPerPartition':_0x53bf91[_0x27d0d8(0x124)],'allowAutoTopicCreation':![]}),await this[_0x27d0d8(0x14f)]['connect'](),this['isConnected']=!![],console['log'](_0x27d0d8(0x12b)+_0x53bf91[_0x27d0d8(0x193)]['join'](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this['setupEventHandlers'](),_0x26e674[_0x27d0d8(0x130)](_0x568226,!![]);}catch(_0x17b8e0){console[_0x27d0d8(0x149)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x17b8e0[_0x27d0d8(0x14c)]),this['isConnected']=![],_0x568226(![]);}finally{this[_0x27d0d8(0x140)]=![];}}),this[_0x567f49(0x152)];}[a0_0x16dba6(0x17c)](){const _0x24303d=a0_0x16dba6,_0x371d11={'awPbO':_0x24303d(0x143),'GuyUs':_0x24303d(0x132),'bufcC':'[KafkaConsumer]\x20Consumer\x20rebalancing...','vyDrK':'consumer.disconnect','tyFIh':'consumer.stop'};if(!this['consumer'])return;this[_0x24303d(0x14f)]['on'](_0x371d11[_0x24303d(0x169)],()=>{const _0x426c38=_0x24303d;console[_0x426c38(0x12c)](_0x371d11['awPbO']),this[_0x426c38(0x186)]=![],this['isRunning']=![];}),this[_0x24303d(0x14f)]['on'](_0x371d11['tyFIh'],()=>{const _0x30e6ad=_0x24303d;console[_0x30e6ad(0x12c)](_0x371d11['GuyUs']),this[_0x30e6ad(0x154)]=![];}),this['consumer']['on'](_0x24303d(0x12d),_0x50bd1e=>{const _0x1e0500=_0x24303d;console[_0x1e0500(0x149)](_0x1e0500(0x127)+_0x50bd1e['payload']['error']['message']),this[_0x1e0500(0x154)]=![];}),this['consumer']['on']('consumer.rebalancing',()=>{console['log'](_0x371d11['bufcC']);});}async[a0_0x16dba6(0x192)](_0x11c200,_0x2fa6cd=![]){const _0x530051=a0_0x16dba6;if(!this[_0x530051(0x186)])return console['error'](_0x530051(0x168)),![];try{const _0x1bc7ba=Array['isArray'](_0x11c200)?_0x11c200:[_0x11c200];for(const _0x4f7df3 of _0x1bc7ba){await this['consumer'][_0x530051(0x192)]({'topic':_0x4f7df3,'fromBeginning':_0x2fa6cd}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x4f7df3+_0x530051(0x190)+_0x2fa6cd+')');}return this[_0x530051(0x146)]=[...new Set([...this[_0x530051(0x146)],..._0x1bc7ba])],!![];}catch(_0x16ef03){return console[_0x530051(0x149)](_0x530051(0x185)+_0x16ef03['message']),![];}}async['startConsuming'](_0x39d686,_0x17c3d2={}){const _0x4cb3e8=a0_0x16dba6,_0x18f2a3={'TbwPB':function(_0xfafaad,_0x5bc6c3){return _0xfafaad+_0x5bc6c3;},'FnGdF':_0x4cb3e8(0x142),'BlVmk':_0x4cb3e8(0x153),'iOJtU':function(_0x3e001a,_0x1faaa0){return _0x3e001a!==_0x1faaa0;}};if(!this['isConnected'])return console['error'](_0x18f2a3['FnGdF']),![];if(this[_0x4cb3e8(0x154)])return console['log'](_0x18f2a3['BlVmk']),!![];const _0x46eae3=this['getConfig']();this['messageHandler']=_0x39d686;try{return this['metrics'][_0x4cb3e8(0x125)]=new Date(),await this[_0x4cb3e8(0x14f)]['run']({'autoCommit':_0x18f2a3[_0x4cb3e8(0x18a)](_0x17c3d2['autoCommit'],undefined)?_0x17c3d2['autoCommit']:_0x46eae3['autoCommit'],'autoCommitInterval':_0x46eae3['autoCommitInterval'],'eachMessage':async({topic:_0x5ee0e8,partition:_0x49a2ca,message:_0x24c912,heartbeat:_0xdda8db})=>{const _0x4fe7aa=_0x4cb3e8,_0x30b22d=Date[_0x4fe7aa(0x167)]();this['metrics']['messagesReceived']++,this[_0x4fe7aa(0x188)][_0x4fe7aa(0x172)]=new Date();try{const _0xb26cf=_0x24c912['value']?_0x24c912['value'][_0x4fe7aa(0x148)]():null;let _0x52899c=null;try{_0x52899c=_0xb26cf?JSON['parse'](_0xb26cf):null;}catch(_0x400b66){_0x52899c=_0xb26cf;}const _0x178c27={'topic':_0x5ee0e8,'partition':_0x49a2ca,'offset':_0x24c912['offset'],'key':_0x24c912[_0x4fe7aa(0x15f)]?_0x24c912['key'][_0x4fe7aa(0x148)]():null,'headers':this['parseHeaders'](_0x24c912[_0x4fe7aa(0x134)]),'timestamp':_0x24c912[_0x4fe7aa(0x183)],'value':_0x52899c,'raw':_0xb26cf};this['messageHandler']&&await this['messageHandler'](_0x178c27);!_0x46eae3['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x5ee0e8,'partition':_0x49a2ca,'offset':_0x18f2a3[_0x4fe7aa(0x18e)](parseInt(_0x24c912[_0x4fe7aa(0x158)]),0x1)['toString']()}]);this['metrics'][_0x4fe7aa(0x189)]++;const _0x1aeffe=Date[_0x4fe7aa(0x167)]()-_0x30b22d;this['metrics'][_0x4fe7aa(0x191)]['push'](_0x1aeffe),this['metrics']['processingTimes'][_0x4fe7aa(0x163)]>0x64&&this['metrics'][_0x4fe7aa(0x191)][_0x4fe7aa(0x123)](),await _0xdda8db();}catch(_0x5a79ac){this[_0x4fe7aa(0x188)][_0x4fe7aa(0x14a)]++,console[_0x4fe7aa(0x149)](_0x4fe7aa(0x174)+_0x5a79ac['message']);throw _0x5a79ac;}}}),this[_0x4cb3e8(0x154)]=!![],console[_0x4cb3e8(0x12c)](_0x4cb3e8(0x13c)+this[_0x4cb3e8(0x146)][_0x4cb3e8(0x173)](',\x20')),!![];}catch(_0x1cbfdd){return console[_0x4cb3e8(0x149)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x1cbfdd[_0x4cb3e8(0x14c)]),![];}}['parseHeaders'](_0x434b34){const _0x8662ba=a0_0x16dba6;if(!_0x434b34)return{};const _0x1b741a={};for(const [_0x3b5546,_0x11fa6b]of Object['entries'](_0x434b34)){_0x1b741a[_0x3b5546]=_0x11fa6b?_0x11fa6b[_0x8662ba(0x148)]():null;}return _0x1b741a;}async['pause'](){const _0x2acfa7=a0_0x16dba6,_0x11eabc={'eDGFl':_0x2acfa7(0x14b),'ZsDfr':_0x2acfa7(0x175)};if(!this[_0x2acfa7(0x186)]||!this['isRunning'])return console[_0x2acfa7(0x12c)](_0x11eabc['eDGFl']),![];if(this['isPaused'])return console[_0x2acfa7(0x12c)]('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x1e9c82=this[_0x2acfa7(0x146)]['map'](_0x483060=>({'topic':_0x483060}));return this[_0x2acfa7(0x14f)]['pause'](_0x1e9c82),this[_0x2acfa7(0x184)]=!![],console[_0x2acfa7(0x12c)](_0x11eabc[_0x2acfa7(0x162)]),!![];}catch(_0x2a5409){return console['error'](_0x2acfa7(0x131)+_0x2a5409['message']),![];}}async['resume'](){const _0x202117=a0_0x16dba6,_0x450c58={'CojWh':_0x202117(0x194),'aKCMo':_0x202117(0x13a)};if(!this['isConnected']||!this['isRunning'])return console[_0x202117(0x12c)]('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this[_0x202117(0x184)])return console[_0x202117(0x12c)](_0x450c58[_0x202117(0x176)]),!![];try{const _0x39eb77=this[_0x202117(0x146)][_0x202117(0x165)](_0x36b1d6=>({'topic':_0x36b1d6}));return this['consumer'][_0x202117(0x12e)](_0x39eb77),this['isPaused']=![],console['log'](_0x450c58[_0x202117(0x14d)]),!![];}catch(_0x3ef16f){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x3ef16f['message']),![];}}async['stop'](){const _0x3f352c=a0_0x16dba6;if(!this['isConnected'])return console['log'](_0x3f352c(0x135)),!![];try{const _0x23b760='1|0|4|2|5|3'['split']('|');let _0x2c6e43=0x0;while(!![]){switch(_0x23b760[_0x2c6e43++]){case'0':this[_0x3f352c(0x186)]=![];continue;case'1':this[_0x3f352c(0x14f)]&&(await this['consumer'][_0x3f352c(0x17e)](),await this[_0x3f352c(0x14f)][_0x3f352c(0x15b)]());continue;case'2':this['isPaused']=![];continue;case'3':return!![];case'4':this['isRunning']=![];continue;case'5':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;}break;}}catch(_0x49b259){return console[_0x3f352c(0x149)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x49b259['message']),![];}}async['seekToOffset'](_0x74e120,_0x242a5e,_0x30bea3){const _0x4d9163=a0_0x16dba6,_0x3eddff={'OLtPh':_0x4d9163(0x145)};if(!this[_0x4d9163(0x186)])return console['error'](_0x3eddff[_0x4d9163(0x16f)]),![];try{return this['consumer'][_0x4d9163(0x16b)]({'topic':_0x74e120,'partition':_0x242a5e,'offset':_0x30bea3[_0x4d9163(0x148)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x30bea3+'\x20on\x20'+_0x74e120+':'+_0x242a5e),!![];}catch(_0x3f4b92){return console['error'](_0x4d9163(0x180)+_0x3f4b92['message']),![];}}['getStatus'](){const _0x4f1319=a0_0x16dba6,_0x257b09=this['getConfig']();return{'enabled':_0x257b09['enabled'],'connected':this[_0x4f1319(0x186)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x257b09[_0x4f1319(0x193)],'clientId':_0x257b09['clientId'],'groupId':this['groupId'],'subscribedTopics':this[_0x4f1319(0x146)]};}[a0_0x16dba6(0x133)](){const _0x46824d=a0_0x16dba6,_0x2964a4={'GOGwR':function(_0x701938,_0x2b80a7){return _0x701938>_0x2b80a7;},'UkOCE':function(_0x17f55f,_0x5def45){return _0x17f55f/_0x5def45;},'qQpIf':function(_0x36ed80,_0x1cdb9f){return _0x36ed80>_0x1cdb9f;},'xghkE':function(_0x421793,_0x221610){return _0x421793+_0x221610;},'fmkKh':function(_0x2bf89e,_0x2a80f3){return _0x2bf89e-_0x2a80f3;}},_0x540f37=_0x2964a4['GOGwR'](this['metrics']['processingTimes'][_0x46824d(0x163)],0x0)?_0x2964a4[_0x46824d(0x15d)](this[_0x46824d(0x188)]['processingTimes']['reduce']((_0x3be941,_0x2cc015)=>_0x3be941+_0x2cc015,0x0),this['metrics']['processingTimes'][_0x46824d(0x163)]):0x0,_0x418cb9=this['metrics'][_0x46824d(0x191)]['length']>0x0?Math['min'](...this[_0x46824d(0x188)][_0x46824d(0x191)]):0x0,_0x253def=_0x2964a4['qQpIf'](this['metrics'][_0x46824d(0x191)]['length'],0x0)?Math[_0x46824d(0x160)](...this[_0x46824d(0x188)]['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x46824d(0x16d)],'messagesProcessed':this[_0x46824d(0x188)]['messagesProcessed'],'messagesFailed':this[_0x46824d(0x188)][_0x46824d(0x14a)],'successRate':this[_0x46824d(0x188)]['messagesReceived']>0x0?_0x2964a4[_0x46824d(0x15a)]((this['metrics'][_0x46824d(0x189)]/this[_0x46824d(0x188)][_0x46824d(0x16d)]*0x64)[_0x46824d(0x171)](0x2),'%'):'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this['metrics']['startTime'],'uptime':this[_0x46824d(0x188)][_0x46824d(0x125)]?_0x2964a4['xghkE'](Math['floor'](_0x2964a4['UkOCE'](_0x2964a4[_0x46824d(0x12a)](Date[_0x46824d(0x167)](),this[_0x46824d(0x188)][_0x46824d(0x125)][_0x46824d(0x17a)]()),0x3e8)),'s'):'0s','processingTime':{'avg':_0x2964a4['xghkE'](Math['round'](_0x540f37),'ms'),'min':_0x418cb9+'ms','max':_0x253def+'ms'}};}[a0_0x16dba6(0x159)](){const _0x290270=a0_0x16dba6,_0x388b12={'DBRby':'[KafkaConsumer]\x20Metrics\x20reset'};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x290270(0x154)]?new Date():null,'processingTimes':[]},console['log'](_0x388b12['DBRby']);}async[a0_0x16dba6(0x16e)](){await this['stop']();}}function a0_0x59b3(_0x491cc6,_0x218e2a){_0x491cc6=_0x491cc6-0x123;const _0x5ebfed=a0_0x5ebf();let _0x59b30e=_0x5ebfed[_0x491cc6];if(a0_0x59b3['lreHao']===undefined){var _0x4f770c=function(_0xe7c4d4){const _0x18ea8b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x163f89='',_0x29eb73='';for(let _0x607b5f=0x0,_0x978940,_0x459c8b,_0x125e9c=0x0;_0x459c8b=_0xe7c4d4['charAt'](_0x125e9c++);~_0x459c8b&&(_0x978940=_0x607b5f%0x4?_0x978940*0x40+_0x459c8b:_0x459c8b,_0x607b5f++%0x4)?_0x163f89+=String['fromCharCode'](0xff&_0x978940>>(-0x2*_0x607b5f&0x6)):0x0){_0x459c8b=_0x18ea8b['indexOf'](_0x459c8b);}for(let _0x3a9137=0x0,_0x21f68d=_0x163f89['length'];_0x3a9137<_0x21f68d;_0x3a9137++){_0x29eb73+='%'+('00'+_0x163f89['charCodeAt'](_0x3a9137)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29eb73);};a0_0x59b3['bICyHr']=_0x4f770c,a0_0x59b3['zJADXq']={},a0_0x59b3['lreHao']=!![];}const _0x26b6c9=_0x5ebfed[0x0],_0x5e3322=_0x491cc6+_0x26b6c9,_0x23e232=a0_0x59b3['zJADXq'][_0x5e3322];return!_0x23e232?(_0x59b30e=a0_0x59b3['bICyHr'](_0x59b30e),a0_0x59b3['zJADXq'][_0x5e3322]=_0x59b30e):_0x59b30e=_0x23e232,_0x59b30e;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x5ebf(){const _0x56bac4=['zw52','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','s0fgs0fFru5bqKXfra','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','C3vIC2nYAwjLzfrVCgLJCW','ndaZnZrqBMrYy1K','Dg9tDhjPBMC','zxjYB3i','BwvZC2fNzxngywLSzwq','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','BwvZC2fNzq','yuTdtw8','mtyYnZC4mZjTDNf4t2O','y29UC3vTzxi','turIt2u','AgvHCNrIzwf0sw50zxj2ywW','y29UBMvJDgLVBLbYB21PC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','AxnsDw5UAw5N','ota2nJu4BgfLqMHM','s0fgs0fFu0fttf9nruniqu5ju00','zgvMyxvSDa','B2zMC2v0','CMvZzxrnzxrYAwnZ','EgDOA0u','zgLZy29UBMvJDa','v0fstG','vwTpq0u','s0fgs0fFu0fttf9qqvntv09sra','A2v5','Bwf4','C2vZC2LVBLrPBwvVDxq','wNnezNi','BgvUz3rO','zxHWB3j0CW','BwfW','ote3nJm0vxfTDeLl','BM93','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','DNLeCKS','nJK1BenWEu9c','C2vLAW','CMvZDgzVCMDLlq','BwvZC2fNzxnszwnLAxzLza','y2XVC2u','t0X0ugG','z2v0q29UzMLN','Dg9gAxHLza','BgfZDe1LC3nHz2vuAw1L','AM9PBG','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','q29Qv2G','C3bSAxq','Dg9mB3DLCKnHC2u','lwnVBNn1BwvY','z2v0vgLTzq','mta0odu3nG','C2v0DxbfDMvUDeHHBMrSzxjZ','CMv0CNLezwXHEq','C3rVCa','mZaWma','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','BwvZC2fNzuHHBMrSzxi','nZCYotC1mgzmy0H5Dq','DgLTzxn0yw1W','AxnqyxvZzwq','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','AxndB25Uzwn0zwq','y1fUwfa','Bwv0CMLJCW','BwvZC2fNzxnqCM9JzxnZzwq','Au9kDfu','swzjBum','ntaWma','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','vgj3uei','odCWotmZrgvbBMfy','icHMCM9TqMvNAw5UAw5NoIa','ChjVy2vZC2LUz1rPBwvZ','C3vIC2nYAwjL','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','C2HPzNq','Bwf4qNL0zxnqzxjqyxj0AxrPB24','C3rHCNruAw1L','zw5HyMXLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','CMv0CNLbDhrLBxb0CW','A2fMA2e','zM1Rs2G','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','Bg9N','y29UC3vTzxiUy3jHC2G','CMvZDw1L','lwnVBNn1BwvYlwDYB3vW','wgDHD0W','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','z2v0twv0CMLJCW','AgvHzgvYCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','s0fgs0fFuKvuuLLFrevmqvK','BuPWDKi','mtq3ode3mMf5vvfVva','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','vgvKwfO','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','tK9useLorW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','s0fgs0fFq0Xjru5ux0Le','AxnjBML0AwfSAxPPBMC'];a0_0x5ebf=function(){return _0x56bac4;};return a0_0x5ebf();}module[a0_0x16dba6(0x164)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};