Built motion from commit 2e74e5e.|0.0.138
[motion.git] / server / api / mail_room / mail_room.controller.js
index 3d58022..6157daf 100644 (file)
@@ -1 +1 @@
-var _0x83ba=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x68\x74\x6D\x6C\x2D\x74\x6F\x2D\x74\x65\x78\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x43\x6F\x6E\x74\x61\x63\x74","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x69\x6E\x62\x6F\x78","\x65\x72\x72\x6F\x72","\x53\x45\x4C\x45\x43\x54\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x69\x64\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x73\x75\x62\x6A\x65\x63\x74\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x66\x72\x6F\x6D\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x61\x63\x63\x6F\x75\x6E\x74\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x73\x74\x61\x74\x75\x73\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x6C\x61\x73\x74\x45\x76\x65\x6E\x74\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x75\x70\x64\x61\x74\x65\x64\x41\x74\x60\x20\x46\x52\x4F\x4D\x20\x60\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x41\x53\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x20\x4C\x45\x46\x54\x20\x4F\x55\x54\x45\x52\x20\x4A\x4F\x49\x4E\x20\x28\x60\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x41\x53\x20\x60\x55\x73\x65\x72\x73\x2E\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x49\x4E\x4E\x45\x52\x20\x4A\x4F\x49\x4E\x20\x60\x75\x73\x65\x72\x73\x60\x20\x41\x53\x20\x60\x55\x73\x65\x72\x73\x60\x20\x4F\x4E\x20\x60\x55\x73\x65\x72\x73\x60\x2E\x60\x69\x64\x60\x20\x3D\x20\x60\x55\x73\x65\x72\x73\x2E\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x2E\x60\x55\x73\x65\x72\x49\x64\x60\x29\x20\x4F\x4E\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x69\x64\x60\x20\x3D\x20\x60\x55\x73\x65\x72\x73\x2E\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x2E\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x49\x64\x60\x20\x57\x48\x45\x52\x45\x20\x28\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x64\x65\x6C\x65\x74\x65\x64\x41\x74\x60\x20\x49\x53\x20\x4E\x55\x4C\x4C\x20\x41\x4E\x44\x20\x28\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x73\x74\x61\x74\x75\x73\x60\x20\x3D\x20\x3A\x73\x74\x61\x74\x75\x73\x20\x4F\x52\x20\x60\x55\x73\x65\x72\x73\x60\x2E\x60\x69\x64\x60\x20\x3D\x20\x3A\x69\x64\x29\x29","\x55\x4E\x4D\x41\x4E\x41\x47\x45\x44","\x69\x64","\x75\x73\x65\x72","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x61\x67\x65\x6E\x74","\x53\x45\x4C\x45\x43\x54\x20\x60\x69\x64\x60\x2C\x20\x60\x73\x75\x62\x6A\x65\x63\x74\x60\x2C\x20\x60\x66\x72\x6F\x6D\x60\x2C\x20\x60\x61\x63\x63\x6F\x75\x6E\x74\x60\x2C\x20\x60\x73\x74\x61\x74\x75\x73\x60\x2C\x20\x60\x6C\x61\x73\x74\x45\x76\x65\x6E\x74\x60\x20\x2C\x60\x75\x70\x64\x61\x74\x65\x64\x41\x74\x60\x20\x46\x52\x4F\x4D\x20\x60\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x57\x48\x45\x52\x45\x20\x60\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x2E\x60\x64\x65\x6C\x65\x74\x65\x64\x41\x74\x60\x20\x49\x53\x20\x4E\x55\x4C\x4C","\x72\x6F\x6C\x65","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x6F\x70\x65\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x61\x64\x64\x55\x73\x65\x72","\x4F\x50\x45\x4E","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x4D\x65\x73\x73\x61\x67\x65","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x67\x65\x74\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x73\x68\x6F\x77","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x63\x72\x65\x61\x74\x65\x4D\x65\x73\x73\x61\x67\x65","\x55\x73\x65\x72\x49\x64","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x49\x64","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x6C\x65\x6E\x67\x74\x68","\x74\x65\x78\x74","\x68\x74\x6D\x6C","\x66\x72\x6F\x6D\x53\x74\x72\x69\x6E\x67","\x75\x70\x64\x61\x74\x65\x50\x61\x74\x63\x68","\x74\x61\x67\x73","\x2C","\x73\x70\x6C\x69\x74","\x75\x70\x64\x61\x74\x65\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x73\x65\x74\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x83ba[0];var _=require(_0x83ba[1]);var util=require(_0x83ba[2]);var htmlToText=require(_0x83ba[3]);var Util=require(_0x83ba[4]);var sequelize=require(_0x83ba[6])[_0x83ba[5]];var User=require(_0x83ba[6])[_0x83ba[7]];var Agent=require(_0x83ba[6])[_0x83ba[7]];var Contact=require(_0x83ba[6])[_0x83ba[8]];var MailRoom=require(_0x83ba[6])[_0x83ba[9]];var MailMessage=require(_0x83ba[6])[_0x83ba[10]];var MailAccount=require(_0x83ba[6])[_0x83ba[11]];var MailAttachment=require(_0x83ba[6])[_0x83ba[12]];var ReportMailRoom=require(_0x83ba[6])[_0x83ba[13]];exports[_0x83ba[14]]=function(_0x6b33xe,_0x6b33xf,_0x6b33x10){return MailRoom[_0x83ba[23]](_0x83ba[22])[_0x83ba[21]](Util[_0x83ba[20]](_0x6b33xe[_0x83ba[19]]))[_0x83ba[18]](function(_0x6b33x12){return _0x6b33xf[_0x83ba[17]](200)[_0x83ba[16]](_0x6b33x12)})[_0x83ba[15]](function(_0x6b33x11){return handleError(_0x6b33xf,_0x6b33x11)})};exports[_0x83ba[24]]=function(_0x6b33xe,_0x6b33xf,_0x6b33x10){switch(_0x6b33xe[_0x83ba[29]][_0x83ba[34]]){case _0x83ba[32]:return sequelize[_0x83ba[19]](_0x83ba[26],{replacements:{status:_0x83ba[27],id:_0x6b33xe[_0x83ba[29]][_0x83ba[28]]},type:sequelize[_0x83ba[31]][_0x83ba[30]]})[_0x83ba[18]](function(_0x6b33x12){return _0x6b33xf[_0x83ba[17]](200)[_0x83ba[16]](_0x6b33x12)})[_0x83ba[15]](function(_0x6b33x11){console[_0x83ba[25]](_0x6b33x11);return handleError(_0x6b33xf,_0x6b33x11)});default:return sequelize[_0x83ba[19]](_0x83ba[33],{replacements:{status:_0x83ba[27],id:_0x6b33xe[_0x83ba[29]][_0x83ba[28]]},type:sequelize[_0x83ba[31]][_0x83ba[30]]})[_0x83ba[18]](function(_0x6b33x12){return _0x6b33xf[_0x83ba[17]](200)[_0x83ba[16]](_0x6b33x12)})[_0x83ba[15]](function(_0x6b33x11){return handleError(_0x6b33xf,_0x6b33x11)})}};exports[_0x83ba[35]]=function(_0x6b33xe,_0x6b33xf,_0x6b33x10){return MailRoom[_0x83ba[37]]({where:{UserId:_0x6b33xe[_0x83ba[36]][_0x83ba[28]]},include:[{all:true}]})[_0x83ba[18]](function(_0x6b33x13){return _0x6b33xf[_0x83ba[17]](200)[_0x83ba[16]](_0x6b33x13)})[_0x83ba[15]](function(_0x6b33x11){return handleError(_0x6b33xf,_0x6b33x11)})};exports[_0x83ba[38]]=function(_0x6b33xe,_0x6b33xf,_0x6b33x10){var _0x6b33x14;if(_0x6b33xe[_0x83ba[29]][_0x83ba[34]]===_0x83ba[32]){return MailRoom[_0x83ba[43]](_0x6b33xe[_0x83ba[36]][_0x83ba[28]])[_0x83ba[18]](function(_0x6b33x15){_0x6b33x14=_0x6b33x15;if(!_0x6b33x14){return _0x6b33xf[_0x83ba[39]](404)};return _0x6b33x14[_0x83ba[42]]({status:_0x83ba[41]},{userId:_0x6b33xe[_0x83ba[29]][_0x83ba[28]]})})[_0x83ba[18]](function(){return _0x6b33x14[_0x83ba[40]](_0x6b33xe[_0x83ba[29]][_0x83ba[28]])})[_0x83ba[18]](function(){return _0x6b33xf[_0x83ba[39]](200)})[_0x83ba[15]](function(_0x6b33x11){return handleError(_0x6b33xf,_0x6b33x11)})}};exports[_0x83ba[44]]=function(_0x6b33xe,_0x6b33xf,_0x6b33x10){return MailMessage[_0x83ba[43]](_0x6b33xe[_0x83ba[36]][_0x83ba[28]])[_0x83ba[18]](function(_0x6b33x16){return _0x6b33x16[_0x83ba[48]]({include:[{model:MailAccount},{model:MailMessage,include:[{model:MailAttachment},{model:User,attributes:[_0x83ba[28],_0x83ba[45],_0x83ba[46],_0x83ba[47]]}]},{model:User,attributes:[_0x83ba[28],_0x83ba[45],_0x83ba[46],_0x83ba[47]]}]})})[_0x83ba[18]](function(_0x6b33x15){return _0x6b33xf[_0x83ba[16]](_0x6b33x15)})[_0x83ba[15]](function(_0x6b33x11){return handleError(_0x6b33xf,_0x6b33x11)})};exports[_0x83ba[49]]=function(_0x6b33xe,_0x6b33xf,_0x6b33x10){return MailRoom[_0x83ba[23]](_0x83ba[22])[_0x83ba[43]](_0x6b33xe[_0x83ba[36]][_0x83ba[28]])[_0x83ba[18]](function(_0x6b33x15){if(!_0x6b33x15){return _0x6b33xf[_0x83ba[39]](404)};return _0x6b33xf[_0x83ba[16]](_0x6b33x15)})[_0x83ba[15]](function(_0x6b33x11){console[_0x83ba[25]](_0x6b33x11);return handleError(_0x6b33xf,_0x6b33x11)})};exports[_0x83ba[50]]=function(_0x6b33xe,_0x6b33xf,_0x6b33x10){return MailRoom[_0x83ba[43]](_0x6b33xe[_0x83ba[36]][_0x83ba[28]])[_0x83ba[18]](function(_0x6b33x15){if(!_0x6b33x15){return _0x6b33xf[_0x83ba[39]](404)};return _0x6b33x15[_0x83ba[52]]({attributes:[_0x83ba[28],_0x83ba[45],_0x83ba[46],_0x83ba[47],_0x83ba[34],_0x83ba[51]]})})[_0x83ba[18]](function(_0x6b33x17){return _0x6b33xf[_0x83ba[16]](_0x6b33x17)})[_0x83ba[15]](function(_0x6b33x11){return handleError(_0x6b33xf,_0x6b33x11)})};exports[_0x83ba[53]]=function(_0x6b33xe,_0x6b33xf,_0x6b33x10){return MailRoom[_0x83ba[53]](_0x6b33xe[_0x83ba[54]])[_0x83ba[18]](function(_0x6b33x15){return _0x6b33xf[_0x83ba[17]](201)[_0x83ba[16]](_0x6b33x15)})[_0x83ba[15]](function(_0x6b33x11){return handleError(_0x6b33xf,_0x6b33x11)})};exports[_0x83ba[55]]=function(_0x6b33xe,_0x6b33xf,_0x6b33x10){_0x6b33xe[_0x83ba[54]][_0x83ba[56]]=_0x6b33xe[_0x83ba[29]][_0x83ba[28]];_0x6b33xe[_0x83ba[54]][_0x83ba[57]]=_0x6b33xe[_0x83ba[36]][_0x83ba[28]];_0x6b33xe[_0x83ba[54]][_0x83ba[58]]=(_0x6b33xe[_0x83ba[54]][_0x83ba[59]]&&_0x6b33xe[_0x83ba[54]][_0x83ba[59]][_0x83ba[60]])?true:false;_0x6b33xe[_0x83ba[54]][_0x83ba[61]]=_0x6b33xe[_0x83ba[54]][_0x83ba[61]]||htmlToText[_0x83ba[63]](_0x6b33xe[_0x83ba[54]][_0x83ba[62]],{wordwrap:false});return MailMessage[_0x83ba[53]](_0x6b33xe[_0x83ba[54]],{include:[{model:MailAttachment}],user:_0x6b33xe[_0x83ba[29]]})[_0x83ba[18]](function(_0x6b33x16){return _0x6b33xf[_0x83ba[17]](201)[_0x83ba[16]](_0x6b33x16)})[_0x83ba[15]](function(_0x6b33x11){return handleError(_0x6b33xf,_0x6b33x11)})};exports[_0x83ba[42]]=function(_0x6b33xe,_0x6b33xf,_0x6b33x10){var _0x6b33x14;return MailRoom[_0x83ba[43]](_0x6b33xe[_0x83ba[36]][_0x83ba[28]])[_0x83ba[18]](function(_0x6b33x15){if(!_0x6b33x15){return _0x6b33xf[_0x83ba[39]](404)};return _0x6b33x15[_0x83ba[42]](_0x6b33xe[_0x83ba[54]])})[_0x83ba[18]](function(_0x6b33x15){_0x6b33x14=_0x6b33x15;return ReportMailRoom[_0x83ba[42]](_0x6b33xe[_0x83ba[54]],{where:{roomId:_0x6b33xe[_0x83ba[36]][_0x83ba[28]]}})})[_0x83ba[18]](function(_0x6b33x18){return _0x6b33xf[_0x83ba[17]](200)[_0x83ba[16]](_0x6b33x14)})[_0x83ba[15]](function(_0x6b33x11){return handleError(_0x6b33xf,_0x6b33x11)})};exports[_0x83ba[64]]=function(_0x6b33xe,_0x6b33xf,_0x6b33x10){var _0x6b33x19={tags:_0x6b33xe[_0x83ba[54]][_0x83ba[65]]};var _0x6b33x1a={where:{id:_0x6b33xe[_0x83ba[36]][_0x83ba[28]][_0x83ba[67]](_0x83ba[66])}};return MailRoom[_0x83ba[42]](_0x6b33x19,_0x6b33x1a)[_0x83ba[18]](function(_0x6b33x13){if(!_0x6b33x13){return _0x6b33xf[_0x83ba[39]](404)};return _0x6b33x13})[_0x83ba[18]](function(_0x6b33x13){return _0x6b33xf[_0x83ba[39]](200)})[_0x83ba[15]](function(_0x6b33x11){return handleError(_0x6b33xf,_0x6b33x11)})};exports[_0x83ba[68]]=function(_0x6b33xe,_0x6b33xf,_0x6b33x10){return MailRoom[_0x83ba[43]](_0x6b33xe[_0x83ba[36]][_0x83ba[28]])[_0x83ba[18]](function(_0x6b33x15){if(!_0x6b33x15){return _0x6b33xf[_0x83ba[39]](404)};return _0x6b33x15[_0x83ba[70]](_0x6b33xe[_0x83ba[54]][_0x83ba[69]],{individualHooks:true})})[_0x83ba[18]](function(){return _0x6b33xf[_0x83ba[39]](200)})[_0x83ba[15]](function(_0x6b33x11){return handleError(_0x6b33xf,_0x6b33x11)})};exports[_0x83ba[71]]=function(_0x6b33xe,_0x6b33xf,_0x6b33x10){return MailRoom[_0x83ba[43]](_0x6b33xe[_0x83ba[36]][_0x83ba[28]])[_0x83ba[18]](function(_0x6b33x15){if(!_0x6b33x15){return _0x6b33xf[_0x83ba[39]](404)};return _0x6b33x15[_0x83ba[71]]()})[_0x83ba[18]](function(){return _0x6b33xf[_0x83ba[39]](204)})[_0x83ba[15]](function(_0x6b33x11){return handleError(_0x6b33xf,_0x6b33x11)})};exports[_0x83ba[72]]=function(_0x6b33xe,_0x6b33xf){return MailRoom[_0x83ba[71]]({where:{id:_0x6b33xe[_0x83ba[19]][_0x83ba[73]]},individualHooks:true})[_0x83ba[18]](function(){return _0x6b33xf[_0x83ba[39]](200)})[_0x83ba[15]](function(_0x6b33x11){return handleError(_0x6b33xf,_0x6b33x11)})};function handleError(_0x6b33xf,_0x6b33x11){return _0x6b33xf[_0x83ba[17]](500)[_0x83ba[16]](_0x6b33x11)}
\ No newline at end of file
+var _0x52ff=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x68\x74\x6D\x6C\x2D\x74\x6F\x2D\x74\x65\x78\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x43\x6F\x6E\x74\x61\x63\x74","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x69\x64","\x6D\x61\x70","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x72\x6F\x6C\x65","\x70\x65\x6E\x64\x69\x6E\x67","\x6C\x6F\x67","\x50\x45\x4E\x44\x49\x4E\x47","\x64\x61\x79","\x73\x74\x61\x72\x74\x4F\x66","\x6D\x65\x72\x67\x65","\x63\x6F\x75\x6E\x74","\x61\x6C\x6C","\x6E\x65\x77","\x4E\x45\x57","\x6F\x70\x65\x6E","\x4F\x50\x45\x4E","\x63\x6C\x6F\x73\x65\x64","\x43\x4C\x4F\x53\x45\x44","\x69\x6E\x62\x6F\x78","\x65\x72\x72\x6F\x72","\x53\x45\x4C\x45\x43\x54\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x69\x64\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x73\x75\x62\x6A\x65\x63\x74\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x66\x72\x6F\x6D\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x61\x63\x63\x6F\x75\x6E\x74\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x73\x74\x61\x74\x75\x73\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x6C\x61\x73\x74\x45\x76\x65\x6E\x74\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x75\x70\x64\x61\x74\x65\x64\x41\x74\x60\x20\x46\x52\x4F\x4D\x20\x60\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x41\x53\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x20\x4C\x45\x46\x54\x20\x4F\x55\x54\x45\x52\x20\x4A\x4F\x49\x4E\x20\x28\x60\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x41\x53\x20\x60\x55\x73\x65\x72\x73\x2E\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x49\x4E\x4E\x45\x52\x20\x4A\x4F\x49\x4E\x20\x60\x75\x73\x65\x72\x73\x60\x20\x41\x53\x20\x60\x55\x73\x65\x72\x73\x60\x20\x4F\x4E\x20\x60\x55\x73\x65\x72\x73\x60\x2E\x60\x69\x64\x60\x20\x3D\x20\x60\x55\x73\x65\x72\x73\x2E\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x2E\x60\x55\x73\x65\x72\x49\x64\x60\x29\x20\x4F\x4E\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x69\x64\x60\x20\x3D\x20\x60\x55\x73\x65\x72\x73\x2E\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x2E\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x49\x64\x60\x20\x57\x48\x45\x52\x45\x20\x28\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x64\x65\x6C\x65\x74\x65\x64\x41\x74\x60\x20\x49\x53\x20\x4E\x55\x4C\x4C\x20\x41\x4E\x44\x20\x28\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x73\x74\x61\x74\x75\x73\x60\x20\x3D\x20\x3A\x73\x74\x61\x74\x75\x73\x20\x4F\x52\x20\x60\x55\x73\x65\x72\x73\x60\x2E\x60\x69\x64\x60\x20\x3D\x20\x3A\x69\x64\x29\x29","\x55\x4E\x4D\x41\x4E\x41\x47\x45\x44","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x61\x67\x65\x6E\x74","\x53\x45\x4C\x45\x43\x54\x20\x60\x69\x64\x60\x2C\x20\x60\x73\x75\x62\x6A\x65\x63\x74\x60\x2C\x20\x60\x66\x72\x6F\x6D\x60\x2C\x20\x60\x61\x63\x63\x6F\x75\x6E\x74\x60\x2C\x20\x60\x73\x74\x61\x74\x75\x73\x60\x2C\x20\x60\x6C\x61\x73\x74\x45\x76\x65\x6E\x74\x60\x20\x2C\x60\x75\x70\x64\x61\x74\x65\x64\x41\x74\x60\x20\x46\x52\x4F\x4D\x20\x60\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x57\x48\x45\x52\x45\x20\x60\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x2E\x60\x64\x65\x6C\x65\x74\x65\x64\x41\x74\x60\x20\x49\x53\x20\x4E\x55\x4C\x4C","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x75\x70\x64\x61\x74\x65\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x62\x6F\x64\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x2C","\x73\x70\x6C\x69\x74","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x4D\x65\x73\x73\x61\x67\x65","\x65\x6D\x61\x69\x6C","\x67\x65\x74\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x73\x68\x6F\x77","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x63\x72\x65\x61\x74\x65","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x55\x73\x65\x72\x49\x64","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x49\x64","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x6C\x65\x6E\x67\x74\x68","\x74\x65\x78\x74","\x68\x74\x6D\x6C","\x66\x72\x6F\x6D\x53\x74\x72\x69\x6E\x67","\x75\x70\x64\x61\x74\x65\x50\x61\x74\x63\x68","\x75\x70\x64\x61\x74\x65\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x73\x65\x74\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x52ff[0];var _=require(_0x52ff[1]);var util=require(_0x52ff[2]);var htmlToText=require(_0x52ff[3]);var Util=require(_0x52ff[4]);var moment=require(_0x52ff[5]);var sequelize=require(_0x52ff[7])[_0x52ff[6]];var User=require(_0x52ff[7])[_0x52ff[8]];var Agent=require(_0x52ff[7])[_0x52ff[8]];var Contact=require(_0x52ff[7])[_0x52ff[9]];var Status=require(_0x52ff[7])[_0x52ff[10]];var MailRoom=require(_0x52ff[7])[_0x52ff[11]];var MailMessage=require(_0x52ff[7])[_0x52ff[12]];var MailAccount=require(_0x52ff[7])[_0x52ff[13]];var MailApplication=require(_0x52ff[7])[_0x52ff[14]];var MailQueue=require(_0x52ff[7])[_0x52ff[15]];var MailAttachment=require(_0x52ff[7])[_0x52ff[16]];exports[_0x52ff[17]]= function(_0x79d7x11,_0x79d7x12,_0x79d7x13){return MailRoom[_0x52ff[26]](_0x52ff[25])[_0x52ff[24]](Util[_0x52ff[23]](_0x79d7x11[_0x52ff[22]]))[_0x52ff[21]](function(_0x79d7x15){return _0x79d7x12[_0x52ff[20]](200)[_0x52ff[19]](_0x79d7x15)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[27]]= function(_0x79d7x11,_0x79d7x12){return MailRoom[_0x52ff[27]]()[_0x52ff[21]](function(_0x79d7x16){return _0x79d7x12[_0x52ff[20]](200)[_0x52ff[19]](_0x79d7x16)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})};function getMailQueues(_0x79d7x18){return function(){switch(_0x79d7x18[_0x52ff[33]]){case _0x52ff[32]:return User[_0x52ff[31]](_0x79d7x18[_0x52ff[28]],{attributes:[_0x52ff[28]]})[_0x52ff[21]](Util[_0x52ff[30]]({},{attributes:[_0x52ff[28]]}))[_0x52ff[21]](function(_0x79d7x19){return {include:{model:MailAccount,include:{model:MailApplication,include:{model:MailQueue,where:{id:_[_0x52ff[29]](_0x79d7x19,_0x52ff[28])}}}}}});default:return {}}}}exports[_0x52ff[34]]= function(_0x79d7x11,_0x79d7x12){return Promise[_0x52ff[41]]([])[_0x52ff[21]](getMailQueues(_0x79d7x11[_0x52ff[32]]))[_0x52ff[21]](function(_0x79d7x1b){return MailRoom[_0x52ff[40]](_[_0x52ff[39]](Util[_0x52ff[23]](_0x79d7x11[_0x52ff[22]],{status:_0x52ff[36],updatedAt:{$gte:moment()[_0x52ff[38]](_0x52ff[37])}}),_0x79d7x1b))})[_0x52ff[21]](function(_0x79d7x1a){return _0x79d7x12[_0x52ff[20]](200)[_0x52ff[19]]({value:_0x79d7x1a})})[_0x52ff[18]](function(_0x79d7x14){console[_0x52ff[35]](_0x79d7x14);return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[42]]= function(_0x79d7x11,_0x79d7x12){return Promise[_0x52ff[41]]([])[_0x52ff[21]](getMailQueues(_0x79d7x11[_0x52ff[32]]))[_0x52ff[21]](function(_0x79d7x1b){return MailRoom[_0x52ff[40]](_[_0x52ff[39]](Util[_0x52ff[23]](_0x79d7x11[_0x52ff[22]],{status:_0x52ff[43],updatedAt:{$gte:moment()[_0x52ff[38]](_0x52ff[37])}}),_0x79d7x1b))})[_0x52ff[21]](function(_0x79d7x1a){return _0x79d7x12[_0x52ff[20]](200)[_0x52ff[19]]({value:_0x79d7x1a})})[_0x52ff[18]](function(_0x79d7x14){console[_0x52ff[35]](_0x79d7x14);return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[44]]= function(_0x79d7x11,_0x79d7x12){return Promise[_0x52ff[41]]([])[_0x52ff[21]](getMailQueues(_0x79d7x11[_0x52ff[32]]))[_0x52ff[21]](function(_0x79d7x1b){return MailRoom[_0x52ff[40]](_[_0x52ff[39]](Util[_0x52ff[23]](_0x79d7x11[_0x52ff[22]],{status:_0x52ff[45],updatedAt:{$gte:moment()[_0x52ff[38]](_0x52ff[37])}}),_0x79d7x1b))})[_0x52ff[21]](function(_0x79d7x1a){return _0x79d7x12[_0x52ff[20]](200)[_0x52ff[19]]({value:_0x79d7x1a})})[_0x52ff[18]](function(_0x79d7x14){console[_0x52ff[35]](_0x79d7x14);return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[46]]= function(_0x79d7x11,_0x79d7x12){return Promise[_0x52ff[41]]([])[_0x52ff[21]](getMailQueues(_0x79d7x11[_0x52ff[32]]))[_0x52ff[21]](function(_0x79d7x1b){return MailRoom[_0x52ff[40]](_[_0x52ff[39]](Util[_0x52ff[23]](_0x79d7x11[_0x52ff[22]],{status:_0x52ff[47],updatedAt:{$gte:moment()[_0x52ff[38]](_0x52ff[37])}}),_0x79d7x1b))})[_0x52ff[21]](function(_0x79d7x1a){return _0x79d7x12[_0x52ff[20]](200)[_0x52ff[19]]({value:_0x79d7x1a})})[_0x52ff[18]](function(_0x79d7x14){console[_0x52ff[35]](_0x79d7x14);return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[48]]= function(_0x79d7x11,_0x79d7x12,_0x79d7x13){switch(_0x79d7x11[_0x52ff[32]][_0x52ff[33]]){case _0x52ff[54]:return sequelize[_0x52ff[22]](_0x52ff[50],{replacements:{status:_0x52ff[51],id:_0x79d7x11[_0x52ff[32]][_0x52ff[28]]},type:sequelize[_0x52ff[53]][_0x52ff[52]]})[_0x52ff[21]](function(_0x79d7x15){return _0x79d7x12[_0x52ff[20]](200)[_0x52ff[19]](_0x79d7x15)})[_0x52ff[18]](function(_0x79d7x14){console[_0x52ff[49]](_0x79d7x14);return handleError(_0x79d7x12,_0x79d7x14)});default:return sequelize[_0x52ff[22]](_0x52ff[55],{replacements:{status:_0x52ff[51],id:_0x79d7x11[_0x52ff[32]][_0x52ff[28]]},type:sequelize[_0x52ff[53]][_0x52ff[52]]})[_0x52ff[21]](function(_0x79d7x15){return _0x79d7x12[_0x52ff[20]](200)[_0x52ff[19]](_0x79d7x15)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})}};exports[_0x52ff[56]]= function(_0x79d7x11,_0x79d7x12,_0x79d7x13){return MailRoom[_0x52ff[58]]({where:{UserId:_0x79d7x11[_0x52ff[57]][_0x52ff[28]]},include:[{all:true}]})[_0x52ff[21]](function(_0x79d7x1c){return _0x79d7x12[_0x52ff[20]](200)[_0x52ff[19]](_0x79d7x1c)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[59]]= function(_0x79d7x11,_0x79d7x12,_0x79d7x13){var _0x79d7x1d;var _0x79d7x1e=[];console[_0x52ff[35]](_0x79d7x11[_0x52ff[60]]);console[_0x52ff[35]](_0x79d7x11[_0x52ff[57]]);return MailRoom[_0x52ff[67]](_0x79d7x11[_0x52ff[60]],{where:{id:_0x79d7x11[_0x52ff[57]][_0x52ff[28]][_0x52ff[63]](_0x52ff[62])},individualHooks:true})[_0x52ff[21]](function(){return Status[_0x52ff[66]](_[_0x52ff[29]](_0x79d7x11[_0x52ff[57]][_0x52ff[28]][_0x52ff[63]](_0x52ff[62]),function(_0x79d7x1f){return {status:_0x79d7x11[_0x52ff[60]][_0x52ff[20]],data1:_0x79d7x11[_0x52ff[32]][_0x52ff[64]],data2:_0x79d7x11[_0x52ff[32]][_0x52ff[65]],MailRoomId:_0x79d7x1f,UserId:_0x79d7x11[_0x52ff[32]][_0x52ff[28]]}}))})[_0x52ff[21]](function(_0x79d7x1c){return _0x79d7x12[_0x52ff[61]](200)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[68]]= function(_0x79d7x11,_0x79d7x12,_0x79d7x13){return MailMessage[_0x52ff[31]](_0x79d7x11[_0x52ff[57]][_0x52ff[28]])[_0x52ff[21]](function(_0x79d7x21){return _0x79d7x21[_0x52ff[70]]({include:[{model:MailAccount},{model:MailMessage,include:[{model:MailAttachment},{model:User,attributes:[_0x52ff[28],_0x52ff[64],_0x52ff[65],_0x52ff[69]]}]},{model:User,attributes:[_0x52ff[28],_0x52ff[64],_0x52ff[65],_0x52ff[69]]}]})})[_0x52ff[21]](function(_0x79d7x20){return _0x79d7x12[_0x52ff[19]](_0x79d7x20)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[71]]= function(_0x79d7x11,_0x79d7x12,_0x79d7x13){return MailRoom[_0x52ff[26]](_0x52ff[25])[_0x52ff[31]](_0x79d7x11[_0x52ff[57]][_0x52ff[28]])[_0x52ff[21]](function(_0x79d7x20){if(!_0x79d7x20){return _0x79d7x12[_0x52ff[61]](404)};return _0x79d7x12[_0x52ff[19]](_0x79d7x20)})[_0x52ff[18]](function(_0x79d7x14){console[_0x52ff[49]](_0x79d7x14);return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[72]]= function(_0x79d7x11,_0x79d7x12,_0x79d7x13){return MailRoom[_0x52ff[31]](_0x79d7x11[_0x52ff[57]][_0x52ff[28]])[_0x52ff[21]](function(_0x79d7x20){if(!_0x79d7x20){return _0x79d7x12[_0x52ff[61]](404)};return _0x79d7x20[_0x52ff[74]]({attributes:[_0x52ff[28],_0x52ff[64],_0x52ff[65],_0x52ff[69],_0x52ff[33],_0x52ff[73]]})})[_0x52ff[21]](function(_0x79d7x22){return _0x79d7x12[_0x52ff[19]](_0x79d7x22)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[75]]= function(_0x79d7x11,_0x79d7x12,_0x79d7x13){return MailRoom[_0x52ff[75]](_0x79d7x11[_0x52ff[60]])[_0x52ff[21]](function(_0x79d7x20){return _0x79d7x12[_0x52ff[20]](201)[_0x52ff[19]](_0x79d7x20)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[76]]= function(_0x79d7x11,_0x79d7x12,_0x79d7x13){_0x79d7x11[_0x52ff[60]][_0x52ff[77]]= _0x79d7x11[_0x52ff[32]][_0x52ff[28]];_0x79d7x11[_0x52ff[60]][_0x52ff[78]]= _0x79d7x11[_0x52ff[57]][_0x52ff[28]];_0x79d7x11[_0x52ff[60]][_0x52ff[79]]= (_0x79d7x11[_0x52ff[60]][_0x52ff[80]]&& _0x79d7x11[_0x52ff[60]][_0x52ff[80]][_0x52ff[81]])?true:false;_0x79d7x11[_0x52ff[60]][_0x52ff[82]]= _0x79d7x11[_0x52ff[60]][_0x52ff[82]]|| htmlToText[_0x52ff[84]](_0x79d7x11[_0x52ff[60]][_0x52ff[83]],{wordwrap:false});return MailMessage[_0x52ff[75]](_0x79d7x11[_0x52ff[60]],{include:[{model:MailAttachment}],user:_0x79d7x11[_0x52ff[32]]})[_0x52ff[21]](function(_0x79d7x21){return _0x79d7x12[_0x52ff[20]](201)[_0x52ff[19]](_0x79d7x21)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[67]]= function(_0x79d7x11,_0x79d7x12,_0x79d7x13){return MailRoom[_0x52ff[31]](_0x79d7x11[_0x52ff[57]][_0x52ff[28]])[_0x52ff[21]](function(_0x79d7x20){if(!_0x79d7x20){return _0x79d7x12[_0x52ff[61]](404)};return _0x79d7x20[_0x52ff[67]](_0x79d7x11[_0x52ff[60]])})[_0x52ff[21]](function(_0x79d7x20){return _0x79d7x12[_0x52ff[20]](200)[_0x52ff[19]](_0x79d7x20)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[85]]= function(_0x79d7x11,_0x79d7x12,_0x79d7x13){var _0x79d7x23={where:{id:_0x79d7x11[_0x52ff[57]][_0x52ff[28]][_0x52ff[63]](_0x52ff[62])},user:_0x79d7x11[_0x52ff[32]],individualHooks:true};return MailRoom[_0x52ff[67]](_0x79d7x11[_0x52ff[60]],_0x79d7x23)[_0x52ff[21]](function(_0x79d7x1c){if(!_0x79d7x1c){return _0x79d7x12[_0x52ff[61]](404)};return _0x79d7x1c})[_0x52ff[21]](function(_0x79d7x1c){return _0x79d7x12[_0x52ff[61]](200)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[86]]= function(_0x79d7x11,_0x79d7x12,_0x79d7x13){return MailRoom[_0x52ff[31]](_0x79d7x11[_0x52ff[57]][_0x52ff[28]])[_0x52ff[21]](function(_0x79d7x20){if(!_0x79d7x20){return _0x79d7x12[_0x52ff[61]](404)};return _0x79d7x20[_0x52ff[88]](_0x79d7x11[_0x52ff[60]][_0x52ff[87]],{individualHooks:true})})[_0x52ff[21]](function(){return _0x79d7x12[_0x52ff[61]](200)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[89]]= function(_0x79d7x11,_0x79d7x12,_0x79d7x13){return MailRoom[_0x52ff[31]](_0x79d7x11[_0x52ff[57]][_0x52ff[28]])[_0x52ff[21]](function(_0x79d7x20){if(!_0x79d7x20){return _0x79d7x12[_0x52ff[61]](404)};return _0x79d7x20[_0x52ff[89]]()})[_0x52ff[21]](function(){return _0x79d7x12[_0x52ff[61]](204)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})};exports[_0x52ff[90]]= function(_0x79d7x11,_0x79d7x12){return MailRoom[_0x52ff[89]]({where:{id:_0x79d7x11[_0x52ff[22]][_0x52ff[91]]},individualHooks:true})[_0x52ff[21]](function(){return _0x79d7x12[_0x52ff[61]](200)})[_0x52ff[18]](function(_0x79d7x14){return handleError(_0x79d7x12,_0x79d7x14)})};function handleError(_0x79d7x12,_0x79d7x14){return _0x79d7x12[_0x52ff[20]](500)[_0x52ff[19]](_0x79d7x14)}
\ No newline at end of file