4b3375c2eef1fa8134403a8b1e4b91a7291b1371
[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 _0x9748=['emit','contact:csv_','resume','unlinkSync','Unable\x20to\x20delete\x20temp\x20file:','exit','SIGINT','info','resolve','createReadStream','parse','pause','CSV\x20parsed\x20correctly!','CSV\x20parse\x20error','util','lodash','squel','papaparse','../../../mysqldb','../../../config/environment','../../../config/logger','api','redis','defaults','localhost','socket.io-emitter','../../../api/cmContact/cmContact.socket','register','argv','null','Missing\x20filepath\x20parameter!','undefined','Missing\x20binding\x20parameters!','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','message','join','hasOwnProperty','data','firstName','phone','phone\x20not\x20specified!','birthDate','isValid','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!','email','email\x20format\x20is\x20not\x20valid!','ListId','CompanyId','duplicate','CmContact','keys','then','push','pick','catch','Error\x20while\x20creating\x20contact:\x20','stringify','checkHopper','inspect','insert','cm_hopper','fromQuery','scheduledAt','ContactId','createdAt','updatedAt','select','field','NOW()','toString','from','cm_contacts','where','ListId\x20=\x20?','\x20=\x20?','into','deletedAt\x20IS\x20NULL','id\x20IN\x20?','str','phone\x20NOT\x20IN\x20(?)','calleridnum','phone\x20IS\x20NOT\x20NULL','cm_hopper_black','findAll','outbound','dialCheckDuplicateType','CmList','Lists','get','sequelize','query','VoiceQueueId','onlyIfOpen','VoiceQueue','BlackLists','all','always','CampaignId','cmContact,\x20%s,\x20%s','finally'];(function(_0x40a045,_0x516f0e){var _0x1a687c=function(_0x48c9fe){while(--_0x48c9fe){_0x40a045['push'](_0x40a045['shift']());}};_0x1a687c(++_0x516f0e);}(_0x9748,0x1ce));var _0x8974=function(_0x4de910,_0x1973ce){_0x4de910=_0x4de910-0x0;var _0x55c077=_0x9748[_0x4de910];return _0x55c077;};'use strict';var BPromise=require('bluebird');var util=require(_0x8974('0x0'));var _=require(_0x8974('0x1'));var fs=require('fs');var squel=require(_0x8974('0x2'));var Papa=require(_0x8974('0x3'));var Redis=require('ioredis');var db=require(_0x8974('0x4'))['db'];var config=require(_0x8974('0x5'));var logger=require(_0x8974('0x6'))(_0x8974('0x7'));config[_0x8974('0x8')]=_[_0x8974('0x9')](config['redis'],{'host':_0x8974('0xa'),'port':0x18eb});var socket=require(_0x8974('0xb'))(new Redis(config[_0x8974('0x8')]));require(_0x8974('0xc'))[_0x8974('0xd')](socket);try{if(!process[_0x8974('0xe')][0x2]||process[_0x8974('0xe')][0x2]==='undefined'||process[_0x8974('0xe')][0x2]===_0x8974('0xf')){throw new Error(_0x8974('0x10'));}var FILEPATH=process['argv'][0x2];if(!process['argv'][0x3]||process[_0x8974('0xe')][0x3]===_0x8974('0x11')||process[_0x8974('0xe')][0x3]===_0x8974('0xf')||!process[_0x8974('0xe')][0x4]||process[_0x8974('0xe')][0x4]===_0x8974('0x11')||process[_0x8974('0xe')][0x4]===_0x8974('0xf')){throw new Error(_0x8974('0x12'));}var FIELDS=_[_0x8974('0x13')](process[_0x8974('0xe')][0x3]['split'](','),process[_0x8974('0xe')][0x4][_0x8974('0x14')](','));if(!process['argv'][0x5]||process[_0x8974('0xe')][0x5]==='undefined'||process[_0x8974('0xe')][0x5]==='null'){throw new Error(_0x8974('0x15'));}var LISTID=process[_0x8974('0xe')][0x5];var COMPANYID=process['argv'][0x6]&&process['argv'][0x6]!==_0x8974('0x11')&&process[_0x8974('0xe')][0x6]!==_0x8974('0xf')?process['argv'][0x6]:null;var DUPLICATES=process[_0x8974('0xe')][0x7]&&process[_0x8974('0xe')][0x7]!==_0x8974('0x11')&&process[_0x8974('0xe')][0x7]!=='null'?process[_0x8974('0xe')][0x7]:null;if(!process['argv'][0x8]||process[_0x8974('0xe')][0x8]===_0x8974('0x11')||process[_0x8974('0xe')][0x8]===_0x8974('0xf')){throw new Error(_0x8974('0x16'));}var SOCKET_TIMESTAMP=process[_0x8974('0xe')][0x8];}catch(_0x2f9582){logger[_0x8974('0x17')](_0x2f9582);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(_0x497fe9,_0x3a73e7,_0x121a08,_0x214b5d){var _0x496413={'message':_0x3a73e7};_0x496413[_0x497fe9]=!![];if(_0x121a08){_0x496413[_0x8974('0x18')]=_0x121a08;}if(_0x214b5d){_0x496413[_0x8974('0x19')]=_0x214b5d;}return _0x496413;}function isEmail(_0x21af4b){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))*$/[_0x8974('0x1a')](_0x21af4b);}function checkRow(_0x177eaf,_0x1556a6,_0x552b9f){return new BPromise(function(_0x16f311,_0x1cd907){if(_[_0x8974('0x1b')](_0x177eaf)){return _0x1cd907(handleCheckRowError('error',_0x8974('0x1c'),null,_0x552b9f));}if(_0x177eaf[_0x8974('0x1d')]&&_0x177eaf[_0x8974('0x1d')][_0x8974('0x1e')]){var _0x596421=_[_0x8974('0x1f')](_0x177eaf[_0x8974('0x1d')],_0x8974('0x20'))[_0x8974('0x21')](';');return _0x1cd907(handleCheckRowError('error',_0x596421,null,_0x552b9f));}var _0xe53d7c={};for(var _0x15f11f in FIELDS){if(FIELDS[_0x8974('0x22')](_0x15f11f)&&FIELDS[_0x15f11f]){_0xe53d7c[_0x15f11f]=_0x177eaf[_0x8974('0x23')][0x0][FIELDS[_0x15f11f]]||_0x177eaf[_0x8974('0x23')][0x0]['\ufeff'+FIELDS[_0x15f11f]];}}if(!_0xe53d7c[_0x8974('0x24')]){return _0x1cd907(handleCheckRowError(_0x8974('0x17'),'firstName\x20not\x20specified!',null,_0x552b9f));}if(!_0xe53d7c[_0x8974('0x25')]){return _0x1cd907(handleCheckRowError(_0x8974('0x17'),_0x8974('0x26'),null,_0x552b9f));}if(_0xe53d7c[_0x8974('0x27')]){var _0x77f975=moment(_0xe53d7c[_0x8974('0x27')],'YYYY-MM-DD');if(!_0x77f975[_0x8974('0x28')]()){return _0x1cd907(handleCheckRowError('error',_0x8974('0x29'),null,_0x552b9f));}}if(_0xe53d7c['email']){if(!isEmail(_0xe53d7c[_0x8974('0x2a')])){return _0x1cd907(handleCheckRowError(_0x8974('0x17'),_0x8974('0x2b'),null,_0x552b9f));}}_0xe53d7c[_0x8974('0x2c')]=LISTID;_0xe53d7c[_0x8974('0x2d')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES['length']&&_0x1556a6){var _0x4925cc={};for(var _0x34f923=0x0,_0x2fe08a=DUPLICATES[_0x8974('0x1e')];_0x34f923<_0x2fe08a;_0x34f923+=0x1){_0x4925cc[DUPLICATES[_0x34f923]]=_0xe53d7c[DUPLICATES[_0x34f923]];}var _0x255e63=_['find'](_0x1556a6,_0x4925cc);if(_0x255e63){return _0x1cd907(handleCheckRowError(_0x8974('0x2e'),'Duplicate\x20Contact',_0x255e63,_0x552b9f));}}return db[_0x8974('0x2f')]['create'](_0xe53d7c,{'raw':!![],'hooks':![],'fields':_[_0x8974('0x30')](_0xe53d7c)})[_0x8974('0x31')](function(_0x809c4e){if(DUPLICATES&&DUPLICATES[_0x8974('0x1e')]&&_0x1556a6){_0x1556a6[_0x8974('0x32')](_[_0x8974('0x33')](_0xe53d7c,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x809c4e['id'];return _0x16f311();})[_0x8974('0x34')](function(_0x5561e1){return _0x1cd907(handleCheckRowError(_0x8974('0x17'),_0x8974('0x35')+(_0x5561e1[_0x8974('0x20')]||JSON[_0x8974('0x36')](_0x5561e1)),null,_0x552b9f));});});}function checkHopper(){function _0x3ac3ff(){return function(_0x2c4d43){logger['error']('cmContact',_0x8974('0x37'),util[_0x8974('0x38')](_0x2c4d43,{'showHidden':![],'depth':null}));};}var _0x552cbd=function(_0x43e40a,_0x5a3903){var _0x132f4e=squel[_0x8974('0x39')]()['into'](_0x8974('0x3a'))[_0x8974('0x3b')]([_0x8974('0x25'),_0x8974('0x3c'),_0x8974('0x3d'),_0x8974('0x2c'),_0x5a3903,_0x8974('0x3e'),_0x8974('0x3f')],squel[_0x8974('0x40')]()[_0x8974('0x41')](_0x8974('0x25'),_0x8974('0x25'))[_0x8974('0x41')](_0x8974('0x42'),_0x8974('0x3c'))[_0x8974('0x41')]('id',_0x8974('0x3d'))[_0x8974('0x41')](LISTID[_0x8974('0x43')](),_0x8974('0x2c'))[_0x8974('0x41')](_0x43e40a['id'][_0x8974('0x43')](),_0x5a3903)[_0x8974('0x41')](_0x8974('0x42'),'createdAt')[_0x8974('0x41')](_0x8974('0x42'),_0x8974('0x3f'))[_0x8974('0x44')](_0x8974('0x45'))[_0x8974('0x46')]('deletedAt\x20IS\x20NULL')[_0x8974('0x46')](_0x8974('0x47'),LISTID['toString']())[_0x8974('0x46')]('phone\x20IS\x20NOT\x20NULL')[_0x8974('0x46')]('phone\x20NOT\x20IN\x20(?)',squel[_0x8974('0x40')]()[_0x8974('0x41')](_0x8974('0x25'))[_0x8974('0x44')]('cm_hopper')[_0x8974('0x46')](_0x5a3903+_0x8974('0x48'),_0x43e40a['id']['toString']())))[_0x8974('0x43')]();return _0x132f4e;};var _0x3864ae=function(_0x52b2f7,_0x1d5053){var _0x494bd=squel[_0x8974('0x39')]()[_0x8974('0x49')](_0x8974('0x3a'))[_0x8974('0x3b')](['phone',_0x8974('0x3c'),_0x8974('0x3d'),_0x8974('0x2c'),_0x1d5053,_0x8974('0x3e'),_0x8974('0x3f')],squel[_0x8974('0x40')]()[_0x8974('0x41')](_0x8974('0x25'),_0x8974('0x25'))[_0x8974('0x41')](_0x8974('0x42'),_0x8974('0x3c'))[_0x8974('0x41')]('id',_0x8974('0x3d'))[_0x8974('0x41')](LISTID[_0x8974('0x43')](),_0x8974('0x2c'))['field'](_0x52b2f7['id']['toString'](),_0x1d5053)[_0x8974('0x41')](_0x8974('0x42'),_0x8974('0x3e'))['field']('NOW()',_0x8974('0x3f'))[_0x8974('0x44')](_0x8974('0x45'))[_0x8974('0x46')](_0x8974('0x4a'))['where']('ListId\x20=\x20?',LISTID[_0x8974('0x43')]())[_0x8974('0x46')](_0x8974('0x4b'),squel[_0x8974('0x4c')](hopperContacts))[_0x8974('0x46')]('phone\x20IS\x20NOT\x20NULL')[_0x8974('0x46')](_0x8974('0x4d'),squel[_0x8974('0x40')]()[_0x8974('0x41')](_0x8974('0x4e'))[_0x8974('0x44')]('cm_hopper_final')[_0x8974('0x46')](_0x1d5053+_0x8974('0x48'),_0x52b2f7['id'][_0x8974('0x43')]()))[_0x8974('0x46')](_0x8974('0x4d'),squel[_0x8974('0x40')]()['field'](_0x8974('0x25'))[_0x8974('0x44')](_0x8974('0x3a'))['where'](_0x1d5053+_0x8974('0x48'),_0x52b2f7['id'][_0x8974('0x43')]())))['toString']();return _0x494bd;};function _0x5abde4(_0x324372,_0xd80177){var _0x230069=squel[_0x8974('0x39')]()['into'](_0x8974('0x3a'))[_0x8974('0x3b')]([_0x8974('0x25'),_0x8974('0x3c'),_0x8974('0x3d'),'ListId',_0xd80177,_0x8974('0x3e'),'updatedAt'],squel[_0x8974('0x40')]()[_0x8974('0x41')](_0x8974('0x25'),_0x8974('0x25'))[_0x8974('0x41')]('NOW()',_0x8974('0x3c'))[_0x8974('0x41')]('id',_0x8974('0x3d'))[_0x8974('0x41')](LISTID[_0x8974('0x43')](),_0x8974('0x2c'))[_0x8974('0x41')](_0x324372['id'][_0x8974('0x43')](),_0xd80177)[_0x8974('0x41')](_0x8974('0x42'),'createdAt')[_0x8974('0x41')]('NOW()',_0x8974('0x3f'))[_0x8974('0x44')](_0x8974('0x45'))[_0x8974('0x46')]('deletedAt\x20IS\x20NULL')[_0x8974('0x46')](_0x8974('0x47'),LISTID['toString']())[_0x8974('0x46')](_0x8974('0x4b'),squel[_0x8974('0x4c')](hopperContacts))[_0x8974('0x46')](_0x8974('0x4f')))[_0x8974('0x43')]();return _0x230069;}function _0x11cddf(_0x247251,_0x1bc849){var _0xeb9f8d=squel[_0x8974('0x39')]()[_0x8974('0x49')](_0x8974('0x50'))[_0x8974('0x3b')]([_0x8974('0x25'),_0x8974('0x3d'),_0x8974('0x2c'),_0x1bc849,_0x8974('0x3e'),_0x8974('0x3f')],squel['select']()[_0x8974('0x41')](_0x8974('0x25'),_0x8974('0x25'))[_0x8974('0x41')]('id','ContactId')['field'](LISTID[_0x8974('0x43')](),_0x8974('0x2c'))[_0x8974('0x41')](_0x247251['id'][_0x8974('0x43')](),_0x1bc849)[_0x8974('0x41')](_0x8974('0x42'),'createdAt')[_0x8974('0x41')]('NOW()',_0x8974('0x3f'))['from']('cm_contacts')['where'](_0x8974('0x4a'))[_0x8974('0x46')](_0x8974('0x47'),LISTID['toString']())[_0x8974('0x46')](_0x8974('0x4b'),squel[_0x8974('0x4c')](hopperContacts))[_0x8974('0x46')]('phone\x20IS\x20NOT\x20NULL'))[_0x8974('0x43')]();return _0xeb9f8d;}return db['VoiceQueue'][_0x8974('0x51')]({'where':{'type':_0x8974('0x52')},'attributes':['id',_0x8974('0x53')],'include':[{'model':db[_0x8974('0x54')],'as':_0x8974('0x55'),'where':{'id':LISTID}}]})[_0x8974('0x31')](function(_0x17e19e){var _0x408d1a=[];if(_0x17e19e){var _0x176cd7;for(var _0x5618b6=0x0,_0x27e276;_0x5618b6<_0x17e19e[_0x8974('0x1e')];_0x5618b6+=0x1){_0x27e276=_0x17e19e[_0x5618b6][_0x8974('0x56')]({'plain':!![]});switch(_0x27e276['dialCheckDuplicateType']){case'always':_0x408d1a[_0x8974('0x32')](db[_0x8974('0x57')][_0x8974('0x58')](_0x3864ae(_0x27e276,_0x8974('0x59')))[_0x8974('0x31')](function(){})[_0x8974('0x34')](_0x3ac3ff()));break;case _0x8974('0x5a'):_0x408d1a[_0x8974('0x32')](db[_0x8974('0x57')][_0x8974('0x58')](_0x552cbd(_0x27e276,_0x8974('0x59')))[_0x8974('0x31')](function(){})['catch'](_0x3ac3ff()));break;default:_0x408d1a[_0x8974('0x32')](db[_0x8974('0x57')]['query'](_0x5abde4(_0x27e276,_0x8974('0x59')))[_0x8974('0x31')](function(){})[_0x8974('0x34')](_0x3ac3ff()));}}}return _0x408d1a;})['all']()[_0x8974('0x31')](function(){return db[_0x8974('0x5b')]['findAll']({'where':{'type':'outbound'},'attributes':['id'],'include':[{'model':db['CmList'],'as':_0x8974('0x5c'),'where':{'id':LISTID}}]})[_0x8974('0x31')](function(_0x5ae946){var _0x35b361=[];if(_0x5ae946){var _0x494b71;for(var _0x486d93=0x0,_0x2f1ed0;_0x486d93<_0x5ae946['length'];_0x486d93+=0x1){_0x2f1ed0=_0x5ae946[_0x486d93]['get']({'plain':!![]});_0x35b361[_0x8974('0x32')](db[_0x8974('0x57')]['query'](_0x11cddf(_0x2f1ed0,_0x8974('0x59')))[_0x8974('0x31')](function(){})['catch'](_0x3ac3ff()));}}return _0x35b361;})[_0x8974('0x5d')]();})[_0x8974('0x31')](function(){return db['Campaign'][_0x8974('0x51')]({'attributes':['id',_0x8974('0x53')],'include':[{'model':db[_0x8974('0x54')],'as':_0x8974('0x55'),'where':{'id':LISTID}}]})[_0x8974('0x31')](function(_0xce7f88){var _0x455aff=[];if(_0xce7f88){for(var _0xf9cd42=0x0,_0xa8d7bf;_0xf9cd42<_0xce7f88[_0x8974('0x1e')];_0xf9cd42+=0x1){_0xa8d7bf=_0xce7f88[_0xf9cd42][_0x8974('0x56')]({'plain':!![]});switch(_0xa8d7bf[_0x8974('0x53')]){case _0x8974('0x5e'):_0x455aff[_0x8974('0x32')](db[_0x8974('0x57')]['query'](_0x3864ae(_0xa8d7bf,_0x8974('0x5f')))['then'](function(){})[_0x8974('0x34')](_0x3ac3ff()));break;case _0x8974('0x5a'):_0x455aff[_0x8974('0x32')](db['sequelize'][_0x8974('0x58')](_0x552cbd(_0xa8d7bf,_0x8974('0x5f')))['then'](function(){})[_0x8974('0x34')](_0x3ac3ff()));break;default:_0x455aff[_0x8974('0x32')](db['sequelize'][_0x8974('0x58')](_0x5abde4(_0xa8d7bf,'CampaignId'))[_0x8974('0x31')](function(){})[_0x8974('0x34')](_0x3ac3ff()));}}}return _0x455aff;})['all']();})[_0x8974('0x31')](function(){return db['Campaign'][_0x8974('0x51')]({'attributes':['id'],'include':[{'model':db[_0x8974('0x54')],'as':_0x8974('0x5c'),'where':{'id':LISTID}}]})[_0x8974('0x31')](function(_0xff1fb4){var _0x4f925c=[];if(_0xff1fb4){for(var _0x1557cc=0x0,_0x5b0b03;_0x1557cc<_0xff1fb4[_0x8974('0x1e')];_0x1557cc+=0x1){_0x5b0b03=_0xff1fb4[_0x1557cc][_0x8974('0x56')]({'plain':!![]});_0x4f925c[_0x8974('0x32')](db[_0x8974('0x57')][_0x8974('0x58')](_0x11cddf(_0x5b0b03,_0x8974('0x5f')))[_0x8974('0x31')](function(){})[_0x8974('0x34')](_0x3ac3ff()));}}return _0x4f925c;})[_0x8974('0x5d')]();})[_0x8974('0x34')](function(_0x11387f){logger[_0x8974('0x17')](_0x8974('0x60'),'generalCheckHopper',_0x11387f[_0x8974('0x20')]);});}var processPromises=function(_0x37e81b){return BPromise[_0x8974('0x5d')](promises)[_0x8974('0x31')](function(_0x559836){})['catch'](function(_0x22325c){logger[_0x8974('0x17')]('Error\x20processing\x20rows\x20block:',JSON[_0x8974('0x36')](_0x22325c));})[_0x8974('0x61')](function(){socket[_0x8974('0x62')](_0x8974('0x63')+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x37e81b){return _0x37e81b[_0x8974('0x64')]();}});};var endCsv=function(){return BPromise['resolve']()[_0x8974('0x31')](function(){if(hopperContacts){return checkHopper();}})[_0x8974('0x31')](function(){socket[_0x8974('0x62')](_0x8974('0x63')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0x8974('0x65')](FILEPATH);}catch(_0x59d01e){logger[_0x8974('0x17')](_0x8974('0x66'),JSON['stringify'](_0x59d01e));}finally{process[_0x8974('0x67')](0x0);}});};process['on'](_0x8974('0x68'),function(){logger[_0x8974('0x69')]('CSV\x20import\x20process\x20stopped!');endCsv();});function main(){return BPromise[_0x8974('0x6a')]()[_0x8974('0x31')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES[_0x8974('0x14')](',');return db['CmContact'][_0x8974('0x51')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0x8974('0x31')](function(_0x40025d){var _0x505acb=fs[_0x8974('0x6b')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0x8974('0x6c')](_0x505acb,{'header':!![],'skipEmptyLines':!![],'step':function(_0x176915,_0x5cc9b3){total+=0x1;var _0x551f3e=total;promises[_0x8974('0x32')](checkRow(_0x176915,_0x40025d,_0x551f3e)['then'](function(){success+=0x1;})[_0x8974('0x34')](function(_0x14e236){if(_0x14e236[_0x8974('0x17')]){errors+=0x1;delete _0x14e236[_0x8974('0x17')];}else if(_0x14e236[_0x8974('0x2e')]){duplicates+=0x1;delete _0x14e236['duplicate'];}rows[_0x8974('0x32')](_0x14e236);}));if(total%0xc8===0x0){_0x5cc9b3[_0x8974('0x6d')]();return processPromises(_0x5cc9b3);}},'complete':function(){return processPromises()[_0x8974('0x31')](function(){logger[_0x8974('0x69')](_0x8974('0x6e'));endCsv();});},'error':function(_0x4b65f8,_0x3bc632){logger[_0x8974('0x69')](_0x8974('0x6f'),JSON[_0x8974('0x36')](_0x4b65f8));endCsv();}});})[_0x8974('0x34')](function(_0x2be194){logger[_0x8974('0x17')]('Error\x20executing\x20contact\x20csv\x20import:',JSON[_0x8974('0x36')](_0x2be194));});}main();