Built motion from commit (unavailable).|2.3.4
[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 _0xecbe=['id\x20IN\x20?','str','calleridnum','cm_hopper_final','cm_hopper_black','VoiceQueue','outbound','dialCheckDuplicateType','CmList','Lists','then','get','always','push','sequelize','VoiceQueueId','onlyIfOpen','query','catch','all','findAll','BlackLists','Campaign','CampaignId','cmContact,\x20%s,\x20%s','generalCheckHopper','Error\x20processing\x20rows\x20block:','finally','emit','resume','contact:csv_','unlinkSync','exit','info','CSV\x20import\x20process\x20stopped!','resolve','createReadStream','parse','pause','CSV\x20parsed\x20correctly!','CSV\x20parse\x20error','Error\x20executing\x20contact\x20csv\x20import:','bluebird','util','lodash','squel','papaparse','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','redis','defaults','localhost','socket.io-emitter','../../../api/cmContact/cmContact.socket','argv','undefined','null','Missing\x20filepath\x20parameter!','Missing\x20binding\x20parameters!','zipObject','split','Missing\x20ListId\x20parameter!','Missing\x20socket_timestamp\x20parameter!','error','index','test','isNil','The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!','errors','length','map','hasOwnProperty','data','firstName','firstName\x20not\x20specified!','phone','phone\x20not\x20specified!','birthDate','YYYY-MM-DD','isValid','email','email\x20format\x20is\x20not\x20valid!','CompanyId','find','duplicate','Duplicate\x20Contact','CmContact','keys','Error\x20while\x20creating\x20contact:\x20','message','stringify','cmContact','checkHopper','insert','cm_hopper','fromQuery','scheduledAt','ContactId','ListId','createdAt','select','field','toString','NOW()','updatedAt','from','cm_contacts','where','ListId\x20=\x20?','phone\x20IS\x20NOT\x20NULL','phone\x20NOT\x20IN\x20(?)','\x20=\x20?','into','deletedAt\x20IS\x20NULL'];(function(_0x564215,_0x1effd0){var _0x181952=function(_0x2574d2){while(--_0x2574d2){_0x564215['push'](_0x564215['shift']());}};_0x181952(++_0x1effd0);}(_0xecbe,0x9e));var _0xeecb=function(_0x4a7b64,_0x16733c){_0x4a7b64=_0x4a7b64-0x0;var _0x500da6=_0xecbe[_0x4a7b64];return _0x500da6;};'use strict';var BPromise=require(_0xeecb('0x0'));var util=require(_0xeecb('0x1'));var _=require(_0xeecb('0x2'));var fs=require('fs');var squel=require(_0xeecb('0x3'));var Papa=require(_0xeecb('0x4'));var Redis=require(_0xeecb('0x5'));var db=require(_0xeecb('0x6'))['db'];var config=require(_0xeecb('0x7'));var logger=require(_0xeecb('0x8'))('api');config[_0xeecb('0x9')]=_[_0xeecb('0xa')](config[_0xeecb('0x9')],{'host':_0xeecb('0xb'),'port':0x18eb});var socket=require(_0xeecb('0xc'))(new Redis(config[_0xeecb('0x9')]));require(_0xeecb('0xd'))['register'](socket);try{if(!process[_0xeecb('0xe')][0x2]||process[_0xeecb('0xe')][0x2]===_0xeecb('0xf')||process['argv'][0x2]===_0xeecb('0x10')){throw new Error(_0xeecb('0x11'));}var FILEPATH=process['argv'][0x2];if(!process[_0xeecb('0xe')][0x3]||process[_0xeecb('0xe')][0x3]===_0xeecb('0xf')||process[_0xeecb('0xe')][0x3]===_0xeecb('0x10')||!process[_0xeecb('0xe')][0x4]||process[_0xeecb('0xe')][0x4]===_0xeecb('0xf')||process[_0xeecb('0xe')][0x4]==='null'){throw new Error(_0xeecb('0x12'));}var FIELDS=_[_0xeecb('0x13')](process['argv'][0x3][_0xeecb('0x14')](','),process[_0xeecb('0xe')][0x4][_0xeecb('0x14')](','));if(!process[_0xeecb('0xe')][0x5]||process['argv'][0x5]===_0xeecb('0xf')||process[_0xeecb('0xe')][0x5]===_0xeecb('0x10')){throw new Error(_0xeecb('0x15'));}var LISTID=process['argv'][0x5];var COMPANYID=process[_0xeecb('0xe')][0x6]&&process[_0xeecb('0xe')][0x6]!==_0xeecb('0xf')&&process[_0xeecb('0xe')][0x6]!=='null'?process[_0xeecb('0xe')][0x6]:null;var DUPLICATES=process['argv'][0x7]&&process[_0xeecb('0xe')][0x7]!=='undefined'&&process[_0xeecb('0xe')][0x7]!=='null'?process[_0xeecb('0xe')][0x7]:null;if(!process[_0xeecb('0xe')][0x8]||process[_0xeecb('0xe')][0x8]==='undefined'||process[_0xeecb('0xe')][0x8]==='null'){throw new Error(_0xeecb('0x16'));}var SOCKET_TIMESTAMP=process[_0xeecb('0xe')][0x8];}catch(_0x2b0462){logger[_0xeecb('0x17')](_0x2b0462);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(_0x229383,_0x264d84,_0x36980c,_0x26bf20){var _0x4a5fda={'message':_0x264d84};_0x4a5fda[_0x229383]=!![];if(_0x36980c){_0x4a5fda['contact']=_0x36980c;}if(_0x26bf20){_0x4a5fda[_0xeecb('0x18')]=_0x26bf20;}return _0x4a5fda;}function isEmail(_0xb2ec4d){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))*$/[_0xeecb('0x19')](_0xb2ec4d);}function checkRow(_0x379d83,_0x57f921,_0x5b4284){return new BPromise(function(_0x433202,_0x165de8){if(_[_0xeecb('0x1a')](_0x379d83)){return _0x165de8(handleCheckRowError(_0xeecb('0x17'),_0xeecb('0x1b'),null,_0x5b4284));}if(_0x379d83[_0xeecb('0x1c')]&&_0x379d83[_0xeecb('0x1c')][_0xeecb('0x1d')]){var _0x4fb057=_[_0xeecb('0x1e')](_0x379d83[_0xeecb('0x1c')],'message')['join'](';');return _0x165de8(handleCheckRowError(_0xeecb('0x17'),_0x4fb057,null,_0x5b4284));}var _0x106cb3={};for(var _0x39fcbf in FIELDS){if(FIELDS[_0xeecb('0x1f')](_0x39fcbf)&&FIELDS[_0x39fcbf]){_0x106cb3[_0x39fcbf]=_0x379d83[_0xeecb('0x20')][0x0][FIELDS[_0x39fcbf]]||_0x379d83[_0xeecb('0x20')][0x0]['\ufeff'+FIELDS[_0x39fcbf]];}}if(!_0x106cb3[_0xeecb('0x21')]){return _0x165de8(handleCheckRowError(_0xeecb('0x17'),_0xeecb('0x22'),null,_0x5b4284));}if(!_0x106cb3[_0xeecb('0x23')]){return _0x165de8(handleCheckRowError('error',_0xeecb('0x24'),null,_0x5b4284));}if(_0x106cb3[_0xeecb('0x25')]){var _0x2c9e4b=moment(_0x106cb3[_0xeecb('0x25')],_0xeecb('0x26'));if(!_0x2c9e4b[_0xeecb('0x27')]()){return _0x165de8(handleCheckRowError('error','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!',null,_0x5b4284));}}if(_0x106cb3[_0xeecb('0x28')]){if(!isEmail(_0x106cb3[_0xeecb('0x28')])){return _0x165de8(handleCheckRowError(_0xeecb('0x17'),_0xeecb('0x29'),null,_0x5b4284));}}_0x106cb3['ListId']=LISTID;_0x106cb3[_0xeecb('0x2a')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES[_0xeecb('0x1d')]&&_0x57f921){var _0x3e458f={};for(var _0x251113=0x0,_0x4025c2=DUPLICATES[_0xeecb('0x1d')];_0x251113<_0x4025c2;_0x251113+=0x1){_0x3e458f[DUPLICATES[_0x251113]]=_0x106cb3[DUPLICATES[_0x251113]];}var _0x1953e9=_[_0xeecb('0x2b')](_0x57f921,_0x3e458f);if(_0x1953e9){return _0x165de8(handleCheckRowError(_0xeecb('0x2c'),_0xeecb('0x2d'),_0x1953e9,_0x5b4284));}}return db[_0xeecb('0x2e')]['create'](_0x106cb3,{'raw':!![],'hooks':![],'fields':_[_0xeecb('0x2f')](_0x106cb3)})['then'](function(_0x102caf){if(DUPLICATES&&DUPLICATES[_0xeecb('0x1d')]&&_0x57f921){_0x57f921['push'](_['pick'](_0x106cb3,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x102caf['id'];return _0x433202();})['catch'](function(_0x54fcc5){return _0x165de8(handleCheckRowError(_0xeecb('0x17'),_0xeecb('0x30')+(_0x54fcc5[_0xeecb('0x31')]||JSON[_0xeecb('0x32')](_0x54fcc5)),null,_0x5b4284));});});}function checkHopper(){function _0x1ca901(){return function(_0x23b9aa){logger[_0xeecb('0x17')](_0xeecb('0x33'),_0xeecb('0x34'),util['inspect'](_0x23b9aa,{'showHidden':![],'depth':null}));};}var _0x293f30=function(_0x29bd45,_0x14e0d6){var _0x577df1=squel[_0xeecb('0x35')]()['into'](_0xeecb('0x36'))[_0xeecb('0x37')](['phone',_0xeecb('0x38'),_0xeecb('0x39'),_0xeecb('0x3a'),_0x14e0d6,_0xeecb('0x3b'),'updatedAt'],squel[_0xeecb('0x3c')]()[_0xeecb('0x3d')](_0xeecb('0x23'),'phone')[_0xeecb('0x3d')]('NOW()',_0xeecb('0x38'))['field']('id','ContactId')['field'](LISTID[_0xeecb('0x3e')](),_0xeecb('0x3a'))[_0xeecb('0x3d')](_0x29bd45['id'][_0xeecb('0x3e')](),_0x14e0d6)['field']('NOW()','createdAt')[_0xeecb('0x3d')](_0xeecb('0x3f'),_0xeecb('0x40'))[_0xeecb('0x41')](_0xeecb('0x42'))[_0xeecb('0x43')]('deletedAt\x20IS\x20NULL')[_0xeecb('0x43')](_0xeecb('0x44'),LISTID[_0xeecb('0x3e')]())[_0xeecb('0x43')](_0xeecb('0x45'))[_0xeecb('0x43')](_0xeecb('0x46'),squel['select']()[_0xeecb('0x3d')](_0xeecb('0x23'))[_0xeecb('0x41')](_0xeecb('0x36'))['where'](_0x14e0d6+_0xeecb('0x47'),_0x29bd45['id'][_0xeecb('0x3e')]())))[_0xeecb('0x3e')]();return _0x577df1;};var _0x393131=function(_0x300486,_0x106b44){var _0x4220c0=squel[_0xeecb('0x35')]()[_0xeecb('0x48')](_0xeecb('0x36'))[_0xeecb('0x37')]([_0xeecb('0x23'),_0xeecb('0x38'),'ContactId',_0xeecb('0x3a'),_0x106b44,_0xeecb('0x3b'),'updatedAt'],squel['select']()['field'](_0xeecb('0x23'),_0xeecb('0x23'))[_0xeecb('0x3d')](_0xeecb('0x3f'),_0xeecb('0x38'))[_0xeecb('0x3d')]('id',_0xeecb('0x39'))[_0xeecb('0x3d')](LISTID[_0xeecb('0x3e')](),_0xeecb('0x3a'))[_0xeecb('0x3d')](_0x300486['id'][_0xeecb('0x3e')](),_0x106b44)['field'](_0xeecb('0x3f'),_0xeecb('0x3b'))[_0xeecb('0x3d')]('NOW()','updatedAt')['from'](_0xeecb('0x42'))[_0xeecb('0x43')](_0xeecb('0x49'))[_0xeecb('0x43')](_0xeecb('0x44'),LISTID[_0xeecb('0x3e')]())[_0xeecb('0x43')](_0xeecb('0x4a'),squel[_0xeecb('0x4b')](hopperContacts))[_0xeecb('0x43')](_0xeecb('0x45'))[_0xeecb('0x43')](_0xeecb('0x46'),squel['select']()[_0xeecb('0x3d')](_0xeecb('0x4c'))[_0xeecb('0x41')](_0xeecb('0x4d'))[_0xeecb('0x43')](_0x106b44+'\x20=\x20?',_0x300486['id'][_0xeecb('0x3e')]()))['where']('phone\x20NOT\x20IN\x20(?)',squel[_0xeecb('0x3c')]()['field'](_0xeecb('0x23'))[_0xeecb('0x41')](_0xeecb('0x36'))['where'](_0x106b44+_0xeecb('0x47'),_0x300486['id'][_0xeecb('0x3e')]())))[_0xeecb('0x3e')]();return _0x4220c0;};function _0x4e4612(_0x1842b7,_0x3ffeb2){var _0x1e795a=squel[_0xeecb('0x35')]()['into']('cm_hopper')['fromQuery']([_0xeecb('0x23'),_0xeecb('0x38'),_0xeecb('0x39'),_0xeecb('0x3a'),_0x3ffeb2,_0xeecb('0x3b'),_0xeecb('0x40')],squel[_0xeecb('0x3c')]()['field'](_0xeecb('0x23'),_0xeecb('0x23'))[_0xeecb('0x3d')]('NOW()',_0xeecb('0x38'))[_0xeecb('0x3d')]('id',_0xeecb('0x39'))['field'](LISTID[_0xeecb('0x3e')](),_0xeecb('0x3a'))['field'](_0x1842b7['id']['toString'](),_0x3ffeb2)[_0xeecb('0x3d')](_0xeecb('0x3f'),_0xeecb('0x3b'))[_0xeecb('0x3d')](_0xeecb('0x3f'),'updatedAt')[_0xeecb('0x41')](_0xeecb('0x42'))['where'](_0xeecb('0x49'))[_0xeecb('0x43')]('ListId\x20=\x20?',LISTID[_0xeecb('0x3e')]())['where']('id\x20IN\x20?',squel[_0xeecb('0x4b')](hopperContacts))[_0xeecb('0x43')](_0xeecb('0x45')))['toString']();return _0x1e795a;}function _0x2de92e(_0x4d6e54,_0x17f8a3){var _0xd77a71=squel['insert']()[_0xeecb('0x48')](_0xeecb('0x4e'))[_0xeecb('0x37')](['phone',_0xeecb('0x39'),'ListId',_0x17f8a3,_0xeecb('0x3b'),_0xeecb('0x40')],squel['select']()[_0xeecb('0x3d')](_0xeecb('0x23'),_0xeecb('0x23'))['field']('id',_0xeecb('0x39'))[_0xeecb('0x3d')](LISTID[_0xeecb('0x3e')](),_0xeecb('0x3a'))['field'](_0x4d6e54['id']['toString'](),_0x17f8a3)[_0xeecb('0x3d')]('NOW()',_0xeecb('0x3b'))[_0xeecb('0x3d')](_0xeecb('0x3f'),_0xeecb('0x40'))[_0xeecb('0x41')](_0xeecb('0x42'))[_0xeecb('0x43')](_0xeecb('0x49'))['where'](_0xeecb('0x44'),LISTID[_0xeecb('0x3e')]())[_0xeecb('0x43')](_0xeecb('0x4a'),squel[_0xeecb('0x4b')](hopperContacts))[_0xeecb('0x43')](_0xeecb('0x45')))[_0xeecb('0x3e')]();return _0xd77a71;}return db[_0xeecb('0x4f')]['findAll']({'where':{'type':_0xeecb('0x50')},'attributes':['id',_0xeecb('0x51')],'include':[{'model':db[_0xeecb('0x52')],'as':_0xeecb('0x53'),'where':{'id':LISTID}}]})[_0xeecb('0x54')](function(_0x390964){var _0x74f9e1=[];if(_0x390964){var _0x65ff41;for(var _0x3ce5c9=0x0,_0x586453;_0x3ce5c9<_0x390964[_0xeecb('0x1d')];_0x3ce5c9+=0x1){_0x586453=_0x390964[_0x3ce5c9][_0xeecb('0x55')]({'plain':!![]});switch(_0x586453[_0xeecb('0x51')]){case _0xeecb('0x56'):_0x74f9e1[_0xeecb('0x57')](db[_0xeecb('0x58')]['query'](_0x393131(_0x586453,_0xeecb('0x59')))[_0xeecb('0x54')](function(){})['catch'](_0x1ca901()));break;case _0xeecb('0x5a'):_0x74f9e1[_0xeecb('0x57')](db['sequelize'][_0xeecb('0x5b')](_0x293f30(_0x586453,_0xeecb('0x59')))[_0xeecb('0x54')](function(){})['catch'](_0x1ca901()));break;default:_0x74f9e1[_0xeecb('0x57')](db[_0xeecb('0x58')][_0xeecb('0x5b')](_0x4e4612(_0x586453,'VoiceQueueId'))[_0xeecb('0x54')](function(){})[_0xeecb('0x5c')](_0x1ca901()));}}}return _0x74f9e1;})[_0xeecb('0x5d')]()[_0xeecb('0x54')](function(){return db[_0xeecb('0x4f')][_0xeecb('0x5e')]({'where':{'type':_0xeecb('0x50')},'attributes':['id'],'include':[{'model':db['CmList'],'as':_0xeecb('0x5f'),'where':{'id':LISTID}}]})['then'](function(_0x26bf87){var _0x2e78e7=[];if(_0x26bf87){var _0x163309;for(var _0x323966=0x0,_0x481a6e;_0x323966<_0x26bf87[_0xeecb('0x1d')];_0x323966+=0x1){_0x481a6e=_0x26bf87[_0x323966][_0xeecb('0x55')]({'plain':!![]});_0x2e78e7[_0xeecb('0x57')](db[_0xeecb('0x58')][_0xeecb('0x5b')](_0x2de92e(_0x481a6e,_0xeecb('0x59')))['then'](function(){})[_0xeecb('0x5c')](_0x1ca901()));}}return _0x2e78e7;})[_0xeecb('0x5d')]();})[_0xeecb('0x54')](function(){return db[_0xeecb('0x60')]['findAll']({'attributes':['id','dialCheckDuplicateType'],'include':[{'model':db[_0xeecb('0x52')],'as':_0xeecb('0x53'),'where':{'id':LISTID}}]})['then'](function(_0x473746){var _0x1d19fd=[];if(_0x473746){for(var _0x1d3df8=0x0,_0x20bc9d;_0x1d3df8<_0x473746[_0xeecb('0x1d')];_0x1d3df8+=0x1){_0x20bc9d=_0x473746[_0x1d3df8][_0xeecb('0x55')]({'plain':!![]});switch(_0x20bc9d[_0xeecb('0x51')]){case'always':_0x1d19fd[_0xeecb('0x57')](db[_0xeecb('0x58')][_0xeecb('0x5b')](_0x393131(_0x20bc9d,_0xeecb('0x61')))[_0xeecb('0x54')](function(){})[_0xeecb('0x5c')](_0x1ca901()));break;case _0xeecb('0x5a'):_0x1d19fd[_0xeecb('0x57')](db[_0xeecb('0x58')][_0xeecb('0x5b')](_0x293f30(_0x20bc9d,_0xeecb('0x61')))['then'](function(){})[_0xeecb('0x5c')](_0x1ca901()));break;default:_0x1d19fd[_0xeecb('0x57')](db[_0xeecb('0x58')][_0xeecb('0x5b')](_0x4e4612(_0x20bc9d,_0xeecb('0x61')))[_0xeecb('0x54')](function(){})[_0xeecb('0x5c')](_0x1ca901()));}}}return _0x1d19fd;})[_0xeecb('0x5d')]();})['then'](function(){return db[_0xeecb('0x60')][_0xeecb('0x5e')]({'attributes':['id'],'include':[{'model':db['CmList'],'as':'BlackLists','where':{'id':LISTID}}]})[_0xeecb('0x54')](function(_0x351e25){var _0x5a06a5=[];if(_0x351e25){for(var _0x384d51=0x0,_0xf054ff;_0x384d51<_0x351e25['length'];_0x384d51+=0x1){_0xf054ff=_0x351e25[_0x384d51][_0xeecb('0x55')]({'plain':!![]});_0x5a06a5[_0xeecb('0x57')](db['sequelize'][_0xeecb('0x5b')](_0x2de92e(_0xf054ff,_0xeecb('0x61')))[_0xeecb('0x54')](function(){})[_0xeecb('0x5c')](_0x1ca901()));}}return _0x5a06a5;})['all']();})[_0xeecb('0x5c')](function(_0x24b657){logger['error'](_0xeecb('0x62'),_0xeecb('0x63'),_0x24b657[_0xeecb('0x31')]);});}var processPromises=function(_0x5858e4){return BPromise[_0xeecb('0x5d')](promises)['then'](function(_0x4e058a){})[_0xeecb('0x5c')](function(_0x1174c8){logger['error'](_0xeecb('0x64'),JSON['stringify'](_0x1174c8));})[_0xeecb('0x65')](function(){socket[_0xeecb('0x66')]('contact:csv_'+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x5858e4){return _0x5858e4[_0xeecb('0x67')]();}});};var endCsv=function(){return BPromise['resolve']()['then'](function(){if(hopperContacts){return checkHopper();}})[_0xeecb('0x54')](function(){socket[_0xeecb('0x66')](_0xeecb('0x68')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0xeecb('0x69')](FILEPATH);}catch(_0x4d1d60){logger['error']('Unable\x20to\x20delete\x20temp\x20file:',JSON[_0xeecb('0x32')](_0x4d1d60));}finally{process[_0xeecb('0x6a')](0x0);}});};process['on']('SIGINT',function(){logger[_0xeecb('0x6b')](_0xeecb('0x6c'));endCsv();});function main(){return BPromise[_0xeecb('0x6d')]()['then'](function(){if(DUPLICATES){DUPLICATES=DUPLICATES[_0xeecb('0x14')](',');return db[_0xeecb('0x2e')][_0xeecb('0x5e')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0xeecb('0x54')](function(_0x3df894){var _0x115322=fs[_0xeecb('0x6e')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0xeecb('0x6f')](_0x115322,{'header':!![],'skipEmptyLines':!![],'step':function(_0x3b0464,_0x53ffc8){total+=0x1;var _0x29f8f8=total;promises[_0xeecb('0x57')](checkRow(_0x3b0464,_0x3df894,_0x29f8f8)[_0xeecb('0x54')](function(){success+=0x1;})['catch'](function(_0x3afcbc){if(_0x3afcbc['error']){errors+=0x1;delete _0x3afcbc[_0xeecb('0x17')];}else if(_0x3afcbc[_0xeecb('0x2c')]){duplicates+=0x1;delete _0x3afcbc[_0xeecb('0x2c')];}rows[_0xeecb('0x57')](_0x3afcbc);}));if(total%0xc8===0x0){_0x53ffc8[_0xeecb('0x70')]();return processPromises(_0x53ffc8);}},'complete':function(){return processPromises()[_0xeecb('0x54')](function(){logger[_0xeecb('0x6b')](_0xeecb('0x71'));endCsv();});},'error':function(_0x12d45f,_0x1149b1){logger[_0xeecb('0x6b')](_0xeecb('0x72'),JSON[_0xeecb('0x32')](_0x12d45f));endCsv();}});})['catch'](function(_0x2a480e){logger[_0xeecb('0x17')](_0xeecb('0x73'),JSON[_0xeecb('0x32')](_0x2a480e));});}main();