@restforgejs/platform 5.3.7 → 5.3.10

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 (171) 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/cli/designer.js +1 -1
  5. package/generators/cli/fast-track.js +230 -45
  6. package/generators/cli/init.js +37 -3
  7. package/generators/lib/templates/dashboard-catalog.js +1 -1
  8. package/generators/lib/templates/db-connection-env.js +1 -1
  9. package/generators/lib/templates/dbschema-catalog.js +1 -1
  10. package/generators/lib/templates/field-validation-catalog.js +1 -1
  11. package/generators/lib/templates/mysql-template.js +1 -1
  12. package/generators/lib/templates/oracle-template.js +1 -1
  13. package/generators/lib/templates/postgres-template.js +1 -1
  14. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  15. package/generators/lib/templates/sqlite-template.js +1 -1
  16. package/integrity-manifest.json +18 -18
  17. package/package.json +2 -1
  18. package/scripts/verify-integrity.js +1 -1
  19. package/server.js +1 -1
  20. package/src/components/handlers/adjust_handler.js +1 -1
  21. package/src/components/handlers/audit_handler.js +1 -1
  22. package/src/components/handlers/delete_handler.js +1 -1
  23. package/src/components/handlers/export_handler.js +1 -1
  24. package/src/components/handlers/import_handler.js +1 -1
  25. package/src/components/handlers/insert_handler.js +1 -1
  26. package/src/components/handlers/update_handler.js +1 -1
  27. package/src/components/handlers/upload_handler.js +1 -1
  28. package/src/components/handlers/workflow_handler.js +1 -1
  29. package/src/components/integrations/webhook.js +1 -1
  30. package/src/consumers/baseConsumer.js +1 -1
  31. package/src/consumers/declarativeMapper.js +1 -1
  32. package/src/consumers/handlers/apiHandler.js +1 -1
  33. package/src/consumers/handlers/consoleHandler.js +1 -1
  34. package/src/consumers/handlers/databaseHandler.js +1 -1
  35. package/src/consumers/handlers/index.js +1 -1
  36. package/src/consumers/handlers/kafkaHandler.js +1 -1
  37. package/src/consumers/index.js +1 -1
  38. package/src/consumers/messageTransformer.js +1 -1
  39. package/src/consumers/validator.js +1 -1
  40. package/src/core/db/dialect/base-dialect.js +1 -1
  41. package/src/core/db/dialect/index.js +1 -1
  42. package/src/core/db/dialect/mysql-dialect.js +1 -1
  43. package/src/core/db/dialect/oracle-dialect.js +1 -1
  44. package/src/core/db/dialect/postgres-dialect.js +1 -1
  45. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  46. package/src/core/db/flatten-helper.js +1 -1
  47. package/src/core/db/query-builder-error.js +1 -1
  48. package/src/core/db/query-builder.js +1 -1
  49. package/src/core/db/relation-helper.js +1 -1
  50. package/src/core/handlers/delete_handler.js +1 -1
  51. package/src/core/handlers/insert_handler.js +1 -1
  52. package/src/core/handlers/update_handler.js +1 -1
  53. package/src/core/models/base-model.js +1 -1
  54. package/src/core/utils/cache-manager.js +1 -1
  55. package/src/core/utils/component-engine.js +1 -1
  56. package/src/core/utils/context-builder.js +1 -1
  57. package/src/core/utils/datetime-formatter.js +1 -1
  58. package/src/core/utils/datetime-parser.js +1 -1
  59. package/src/core/utils/db.js +1 -1
  60. package/src/core/utils/logger.js +1 -1
  61. package/src/core/utils/payload-loader.js +1 -1
  62. package/src/core/utils/security-checks.js +1 -1
  63. package/src/middleware/body-options.js +1 -1
  64. package/src/middleware/cors.js +1 -1
  65. package/src/middleware/idempotency.js +1 -1
  66. package/src/middleware/rate-limiter.js +1 -1
  67. package/src/middleware/request-logger.js +1 -1
  68. package/src/middleware/security-headers.js +1 -1
  69. package/src/models/base-model-mysql.js +1 -1
  70. package/src/models/base-model-oracle.js +1 -1
  71. package/src/models/base-model-sqlite.js +1 -1
  72. package/src/models/base-model.js +1 -1
  73. package/src/pro/caching/redis-client.js +1 -1
  74. package/src/pro/caching/redis-helper.js +1 -1
  75. package/src/pro/consumers/baseConsumer.js +1 -1
  76. package/src/pro/consumers/declarativeMapper.js +1 -1
  77. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  78. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  79. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  80. package/src/pro/consumers/handlers/index.js +1 -1
  81. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  82. package/src/pro/consumers/index.js +1 -1
  83. package/src/pro/consumers/messageTransformer.js +1 -1
  84. package/src/pro/consumers/validator.js +1 -1
  85. package/src/pro/database/base-model-mysql.js +1 -1
  86. package/src/pro/database/base-model-oracle.js +1 -1
  87. package/src/pro/database/base-model-sqlite.js +1 -1
  88. package/src/pro/database/db-mysql.js +1 -1
  89. package/src/pro/database/db-oracle.js +1 -1
  90. package/src/pro/database/db-sqlite.js +1 -1
  91. package/src/pro/excel/excel-generator.js +1 -1
  92. package/src/pro/excel/excel-parser.js +1 -1
  93. package/src/pro/excel/export-service.js +1 -1
  94. package/src/pro/excel/export_handler.js +1 -1
  95. package/src/pro/excel/import-service.js +1 -1
  96. package/src/pro/excel/import-validator.js +1 -1
  97. package/src/pro/excel/import_handler.js +1 -1
  98. package/src/pro/excel/upsert-builder.js +1 -1
  99. package/src/pro/idgen/idgen-routes.js +1 -1
  100. package/src/pro/integrations/lookup-resolver.js +1 -1
  101. package/src/pro/integrations/upload-handler-v2.js +1 -1
  102. package/src/pro/integrations/upload-handler.js +1 -1
  103. package/src/pro/integrations/webhook.js +1 -1
  104. package/src/pro/locking/lock-routes.js +1 -1
  105. package/src/pro/locking/resource-lock-manager.js +1 -1
  106. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  107. package/src/pro/messaging/kafkaService.js +1 -1
  108. package/src/pro/messaging/messagehubService.js +1 -1
  109. package/src/pro/messaging/rabbitmqService.js +1 -1
  110. package/src/pro/scheduler/job-manager.js +1 -1
  111. package/src/pro/scheduler/job-routes.js +1 -1
  112. package/src/pro/scheduler/job-validator.js +1 -1
  113. package/src/pro/storage/base-storage-provider.js +1 -1
  114. package/src/pro/storage/file-metadata-helper.js +1 -1
  115. package/src/pro/storage/index.js +1 -1
  116. package/src/pro/storage/local-storage-provider.js +1 -1
  117. package/src/pro/storage/s3-storage-provider.js +1 -1
  118. package/src/pro/storage/upload-cleanup-job.js +1 -1
  119. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  120. package/src/pro/storage/upload-pending-tracker.js +1 -1
  121. package/src/pro/websocket/broadcast-helper.js +1 -1
  122. package/src/pro/websocket/index.js +1 -1
  123. package/src/pro/websocket/livesync-server.js +1 -1
  124. package/src/pro/websocket/ws-broadcaster.js +1 -1
  125. package/src/services/export-service.js +1 -1
  126. package/src/services/import-service.js +1 -1
  127. package/src/services/kafkaConsumerService.js +1 -1
  128. package/src/services/kafkaService.js +1 -1
  129. package/src/services/messagehubService.js +1 -1
  130. package/src/services/rabbitmqService.js +1 -1
  131. package/src/utils/cache-invalidation-registry.js +1 -1
  132. package/src/utils/cache-manager.js +1 -1
  133. package/src/utils/component-engine.js +1 -1
  134. package/src/utils/config-extractor.js +1 -1
  135. package/src/utils/consumerLogger.js +1 -1
  136. package/src/utils/context-builder.js +1 -1
  137. package/src/utils/dashboard-helpers.js +1 -1
  138. package/src/utils/dateHelper.js +1 -1
  139. package/src/utils/datetime-formatter.js +1 -1
  140. package/src/utils/datetime-parser.js +1 -1
  141. package/src/utils/db-bootstrap.js +1 -1
  142. package/src/utils/db-mysql.js +1 -1
  143. package/src/utils/db-oracle.js +1 -1
  144. package/src/utils/db-sqlite.js +1 -1
  145. package/src/utils/db.js +1 -1
  146. package/src/utils/demo-generator.js +1 -1
  147. package/src/utils/excel-generator.js +1 -1
  148. package/src/utils/excel-parser.js +1 -1
  149. package/src/utils/file-watcher.js +1 -1
  150. package/src/utils/id-generator.js +1 -1
  151. package/src/utils/idempotency-manager.js +1 -1
  152. package/src/utils/import-validator.js +1 -1
  153. package/src/utils/license-client.js +1 -1
  154. package/src/utils/lock-manager.js +1 -1
  155. package/src/utils/logger.js +1 -1
  156. package/src/utils/lookup-resolver.js +1 -1
  157. package/src/utils/payload-loader.js +1 -1
  158. package/src/utils/processor-response.js +1 -1
  159. package/src/utils/rabbitmq.js +1 -1
  160. package/src/utils/redis-client.js +1 -1
  161. package/src/utils/redis-helper.js +1 -1
  162. package/src/utils/request-scope.js +1 -1
  163. package/src/utils/security-checks.js +1 -1
  164. package/src/utils/service-resolver.js +1 -1
  165. package/src/utils/shutdown-coordinator.js +1 -1
  166. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  167. package/src/utils/sql-table-extractor.js +1 -1
  168. package/src/utils/trusted-keys.js +1 -1
  169. package/src/utils/upload-handler.js +1 -1
  170. package/src/utils/upsert-builder.js +1 -1
  171. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x4e3da0=a0_0x4811;function a0_0x13d5(){const _0x43d469=['mZCXnLnIz0TLra','BwvZC2fNzq','CMfUzg9Tvvvjra','mJG1vu16BvHd','x3r0Ba','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','z2vUzxjHDgvlzxK','AwrLBxbVDgvUy3LFC3rVCMu','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','zMLSDgvY','CMy6AwrLBtO','lcbuveW6ia','ogfotwPPvG','mta5mtrZt2Dbuhu','ntyYmtiXD21oBKre','C3rYAw5NAwz5','ntC3nJe4C2DbBu95','mtb1ue15qKq','x2LUAxrPywXPEMvK','mJe5odKYmeviCeTotW','zw5HyMXLza','z2v0','z2v0q2XPzw50','mZKWDNv1C3vj','tgjqqwG','mteWmJq0mMDYuM1XBW','CMv0CMLLDMu','yNvPBgrlzxK','ntyXotmZou1ytKrPBG','C3rVCMu','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','DhrS','zw52','x2vUywjSzwq','lI9SB2DNzxi','CMvX','swrLBxbVDgvUy3KGy2fJAguGseLu','Dw5RBM93BG','CgfYC2u','Aw5MBW','zxHWB3j0CW','AwrLBxbVDgvUy3LFAgL0','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','C2v0zxG','s2jVAhK','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia'];a0_0x13d5=function(){return _0x43d469;};return a0_0x13d5();}(function(_0x599fbf,_0x4d85de){const _0x595253=a0_0x4811,_0x49d16a=_0x599fbf();while(!![]){try{const _0x853a62=parseInt(_0x595253(0x13d))/0x1+parseInt(_0x595253(0x140))/0x2+-parseInt(_0x595253(0x130))/0x3*(parseInt(_0x595253(0x12d))/0x4)+-parseInt(_0x595253(0x144))/0x5*(parseInt(_0x595253(0x13a))/0x6)+-parseInt(_0x595253(0x13b))/0x7*(parseInt(_0x595253(0x139))/0x8)+-parseInt(_0x595253(0x11b))/0x9+parseInt(_0x595253(0x13e))/0xa*(-parseInt(_0x595253(0x146))/0xb);if(_0x853a62===_0x4d85de)break;else _0x49d16a['push'](_0x49d16a['shift']());}catch(_0x4a50c3){_0x49d16a['push'](_0x49d16a['shift']());}}}(a0_0x13d5,0x9cbfd));function a0_0x4811(_0x5257e3,_0x97d22b){_0x5257e3=_0x5257e3-0x11a;const _0x13d53d=a0_0x13d5();let _0x481140=_0x13d53d[_0x5257e3];if(a0_0x4811['wPkFda']===undefined){var _0x367b6b=function(_0x596e54){const _0x3cf487='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc998a1='',_0x1da8b2='';for(let _0x525303=0x0,_0x226df1,_0x4e0d7d,_0xf54c0c=0x0;_0x4e0d7d=_0x596e54['charAt'](_0xf54c0c++);~_0x4e0d7d&&(_0x226df1=_0x525303%0x4?_0x226df1*0x40+_0x4e0d7d:_0x4e0d7d,_0x525303++%0x4)?_0xc998a1+=String['fromCharCode'](0xff&_0x226df1>>(-0x2*_0x525303&0x6)):0x0){_0x4e0d7d=_0x3cf487['indexOf'](_0x4e0d7d);}for(let _0x16cb99=0x0,_0x57a9c5=_0xc998a1['length'];_0x16cb99<_0x57a9c5;_0x16cb99++){_0x1da8b2+='%'+('00'+_0xc998a1['charCodeAt'](_0x16cb99)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1da8b2);};a0_0x4811['YdVYKA']=_0x367b6b,a0_0x4811['wCnPQy']={},a0_0x4811['wPkFda']=!![];}const _0x4d8aa7=_0x13d53d[0x0],_0x2e931b=_0x5257e3+_0x4d8aa7,_0x38ecd1=a0_0x4811['wCnPQy'][_0x2e931b];return!_0x38ecd1?(_0x481140=a0_0x4811['YdVYKA'](_0x481140),a0_0x4811['wCnPQy'][_0x2e931b]=_0x481140):_0x481140=_0x38ecd1,_0x481140;}const redisClient=require('./redis-client'),{logger}=require(a0_0x4e3da0(0x121)),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x4c6b61=a0_0x4e3da0;this['_enabled']=null,this[_0x4c6b61(0x131)]=null,this['_initialized']=![];}['_initConfig'](){const _0x2806ff=a0_0x4e3da0,_0x12aee2={'eiLEW':function(_0x4bb4d0,_0x59f12c){return _0x4bb4d0===_0x59f12c;}};this['_enabled']=_0x12aee2['eiLEW'](process[_0x2806ff(0x11f)]['IDEMPOTENCY_ENABLED'],'true'),this['_ttl']=parseInt(process['env']['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger[_0x2806ff(0x126)]({'event':'idempotency_config_init','enabled':this['_enabled'],'ttl':this['_ttl']},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x2806ff(0x120)]+_0x2806ff(0x138)+this['_ttl']+'s');}['_ensureInitialized'](){const _0x4759aa=a0_0x4e3da0;!this[_0x4759aa(0x13f)]&&this['_initConfig']();}get[a0_0x4e3da0(0x141)](){return this['_ensureInitialized'](),this['_enabled'];}get['ttl'](){const _0x3956a7=a0_0x4e3da0;return this['_ensureInitialized'](),this[_0x3956a7(0x131)];}['isEnabled'](){return this['enabled'];}[a0_0x4e3da0(0x11a)](_0x658460,_0x4dec4c){const _0x1beacf=a0_0x4e3da0,_0xf5371d={'oluzo':'default','UVjCQ':_0x1beacf(0x124)},_0x38365a=_0x4dec4c['path']['split']('/')[_0x1beacf(0x136)](Boolean),_0x30c8db=_0x38365a[0x0]||_0xf5371d['oluzo'],_0x5ee5c9=_0x38365a[0x1]||_0xf5371d['UVjCQ'],_0x3b933c=_0x38365a[0x2]||'unknown';return _0x1beacf(0x137)+_0x30c8db+':'+_0x5ee5c9+':'+_0x3b933c+':'+_0x658460;}async[a0_0x4e3da0(0x11c)](_0x236fb5,_0x487e4e){const _0x356302=a0_0x4e3da0,_0x3ddfe5={'RlsRa':_0x356302(0x134),'HUufL':_0x356302(0x132)};if(!this[_0x356302(0x141)])return![];try{const _0xba7f8f=redisClient[_0x356302(0x143)]();return await _0xba7f8f[_0x356302(0x12a)](_0x236fb5,this[_0x356302(0x11e)],JSON[_0x356302(0x13c)](_0x487e4e)),logger['debug']({'event':_0x3ddfe5['RlsRa'],'key':_0x236fb5,'ttl':this['ttl'],'statusCode':_0x487e4e['statusCode']},_0x3ddfe5['HUufL']),!![];}catch(_0xae753e){return logger['error']({'event':_0x356302(0x129),'key':_0x236fb5,'error':_0xae753e[_0x356302(0x12e)]},_0x356302(0x12c)+_0xae753e['message']),![];}}async[a0_0x4e3da0(0x147)](_0x3ae6c3){const _0x128657=a0_0x4e3da0,_0x30a36d={'zamyr':_0x128657(0x128),'LbPAh':_0x128657(0x123),'Kbohy':'idempotency_miss','ykUlw':_0x128657(0x135)};if(!this[_0x128657(0x141)])return null;try{const _0x2fd06a=redisClient['getClient'](),_0x51bef9=await _0x2fd06a[_0x128657(0x142)](_0x3ae6c3);if(_0x51bef9)return logger[_0x128657(0x126)]({'event':_0x30a36d['zamyr'],'key':_0x3ae6c3},_0x30a36d[_0x128657(0x145)]),JSON[_0x128657(0x125)](_0x51bef9);return logger['debug']({'event':_0x30a36d[_0x128657(0x12b)],'key':_0x3ae6c3},_0x128657(0x11d)),null;}catch(_0x15e27d){return logger['error']({'event':_0x30a36d['ykUlw'],'key':_0x3ae6c3,'error':_0x15e27d[_0x128657(0x12e)]},'Idempotency\x20retrieve\x20error:\x20'+_0x15e27d[_0x128657(0x12e)]),null;}}[a0_0x4e3da0(0x133)](_0x3df033=a0_0x4e3da0(0x122)){const _0x22b159=a0_0x4e3da0;return _0x3df033+'_'+crypto[_0x22b159(0x12f)]();}['buildDeterministicKey'](_0x2e3471,_0x498679,_0x43189c){return _0x2e3471+':'+_0x498679+':'+_0x43189c;}}module[a0_0x4e3da0(0x127)]=new IdempotencyManager();
