05547cc14747da4e10e123bf2e49c7f5b84d84fe
[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 _0x453e=['../../../api/cmContact/cmContact.socket','register','undefined','argv','null','Missing\x20binding\x20parameters!','split','Missing\x20ListId\x20parameter!','Missing\x20socket_timestamp\x20parameter!','contact','index','test','isNil','error','The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!','errors','join','data','firstName','firstName\x20not\x20specified!','phone','phone\x20not\x20specified!','birthDate','isValid','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!','email','email\x20format\x20is\x20not\x20valid!','ListId','CompanyId','length','Duplicate\x20Contact','CmContact','create','keys','then','push','pick','catch','Error\x20while\x20creating\x20contact:\x20','message','cmContact','checkHopper','into','cm_hopper','fromQuery','scheduledAt','createdAt','updatedAt','select','field','NOW()','ContactId','toString','cm_contacts','where','deletedAt\x20IS\x20NULL','phone\x20IS\x20NOT\x20NULL','phone\x20NOT\x20IN\x20(?)','from','\x20=\x20?','insert','id\x20IN\x20?','str','cm_hopper_final','cm_hopper_black','ListId\x20=\x20?','VoiceQueue','findAll','outbound','dialCheckDuplicateType','Lists','get','always','sequelize','query','VoiceQueueId','onlyIfOpen','all','CmList','Campaign','CampaignId','BlackLists','cmContact,\x20%s,\x20%s','generalCheckHopper','Error\x20processing\x20rows\x20block:','finally','emit','resume','resolve','contact:csv_','unlinkSync','Unable\x20to\x20delete\x20temp\x20file:','stringify','exit','SIGINT','info','CSV\x20import\x20process\x20stopped!','createReadStream','duplicate','pause','CSV\x20parse\x20error','bluebird','util','lodash','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','api','redis','localhost','socket.io-emitter'];(function(_0x8fcc13,_0x26985e){var _0x5f0657=function(_0x1743ba){while(--_0x1743ba){_0x8fcc13['push'](_0x8fcc13['shift']());}};_0x5f0657(++_0x26985e);}(_0x453e,0xd5));var _0xe453=function(_0x3dca5f,_0x3bf609){_0x3dca5f=_0x3dca5f-0x0;var _0x2ad290=_0x453e[_0x3dca5f];return _0x2ad290;};'use strict';var BPromise=require(_0xe453('0x0'));var util=require(_0xe453('0x1'));var _=require(_0xe453('0x2'));var fs=require('fs');var squel=require('squel');var Papa=require('papaparse');var Redis=require(_0xe453('0x3'));var db=require(_0xe453('0x4'))['db'];var config=require(_0xe453('0x5'));var logger=require(_0xe453('0x6'))(_0xe453('0x7'));config['redis']=_['defaults'](config[_0xe453('0x8')],{'host':_0xe453('0x9'),'port':0x18eb});var socket=require(_0xe453('0xa'))(new Redis(config['redis']));require(_0xe453('0xb'))[_0xe453('0xc')](socket);try{if(!process['argv'][0x2]||process['argv'][0x2]===_0xe453('0xd')||process[_0xe453('0xe')][0x2]===_0xe453('0xf')){throw new Error('Missing\x20filepath\x20parameter!');}var FILEPATH=process[_0xe453('0xe')][0x2];if(!process[_0xe453('0xe')][0x3]||process[_0xe453('0xe')][0x3]===_0xe453('0xd')||process[_0xe453('0xe')][0x3]===_0xe453('0xf')||!process['argv'][0x4]||process[_0xe453('0xe')][0x4]===_0xe453('0xd')||process[_0xe453('0xe')][0x4]===_0xe453('0xf')){throw new Error(_0xe453('0x10'));}var FIELDS=_['zipObject'](process[_0xe453('0xe')][0x3][_0xe453('0x11')](','),process[_0xe453('0xe')][0x4]['split'](','));if(!process[_0xe453('0xe')][0x5]||process[_0xe453('0xe')][0x5]===_0xe453('0xd')||process[_0xe453('0xe')][0x5]===_0xe453('0xf')){throw new Error(_0xe453('0x12'));}var LISTID=process[_0xe453('0xe')][0x5];var COMPANYID=process[_0xe453('0xe')][0x6]&&process[_0xe453('0xe')][0x6]!==_0xe453('0xd')&&process[_0xe453('0xe')][0x6]!==_0xe453('0xf')?process[_0xe453('0xe')][0x6]:null;var DUPLICATES=process[_0xe453('0xe')][0x7]&&process['argv'][0x7]!=='undefined'&&process[_0xe453('0xe')][0x7]!=='null'?process[_0xe453('0xe')][0x7]:null;if(!process['argv'][0x8]||process['argv'][0x8]===_0xe453('0xd')||process[_0xe453('0xe')][0x8]===_0xe453('0xf')){throw new Error(_0xe453('0x13'));}var SOCKET_TIMESTAMP=process['argv'][0x8];}catch(_0x5481e6){logger['error'](_0x5481e6);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(_0x158839,_0x1e9ef2,_0x501777,_0x173804){var _0x56ebdd={'message':_0x1e9ef2};_0x56ebdd[_0x158839]=!![];if(_0x501777){_0x56ebdd[_0xe453('0x14')]=_0x501777;}if(_0x173804){_0x56ebdd[_0xe453('0x15')]=_0x173804;}return _0x56ebdd;}function isEmail(_0x5226ee){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))*$/[_0xe453('0x16')](_0x5226ee);}function checkRow(_0x5603a6,_0x1a8089,_0x1a2374){return new BPromise(function(_0x473acf,_0x1a8c3f){if(_[_0xe453('0x17')](_0x5603a6)){return _0x1a8c3f(handleCheckRowError(_0xe453('0x18'),_0xe453('0x19'),null,_0x1a2374));}if(_0x5603a6[_0xe453('0x1a')]&&_0x5603a6[_0xe453('0x1a')]['length']){var _0x4de51a=_['map'](_0x5603a6[_0xe453('0x1a')],'message')[_0xe453('0x1b')](';');return _0x1a8c3f(handleCheckRowError('error',_0x4de51a,null,_0x1a2374));}var _0x57a1c0={};for(var _0x53d668 in FIELDS){if(FIELDS['hasOwnProperty'](_0x53d668)&&FIELDS[_0x53d668]){_0x57a1c0[_0x53d668]=_0x5603a6[_0xe453('0x1c')][0x0][FIELDS[_0x53d668]]||_0x5603a6[_0xe453('0x1c')][0x0]['\ufeff'+FIELDS[_0x53d668]];}}if(!_0x57a1c0[_0xe453('0x1d')]){return _0x1a8c3f(handleCheckRowError(_0xe453('0x18'),_0xe453('0x1e'),null,_0x1a2374));}if(!_0x57a1c0[_0xe453('0x1f')]){return _0x1a8c3f(handleCheckRowError(_0xe453('0x18'),_0xe453('0x20'),null,_0x1a2374));}if(_0x57a1c0[_0xe453('0x21')]){var _0x4d91e9=moment(_0x57a1c0[_0xe453('0x21')],'YYYY-MM-DD');if(!_0x4d91e9[_0xe453('0x22')]()){return _0x1a8c3f(handleCheckRowError('error',_0xe453('0x23'),null,_0x1a2374));}}if(_0x57a1c0[_0xe453('0x24')]){if(!isEmail(_0x57a1c0[_0xe453('0x24')])){return _0x1a8c3f(handleCheckRowError(_0xe453('0x18'),_0xe453('0x25'),null,_0x1a2374));}}_0x57a1c0[_0xe453('0x26')]=LISTID;_0x57a1c0[_0xe453('0x27')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES[_0xe453('0x28')]&&_0x1a8089){var _0x13f4ae={};for(var _0x3a2b40=0x0,_0x546076=DUPLICATES[_0xe453('0x28')];_0x3a2b40<_0x546076;_0x3a2b40+=0x1){_0x13f4ae[DUPLICATES[_0x3a2b40]]=_0x57a1c0[DUPLICATES[_0x3a2b40]];}var _0x1895ed=_['find'](_0x1a8089,_0x13f4ae);if(_0x1895ed){return _0x1a8c3f(handleCheckRowError('duplicate',_0xe453('0x29'),_0x1895ed,_0x1a2374));}}return db[_0xe453('0x2a')][_0xe453('0x2b')](_0x57a1c0,{'raw':!![],'hooks':![],'fields':_[_0xe453('0x2c')](_0x57a1c0)})[_0xe453('0x2d')](function(_0x219d92){if(DUPLICATES&&DUPLICATES['length']&&_0x1a8089){_0x1a8089[_0xe453('0x2e')](_[_0xe453('0x2f')](_0x57a1c0,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x219d92['id'];return _0x473acf();})[_0xe453('0x30')](function(_0x2f74af){return _0x1a8c3f(handleCheckRowError(_0xe453('0x18'),_0xe453('0x31')+(_0x2f74af[_0xe453('0x32')]||JSON['stringify'](_0x2f74af)),null,_0x1a2374));});});}function checkHopper(){function _0x40a2e5(){return function(_0x20accc){logger[_0xe453('0x18')](_0xe453('0x33'),_0xe453('0x34'),util['inspect'](_0x20accc,{'showHidden':![],'depth':null}));};}var _0x36904c=function(_0x3127be,_0x523a30){var _0x56d32a=squel['insert']()[_0xe453('0x35')](_0xe453('0x36'))[_0xe453('0x37')]([_0xe453('0x1f'),_0xe453('0x38'),'ContactId',_0xe453('0x26'),_0x523a30,_0xe453('0x39'),_0xe453('0x3a')],squel[_0xe453('0x3b')]()[_0xe453('0x3c')](_0xe453('0x1f'),_0xe453('0x1f'))[_0xe453('0x3c')](_0xe453('0x3d'),'scheduledAt')[_0xe453('0x3c')]('id',_0xe453('0x3e'))[_0xe453('0x3c')](LISTID['toString'](),_0xe453('0x26'))[_0xe453('0x3c')](_0x3127be['id'][_0xe453('0x3f')](),_0x523a30)[_0xe453('0x3c')](_0xe453('0x3d'),'createdAt')[_0xe453('0x3c')](_0xe453('0x3d'),'updatedAt')['from'](_0xe453('0x40'))[_0xe453('0x41')](_0xe453('0x42'))[_0xe453('0x41')]('ListId\x20=\x20?',LISTID['toString']())[_0xe453('0x41')](_0xe453('0x43'))[_0xe453('0x41')](_0xe453('0x44'),squel[_0xe453('0x3b')]()[_0xe453('0x3c')]('phone')[_0xe453('0x45')](_0xe453('0x36'))[_0xe453('0x41')](_0x523a30+_0xe453('0x46'),_0x3127be['id'][_0xe453('0x3f')]())))[_0xe453('0x3f')]();return _0x56d32a;};var _0x119849=function(_0x5054f9,_0x213e83){var _0x3d83bd=squel[_0xe453('0x47')]()[_0xe453('0x35')](_0xe453('0x36'))[_0xe453('0x37')](['phone',_0xe453('0x38'),_0xe453('0x3e'),_0xe453('0x26'),_0x213e83,_0xe453('0x39'),_0xe453('0x3a')],squel['select']()[_0xe453('0x3c')](_0xe453('0x1f'),_0xe453('0x1f'))[_0xe453('0x3c')](_0xe453('0x3d'),_0xe453('0x38'))[_0xe453('0x3c')]('id','ContactId')[_0xe453('0x3c')](LISTID[_0xe453('0x3f')](),_0xe453('0x26'))[_0xe453('0x3c')](_0x5054f9['id']['toString'](),_0x213e83)['field'](_0xe453('0x3d'),_0xe453('0x39'))[_0xe453('0x3c')](_0xe453('0x3d'),_0xe453('0x3a'))[_0xe453('0x45')]('cm_contacts')[_0xe453('0x41')](_0xe453('0x42'))[_0xe453('0x41')]('ListId\x20=\x20?',LISTID[_0xe453('0x3f')]())[_0xe453('0x41')](_0xe453('0x48'),squel[_0xe453('0x49')](hopperContacts))[_0xe453('0x41')](_0xe453('0x43'))[_0xe453('0x41')](_0xe453('0x44'),squel[_0xe453('0x3b')]()['field']('calleridnum')['from'](_0xe453('0x4a'))[_0xe453('0x41')](_0x213e83+'\x20=\x20?',_0x5054f9['id'][_0xe453('0x3f')]()))[_0xe453('0x41')](_0xe453('0x44'),squel[_0xe453('0x3b')]()[_0xe453('0x3c')](_0xe453('0x1f'))[_0xe453('0x45')](_0xe453('0x36'))[_0xe453('0x41')](_0x213e83+_0xe453('0x46'),_0x5054f9['id'][_0xe453('0x3f')]())))[_0xe453('0x3f')]();return _0x3d83bd;};function _0x1ebd96(_0xc42d8e,_0x39aa55){var _0x393af6=squel['insert']()[_0xe453('0x35')](_0xe453('0x36'))[_0xe453('0x37')]([_0xe453('0x1f'),_0xe453('0x38'),_0xe453('0x3e'),'ListId',_0x39aa55,_0xe453('0x39'),_0xe453('0x3a')],squel['select']()[_0xe453('0x3c')](_0xe453('0x1f'),_0xe453('0x1f'))[_0xe453('0x3c')](_0xe453('0x3d'),_0xe453('0x38'))[_0xe453('0x3c')]('id',_0xe453('0x3e'))[_0xe453('0x3c')](LISTID['toString'](),_0xe453('0x26'))[_0xe453('0x3c')](_0xc42d8e['id']['toString'](),_0x39aa55)[_0xe453('0x3c')](_0xe453('0x3d'),_0xe453('0x39'))[_0xe453('0x3c')](_0xe453('0x3d'),'updatedAt')['from'](_0xe453('0x40'))[_0xe453('0x41')](_0xe453('0x42'))[_0xe453('0x41')]('ListId\x20=\x20?',LISTID[_0xe453('0x3f')]())['where'](_0xe453('0x48'),squel[_0xe453('0x49')](hopperContacts))[_0xe453('0x41')](_0xe453('0x43')))[_0xe453('0x3f')]();return _0x393af6;}function _0x1c90c7(_0x172a90,_0x5726a6){var _0x2c9854=squel['insert']()[_0xe453('0x35')](_0xe453('0x4b'))['fromQuery']([_0xe453('0x1f'),_0xe453('0x3e'),_0xe453('0x26'),_0x5726a6,_0xe453('0x39'),_0xe453('0x3a')],squel['select']()[_0xe453('0x3c')](_0xe453('0x1f'),_0xe453('0x1f'))['field']('id',_0xe453('0x3e'))[_0xe453('0x3c')](LISTID[_0xe453('0x3f')](),'ListId')[_0xe453('0x3c')](_0x172a90['id']['toString'](),_0x5726a6)['field'](_0xe453('0x3d'),_0xe453('0x39'))[_0xe453('0x3c')](_0xe453('0x3d'),_0xe453('0x3a'))[_0xe453('0x45')](_0xe453('0x40'))[_0xe453('0x41')](_0xe453('0x42'))[_0xe453('0x41')](_0xe453('0x4c'),LISTID[_0xe453('0x3f')]())[_0xe453('0x41')](_0xe453('0x48'),squel[_0xe453('0x49')](hopperContacts))[_0xe453('0x41')]('phone\x20IS\x20NOT\x20NULL'))[_0xe453('0x3f')]();return _0x2c9854;}return db[_0xe453('0x4d')][_0xe453('0x4e')]({'where':{'type':_0xe453('0x4f')},'attributes':['id',_0xe453('0x50')],'include':[{'model':db['CmList'],'as':_0xe453('0x51'),'where':{'id':LISTID}}]})[_0xe453('0x2d')](function(_0x3959f5){var _0x173b53=[];if(_0x3959f5){var _0x5ce4ae;for(var _0x356106=0x0,_0x5cc367;_0x356106<_0x3959f5[_0xe453('0x28')];_0x356106+=0x1){_0x5cc367=_0x3959f5[_0x356106][_0xe453('0x52')]({'plain':!![]});switch(_0x5cc367[_0xe453('0x50')]){case _0xe453('0x53'):_0x173b53[_0xe453('0x2e')](db[_0xe453('0x54')][_0xe453('0x55')](_0x119849(_0x5cc367,_0xe453('0x56')))[_0xe453('0x2d')](function(){})[_0xe453('0x30')](_0x40a2e5()));break;case _0xe453('0x57'):_0x173b53[_0xe453('0x2e')](db['sequelize'][_0xe453('0x55')](_0x36904c(_0x5cc367,_0xe453('0x56')))[_0xe453('0x2d')](function(){})[_0xe453('0x30')](_0x40a2e5()));break;default:_0x173b53[_0xe453('0x2e')](db[_0xe453('0x54')][_0xe453('0x55')](_0x1ebd96(_0x5cc367,'VoiceQueueId'))[_0xe453('0x2d')](function(){})[_0xe453('0x30')](_0x40a2e5()));}}}return _0x173b53;})[_0xe453('0x58')]()[_0xe453('0x2d')](function(){return db[_0xe453('0x4d')]['findAll']({'where':{'type':_0xe453('0x4f')},'attributes':['id'],'include':[{'model':db[_0xe453('0x59')],'as':'BlackLists','where':{'id':LISTID}}]})[_0xe453('0x2d')](function(_0x203119){var _0x10f6f1=[];if(_0x203119){var _0x5a4751;for(var _0x458fca=0x0,_0x12cc92;_0x458fca<_0x203119[_0xe453('0x28')];_0x458fca+=0x1){_0x12cc92=_0x203119[_0x458fca]['get']({'plain':!![]});_0x10f6f1['push'](db[_0xe453('0x54')]['query'](_0x1c90c7(_0x12cc92,_0xe453('0x56')))[_0xe453('0x2d')](function(){})[_0xe453('0x30')](_0x40a2e5()));}}return _0x10f6f1;})['all']();})[_0xe453('0x2d')](function(){return db[_0xe453('0x5a')]['findAll']({'attributes':['id',_0xe453('0x50')],'include':[{'model':db[_0xe453('0x59')],'as':_0xe453('0x51'),'where':{'id':LISTID}}]})[_0xe453('0x2d')](function(_0x3d1692){var _0x5d947f=[];if(_0x3d1692){for(var _0x34ccfe=0x0,_0x22bf80;_0x34ccfe<_0x3d1692[_0xe453('0x28')];_0x34ccfe+=0x1){_0x22bf80=_0x3d1692[_0x34ccfe]['get']({'plain':!![]});switch(_0x22bf80[_0xe453('0x50')]){case _0xe453('0x53'):_0x5d947f[_0xe453('0x2e')](db[_0xe453('0x54')][_0xe453('0x55')](_0x119849(_0x22bf80,'CampaignId'))[_0xe453('0x2d')](function(){})[_0xe453('0x30')](_0x40a2e5()));break;case _0xe453('0x57'):_0x5d947f['push'](db[_0xe453('0x54')]['query'](_0x36904c(_0x22bf80,_0xe453('0x5b')))['then'](function(){})[_0xe453('0x30')](_0x40a2e5()));break;default:_0x5d947f[_0xe453('0x2e')](db['sequelize']['query'](_0x1ebd96(_0x22bf80,_0xe453('0x5b')))[_0xe453('0x2d')](function(){})[_0xe453('0x30')](_0x40a2e5()));}}}return _0x5d947f;})[_0xe453('0x58')]();})[_0xe453('0x2d')](function(){return db['Campaign'][_0xe453('0x4e')]({'attributes':['id'],'include':[{'model':db[_0xe453('0x59')],'as':_0xe453('0x5c'),'where':{'id':LISTID}}]})[_0xe453('0x2d')](function(_0x2b4c75){var _0x268a57=[];if(_0x2b4c75){for(var _0x5329d4=0x0,_0x31c4db;_0x5329d4<_0x2b4c75[_0xe453('0x28')];_0x5329d4+=0x1){_0x31c4db=_0x2b4c75[_0x5329d4][_0xe453('0x52')]({'plain':!![]});_0x268a57[_0xe453('0x2e')](db[_0xe453('0x54')]['query'](_0x1c90c7(_0x31c4db,'CampaignId'))[_0xe453('0x2d')](function(){})[_0xe453('0x30')](_0x40a2e5()));}}return _0x268a57;})[_0xe453('0x58')]();})['catch'](function(_0x461576){logger[_0xe453('0x18')](_0xe453('0x5d'),_0xe453('0x5e'),_0x461576[_0xe453('0x32')]);});}var processPromises=function(_0x136556){return BPromise[_0xe453('0x58')](promises)['then'](function(_0x3c4f1f){})[_0xe453('0x30')](function(_0x2bd081){logger[_0xe453('0x18')](_0xe453('0x5f'),JSON['stringify'](_0x2bd081));})[_0xe453('0x60')](function(){socket[_0xe453('0x61')]('contact:csv_'+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x136556){return _0x136556[_0xe453('0x62')]();}});};var endCsv=function(){return BPromise[_0xe453('0x63')]()[_0xe453('0x2d')](function(){if(hopperContacts){return checkHopper();}})[_0xe453('0x2d')](function(){socket[_0xe453('0x61')](_0xe453('0x64')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0xe453('0x65')](FILEPATH);}catch(_0x340ccb){logger[_0xe453('0x18')](_0xe453('0x66'),JSON[_0xe453('0x67')](_0x340ccb));}finally{process[_0xe453('0x68')](0x0);}});};process['on'](_0xe453('0x69'),function(){logger[_0xe453('0x6a')](_0xe453('0x6b'));endCsv();});function main(){return BPromise['resolve']()[_0xe453('0x2d')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES[_0xe453('0x11')](',');return db[_0xe453('0x2a')][_0xe453('0x4e')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})['then'](function(_0x1f6b72){var _0x836d22=fs[_0xe453('0x6c')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa['parse'](_0x836d22,{'header':!![],'skipEmptyLines':!![],'step':function(_0x485373,_0x54408c){total+=0x1;var _0x318664=total;promises[_0xe453('0x2e')](checkRow(_0x485373,_0x1f6b72,_0x318664)['then'](function(){success+=0x1;})['catch'](function(_0xa48a45){if(_0xa48a45[_0xe453('0x18')]){errors+=0x1;delete _0xa48a45[_0xe453('0x18')];}else if(_0xa48a45[_0xe453('0x6d')]){duplicates+=0x1;delete _0xa48a45[_0xe453('0x6d')];}rows[_0xe453('0x2e')](_0xa48a45);}));if(total%0xc8===0x0){_0x54408c[_0xe453('0x6e')]();return processPromises(_0x54408c);}},'complete':function(){return processPromises()[_0xe453('0x2d')](function(){logger[_0xe453('0x6a')]('CSV\x20parsed\x20correctly!');endCsv();});},'error':function(_0x2346ad,_0x1dac3f){logger['info'](_0xe453('0x6f'),JSON[_0xe453('0x67')](_0x2346ad));endCsv();}});})[_0xe453('0x30')](function(_0x202fd0){logger[_0xe453('0x18')]('Error\x20executing\x20contact\x20csv\x20import:',JSON['stringify'](_0x202fd0));});}main();