Built motion from commit 44377920.|2.6.11
[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 _0x5912=['duplicate','Duplicate\x20Contact','keys','then','push','pick','catch','Error\x20while\x20creating\x20contact:\x20','stringify','checkHopper','inspect','insert','into','scheduledAt','ListId','createdAt','select','field','ContactId','toString','NOW()','updatedAt','cm_contacts','where','deletedAt\x20IS\x20NULL','ListId\x20=\x20?','phone\x20NOT\x20IN\x20(?)','cm_hopper','\x20=\x20?','fromQuery','from','id\x20IN\x20?','str','phone\x20IS\x20NOT\x20NULL','cm_hopper_final','cm_hopper_black','VoiceQueue','findAll','Lists','get','always','query','VoiceQueueId','onlyIfOpen','sequelize','all','outbound','CmList','BlackLists','dialCheckDuplicateType','CampaignId','Campaign','cmContact,\x20%s,\x20%s','generalCheckHopper','Error\x20processing\x20rows\x20block:','finally','emit','contact:csv_','resolve','exit','info','CSV\x20import\x20process\x20stopped!','CmContact','createReadStream','parse','CSV\x20parsed\x20correctly!','CSV\x20parse\x20error','bluebird','util','lodash','squel','papaparse','ioredis','../../../mysqldb','../../../config/environment','api','defaults','redis','localhost','socket.io-emitter','../../../api/cmContact/cmContact.socket','register','argv','undefined','null','Missing\x20binding\x20parameters!','zipObject','split','Missing\x20ListId\x20parameter!','Missing\x20socket_timestamp\x20parameter!','error','test','isNil','errors','length','map','message','join','hasOwnProperty','data','firstName','phone','phone\x20not\x20specified!','birthDate','YYYY-MM-DD','isValid','email','email\x20format\x20is\x20not\x20valid!'];(function(_0x22baff,_0x28939d){var _0x47910e=function(_0x36f7d7){while(--_0x36f7d7){_0x22baff['push'](_0x22baff['shift']());}};_0x47910e(++_0x28939d);}(_0x5912,0x1f3));var _0x2591=function(_0x3aa02a,_0x563eb2){_0x3aa02a=_0x3aa02a-0x0;var _0x318eca=_0x5912[_0x3aa02a];return _0x318eca;};'use strict';var BPromise=require(_0x2591('0x0'));var util=require(_0x2591('0x1'));var _=require(_0x2591('0x2'));var fs=require('fs');var squel=require(_0x2591('0x3'));var Papa=require(_0x2591('0x4'));var Redis=require(_0x2591('0x5'));var db=require(_0x2591('0x6'))['db'];var config=require(_0x2591('0x7'));var logger=require('../../../config/logger')(_0x2591('0x8'));config['redis']=_[_0x2591('0x9')](config[_0x2591('0xa')],{'host':_0x2591('0xb'),'port':0x18eb});var socket=require(_0x2591('0xc'))(new Redis(config[_0x2591('0xa')]));require(_0x2591('0xd'))[_0x2591('0xe')](socket);try{if(!process['argv'][0x2]||process[_0x2591('0xf')][0x2]===_0x2591('0x10')||process[_0x2591('0xf')][0x2]===_0x2591('0x11')){throw new Error('Missing\x20filepath\x20parameter!');}var FILEPATH=process[_0x2591('0xf')][0x2];if(!process[_0x2591('0xf')][0x3]||process[_0x2591('0xf')][0x3]===_0x2591('0x10')||process['argv'][0x3]===_0x2591('0x11')||!process['argv'][0x4]||process['argv'][0x4]===_0x2591('0x10')||process[_0x2591('0xf')][0x4]===_0x2591('0x11')){throw new Error(_0x2591('0x12'));}var FIELDS=_[_0x2591('0x13')](process[_0x2591('0xf')][0x3][_0x2591('0x14')](','),process[_0x2591('0xf')][0x4][_0x2591('0x14')](','));if(!process[_0x2591('0xf')][0x5]||process[_0x2591('0xf')][0x5]===_0x2591('0x10')||process[_0x2591('0xf')][0x5]===_0x2591('0x11')){throw new Error(_0x2591('0x15'));}var LISTID=process[_0x2591('0xf')][0x5];var COMPANYID=process[_0x2591('0xf')][0x6]&&process[_0x2591('0xf')][0x6]!==_0x2591('0x10')&&process['argv'][0x6]!==_0x2591('0x11')?process[_0x2591('0xf')][0x6]:null;var DUPLICATES=process[_0x2591('0xf')][0x7]&&process[_0x2591('0xf')][0x7]!==_0x2591('0x10')&&process[_0x2591('0xf')][0x7]!=='null'?process[_0x2591('0xf')][0x7]:null;if(!process[_0x2591('0xf')][0x8]||process[_0x2591('0xf')][0x8]===_0x2591('0x10')||process['argv'][0x8]===_0x2591('0x11')){throw new Error(_0x2591('0x16'));}var SOCKET_TIMESTAMP=process[_0x2591('0xf')][0x8];}catch(_0x328da2){logger[_0x2591('0x17')](_0x328da2);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(_0x4bf0a7,_0x29e983,_0x216021,_0xb87058){var _0x2369c1={'message':_0x29e983};_0x2369c1[_0x4bf0a7]=!![];if(_0x216021){_0x2369c1['contact']=_0x216021;}if(_0xb87058){_0x2369c1['index']=_0xb87058;}return _0x2369c1;}function isEmail(_0x1725bd){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))*$/[_0x2591('0x18')](_0x1725bd);}function checkRow(_0x5311e4,_0x2c3cb7,_0x5d010a){return new BPromise(function(_0x6f6c43,_0x51a68b){if(_[_0x2591('0x19')](_0x5311e4)){return _0x51a68b(handleCheckRowError(_0x2591('0x17'),'The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!',null,_0x5d010a));}if(_0x5311e4[_0x2591('0x1a')]&&_0x5311e4[_0x2591('0x1a')][_0x2591('0x1b')]){var _0x9f5a3a=_[_0x2591('0x1c')](_0x5311e4[_0x2591('0x1a')],_0x2591('0x1d'))[_0x2591('0x1e')](';');return _0x51a68b(handleCheckRowError(_0x2591('0x17'),_0x9f5a3a,null,_0x5d010a));}var _0x1e4243={};for(var _0x3da1ad in FIELDS){if(FIELDS[_0x2591('0x1f')](_0x3da1ad)&&FIELDS[_0x3da1ad]){_0x1e4243[_0x3da1ad]=_0x5311e4[_0x2591('0x20')][0x0][FIELDS[_0x3da1ad]]||_0x5311e4[_0x2591('0x20')][0x0]['\ufeff'+FIELDS[_0x3da1ad]];}}if(!_0x1e4243[_0x2591('0x21')]){return _0x51a68b(handleCheckRowError(_0x2591('0x17'),'firstName\x20not\x20specified!',null,_0x5d010a));}if(!_0x1e4243[_0x2591('0x22')]){return _0x51a68b(handleCheckRowError(_0x2591('0x17'),_0x2591('0x23'),null,_0x5d010a));}if(_0x1e4243[_0x2591('0x24')]){var _0x1f31c3=moment(_0x1e4243[_0x2591('0x24')],_0x2591('0x25'));if(!_0x1f31c3[_0x2591('0x26')]()){return _0x51a68b(handleCheckRowError(_0x2591('0x17'),'birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!',null,_0x5d010a));}}if(_0x1e4243[_0x2591('0x27')]){if(!isEmail(_0x1e4243[_0x2591('0x27')])){return _0x51a68b(handleCheckRowError(_0x2591('0x17'),_0x2591('0x28'),null,_0x5d010a));}}_0x1e4243['ListId']=LISTID;_0x1e4243['CompanyId']=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES[_0x2591('0x1b')]&&_0x2c3cb7){var _0x6ac934={};for(var _0x18617d=0x0,_0x510839=DUPLICATES['length'];_0x18617d<_0x510839;_0x18617d+=0x1){_0x6ac934[DUPLICATES[_0x18617d]]=_0x1e4243[DUPLICATES[_0x18617d]];}var _0x4bca1a=_['find'](_0x2c3cb7,_0x6ac934);if(_0x4bca1a){return _0x51a68b(handleCheckRowError(_0x2591('0x29'),_0x2591('0x2a'),_0x4bca1a,_0x5d010a));}}return db['CmContact']['create'](_0x1e4243,{'raw':!![],'hooks':![],'fields':_[_0x2591('0x2b')](_0x1e4243)})[_0x2591('0x2c')](function(_0x179f58){if(DUPLICATES&&DUPLICATES[_0x2591('0x1b')]&&_0x2c3cb7){_0x2c3cb7[_0x2591('0x2d')](_[_0x2591('0x2e')](_0x1e4243,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x179f58['id'];return _0x6f6c43();})[_0x2591('0x2f')](function(_0x162391){return _0x51a68b(handleCheckRowError(_0x2591('0x17'),_0x2591('0x30')+(_0x162391[_0x2591('0x1d')]||JSON[_0x2591('0x31')](_0x162391)),null,_0x5d010a));});});}function checkHopper(){function _0x4698a0(){return function(_0x178819){logger['error']('cmContact',_0x2591('0x32'),util[_0x2591('0x33')](_0x178819,{'showHidden':![],'depth':null}));};}var _0x18c617=function(_0x29e3e4,_0x3c5949){var _0x22b3d0=squel[_0x2591('0x34')]()[_0x2591('0x35')]('cm_hopper')['fromQuery']([_0x2591('0x22'),_0x2591('0x36'),'ContactId',_0x2591('0x37'),_0x3c5949,_0x2591('0x38'),'updatedAt'],squel[_0x2591('0x39')]()[_0x2591('0x3a')](_0x2591('0x22'),_0x2591('0x22'))[_0x2591('0x3a')]('NOW()','scheduledAt')[_0x2591('0x3a')]('id',_0x2591('0x3b'))[_0x2591('0x3a')](LISTID[_0x2591('0x3c')](),'ListId')[_0x2591('0x3a')](_0x29e3e4['id'][_0x2591('0x3c')](),_0x3c5949)['field'](_0x2591('0x3d'),_0x2591('0x38'))[_0x2591('0x3a')]('NOW()',_0x2591('0x3e'))['from'](_0x2591('0x3f'))[_0x2591('0x40')](_0x2591('0x41'))[_0x2591('0x40')](_0x2591('0x42'),LISTID[_0x2591('0x3c')]())[_0x2591('0x40')]('phone\x20IS\x20NOT\x20NULL')[_0x2591('0x40')](_0x2591('0x43'),squel['select']()[_0x2591('0x3a')](_0x2591('0x22'))['from'](_0x2591('0x44'))[_0x2591('0x40')](_0x3c5949+_0x2591('0x45'),_0x29e3e4['id'][_0x2591('0x3c')]())))['toString']();return _0x22b3d0;};var _0x168e9f=function(_0x1d187a,_0x474c28){var _0x5731cb=squel[_0x2591('0x34')]()['into'](_0x2591('0x44'))[_0x2591('0x46')]([_0x2591('0x22'),_0x2591('0x36'),_0x2591('0x3b'),'ListId',_0x474c28,_0x2591('0x38'),_0x2591('0x3e')],squel['select']()[_0x2591('0x3a')](_0x2591('0x22'),'phone')[_0x2591('0x3a')]('NOW()',_0x2591('0x36'))[_0x2591('0x3a')]('id',_0x2591('0x3b'))[_0x2591('0x3a')](LISTID[_0x2591('0x3c')](),_0x2591('0x37'))[_0x2591('0x3a')](_0x1d187a['id'][_0x2591('0x3c')](),_0x474c28)['field'](_0x2591('0x3d'),_0x2591('0x38'))[_0x2591('0x3a')](_0x2591('0x3d'),'updatedAt')[_0x2591('0x47')](_0x2591('0x3f'))['where']('deletedAt\x20IS\x20NULL')[_0x2591('0x40')](_0x2591('0x42'),LISTID[_0x2591('0x3c')]())[_0x2591('0x40')](_0x2591('0x48'),squel[_0x2591('0x49')](hopperContacts))['where'](_0x2591('0x4a'))[_0x2591('0x40')](_0x2591('0x43'),squel['select']()[_0x2591('0x3a')]('calleridnum')[_0x2591('0x47')](_0x2591('0x4b'))[_0x2591('0x40')](_0x474c28+_0x2591('0x45'),_0x1d187a['id'][_0x2591('0x3c')]()))[_0x2591('0x40')]('phone\x20NOT\x20IN\x20(?)',squel[_0x2591('0x39')]()[_0x2591('0x3a')](_0x2591('0x22'))[_0x2591('0x47')]('cm_hopper')[_0x2591('0x40')](_0x474c28+'\x20=\x20?',_0x1d187a['id'][_0x2591('0x3c')]())))['toString']();return _0x5731cb;};function _0x2de80f(_0x54cfe6,_0x280817){var _0x2c54ac=squel[_0x2591('0x34')]()[_0x2591('0x35')]('cm_hopper')[_0x2591('0x46')]([_0x2591('0x22'),_0x2591('0x36'),_0x2591('0x3b'),_0x2591('0x37'),_0x280817,_0x2591('0x38'),_0x2591('0x3e')],squel[_0x2591('0x39')]()[_0x2591('0x3a')](_0x2591('0x22'),_0x2591('0x22'))[_0x2591('0x3a')](_0x2591('0x3d'),_0x2591('0x36'))[_0x2591('0x3a')]('id',_0x2591('0x3b'))[_0x2591('0x3a')](LISTID[_0x2591('0x3c')](),_0x2591('0x37'))[_0x2591('0x3a')](_0x54cfe6['id'][_0x2591('0x3c')](),_0x280817)[_0x2591('0x3a')](_0x2591('0x3d'),_0x2591('0x38'))['field'](_0x2591('0x3d'),_0x2591('0x3e'))[_0x2591('0x47')]('cm_contacts')[_0x2591('0x40')](_0x2591('0x41'))[_0x2591('0x40')]('ListId\x20=\x20?',LISTID['toString']())['where'](_0x2591('0x48'),squel[_0x2591('0x49')](hopperContacts))[_0x2591('0x40')](_0x2591('0x4a')))[_0x2591('0x3c')]();return _0x2c54ac;}function _0xf07204(_0x64cc59,_0x3c085b){var _0x2d427e=squel['insert']()[_0x2591('0x35')](_0x2591('0x4c'))['fromQuery']([_0x2591('0x22'),_0x2591('0x3b'),_0x2591('0x37'),_0x3c085b,_0x2591('0x38'),_0x2591('0x3e')],squel['select']()[_0x2591('0x3a')](_0x2591('0x22'),_0x2591('0x22'))[_0x2591('0x3a')]('id',_0x2591('0x3b'))[_0x2591('0x3a')](LISTID[_0x2591('0x3c')](),_0x2591('0x37'))[_0x2591('0x3a')](_0x64cc59['id'][_0x2591('0x3c')](),_0x3c085b)['field']('NOW()',_0x2591('0x38'))[_0x2591('0x3a')](_0x2591('0x3d'),'updatedAt')[_0x2591('0x47')]('cm_contacts')[_0x2591('0x40')](_0x2591('0x41'))[_0x2591('0x40')](_0x2591('0x42'),LISTID['toString']())[_0x2591('0x40')](_0x2591('0x48'),squel[_0x2591('0x49')](hopperContacts))[_0x2591('0x40')]('phone\x20IS\x20NOT\x20NULL'))['toString']();return _0x2d427e;}return db[_0x2591('0x4d')][_0x2591('0x4e')]({'where':{'type':'outbound'},'attributes':['id','dialCheckDuplicateType'],'include':[{'model':db['CmList'],'as':_0x2591('0x4f'),'where':{'id':LISTID}}]})[_0x2591('0x2c')](function(_0x3f5a68){var _0x4465c7=[];if(_0x3f5a68){var _0x41a703;for(var _0x395add=0x0,_0x213bfa;_0x395add<_0x3f5a68['length'];_0x395add+=0x1){_0x213bfa=_0x3f5a68[_0x395add][_0x2591('0x50')]({'plain':!![]});switch(_0x213bfa['dialCheckDuplicateType']){case _0x2591('0x51'):_0x4465c7[_0x2591('0x2d')](db['sequelize'][_0x2591('0x52')](_0x168e9f(_0x213bfa,_0x2591('0x53')))[_0x2591('0x2c')](function(){})[_0x2591('0x2f')](_0x4698a0()));break;case _0x2591('0x54'):_0x4465c7[_0x2591('0x2d')](db['sequelize'][_0x2591('0x52')](_0x18c617(_0x213bfa,_0x2591('0x53')))[_0x2591('0x2c')](function(){})['catch'](_0x4698a0()));break;default:_0x4465c7[_0x2591('0x2d')](db[_0x2591('0x55')]['query'](_0x2de80f(_0x213bfa,'VoiceQueueId'))[_0x2591('0x2c')](function(){})[_0x2591('0x2f')](_0x4698a0()));}}}return _0x4465c7;})[_0x2591('0x56')]()[_0x2591('0x2c')](function(){return db[_0x2591('0x4d')][_0x2591('0x4e')]({'where':{'type':_0x2591('0x57')},'attributes':['id'],'include':[{'model':db[_0x2591('0x58')],'as':_0x2591('0x59'),'where':{'id':LISTID}}]})['then'](function(_0x4c6c49){var _0x1ed5a8=[];if(_0x4c6c49){var _0x2d86be;for(var _0xdc7056=0x0,_0x45ef25;_0xdc7056<_0x4c6c49[_0x2591('0x1b')];_0xdc7056+=0x1){_0x45ef25=_0x4c6c49[_0xdc7056]['get']({'plain':!![]});_0x1ed5a8[_0x2591('0x2d')](db[_0x2591('0x55')][_0x2591('0x52')](_0xf07204(_0x45ef25,_0x2591('0x53')))['then'](function(){})[_0x2591('0x2f')](_0x4698a0()));}}return _0x1ed5a8;})[_0x2591('0x56')]();})[_0x2591('0x2c')](function(){return db['Campaign'][_0x2591('0x4e')]({'attributes':['id',_0x2591('0x5a')],'include':[{'model':db[_0x2591('0x58')],'as':_0x2591('0x4f'),'where':{'id':LISTID}}]})['then'](function(_0x5bcbd8){var _0x45452d=[];if(_0x5bcbd8){for(var _0x21e732=0x0,_0x37c86f;_0x21e732<_0x5bcbd8[_0x2591('0x1b')];_0x21e732+=0x1){_0x37c86f=_0x5bcbd8[_0x21e732][_0x2591('0x50')]({'plain':!![]});switch(_0x37c86f[_0x2591('0x5a')]){case _0x2591('0x51'):_0x45452d[_0x2591('0x2d')](db['sequelize'][_0x2591('0x52')](_0x168e9f(_0x37c86f,'CampaignId'))[_0x2591('0x2c')](function(){})[_0x2591('0x2f')](_0x4698a0()));break;case _0x2591('0x54'):_0x45452d[_0x2591('0x2d')](db[_0x2591('0x55')][_0x2591('0x52')](_0x18c617(_0x37c86f,_0x2591('0x5b')))['then'](function(){})[_0x2591('0x2f')](_0x4698a0()));break;default:_0x45452d[_0x2591('0x2d')](db[_0x2591('0x55')][_0x2591('0x52')](_0x2de80f(_0x37c86f,_0x2591('0x5b')))[_0x2591('0x2c')](function(){})[_0x2591('0x2f')](_0x4698a0()));}}}return _0x45452d;})['all']();})[_0x2591('0x2c')](function(){return db[_0x2591('0x5c')][_0x2591('0x4e')]({'attributes':['id'],'include':[{'model':db[_0x2591('0x58')],'as':_0x2591('0x59'),'where':{'id':LISTID}}]})['then'](function(_0x5d3fd3){var _0x18aa04=[];if(_0x5d3fd3){for(var _0xe6466f=0x0,_0x26a2ca;_0xe6466f<_0x5d3fd3[_0x2591('0x1b')];_0xe6466f+=0x1){_0x26a2ca=_0x5d3fd3[_0xe6466f][_0x2591('0x50')]({'plain':!![]});_0x18aa04['push'](db[_0x2591('0x55')]['query'](_0xf07204(_0x26a2ca,_0x2591('0x5b')))[_0x2591('0x2c')](function(){})['catch'](_0x4698a0()));}}return _0x18aa04;})[_0x2591('0x56')]();})[_0x2591('0x2f')](function(_0x5507f2){logger[_0x2591('0x17')](_0x2591('0x5d'),_0x2591('0x5e'),_0x5507f2[_0x2591('0x1d')]);});}var processPromises=function(_0x1dadc8){return BPromise[_0x2591('0x56')](promises)['then'](function(_0x525bf8){})[_0x2591('0x2f')](function(_0x1ee6bf){logger[_0x2591('0x17')](_0x2591('0x5f'),JSON[_0x2591('0x31')](_0x1ee6bf));})[_0x2591('0x60')](function(){socket[_0x2591('0x61')](_0x2591('0x62')+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x1dadc8){return _0x1dadc8['resume']();}});};var endCsv=function(){return BPromise[_0x2591('0x63')]()[_0x2591('0x2c')](function(){if(hopperContacts){return checkHopper();}})[_0x2591('0x2c')](function(){socket['emit'](_0x2591('0x62')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs['unlinkSync'](FILEPATH);}catch(_0x224c24){logger[_0x2591('0x17')]('Unable\x20to\x20delete\x20temp\x20file:',JSON[_0x2591('0x31')](_0x224c24));}finally{process[_0x2591('0x64')](0x0);}});};process['on']('SIGINT',function(){logger[_0x2591('0x65')](_0x2591('0x66'));endCsv();});function main(){return BPromise['resolve']()['then'](function(){if(DUPLICATES){DUPLICATES=DUPLICATES[_0x2591('0x14')](',');return db[_0x2591('0x67')][_0x2591('0x4e')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0x2591('0x2c')](function(_0x196436){var _0x4577e5=fs[_0x2591('0x68')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0x2591('0x69')](_0x4577e5,{'header':!![],'skipEmptyLines':!![],'step':function(_0x459890,_0x7cae46){total+=0x1;var _0x3aff15=total;promises[_0x2591('0x2d')](checkRow(_0x459890,_0x196436,_0x3aff15)[_0x2591('0x2c')](function(){success+=0x1;})[_0x2591('0x2f')](function(_0x1c3574){if(_0x1c3574[_0x2591('0x17')]){errors+=0x1;delete _0x1c3574['error'];}else if(_0x1c3574[_0x2591('0x29')]){duplicates+=0x1;delete _0x1c3574['duplicate'];}rows[_0x2591('0x2d')](_0x1c3574);}));if(total%0xc8===0x0){_0x7cae46['pause']();return processPromises(_0x7cae46);}},'complete':function(){return processPromises()['then'](function(){logger[_0x2591('0x65')](_0x2591('0x6a'));endCsv();});},'error':function(_0x48c8a7,_0x2c7923){logger[_0x2591('0x65')](_0x2591('0x6b'),JSON[_0x2591('0x31')](_0x48c8a7));endCsv();}});})[_0x2591('0x2f')](function(_0x172dec){logger[_0x2591('0x17')]('Error\x20executing\x20contact\x20csv\x20import:',JSON[_0x2591('0x31')](_0x172dec));});}main();