Built motion from commit 14588770.|2.5.38
[motion2.git] / server / services / ami / realtime / index.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x91e5=['sumHoldTime','sumDuration','sumBillable','isEmpty','ivrAnswerCallsDay','unmanaged','abandoned','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayTimeout','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','queueStatusComplete','prototype','mergeFromDatabase','isUndefined','initTelephones','telephones','length','initTrunks','initVoiceQueues','initTriggers','triggers','initTemplates','templates','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','freshdeskAccounts','initZohoAccounts','initDeskAccounts','deskAccounts','initVtigerAccounts','initDynamics365Accounts','initFreshsalesAccounts','freshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerexit','queuecallerabandon','queuecallerleaveAt','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerabandonAt','diff','queuecallercomplete','initVoiceCallReports','duration','disposition','ANSWERED','billableseconds','initCampaigns','dialQueueProject','SquareProject','voiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','util','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','agents','trunks','voiceQueues','campaigns','outbound','timers','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','zohoAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','faxAccounts','mapKeys','hasOwnProperty','SIP/%s','name','isNil','interface','format','total','answered'];(function(_0x58381c,_0x3b9374){var _0x1a7440=function(_0x2bc7f1){while(--_0x2bc7f1){_0x58381c['push'](_0x58381c['shift']());}};_0x1a7440(++_0x3b9374);}(_0x91e5,0x126));var _0x591e=function(_0x382a49,_0x62522d){_0x382a49=_0x382a49-0x0;var _0x2fc40b=_0x91e5[_0x382a49];return _0x2fc40b;};'use strict';var BPromise=require('bluebird');var util=require(_0x591e('0x0'));var _=require(_0x591e('0x1'));var moment=require(_0x591e('0x2'));var Agent=require(_0x591e('0x3'));var Telephone=require(_0x591e('0x4'));var Trunk=require(_0x591e('0x5'));var VoiceQueue=require(_0x591e('0x6'));var Trigger=require(_0x591e('0x7'));var Template=require(_0x591e('0x8'));var Campaign=require(_0x591e('0x9'));var VoiceExtension=require(_0x591e('0xa'));var ZendeskAccount=require(_0x591e('0xb'));var SalesforceAccount=require(_0x591e('0xc'));var FreshdeskAccount=require(_0x591e('0xd'));var SugarcrmAccount=require(_0x591e('0xe'));var ZohoAccount=require(_0x591e('0xf'));var DeskAccount=require(_0x591e('0x10'));var VtigerAccount=require(_0x591e('0x11'));var ServicenowAccount=require(_0x591e('0x12'));var Dynamics365Account=require(_0x591e('0x13'));var FreshsalesAccount=require(_0x591e('0x14'));var FaxAccount=require(_0x591e('0x15'));var Realtime=function(){this[_0x591e('0x16')]={};this['telephones']={};this[_0x591e('0x17')]={};this[_0x591e('0x18')]={};this['triggers']={};this[_0x591e('0x19')]={};this['templates']={};this[_0x591e('0x1a')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this['channels']={};this['queueChannels']={};this['outboundChannels']={};this[_0x591e('0x1b')]={};this['settings']={};this[_0x591e('0x1c')]={};this[_0x591e('0x1d')]={};this[_0x591e('0x1e')]={};this['freshdeskAccounts']={};this[_0x591e('0x1f')]={};this['deskAccounts']={};this[_0x591e('0x20')]={};this[_0x591e('0x21')]={};this[_0x591e('0x22')]={};this['freshsalesAccounts']={};this[_0x591e('0x23')]={};};function freeIsNotKey(_0xaf2e59,_0x2ab498,_0xb89b88){var _0x51367f=_[_0x591e('0x24')](_0xaf2e59,function(_0x3928d3,_0x3976be){return _0x3928d3[_0xb89b88];});for(var _0x23d4bb in _0x2ab498){if(_0x2ab498[_0x591e('0x25')](_0x23d4bb)){if(!_0x51367f[_0x23d4bb]){delete _0x2ab498[_0x23d4bb];}}}}function freeIsNotKeySip(_0x53228c,_0x114fd7){var _0x3b0ade=_['mapKeys'](_0x53228c,function(_0x19b9c1,_0x528328){return util['format'](_0x591e('0x26'),_0x19b9c1[_0x591e('0x27')]);});for(var _0x26caed in _0x114fd7){if(_0x114fd7[_0x591e('0x25')](_0x26caed)){if(!_0x3b0ade[_0x26caed]){delete _0x114fd7[_0x26caed];}}}}function freeIsNotKeyAgent(_0x41d28e,_0x469481){var _0x8205c3=_[_0x591e('0x24')](_0x41d28e,function(_0x2da821,_0x22fed3){var _0x1b8023=_[_0x591e('0x28')](_0x2da821[_0x591e('0x29')])?util[_0x591e('0x2a')](_0x591e('0x26'),_0x2da821[_0x591e('0x27')]):_0x2da821['interface'];return _0x1b8023;});for(var _0x4345f4 in _0x469481){if(_0x469481[_0x591e('0x25')](_0x4345f4)){if(!_0x8205c3[_0x4345f4]){delete _0x469481[_0x4345f4];}}}}function clearVoiceCallReports(_0x3bbdb1){_0x3bbdb1[_0x591e('0x2b')]=0x0;_0x3bbdb1[_0x591e('0x2c')]=0x0;_0x3bbdb1[_0x591e('0x2d')]=0x0;_0x3bbdb1[_0x591e('0x2e')]=0x0;_0x3bbdb1[_0x591e('0x2f')]=0x0;}function clearCampaigns(_0x36a177){if(!_[_0x591e('0x30')](_0x36a177)){for(var _0x5d9c70 in _0x36a177){if(_0x36a177[_0x591e('0x25')](_0x5d9c70)){_0x36a177[_0x5d9c70]['ivrTotalCallsDays']=0x0;_0x36a177[_0x5d9c70][_0x591e('0x31')]=0x0;}}}}function clearVoiceQueues(_0x57f10e){if(!_[_0x591e('0x30')](_0x57f10e)){for(var _0x19eae8 in _0x57f10e){if(_0x57f10e[_0x591e('0x25')](_0x19eae8)){_0x57f10e[_0x19eae8][_0x591e('0x2b')]=0x0;_0x57f10e[_0x19eae8]['answered']=0x0;_0x57f10e[_0x19eae8][_0x591e('0x32')]=0x0;_0x57f10e[_0x19eae8][_0x591e('0x33')]=0x0;_0x57f10e[_0x19eae8][_0x591e('0x2d')]=0x0;_0x57f10e[_0x19eae8][_0x591e('0x2e')]=0x0;_0x57f10e[_0x19eae8]['sumBillable']=0x0;_0x57f10e[_0x19eae8][_0x591e('0x34')]=0x0;_0x57f10e[_0x19eae8][_0x591e('0x35')]=0x0;_0x57f10e[_0x19eae8][_0x591e('0x36')]=0x0;_0x57f10e[_0x19eae8][_0x591e('0x37')]=0x0;_0x57f10e[_0x19eae8][_0x591e('0x38')]=0x0;_0x57f10e[_0x19eae8]['outboundUnknownCallsDay']=0x0;_0x57f10e[_0x19eae8][_0x591e('0x39')]=0x0;_0x57f10e[_0x19eae8]['outboundDropCallsDayCallersExit']=0x0;_0x57f10e[_0x19eae8][_0x591e('0x3a')]=0x0;_0x57f10e[_0x19eae8][_0x591e('0x3b')]=0x0;_0x57f10e[_0x19eae8][_0x591e('0x3c')]=0x0;_0x57f10e[_0x19eae8][_0x591e('0x3d')]=0x0;_0x57f10e[_0x19eae8][_0x591e('0x34')]=0x0;_0x57f10e[_0x19eae8]['outboundAnswerCallsDay']=0x0;_0x57f10e[_0x19eae8][_0x591e('0x3e')]=!![];}}}}Realtime[_0x591e('0x3f')][_0x591e('0x40')]=function(_0x268338,_0x32f6a2){for(var _0x43aacf in _0x32f6a2){if(_0x268338[_0x591e('0x25')](_0x43aacf)){_0x268338[_0x43aacf]=_0x32f6a2[_0x43aacf];}}};Realtime['prototype']['initAgents']=function(){var _0x371061=this;return function(_0x39ce9c){if(_0x39ce9c){freeIsNotKeyAgent(_0x39ce9c,_0x371061[_0x591e('0x16')]);for(var _0x3493fb=0x0,_0x2f7972={},_0x5201ca={};_0x3493fb<_0x39ce9c['length'];_0x3493fb+=0x1){_0x2f7972=_0x39ce9c[_0x3493fb];var _0x21dc38=_[_0x591e('0x28')](_0x2f7972[_0x591e('0x29')])?util[_0x591e('0x2a')]('SIP/%s',_0x2f7972[_0x591e('0x27')]):_0x2f7972[_0x591e('0x29')];if(_[_0x591e('0x41')](_0x371061['agents'][_0x21dc38])){_0x371061['agents'][_0x21dc38]=new Agent(_0x2f7972);}else{_0x371061[_0x591e('0x40')](_0x371061[_0x591e('0x16')][_0x21dc38],_0x2f7972);}}}return _0x371061[_0x591e('0x16')];};};Realtime[_0x591e('0x3f')][_0x591e('0x42')]=function(){var _0x1f36cf=this;return function(_0x3b3edb){if(_0x3b3edb){freeIsNotKeySip(_0x3b3edb,_0x1f36cf[_0x591e('0x43')]);for(var _0x1c2306=0x0,_0x1400db={},_0x36959a={};_0x1c2306<_0x3b3edb[_0x591e('0x44')];_0x1c2306+=0x1){_0x1400db=_0x3b3edb[_0x1c2306];if(_[_0x591e('0x41')](_0x1f36cf['telephones'][util['format'](_0x591e('0x26'),_0x1400db[_0x591e('0x27')])])){_0x1f36cf[_0x591e('0x43')][util[_0x591e('0x2a')]('SIP/%s',_0x1400db[_0x591e('0x27')])]=new Telephone(_0x1400db);}else{_0x1f36cf['mergeFromDatabase'](_0x1f36cf['telephones'][util[_0x591e('0x2a')](_0x591e('0x26'),_0x1400db[_0x591e('0x27')])],_0x1400db);}}}return _0x1f36cf[_0x591e('0x43')];};};Realtime[_0x591e('0x3f')][_0x591e('0x45')]=function(){var _0x5e1baf=this;return function(_0x540fcf){if(_0x540fcf){freeIsNotKeySip(_0x540fcf,_0x5e1baf[_0x591e('0x17')]);for(var _0x2cd136=0x0,_0x17e420={},_0x3a96da={};_0x2cd136<_0x540fcf['length'];_0x2cd136+=0x1){_0x17e420=_0x540fcf[_0x2cd136];if(_[_0x591e('0x41')](_0x5e1baf[_0x591e('0x17')][util['format'](_0x591e('0x26'),_0x17e420[_0x591e('0x27')])])){_0x5e1baf['trunks'][util['format']('SIP/%s',_0x17e420[_0x591e('0x27')])]=new Trunk(_0x17e420);}else{_0x5e1baf[_0x591e('0x40')](_0x5e1baf[_0x591e('0x17')][util['format'](_0x591e('0x26'),_0x17e420[_0x591e('0x27')])],_0x17e420);}}}return _0x5e1baf[_0x591e('0x17')];};};Realtime[_0x591e('0x3f')][_0x591e('0x46')]=function(){var _0xcef5c7=this;return function(_0x44ffcb){if(_0x44ffcb){freeIsNotKey(_0x44ffcb,_0xcef5c7[_0x591e('0x18')],_0x591e('0x27'));for(var _0x2284d8=0x0,_0x12edbf={},_0x4b3e16={};_0x2284d8<_0x44ffcb[_0x591e('0x44')];_0x2284d8+=0x1){_0x12edbf=_0x44ffcb[_0x2284d8];if(_[_0x591e('0x41')](_0xcef5c7[_0x591e('0x18')][_0x12edbf[_0x591e('0x27')]])){_0xcef5c7[_0x591e('0x18')][_0x12edbf[_0x591e('0x27')]]=new VoiceQueue(_0x12edbf);}else{_0xcef5c7[_0x591e('0x40')](_0xcef5c7[_0x591e('0x18')][_0x12edbf[_0x591e('0x27')]],_0x12edbf);}}}return _0xcef5c7[_0x591e('0x18')];};};Realtime[_0x591e('0x3f')][_0x591e('0x47')]=function(){var _0x2244a5=this;return function(_0x3add7a){if(_0x3add7a){freeIsNotKey(_0x3add7a,_0x2244a5['triggers'],'id');for(var _0x1ed542=0x0,_0x1d14b0={},_0x44ce4b={};_0x1ed542<_0x3add7a[_0x591e('0x44')];_0x1ed542+=0x1){_0x1d14b0=_0x3add7a[_0x1ed542];if(_[_0x591e('0x41')](_0x2244a5[_0x591e('0x48')][_0x1d14b0['id']])){_0x2244a5[_0x591e('0x48')][_0x1d14b0['id']]=new Trigger(_0x1d14b0);}else{_0x2244a5[_0x591e('0x40')](_0x2244a5['triggers'][_0x1d14b0['id']],_0x1d14b0);}}}return _0x2244a5['triggers'];};};Realtime[_0x591e('0x3f')][_0x591e('0x49')]=function(){var _0x2bedea=this;return function(_0x42ebba){if(_0x42ebba){freeIsNotKey(_0x42ebba,_0x2bedea['templates'],'id');for(var _0x1ba574=0x0,_0x300288={},_0x4c9b3f={};_0x1ba574<_0x42ebba[_0x591e('0x44')];_0x1ba574+=0x1){_0x300288=_0x42ebba[_0x1ba574];if(_['isUndefined'](_0x2bedea['templates'][_0x300288['id']])){_0x2bedea['templates'][_0x300288['id']]=new Template(_0x300288);}else{_0x2bedea[_0x591e('0x40')](_0x2bedea[_0x591e('0x4a')][_0x300288['id']],_0x300288);}}}return _0x2bedea[_0x591e('0x4a')];};};Realtime[_0x591e('0x3f')][_0x591e('0x4b')]=function(){var _0x2c974e=this;return function(_0x583b5d){if(_0x583b5d){freeIsNotKey(_0x583b5d,_0x2c974e['zendeskAccounts'],'id');for(var _0xc2067b=0x0,_0x54fadf={},_0x366d62={};_0xc2067b<_0x583b5d[_0x591e('0x44')];_0xc2067b+=0x1){_0x54fadf=_0x583b5d[_0xc2067b];if(_[_0x591e('0x41')](_0x2c974e[_0x591e('0x1c')][_0x54fadf['id']])){_0x2c974e[_0x591e('0x1c')][_0x54fadf['id']]=new ZendeskAccount(_0x54fadf);}else{_0x2c974e[_0x591e('0x40')](_0x2c974e[_0x591e('0x1c')][_0x54fadf['id']],_0x54fadf);}}}return _0x2c974e[_0x591e('0x1c')];};};Realtime['prototype'][_0x591e('0x4c')]=function(){var _0x47c3b6=this;return function(_0x2c897d){if(_0x2c897d){freeIsNotKey(_0x2c897d,_0x47c3b6['salesforceAccounts'],'id');for(var _0x26b231=0x0,_0xd39d18={},_0xad0f49={};_0x26b231<_0x2c897d[_0x591e('0x44')];_0x26b231+=0x1){_0xd39d18=_0x2c897d[_0x26b231];if(_[_0x591e('0x41')](_0x47c3b6[_0x591e('0x1d')][_0xd39d18['id']])){_0x47c3b6['salesforceAccounts'][_0xd39d18['id']]=new SalesforceAccount(_0xd39d18);}else{_0x47c3b6[_0x591e('0x40')](_0x47c3b6[_0x591e('0x1d')][_0xd39d18['id']],_0xd39d18);}}}return _0x47c3b6[_0x591e('0x1d')];};};Realtime[_0x591e('0x3f')][_0x591e('0x4d')]=function(){var _0x22cd6c=this;return function(_0x38390f){if(_0x38390f){freeIsNotKey(_0x38390f,_0x22cd6c[_0x591e('0x4e')],'id');for(var _0xbd9e83=0x0,_0x3c3f8e={},_0x298b3c={};_0xbd9e83<_0x38390f[_0x591e('0x44')];_0xbd9e83+=0x1){_0x3c3f8e=_0x38390f[_0xbd9e83];if(_[_0x591e('0x41')](_0x22cd6c[_0x591e('0x4e')][_0x3c3f8e['id']])){_0x22cd6c[_0x591e('0x4e')][_0x3c3f8e['id']]=new FreshdeskAccount(_0x3c3f8e);}else{_0x22cd6c[_0x591e('0x40')](_0x22cd6c[_0x591e('0x4e')][_0x3c3f8e['id']],_0x3c3f8e);}}}return _0x22cd6c[_0x591e('0x4e')];};};Realtime[_0x591e('0x3f')][_0x591e('0x4f')]=function(){var _0x67cfd2=this;return function(_0x42861b){if(_0x42861b){freeIsNotKey(_0x42861b,_0x67cfd2['zohoAccounts'],'id');for(var _0x577b36=0x0,_0xdc7762={},_0x27a54d={};_0x577b36<_0x42861b['length'];_0x577b36+=0x1){_0xdc7762=_0x42861b[_0x577b36];if(_[_0x591e('0x41')](_0x67cfd2[_0x591e('0x1f')][_0xdc7762['id']])){_0x67cfd2[_0x591e('0x1f')][_0xdc7762['id']]=new ZohoAccount(_0xdc7762);}else{_0x67cfd2[_0x591e('0x40')](_0x67cfd2[_0x591e('0x1f')][_0xdc7762['id']],_0xdc7762);}}}return _0x67cfd2[_0x591e('0x1f')];};};Realtime[_0x591e('0x3f')][_0x591e('0x50')]=function(){var _0x5cdf7d=this;return function(_0x3dddad){if(_0x3dddad){freeIsNotKey(_0x3dddad,_0x5cdf7d['deskAccounts'],'id');for(var _0x10f57b=0x0,_0x275081={},_0x75a734={};_0x10f57b<_0x3dddad[_0x591e('0x44')];_0x10f57b+=0x1){_0x275081=_0x3dddad[_0x10f57b];if(_[_0x591e('0x41')](_0x5cdf7d[_0x591e('0x51')][_0x275081['id']])){_0x5cdf7d['deskAccounts'][_0x275081['id']]=new DeskAccount(_0x275081);}else{_0x5cdf7d['mergeFromDatabase'](_0x5cdf7d[_0x591e('0x51')][_0x275081['id']],_0x275081);}}}return _0x5cdf7d[_0x591e('0x51')];};};Realtime[_0x591e('0x3f')]['initSugarcrmAccounts']=function(){var _0x3f5aca=this;return function(_0x44cadc){if(_0x44cadc){freeIsNotKey(_0x44cadc,_0x3f5aca[_0x591e('0x1e')],'id');for(var _0x34cae6=0x0,_0x14dcf2={},_0x159dc7={};_0x34cae6<_0x44cadc[_0x591e('0x44')];_0x34cae6+=0x1){_0x14dcf2=_0x44cadc[_0x34cae6];if(_['isUndefined'](_0x3f5aca['sugarcrmAccounts'][_0x14dcf2['id']])){_0x3f5aca[_0x591e('0x1e')][_0x14dcf2['id']]=new SugarcrmAccount(_0x14dcf2);}else{_0x3f5aca[_0x591e('0x40')](_0x3f5aca[_0x591e('0x1e')][_0x14dcf2['id']],_0x14dcf2);}}}return _0x3f5aca[_0x591e('0x1e')];};};Realtime['prototype'][_0x591e('0x52')]=function(){var _0x1144f6=this;return function(_0x8115f3){if(_0x8115f3){freeIsNotKey(_0x8115f3,_0x1144f6[_0x591e('0x20')],'id');for(var _0x5ddf1f=0x0,_0x3e9be1={},_0x1ae478={};_0x5ddf1f<_0x8115f3['length'];_0x5ddf1f+=0x1){_0x3e9be1=_0x8115f3[_0x5ddf1f];if(_[_0x591e('0x41')](_0x1144f6[_0x591e('0x20')][_0x3e9be1['id']])){_0x1144f6[_0x591e('0x20')][_0x3e9be1['id']]=new VtigerAccount(_0x3e9be1);}else{_0x1144f6[_0x591e('0x40')](_0x1144f6[_0x591e('0x20')][_0x3e9be1['id']],_0x3e9be1);}}}return _0x1144f6[_0x591e('0x20')];};};Realtime[_0x591e('0x3f')]['initServicenowAccounts']=function(){var _0x2e163d=this;return function(_0x7d7b08){if(_0x7d7b08){freeIsNotKey(_0x7d7b08,_0x2e163d['servicenowAccounts'],'id');for(var _0x4589f7=0x0,_0x26a1d5={},_0x1faecc={};_0x4589f7<_0x7d7b08[_0x591e('0x44')];_0x4589f7+=0x1){_0x26a1d5=_0x7d7b08[_0x4589f7];if(_[_0x591e('0x41')](_0x2e163d[_0x591e('0x21')][_0x26a1d5['id']])){_0x2e163d[_0x591e('0x21')][_0x26a1d5['id']]=new ServicenowAccount(_0x26a1d5);}else{_0x2e163d['mergeFromDatabase'](_0x2e163d['servicenowAccounts'][_0x26a1d5['id']],_0x26a1d5);}}}return _0x2e163d[_0x591e('0x21')];};};Realtime[_0x591e('0x3f')][_0x591e('0x53')]=function(){var _0x1b7bbb=this;return function(_0x2297e5){if(_0x2297e5){freeIsNotKey(_0x2297e5,_0x1b7bbb[_0x591e('0x22')],'id');for(var _0x20519a=0x0,_0x53e0b8={},_0x37ab9c={};_0x20519a<_0x2297e5['length'];_0x20519a+=0x1){_0x53e0b8=_0x2297e5[_0x20519a];if(_[_0x591e('0x41')](_0x1b7bbb[_0x591e('0x22')][_0x53e0b8['id']])){_0x1b7bbb[_0x591e('0x22')][_0x53e0b8['id']]=new Dynamics365Account(_0x53e0b8);}else{_0x1b7bbb['mergeFromDatabase'](_0x1b7bbb[_0x591e('0x22')][_0x53e0b8['id']],_0x53e0b8);}}}return _0x1b7bbb[_0x591e('0x22')];};};Realtime[_0x591e('0x3f')][_0x591e('0x54')]=function(){var _0x609b95=this;return function(_0x2085a0){if(_0x2085a0){freeIsNotKey(_0x2085a0,_0x609b95[_0x591e('0x55')],'id');for(var _0x1f45fc=0x0,_0x3366a3={},_0x46e6be={};_0x1f45fc<_0x2085a0['length'];_0x1f45fc+=0x1){_0x3366a3=_0x2085a0[_0x1f45fc];if(_[_0x591e('0x41')](_0x609b95[_0x591e('0x55')][_0x3366a3['id']])){_0x609b95['freshsalesAccounts'][_0x3366a3['id']]=new FreshsalesAccount(_0x3366a3);}else{_0x609b95[_0x591e('0x40')](_0x609b95[_0x591e('0x55')][_0x3366a3['id']],_0x3366a3);}}}return _0x609b95[_0x591e('0x55')];};};Realtime[_0x591e('0x3f')][_0x591e('0x56')]=function(){var _0xb9d19d=this;return function(_0x203351){for(var _0x38b436=0x0;_0x38b436<_0x203351[_0x591e('0x44')];_0x38b436+=0x1){_[_0x591e('0x57')](_0xb9d19d[_0x591e('0x18')][_0x203351[_0x38b436][_0x591e('0x27')]],_0x203351[_0x38b436]);}return _0xb9d19d[_0x591e('0x18')];};};Realtime[_0x591e('0x3f')][_0x591e('0x58')]=function(){var _0x23b992=this;return function(_0x3a0083){clearVoiceQueues(_0x23b992[_0x591e('0x18')]);if(_0x3a0083){_0x3a0083=_[_0x591e('0x59')](_0x3a0083,_0x591e('0x5a'));for(var _0x25b81e in _0x3a0083){if(_0x3a0083[_0x591e('0x25')](_0x25b81e)){var _0x94ec18={};for(var _0x24c37e=0x0;_0x24c37e<_0x3a0083[_0x25b81e][_0x591e('0x44')];_0x24c37e+=0x1){var _0x4e7a93=_0x3a0083[_0x25b81e][_0x24c37e][_0x591e('0x5b')];if(_0x23b992['voiceQueues'][_0x4e7a93]){if(_0x3a0083[_0x25b81e][_0x24c37e][_0x591e('0x5c')]){_0x23b992['voiceQueues'][_0x4e7a93][_0x591e('0x32')]+=0x1;}if(_0x3a0083[_0x25b81e][_0x24c37e][_0x591e('0x5d')]){_0x23b992[_0x591e('0x18')][_0x4e7a93][_0x591e('0x33')]+=0x1;}_0x23b992[_0x591e('0x18')][_0x4e7a93][_0x591e('0x2d')]+=moment(_0x3a0083[_0x25b81e][_0x24c37e][_0x591e('0x5e')])['diff'](moment(_0x3a0083[_0x25b81e][_0x24c37e][_0x591e('0x5f')]),_0x591e('0x60'))||0x0;if(_0x24c37e===_0x3a0083[_0x25b81e][_0x591e('0x44')]-0x1){_0x23b992[_0x591e('0x18')][_0x4e7a93][_0x591e('0x2e')]+=moment(_0x3a0083[_0x25b81e][_0x24c37e][_0x591e('0x61')]||_0x3a0083[_0x25b81e][_0x24c37e][_0x591e('0x62')]||_0x3a0083[_0x25b81e][_0x24c37e]['queuecallerexitAt'])[_0x591e('0x63')](moment(_0x3a0083[_0x25b81e][_0x24c37e][_0x591e('0x5f')]),_0x591e('0x60'))||0x0;_0x23b992[_0x591e('0x18')][_0x4e7a93][_0x591e('0x2b')]+=0x1;if(_0x3a0083[_0x25b81e][_0x24c37e][_0x591e('0x64')]){_0x23b992[_0x591e('0x18')][_0x4e7a93][_0x591e('0x2c')]+=0x1;_0x23b992[_0x591e('0x18')][_0x4e7a93]['sumBillable']+=moment(_0x3a0083[_0x25b81e][_0x24c37e][_0x591e('0x61')])['diff'](moment(_0x3a0083[_0x25b81e][_0x24c37e]['queuecallerleaveAt']),_0x591e('0x60'))||0x0;}}else{_0x23b992[_0x591e('0x18')][_0x4e7a93][_0x591e('0x2e')]+=_0x23b992[_0x591e('0x18')][_0x4e7a93][_0x591e('0x2d')]||0x0;}}}}}}return _0x23b992[_0x591e('0x18')];};};Realtime[_0x591e('0x3f')][_0x591e('0x65')]=function(){var _0x2d8833=this;return function(_0x5e90ed){clearVoiceCallReports(_0x2d8833['outbound']);if(_0x5e90ed){for(var _0x3d51fa=0x0;_0x3d51fa<_0x5e90ed['length'];_0x3d51fa+=0x1){_0x2d8833[_0x591e('0x1a')]['total']+=0x1;_0x2d8833['outbound'][_0x591e('0x2e')]+=_0x5e90ed[_0x3d51fa][_0x591e('0x66')];if(_0x5e90ed[_0x3d51fa][_0x591e('0x67')]===_0x591e('0x68')){_0x2d8833['outbound']['answered']+=0x1;_0x2d8833[_0x591e('0x1a')][_0x591e('0x2d')]+=_0x5e90ed[_0x3d51fa][_0x591e('0x66')]-_0x5e90ed[_0x3d51fa][_0x591e('0x69')]||0x0;_0x2d8833[_0x591e('0x1a')][_0x591e('0x2f')]+=_0x5e90ed[_0x3d51fa][_0x591e('0x69')];}}}return _0x2d8833[_0x591e('0x1a')];};};Realtime[_0x591e('0x3f')][_0x591e('0x6a')]=function(){var _0x381eba=this;return function(_0x29a698){if(_0x29a698){freeIsNotKey(_0x29a698,_0x381eba[_0x591e('0x19')],_0x591e('0x27'));for(var _0x65c50f=0x0,_0x41f330={};_0x65c50f<_0x29a698['length'];_0x65c50f+=0x1){_0x41f330=_0x29a698[_0x65c50f];if(_[_0x591e('0x41')](_0x381eba[_0x591e('0x19')][_0x41f330[_0x591e('0x27')]])){_0x381eba[_0x591e('0x19')][_0x41f330[_0x591e('0x27')]]=new Campaign(_0x41f330);}else{_0x381eba[_0x591e('0x40')](_0x381eba[_0x591e('0x19')][_0x41f330[_0x591e('0x27')]],_0x41f330);_0x381eba[_0x591e('0x19')][_0x41f330['name']][_0x591e('0x6b')]=_0x41f330[_0x591e('0x6c')]?_0x41f330['SquareProject']['name']:undefined;}}}return _0x381eba[_0x591e('0x19')];};};Realtime['prototype']['initVoiceExtensions']=function(){var _0xbbd5f=this;return function(_0x3146cb){if(_0x3146cb){freeIsNotKey(_0x3146cb,_0xbbd5f['voiceExtensions'],'id');for(var _0x20ea93=0x0,_0x4a4afb={};_0x20ea93<_0x3146cb[_0x591e('0x44')];_0x20ea93+=0x1){_0x4a4afb=_0x3146cb[_0x20ea93];if(_[_0x591e('0x41')](_0xbbd5f[_0x591e('0x6d')][_0x4a4afb['id']])){_0xbbd5f[_0x591e('0x6d')][_0x4a4afb['id']]=new VoiceExtension(_0x4a4afb);}else{_0xbbd5f[_0x591e('0x40')](_0xbbd5f[_0x591e('0x6d')][_0x4a4afb['id']],_0x4a4afb);}}}return _0xbbd5f[_0x591e('0x6d')];};};Realtime[_0x591e('0x3f')][_0x591e('0x6e')]=function(){var _0xeaf40c=this;return function(_0x487036){clearCampaigns(_0xeaf40c[_0x591e('0x19')]);for(var _0x2f7f61=0x0;_0x2f7f61<_0x487036[_0x591e('0x44')];_0x2f7f61+=0x1){_['merge'](_0xeaf40c[_0x591e('0x19')][_0x487036[_0x2f7f61][_0x591e('0x27')]],_0x487036[_0x2f7f61]);}return _0xeaf40c[_0x591e('0x19')];};};Realtime[_0x591e('0x3f')][_0x591e('0x6f')]=function(){var _0x5bd870=this;return function(_0x1e635b){if(_0x1e635b){freeIsNotKey(_0x1e635b,_0x5bd870['faxAccounts'],'id');for(var _0x89705a=0x0,_0x3a4a88={},_0x5ce6d3={};_0x89705a<_0x1e635b[_0x591e('0x44')];_0x89705a+=0x1){_0x3a4a88=_0x1e635b[_0x89705a];if(_[_0x591e('0x41')](_0x5bd870[_0x591e('0x23')][_0x3a4a88['id']])){_0x5bd870[_0x591e('0x23')][_0x3a4a88['id']]=new FaxAccount(_0x3a4a88);}else{_0x5bd870[_0x591e('0x40')](_0x5bd870[_0x591e('0x23')][_0x3a4a88['id']],_0x3a4a88);}}}return _0x5bd870[_0x591e('0x23')];};};module[_0x591e('0x70')]=Realtime;