Built motion from commit d5e4af8c.|2.6.23
[motion2.git] / server / api / openchannelInteraction / openchannelInteraction.controller.js
index 1d2b8a2..6a7bcbb 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xf0a6=['toString','keyBy','merge','a.key','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20i.from\x20IS\x20NOT\x20NULL\x20AND\x20i.from\x20<>\x20\x27\x27\x20THEN\x20i.from\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','c.firstName','Contact.firstName','c.lastName','c.email','c.phone','Contact.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','o.internal','Owner.internal','ui.OpenchannelInteractionId\x20IN\x20?','groupBy','all','rows','show','params','includeAll','include','options','create','describe','addMessage','ids','omit','getMessages','findOne','OpenchannelMessage','hasOwnProperty','OpenchannelInteractionId','format','YYYY-MM-DD\x20HH:mm:ss','findAll','setTags','emit','removeTags','download','join','root','server','files','attachments','transcript-%d-%s.zip','CmContact','firstName','lastName','Attachment','direction','OpenchannelAccount','Account','Owner','get','mkdirSync','Openchannel','N.A.','Public','Messages','basename','createReadStream','pipe','System','secret','transcript-','.pdf','createPdfFromHTML','err','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','localhost','socket.io-emitter','./openchannelInteraction.socket','register','sendStatus','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','destroy','error','name','status','send','Users','map','fullname','TagIds','Tags','split','push','catch','waiting','talking','answered','unmanaged','total','closed','UserId','index','OpenchannelInteraction','rawAttributes','type','keys','query','filters','intersection','attributes','model','fields','length','nolimit','order','sort','pick','select','field','color','from','u.id','u.fullname','user_has_openchannel_interactions','openchannel_interactions','left_join','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','openchannel_accounts','a.id\x20=\x20i.OpenchannelAccountId','openchannel_interaction_has_tags','it.OpenchannelInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','body','compact','isEmpty','forEach','OpenchannelAccountId','where','i.OpenchannelAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','user','role','getOpenchannelAccounts','i.OpenchannelAccountId\x20IS\x20NULL','sequelize'];(function(_0x2800d8,_0x5304c5){var _0xe7acf3=function(_0x2ed007){while(--_0x2ed007){_0x2800d8['push'](_0x2800d8['shift']());}};_0xe7acf3(++_0x5304c5);}(_0xf0a6,0x13c));var _0x6f0a=function(_0x2932cf,_0x362fd9){_0x2932cf=_0x2932cf-0x0;var _0x1711dd=_0xf0a6[_0x2932cf];return _0x1711dd;};'use strict';var emlformat=require(_0x6f0a('0x0'));var rimraf=require(_0x6f0a('0x1'));var zipdir=require(_0x6f0a('0x2'));var jsonpatch=require(_0x6f0a('0x3'));var rp=require(_0x6f0a('0x4'));var moment=require('moment');var BPromise=require(_0x6f0a('0x5'));var Mustache=require(_0x6f0a('0x6'));var util=require(_0x6f0a('0x7'));var path=require(_0x6f0a('0x8'));var sox=require(_0x6f0a('0x9'));var csv=require(_0x6f0a('0xa'));var ejs=require(_0x6f0a('0xb'));var fs=require('fs');var fs_extra=require(_0x6f0a('0xc'));var _=require(_0x6f0a('0xd'));var squel=require(_0x6f0a('0xe'));var crypto=require(_0x6f0a('0xf'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x6f0a('0x10'));var Papa=require(_0x6f0a('0x11'));var Redis=require(_0x6f0a('0x12'));var authService=require(_0x6f0a('0x13'));var qs=require(_0x6f0a('0x14'));var as=require(_0x6f0a('0x15'));var pdf=require(_0x6f0a('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6f0a('0x17'))(_0x6f0a('0x18'));var utils=require(_0x6f0a('0x19'));var config=require(_0x6f0a('0x1a'));var licenseUtil=require(_0x6f0a('0x1b'));var db=require(_0x6f0a('0x1c'))['db'];config['redis']=_[_0x6f0a('0x1d')](config['redis'],{'host':_0x6f0a('0x1e'),'port':0x18eb});var socket=require(_0x6f0a('0x1f'))(new Redis(config['redis']));require(_0x6f0a('0x20'))[_0x6f0a('0x21')](socket);function respondWithStatusCode(_0x139b6b,_0x13bcab){_0x13bcab=_0x13bcab||0xcc;return function(_0x4acbea){if(_0x4acbea){return _0x139b6b[_0x6f0a('0x22')](_0x13bcab);}return _0x139b6b['status'](_0x13bcab)[_0x6f0a('0x23')]();};}function respondWithResult(_0x4b0245,_0x54bbf3){_0x54bbf3=_0x54bbf3||0xc8;return function(_0x1464a7){if(_0x1464a7){return _0x4b0245['status'](_0x54bbf3)['json'](_0x1464a7);}};}function respondWithFilteredResult(_0x5bee59,_0x2e9d43){return function(_0x262e31){if(_0x262e31){var _0x4e7989=typeof _0x2e9d43[_0x6f0a('0x24')]===_0x6f0a('0x25')&&typeof _0x2e9d43[_0x6f0a('0x26')]===_0x6f0a('0x25');var _0x5994e7=_0x262e31[_0x6f0a('0x27')];var _0x1a01bf=_0x4e7989?0x0:_0x2e9d43[_0x6f0a('0x24')];var _0x5fcd75=_0x4e7989?_0x262e31[_0x6f0a('0x27')]:_0x2e9d43[_0x6f0a('0x24')]+_0x2e9d43['limit'];var _0x211d85;if(_0x5fcd75>=_0x5994e7){_0x5fcd75=_0x5994e7;_0x211d85=0xc8;}else{_0x211d85=0xce;}_0x5bee59['status'](_0x211d85);return _0x5bee59[_0x6f0a('0x28')](_0x6f0a('0x29'),_0x1a01bf+'-'+_0x5fcd75+'/'+_0x5994e7)[_0x6f0a('0x2a')](_0x262e31);}return null;};}function patchUpdates(_0x195b3e){return function(_0x2e8f0e){try{jsonpatch[_0x6f0a('0x2b')](_0x2e8f0e,_0x195b3e,!![]);}catch(_0x2ad491){return BPromise[_0x6f0a('0x2c')](_0x2ad491);}return _0x2e8f0e[_0x6f0a('0x2d')]();};}function saveUpdates(_0x4c5f9f,_0x23404a){return function(_0x296d46){if(_0x296d46){return _0x296d46[_0x6f0a('0x2e')](_0x4c5f9f)[_0x6f0a('0x2f')](function(_0x2c2622){return _0x2c2622;});}return null;};}function removeEntity(_0x4e2b5a,_0x42f8b6){return function(_0x1fb5d4){if(_0x1fb5d4){return _0x1fb5d4[_0x6f0a('0x30')]()[_0x6f0a('0x2f')](function(){_0x4e2b5a['status'](0xcc)[_0x6f0a('0x23')]();});}};}function handleEntityNotFound(_0x58846e,_0x33d492){return function(_0x3e350e){if(!_0x3e350e){_0x58846e[_0x6f0a('0x22')](0x194);}return _0x3e350e;};}function handleError(_0x32a84b,_0x5abe33){_0x5abe33=_0x5abe33||0x1f4;return function(_0x23fb08){logger[_0x6f0a('0x31')](_0x23fb08['stack']);if(_0x23fb08[_0x6f0a('0x32')]){delete _0x23fb08[_0x6f0a('0x32')];}_0x32a84b[_0x6f0a('0x33')](_0x5abe33)[_0x6f0a('0x34')](_0x23fb08);};}function getInteractionUsers(_0x1c3cf9,_0x350746){return new BPromise(function(_0x449d62,_0x314309){try{if(_0x350746[_0x1c3cf9['id']]){_0x1c3cf9[_0x6f0a('0x35')]=_[_0x6f0a('0x36')](_0x350746[_0x1c3cf9['id']],function(_0x2e0260){return{'id':_0x2e0260['id'],'fullname':_0x2e0260[_0x6f0a('0x37')]};});}}catch(_0x588c5d){_0x314309(_0x588c5d);}_0x449d62(_0x1c3cf9);});}function getInteractionTags(_0x1b4e95,_0x863213){return new BPromise(function(_0x1aee77,_0x186e2b){try{if(_0x1b4e95[_0x6f0a('0x38')]){_0x1b4e95[_0x6f0a('0x39')]=[];_0x1b4e95[_0x6f0a('0x38')][_0x6f0a('0x3a')](',')['forEach'](function(_0x68005b){_0x1b4e95[_0x6f0a('0x39')][_0x6f0a('0x3b')](_0x863213[_0x68005b]);});}delete _0x1b4e95['TagIds'];}catch(_0x25a493){_0x186e2b(_0x25a493);}_0x1aee77(_0x1b4e95);});}function updateOpenchannelInteraction(_0x1a9bb6,_0x58d35f,_0x42bc3f){return new BPromise(function(_0x20c2fd,_0x3063f0){return getInteractionUsers(_0x1a9bb6,_0x42bc3f)[_0x6f0a('0x2f')](function(_0x1053af){return getInteractionTags(_0x1053af,_0x58d35f);})['then'](function(_0x49939d){return getStateInteraction(_0x49939d);})[_0x6f0a('0x2f')](function(_0x254443){_0x20c2fd(_0x254443);})[_0x6f0a('0x3c')](function(_0xfd05cb){_0x3063f0(_0xfd05cb);});});}function getStateInteraction(_0x45d4d5){return new BPromise(function(_0x2db881){_0x45d4d5[_0x6f0a('0x3d')]=0x0;_0x45d4d5[_0x6f0a('0x3e')]=0x0;_0x45d4d5[_0x6f0a('0x3f')]=0x0;_0x45d4d5[_0x6f0a('0x40')]=0x0;_0x45d4d5[_0x6f0a('0x41')]=0x0;if(!_0x45d4d5[_0x6f0a('0x42')]&&!_0x45d4d5[_0x6f0a('0x43')]){_0x45d4d5[_0x6f0a('0x3d')]+=0x1;}if(!_0x45d4d5['closed']&&_0x45d4d5[_0x6f0a('0x43')]){_0x45d4d5[_0x6f0a('0x3e')]+=0x1;if(_0x45d4d5['waiting']){_0x45d4d5[_0x6f0a('0x3d')]-=0x1;}}if(_0x45d4d5[_0x6f0a('0x42')]&&_0x45d4d5[_0x6f0a('0x43')]){_0x45d4d5['answered']+=0x1;if(_0x45d4d5['talking']){_0x45d4d5['talking']-=0x1;}}if(_0x45d4d5[_0x6f0a('0x42')]&&!_0x45d4d5['UserId']){_0x45d4d5[_0x6f0a('0x40')]+=0x1;if(_0x45d4d5[_0x6f0a('0x3d')]){_0x45d4d5[_0x6f0a('0x3d')]-=0x1;}}_0x45d4d5[_0x6f0a('0x41')]+=0x1;_0x2db881(_0x45d4d5);});}exports[_0x6f0a('0x44')]=function(_0x3ce67a,_0x141216){var _0x340a76={},_0x52230b={},_0x488c72={'count':0x0,'rows':[]};var _0x21a8d4=_[_0x6f0a('0x36')](db[_0x6f0a('0x45')][_0x6f0a('0x46')],function(_0x2d9798){return{'name':_0x2d9798['fieldName'],'type':_0x2d9798[_0x6f0a('0x47')]['key']};});_0x52230b['model']=_[_0x6f0a('0x36')](_0x21a8d4,'name');_0x52230b['query']=_[_0x6f0a('0x48')](_0x3ce67a[_0x6f0a('0x49')]);_0x52230b[_0x6f0a('0x4a')]=_[_0x6f0a('0x4b')](_0x52230b['model'],_0x52230b['query']);_0x340a76[_0x6f0a('0x4c')]=_[_0x6f0a('0x4b')](_0x52230b[_0x6f0a('0x4d')],qs[_0x6f0a('0x4e')](_0x3ce67a[_0x6f0a('0x49')][_0x6f0a('0x4e')]));_0x340a76['attributes']=_0x340a76[_0x6f0a('0x4c')][_0x6f0a('0x4f')]?_0x340a76[_0x6f0a('0x4c')]:_0x52230b['model'];if(!_0x3ce67a[_0x6f0a('0x49')]['hasOwnProperty'](_0x6f0a('0x50'))){_0x340a76[_0x6f0a('0x26')]=qs['limit'](_0x3ce67a[_0x6f0a('0x49')][_0x6f0a('0x26')]);_0x340a76[_0x6f0a('0x24')]=qs[_0x6f0a('0x24')](_0x3ce67a['query'][_0x6f0a('0x24')]);}_0x340a76[_0x6f0a('0x51')]=qs[_0x6f0a('0x52')](_0x3ce67a[_0x6f0a('0x49')][_0x6f0a('0x52')]);_0x340a76['where']=qs['filters'](_[_0x6f0a('0x53')](_0x3ce67a[_0x6f0a('0x49')],_0x52230b['filters']),_0x21a8d4);var _0x4f8f7f=[];var _0x47e7da=squel[_0x6f0a('0x54')]()[_0x6f0a('0x55')]('id')[_0x6f0a('0x55')](_0x6f0a('0x32'))[_0x6f0a('0x55')](_0x6f0a('0x56'))[_0x6f0a('0x57')]('tools_tags');var _0x25c772=squel[_0x6f0a('0x54')]()['field'](_0x6f0a('0x58'))[_0x6f0a('0x55')](_0x6f0a('0x59'))[_0x6f0a('0x55')]('ui.OpenchannelInteractionId')[_0x6f0a('0x57')](_0x6f0a('0x5a'),'ui')['left_join']('users','u','u.id\x20=\x20ui.UserId');var _0x110ffe=squel[_0x6f0a('0x54')]()[_0x6f0a('0x57')](_0x6f0a('0x5b'),'i')[_0x6f0a('0x5c')]('cm_contacts','c',_0x6f0a('0x5d'))[_0x6f0a('0x5c')](_0x6f0a('0x5e'),'o',_0x6f0a('0x5f'))[_0x6f0a('0x5c')](_0x6f0a('0x60'),'a',_0x6f0a('0x61'))[_0x6f0a('0x5c')]('openchannel_messages','me','me.OpenchannelInteractionId\x20=\x20i.id')[_0x6f0a('0x5c')](_0x6f0a('0x62'),'it',_0x6f0a('0x63'))['left_join'](_0x6f0a('0x64'),'t',_0x6f0a('0x65'));var _0x344c14=squel[_0x6f0a('0x66')]();var _0x346f95=[];var _0x38e39d=squel[_0x6f0a('0x66')]();var _0x623db5;if(_0x3ce67a['query'][_0x6f0a('0x67')]){_0x623db5=as[_0x6f0a('0x68')](_0x3ce67a[_0x6f0a('0x49')][_0x6f0a('0x67')]);var _0x55e046=_0x623db5[_0x6f0a('0x69')];for(var _0x236210=0x0;_0x236210<_0x623db5[_0x6f0a('0x6a')][_0x6f0a('0x4f')];_0x236210++){var _0x515032=_0x623db5[_0x6f0a('0x6a')][_0x236210];var _0x3be63c='i';var _0x3944d9=_[_0x6f0a('0x6b')](_0x21a8d4,[_0x6f0a('0x32'),_0x515032[_0x6f0a('0x55')]]);if(!_0x3944d9){switch(_0x515032[_0x6f0a('0x55')]){case _0x6f0a('0x6c'):if(_0x515032[_0x6f0a('0x6d')]==0x1){_0x110ffe[_0x6f0a('0x6e')]('`'+_0x515032[_0x6f0a('0x55')]+_0x6f0a('0x6f'));}else{_0x110ffe[_0x6f0a('0x6e')]('`'+_0x515032[_0x6f0a('0x55')]+'`\x20>\x200');}break;case _0x6f0a('0x70'):if(_0x515032[_0x6f0a('0x71')]===_0x6f0a('0x72')){if(_0x515032['value'][_0x6f0a('0x3a')]('\x20')[_0x6f0a('0x4f')]>0x1){_0x344c14[_0x55e046](_0x6f0a('0x73'),qs[_0x6f0a('0x74')](_0x515032[_0x6f0a('0x6d')]),null);}else{var _0x527a2a='%'+_0x515032[_0x6f0a('0x6d')]+'%';_0x344c14[_0x55e046](_0x6f0a('0x75'),_0x527a2a,_0x527a2a,_0x527a2a);}}else{_0x3944d9=_['find'](_0x21a8d4,[_0x6f0a('0x32'),'ContactId']);_0x515032[_0x6f0a('0x55')]=_0x6f0a('0x76');_0xcb9a1b=as[_0x6f0a('0x77')](_0x3be63c,_0x3944d9['type'],_0x515032);_0x344c14[_0x55e046](_0xcb9a1b[_0x6f0a('0x78')],_0xcb9a1b[_0x6f0a('0x6d')][_0x6f0a('0x79')],_0xcb9a1b[_0x6f0a('0x6d')][_0x6f0a('0x23')]);}break;case'Tag':var _0x5309b6=_0x515032[_0x6f0a('0x6d')][_0x6f0a('0x3a')](',')['map'](function(_0x558a00){return Number(_0x558a00);});_0x5309b6['forEach'](function(_0x192725){_0x38e39d['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x192725+',%');});_0x346f95=_['union'](_0x346f95,_0x5309b6);break;case _0x6f0a('0x7a'):if(_0x515032[_0x6f0a('0x71')]===_0x6f0a('0x72')){_0x344c14[_0x55e046](_0x6f0a('0x7b'),'%'+_0x515032[_0x6f0a('0x6d')]+'%',null);}else{_0x3944d9=_[_0x6f0a('0x6b')](_0x21a8d4,[_0x6f0a('0x32'),_0x6f0a('0x43')]);_0x515032['field']='UserId';_0xcb9a1b=as[_0x6f0a('0x77')](_0x3be63c,_0x3944d9[_0x6f0a('0x47')],_0x515032);_0x344c14[_0x55e046](_0xcb9a1b[_0x6f0a('0x78')],_0xcb9a1b['value'][_0x6f0a('0x79')],_0xcb9a1b[_0x6f0a('0x6d')][_0x6f0a('0x23')]);}break;case _0x6f0a('0x7c'):_0xcb9a1b=as['buildExpression']('me',null,_0x515032);_0x344c14[_0x55e046](_0xcb9a1b['text'],_0xcb9a1b['value'][_0x6f0a('0x79')],_0xcb9a1b[_0x6f0a('0x6d')][_0x6f0a('0x23')]);break;}}else{var _0xcb9a1b=as[_0x6f0a('0x77')](_0x3be63c,_0x3944d9[_0x6f0a('0x47')],_0x515032);_0x344c14[_0x55e046](_0xcb9a1b['text'],_0xcb9a1b['value'][_0x6f0a('0x79')],_0xcb9a1b[_0x6f0a('0x6d')][_0x6f0a('0x23')]);}}}else{var _0x11b02d=_(_0x3ce67a[_0x6f0a('0x49')])[_0x6f0a('0x48')]()['map'](function(_0x26670a){return _['some'](_0x21a8d4,[_0x6f0a('0x32'),_0x26670a])?_0x26670a:undefined;})[_0x6f0a('0x7d')]()['value']();if(!_[_0x6f0a('0x7e')](_0x11b02d)){_0x11b02d[_0x6f0a('0x7f')](function(_0x84759d){if(_0x84759d===_0x6f0a('0x80')){_0x110ffe[_0x6f0a('0x81')](_0x6f0a('0x82'),[][_0x6f0a('0x83')](_0x3ce67a[_0x6f0a('0x49')][_0x84759d]));}else if(_0x84759d===_0x6f0a('0x84')){var _0xb2f34=JSON[_0x6f0a('0x85')](_0x3ce67a[_0x6f0a('0x49')][_0x84759d])[_0x6f0a('0x86')];var _0x2bf69a=JSON[_0x6f0a('0x85')](_0x3ce67a[_0x6f0a('0x49')][_0x84759d])[_0x6f0a('0x87')];_0x110ffe[_0x6f0a('0x81')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0xb2f34,_0x2bf69a);}else{if(_0x3ce67a[_0x6f0a('0x49')][_0x84759d]===_0x6f0a('0x88')){_0x110ffe[_0x6f0a('0x81')]('i.'+_0x84759d+_0x6f0a('0x89'));}else{_0x110ffe[_0x6f0a('0x81')]('i.'+_0x84759d+_0x6f0a('0x8a'),_0x3ce67a['query'][_0x84759d]);}}});}if(_0x3ce67a['query']['read']){if(_0x3ce67a['query'][_0x6f0a('0x8b')]==0x1){_0x110ffe[_0x6f0a('0x6e')](_0x6f0a('0x8c'));}else{_0x110ffe[_0x6f0a('0x6e')](_0x6f0a('0x8d'));}}if(_0x3ce67a[_0x6f0a('0x49')][_0x6f0a('0x8e')]){_0x346f95=_[_0x6f0a('0x8f')](_0x3ce67a[_0x6f0a('0x49')][_0x6f0a('0x8e')])?_0x3ce67a[_0x6f0a('0x49')][_0x6f0a('0x8e')]:new Array(_0x3ce67a[_0x6f0a('0x49')][_0x6f0a('0x8e')]);_0x346f95['forEach'](function(_0x3e2434){_0x38e39d['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x3e2434+',%');});}if(_0x3ce67a[_0x6f0a('0x49')][_0x6f0a('0x90')]){var _0x444ee6=_0x3ce67a[_0x6f0a('0x49')][_0x6f0a('0x90')]['replace']('\x5c','\x5c\x5c')[_0x6f0a('0x91')](/'/g,'\x27\x27');if(qs[_0x6f0a('0x92')](_0x444ee6)){_0x344c14['or'](_0x6f0a('0x93'),_0x444ee6+'%');}else{_0x344c14['or'](_0x6f0a('0x94'),qs[_0x6f0a('0x74')](_0x444ee6))['or']('i.from\x20LIKE\x20?',_0x444ee6+'%')['or'](_0x6f0a('0x95'),_0x444ee6+'%');}}}_0x110ffe[_0x6f0a('0x81')](_0x344c14);_0x110ffe[_0x6f0a('0x96')](_0x6f0a('0x97'));var _0x2be9a3={'type':db[_0x6f0a('0x98')][_0x6f0a('0x99')][_0x6f0a('0x9a')],'raw':!![]};var _0x35cfb7=_0x110ffe[_0x6f0a('0x9b')]();_0x35cfb7[_0x6f0a('0x55')](_0x6f0a('0x97'));_0x35cfb7[_0x6f0a('0x55')](_0x6f0a('0x9c'),_0x6f0a('0x6c'));if(_0x340a76[_0x6f0a('0x51')]){_0x340a76['order'][_0x6f0a('0x7f')](function(_0x4d1e07){var _0x138d26=_0x4d1e07[0x0]===_0x6f0a('0x9d')?_0x4d1e07[0x0]:'i.'+_0x4d1e07[0x0];_0x110ffe[_0x6f0a('0x51')](_0x138d26,_0x4d1e07[0x1]===_0x6f0a('0x9e')?![]:!![]);});}if(!_[_0x6f0a('0x7e')](_0x346f95)){_0x110ffe[_0x6f0a('0x6e')](_0x38e39d);_0x35cfb7[_0x6f0a('0x81')](_0x6f0a('0x9f'),_0x346f95);}BPromise['resolve']()['then'](function(){if(!_0x623db5){if(_0x3ce67a[_0x6f0a('0x49')][_0x6f0a('0x80')])return;_0x35cfb7[_0x6f0a('0x81')](_0x6f0a('0xa0'));_0x110ffe[_0x6f0a('0x81')](_0x6f0a('0xa0'));return;}if(_0x3ce67a[_0x6f0a('0xa1')][_0x6f0a('0xa2')]!=='agent')return;return _0x3ce67a['user'][_0x6f0a('0xa3')]({'attributes':['id'],'raw':!![]})[_0x6f0a('0x2f')](function(_0x2818e0){if(_[_0x6f0a('0x7e')](_0x2818e0)){_0x35cfb7['where'](_0x6f0a('0xa4'));_0x110ffe['where'](_0x6f0a('0xa4'));}else{_0x35cfb7[_0x6f0a('0x81')](_0x6f0a('0x82'),_['map'](_0x2818e0,'id'));_0x110ffe['where']('i.OpenchannelAccountId\x20IN\x20?',_['map'](_0x2818e0,'id'));}});})['then'](function(){if(_0x3ce67a[_0x6f0a('0xa1')]['role']==='agent'&&!_0x623db5&&!_0x3ce67a['query']['OpenchannelAccountId'])return[];return db[_0x6f0a('0xa5')]['query'](_0x35cfb7[_0x6f0a('0xa6')](),_0x2be9a3);})[_0x6f0a('0x2f')](function(_0x27cf23){_0x488c72[_0x6f0a('0x27')]=_0x27cf23['length'];if(_0x488c72['count']===0x0)return[];return db[_0x6f0a('0xa5')][_0x6f0a('0x49')](_0x47e7da['toString'](),_0x2be9a3)['then'](function(_0x14c86d){_0x4f8f7f=_[_0x6f0a('0xa7')](_0x14c86d,'id');_0x2be9a3=_[_0x6f0a('0xa8')](_0x2be9a3,{'model':db[_0x6f0a('0x45')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x3ce67a[_0x6f0a('0x49')]['fields']){_0x340a76['attributes'][_0x6f0a('0x7f')](function(_0x23a0d3){_0x110ffe[_0x6f0a('0x55')]('i.'+_0x23a0d3);});}else{_0x110ffe[_0x6f0a('0x55')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x6f0a('0x6c'));_0x110ffe[_0x6f0a('0x55')](_0x6f0a('0xa9'),'Account.key');_0x110ffe[_0x6f0a('0x55')](_0x6f0a('0xaa'),_0x6f0a('0xab'));_0x110ffe['field'](_0x6f0a('0xac'),_0x6f0a('0x9d'));_0x110ffe[_0x6f0a('0x55')](_0x6f0a('0xad'));_0x110ffe[_0x6f0a('0x55')](_0x6f0a('0xae'),_0x6f0a('0xaf'));_0x110ffe[_0x6f0a('0x55')](_0x6f0a('0xb0'),'Contact.lastName');_0x110ffe[_0x6f0a('0x55')](_0x6f0a('0xb1'),'Contact.email');_0x110ffe[_0x6f0a('0x55')](_0x6f0a('0xb2'),_0x6f0a('0xb3'));_0x110ffe[_0x6f0a('0x55')]('c.mobile',_0x6f0a('0xb4'));_0x110ffe[_0x6f0a('0x55')](_0x6f0a('0xb5'),_0x6f0a('0xb6'));_0x110ffe[_0x6f0a('0x55')](_0x6f0a('0xb7'),'Owner.fullname');_0x110ffe[_0x6f0a('0x55')](_0x6f0a('0xb8'),_0x6f0a('0xb9'));_0x110ffe[_0x6f0a('0x55')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x6f0a('0x38'));}if(_0x340a76[_0x6f0a('0x26')])_0x110ffe[_0x6f0a('0x26')](_0x340a76[_0x6f0a('0x26')]);if(_0x340a76['offset'])_0x110ffe[_0x6f0a('0x24')](_0x340a76['offset']);return db[_0x6f0a('0xa5')]['query'](_0x110ffe[_0x6f0a('0xa6')](),_0x2be9a3);})['then'](function(_0x34342b){if(_0x34342b['length']>0x0)_0x25c772[_0x6f0a('0x81')](_0x6f0a('0xba'),_[_0x6f0a('0x36')](_0x34342b,'id'));return db[_0x6f0a('0xa5')][_0x6f0a('0x49')](_0x25c772[_0x6f0a('0xa6')](),_0x2be9a3)[_0x6f0a('0x2f')](function(_0x429819){var _0x1056ab=_[_0x6f0a('0xbb')](_0x429819,'OpenchannelInteractionId');var _0x333cf7=[];_0x34342b[_0x6f0a('0x7f')](function(_0x441e15){_0x333cf7[_0x6f0a('0x3b')](updateOpenchannelInteraction(_0x441e15,_0x4f8f7f,_0x1056ab));});return BPromise[_0x6f0a('0xbc')](_0x333cf7);});});})[_0x6f0a('0x2f')](function(_0x26a7c2){_0x488c72[_0x6f0a('0xbd')]=_0x26a7c2;return _0x488c72;})['then'](respondWithFilteredResult(_0x141216,_0x340a76))['catch'](handleError(_0x141216,null));};exports[_0x6f0a('0xbe')]=function(_0x142425,_0x44bf62){var _0x298cd4={};if(_0x142425[_0x6f0a('0x49')][_0x6f0a('0x47')]&&_0x142425[_0x6f0a('0x49')][_0x6f0a('0x47')]===_0x6f0a('0x57')){_0x298cd4[_0x6f0a('0x57')]=_0x142425['params']['id'];}else{_0x298cd4['id']=_0x142425[_0x6f0a('0xbf')]['id'];}var _0x13dc57={'raw':![],'where':_0x298cd4},_0x386a97={};_0x386a97[_0x6f0a('0x4d')]=_['keys'](db[_0x6f0a('0x45')]['rawAttributes']);_0x386a97['query']=_[_0x6f0a('0x48')](_0x142425[_0x6f0a('0x49')]);_0x386a97[_0x6f0a('0x4a')]=_[_0x6f0a('0x4b')](_0x386a97[_0x6f0a('0x4d')],_0x386a97[_0x6f0a('0x49')]);_0x13dc57[_0x6f0a('0x4c')]=_['intersection'](_0x386a97[_0x6f0a('0x4d')],qs[_0x6f0a('0x4e')](_0x142425[_0x6f0a('0x49')][_0x6f0a('0x4e')]));_0x13dc57[_0x6f0a('0x4c')]=_0x13dc57['attributes'][_0x6f0a('0x4f')]?_0x13dc57[_0x6f0a('0x4c')]:_0x386a97['model'];if(_0x142425[_0x6f0a('0x49')][_0x6f0a('0xc0')]){_0x13dc57[_0x6f0a('0xc1')]=[{'all':!![]}];}_0x13dc57=_[_0x6f0a('0xa8')]({},_0x13dc57,_0x142425[_0x6f0a('0xc2')]);return db[_0x6f0a('0x45')][_0x6f0a('0x6b')](_0x13dc57)[_0x6f0a('0x2f')](handleEntityNotFound(_0x44bf62,null))[_0x6f0a('0x2f')](respondWithResult(_0x44bf62,null))[_0x6f0a('0x3c')](handleError(_0x44bf62,null));};exports[_0x6f0a('0xc3')]=function(_0x22cd09,_0x53fa4e){return db[_0x6f0a('0x45')][_0x6f0a('0xc3')](_0x22cd09['body'],{})[_0x6f0a('0x2f')](respondWithResult(_0x53fa4e,0xc9))[_0x6f0a('0x3c')](handleError(_0x53fa4e,null));};exports[_0x6f0a('0x2e')]=function(_0x142207,_0x26512a){if(_0x142207[_0x6f0a('0x7c')]['id']){delete _0x142207[_0x6f0a('0x7c')]['id'];}return db['OpenchannelInteraction']['find']({'where':{'id':_0x142207[_0x6f0a('0xbf')]['id']}})['then'](handleEntityNotFound(_0x26512a,null))[_0x6f0a('0x2f')](saveUpdates(_0x142207[_0x6f0a('0x7c')],null))[_0x6f0a('0x2f')](respondWithResult(_0x26512a,null))['catch'](handleError(_0x26512a,null));};exports[_0x6f0a('0x30')]=function(_0x1669b6,_0xea9ce){return db[_0x6f0a('0x45')][_0x6f0a('0x6b')]({'where':{'id':_0x1669b6[_0x6f0a('0xbf')]['id']}})[_0x6f0a('0x2f')](handleEntityNotFound(_0xea9ce,null))['then'](removeEntity(_0xea9ce,null))['catch'](handleError(_0xea9ce,null));};exports[_0x6f0a('0xc4')]=function(_0x360120,_0x40d19d){return db[_0x6f0a('0x45')][_0x6f0a('0xc4')]()[_0x6f0a('0x2f')](respondWithResult(_0x40d19d,null))['catch'](handleError(_0x40d19d,null));};exports['addMessage']=function(_0x50838e,_0x285a4b,_0x494161){return db['OpenchannelMessage'][_0x6f0a('0x6b')]({'where':{'id':_0x50838e[_0x6f0a('0xbf')]['id']}})[_0x6f0a('0x2f')](handleEntityNotFound(_0x285a4b,null))['then'](function(_0x2976b9){if(_0x2976b9){return _0x2976b9[_0x6f0a('0xc5')](_0x50838e[_0x6f0a('0x7c')][_0x6f0a('0xc6')],_[_0x6f0a('0xc7')](_0x50838e[_0x6f0a('0x7c')],[_0x6f0a('0xc6'),'id'])||{});}})[_0x6f0a('0x2f')](respondWithResult(_0x285a4b,null))[_0x6f0a('0x3c')](handleError(_0x285a4b,null));};exports[_0x6f0a('0xc8')]=function(_0x383d46,_0x18f3ca,_0x32aeff){var _0x417d38={'raw':![],'where':{}};var _0x51d514={};var _0x3d9cbe={'count':0x0,'rows':[]};return db[_0x6f0a('0x45')][_0x6f0a('0xc9')]({'where':{'id':_0x383d46['params']['id']}})['then'](handleEntityNotFound(_0x18f3ca,null))['then'](function(_0x29f833){if(_0x29f833){_0x51d514[_0x6f0a('0x4d')]=_[_0x6f0a('0x48')](db[_0x6f0a('0xca')][_0x6f0a('0x46')]);_0x51d514['query']=_['keys'](_0x383d46[_0x6f0a('0x49')]);_0x51d514[_0x6f0a('0x4a')]=_[_0x6f0a('0x4b')](_0x51d514[_0x6f0a('0x4d')],_0x51d514[_0x6f0a('0x49')]);_0x417d38[_0x6f0a('0x4c')]=_['intersection'](_0x51d514[_0x6f0a('0x4d')],qs[_0x6f0a('0x4e')](_0x383d46['query']['fields']));_0x417d38[_0x6f0a('0x4c')]=_0x417d38[_0x6f0a('0x4c')][_0x6f0a('0x4f')]?_0x417d38[_0x6f0a('0x4c')]:_0x51d514[_0x6f0a('0x4d')];if(!_0x383d46[_0x6f0a('0x49')][_0x6f0a('0xcb')]('nolimit')){_0x417d38[_0x6f0a('0x26')]=qs[_0x6f0a('0x26')](_0x383d46[_0x6f0a('0x49')][_0x6f0a('0x26')]);_0x417d38[_0x6f0a('0x24')]=qs[_0x6f0a('0x24')](_0x383d46[_0x6f0a('0x49')]['offset']);}_0x417d38[_0x6f0a('0x51')]=qs[_0x6f0a('0x52')](_0x383d46[_0x6f0a('0x49')][_0x6f0a('0x52')]);_0x417d38[_0x6f0a('0x81')]=qs[_0x6f0a('0x4a')](_['pick'](_0x383d46[_0x6f0a('0x49')],_0x51d514[_0x6f0a('0x4a')]));_0x417d38[_0x6f0a('0x81')][_0x6f0a('0xcc')]=_0x29f833['id'];if(_0x383d46['query'][_0x6f0a('0x90')]){_0x417d38[_0x6f0a('0x81')]=_[_0x6f0a('0xa8')](_0x417d38[_0x6f0a('0x81')],{'$or':_[_0x6f0a('0x36')](_0x417d38[_0x6f0a('0x4c')],function(_0x3bf9f4){var _0x1d64be={};_0x1d64be[_0x3bf9f4]={'$like':'%'+_0x383d46['query'][_0x6f0a('0x90')]+'%'};return _0x1d64be;})});}if(_0x383d46[_0x6f0a('0x49')][_0x6f0a('0x86')]){var _0x35a4cb=_0x383d46[_0x6f0a('0x49')][_0x6f0a('0x86')][_0x6f0a('0x3a')](',');var _0xf5e95={};_0xf5e95[_0x35a4cb[0x0]]={'$gte':moment(_0x35a4cb[0x1])[_0x6f0a('0xcd')](_0x6f0a('0xce'))};_0x417d38[_0x6f0a('0x81')]=_[_0x6f0a('0xa8')](_0x417d38[_0x6f0a('0x81')],_0xf5e95);}_0x417d38=_['merge']({},_0x417d38,_0x383d46['options']);return db[_0x6f0a('0xca')][_0x6f0a('0x27')]({'where':_0x417d38[_0x6f0a('0x81')]})[_0x6f0a('0x2f')](function(_0x170efe){_0x3d9cbe[_0x6f0a('0x27')]=_0x170efe;if(_0x383d46[_0x6f0a('0x49')][_0x6f0a('0xc0')]){_0x417d38[_0x6f0a('0xc1')]=[{'all':!![]}];}return db[_0x6f0a('0xca')][_0x6f0a('0xcf')](_0x417d38);})[_0x6f0a('0x2f')](function(_0x30d71a){_0x3d9cbe[_0x6f0a('0xbd')]=_0x30d71a;return _0x3d9cbe;});}})[_0x6f0a('0x2f')](respondWithFilteredResult(_0x18f3ca,_0x417d38))[_0x6f0a('0x3c')](handleError(_0x18f3ca,null));};exports['addTags']=function(_0x275cbe,_0x27b786,_0x2afe72){return db['OpenchannelInteraction'][_0x6f0a('0x6b')]({'where':{'id':_0x275cbe['params']['id']}})[_0x6f0a('0x2f')](handleEntityNotFound(_0x27b786,null))[_0x6f0a('0x2f')](function(_0x377b40){if(_0x377b40){return _0x377b40[_0x6f0a('0xd0')](_0x275cbe[_0x6f0a('0x7c')][_0x6f0a('0xc6')],_[_0x6f0a('0xc7')](_0x275cbe[_0x6f0a('0x7c')],[_0x6f0a('0xc6'),'id'])||{})['spread'](function(){return db['Tag'][_0x6f0a('0xcf')]({'attributes':['id',_0x6f0a('0x32'),_0x6f0a('0x56')],'where':{'id':_0x275cbe[_0x6f0a('0x7c')][_0x6f0a('0xc6')]}});})['then'](function(_0x5108a3){socket[_0x6f0a('0xd1')]('openchannelInteractionTags:save',{'id':Number(_0x275cbe[_0x6f0a('0xbf')]['id']),'tags':_0x5108a3||[]});return{'id':Number(_0x275cbe[_0x6f0a('0xbf')]['id']),'tags':_0x5108a3||[]};});}})[_0x6f0a('0x2f')](respondWithResult(_0x27b786,null))[_0x6f0a('0x3c')](handleError(_0x27b786,null));};exports[_0x6f0a('0xd2')]=function(_0x3646cc,_0x5d2bab,_0x2d7ff8){return db[_0x6f0a('0x45')][_0x6f0a('0x6b')]({'where':{'id':_0x3646cc['params']['id']}})[_0x6f0a('0x2f')](handleEntityNotFound(_0x5d2bab,null))['then'](function(_0x14232c){if(_0x14232c){return _0x14232c[_0x6f0a('0xd2')](_0x3646cc[_0x6f0a('0x49')][_0x6f0a('0xc6')]);}})[_0x6f0a('0x2f')](respondWithStatusCode(_0x5d2bab,null))[_0x6f0a('0x3c')](handleError(_0x5d2bab,null));};exports[_0x6f0a('0xd3')]=function(_0x2fd6ce,_0x22c79f){var _0x4d742f=moment()['unix']()[_0x6f0a('0xa6')]();var _0x1fe7f5=path[_0x6f0a('0xd4')](config[_0x6f0a('0xd5')],_0x6f0a('0xd6'),_0x6f0a('0xd7'),'tmp');var _0x1679e2=path[_0x6f0a('0xd4')](config[_0x6f0a('0xd5')],'server','files',_0x6f0a('0xd8'));var _0xbd3440=path[_0x6f0a('0xd4')](_0x1fe7f5,_0x4d742f);var _0x137a88=util[_0x6f0a('0xcd')](_0x6f0a('0xd9'),_0x2fd6ce[_0x6f0a('0xbf')]['id'],_0x4d742f);var _0x2a329f=path[_0x6f0a('0xd4')](_0x1fe7f5,_0x137a88);var _0x28662e=[];_0x28662e[_0x6f0a('0x3b')]({'model':db[_0x6f0a('0x7a')],'as':_0x6f0a('0x7a'),'attributes':['id','fullname'],'raw':!![]});_0x28662e[_0x6f0a('0x3b')]({'model':db[_0x6f0a('0xda')],'as':_0x6f0a('0x70'),'attributes':['id',_0x6f0a('0xdb'),_0x6f0a('0xdc')],'raw':!![]});if(_0x2fd6ce[_0x6f0a('0x49')][_0x6f0a('0xd8')]){_0x28662e['push']({'model':db['Attachment'],'as':_0x6f0a('0xdd'),'raw':!![]});}var _0x3013a3=[{'model':db['OpenchannelMessage'],'as':'Messages','attributes':['id',_0x6f0a('0x7c'),_0x6f0a('0x84'),_0x6f0a('0xde'),'secret','read'],'include':_0x28662e}];_0x3013a3['push']({'model':db[_0x6f0a('0xdf')],'as':_0x6f0a('0xe0'),'attributes':['id',_0x6f0a('0x32')]});_0x3013a3[_0x6f0a('0x3b')]({'model':db['User'],'as':_0x6f0a('0xe1'),'attributes':['id','fullname']});return db[_0x6f0a('0x45')][_0x6f0a('0x6b')]({'where':{'id':_0x2fd6ce['params']['id']},'include':_0x3013a3})[_0x6f0a('0x2f')](handleEntityNotFound(_0x22c79f,null))[_0x6f0a('0x2f')](function(_0x4b12e6){if(_0x4b12e6){var _0x205499=_0x4b12e6[_0x6f0a('0xe2')]({'plain':!![]});fs[_0x6f0a('0xe3')](_0xbd3440);var _0x262098={'channel':_0x6f0a('0xe4'),'account':_0x205499['Account'][_0x6f0a('0x32')],'agent':_0x205499['Owner']?_0x205499['Owner'][_0x6f0a('0x37')]:_0x6f0a('0xe5'),'createdAt':moment(_0x205499[_0x6f0a('0x84')])['format'](_0x6f0a('0xce'))[_0x6f0a('0xa6')](),'closedAt':_0x205499[_0x6f0a('0x42')]?moment(_0x205499['closedAt'])['format'](_0x6f0a('0xce'))[_0x6f0a('0xa6')]():'','disposition':_0x205499['disposition'],'visibility':_0x205499['threadId']?_0x6f0a('0xe6'):'Private','messages':_(_0x205499[_0x6f0a('0xe7')])['filter']({'secret':![]})[_0x6f0a('0x36')](function(_0x34d7c5){if(_0x34d7c5['Attachment']){var _0x5e7ef2=path[_0x6f0a('0xd4')](_0x1679e2,_0x34d7c5[_0x6f0a('0xdd')][_0x6f0a('0xe8')]);if(fs['existsSync'](_0x5e7ef2)){fs[_0x6f0a('0xe9')](_0x5e7ef2)[_0x6f0a('0xea')](fs['createWriteStream'](path[_0x6f0a('0xd4')](_0xbd3440,_0x34d7c5[_0x6f0a('0xdd')][_0x6f0a('0xe8')])));}}return{'date':moment(_0x34d7c5[_0x6f0a('0x84')])[_0x6f0a('0xcd')]('YYYY-MM-DD\x20HH:mm:ss')[_0x6f0a('0xa6')](),'sender':_0x34d7c5[_0x6f0a('0xde')]==='out'?_0x34d7c5[_0x6f0a('0x7a')]?_0x34d7c5['User']['fullname']:_0x6f0a('0xeb'):_0x34d7c5[_0x6f0a('0x70')]['firstName']+(_0x34d7c5[_0x6f0a('0x70')]['lastName']?'\x20'+_0x34d7c5[_0x6f0a('0x70')][_0x6f0a('0xdc')]:''),'body':_0x34d7c5[_0x6f0a('0xdd')]?_0x34d7c5[_0x6f0a('0xdd')][_0x6f0a('0xe8')]:_0x34d7c5[_0x6f0a('0x7c')],'direction':_0x34d7c5['direction']==='out'?'A':'C','secret':_0x34d7c5[_0x6f0a('0xec')],'read':_0x34d7c5[_0x6f0a('0x8b')],'attachment':_0x34d7c5[_0x6f0a('0xdd')]};})[_0x6f0a('0x6d')]()};return ejs['renderFile'](path[_0x6f0a('0xd4')](config['root'],'server','views','downloadInteraction.ejs'),{'interaction':_0x262098})['then'](function(_0x5ed2c8){var _0x587d5f=path['join'](_0xbd3440,_0x6f0a('0xed')+_0x205499['id']+'-'+_0x4d742f+_0x6f0a('0xee'));var _0x1f4adb={'path':_0x587d5f,'channel':_0x6f0a('0xe4'),'interactionId':_0x205499['id']};return pdf[_0x6f0a('0xef')](_0x5ed2c8,_0x1f4adb);})[_0x6f0a('0x2f')](function(){return new BPromise(function(_0x389549,_0x582d27){zipdir(_0xbd3440,{'saveTo':_0x2a329f},function(_0x7f41fa,_0x2d2b49){if(_0x7f41fa)return _0x582d27(_0x7f41fa);return _0x389549(_0x2d2b49);});})[_0x6f0a('0x2f')](function(){return new BPromise(function(_0x4b3381,_0x27c37b){rimraf(_0xbd3440,function(_0x1193c4){if(_0x1193c4)_0x27c37b(_0x1193c4);return _0x4b3381();});});})[_0x6f0a('0x2f')](function(){return _0x22c79f[_0x6f0a('0xd3')](_0x2a329f,_0x137a88,function(_0x1606ab){if(_0x1606ab){console['log'](_0x6f0a('0xf0'),_0x1606ab);}else{fs['unlinkSync'](_0x2a329f);}});});});}else{return _0x22c79f[_0x6f0a('0x22')](0xc8);}})[_0x6f0a('0x3c')](handleError(_0x22c79f,null));};
\ No newline at end of file
+var _0x1eaa=['OpenchannelInteraction','rawAttributes','key','getOptions','findAll','openchannel','user','catch','query','type','from','params','model','filters','attributes','fields','length','includeAll','merge','create','body','find','describe','addMessage','OpenchannelMessage','omit','ids','keys','intersection','hasOwnProperty','nolimit','order','sort','where','OpenchannelInteractionId','filter','$gte','split','format','options','include','rows','addTags','setTags','spread','color','openchannelInteractionTags:save','removeTags','download','toString','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','User','fullname','push','CmContact','firstName','lastName','Attachment','Messages','createdAt','direction','secret','read','Account','Owner','get','mkdirSync','Openchannel','N.A.','YYYY-MM-DD\x20HH:mm:ss','closed','closedAt','disposition','threadId','Private','existsSync','createWriteStream','basename','out','System','Contact','value','views','downloadInteraction.ejs','transcript-','.pdf','createPdfFromHTML','error','Unable\x20to\x20delete\x20zip\x20file','unlinkSync','sendStatus','rimraf','zip-dir','moment','util','path','ejs','ioredis','../../components/interaction/service','../../components/parsers/qs','../../components/export/pdf','../../config/logger','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./openchannelInteraction.socket','register','status','json','offset','undefined','limit','count','set','update','then','destroy','end','stack','name','index','map'];(function(_0x7f04ce,_0x51d650){var _0x5ee6c7=function(_0x36d23c){while(--_0x36d23c){_0x7f04ce['push'](_0x7f04ce['shift']());}};_0x5ee6c7(++_0x51d650);}(_0x1eaa,0x1e7));var _0xa1ea=function(_0x5c5f88,_0x429bf){_0x5c5f88=_0x5c5f88-0x0;var _0x501d56=_0x1eaa[_0x5c5f88];return _0x501d56;};'use strict';var rimraf=require(_0xa1ea('0x0'));var zipdir=require(_0xa1ea('0x1'));var moment=require(_0xa1ea('0x2'));var util=require(_0xa1ea('0x3'));var path=require(_0xa1ea('0x4'));var ejs=require(_0xa1ea('0x5'));var fs=require('fs');var _=require('lodash');var Redis=require(_0xa1ea('0x6'));var interaction=require(_0xa1ea('0x7'));var qs=require(_0xa1ea('0x8'));var pdf=require(_0xa1ea('0x9'));var logger=require(_0xa1ea('0xa'))('api');var config=require(_0xa1ea('0xb'));var db=require(_0xa1ea('0xc'))['db'];config[_0xa1ea('0xd')]=_[_0xa1ea('0xe')](config[_0xa1ea('0xd')],{'host':'localhost','port':0x18eb});var socket=require(_0xa1ea('0xf'))(new Redis(config[_0xa1ea('0xd')]));require(_0xa1ea('0x10'))[_0xa1ea('0x11')](socket);function respondWithStatusCode(_0x318f0f,_0x410e03){_0x410e03=_0x410e03||0xcc;return function(_0x3f7962){if(_0x3f7962){return _0x318f0f['sendStatus'](_0x410e03);}return _0x318f0f['status'](_0x410e03)['end']();};}function respondWithResult(_0x4d300d,_0x57b9e4){_0x57b9e4=_0x57b9e4||0xc8;return function(_0x3896f9){if(_0x3896f9){return _0x4d300d[_0xa1ea('0x12')](_0x57b9e4)[_0xa1ea('0x13')](_0x3896f9);}};}function respondWithFilteredResult(_0x3d4fe5,_0x5c6039){return function(_0x1129b7){if(_0x1129b7){var _0x59aac7=typeof _0x5c6039[_0xa1ea('0x14')]===_0xa1ea('0x15')&&typeof _0x5c6039[_0xa1ea('0x16')]==='undefined';var _0x3ea52d=_0x1129b7[_0xa1ea('0x17')];var _0x33cc68=_0x59aac7?0x0:_0x5c6039[_0xa1ea('0x14')];var _0x113f48=_0x59aac7?_0x1129b7['count']:_0x5c6039[_0xa1ea('0x14')]+_0x5c6039[_0xa1ea('0x16')];var _0x13856e;if(_0x113f48>=_0x3ea52d){_0x113f48=_0x3ea52d;_0x13856e=0xc8;}else{_0x13856e=0xce;}_0x3d4fe5[_0xa1ea('0x12')](_0x13856e);return _0x3d4fe5[_0xa1ea('0x18')]('Content-Range',_0x33cc68+'-'+_0x113f48+'/'+_0x3ea52d)[_0xa1ea('0x13')](_0x1129b7);}return null;};}function saveUpdates(_0x14ab5d){return function(_0x5cda82){if(_0x5cda82){return _0x5cda82[_0xa1ea('0x19')](_0x14ab5d)[_0xa1ea('0x1a')](function(_0x1c1345){return _0x1c1345;});}return null;};}function removeEntity(_0x73a73b){return function(_0x2d1470){if(_0x2d1470){return _0x2d1470[_0xa1ea('0x1b')]()[_0xa1ea('0x1a')](function(){_0x73a73b[_0xa1ea('0x12')](0xcc)[_0xa1ea('0x1c')]();});}};}function handleEntityNotFound(_0x2608e3){return function(_0x11a88f){if(!_0x11a88f){_0x2608e3['sendStatus'](0x194);}return _0x11a88f;};}function handleError(_0x5142c1,_0x370d25){_0x370d25=_0x370d25||0x1f4;return function(_0x420263){logger['error'](_0x420263[_0xa1ea('0x1d')]);if(_0x420263[_0xa1ea('0x1e')]){delete _0x420263[_0xa1ea('0x1e')];}_0x5142c1[_0xa1ea('0x12')](_0x370d25)['send'](_0x420263);};}exports[_0xa1ea('0x1f')]=function(_0x21f16b,_0x59cc90){var _0xf63e2d={};var _0x13a16e=_[_0xa1ea('0x20')](db[_0xa1ea('0x21')][_0xa1ea('0x22')],function(_0x39fc5d){return{'name':_0x39fc5d['fieldName'],'type':_0x39fc5d['type'][_0xa1ea('0x23')]};});_0xf63e2d=qs[_0xa1ea('0x24')](_0x13a16e,_0x21f16b);return interaction[_0xa1ea('0x25')](_0xa1ea('0x26'),_0x21f16b['query'],_0x21f16b[_0xa1ea('0x27')],_0xf63e2d,_0x13a16e)[_0xa1ea('0x1a')](respondWithFilteredResult(_0x59cc90,_0xf63e2d))[_0xa1ea('0x28')](handleError(_0x59cc90,null));};exports['show']=function(_0x4b3774,_0x5dde90){var _0x3e2392={};if(_0x4b3774[_0xa1ea('0x29')]['type']&&_0x4b3774[_0xa1ea('0x29')][_0xa1ea('0x2a')]===_0xa1ea('0x2b')){_0x3e2392[_0xa1ea('0x2b')]=_0x4b3774['params']['id'];}else{_0x3e2392['id']=_0x4b3774[_0xa1ea('0x2c')]['id'];}var _0x37faf1={'raw':![],'where':_0x3e2392},_0x54834b={};_0x54834b[_0xa1ea('0x2d')]=_['keys'](db[_0xa1ea('0x21')]['rawAttributes']);_0x54834b[_0xa1ea('0x29')]=_['keys'](_0x4b3774[_0xa1ea('0x29')]);_0x54834b[_0xa1ea('0x2e')]=_['intersection'](_0x54834b['model'],_0x54834b[_0xa1ea('0x29')]);_0x37faf1[_0xa1ea('0x2f')]=_['intersection'](_0x54834b[_0xa1ea('0x2d')],qs[_0xa1ea('0x30')](_0x4b3774[_0xa1ea('0x29')][_0xa1ea('0x30')]));_0x37faf1[_0xa1ea('0x2f')]=_0x37faf1['attributes'][_0xa1ea('0x31')]?_0x37faf1[_0xa1ea('0x2f')]:_0x54834b[_0xa1ea('0x2d')];if(_0x4b3774[_0xa1ea('0x29')][_0xa1ea('0x32')]){_0x37faf1['include']=[{'all':!![]}];}_0x37faf1=_[_0xa1ea('0x33')]({},_0x37faf1,_0x4b3774['options']);return db[_0xa1ea('0x21')]['find'](_0x37faf1)[_0xa1ea('0x1a')](handleEntityNotFound(_0x5dde90,null))[_0xa1ea('0x1a')](respondWithResult(_0x5dde90,null))[_0xa1ea('0x28')](handleError(_0x5dde90,null));};exports[_0xa1ea('0x34')]=function(_0xf7e92a,_0x236b03){return db['OpenchannelInteraction'][_0xa1ea('0x34')](_0xf7e92a[_0xa1ea('0x35')],{})[_0xa1ea('0x1a')](respondWithResult(_0x236b03,0xc9))['catch'](handleError(_0x236b03,null));};exports[_0xa1ea('0x19')]=function(_0x554d5d,_0x35ed84){if(_0x554d5d[_0xa1ea('0x35')]['id']){delete _0x554d5d[_0xa1ea('0x35')]['id'];}return db[_0xa1ea('0x21')]['find']({'where':{'id':_0x554d5d[_0xa1ea('0x2c')]['id']}})['then'](handleEntityNotFound(_0x35ed84,null))['then'](saveUpdates(_0x554d5d['body'],null))[_0xa1ea('0x1a')](respondWithResult(_0x35ed84,null))[_0xa1ea('0x28')](handleError(_0x35ed84,null));};exports[_0xa1ea('0x1b')]=function(_0x2be5fc,_0x3abde5){return db[_0xa1ea('0x21')][_0xa1ea('0x36')]({'where':{'id':_0x2be5fc[_0xa1ea('0x2c')]['id']}})['then'](handleEntityNotFound(_0x3abde5,null))[_0xa1ea('0x1a')](removeEntity(_0x3abde5,null))['catch'](handleError(_0x3abde5,null));};exports[_0xa1ea('0x37')]=function(_0x20c350,_0x23ff7f){return db[_0xa1ea('0x21')][_0xa1ea('0x37')]()[_0xa1ea('0x1a')](respondWithResult(_0x23ff7f,null))['catch'](handleError(_0x23ff7f,null));};exports[_0xa1ea('0x38')]=function(_0x5763a5,_0x1b2c96){return db[_0xa1ea('0x39')]['find']({'where':{'id':_0x5763a5[_0xa1ea('0x2c')]['id']}})[_0xa1ea('0x1a')](handleEntityNotFound(_0x1b2c96,null))[_0xa1ea('0x1a')](function(_0x313eaf){if(_0x313eaf){return _0x313eaf[_0xa1ea('0x38')](_0x5763a5[_0xa1ea('0x35')]['ids'],_[_0xa1ea('0x3a')](_0x5763a5['body'],[_0xa1ea('0x3b'),'id'])||{});}})[_0xa1ea('0x1a')](respondWithResult(_0x1b2c96,null))['catch'](handleError(_0x1b2c96,null));};exports['getMessages']=function(_0x291533,_0x5b3311){var _0x1c4f02={'raw':![],'where':{}};var _0x1e8167={};var _0xf42054={'count':0x0,'rows':[]};return db[_0xa1ea('0x21')]['findOne']({'where':{'id':_0x291533[_0xa1ea('0x2c')]['id']}})['then'](handleEntityNotFound(_0x5b3311,null))[_0xa1ea('0x1a')](function(_0x413694){if(_0x413694){_0x1e8167[_0xa1ea('0x2d')]=_[_0xa1ea('0x3c')](db['OpenchannelMessage'][_0xa1ea('0x22')]);_0x1e8167['query']=_[_0xa1ea('0x3c')](_0x291533[_0xa1ea('0x29')]);_0x1e8167[_0xa1ea('0x2e')]=_['intersection'](_0x1e8167[_0xa1ea('0x2d')],_0x1e8167[_0xa1ea('0x29')]);_0x1c4f02[_0xa1ea('0x2f')]=_[_0xa1ea('0x3d')](_0x1e8167[_0xa1ea('0x2d')],qs[_0xa1ea('0x30')](_0x291533['query'][_0xa1ea('0x30')]));_0x1c4f02[_0xa1ea('0x2f')]=_0x1c4f02[_0xa1ea('0x2f')][_0xa1ea('0x31')]?_0x1c4f02[_0xa1ea('0x2f')]:_0x1e8167[_0xa1ea('0x2d')];if(!_0x291533[_0xa1ea('0x29')][_0xa1ea('0x3e')](_0xa1ea('0x3f'))){_0x1c4f02[_0xa1ea('0x16')]=qs[_0xa1ea('0x16')](_0x291533['query'][_0xa1ea('0x16')]);_0x1c4f02[_0xa1ea('0x14')]=qs['offset'](_0x291533[_0xa1ea('0x29')][_0xa1ea('0x14')]);}_0x1c4f02[_0xa1ea('0x40')]=qs['sort'](_0x291533[_0xa1ea('0x29')][_0xa1ea('0x41')]);_0x1c4f02['where']=qs[_0xa1ea('0x2e')](_['pick'](_0x291533['query'],_0x1e8167['filters']));_0x1c4f02[_0xa1ea('0x42')][_0xa1ea('0x43')]=_0x413694['id'];if(_0x291533['query'][_0xa1ea('0x44')]){_0x1c4f02[_0xa1ea('0x42')]=_[_0xa1ea('0x33')](_0x1c4f02[_0xa1ea('0x42')],{'$or':_[_0xa1ea('0x20')](_0x1c4f02['attributes'],function(_0x13ac2d){var _0x4c76c4={};_0x4c76c4[_0x13ac2d]={'$like':'%'+_0x291533['query']['filter']+'%'};return _0x4c76c4;})});}if(_0x291533[_0xa1ea('0x29')][_0xa1ea('0x45')]){var _0x47cc44=_0x291533['query'][_0xa1ea('0x45')][_0xa1ea('0x46')](',');var _0x55d87c={};_0x55d87c[_0x47cc44[0x0]]={'$gte':moment(_0x47cc44[0x1])[_0xa1ea('0x47')]('YYYY-MM-DD\x20HH:mm:ss')};_0x1c4f02[_0xa1ea('0x42')]=_[_0xa1ea('0x33')](_0x1c4f02[_0xa1ea('0x42')],_0x55d87c);}_0x1c4f02=_['merge']({},_0x1c4f02,_0x291533[_0xa1ea('0x48')]);return db[_0xa1ea('0x39')][_0xa1ea('0x17')]({'where':_0x1c4f02[_0xa1ea('0x42')]})[_0xa1ea('0x1a')](function(_0xebcc98){_0xf42054[_0xa1ea('0x17')]=_0xebcc98;if(_0x291533[_0xa1ea('0x29')]['includeAll']){_0x1c4f02[_0xa1ea('0x49')]=[{'all':!![]}];}return db[_0xa1ea('0x39')][_0xa1ea('0x25')](_0x1c4f02);})[_0xa1ea('0x1a')](function(_0x155c89){_0xf42054[_0xa1ea('0x4a')]=_0x155c89;return _0xf42054;});}})[_0xa1ea('0x1a')](respondWithFilteredResult(_0x5b3311,_0x1c4f02))[_0xa1ea('0x28')](handleError(_0x5b3311,null));};exports[_0xa1ea('0x4b')]=function(_0x48d530,_0x329df3){return db[_0xa1ea('0x21')][_0xa1ea('0x36')]({'where':{'id':_0x48d530[_0xa1ea('0x2c')]['id']}})[_0xa1ea('0x1a')](handleEntityNotFound(_0x329df3,null))[_0xa1ea('0x1a')](function(_0x138326){if(_0x138326){return _0x138326[_0xa1ea('0x4c')](_0x48d530['body'][_0xa1ea('0x3b')],_['omit'](_0x48d530[_0xa1ea('0x35')],[_0xa1ea('0x3b'),'id'])||{})[_0xa1ea('0x4d')](function(){return db['Tag']['findAll']({'attributes':['id',_0xa1ea('0x1e'),_0xa1ea('0x4e')],'where':{'id':_0x48d530['body'][_0xa1ea('0x3b')]}});})[_0xa1ea('0x1a')](function(_0x52758f){socket['emit'](_0xa1ea('0x4f'),{'id':Number(_0x48d530[_0xa1ea('0x2c')]['id']),'tags':_0x52758f||[]});return{'id':Number(_0x48d530[_0xa1ea('0x2c')]['id']),'tags':_0x52758f||[]};});}})[_0xa1ea('0x1a')](respondWithResult(_0x329df3,null))[_0xa1ea('0x28')](handleError(_0x329df3,null));};exports[_0xa1ea('0x50')]=function(_0x5c755b,_0x5e47fa){return db['OpenchannelInteraction'][_0xa1ea('0x36')]({'where':{'id':_0x5c755b[_0xa1ea('0x2c')]['id']}})[_0xa1ea('0x1a')](handleEntityNotFound(_0x5e47fa,null))[_0xa1ea('0x1a')](function(_0x3fd8bf){if(_0x3fd8bf){return _0x3fd8bf[_0xa1ea('0x50')](_0x5c755b[_0xa1ea('0x29')][_0xa1ea('0x3b')]);}})['then'](respondWithStatusCode(_0x5e47fa,null))['catch'](handleError(_0x5e47fa,null));};exports[_0xa1ea('0x51')]=function(_0x2ca439,_0x55bc58){var _0x4fa04f=moment()['unix']()[_0xa1ea('0x52')]();var _0x48b237=path[_0xa1ea('0x53')](config[_0xa1ea('0x54')],_0xa1ea('0x55'),_0xa1ea('0x56'),_0xa1ea('0x57'));var _0x24e1fc=path[_0xa1ea('0x53')](config[_0xa1ea('0x54')],_0xa1ea('0x55'),_0xa1ea('0x56'),_0xa1ea('0x58'));var _0x365b89=path[_0xa1ea('0x53')](_0x48b237,_0x4fa04f);var _0x4a61f6=util[_0xa1ea('0x47')](_0xa1ea('0x59'),_0x2ca439[_0xa1ea('0x2c')]['id'],_0x4fa04f);var _0x30467d=path[_0xa1ea('0x53')](_0x48b237,_0x4a61f6);var _0xc50d15=[];_0xc50d15['push']({'model':db[_0xa1ea('0x5a')],'as':'User','attributes':['id',_0xa1ea('0x5b')],'raw':!![]});_0xc50d15[_0xa1ea('0x5c')]({'model':db[_0xa1ea('0x5d')],'as':'Contact','attributes':['id',_0xa1ea('0x5e'),_0xa1ea('0x5f')],'raw':!![]});if(_0x2ca439[_0xa1ea('0x29')][_0xa1ea('0x58')]){_0xc50d15[_0xa1ea('0x5c')]({'model':db[_0xa1ea('0x60')],'as':_0xa1ea('0x60'),'raw':!![]});}var _0x1a0aed=[{'model':db[_0xa1ea('0x39')],'as':_0xa1ea('0x61'),'attributes':['id','body',_0xa1ea('0x62'),_0xa1ea('0x63'),_0xa1ea('0x64'),_0xa1ea('0x65')],'include':_0xc50d15}];_0x1a0aed[_0xa1ea('0x5c')]({'model':db['OpenchannelAccount'],'as':_0xa1ea('0x66'),'attributes':['id',_0xa1ea('0x1e')]});_0x1a0aed['push']({'model':db['User'],'as':_0xa1ea('0x67'),'attributes':['id',_0xa1ea('0x5b')]});return db[_0xa1ea('0x21')][_0xa1ea('0x36')]({'where':{'id':_0x2ca439['params']['id']},'include':_0x1a0aed})['then'](handleEntityNotFound(_0x55bc58,null))[_0xa1ea('0x1a')](function(_0x20ef71){if(_0x20ef71){var _0x3df605=_0x20ef71[_0xa1ea('0x68')]({'plain':!![]});fs[_0xa1ea('0x69')](_0x365b89);var _0x20c634={'channel':_0xa1ea('0x6a'),'account':_0x3df605[_0xa1ea('0x66')][_0xa1ea('0x1e')],'agent':_0x3df605[_0xa1ea('0x67')]?_0x3df605[_0xa1ea('0x67')][_0xa1ea('0x5b')]:_0xa1ea('0x6b'),'createdAt':moment(_0x3df605['createdAt'])[_0xa1ea('0x47')](_0xa1ea('0x6c'))[_0xa1ea('0x52')](),'closedAt':_0x3df605[_0xa1ea('0x6d')]?moment(_0x3df605[_0xa1ea('0x6e')])[_0xa1ea('0x47')](_0xa1ea('0x6c'))[_0xa1ea('0x52')]():'','disposition':_0x3df605[_0xa1ea('0x6f')],'visibility':_0x3df605[_0xa1ea('0x70')]?'Public':_0xa1ea('0x71'),'messages':_(_0x3df605[_0xa1ea('0x61')])[_0xa1ea('0x44')]({'secret':![]})[_0xa1ea('0x20')](function(_0x55ea64){if(_0x55ea64[_0xa1ea('0x60')]){var _0x2e7b95=path[_0xa1ea('0x53')](_0x24e1fc,_0x55ea64[_0xa1ea('0x60')]['basename']);if(fs[_0xa1ea('0x72')](_0x2e7b95)){fs['createReadStream'](_0x2e7b95)['pipe'](fs[_0xa1ea('0x73')](path[_0xa1ea('0x53')](_0x365b89,_0x55ea64['Attachment'][_0xa1ea('0x74')])));}}return{'date':moment(_0x55ea64['createdAt'])[_0xa1ea('0x47')]('YYYY-MM-DD\x20HH:mm:ss')[_0xa1ea('0x52')](),'sender':_0x55ea64[_0xa1ea('0x63')]===_0xa1ea('0x75')?_0x55ea64['User']?_0x55ea64[_0xa1ea('0x5a')][_0xa1ea('0x5b')]:_0xa1ea('0x76'):_0x55ea64['Contact'][_0xa1ea('0x5e')]+(_0x55ea64[_0xa1ea('0x77')][_0xa1ea('0x5f')]?'\x20'+_0x55ea64[_0xa1ea('0x77')][_0xa1ea('0x5f')]:''),'body':_0x55ea64[_0xa1ea('0x60')]?_0x55ea64['Attachment'][_0xa1ea('0x74')]:_0x55ea64[_0xa1ea('0x35')],'direction':_0x55ea64[_0xa1ea('0x63')]===_0xa1ea('0x75')?'A':'C','secret':_0x55ea64[_0xa1ea('0x64')],'read':_0x55ea64['read'],'attachment':_0x55ea64[_0xa1ea('0x60')]};})[_0xa1ea('0x78')]()};return ejs['renderFile'](path['join'](config[_0xa1ea('0x54')],'server',_0xa1ea('0x79'),_0xa1ea('0x7a')),{'interaction':_0x20c634})[_0xa1ea('0x1a')](function(_0x187995){var _0x3f9a48=path[_0xa1ea('0x53')](_0x365b89,_0xa1ea('0x7b')+_0x3df605['id']+'-'+_0x4fa04f+_0xa1ea('0x7c'));var _0x2d43a4={'path':_0x3f9a48,'channel':_0xa1ea('0x6a'),'interactionId':_0x3df605['id']};return pdf[_0xa1ea('0x7d')](_0x187995,_0x2d43a4);})['then'](function(){return new Promise(function(_0x394588,_0xe61f9b){zipdir(_0x365b89,{'saveTo':_0x30467d},function(_0x4b5155,_0xd13023){if(_0x4b5155)return _0xe61f9b(_0x4b5155);return _0x394588(_0xd13023);});})['then'](function(){return new Promise(function(_0x1313bd,_0x3e56a3){rimraf(_0x365b89,function(_0x2badce){if(_0x2badce)_0x3e56a3(_0x2badce);return _0x1313bd();});});})['then'](function(){return _0x55bc58[_0xa1ea('0x51')](_0x30467d,_0x4a61f6,function(_0x1f1eb9){if(_0x1f1eb9){logger[_0xa1ea('0x7e')](_0xa1ea('0x7f'),_0x1f1eb9);}else{fs[_0xa1ea('0x80')](_0x30467d);}});});});}else{return _0x55bc58[_0xa1ea('0x81')](0xc8);}})['catch'](handleError(_0x55bc58,null));};
\ No newline at end of file