1
+ 'use strict';const a0_0x42f6d3=a0_0x4a4e;(function(_0x14d871,_0x1d52b1){const _0x2168c0=a0_0x4a4e,_0x32e57d=_0x14d871();while(!![]){try{const _0x5ea9bb=-parseInt(_0x2168c0(0x19f))/0x1*(-parseInt(_0x2168c0(0x190))/0x2)+-parseInt(_0x2168c0(0x19a))/0x3+-parseInt(_0x2168c0(0x1a5))/0x4*(-parseInt(_0x2168c0(0x18c))/0x5)+parseInt(_0x2168c0(0x1b0))/0x6+-parseInt(_0x2168c0(0x1a8))/0x7*(parseInt(_0x2168c0(0x196))/0x8)+parseInt(_0x2168c0(0x1ad))/0x9+-parseInt(_0x2168c0(0x194))/0xa;if(_0x5ea9bb===_0x1d52b1)break;else _0x32e57d['push'](_0x32e57d['shift']());}catch(_0x129bda){_0x32e57d['push'](_0x32e57d['shift']());}}}(a0_0x9216,0xaefd4));const redisClient=require(a0_0x42f6d3(0x19b)),{logger}=require(a0_0x42f6d3(0x1b5)),crypto=require(a0_0x42f6d3(0x18f));function a0_0x4a4e(_0x48f1fa,_0xd3a7be){_0x48f1fa=_0x48f1fa-0x18a;const _0x9216b=a0_0x9216();let _0x4a4ee6=_0x9216b[_0x48f1fa];if(a0_0x4a4e['ZFJxdC']===undefined){var _0x11bd29=function(_0x5e267a){const _0x2429ec='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4bf6f5='',_0x532152='';for(let _0x18676f=0x0,_0x5c43e7,_0x287973,_0x532a08=0x0;_0x287973=_0x5e267a['charAt'](_0x532a08++);~_0x287973&&(_0x5c43e7=_0x18676f%0x4?_0x5c43e7*0x40+_0x287973:_0x287973,_0x18676f++%0x4)?_0x4bf6f5+=String['fromCharCode'](0xff&_0x5c43e7>>(-0x2*_0x18676f&0x6)):0x0){_0x287973=_0x2429ec['indexOf'](_0x287973);}for(let _0xdf2f8d=0x0,_0x7ebfd6=_0x4bf6f5['length'];_0xdf2f8d<_0x7ebfd6;_0xdf2f8d++){_0x532152+='%'+('00'+_0x4bf6f5['charCodeAt'](_0xdf2f8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x532152);};a0_0x4a4e['BYkMTP']=_0x11bd29,a0_0x4a4e['EMvxRG']={},a0_0x4a4e['ZFJxdC']=!![];}const _0x58f0aa=_0x9216b[0x0],_0x97e97e=_0x48f1fa+_0x58f0aa,_0x458f8a=a0_0x4a4e['EMvxRG'][_0x97e97e];return!_0x458f8a?(_0x4a4ee6=a0_0x4a4e['BYkMTP'](_0x4a4ee6),a0_0x4a4e['EMvxRG'][_0x97e97e]=_0x4a4ee6):_0x4a4ee6=_0x458f8a,_0x4a4ee6;}class IdempotencyManager{constructor(){const _0x524fc9=a0_0x42f6d3;this[_0x524fc9(0x19c)]=null,this['_ttl']=null,this[_0x524fc9(0x1af)]=![];}['_initConfig'](){const _0x136d47=a0_0x42f6d3,_0xf6e0e4={'KgAoV':_0x136d47(0x192),'mNxrE':function(_0x3ab1a0,_0x17e8f1,_0x4d548e){return _0x3ab1a0(_0x17e8f1,_0x4d548e);},'BOPFF':_0x136d47(0x1ac)};this['_enabled']=process['env']['IDEMPOTENCY_ENABLED']===_0xf6e0e4['KgAoV'],this['_ttl']=_0xf6e0e4['mNxrE'](parseInt,process[_0x136d47(0x1a4)][_0x136d47(0x1b2)],0xa)||0x12c,this[_0x136d47(0x1af)]=!![],logger[_0x136d47(0x19e)]({'event':_0xf6e0e4['BOPFF'],'enabled':this[_0x136d47(0x19c)],'ttl':this[_0x136d47(0x197)]},_0x136d47(0x195)+this[_0x136d47(0x19c)]+_0x136d47(0x18b)+this[_0x136d47(0x197)]+'s');}['_ensureInitialized'](){!this['_initialized']&&this['_initConfig']();}get['enabled'](){const _0x1b03d7=a0_0x42f6d3;return this[_0x1b03d7(0x191)](),this[_0x1b03d7(0x19c)];}get['ttl'](){return this['_ensureInitialized'](),this['_ttl'];}[a0_0x42f6d3(0x198)](){return this['enabled'];}['buildKey'](_0x187415,_0x180b58){const _0x310649=a0_0x42f6d3,_0x31f293={'BMyFD':_0x310649(0x1aa),'mWwjz':_0x310649(0x19d)},_0x452c5b=_0x180b58[_0x310649(0x1ae)]['split']('/')[_0x310649(0x199)](Boolean),_0x4bb5f2=_0x452c5b[0x0]||_0x31f293['BMyFD'],_0x34152a=_0x452c5b[0x1]||_0x31f293['mWwjz'],_0x4580b6=_0x452c5b[0x2]||_0x31f293[_0x310649(0x1a1)];return'rf:idem:'+_0x4bb5f2+':'+_0x34152a+':'+_0x4580b6+':'+_0x187415;}async['store'](_0x4feb10,_0x102e37){const _0x28d68f=a0_0x42f6d3,_0x3b17c1={'xhmBg':_0x28d68f(0x1a9),'FPEDW':_0x28d68f(0x18a)};if(!this['enabled'])return![];try{const _0x52c3a2=redisClient['getClient']();return await _0x52c3a2['setex'](_0x4feb10,this['ttl'],JSON['stringify'](_0x102e37)),logger[_0x28d68f(0x1ab)]({'event':_0x3b17c1[_0x28d68f(0x1b1)],'key':_0x4feb10,'ttl':this['ttl'],'statusCode':_0x102e37['statusCode']},'Idempotency\x20response\x20stored'),!![];}catch(_0x32f2bc){return logger['error']({'event':_0x3b17c1['FPEDW'],'key':_0x4feb10,'error':_0x32f2bc['message']},'Idempotency\x20store\x20error:\x20'+_0x32f2bc[_0x28d68f(0x1a0)]),![];}}async[a0_0x42f6d3(0x18d)](_0x39f580){const _0x50cb17=a0_0x42f6d3,_0x288438={'TtGnT':_0x50cb17(0x1a6),'HXTBe':'Idempotency\x20cache\x20HIT','sYEpT':_0x50cb17(0x1b3),'QRRQY':'idempotency_retrieve_error'};if(!this['enabled'])return null;try{const _0x4b4db8=redisClient['getClient'](),_0x1934e1=await _0x4b4db8['get'](_0x39f580);if(_0x1934e1)return logger['info']({'event':_0x288438[_0x50cb17(0x1a3)],'key':_0x39f580},_0x288438['HXTBe']),JSON[_0x50cb17(0x1a7)](_0x1934e1);return logger['debug']({'event':_0x288438['sYEpT'],'key':_0x39f580},_0x50cb17(0x18e)),null;}catch(_0x119afe){return logger['error']({'event':_0x288438['QRRQY'],'key':_0x39f580,'error':_0x119afe[_0x50cb17(0x1a0)]},'Idempotency\x20retrieve\x20error:\x20'+_0x119afe[_0x50cb17(0x1a0)]),null;}}['generateKey'](_0x522378=a0_0x42f6d3(0x1b4)){return _0x522378+'_'+crypto['randomUUID']();}[a0_0x42f6d3(0x1a2)](_0x5918a0,_0x3076a2,_0x556619){return _0x5918a0+':'+_0x3076a2+':'+_0x556619;}}function a0_0x9216(){const _0x55489d=['lI9YzwrPCY1JBgLLBNq','x2vUywjSzwq','Dw5RBM93BG','Aw5MBW','mZu2mZrNC1fqr3e','BwvZC2fNzq','BvD3ANO','yNvPBgrezxrLCM1PBMLZDgLJs2v5','vhrhBLq','zw52','nfzlCujVqW','AwrLBxbVDgvUy3LFAgL0','CgfYC2u','ndLXyMfTvwK','AwrLBxbVDgvUy3LFC3rVCMu','zgvMyxvSDa','zgvIDwC','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','otm4odG1ngf6EgzKCG','Cgf0Aa','x2LUAxrPywXPEMvK','mJKWnJy5nePpweL3BG','EgHTqMC','surftvbpvevoq1LFvfrm','AwrLBxbVDgvUy3LFBwLZCW','CMvX','lI9SB2DNzxi','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','lcbuveW6ia','ntG2ndCWnvbXEvPVAW','CMv0CMLLDMu','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','y3j5ChrV','mJz4DKrPvLG','x2vUC3vYzuLUAxrPywXPEMvK','Dhj1zq','zxHWB3j0CW','mte4nZq1odbesMfkrMi','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','mJq2nta0r0LNu05y','x3r0Ba','AxnfBMfIBgvK','zMLSDgvY','mZeZmtC5owrJC0rhuW'];a0_0x9216=function(){return _0x55489d;};return a0_0x9216();}module[a0_0x42f6d3(0x193)]=new IdempotencyManager();
@@ -1 +1 @@
1
- const a0_0x41a62f=a0_0x3eb0;function a0_0xe1ca(){const _0x713b5=['lI9SB2DNzxi','ndG3odq4mM95zfzmCa','DMfSAwrHDgvqAg9Uzq','m0vRC3rYsW','A2v5CW','DMfSAwrHDgvgAwvSzezVCM1HDa','mZq1nJHsuwfPvwi','u2rJyLO','ugDNtNO','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','ndaXodyXD2TtvM5Y','DMfSAwrHDgvoDw1Izxi','z2v0','ody5nZy2m1zZzefwuq','Aw5MBW','Cw1WEha','CMvXDwLYzwq','DgvZDa','sw52ywXPzcbUDw1IzxiGzM9YBwf0','mKPcqNrbwG','CMvWBgfJzq','AgfZ','AfHnr2m','sw52ywXPzcbWAg9UzsbMB3jTyxq','BNvTyMvY','C1fwwLe','ChvZAa','nZK5nJqWmff4CfjcEa','vwP6ru8','C2v0','ndK4nZKYmhPxtezfqG','mZmYnJy4mfPmswTprq','DMfSAwrHDgvfBwfPBa','zM9YBwf0','zM9YrwfJAa','Ahflzvq','sw52ywXPzcbLBwfPBcbMB3jTyxq','BgvUz3rO'];a0_0xe1ca=function(){return _0x713b5;};return a0_0xe1ca();}(function(_0x616f27,_0x325a67){const _0x4040b2=a0_0x3eb0,_0x27a1f0=_0x616f27();while(!![]){try{const _0x569e58=-parseInt(_0x4040b2(0x1b4))/0x1*(parseInt(_0x4040b2(0x1bd))/0x2)+-parseInt(_0x4040b2(0x1ad))/0x3*(-parseInt(_0x4040b2(0x1b0))/0x4)+-parseInt(_0x4040b2(0x1c9))/0x5+parseInt(_0x4040b2(0x1c8))/0x6+parseInt(_0x4040b2(0x1ab))/0x7+parseInt(_0x4040b2(0x1c5))/0x8+-parseInt(_0x4040b2(0x1b7))/0x9;if(_0x569e58===_0x325a67)break;else _0x27a1f0['push'](_0x27a1f0['shift']());}catch(_0x15fed3){_0x27a1f0['push'](_0x27a1f0['shift']());}}}(a0_0xe1ca,0x7ac32));function a0_0x3eb0(_0x8f8c83,_0x3e658a){_0x8f8c83=_0x8f8c83-0x1a7;const _0xe1ca2a=a0_0xe1ca();let _0x3eb03a=_0xe1ca2a[_0x8f8c83];if(a0_0x3eb0['xGTQLc']===undefined){var _0x47d8d7=function(_0x2fa6e4){const _0x202a5f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13f786='',_0x644844='';for(let _0x49cf05=0x0,_0x39fe02,_0x4e8c4d,_0x107328=0x0;_0x4e8c4d=_0x2fa6e4['charAt'](_0x107328++);~_0x4e8c4d&&(_0x39fe02=_0x49cf05%0x4?_0x39fe02*0x40+_0x4e8c4d:_0x4e8c4d,_0x49cf05++%0x4)?_0x13f786+=String['fromCharCode'](0xff&_0x39fe02>>(-0x2*_0x49cf05&0x6)):0x0){_0x4e8c4d=_0x202a5f['indexOf'](_0x4e8c4d);}for(let _0x3572c3=0x0,_0x5253ff=_0x13f786['length'];_0x3572c3<_0x5253ff;_0x3572c3++){_0x644844+='%'+('00'+_0x13f786['charCodeAt'](_0x3572c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x644844);};a0_0x3eb0['txqrMJ']=_0x47d8d7,a0_0x3eb0['HOAVUi']={},a0_0x3eb0['xGTQLc']=!![];}const _0x3794e1=_0xe1ca2a[0x0],_0x3e7815=_0x8f8c83+_0x3794e1,_0x1f0718=a0_0x3eb0['HOAVUi'][_0x3e7815];return!_0x1f0718?(_0x3eb03a=a0_0x3eb0['txqrMJ'](_0x3eb03a),a0_0x3eb0['HOAVUi'][_0x3e7815]=_0x3eb03a):_0x3eb03a=_0x1f0718,_0x3eb03a;}const {logger}=require(a0_0x41a62f(0x1aa));class ImportValidator{['validateRow'](_0x4fc990,_0x24e6ff=[],_0x3b7f9a={}){const _0x22856d=a0_0x41a62f,_0xde25bf={'XUihP':function(_0x17bd5e,_0x4865a3){return _0x17bd5e===_0x4865a3;},'hXMGc':_0x22856d(0x1ba),'qmpxp':function(_0xcb8975,_0x2072d1){return _0xcb8975===_0x2072d1;},'yZcpr':function(_0x2b154a,_0x203808){return _0x2b154a===_0x203808;}},_0x4b4ad3=[];return _0x24e6ff[_0x22856d(0x1cc)](_0x8e095e=>{const _0x2554cd=_0x22856d,_0x2d6e6c=_0x4fc990[_0x8e095e];(_0xde25bf['XUihP'](_0x2d6e6c,null)||_0x2d6e6c===undefined||_0x2d6e6c==='')&&_0x4b4ad3[_0x2554cd(0x1c4)]({'field':_0x8e095e,'type':_0xde25bf[_0x2554cd(0x1c0)],'message':_0x2554cd(0x1b3)});}),Object[_0x22856d(0x1ae)](_0x3b7f9a)[_0x22856d(0x1cc)](_0x29a261=>{const _0x3a1700=_0x22856d,_0x455fc0=_0x4fc990[_0x29a261],_0x668f62=_0x3b7f9a[_0x29a261];if(_0xde25bf[_0x3a1700(0x1b9)](_0x455fc0,null)||_0x455fc0===undefined||_0xde25bf['yZcpr'](_0x455fc0,''))return;const _0x5d03bd=this[_0x3a1700(0x1af)](_0x29a261,_0x455fc0,_0x668f62);_0x5d03bd&&_0x4b4ad3[_0x3a1700(0x1c4)](_0x5d03bd);}),_0x4b4ad3;}['validateFieldFormat'](_0x3811b1,_0x5f1585,_0x46266d){const _0x4774de=a0_0x41a62f,_0x4026bb={'ZjbpF':'url','UjzEO':_0x4774de(0x1c2)};switch(_0x46266d){case'email':return this[_0x4774de(0x1ca)](_0x3811b1,_0x5f1585);case'phone':return this['validatePhone'](_0x3811b1,_0x5f1585);case _0x4026bb['ZjbpF']:return this['validateUrl'](_0x3811b1,_0x5f1585);case _0x4026bb[_0x4774de(0x1c6)]:return this[_0x4774de(0x1b5)](_0x3811b1,_0x5f1585);default:return null;}}[a0_0x41a62f(0x1ca)](_0xe53a03,_0x805c13){const _0x39c62d=a0_0x41a62f,_0x55b352={'btbzs':function(_0x19a283,_0x1b9276){return _0x19a283(_0x1b9276);},'sQVZQ':_0x39c62d(0x1cb)},_0x31eef5=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x31eef5[_0x39c62d(0x1bb)](_0x55b352['btbzs'](String,_0x805c13)))return{'field':_0xe53a03,'type':_0x55b352[_0x39c62d(0x1c3)],'message':_0x39c62d(0x1a8)};return null;}[a0_0x41a62f(0x1ac)](_0x5ec587,_0x5b81dc){const _0x12ee3e=a0_0x41a62f,_0x35c8fc={'GlRqs':function(_0x43ea23,_0x3a11ca){return _0x43ea23(_0x3a11ca);},'NprAA':function(_0x5c688c,_0xd192ec){return _0x5c688c<_0xd192ec;},'jswRe':_0x12ee3e(0x1c1)},_0x4bc6f3=_0x35c8fc['GlRqs'](String,_0x5b81dc)[_0x12ee3e(0x1be)](/\s+/g,''),_0x48423d=/^[\d\+\-\(\)]+$/;if(!_0x48423d['test'](_0x4bc6f3)||_0x35c8fc['NprAA'](_0x4bc6f3['length'],0x8))return{'field':_0x5ec587,'type':'format','message':_0x35c8fc['jswRe']};return null;}['validateUrl'](_0x4a1172,_0xaddb76){const _0x2cac2d=a0_0x41a62f,_0x1cae6d={'hqKeT':_0x2cac2d(0x1cb)};try{return new URL(String(_0xaddb76)),null;}catch(_0x26dc39){return{'field':_0x4a1172,'type':_0x1cae6d[_0x2cac2d(0x1a7)],'message':'Invalid\x20URL\x20format'};}}[a0_0x41a62f(0x1b5)](_0x229704,_0x4def2f){const _0x3678d2=a0_0x41a62f,_0x5e9b6b={'PggNz':_0x3678d2(0x1bc)};if(isNaN(_0x4def2f))return{'field':_0x229704,'type':'format','message':_0x5e9b6b[_0x3678d2(0x1b2)]};return null;}['detectDuplicatesInFile'](_0x354e80,_0x5db367){const _0x579c9a=new Map(),_0x9750c=[];return _0x354e80['forEach']((_0x8290e6,_0x49b4cc)=>{const _0x4fae03=a0_0x3eb0,_0x23e3ad=_0x5db367['map'](_0x326e5e=>_0x8290e6[_0x326e5e])['join']('|');_0x579c9a[_0x4fae03(0x1bf)](_0x23e3ad)?_0x9750c['push']({'rowIndex':_0x49b4cc,'duplicateOf':_0x579c9a[_0x4fae03(0x1b6)](_0x23e3ad),'key':_0x23e3ad}):_0x579c9a[_0x4fae03(0x1c7)](_0x23e3ad,_0x49b4cc);}),_0x9750c;}['batchValidateRows'](_0x40ca8f,_0x1e749c,_0x3d32b7){const _0x459e85=a0_0x41a62f,_0x4d3a0a={'SdcbZ':function(_0x28aad2,_0x27b01c){return _0x28aad2>_0x27b01c;},'iWpSG':'batch_validation_complete'},_0x59a832=[];return _0x40ca8f[_0x459e85(0x1cc)]((_0x5db209,_0x2a071e)=>{const _0xbdb792=_0x459e85,_0x48d6a1=this['validateRow'](_0x5db209,_0x1e749c,_0x3d32b7);_0x4d3a0a[_0xbdb792(0x1b1)](_0x48d6a1[_0xbdb792(0x1a9)],0x0)&&_0x59a832['push']({'rowIndex':_0x2a071e,'rowData':_0x5db209,'errors':_0x48d6a1});}),logger[_0x459e85(0x1b8)]({'event':_0x4d3a0a['iWpSG'],'totalRows':_0x40ca8f['length'],'errorCount':_0x59a832[_0x459e85(0x1a9)]},'Batch\x20validation\x20completed'),_0x59a832;}}module['exports']=new ImportValidator();
1
+ const a0_0x559bcd=a0_0x10ae;function a0_0x4985(){const _0xa07ef7=['otK0nJnwsNzRrMK','lI9SB2DNzxi','ChvZAa','mtK1mZK5m0HtzKTjsW','uNfqtxG','DMfSAwrHDgvvCMW','ndK2mti0mhPTCxnABq','yMf0y2HwywXPzgf0zvjVD3m','mtK5mZC0meH2wKL2Bq','CMvWBgfJzq','AgfZ','mJLxuxPUDwO','DMfSAwrHDgvoDw1Izxi','zM9YrwfJAa','BgvUz3rO','t25ZBxO','nJu5mJzAwvz3ruu','CMTyrfa','mtbnwePVthK','qwTPte4','CgHVBMu','zw1HAwW','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','A2v5CW','DgvZDa','mJa4mdyXnJrxChH6C1u','DxjS','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','Eufpwuu','nwHxD3PLra','sxLNr1O','odG1mdiXmgvLA3r5Aq','zM9YBwf0','DMfSAwrHDgvgAwvSzezVCM1HDa','sw52ywXPzcbvuKWGzM9YBwf0','ze1Azuy'];a0_0x4985=function(){return _0xa07ef7;};return a0_0x4985();}(function(_0x5e0e35,_0x544283){const _0x1bc524=a0_0x10ae,_0x452e03=_0x5e0e35();while(!![]){try{const _0x34cb3a=parseInt(_0x1bc524(0x206))/0x1*(parseInt(_0x1bc524(0x1e7))/0x2)+parseInt(_0x1bc524(0x1fe))/0x3+-parseInt(_0x1bc524(0x203))/0x4+parseInt(_0x1bc524(0x1f4))/0x5*(parseInt(_0x1bc524(0x1f6))/0x6)+parseInt(_0x1bc524(0x1fb))/0x7+parseInt(_0x1bc524(0x201))/0x8+parseInt(_0x1bc524(0x1f0))/0x9*(-parseInt(_0x1bc524(0x1e9))/0xa);if(_0x34cb3a===_0x544283)break;else _0x452e03['push'](_0x452e03['shift']());}catch(_0x3c4f81){_0x452e03['push'](_0x452e03['shift']());}}}(a0_0x4985,0xdd4ba));const {logger}=require(a0_0x559bcd(0x1fc));function a0_0x10ae(_0x338aff,_0x5a6d3e){_0x338aff=_0x338aff-0x1e3;const _0x49854a=a0_0x4985();let _0x10aee7=_0x49854a[_0x338aff];if(a0_0x10ae['YOnqPH']===undefined){var _0xc174f6=function(_0x35327b){const _0x2d272e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3bc3e4='',_0x38fb5a='';for(let _0x26530e=0x0,_0x1db4f1,_0x5d8e77,_0x3beb7b=0x0;_0x5d8e77=_0x35327b['charAt'](_0x3beb7b++);~_0x5d8e77&&(_0x1db4f1=_0x26530e%0x4?_0x1db4f1*0x40+_0x5d8e77:_0x5d8e77,_0x26530e++%0x4)?_0x3bc3e4+=String['fromCharCode'](0xff&_0x1db4f1>>(-0x2*_0x26530e&0x6)):0x0){_0x5d8e77=_0x2d272e['indexOf'](_0x5d8e77);}for(let _0x5356f3=0x0,_0x5e2032=_0x3bc3e4['length'];_0x5356f3<_0x5e2032;_0x5356f3++){_0x38fb5a+='%'+('00'+_0x3bc3e4['charCodeAt'](_0x5356f3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x38fb5a);};a0_0x10ae['ltBWcn']=_0xc174f6,a0_0x10ae['bOYxsv']={},a0_0x10ae['YOnqPH']=!![];}const _0x17b9cb=_0x49854a[0x0],_0x455916=_0x338aff+_0x17b9cb,_0x104a11=a0_0x10ae['bOYxsv'][_0x455916];return!_0x104a11?(_0x10aee7=a0_0x10ae['ltBWcn'](_0x10aee7),a0_0x10ae['bOYxsv'][_0x455916]=_0x10aee7):_0x10aee7=_0x104a11,_0x10aee7;}class ImportValidator{['validateRow'](_0x3eeb20,_0x4aba98=[],_0x2b98a1={}){const _0x41382e=a0_0x559bcd,_0x11ca7b={'dMZeF':function(_0x5a81fd,_0x21aa02){return _0x5a81fd===_0x21aa02;},'yAOYE':function(_0x24468e,_0x3adbb4){return _0x24468e===_0x3adbb4;}},_0x27c8e9=[];return _0x4aba98['forEach'](_0xf67ba3=>{const _0x3c05a6=a0_0x10ae,_0x226394=_0x3eeb20[_0xf67ba3];(_0x226394===null||_0x226394===undefined||_0x11ca7b[_0x3c05a6(0x1fa)](_0x226394,''))&&_0x27c8e9['push']({'field':_0xf67ba3,'type':'required','message':_0x3c05a6(0x1ed)});}),Object[_0x41382e(0x1ee)](_0x2b98a1)[_0x41382e(0x1e4)](_0x584d30=>{const _0x30c432=_0x41382e,_0x81ce35=_0x3eeb20[_0x584d30],_0x5a8cb6=_0x2b98a1[_0x584d30];if(_0x81ce35===null||_0x11ca7b[_0x30c432(0x1f3)](_0x81ce35,undefined)||_0x81ce35==='')return;const _0x1be63a=this['validateFieldFormat'](_0x584d30,_0x81ce35,_0x5a8cb6);_0x1be63a&&_0x27c8e9[_0x30c432(0x1fd)](_0x1be63a);}),_0x27c8e9;}[a0_0x559bcd(0x1f8)](_0x44512f,_0x488d51,_0x39eb8e){const _0x2e43f7=a0_0x559bcd,_0x1d6c06={'SkiVs':'number'};switch(_0x39eb8e){case _0x2e43f7(0x1ec):return this['validateEmail'](_0x44512f,_0x488d51);case _0x2e43f7(0x1eb):return this['validatePhone'](_0x44512f,_0x488d51);case _0x2e43f7(0x1f1):return this[_0x2e43f7(0x200)](_0x44512f,_0x488d51);case _0x1d6c06['SkiVs']:return this[_0x2e43f7(0x1e3)](_0x44512f,_0x488d51);default:return null;}}['validateEmail'](_0x1d2cb2,_0x5e603b){const _0x224d6a={'tndLh':function(_0x2786ca,_0x5109f2){return _0x2786ca(_0x5109f2);}},_0x5e6322=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x5e6322['test'](_0x224d6a['tndLh'](String,_0x5e603b)))return{'field':_0x1d2cb2,'type':'format','message':'Invalid\x20email\x20format'};return null;}['validatePhone'](_0x28e189,_0x2f8865){const _0x1d54cc=a0_0x559bcd,_0x53146c={'Onsmz':function(_0x36d1e7,_0x595e68){return _0x36d1e7(_0x595e68);},'rkXDP':function(_0x2d7080,_0x28b7da){return _0x2d7080<_0x28b7da;},'GppaR':'format'},_0x3d4d3b=_0x53146c[_0x1d54cc(0x1e6)](String,_0x2f8865)[_0x1d54cc(0x204)](/\s+/g,''),_0x4791fd=/^[\d\+\-\(\)]+$/;if(!_0x4791fd[_0x1d54cc(0x1ef)](_0x3d4d3b)||_0x53146c[_0x1d54cc(0x1e8)](_0x3d4d3b[_0x1d54cc(0x1e5)],0x8))return{'field':_0x28e189,'type':_0x53146c['GppaR'],'message':'Invalid\x20phone\x20format'};return null;}['validateUrl'](_0x36681d,_0x49bddf){const _0x167e65=a0_0x559bcd,_0xc1e91c={'IygGZ':_0x167e65(0x1f9)};try{return new URL(String(_0x49bddf)),null;}catch(_0x793b1){return{'field':_0x36681d,'type':_0x167e65(0x1f7),'message':_0xc1e91c[_0x167e65(0x1f5)]};}}[a0_0x559bcd(0x1e3)](_0x128766,_0x141cc5){const _0x205636={'NMHka':'format'};if(isNaN(_0x141cc5))return{'field':_0x128766,'type':_0x205636['NMHka'],'message':'Invalid\x20number\x20format'};return null;}['detectDuplicatesInFile'](_0x414612,_0x432043){const _0x107838=new Map(),_0x500011=[];return _0x414612['forEach']((_0x19c077,_0x248504)=>{const _0x416935=a0_0x10ae,_0x505375=_0x432043['map'](_0xa3a4c2=>_0x19c077[_0xa3a4c2])['join']('|');_0x107838[_0x416935(0x205)](_0x505375)?_0x500011['push']({'rowIndex':_0x248504,'duplicateOf':_0x107838['get'](_0x505375),'key':_0x505375}):_0x107838['set'](_0x505375,_0x248504);}),_0x500011;}[a0_0x559bcd(0x202)](_0x5aa89a,_0x4dbf48,_0x1f3d4a){const _0x3e87c3=a0_0x559bcd,_0x394e70={'AkiLN':_0x3e87c3(0x1f2),'RqPMx':'Batch\x20validation\x20completed'},_0x3dc63f=[];return _0x5aa89a[_0x3e87c3(0x1e4)]((_0x3443d4,_0x1128b9)=>{const _0x47a5ab=_0x3e87c3,_0x2c4352=this['validateRow'](_0x3443d4,_0x4dbf48,_0x1f3d4a);_0x2c4352[_0x47a5ab(0x1e5)]>0x0&&_0x3dc63f[_0x47a5ab(0x1fd)]({'rowIndex':_0x1128b9,'rowData':_0x3443d4,'errors':_0x2c4352});}),logger['info']({'event':_0x394e70[_0x3e87c3(0x1ea)],'totalRows':_0x5aa89a['length'],'errorCount':_0x3dc63f['length']},_0x394e70[_0x3e87c3(0x1ff)]),_0x3dc63f;}}module['exports']=new ImportValidator();