Built motion from commit 753c950e.|2.5.42
[motion2.git] / server / api / chatGroup / chatGroup.controller.js
index e9427cd..8dda5be 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x3fd0=['map','ChatGroup','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','params','includeAll','find','create','body','describe','getUnread','ChatInternalMessage','count','user','addMembers','ids','getMembers','findOne','User','length','removeMembers','addMessage','ChatGroupId','getMessages','$gte','split','YYYY-MM-DD\x20HH:mm:ss','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','register','jayson/promise','client','http','test','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','info','ChatGroup,\x20%s,\x20%s','request\x20sent','debug','ChatGroup,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','json','offset','limit','Content-Range','apply','reject','save','update','then','destroy','stack','name','index'];(function(_0x4565bf,_0x5ad9d6){var _0x5610ba=function(_0x170988){while(--_0x170988){_0x4565bf['push'](_0x4565bf['shift']());}};_0x5610ba(++_0x5ad9d6);}(_0x3fd0,0x10f));var _0x03fd=function(_0x5ee211,_0x1e24c8){_0x5ee211=_0x5ee211-0x0;var _0x1c279c=_0x3fd0[_0x5ee211];return _0x1c279c;};'use strict';var pdf=require(_0x03fd('0x0'));var emlformat=require(_0x03fd('0x1'));var rimraf=require(_0x03fd('0x2'));var zipdir=require(_0x03fd('0x3'));var jsonpatch=require(_0x03fd('0x4'));var rp=require('request-promise');var moment=require(_0x03fd('0x5'));var BPromise=require(_0x03fd('0x6'));var Mustache=require('mustache');var util=require(_0x03fd('0x7'));var path=require(_0x03fd('0x8'));var sox=require(_0x03fd('0x9'));var csv=require(_0x03fd('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x03fd('0xb'));var squel=require(_0x03fd('0xc'));var crypto=require(_0x03fd('0xd'));var jsforce=require(_0x03fd('0xe'));var deskjs=require(_0x03fd('0xf'));var toCsv=require(_0x03fd('0xa'));var querystring=require(_0x03fd('0x10'));var Papa=require(_0x03fd('0x11'));var Redis=require('ioredis');var authService=require(_0x03fd('0x12'));var qs=require(_0x03fd('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x03fd('0x14'));var logger=require(_0x03fd('0x15'))('api');var utils=require(_0x03fd('0x16'));var config=require(_0x03fd('0x17'));var db=require(_0x03fd('0x18'))['db'];config[_0x03fd('0x19')]=_['defaults'](config[_0x03fd('0x19')],{'host':_0x03fd('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x03fd('0x19')]));require('./chatGroup.socket')[_0x03fd('0x1b')](socket);var jayson=require(_0x03fd('0x1c'));var client=jayson[_0x03fd('0x1d')][_0x03fd('0x1e')]({'port':0x232a});function checkPasswordPattern(_0xfcd1b5,_0x2c7324,_0x175915){if(_0x175915){var _0x37a38e=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x37a38e[_0x03fd('0x1f')](_0x2c7324)){return _0xfcd1b5;}else{throw new db['Sequelize'][(_0x03fd('0x20'))](_0x03fd('0x21'));}}else{return _0xfcd1b5;}}function respondWithRpcPromise(_0x5c227a,_0x145c7b,_0x39677f,_0x28c121){return new BPromise(function(_0x265dc3,_0x2b83f8){var _0x445537=_0x28c121||client;return _0x445537[_0x03fd('0x22')](_0x5c227a,_0x39677f)['then'](function(_0x1273aa){logger[_0x03fd('0x23')](_0x03fd('0x24'),_0x145c7b,_0x03fd('0x25'));logger[_0x03fd('0x26')](_0x03fd('0x27'),_0x145c7b,'request\x20sent',JSON[_0x03fd('0x28')](_0x1273aa));if(_0x1273aa[_0x03fd('0x29')]){if(_0x1273aa[_0x03fd('0x29')][_0x03fd('0x2a')]===0x1f4){logger['error']('ChatGroup,\x20%s,\x20%s',_0x145c7b,_0x1273aa[_0x03fd('0x29')][_0x03fd('0x2b')]);return _0x2b83f8(_0x1273aa[_0x03fd('0x29')][_0x03fd('0x2b')]);}logger['error']('ChatGroup,\x20%s,\x20%s',_0x145c7b,_0x1273aa[_0x03fd('0x29')]['message']);return _0x265dc3(_0x1273aa[_0x03fd('0x29')][_0x03fd('0x2b')]);}else{logger[_0x03fd('0x23')](_0x03fd('0x24'),_0x145c7b,_0x03fd('0x25'));_0x265dc3(_0x1273aa[_0x03fd('0x2c')]['message']);}})[_0x03fd('0x2d')](function(_0x286e3a){logger[_0x03fd('0x29')]('ChatGroup,\x20%s,\x20%s',_0x145c7b,_0x286e3a);_0x2b83f8(_0x286e3a);});});}function respondWithStatusCode(_0x471764,_0x25a445){_0x25a445=_0x25a445||0xcc;return function(_0x4b0d59){if(_0x4b0d59){return _0x471764[_0x03fd('0x2e')](_0x25a445);}return _0x471764[_0x03fd('0x2f')](_0x25a445)[_0x03fd('0x30')]();};}function respondWithResult(_0x162466,_0x4e9410){_0x4e9410=_0x4e9410||0xc8;return function(_0x2c1b61){if(_0x2c1b61){return _0x162466[_0x03fd('0x2f')](_0x4e9410)[_0x03fd('0x31')](_0x2c1b61);}};}function respondWithFilteredResult(_0x2f5208,_0x4645c3){return function(_0x493403){if(_0x493403){var _0x26c5f7=_0x493403['count'],_0x167743=_0x4645c3[_0x03fd('0x32')],_0x2c382f=_0x4645c3[_0x03fd('0x32')]+_0x4645c3[_0x03fd('0x33')],_0x41f410;if(_0x2c382f>=_0x26c5f7){_0x2c382f=_0x26c5f7;_0x41f410=0xc8;}else{_0x41f410=0xce;}_0x2f5208[_0x03fd('0x2f')](_0x41f410);return _0x2f5208['set'](_0x03fd('0x34'),_0x167743+'-'+_0x2c382f+'/'+_0x26c5f7)[_0x03fd('0x31')](_0x493403);}return null;};}function patchUpdates(_0x557240){return function(_0x5485f6){try{jsonpatch[_0x03fd('0x35')](_0x5485f6,_0x557240,!![]);}catch(_0x16e95f){return BPromise[_0x03fd('0x36')](_0x16e95f);}return _0x5485f6[_0x03fd('0x37')]();};}function saveUpdates(_0x281db7,_0x903358){return function(_0x4ccccd){if(_0x4ccccd){return _0x4ccccd[_0x03fd('0x38')](_0x281db7)[_0x03fd('0x39')](function(_0xb49a06){return _0xb49a06;});}return null;};}function removeEntity(_0x44ffd9,_0x4d544b){return function(_0x20708e){if(_0x20708e){return _0x20708e[_0x03fd('0x3a')]()[_0x03fd('0x39')](function(){_0x44ffd9[_0x03fd('0x2f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x927b07,_0x2a28c9){return function(_0x5ce678){if(!_0x5ce678){_0x927b07[_0x03fd('0x2e')](0x194);}return _0x5ce678;};}function handleError(_0x2a3f8d,_0x378861){_0x378861=_0x378861||0x1f4;return function(_0x575790){logger[_0x03fd('0x29')](_0x575790[_0x03fd('0x3b')]);if(_0x575790['name']){delete _0x575790[_0x03fd('0x3c')];}_0x2a3f8d['status'](_0x378861)['send'](_0x575790);};}exports[_0x03fd('0x3d')]=function(_0x1972d0,_0x175828){var _0x20fdfa={},_0x67c890={},_0x2cefc6={'count':0x0,'rows':[]};var _0x283373=_[_0x03fd('0x3e')](db[_0x03fd('0x3f')][_0x03fd('0x40')],function(_0x1a2eac){return{'name':_0x1a2eac[_0x03fd('0x41')],'type':_0x1a2eac[_0x03fd('0x42')][_0x03fd('0x43')]};});_0x67c890[_0x03fd('0x44')]=_[_0x03fd('0x3e')](_0x283373,_0x03fd('0x3c'));_0x67c890[_0x03fd('0x45')]=_[_0x03fd('0x46')](_0x1972d0[_0x03fd('0x45')]);_0x67c890[_0x03fd('0x47')]=_['intersection'](_0x67c890[_0x03fd('0x44')],_0x67c890[_0x03fd('0x45')]);_0x20fdfa['attributes']=_[_0x03fd('0x48')](_0x67c890[_0x03fd('0x44')],qs[_0x03fd('0x49')](_0x1972d0[_0x03fd('0x45')][_0x03fd('0x49')]));_0x20fdfa[_0x03fd('0x4a')]=_0x20fdfa[_0x03fd('0x4a')]['length']?_0x20fdfa[_0x03fd('0x4a')]:_0x67c890[_0x03fd('0x44')];if(!_0x1972d0[_0x03fd('0x45')][_0x03fd('0x4b')](_0x03fd('0x4c'))){_0x20fdfa[_0x03fd('0x33')]=qs['limit'](_0x1972d0[_0x03fd('0x45')]['limit']);_0x20fdfa['offset']=qs[_0x03fd('0x32')](_0x1972d0[_0x03fd('0x45')][_0x03fd('0x32')]);}_0x20fdfa[_0x03fd('0x4d')]=qs[_0x03fd('0x4e')](_0x1972d0['query']['sort']);_0x20fdfa[_0x03fd('0x4f')]=qs['filters'](_[_0x03fd('0x50')](_0x1972d0[_0x03fd('0x45')],_0x67c890[_0x03fd('0x47')]),_0x283373);if(_0x1972d0[_0x03fd('0x45')][_0x03fd('0x51')]){_0x20fdfa[_0x03fd('0x4f')]=_[_0x03fd('0x52')](_0x20fdfa[_0x03fd('0x4f')],{'$or':_[_0x03fd('0x3e')](_0x283373,function(_0x421169){if(_0x421169[_0x03fd('0x42')]!==_0x03fd('0x53')){var _0x2b420a={};_0x2b420a[_0x421169[_0x03fd('0x3c')]]={'$like':'%'+_0x1972d0[_0x03fd('0x45')][_0x03fd('0x51')]+'%'};return _0x2b420a;}})});}_0x20fdfa=_['merge']({},_0x20fdfa,_0x1972d0[_0x03fd('0x54')]);var _0x1de314={'where':_0x20fdfa[_0x03fd('0x4f')]};return db[_0x03fd('0x3f')]['count'](_0x1de314)['then'](function(_0x7c4abc){_0x2cefc6['count']=_0x7c4abc;if(_0x1972d0[_0x03fd('0x45')]['includeAll']){_0x20fdfa[_0x03fd('0x55')]=[{'all':!![]}];}return db[_0x03fd('0x3f')][_0x03fd('0x56')](_0x20fdfa);})['then'](function(_0x505ee1){_0x2cefc6[_0x03fd('0x57')]=_0x505ee1;return _0x2cefc6;})[_0x03fd('0x39')](respondWithFilteredResult(_0x175828,_0x20fdfa))['catch'](handleError(_0x175828,null));};exports['show']=function(_0x3f7114,_0x24b08a){var _0x4cf57d={'raw':!![],'where':{'id':_0x3f7114[_0x03fd('0x58')]['id']}},_0x3c1eac={};_0x3c1eac['model']=_[_0x03fd('0x46')](db[_0x03fd('0x3f')]['rawAttributes']);_0x3c1eac[_0x03fd('0x45')]=_[_0x03fd('0x46')](_0x3f7114[_0x03fd('0x45')]);_0x3c1eac[_0x03fd('0x47')]=_[_0x03fd('0x48')](_0x3c1eac['model'],_0x3c1eac['query']);_0x4cf57d[_0x03fd('0x4a')]=_[_0x03fd('0x48')](_0x3c1eac['model'],qs['fields'](_0x3f7114[_0x03fd('0x45')][_0x03fd('0x49')]));_0x4cf57d[_0x03fd('0x4a')]=_0x4cf57d['attributes']['length']?_0x4cf57d['attributes']:_0x3c1eac[_0x03fd('0x44')];if(_0x3f7114[_0x03fd('0x45')][_0x03fd('0x59')]){_0x4cf57d[_0x03fd('0x55')]=[{'all':!![]}];}_0x4cf57d=_[_0x03fd('0x52')]({},_0x4cf57d,_0x3f7114['options']);return db[_0x03fd('0x3f')][_0x03fd('0x5a')](_0x4cf57d)[_0x03fd('0x39')](handleEntityNotFound(_0x24b08a,null))['then'](respondWithResult(_0x24b08a,null))[_0x03fd('0x2d')](handleError(_0x24b08a,null));};exports[_0x03fd('0x5b')]=function(_0x26723f,_0x456b01){return db['ChatGroup'][_0x03fd('0x5b')](_0x26723f[_0x03fd('0x5c')],{})[_0x03fd('0x39')](respondWithResult(_0x456b01,0xc9))['catch'](handleError(_0x456b01,null));};exports['update']=function(_0x4614e7,_0x1f258d){if(_0x4614e7[_0x03fd('0x5c')]['id']){delete _0x4614e7[_0x03fd('0x5c')]['id'];}return db[_0x03fd('0x3f')][_0x03fd('0x5a')]({'where':{'id':_0x4614e7[_0x03fd('0x58')]['id']}})[_0x03fd('0x39')](handleEntityNotFound(_0x1f258d,null))[_0x03fd('0x39')](saveUpdates(_0x4614e7[_0x03fd('0x5c')],null))['then'](respondWithResult(_0x1f258d,null))[_0x03fd('0x2d')](handleError(_0x1f258d,null));};exports[_0x03fd('0x3a')]=function(_0x36f0b1,_0x4d1779){return db[_0x03fd('0x3f')][_0x03fd('0x5a')]({'where':{'id':_0x36f0b1[_0x03fd('0x58')]['id']}})[_0x03fd('0x39')](handleEntityNotFound(_0x4d1779,null))['then'](removeEntity(_0x4d1779,null))['catch'](handleError(_0x4d1779,null));};exports[_0x03fd('0x5d')]=function(_0x730f1,_0x220396){return db['ChatGroup']['describe']()[_0x03fd('0x39')](respondWithResult(_0x220396,null))[_0x03fd('0x2d')](handleError(_0x220396,null));};exports[_0x03fd('0x5e')]=function(_0x440093,_0x1a8f17,_0x32c14c){return db[_0x03fd('0x5f')][_0x03fd('0x60')]({'where':{'ChatGroupId':_0x440093[_0x03fd('0x58')]['id'],'ToId':_0x440093[_0x03fd('0x61')]['id'],'read':![]}})[_0x03fd('0x39')](function(_0x536ed6){return{'id':_['toInteger'](_0x440093[_0x03fd('0x58')]['id']),'count':_0x536ed6};})['then'](respondWithResult(_0x1a8f17,null))[_0x03fd('0x2d')](handleError(_0x1a8f17,null));};exports[_0x03fd('0x62')]=function(_0x36fbe,_0x2c8b20,_0xfc7996){return db[_0x03fd('0x3f')]['find']({'where':{'id':_0x36fbe[_0x03fd('0x58')]['id']}})[_0x03fd('0x39')](handleEntityNotFound(_0x2c8b20,null))[_0x03fd('0x39')](function(_0x537358){if(_0x537358){return _0x537358[_0x03fd('0x62')](_0x36fbe[_0x03fd('0x5c')][_0x03fd('0x63')],_['omit'](_0x36fbe[_0x03fd('0x5c')],[_0x03fd('0x63'),'id'])||{});}})['then'](respondWithResult(_0x2c8b20,null))['catch'](handleError(_0x2c8b20,null));};exports[_0x03fd('0x64')]=function(_0x42f877,_0x38676f,_0xb63119){var _0x2d49e2={};var _0x307a18={};var _0x1899f1;var _0x4508b0;return db['ChatGroup'][_0x03fd('0x65')]({'where':{'id':_0x42f877[_0x03fd('0x58')]['id']}})[_0x03fd('0x39')](handleEntityNotFound(_0x38676f,null))[_0x03fd('0x39')](function(_0x45fa23){if(_0x45fa23){_0x1899f1=_0x45fa23;_0x307a18[_0x03fd('0x44')]=_[_0x03fd('0x46')](db[_0x03fd('0x66')][_0x03fd('0x40')]);_0x307a18[_0x03fd('0x45')]=_[_0x03fd('0x46')](_0x42f877[_0x03fd('0x45')]);_0x307a18[_0x03fd('0x47')]=_[_0x03fd('0x48')](_0x307a18[_0x03fd('0x44')],_0x307a18[_0x03fd('0x45')]);_0x2d49e2[_0x03fd('0x4a')]=_[_0x03fd('0x48')](_0x307a18['model'],qs[_0x03fd('0x49')](_0x42f877[_0x03fd('0x45')][_0x03fd('0x49')]));_0x2d49e2['attributes']=_0x2d49e2[_0x03fd('0x4a')][_0x03fd('0x67')]?_0x2d49e2[_0x03fd('0x4a')]:_0x307a18[_0x03fd('0x44')];_0x2d49e2['order']=qs[_0x03fd('0x4e')](_0x42f877[_0x03fd('0x45')]['sort']);_0x2d49e2[_0x03fd('0x4f')]=qs['filters'](_[_0x03fd('0x50')](_0x42f877[_0x03fd('0x45')],_0x307a18[_0x03fd('0x47')]));if(_0x42f877[_0x03fd('0x45')][_0x03fd('0x51')]){_0x2d49e2[_0x03fd('0x4f')]=_[_0x03fd('0x52')](_0x2d49e2[_0x03fd('0x4f')],{'$or':_[_0x03fd('0x3e')](_0x2d49e2[_0x03fd('0x4a')],function(_0x2ab9b0){var _0x4caed8={};_0x4caed8[_0x2ab9b0]={'$like':'%'+_0x42f877[_0x03fd('0x45')][_0x03fd('0x51')]+'%'};return _0x4caed8;})});}_0x2d49e2=_[_0x03fd('0x52')]({},_0x2d49e2,_0x42f877[_0x03fd('0x54')]);return _0x1899f1['getMembers'](_0x2d49e2);}})[_0x03fd('0x39')](function(_0x84528d){if(_0x84528d){_0x4508b0=_0x84528d['length'];if(!_0x42f877[_0x03fd('0x45')][_0x03fd('0x4b')](_0x03fd('0x4c'))){_0x2d49e2[_0x03fd('0x33')]=qs[_0x03fd('0x33')](_0x42f877['query'][_0x03fd('0x33')]);_0x2d49e2[_0x03fd('0x32')]=qs[_0x03fd('0x32')](_0x42f877['query'][_0x03fd('0x32')]);}return _0x1899f1[_0x03fd('0x64')](_0x2d49e2);}})[_0x03fd('0x39')](function(_0x39aeea){if(_0x39aeea){return _0x39aeea?{'count':_0x4508b0,'rows':_0x39aeea}:null;}})[_0x03fd('0x39')](respondWithResult(_0x38676f,null))[_0x03fd('0x2d')](handleError(_0x38676f,null));};exports['removeMembers']=function(_0x770b80,_0x50dc1b,_0x1855cc){return db['ChatGroup']['find']({'where':{'id':_0x770b80[_0x03fd('0x58')]['id']}})['then'](handleEntityNotFound(_0x50dc1b,null))[_0x03fd('0x39')](function(_0x5e34f4){if(_0x5e34f4){return _0x5e34f4[_0x03fd('0x68')](_0x770b80[_0x03fd('0x45')][_0x03fd('0x63')]);}})[_0x03fd('0x39')](respondWithStatusCode(_0x50dc1b,null))[_0x03fd('0x2d')](handleError(_0x50dc1b,null));};exports[_0x03fd('0x69')]=function(_0x2c86fb,_0x2f2f23,_0x48d748){if(_0x2c86fb[_0x03fd('0x5c')]['id']){delete _0x2c86fb[_0x03fd('0x5c')]['id'];}return db[_0x03fd('0x3f')][_0x03fd('0x5a')]({'where':{'id':_0x2c86fb[_0x03fd('0x58')]['id']}})[_0x03fd('0x39')](handleEntityNotFound(_0x2f2f23,null))[_0x03fd('0x39')](function(_0x3b797a){if(_0x3b797a){_0x2c86fb[_0x03fd('0x5c')][_0x03fd('0x6a')]=_0x3b797a['id'];return db[_0x03fd('0x5f')][_0x03fd('0x5b')](_0x2c86fb[_0x03fd('0x5c')]);}})[_0x03fd('0x39')](respondWithResult(_0x2f2f23,null))[_0x03fd('0x2d')](handleError(_0x2f2f23,null));};exports[_0x03fd('0x6b')]=function(_0x3af2bf,_0x29bfda,_0x5056d2){var _0x4bf539={};var _0x31e12a={};var _0x1741db;var _0x58cbcf;return db[_0x03fd('0x3f')][_0x03fd('0x65')]({'where':{'id':_0x3af2bf[_0x03fd('0x58')]['id']}})[_0x03fd('0x39')](handleEntityNotFound(_0x29bfda,null))[_0x03fd('0x39')](function(_0x1ddfeb){if(_0x1ddfeb){_0x1741db=_0x1ddfeb;_0x31e12a['model']=_['keys'](db[_0x03fd('0x5f')]['rawAttributes']);_0x31e12a['query']=_[_0x03fd('0x46')](_0x3af2bf[_0x03fd('0x45')]);_0x31e12a[_0x03fd('0x47')]=_[_0x03fd('0x48')](_0x31e12a[_0x03fd('0x44')],_0x31e12a[_0x03fd('0x45')]);_0x4bf539['attributes']=_['intersection'](_0x31e12a[_0x03fd('0x44')],qs[_0x03fd('0x49')](_0x3af2bf[_0x03fd('0x45')][_0x03fd('0x49')]));_0x4bf539[_0x03fd('0x4a')]=_0x4bf539['attributes']['length']?_0x4bf539[_0x03fd('0x4a')]:_0x31e12a[_0x03fd('0x44')];_0x4bf539[_0x03fd('0x4d')]=qs[_0x03fd('0x4e')](_0x3af2bf[_0x03fd('0x45')][_0x03fd('0x4e')]);_0x4bf539[_0x03fd('0x4f')]=qs[_0x03fd('0x47')](_[_0x03fd('0x50')](_0x3af2bf['query'],_0x31e12a[_0x03fd('0x47')]));if(_0x3af2bf[_0x03fd('0x45')][_0x03fd('0x51')]){_0x4bf539[_0x03fd('0x4f')]=_[_0x03fd('0x52')](_0x4bf539[_0x03fd('0x4f')],{'$or':_['map'](_0x4bf539[_0x03fd('0x4a')],function(_0x17f48c){var _0x369dab={};_0x369dab[_0x17f48c]={'$like':'%'+_0x3af2bf[_0x03fd('0x45')][_0x03fd('0x51')]+'%'};return _0x369dab;})});}if(_0x3af2bf[_0x03fd('0x45')][_0x03fd('0x6c')]){var _0x16e590=_0x3af2bf[_0x03fd('0x45')]['$gte'][_0x03fd('0x6d')](',');var _0x20b820={};_0x20b820[_0x16e590[0x0]]={'$gte':moment(_0x16e590[0x1])['format'](_0x03fd('0x6e'))};_0x4bf539[_0x03fd('0x4f')]=_[_0x03fd('0x52')](_0x4bf539[_0x03fd('0x4f')],_0x20b820);}_0x4bf539=_[_0x03fd('0x52')]({},_0x4bf539,_0x3af2bf['options']);return _0x1741db['getMessages'](_0x4bf539);}})[_0x03fd('0x39')](function(_0x3f407b){if(_0x3f407b){_0x58cbcf=_0x3f407b[_0x03fd('0x67')];if(!_0x3af2bf[_0x03fd('0x45')]['hasOwnProperty'](_0x03fd('0x4c'))){_0x4bf539['limit']=qs[_0x03fd('0x33')](_0x3af2bf[_0x03fd('0x45')][_0x03fd('0x33')]);_0x4bf539['offset']=qs[_0x03fd('0x32')](_0x3af2bf[_0x03fd('0x45')]['offset']);}return _0x1741db[_0x03fd('0x6b')](_0x4bf539);}})[_0x03fd('0x39')](function(_0xd8e40){if(_0xd8e40){return _0xd8e40?{'count':_0x58cbcf,'rows':_0xd8e40}:null;}})[_0x03fd('0x39')](respondWithResult(_0x29bfda,null))['catch'](handleError(_0x29bfda,null));};
\ No newline at end of file
+var _0xc631=['update','destroy','then','sendStatus','stack','name','send','index','map','ChatGroup','rawAttributes','fieldName','type','key','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','create','body','find','catch','describe','ChatInternalMessage','user','toInteger','ids','omit','getMembers','findOne','User','order','pick','removeMembers','addMessage','ChatGroupId','getMessages','$gte','split','format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./chatGroup.socket','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject'];(function(_0x39e84d,_0x11931d){var _0x1991bc=function(_0xc81e32){while(--_0xc81e32){_0x39e84d['push'](_0x39e84d['shift']());}};_0x1991bc(++_0x11931d);}(_0xc631,0x163));var _0x1c63=function(_0x3bc326,_0x3e5ab9){_0x3bc326=_0x3bc326-0x0;var _0x5c6973=_0xc631[_0x3bc326];return _0x5c6973;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1c63('0x0'));var zipdir=require(_0x1c63('0x1'));var jsonpatch=require(_0x1c63('0x2'));var rp=require(_0x1c63('0x3'));var moment=require(_0x1c63('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x1c63('0x5'));var util=require('util');var path=require(_0x1c63('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x1c63('0x7'));var fs=require('fs');var fs_extra=require(_0x1c63('0x8'));var _=require(_0x1c63('0x9'));var squel=require(_0x1c63('0xa'));var crypto=require(_0x1c63('0xb'));var jsforce=require(_0x1c63('0xc'));var deskjs=require(_0x1c63('0xd'));var toCsv=require(_0x1c63('0xe'));var querystring=require(_0x1c63('0xf'));var Papa=require(_0x1c63('0x10'));var Redis=require('ioredis');var authService=require(_0x1c63('0x11'));var qs=require(_0x1c63('0x12'));var as=require(_0x1c63('0x13'));var hardwareService=require(_0x1c63('0x14'));var logger=require(_0x1c63('0x15'))(_0x1c63('0x16'));var utils=require('../../config/utils');var config=require(_0x1c63('0x17'));var licenseUtil=require(_0x1c63('0x18'));var db=require(_0x1c63('0x19'))['db'];config['redis']=_['defaults'](config[_0x1c63('0x1a')],{'host':_0x1c63('0x1b'),'port':0x18eb});var socket=require(_0x1c63('0x1c'))(new Redis(config[_0x1c63('0x1a')]));require(_0x1c63('0x1d'))['register'](socket);function respondWithStatusCode(_0x3d832d,_0x52e7c5){_0x52e7c5=_0x52e7c5||0xcc;return function(_0x359a52){if(_0x359a52){return _0x3d832d['sendStatus'](_0x52e7c5);}return _0x3d832d[_0x1c63('0x1e')](_0x52e7c5)[_0x1c63('0x1f')]();};}function respondWithResult(_0x4f7aa0,_0x33b3b7){_0x33b3b7=_0x33b3b7||0xc8;return function(_0x893b04){if(_0x893b04){return _0x4f7aa0[_0x1c63('0x1e')](_0x33b3b7)[_0x1c63('0x20')](_0x893b04);}};}function respondWithFilteredResult(_0x5b567b,_0x32d23f){return function(_0xbcf985){if(_0xbcf985){var _0x599a75=typeof _0x32d23f['offset']===_0x1c63('0x21')&&typeof _0x32d23f[_0x1c63('0x22')]===_0x1c63('0x21');var _0x4ce014=_0xbcf985[_0x1c63('0x23')];var _0x53b7ad=_0x599a75?0x0:_0x32d23f[_0x1c63('0x24')];var _0xfa6bcc=_0x599a75?_0xbcf985[_0x1c63('0x23')]:_0x32d23f['offset']+_0x32d23f[_0x1c63('0x22')];var _0x3cda60;if(_0xfa6bcc>=_0x4ce014){_0xfa6bcc=_0x4ce014;_0x3cda60=0xc8;}else{_0x3cda60=0xce;}_0x5b567b['status'](_0x3cda60);return _0x5b567b[_0x1c63('0x25')](_0x1c63('0x26'),_0x53b7ad+'-'+_0xfa6bcc+'/'+_0x4ce014)[_0x1c63('0x20')](_0xbcf985);}return null;};}function patchUpdates(_0x3c1c75){return function(_0x293e16){try{jsonpatch[_0x1c63('0x27')](_0x293e16,_0x3c1c75,!![]);}catch(_0x35671a){return BPromise[_0x1c63('0x28')](_0x35671a);}return _0x293e16['save']();};}function saveUpdates(_0x5d396d,_0x4226f9){return function(_0x8356f6){if(_0x8356f6){return _0x8356f6[_0x1c63('0x29')](_0x5d396d)['then'](function(_0x1b6a74){return _0x1b6a74;});}return null;};}function removeEntity(_0x55d049,_0x1c69a3){return function(_0x1641c2){if(_0x1641c2){return _0x1641c2[_0x1c63('0x2a')]()[_0x1c63('0x2b')](function(){_0x55d049[_0x1c63('0x1e')](0xcc)[_0x1c63('0x1f')]();});}};}function handleEntityNotFound(_0x461aff,_0x285bc6){return function(_0x3c0351){if(!_0x3c0351){_0x461aff[_0x1c63('0x2c')](0x194);}return _0x3c0351;};}function handleError(_0x25a23a,_0x5d3696){_0x5d3696=_0x5d3696||0x1f4;return function(_0x24d824){logger['error'](_0x24d824[_0x1c63('0x2d')]);if(_0x24d824[_0x1c63('0x2e')]){delete _0x24d824[_0x1c63('0x2e')];}_0x25a23a[_0x1c63('0x1e')](_0x5d3696)[_0x1c63('0x2f')](_0x24d824);};}exports[_0x1c63('0x30')]=function(_0xd4f8f9,_0x1fe4be){var _0xa2b2b6={},_0xce5092={},_0x19e344={'count':0x0,'rows':[]};var _0x372d15=_[_0x1c63('0x31')](db[_0x1c63('0x32')][_0x1c63('0x33')],function(_0x310085){return{'name':_0x310085[_0x1c63('0x34')],'type':_0x310085[_0x1c63('0x35')][_0x1c63('0x36')]};});_0xce5092['model']=_['map'](_0x372d15,'name');_0xce5092['query']=_[_0x1c63('0x37')](_0xd4f8f9[_0x1c63('0x38')]);_0xce5092[_0x1c63('0x39')]=_[_0x1c63('0x3a')](_0xce5092[_0x1c63('0x3b')],_0xce5092[_0x1c63('0x38')]);_0xa2b2b6[_0x1c63('0x3c')]=_[_0x1c63('0x3a')](_0xce5092[_0x1c63('0x3b')],qs[_0x1c63('0x3d')](_0xd4f8f9['query']['fields']));_0xa2b2b6[_0x1c63('0x3c')]=_0xa2b2b6[_0x1c63('0x3c')][_0x1c63('0x3e')]?_0xa2b2b6[_0x1c63('0x3c')]:_0xce5092[_0x1c63('0x3b')];if(!_0xd4f8f9[_0x1c63('0x38')][_0x1c63('0x3f')](_0x1c63('0x40'))){_0xa2b2b6[_0x1c63('0x22')]=qs[_0x1c63('0x22')](_0xd4f8f9[_0x1c63('0x38')][_0x1c63('0x22')]);_0xa2b2b6[_0x1c63('0x24')]=qs[_0x1c63('0x24')](_0xd4f8f9[_0x1c63('0x38')][_0x1c63('0x24')]);}_0xa2b2b6['order']=qs['sort'](_0xd4f8f9[_0x1c63('0x38')][_0x1c63('0x41')]);_0xa2b2b6['where']=qs[_0x1c63('0x39')](_['pick'](_0xd4f8f9['query'],_0xce5092['filters']),_0x372d15);if(_0xd4f8f9[_0x1c63('0x38')][_0x1c63('0x42')]){_0xa2b2b6[_0x1c63('0x43')]=_[_0x1c63('0x44')](_0xa2b2b6[_0x1c63('0x43')],{'$or':_[_0x1c63('0x31')](_0x372d15,function(_0x33355b){if(_0x33355b['type']!==_0x1c63('0x45')){var _0x3e96ce={};_0x3e96ce[_0x33355b[_0x1c63('0x2e')]]={'$like':'%'+_0xd4f8f9[_0x1c63('0x38')][_0x1c63('0x42')]+'%'};return _0x3e96ce;}})});}_0xa2b2b6=_['merge']({},_0xa2b2b6,_0xd4f8f9[_0x1c63('0x46')]);var _0x4d4ef2={'where':_0xa2b2b6['where']};return db['ChatGroup']['count'](_0x4d4ef2)['then'](function(_0x10eb4e){_0x19e344[_0x1c63('0x23')]=_0x10eb4e;if(_0xd4f8f9[_0x1c63('0x38')][_0x1c63('0x47')]){_0xa2b2b6[_0x1c63('0x48')]=[{'all':!![]}];}return db[_0x1c63('0x32')][_0x1c63('0x49')](_0xa2b2b6);})['then'](function(_0xceff6e){_0x19e344[_0x1c63('0x4a')]=_0xceff6e;return _0x19e344;})['then'](respondWithFilteredResult(_0x1fe4be,_0xa2b2b6))['catch'](handleError(_0x1fe4be,null));};exports[_0x1c63('0x4b')]=function(_0x28fc88,_0x137ead){var _0x2a9214={'raw':!![],'where':{'id':_0x28fc88[_0x1c63('0x4c')]['id']}},_0xc7ef66={};_0xc7ef66[_0x1c63('0x3b')]=_['keys'](db[_0x1c63('0x32')][_0x1c63('0x33')]);_0xc7ef66[_0x1c63('0x38')]=_[_0x1c63('0x37')](_0x28fc88['query']);_0xc7ef66['filters']=_[_0x1c63('0x3a')](_0xc7ef66[_0x1c63('0x3b')],_0xc7ef66['query']);_0x2a9214[_0x1c63('0x3c')]=_[_0x1c63('0x3a')](_0xc7ef66['model'],qs['fields'](_0x28fc88[_0x1c63('0x38')][_0x1c63('0x3d')]));_0x2a9214[_0x1c63('0x3c')]=_0x2a9214[_0x1c63('0x3c')][_0x1c63('0x3e')]?_0x2a9214['attributes']:_0xc7ef66['model'];if(_0x28fc88['query'][_0x1c63('0x47')]){_0x2a9214[_0x1c63('0x48')]=[{'all':!![]}];}_0x2a9214=_[_0x1c63('0x44')]({},_0x2a9214,_0x28fc88[_0x1c63('0x46')]);return db[_0x1c63('0x32')]['find'](_0x2a9214)[_0x1c63('0x2b')](handleEntityNotFound(_0x137ead,null))[_0x1c63('0x2b')](respondWithResult(_0x137ead,null))['catch'](handleError(_0x137ead,null));};exports['create']=function(_0x1e2c55,_0x32254c){return db[_0x1c63('0x32')][_0x1c63('0x4d')](_0x1e2c55[_0x1c63('0x4e')],{})['then'](respondWithResult(_0x32254c,0xc9))['catch'](handleError(_0x32254c,null));};exports[_0x1c63('0x29')]=function(_0x19dc79,_0x5e1edf){if(_0x19dc79[_0x1c63('0x4e')]['id']){delete _0x19dc79[_0x1c63('0x4e')]['id'];}return db[_0x1c63('0x32')][_0x1c63('0x4f')]({'where':{'id':_0x19dc79['params']['id']}})[_0x1c63('0x2b')](handleEntityNotFound(_0x5e1edf,null))[_0x1c63('0x2b')](saveUpdates(_0x19dc79[_0x1c63('0x4e')],null))['then'](respondWithResult(_0x5e1edf,null))[_0x1c63('0x50')](handleError(_0x5e1edf,null));};exports[_0x1c63('0x2a')]=function(_0x814df0,_0x47ba6b){return db[_0x1c63('0x32')][_0x1c63('0x4f')]({'where':{'id':_0x814df0[_0x1c63('0x4c')]['id']}})[_0x1c63('0x2b')](handleEntityNotFound(_0x47ba6b,null))[_0x1c63('0x2b')](removeEntity(_0x47ba6b,null))['catch'](handleError(_0x47ba6b,null));};exports[_0x1c63('0x51')]=function(_0x4dae2f,_0x2e2af0){return db[_0x1c63('0x32')][_0x1c63('0x51')]()[_0x1c63('0x2b')](respondWithResult(_0x2e2af0,null))[_0x1c63('0x50')](handleError(_0x2e2af0,null));};exports['getUnread']=function(_0x437648,_0x2711d3,_0x4b32a0){return db[_0x1c63('0x52')][_0x1c63('0x23')]({'where':{'ChatGroupId':_0x437648[_0x1c63('0x4c')]['id'],'ToId':_0x437648[_0x1c63('0x53')]['id'],'read':![]}})[_0x1c63('0x2b')](function(_0x368cee){return{'id':_[_0x1c63('0x54')](_0x437648[_0x1c63('0x4c')]['id']),'count':_0x368cee};})[_0x1c63('0x2b')](respondWithResult(_0x2711d3,null))[_0x1c63('0x50')](handleError(_0x2711d3,null));};exports['addMembers']=function(_0x8265eb,_0x235fd9,_0x43e1bc){return db[_0x1c63('0x32')][_0x1c63('0x4f')]({'where':{'id':_0x8265eb[_0x1c63('0x4c')]['id']}})[_0x1c63('0x2b')](handleEntityNotFound(_0x235fd9,null))['then'](function(_0x82d5cb){if(_0x82d5cb){return _0x82d5cb['addMembers'](_0x8265eb['body'][_0x1c63('0x55')],_[_0x1c63('0x56')](_0x8265eb[_0x1c63('0x4e')],[_0x1c63('0x55'),'id'])||{});}})[_0x1c63('0x2b')](respondWithResult(_0x235fd9,null))[_0x1c63('0x50')](handleError(_0x235fd9,null));};exports[_0x1c63('0x57')]=function(_0x431a41,_0x18e782,_0x3c1530){var _0x344f95={};var _0x338b9e={};var _0x106bad;var _0x525e0f;return db['ChatGroup'][_0x1c63('0x58')]({'where':{'id':_0x431a41[_0x1c63('0x4c')]['id']}})[_0x1c63('0x2b')](handleEntityNotFound(_0x18e782,null))[_0x1c63('0x2b')](function(_0x2f01bb){if(_0x2f01bb){_0x106bad=_0x2f01bb;_0x338b9e['model']=_['keys'](db[_0x1c63('0x59')][_0x1c63('0x33')]);_0x338b9e[_0x1c63('0x38')]=_[_0x1c63('0x37')](_0x431a41['query']);_0x338b9e['filters']=_[_0x1c63('0x3a')](_0x338b9e[_0x1c63('0x3b')],_0x338b9e['query']);_0x344f95[_0x1c63('0x3c')]=_[_0x1c63('0x3a')](_0x338b9e[_0x1c63('0x3b')],qs[_0x1c63('0x3d')](_0x431a41[_0x1c63('0x38')][_0x1c63('0x3d')]));_0x344f95[_0x1c63('0x3c')]=_0x344f95[_0x1c63('0x3c')][_0x1c63('0x3e')]?_0x344f95[_0x1c63('0x3c')]:_0x338b9e[_0x1c63('0x3b')];_0x344f95[_0x1c63('0x5a')]=qs[_0x1c63('0x41')](_0x431a41[_0x1c63('0x38')][_0x1c63('0x41')]);_0x344f95[_0x1c63('0x43')]=qs[_0x1c63('0x39')](_[_0x1c63('0x5b')](_0x431a41[_0x1c63('0x38')],_0x338b9e[_0x1c63('0x39')]));if(_0x431a41['query']['filter']){_0x344f95[_0x1c63('0x43')]=_[_0x1c63('0x44')](_0x344f95[_0x1c63('0x43')],{'$or':_[_0x1c63('0x31')](_0x344f95[_0x1c63('0x3c')],function(_0x3b19a7){var _0x5ca7c1={};_0x5ca7c1[_0x3b19a7]={'$like':'%'+_0x431a41[_0x1c63('0x38')][_0x1c63('0x42')]+'%'};return _0x5ca7c1;})});}_0x344f95=_['merge']({},_0x344f95,_0x431a41['options']);return _0x106bad[_0x1c63('0x57')](_0x344f95);}})['then'](function(_0x7e0baa){if(_0x7e0baa){_0x525e0f=_0x7e0baa[_0x1c63('0x3e')];if(!_0x431a41[_0x1c63('0x38')][_0x1c63('0x3f')](_0x1c63('0x40'))){_0x344f95[_0x1c63('0x22')]=qs[_0x1c63('0x22')](_0x431a41['query']['limit']);_0x344f95[_0x1c63('0x24')]=qs[_0x1c63('0x24')](_0x431a41[_0x1c63('0x38')][_0x1c63('0x24')]);}return _0x106bad[_0x1c63('0x57')](_0x344f95);}})[_0x1c63('0x2b')](function(_0x23a08e){if(_0x23a08e){return _0x23a08e?{'count':_0x525e0f,'rows':_0x23a08e}:null;}})[_0x1c63('0x2b')](respondWithResult(_0x18e782,null))[_0x1c63('0x50')](handleError(_0x18e782,null));};exports[_0x1c63('0x5c')]=function(_0x4fa46c,_0x5bc2c1,_0x56b14e){return db[_0x1c63('0x32')][_0x1c63('0x4f')]({'where':{'id':_0x4fa46c['params']['id']}})[_0x1c63('0x2b')](handleEntityNotFound(_0x5bc2c1,null))[_0x1c63('0x2b')](function(_0x4237cf){if(_0x4237cf){return _0x4237cf[_0x1c63('0x5c')](_0x4fa46c[_0x1c63('0x38')][_0x1c63('0x55')]);}})[_0x1c63('0x2b')](respondWithStatusCode(_0x5bc2c1,null))[_0x1c63('0x50')](handleError(_0x5bc2c1,null));};exports[_0x1c63('0x5d')]=function(_0x1ca6c7,_0x50b632,_0x2f5d2d){if(_0x1ca6c7[_0x1c63('0x4e')]['id']){delete _0x1ca6c7[_0x1c63('0x4e')]['id'];}return db[_0x1c63('0x32')][_0x1c63('0x4f')]({'where':{'id':_0x1ca6c7[_0x1c63('0x4c')]['id']}})[_0x1c63('0x2b')](handleEntityNotFound(_0x50b632,null))[_0x1c63('0x2b')](function(_0x3a9693){if(_0x3a9693){_0x1ca6c7['body'][_0x1c63('0x5e')]=_0x3a9693['id'];return db[_0x1c63('0x52')]['create'](_0x1ca6c7['body']);}})[_0x1c63('0x2b')](respondWithResult(_0x50b632,null))[_0x1c63('0x50')](handleError(_0x50b632,null));};exports[_0x1c63('0x5f')]=function(_0x437a84,_0x1d0e94,_0x22cb21){var _0x4d69b2={};var _0x282de9={};var _0x22d759;var _0x9cd1b3;return db[_0x1c63('0x32')][_0x1c63('0x58')]({'where':{'id':_0x437a84[_0x1c63('0x4c')]['id']}})['then'](handleEntityNotFound(_0x1d0e94,null))['then'](function(_0x3fb669){if(_0x3fb669){_0x22d759=_0x3fb669;_0x282de9['model']=_['keys'](db[_0x1c63('0x52')][_0x1c63('0x33')]);_0x282de9[_0x1c63('0x38')]=_['keys'](_0x437a84[_0x1c63('0x38')]);_0x282de9[_0x1c63('0x39')]=_[_0x1c63('0x3a')](_0x282de9[_0x1c63('0x3b')],_0x282de9[_0x1c63('0x38')]);_0x4d69b2['attributes']=_[_0x1c63('0x3a')](_0x282de9[_0x1c63('0x3b')],qs[_0x1c63('0x3d')](_0x437a84['query'][_0x1c63('0x3d')]));_0x4d69b2[_0x1c63('0x3c')]=_0x4d69b2[_0x1c63('0x3c')]['length']?_0x4d69b2[_0x1c63('0x3c')]:_0x282de9[_0x1c63('0x3b')];_0x4d69b2['order']=qs[_0x1c63('0x41')](_0x437a84[_0x1c63('0x38')][_0x1c63('0x41')]);_0x4d69b2['where']=qs[_0x1c63('0x39')](_[_0x1c63('0x5b')](_0x437a84[_0x1c63('0x38')],_0x282de9['filters']));if(_0x437a84[_0x1c63('0x38')]['filter']){_0x4d69b2['where']=_['merge'](_0x4d69b2[_0x1c63('0x43')],{'$or':_[_0x1c63('0x31')](_0x4d69b2[_0x1c63('0x3c')],function(_0x42df26){var _0x378427={};_0x378427[_0x42df26]={'$like':'%'+_0x437a84['query'][_0x1c63('0x42')]+'%'};return _0x378427;})});}if(_0x437a84[_0x1c63('0x38')]['$gte']){var _0x24ab99=_0x437a84[_0x1c63('0x38')][_0x1c63('0x60')][_0x1c63('0x61')](',');var _0x29dca5={};_0x29dca5[_0x24ab99[0x0]]={'$gte':moment(_0x24ab99[0x1])[_0x1c63('0x62')]('YYYY-MM-DD\x20HH:mm:ss')};_0x4d69b2['where']=_['merge'](_0x4d69b2[_0x1c63('0x43')],_0x29dca5);}_0x4d69b2=_[_0x1c63('0x44')]({},_0x4d69b2,_0x437a84[_0x1c63('0x46')]);return _0x22d759[_0x1c63('0x5f')](_0x4d69b2);}})[_0x1c63('0x2b')](function(_0xd59ae8){if(_0xd59ae8){_0x9cd1b3=_0xd59ae8[_0x1c63('0x3e')];if(!_0x437a84[_0x1c63('0x38')][_0x1c63('0x3f')]('nolimit')){_0x4d69b2[_0x1c63('0x22')]=qs[_0x1c63('0x22')](_0x437a84[_0x1c63('0x38')][_0x1c63('0x22')]);_0x4d69b2[_0x1c63('0x24')]=qs[_0x1c63('0x24')](_0x437a84['query'][_0x1c63('0x24')]);}return _0x22d759['getMessages'](_0x4d69b2);}})[_0x1c63('0x2b')](function(_0x1e5e1c){if(_0x1e5e1c){return _0x1e5e1c?{'count':_0x9cd1b3,'rows':_0x1e5e1c}:null;}})['then'](respondWithResult(_0x1d0e94,null))['catch'](handleError(_0x1d0e94,null));};
\ No newline at end of file