Built motion from commit ede67897.|2.6.29
[motion2.git] / server / components / import / cm / csv.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x094b=['cm_hopper','\x20=\x20?','into','cm_contacts','id\x20IN\x20?','str','cm_hopper_final','cm_hopper_black','findAll','outbound','CmList','Lists','get','sequelize','query','catch','VoiceQueueId','VoiceQueue','BlackLists','all','CampaignId','Campaign','cmContact,\x20%s,\x20%s','generalCheckHopper','Error\x20processing\x20rows\x20block:','finally','emit','contact:csv_','resolve','unlinkSync','exit','SIGINT','info','parse','duplicate','pause','CSV\x20parsed\x20correctly!','CSV\x20parse\x20error','Error\x20executing\x20contact\x20csv\x20import:','bluebird','squel','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','defaults','redis','localhost','socket.io-emitter','../../../api/cmContact/cmContact.socket','register','argv','undefined','null','Missing\x20filepath\x20parameter!','zipObject','split','Missing\x20ListId\x20parameter!','Missing\x20socket_timestamp\x20parameter!','error','contact','index','test','isNil','The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!','errors','length','map','join','hasOwnProperty','data','firstName\x20not\x20specified!','phone','phone\x20not\x20specified!','birthDate','YYYY-MM-DD','isValid','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!','email','email\x20format\x20is\x20not\x20valid!','ListId','CompanyId','find','Duplicate\x20Contact','CmContact','keys','then','push','pick','Error\x20while\x20creating\x20contact:\x20','message','stringify','cmContact','inspect','insert','fromQuery','scheduledAt','ContactId','createdAt','updatedAt','select','field','toString','NOW()','from','deletedAt\x20IS\x20NULL','where','ListId\x20=\x20?','phone\x20IS\x20NOT\x20NULL','phone\x20NOT\x20IN\x20(?)'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x094b,0x95));var _0xb094=function(_0x4fccab,_0x1c83b7){_0x4fccab=_0x4fccab-0x0;var _0x4cc78e=_0x094b[_0x4fccab];return _0x4cc78e;};'use strict';var BPromise=require(_0xb094('0x0'));var util=require('util');var _=require('lodash');var fs=require('fs');var squel=require(_0xb094('0x1'));var Papa=require('papaparse');var Redis=require(_0xb094('0x2'));var db=require(_0xb094('0x3'))['db'];var config=require(_0xb094('0x4'));var logger=require(_0xb094('0x5'))('api');config['redis']=_[_0xb094('0x6')](config[_0xb094('0x7')],{'host':_0xb094('0x8'),'port':0x18eb});var socket=require(_0xb094('0x9'))(new Redis(config['redis']));require(_0xb094('0xa'))[_0xb094('0xb')](socket);try{if(!process[_0xb094('0xc')][0x2]||process[_0xb094('0xc')][0x2]===_0xb094('0xd')||process[_0xb094('0xc')][0x2]===_0xb094('0xe')){throw new Error(_0xb094('0xf'));}var FILEPATH=process[_0xb094('0xc')][0x2];if(!process[_0xb094('0xc')][0x3]||process[_0xb094('0xc')][0x3]==='undefined'||process[_0xb094('0xc')][0x3]===_0xb094('0xe')||!process[_0xb094('0xc')][0x4]||process[_0xb094('0xc')][0x4]===_0xb094('0xd')||process[_0xb094('0xc')][0x4]===_0xb094('0xe')){throw new Error('Missing\x20binding\x20parameters!');}var FIELDS=_[_0xb094('0x10')](process[_0xb094('0xc')][0x3][_0xb094('0x11')](','),process['argv'][0x4][_0xb094('0x11')](','));if(!process[_0xb094('0xc')][0x5]||process[_0xb094('0xc')][0x5]===_0xb094('0xd')||process[_0xb094('0xc')][0x5]===_0xb094('0xe')){throw new Error(_0xb094('0x12'));}var LISTID=process[_0xb094('0xc')][0x5];var COMPANYID=process[_0xb094('0xc')][0x6]&&process[_0xb094('0xc')][0x6]!==_0xb094('0xd')&&process[_0xb094('0xc')][0x6]!==_0xb094('0xe')?process['argv'][0x6]:null;var DUPLICATES=process[_0xb094('0xc')][0x7]&&process['argv'][0x7]!=='undefined'&&process[_0xb094('0xc')][0x7]!==_0xb094('0xe')?process['argv'][0x7]:null;if(!process[_0xb094('0xc')][0x8]||process['argv'][0x8]===_0xb094('0xd')||process[_0xb094('0xc')][0x8]===_0xb094('0xe')){throw new Error(_0xb094('0x13'));}var SOCKET_TIMESTAMP=process['argv'][0x8];}catch(_0x2526f9){logger[_0xb094('0x14')](_0x2526f9);endCsv();}var total=0x0;var pTotal=0x0;var success=0x0;var errors=0x0;var duplicates=0x0;var rows=[];var hopperContacts='';var promises=[];var index=0x0;var alreadyInvalid=![];function handleCheckRowError(_0x3dbcc1,_0xc50dcb,_0xaf8c62,_0x24f971){var _0x3a029f={'message':_0xc50dcb};_0x3a029f[_0x3dbcc1]=!![];if(_0xaf8c62){_0x3a029f[_0xb094('0x15')]=_0xaf8c62;}if(_0x24f971){_0x3a029f[_0xb094('0x16')]=_0x24f971;}return _0x3a029f;}function isEmail(_0x197d3b){return/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/[_0xb094('0x17')](_0x197d3b);}function checkRow(_0x2f1c4a,_0x24bd25,_0x2f20ec){return new BPromise(function(_0x43de0c,_0x32b09d){if(_[_0xb094('0x18')](_0x2f1c4a)){return _0x32b09d(handleCheckRowError(_0xb094('0x14'),_0xb094('0x19'),null,_0x2f20ec));}if(_0x2f1c4a[_0xb094('0x1a')]&&_0x2f1c4a[_0xb094('0x1a')][_0xb094('0x1b')]){var _0x4bcea8=_[_0xb094('0x1c')](_0x2f1c4a[_0xb094('0x1a')],'message')[_0xb094('0x1d')](';');return _0x32b09d(handleCheckRowError(_0xb094('0x14'),_0x4bcea8,null,_0x2f20ec));}var _0x1ae5f2={};for(var _0x50a324 in FIELDS){if(FIELDS[_0xb094('0x1e')](_0x50a324)&&FIELDS[_0x50a324]){_0x1ae5f2[_0x50a324]=_0x2f1c4a[_0xb094('0x1f')][0x0][FIELDS[_0x50a324]]||_0x2f1c4a[_0xb094('0x1f')][0x0]['\ufeff'+FIELDS[_0x50a324]];}}if(!_0x1ae5f2['firstName']){return _0x32b09d(handleCheckRowError(_0xb094('0x14'),_0xb094('0x20'),null,_0x2f20ec));}if(!_0x1ae5f2[_0xb094('0x21')]){return _0x32b09d(handleCheckRowError('error',_0xb094('0x22'),null,_0x2f20ec));}if(_0x1ae5f2['birthDate']){var _0x504f05=moment(_0x1ae5f2[_0xb094('0x23')],_0xb094('0x24'));if(!_0x504f05[_0xb094('0x25')]()){return _0x32b09d(handleCheckRowError(_0xb094('0x14'),_0xb094('0x26'),null,_0x2f20ec));}}if(_0x1ae5f2[_0xb094('0x27')]){if(!isEmail(_0x1ae5f2[_0xb094('0x27')])){return _0x32b09d(handleCheckRowError('error',_0xb094('0x28'),null,_0x2f20ec));}}_0x1ae5f2[_0xb094('0x29')]=LISTID;_0x1ae5f2[_0xb094('0x2a')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES[_0xb094('0x1b')]&&_0x24bd25){var _0x41bde1={};for(var _0x39530e=0x0,_0xe77fcd=DUPLICATES[_0xb094('0x1b')];_0x39530e<_0xe77fcd;_0x39530e+=0x1){_0x41bde1[DUPLICATES[_0x39530e]]=_0x1ae5f2[DUPLICATES[_0x39530e]];}var _0x102937=_[_0xb094('0x2b')](_0x24bd25,_0x41bde1);if(_0x102937){return _0x32b09d(handleCheckRowError('duplicate',_0xb094('0x2c'),_0x102937,_0x2f20ec));}}return db[_0xb094('0x2d')]['create'](_0x1ae5f2,{'raw':!![],'hooks':![],'fields':_[_0xb094('0x2e')](_0x1ae5f2)})[_0xb094('0x2f')](function(_0x305a2e){if(DUPLICATES&&DUPLICATES[_0xb094('0x1b')]&&_0x24bd25){_0x24bd25[_0xb094('0x30')](_[_0xb094('0x31')](_0x1ae5f2,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x305a2e['id'];return _0x43de0c();})['catch'](function(_0x515937){return _0x32b09d(handleCheckRowError(_0xb094('0x14'),_0xb094('0x32')+(_0x515937[_0xb094('0x33')]||JSON[_0xb094('0x34')](_0x515937)),null,_0x2f20ec));});});}function checkHopper(){function _0x9f3849(){return function(_0x2e357b){logger[_0xb094('0x14')](_0xb094('0x35'),'checkHopper',util[_0xb094('0x36')](_0x2e357b,{'showHidden':![],'depth':null}));};}var _0x2c13ad=function(_0x17b2fc,_0x50b90f){var _0x2a503f=squel[_0xb094('0x37')]()['into']('cm_hopper')[_0xb094('0x38')]([_0xb094('0x21'),_0xb094('0x39'),_0xb094('0x3a'),_0xb094('0x29'),_0x50b90f,_0xb094('0x3b'),_0xb094('0x3c')],squel[_0xb094('0x3d')]()[_0xb094('0x3e')](_0xb094('0x21'),'phone')[_0xb094('0x3e')]('NOW()','scheduledAt')[_0xb094('0x3e')]('id',_0xb094('0x3a'))[_0xb094('0x3e')](LISTID[_0xb094('0x3f')](),_0xb094('0x29'))['field'](_0x17b2fc['id'][_0xb094('0x3f')](),_0x50b90f)[_0xb094('0x3e')](_0xb094('0x40'),_0xb094('0x3b'))[_0xb094('0x3e')](_0xb094('0x40'),'updatedAt')[_0xb094('0x41')]('cm_contacts')['where'](_0xb094('0x42'))[_0xb094('0x43')](_0xb094('0x44'),LISTID[_0xb094('0x3f')]())[_0xb094('0x43')](_0xb094('0x45'))[_0xb094('0x43')](_0xb094('0x46'),squel[_0xb094('0x3d')]()[_0xb094('0x3e')](_0xb094('0x21'))[_0xb094('0x41')](_0xb094('0x47'))[_0xb094('0x43')](_0x50b90f+_0xb094('0x48'),_0x17b2fc['id'][_0xb094('0x3f')]())))['toString']();return _0x2a503f;};var _0x1e66c2=function(_0x3a3508,_0x5f2091){var _0x196a39=squel['insert']()[_0xb094('0x49')]('cm_hopper')[_0xb094('0x38')]([_0xb094('0x21'),_0xb094('0x39'),_0xb094('0x3a'),'ListId',_0x5f2091,'createdAt','updatedAt'],squel[_0xb094('0x3d')]()[_0xb094('0x3e')](_0xb094('0x21'),'phone')[_0xb094('0x3e')](_0xb094('0x40'),_0xb094('0x39'))[_0xb094('0x3e')]('id',_0xb094('0x3a'))[_0xb094('0x3e')](LISTID[_0xb094('0x3f')](),_0xb094('0x29'))[_0xb094('0x3e')](_0x3a3508['id'][_0xb094('0x3f')](),_0x5f2091)[_0xb094('0x3e')](_0xb094('0x40'),'createdAt')[_0xb094('0x3e')](_0xb094('0x40'),_0xb094('0x3c'))['from'](_0xb094('0x4a'))['where'](_0xb094('0x42'))['where']('ListId\x20=\x20?',LISTID[_0xb094('0x3f')]())['where'](_0xb094('0x4b'),squel[_0xb094('0x4c')](hopperContacts))[_0xb094('0x43')](_0xb094('0x45'))[_0xb094('0x43')]('phone\x20NOT\x20IN\x20(?)',squel['select']()['field']('calleridnum')[_0xb094('0x41')](_0xb094('0x4d'))[_0xb094('0x43')](_0x5f2091+_0xb094('0x48'),_0x3a3508['id'][_0xb094('0x3f')]()))[_0xb094('0x43')](_0xb094('0x46'),squel['select']()[_0xb094('0x3e')](_0xb094('0x21'))['from']('cm_hopper')[_0xb094('0x43')](_0x5f2091+'\x20=\x20?',_0x3a3508['id'][_0xb094('0x3f')]())))[_0xb094('0x3f')]();return _0x196a39;};function _0x2237c9(_0x17db91,_0x1a1b6b){var _0x36fb03=squel[_0xb094('0x37')]()['into'](_0xb094('0x47'))[_0xb094('0x38')]([_0xb094('0x21'),'scheduledAt',_0xb094('0x3a'),_0xb094('0x29'),_0x1a1b6b,_0xb094('0x3b'),_0xb094('0x3c')],squel['select']()[_0xb094('0x3e')](_0xb094('0x21'),_0xb094('0x21'))[_0xb094('0x3e')](_0xb094('0x40'),_0xb094('0x39'))[_0xb094('0x3e')]('id',_0xb094('0x3a'))[_0xb094('0x3e')](LISTID[_0xb094('0x3f')](),_0xb094('0x29'))[_0xb094('0x3e')](_0x17db91['id']['toString'](),_0x1a1b6b)[_0xb094('0x3e')](_0xb094('0x40'),_0xb094('0x3b'))[_0xb094('0x3e')](_0xb094('0x40'),'updatedAt')[_0xb094('0x41')](_0xb094('0x4a'))[_0xb094('0x43')](_0xb094('0x42'))[_0xb094('0x43')](_0xb094('0x44'),LISTID[_0xb094('0x3f')]())[_0xb094('0x43')]('id\x20IN\x20?',squel[_0xb094('0x4c')](hopperContacts))[_0xb094('0x43')](_0xb094('0x45')))['toString']();return _0x36fb03;}function _0xb4e328(_0x148e5a,_0x526221){var _0x36a77e=squel[_0xb094('0x37')]()['into'](_0xb094('0x4e'))[_0xb094('0x38')]([_0xb094('0x21'),_0xb094('0x3a'),_0xb094('0x29'),_0x526221,'createdAt',_0xb094('0x3c')],squel[_0xb094('0x3d')]()['field'](_0xb094('0x21'),'phone')[_0xb094('0x3e')]('id',_0xb094('0x3a'))['field'](LISTID[_0xb094('0x3f')](),_0xb094('0x29'))[_0xb094('0x3e')](_0x148e5a['id']['toString'](),_0x526221)[_0xb094('0x3e')](_0xb094('0x40'),'createdAt')[_0xb094('0x3e')]('NOW()','updatedAt')[_0xb094('0x41')]('cm_contacts')[_0xb094('0x43')](_0xb094('0x42'))[_0xb094('0x43')](_0xb094('0x44'),LISTID[_0xb094('0x3f')]())[_0xb094('0x43')](_0xb094('0x4b'),squel[_0xb094('0x4c')](hopperContacts))[_0xb094('0x43')]('phone\x20IS\x20NOT\x20NULL'))[_0xb094('0x3f')]();return _0x36a77e;}return db['VoiceQueue'][_0xb094('0x4f')]({'where':{'type':_0xb094('0x50')},'attributes':['id','dialCheckDuplicateType'],'include':[{'model':db[_0xb094('0x51')],'as':_0xb094('0x52'),'where':{'id':LISTID}}]})['then'](function(_0x448c5a){var _0x76c38c=[];if(_0x448c5a){var _0x470c6c;for(var _0x1fa6b8=0x0,_0x2bb113;_0x1fa6b8<_0x448c5a['length'];_0x1fa6b8+=0x1){_0x2bb113=_0x448c5a[_0x1fa6b8][_0xb094('0x53')]({'plain':!![]});switch(_0x2bb113['dialCheckDuplicateType']){case'always':_0x76c38c['push'](db[_0xb094('0x54')][_0xb094('0x55')](_0x1e66c2(_0x2bb113,'VoiceQueueId'))[_0xb094('0x2f')](function(){})[_0xb094('0x56')](_0x9f3849()));break;case'onlyIfOpen':_0x76c38c['push'](db[_0xb094('0x54')][_0xb094('0x55')](_0x2c13ad(_0x2bb113,_0xb094('0x57')))['then'](function(){})['catch'](_0x9f3849()));break;default:_0x76c38c[_0xb094('0x30')](db[_0xb094('0x54')][_0xb094('0x55')](_0x2237c9(_0x2bb113,_0xb094('0x57')))[_0xb094('0x2f')](function(){})[_0xb094('0x56')](_0x9f3849()));}}}return _0x76c38c;})['all']()[_0xb094('0x2f')](function(){return db[_0xb094('0x58')][_0xb094('0x4f')]({'where':{'type':_0xb094('0x50')},'attributes':['id'],'include':[{'model':db[_0xb094('0x51')],'as':_0xb094('0x59'),'where':{'id':LISTID}}]})[_0xb094('0x2f')](function(_0x3c62b6){var _0x47512a=[];if(_0x3c62b6){var _0x5bbdf6;for(var _0x5eee25=0x0,_0x4ed771;_0x5eee25<_0x3c62b6[_0xb094('0x1b')];_0x5eee25+=0x1){_0x4ed771=_0x3c62b6[_0x5eee25][_0xb094('0x53')]({'plain':!![]});_0x47512a['push'](db[_0xb094('0x54')][_0xb094('0x55')](_0xb4e328(_0x4ed771,_0xb094('0x57')))[_0xb094('0x2f')](function(){})[_0xb094('0x56')](_0x9f3849()));}}return _0x47512a;})[_0xb094('0x5a')]();})[_0xb094('0x2f')](function(){return db['Campaign'][_0xb094('0x4f')]({'attributes':['id','dialCheckDuplicateType'],'include':[{'model':db[_0xb094('0x51')],'as':'Lists','where':{'id':LISTID}}]})['then'](function(_0x58f86f){var _0x4b00bf=[];if(_0x58f86f){for(var _0x10e5f3=0x0,_0x20f475;_0x10e5f3<_0x58f86f['length'];_0x10e5f3+=0x1){_0x20f475=_0x58f86f[_0x10e5f3][_0xb094('0x53')]({'plain':!![]});switch(_0x20f475['dialCheckDuplicateType']){case'always':_0x4b00bf[_0xb094('0x30')](db['sequelize']['query'](_0x1e66c2(_0x20f475,_0xb094('0x5b')))[_0xb094('0x2f')](function(){})[_0xb094('0x56')](_0x9f3849()));break;case'onlyIfOpen':_0x4b00bf[_0xb094('0x30')](db[_0xb094('0x54')]['query'](_0x2c13ad(_0x20f475,_0xb094('0x5b')))['then'](function(){})[_0xb094('0x56')](_0x9f3849()));break;default:_0x4b00bf[_0xb094('0x30')](db['sequelize'][_0xb094('0x55')](_0x2237c9(_0x20f475,_0xb094('0x5b')))[_0xb094('0x2f')](function(){})[_0xb094('0x56')](_0x9f3849()));}}}return _0x4b00bf;})[_0xb094('0x5a')]();})[_0xb094('0x2f')](function(){return db[_0xb094('0x5c')][_0xb094('0x4f')]({'attributes':['id'],'include':[{'model':db[_0xb094('0x51')],'as':'BlackLists','where':{'id':LISTID}}]})[_0xb094('0x2f')](function(_0x512ce8){var _0x463b16=[];if(_0x512ce8){for(var _0x3bcf6d=0x0,_0x36aff8;_0x3bcf6d<_0x512ce8[_0xb094('0x1b')];_0x3bcf6d+=0x1){_0x36aff8=_0x512ce8[_0x3bcf6d][_0xb094('0x53')]({'plain':!![]});_0x463b16['push'](db[_0xb094('0x54')][_0xb094('0x55')](_0xb4e328(_0x36aff8,_0xb094('0x5b')))[_0xb094('0x2f')](function(){})['catch'](_0x9f3849()));}}return _0x463b16;})[_0xb094('0x5a')]();})[_0xb094('0x56')](function(_0x44fbf3){logger[_0xb094('0x14')](_0xb094('0x5d'),_0xb094('0x5e'),_0x44fbf3[_0xb094('0x33')]);});}var processPromises=function(_0x2cbe40){return BPromise[_0xb094('0x5a')](promises)[_0xb094('0x2f')](function(_0x2b2baf){})[_0xb094('0x56')](function(_0x546f8b){logger[_0xb094('0x14')](_0xb094('0x5f'),JSON[_0xb094('0x34')](_0x546f8b));})[_0xb094('0x60')](function(){socket[_0xb094('0x61')](_0xb094('0x62')+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x2cbe40){return _0x2cbe40['resume']();}});};var endCsv=function(){return BPromise[_0xb094('0x63')]()['then'](function(){if(hopperContacts){return checkHopper();}})[_0xb094('0x2f')](function(){socket[_0xb094('0x61')](_0xb094('0x62')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0xb094('0x64')](FILEPATH);}catch(_0x158058){logger[_0xb094('0x14')]('Unable\x20to\x20delete\x20temp\x20file:',JSON[_0xb094('0x34')](_0x158058));}finally{process[_0xb094('0x65')](0x0);}});};process['on'](_0xb094('0x66'),function(){logger[_0xb094('0x67')]('CSV\x20import\x20process\x20stopped!');endCsv();});function main(){return BPromise[_0xb094('0x63')]()[_0xb094('0x2f')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES['split'](',');return db['CmContact'][_0xb094('0x4f')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0xb094('0x2f')](function(_0x2c6f21){var _0xee5494=fs['createReadStream'](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0xb094('0x68')](_0xee5494,{'header':!![],'skipEmptyLines':!![],'step':function(_0x3021bb,_0x1f5037){total+=0x1;var _0x4cc26d=total;promises[_0xb094('0x30')](checkRow(_0x3021bb,_0x2c6f21,_0x4cc26d)['then'](function(){success+=0x1;})['catch'](function(_0x1ac1e1){if(_0x1ac1e1[_0xb094('0x14')]){errors+=0x1;delete _0x1ac1e1[_0xb094('0x14')];}else if(_0x1ac1e1[_0xb094('0x69')]){duplicates+=0x1;delete _0x1ac1e1[_0xb094('0x69')];}rows[_0xb094('0x30')](_0x1ac1e1);}));if(total%0xc8===0x0){_0x1f5037[_0xb094('0x6a')]();return processPromises(_0x1f5037);}},'complete':function(){return processPromises()['then'](function(){logger['info'](_0xb094('0x6b'));endCsv();});},'error':function(_0x4e4605,_0x4236a3){logger[_0xb094('0x67')](_0xb094('0x6c'),JSON[_0xb094('0x34')](_0x4e4605));endCsv();}});})['catch'](function(_0x263a33){logger['error'](_0xb094('0x6d'),JSON['stringify'](_0x263a33));});}main();