Built motion from commit 953226e6.|2.6.32
[motion2.git] / server / api / mailMessage / mailMessage.controller.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 _0x2092=['send','index','map','MailMessage','rawAttributes','fieldName','key','model','keys','query','filters','intersection','attributes','fields','length','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','findAll','rows','show','params','find','update','body','describe','create','direction','secret','split','findOne','List','CmContact','Contacts','DESC','Smtp','CloudProvider','getSmtpOptions','attachments','server/files/attachments','basename','ListId','List\x20not\x20found','SendMail','format','YYYY-MM-DD\x20HH:mm:ss','acceptMessage','reject','mail','UserId','agent','get','MailInteractionId','user','role','interaction','null','RejectMessage','rejectMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','QueryTypes','SELECT','contact','User','fullname','email','internal','SIP/%s','channel','fromString','EventManager','download','unix','join','files','tmp','server','message-%s.eml','from','bcc','subject','createdAt','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','push','type','readFileSync','build','writeFileSync','unlinkSync','eml-format','util','path','lodash','ioredis','../../components/parsers/qs','api','../../config/logger','mail-interactions','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','client','http','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','catch','status','undefined','count','offset','limit','set','Content-Range','json','destroy','end','name'];(function(_0x57a4d0,_0xa6e6b){var _0xaaadee=function(_0x544da2){while(--_0x544da2){_0x57a4d0['push'](_0x57a4d0['shift']());}};_0xaaadee(++_0xa6e6b);}(_0x2092,0xf1));var _0x2209=function(_0x5e2b3a,_0xe8963f){_0x5e2b3a=_0x5e2b3a-0x0;var _0x3d5930=_0x2092[_0x5e2b3a];return _0x3d5930;};'use strict';var emlformat=require(_0x2209('0x0'));var moment=require('moment');var util=require(_0x2209('0x1'));var path=require(_0x2209('0x2'));var fs=require('fs');var _=require(_0x2209('0x3'));var Redis=require(_0x2209('0x4'));var htmlToText=require('html-to-text');var interactionService=require('../../components/interaction/service');var qs=require(_0x2209('0x5'));var logger=require('../../config/logger')(_0x2209('0x6'));var interaction_log=require(_0x2209('0x7'))(_0x2209('0x8'));var config=require(_0x2209('0x9'));var db=require(_0x2209('0xa'))['db'];config[_0x2209('0xb')]=_[_0x2209('0xc')](config[_0x2209('0xb')],{'host':_0x2209('0xd'),'port':0x18eb});var socket=require(_0x2209('0xe'))(new Redis(config[_0x2209('0xb')]));var htmlEntities=require('html-entities');require('./mailMessage.socket')[_0x2209('0xf')](socket);var jayson=require('jayson/promise');var client=jayson[_0x2209('0x10')]['http']({'port':0x232c});var client9003=jayson['client'][_0x2209('0x11')]({'port':0x232b});var client9002=jayson[_0x2209('0x10')][_0x2209('0x11')]({'port':0x232a});function respondWithRpcPromise(_0x24ebe6,_0x35dd2f,_0x241058,_0x1aa5fc){return new Promise(function(_0xa44fde,_0x2a95d6){var _0x225428=_0x1aa5fc||client;return _0x225428['request'](_0x24ebe6,_0x241058)[_0x2209('0x12')](function(_0x4ac20e){logger[_0x2209('0x13')](_0x2209('0x14'),_0x35dd2f,_0x2209('0x15'));logger[_0x2209('0x16')](_0x2209('0x17'),_0x35dd2f,_0x2209('0x15'),JSON[_0x2209('0x18')](_0x4ac20e));if(_0x4ac20e[_0x2209('0x19')]){if(_0x4ac20e[_0x2209('0x19')]['code']===0x1f4){logger['error'](_0x2209('0x14'),_0x35dd2f,_0x4ac20e[_0x2209('0x19')]['message']);return _0x2a95d6(_0x4ac20e['error']['message']);}logger[_0x2209('0x19')](_0x2209('0x14'),_0x35dd2f,_0x4ac20e[_0x2209('0x19')]['message']);return _0xa44fde(_0x4ac20e[_0x2209('0x19')]['message']);}else{logger['info']('MailMessage,\x20%s,\x20%s',_0x35dd2f,_0x2209('0x15'));_0xa44fde(_0x4ac20e['result'][_0x2209('0x1a')]);}})[_0x2209('0x1b')](function(_0xf02d2a){logger[_0x2209('0x19')](_0x2209('0x14'),_0x35dd2f,_0xf02d2a);_0x2a95d6(_0xf02d2a);});});}function respondWithResult(_0x385db0,_0x748d17){_0x748d17=_0x748d17||0xc8;return function(_0x246355){if(_0x246355){return _0x385db0[_0x2209('0x1c')](_0x748d17)['json'](_0x246355);}};}function respondWithFilteredResult(_0x3de985,_0x20654b){return function(_0x238dd7){if(_0x238dd7){var _0x56e831=typeof _0x20654b['offset']===_0x2209('0x1d')&&typeof _0x20654b['limit']==='undefined';var _0x311486=_0x238dd7[_0x2209('0x1e')];var _0x58555a=_0x56e831?0x0:_0x20654b[_0x2209('0x1f')];var _0x872ac9=_0x56e831?_0x238dd7['count']:_0x20654b['offset']+_0x20654b[_0x2209('0x20')];var _0x2821c9;if(_0x872ac9>=_0x311486){_0x872ac9=_0x311486;_0x2821c9=0xc8;}else{_0x2821c9=0xce;}_0x3de985[_0x2209('0x1c')](_0x2821c9);return _0x3de985[_0x2209('0x21')](_0x2209('0x22'),_0x58555a+'-'+_0x872ac9+'/'+_0x311486)[_0x2209('0x23')](_0x238dd7);}return null;};}function saveUpdates(_0x38b1fd){return function(_0xe407ce){if(_0xe407ce){return _0xe407ce['update'](_0x38b1fd)['then'](function(_0xd588f7){return _0xd588f7;});}return null;};}function removeEntity(_0x36a0d2){return function(_0x455274){if(_0x455274){return _0x455274[_0x2209('0x24')]()[_0x2209('0x12')](function(){_0x36a0d2[_0x2209('0x1c')](0xcc)[_0x2209('0x25')]();});}};}function handleEntityNotFound(_0x1570d7){return function(_0x40a7fc){if(!_0x40a7fc){_0x1570d7['sendStatus'](0x194);}return _0x40a7fc;};}function handleError(_0x1a7db1,_0x1e9bb4){_0x1e9bb4=_0x1e9bb4||0x1f4;return function(_0x455708){logger[_0x2209('0x19')](_0x455708['stack']);if(_0x455708[_0x2209('0x26')]){delete _0x455708['name'];}_0x1a7db1[_0x2209('0x1c')](_0x1e9bb4)[_0x2209('0x27')](_0x455708);};}exports[_0x2209('0x28')]=function(_0x373d67,_0x8b2473){var _0x30e716={},_0x841e05={},_0x2b4220={'count':0x0,'rows':[]};var _0x3e34d4=_[_0x2209('0x29')](db[_0x2209('0x2a')][_0x2209('0x2b')],function(_0x3997b3){return{'name':_0x3997b3[_0x2209('0x2c')],'type':_0x3997b3['type'][_0x2209('0x2d')]};});_0x841e05[_0x2209('0x2e')]=_[_0x2209('0x29')](_0x3e34d4,'name');_0x841e05['query']=_[_0x2209('0x2f')](_0x373d67[_0x2209('0x30')]);_0x841e05[_0x2209('0x31')]=_[_0x2209('0x32')](_0x841e05[_0x2209('0x2e')],_0x841e05[_0x2209('0x30')]);_0x30e716[_0x2209('0x33')]=_['intersection'](_0x841e05[_0x2209('0x2e')],qs['fields'](_0x373d67[_0x2209('0x30')][_0x2209('0x34')]));_0x30e716[_0x2209('0x33')]=_0x30e716['attributes'][_0x2209('0x35')]?_0x30e716[_0x2209('0x33')]:_0x841e05[_0x2209('0x2e')];if(!_0x373d67[_0x2209('0x30')]['hasOwnProperty'](_0x2209('0x36'))){_0x30e716[_0x2209('0x20')]=qs[_0x2209('0x20')](_0x373d67[_0x2209('0x30')][_0x2209('0x20')]);_0x30e716[_0x2209('0x1f')]=qs['offset'](_0x373d67['query'][_0x2209('0x1f')]);}_0x30e716[_0x2209('0x37')]=qs['sort'](_0x373d67[_0x2209('0x30')][_0x2209('0x38')]);_0x30e716['where']=qs[_0x2209('0x31')](_[_0x2209('0x39')](_0x373d67['query'],_0x841e05[_0x2209('0x31')]),_0x3e34d4);if(_0x373d67['query'][_0x2209('0x3a')]){_0x30e716[_0x2209('0x3b')]=_[_0x2209('0x3c')](_0x30e716['where'],{'$or':_['map'](_0x3e34d4,function(_0x56e21b){if(_0x56e21b['type']!==_0x2209('0x3d')){var _0xc74a28={};_0xc74a28[_0x56e21b[_0x2209('0x26')]]={'$like':'%'+_0x373d67[_0x2209('0x30')][_0x2209('0x3a')]+'%'};return _0xc74a28;}})});}_0x30e716=_['merge']({},_0x30e716,_0x373d67[_0x2209('0x3e')]);var _0x1b3d3f={'where':_0x30e716['where']};return db['MailMessage'][_0x2209('0x1e')](_0x1b3d3f)[_0x2209('0x12')](function(_0x2b028f){_0x2b4220[_0x2209('0x1e')]=_0x2b028f;if(_0x373d67[_0x2209('0x30')][_0x2209('0x3f')]){_0x30e716['include']=[{'all':!![]}];}return db['MailMessage'][_0x2209('0x40')](_0x30e716);})[_0x2209('0x12')](function(_0x1e7266){_0x2b4220[_0x2209('0x41')]=_0x1e7266;return _0x2b4220;})[_0x2209('0x12')](respondWithFilteredResult(_0x8b2473,_0x30e716))['catch'](handleError(_0x8b2473,null));};exports[_0x2209('0x42')]=function(_0x29f924,_0x1f4cef){var _0x516a42={'raw':!![],'where':{'id':_0x29f924[_0x2209('0x43')]['id']}},_0x4799b2={};_0x4799b2[_0x2209('0x2e')]=_['keys'](db[_0x2209('0x2a')]['rawAttributes']);_0x4799b2['query']=_['keys'](_0x29f924[_0x2209('0x30')]);_0x4799b2['filters']=_[_0x2209('0x32')](_0x4799b2[_0x2209('0x2e')],_0x4799b2[_0x2209('0x30')]);_0x516a42['attributes']=_['intersection'](_0x4799b2['model'],qs[_0x2209('0x34')](_0x29f924['query'][_0x2209('0x34')]));_0x516a42[_0x2209('0x33')]=_0x516a42[_0x2209('0x33')][_0x2209('0x35')]?_0x516a42[_0x2209('0x33')]:_0x4799b2[_0x2209('0x2e')];if(_0x29f924[_0x2209('0x30')][_0x2209('0x3f')]){_0x516a42['include']=[{'all':!![]}];}_0x516a42=_[_0x2209('0x3c')]({},_0x516a42,_0x29f924['options']);return db['MailMessage'][_0x2209('0x44')](_0x516a42)[_0x2209('0x12')](handleEntityNotFound(_0x1f4cef,null))[_0x2209('0x12')](respondWithResult(_0x1f4cef,null))[_0x2209('0x1b')](handleError(_0x1f4cef,null));};exports[_0x2209('0x45')]=function(_0x33e687,_0x5d087b){if(_0x33e687[_0x2209('0x46')]['id']){delete _0x33e687[_0x2209('0x46')]['id'];}return db[_0x2209('0x2a')]['find']({'where':{'id':_0x33e687['params']['id']}})[_0x2209('0x12')](handleEntityNotFound(_0x5d087b,null))[_0x2209('0x12')](saveUpdates(_0x33e687[_0x2209('0x46')],null))[_0x2209('0x12')](respondWithResult(_0x5d087b,null))[_0x2209('0x1b')](handleError(_0x5d087b,null));};exports[_0x2209('0x24')]=function(_0x54b726,_0x7e4ad8){return db[_0x2209('0x2a')][_0x2209('0x44')]({'where':{'id':_0x54b726[_0x2209('0x43')]['id']}})['then'](handleEntityNotFound(_0x7e4ad8,null))[_0x2209('0x12')](removeEntity(_0x7e4ad8,null))['catch'](handleError(_0x7e4ad8,null));};exports[_0x2209('0x47')]=function(_0x2cf8bf,_0x3a3f1c){return db[_0x2209('0x2a')][_0x2209('0x47')]()[_0x2209('0x12')](respondWithResult(_0x3a3f1c,null))[_0x2209('0x1b')](handleError(_0x3a3f1c,null));};exports['create']=function(_0x4bf4c0,_0x2207a9){return db[_0x2209('0x2a')][_0x2209('0x48')](_0x4bf4c0[_0x2209('0x46')])[_0x2209('0x12')](function(_0x1b3ae8){if(_0x1b3ae8){if(_0x1b3ae8[_0x2209('0x49')]==='out'&&!_0x1b3ae8[_0x2209('0x4a')]){var _0x1bb5eb,_0x18db56,_0x20e57d;if(_0x4bf4c0['body']['to']){_0x18db56=_0x4bf4c0['body']['to'][_0x2209('0x4b')](',')[0x0];}return db['MailAccount'][_0x2209('0x4c')]({'where':{'id':_0x1b3ae8['MailAccountId']},'include':[{'model':db['CmList'],'as':_0x2209('0x4d'),'include':[{'model':db[_0x2209('0x4e')],'as':_0x2209('0x4f'),'where':{'email':_0x18db56},'limit':0x1,'order':[['updatedAt',_0x2209('0x50')]]}]},{'model':db['MailServerOut'],'as':_0x2209('0x51'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':_0x2209('0x52'),'raw':!![]}]}]})[_0x2209('0x12')](function(_0x556c03){_0x1bb5eb=_0x556c03;if(!_0x1bb5eb||!_0x1bb5eb['Smtp'])return;var _0x5ea791=_0x1bb5eb[_0x2209('0x53')]();if(_0x4bf4c0[_0x2209('0x46')][_0x2209('0x54')]&&_0x4bf4c0[_0x2209('0x46')][_0x2209('0x54')][_0x2209('0x35')]){for(var _0x25bdb5=0x0;_0x25bdb5<_0x4bf4c0['body'][_0x2209('0x54')][_0x2209('0x35')];_0x25bdb5+=0x1){_0x4bf4c0['body'][_0x2209('0x54')][_0x25bdb5]={'filename':_0x4bf4c0[_0x2209('0x46')]['attachments'][_0x25bdb5]['name'],'path':path['join'](config['root'],_0x2209('0x55'),_0x4bf4c0[_0x2209('0x46')][_0x2209('0x54')][_0x25bdb5][_0x2209('0x56')])};}}_0x20e57d={'account':_0x5ea791,'message':_0x4bf4c0[_0x2209('0x46')]};return;})['then'](function(){if(_0x1bb5eb[_0x2209('0x4d')]){if(_0x1bb5eb[_0x2209('0x4d')]['Contacts'][_0x2209('0x35')]){return _0x1bb5eb[_0x2209('0x4d')]['Contacts'][0x0];}else{return db[_0x2209('0x4e')][_0x2209('0x48')](_['defaults'](_0x4bf4c0[_0x2209('0x46')],{'firstName':_0x4bf4c0[_0x2209('0x46')]['to'],'email':_0x4bf4c0[_0x2209('0x46')]['to'],'phone':_0x4bf4c0[_0x2209('0x46')]['to'],'ListId':_0x1bb5eb[_0x2209('0x57')]}));}}else{throw new Error(_0x2209('0x58'));}})[_0x2209('0x12')](function(){if(_0x20e57d){return respondWithRpcPromise(_0x2209('0x59'),'sendMail',_0x20e57d,client9003)[_0x2209('0x12')](function(_0x22e5ef){return _0x1b3ae8[_0x2209('0x45')]({'read':!![],'messageId':_0x22e5ef['messageId'],'sentAt':moment()[_0x2209('0x5a')](_0x2209('0x5b'))});})[_0x2209('0x1b')](function(_0xaf586a){logger[_0x2209('0x19')]('%s',JSON['stringify'](_0xaf586a));return _0x1b3ae8;});}return _0x1b3ae8;});}return _0x1b3ae8;}})['then'](respondWithResult(_0x2207a9,0xc9))[_0x2209('0x1b')](handleError(_0x2207a9,null));};exports['accept']=function(_0x3d43af,_0x6d356a){var _0x4f4a43='mail';return interactionService[_0x2209('0x5c')](_0x3d43af,_0x4f4a43)['then'](respondWithResult(_0x6d356a,null))['catch'](handleError(_0x6d356a,null));};exports[_0x2209('0x5d')]=function(_0x377a2a,_0x563417){var _0x3e77d4={'agent':{},'channel':_0x2209('0x5e')};if(_0x377a2a[_0x2209('0x46')]['id']){delete _0x377a2a[_0x2209('0x46')]['id'];}_0x377a2a[_0x2209('0x46')][_0x2209('0x5f')]=_0x377a2a['body']['UserId']||_0x377a2a['user']['id'];_0x3e77d4[_0x2209('0x60')]['id']=_0x377a2a['body'][_0x2209('0x5f')];return db[_0x2209('0x2a')]['find']({'where':{'id':_0x377a2a['params']['id'],'UserId':null}})['then'](handleEntityNotFound(_0x563417,null))['then'](function(_0x1fb53e){if(_0x1fb53e){_0x3e77d4['message']=_0x1fb53e[_0x2209('0x61')]({'plain':!![]});return db['MailInteraction'][_0x2209('0x44')]({'where':{'id':_0x1fb53e[_0x2209('0x62')]}});}return null;})['then'](handleEntityNotFound(_0x563417,null))[_0x2209('0x12')](function(_0x1305e6){if(_0x1305e6){_0x3e77d4['interaction']=_0x1305e6[_0x2209('0x61')]({'plain':!![]});interaction_log[_0x2209('0x13')]('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x377a2a['user']['id'],_0x377a2a[_0x2209('0x63')]['name'],_0x377a2a[_0x2209('0x63')][_0x2209('0x64')],_0x3e77d4[_0x2209('0x65')]['id'],_0x377a2a['body']?JSON[_0x2209('0x18')](_0x377a2a[_0x2209('0x46')]):_0x2209('0x66'));return respondWithRpcPromise(_0x2209('0x67'),_0x2209('0x68'),_0x3e77d4);}return null;})[_0x2209('0x12')](function(_0x1e9106){var _0x384f1f=_0x2209('0x69')+_0x1e9106[_0x2209('0x1a')][_0x2209('0x6a')];return db['sequelize']['query'](_0x384f1f,{'type':db['Sequelize'][_0x2209('0x6b')][_0x2209('0x6c')],'raw':!![]})[_0x2209('0x12')](function(_0x145a5f){return _0x145a5f;});})[_0x2209('0x12')](function(_0x341b55){if(_0x341b55){_0x3e77d4['message'][_0x2209('0x6d')]=_0x341b55[0x0];if(!_0x377a2a[_0x2209('0x46')][_0x2209('0x5f')])return;return db[_0x2209('0x6e')][_0x2209('0x44')]({'where':{'id':_0x377a2a[_0x2209('0x46')][_0x2209('0x5f')],'role':'agent'},'attributes':['id','name',_0x2209('0x6f'),_0x2209('0x70'),_0x2209('0x71')],'raw':!![]});}return null;})[_0x2209('0x12')](function(_0x3eb271){if(!_0x3eb271)return null;_0x3e77d4[_0x2209('0x1a')][_0x2209('0x60')]=_0x3eb271;return _0x3e77d4;})['then'](function(_0x1097d0){if(_0x1097d0){_0x1097d0[_0x2209('0x1a')]['interface']=util['format'](_0x2209('0x72'),_0x377a2a[_0x2209('0x63')][_0x2209('0x26')]);_0x1097d0[_0x2209('0x1a')]['channel']=_0x3e77d4[_0x2209('0x73')];_0x1097d0['message']['motionChannel']=_0x3e77d4[_0x2209('0x73')];_0x1097d0['message']['event']=_0x2209('0x5d');_0x1097d0[_0x2209('0x1a')][_0x2209('0x46')]=htmlToText[_0x2209('0x74')](_0x3e77d4[_0x2209('0x1a')][_0x2209('0x46')]);respondWithRpcPromise(_0x2209('0x75'),_0x2209('0x75'),{'event':'rejectmessage','message':_0x1097d0[_0x2209('0x1a')]},client9002);return _0x3e77d4;}return null;})['then'](respondWithResult(_0x563417,null))['catch'](handleError(_0x563417,null));};exports[_0x2209('0x76')]=function(_0x49b801,_0x1db0a9){var _0x212fbd=moment()[_0x2209('0x77')]()['toString']();var _0x44abef=path[_0x2209('0x78')](config['root'],'server',_0x2209('0x79'),_0x2209('0x7a'));var _0x265894=path[_0x2209('0x78')](config['root'],_0x2209('0x7b'),'files',_0x2209('0x54'));var _0x270ed5=util['format'](_0x2209('0x7c'),_0x212fbd);return db[_0x2209('0x2a')][_0x2209('0x44')]({'where':{'id':_0x49b801[_0x2209('0x43')]['id']},'attributes':['id','body',_0x2209('0x7d'),'to','cc',_0x2209('0x7e'),_0x2209('0x7f'),_0x2209('0x80')],'include':_0x49b801[_0x2209('0x30')][_0x2209('0x54')]?[{'model':db['Attachment'],'as':'Attachments'}]:undefined})[_0x2209('0x12')](handleEntityNotFound(_0x1db0a9,null))['then'](function(_0x162a49){if(_0x162a49){var _0x1d467e=_0x162a49;var _0x3c6a23={'from':_0x1d467e[_0x2209('0x7d')],'to':_0x1d467e['to'],'subject':_0x1d467e[_0x2209('0x7f')],'html':htmlEntities[_0x2209('0x81')](_0x1d467e[_0x2209('0x46')]),'headers':{'Date':moment(_0x1d467e[_0x2209('0x80')])[_0x2209('0x5a')](_0x2209('0x82'))},'attachments':[]};if(_0x162a49['cc']){_0x3c6a23[_0x2209('0x83')]['Cc']=_0x162a49['cc'];}if(_0x162a49['bcc']){_0x3c6a23[_0x2209('0x83')][_0x2209('0x84')]=_0x162a49[_0x2209('0x7e')];}return new Promise(function(_0x216357,_0x1f5bcf){if(_0x162a49[_0x2209('0x85')]){for(var _0x2aecdf=0x0;_0x2aecdf<_0x162a49[_0x2209('0x85')][_0x2209('0x35')];_0x2aecdf++){var _0x312338=_0x162a49[_0x2209('0x85')][_0x2aecdf];var _0x4eeae8=path[_0x2209('0x78')](_0x265894,_0x312338['basename']);if(fs['existsSync'](_0x4eeae8)){_0x3c6a23[_0x2209('0x54')][_0x2209('0x86')]({'name':_0x312338[_0x2209('0x26')],'contentType':_0x312338[_0x2209('0x87')],'data':fs[_0x2209('0x88')](_0x4eeae8)});}}}emlformat[_0x2209('0x89')](_0x3c6a23,function(_0xca63ec,_0x5413e9){if(_0xca63ec)return _0x1f5bcf(_0xca63ec);fs[_0x2209('0x8a')](path[_0x2209('0x78')](_0x44abef,_0x270ed5),_0x5413e9);return _0x216357(_0x5413e9);});});}})[_0x2209('0x12')](function(_0xbd54a){if(_0xbd54a){return _0x1db0a9['download'](path[_0x2209('0x78')](_0x44abef,_0x270ed5),_0x270ed5,function(_0x3d805c){if(!_0x3d805c)fs[_0x2209('0x8b')](path[_0x2209('0x78')](_0x44abef,_0x270ed5));});}})[_0x2209('0x1b')](handleError(_0x1db0a9,null));};