Built motion from commit 9d0783e6.|2.6.13
[motion2.git] / server / services / agi / index.js
index acdc982..625b418 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x4268=['hangup','sync','production','start','joinAt','YYYY-MM-DD\x20HH:mm:ss','traverseBFS','clear','vertex','gotoc','context','extension','priority','response','code','isUndefined','result','toString','agicommand\x20not\x20found','finally','[FINALLY\x20TRAVERSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','[END]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','[GOTO]\x20context:\x20%s\x20extension:\x20%s\x20priority:\x20%s','continueAt','Project\x20%s\x20not\x20published','Project\x20%s\x20not\x20found','voice','callysquare','[LICENSE]\x20CHANNELS:\x20%s','[LICENSE]\x20CHANNELS:\x20UNLIMITED','[LICENSE]','./server','listening','connection','xml2json','lodash','syncho','util','../../config/environment','../../config/logger','agi','./rpc','./mailRpc','./graph','./vertices','defaults','127.0.0.1','error','stack','log','port','format','[LISTENING]\x20Cally\x20Square\x20listening\x20%s:%d','name','message','[%s]\x20%s','[ERROR]\x20%s','info','callerid','[TIMEOUT]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','arg_1','dnid','uniqueid','evtHangup','toJson','mxGraphModel','root','agicommand','hasOwnProperty','retry','maxRetry','omit','mxCell','isArray','length','source','target','catch','createSquareReport','then','indexOf','debug','stringify','calleridname','close'];(function(_0x43b08,_0x15f967){var _0x5e05f4=function(_0x4bb0cb){while(--_0x4bb0cb){_0x43b08['push'](_0x43b08['shift']());}};_0x5e05f4(++_0x15f967);}(_0x4268,0x77));var _0x8426=function(_0x23afe6,_0xadb445){_0x23afe6=_0x23afe6-0x0;var _0x26751f=_0x4268[_0x23afe6];return _0x26751f;};'use strict';var parser=require(_0x8426('0x0'));var _=require(_0x8426('0x1'));var syncho=require(_0x8426('0x2'));var util=require(_0x8426('0x3'));var moment=require('moment');var config=require(_0x8426('0x4'));var logger=require(_0x8426('0x5'))(_0x8426('0x6'));var utilLicense=require('../../config/license/util');var rpc=require(_0x8426('0x7'));var mailRpc=require(_0x8426('0x8'));var Graph=require(_0x8426('0x9'));var Vertices=require(_0x8426('0xa'));var AGI_CODE_SUCCESS=0xc8;var AGI_RESULT_ERROR=-0x1;config[_0x8426('0x6')]=_[_0x8426('0xb')](config[_0x8426('0x6')],{'ip':_0x8426('0xc'),'port':0x11dd});function connectionHandler(_0x5b0e75){process['nextTick'](function(){syncho(function(){try{setChannelVariables(_0x5b0e75);agiHandler(_0x5b0e75);}catch(_0xb8aa1f){logger[_0x8426('0xd')](_0xb8aa1f[_0x8426('0xe')]);}});});}function listeningHandler(){console[_0x8426('0xf')]('Cally\x20Square\x20server\x20listening\x20on\x20port\x20%d!',config[_0x8426('0x6')][_0x8426('0x10')]);logger['info'](util[_0x8426('0x11')](_0x8426('0x12'),config[_0x8426('0x6')]['ip'],config[_0x8426('0x6')][_0x8426('0x10')]));}function errorHandler(_0x4ec2c3){if(_0x4ec2c3&&_0x4ec2c3[_0x8426('0x13')]&&_0x4ec2c3[_0x8426('0x14')]){logger['error'](util[_0x8426('0x11')](_0x8426('0x15'),_0x4ec2c3[_0x8426('0x13')],_0x4ec2c3[_0x8426('0x14')]));}else{logger[_0x8426('0xd')](util['format'](_0x8426('0x16'),_0x4ec2c3[_0x8426('0xe')]));}}function closeHandler(){logger[_0x8426('0x17')](util['format']('[CLOSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s',this['arg_1'],this['calleridname'],this[_0x8426('0x18')],this['dnid'],this['uniqueid']));try{createSquareReport(this);}catch(_0x2d4d76){logger[_0x8426('0xd')](_0x2d4d76[_0x8426('0xe')]);}}function timeoutHandler(){logger[_0x8426('0x17')](util[_0x8426('0x11')](_0x8426('0x19'),this[_0x8426('0x1a')],this['calleridname'],this[_0x8426('0x18')],this[_0x8426('0x1b')],this[_0x8426('0x1c')]));}function hangupHandler(){logger['info'](util[_0x8426('0x11')]('[HANGUP]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s',this[_0x8426('0x1a')],this['calleridname'],this['callerid'],this[_0x8426('0x1b')],this[_0x8426('0x1c')]));this[_0x8426('0x1d')]=!![];}function getRoot(_0x2800f5){return parser[_0x8426('0x1e')](_0x2800f5,{'object':!![]})[_0x8426('0x1f')][_0x8426('0x20')];}function addVertex(_0x4273a8,_0x2853da,_0x17fa7f){_0x2853da[_0x8426('0x21')]=_0x17fa7f;if(_0x2853da[_0x8426('0x22')](_0x8426('0x23'))){_0x2853da[_0x8426('0x24')]=parseInt(_0x2853da[_0x8426('0x23')],0xa);}_0x4273a8['addVertex'](_[_0x8426('0x25')](_0x2853da,_0x8426('0x26')));}function initGraph(_0x27f196,_0x2b6f89){var _0x34d779=new Graph();for(var _0x24c793 in _0x27f196){if(_0x27f196['hasOwnProperty'](_0x24c793)){if(_[_0x8426('0x27')](_0x27f196[_0x24c793])){for(var _0x430539=0x0;_0x430539<_0x27f196[_0x24c793]['length'];_0x430539+=0x1){addVertex(_0x34d779,_0x27f196[_0x24c793][_0x430539],_0x24c793);}}else{addVertex(_0x34d779,_0x27f196[_0x24c793],_0x24c793);}}}for(var _0x5748bd=0x0;_0x5748bd<_0x2b6f89[_0x8426('0x28')];_0x5748bd+=0x1){if(_0x2b6f89[_0x5748bd][_0x8426('0x29')]&&_0x2b6f89[_0x5748bd][_0x8426('0x2a')]){_0x34d779['addEdge'](_0x2b6f89[_0x5748bd][_0x8426('0x29')],_0x2b6f89[_0x5748bd][_0x8426('0x2a')],_0x2b6f89[_0x5748bd]['value']);}}return _0x34d779;}function getSquareProject(_0x5acc51,_0x255cd6){rpc['getSquareProject'](_0x5acc51)['then'](function(_0x4b9140){_0x255cd6(null,_0x4b9140);})[_0x8426('0x2b')](function(_0x3ae3d5){_0x255cd6(null,_0x3ae3d5);});}function createSquareReport(_0x5d65ed,_0x14978d){rpc[_0x8426('0x2c')](_0x5d65ed)[_0x8426('0x2d')](function(_0x359277){if(_0x14978d){_0x14978d(null,_0x359277);}})[_0x8426('0x2b')](function(_0x3d1591){if(_0x14978d){_0x14978d(null,_0x3d1591);}});}function setChannelVariables(_0x16cd24){for(var _0x17f07d in _0x16cd24){if(_0x16cd24['hasOwnProperty'](_0x17f07d)){if(_0x17f07d[_0x8426('0x2e')]('agi_')===0x0){_0x16cd24[_0x17f07d['substring'](0x4)]=_0x16cd24[_0x17f07d];delete _0x16cd24[_0x17f07d];}}}}function getLogFromObject(_0x21b526){return util['inspect'](_0x21b526,{'showHidden':![],'depth':null});}function agiHandler(_0x457c51){var _0x4fa165,_0x5cd62b,_0x26b2ed,_0x1d0cf5,_0x4f2dec;logger[_0x8426('0x2f')]('variables',JSON[_0x8426('0x30')](_0x457c51,null,0x2));logger[_0x8426('0x17')](util[_0x8426('0x11')]('[START]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s',_0x457c51[_0x8426('0x1a')],_0x457c51[_0x8426('0x31')],_0x457c51[_0x8426('0x18')],_0x457c51[_0x8426('0x1b')],_0x457c51[_0x8426('0x1c')]));_0x457c51['on'](_0x8426('0xd'),errorHandler);_0x457c51['on'](_0x8426('0x32'),closeHandler);_0x457c51['on']('timeout',timeoutHandler);_0x457c51['evtHangup']=![];_0x457c51['on'](_0x8426('0x33'),hangupHandler);var _0xc5e689=getSquareProject[_0x8426('0x34')](null,_0x457c51[_0x8426('0x1a')]);if(_0xc5e689){if(_0xc5e689[_0x8426('0x35')]){_0x4fa165=getRoot(_0xc5e689[_0x8426('0x35')]);if(_0x4fa165&&_0x4fa165[_0x8426('0x36')]){logger[_0x8426('0x2f')](_0x8426('0x20'),JSON[_0x8426('0x30')](_0x4fa165,null,0x2));_0x457c51[_0x8426('0x37')]=moment()[_0x8426('0x11')](_0x8426('0x38'));_0x5cd62b=initGraph(_['omit'](_0x4fa165,'mxCell'),_0x4fa165[_0x8426('0x26')]);_0x26b2ed=new Vertices(_0x457c51,rpc,mailRpc);logger[_0x8426('0x17')](util[_0x8426('0x11')]('[START\x20TRAVERSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s',_0x457c51[_0x8426('0x1a')],_0x457c51[_0x8426('0x31')],_0x457c51['callerid'],_0x457c51[_0x8426('0x1b')],_0x457c51[_0x8426('0x1c')]));_0x5cd62b[_0x8426('0x39')](_0x4fa165[_0x8426('0x36')]['id'],function(_0x4cff71){try{_0x4cff71=_0x26b2ed[_0x8426('0x3a')](_0x4cff71);logger['debug'](_0x8426('0x3b'),JSON[_0x8426('0x30')](_0x4cff71,null,0x2));if(_0x4cff71[_0x8426('0x21')]===_0x8426('0x3c')){logger[_0x8426('0x17')]('gotoc\x20block\x20stop\x20traverse\x20BFS');_0x457c51[_0x8426('0x3d')]=_0x4cff71[_0x8426('0x3d')]||_0x457c51[_0x8426('0x3d')];_0x457c51[_0x8426('0x3e')]=_0x4cff71[_0x8426('0x3e')];_0x457c51[_0x8426('0x3f')]=_0x4cff71[_0x8426('0x3f')]?_0x4cff71[_0x8426('0x3f')]-0x1:0x1;return null;}else if(_0x4cff71&&_0x26b2ed[_0x4cff71['agicommand']]){_0x4f2dec=_0x26b2ed[_0x4cff71['agicommand']](_0x4cff71);logger['info'](_0x8426('0x40'),JSON['stringify'](_0x4f2dec,null,0x2));if(_0x4f2dec&&_0x4f2dec[_0x8426('0x41')]===AGI_CODE_SUCCESS&&_0x4f2dec['result']!==AGI_RESULT_ERROR&&!_0x457c51[_0x8426('0x1d')]){logger['debug'](_0x8426('0x40'),getLogFromObject(_0x4f2dec));return _[_0x8426('0x42')](_0x4f2dec[_0x8426('0x43')])?null:_0x4f2dec['result'][_0x8426('0x44')]();}else{logger[_0x8426('0xd')](_0x8426('0x40'),getLogFromObject(_0x4f2dec));return null;}}else{logger[_0x8426('0xd')](_0x8426('0x45'));return null;}}catch(_0x55b2e4){logger[_0x8426('0xd')](_0x55b2e4['stack']);return null;}});if(_0x4fa165[_0x8426('0x46')]){logger['info'](util[_0x8426('0x11')](_0x8426('0x47'),_0x457c51['arg_1'],_0x457c51[_0x8426('0x31')],_0x457c51[_0x8426('0x18')],_0x457c51[_0x8426('0x1b')],_0x457c51[_0x8426('0x1c')]));_0x5cd62b['traverseBFS'](_0x4fa165[_0x8426('0x46')]['id'],function(_0x4b644e){try{_0x4b644e=_0x26b2ed['clear'](_0x4b644e);logger[_0x8426('0x2f')](_0x8426('0x3b'),JSON[_0x8426('0x30')](_0x4b644e,null,0x2));if(_0x4b644e&&_0x26b2ed[_0x4b644e['agicommand']]){_0x4f2dec=_0x26b2ed[_0x4b644e[_0x8426('0x21')]](_0x4b644e);if(_0x4f2dec){logger[_0x8426('0x2f')](_0x8426('0x40'),getLogFromObject(_0x4f2dec));return _[_0x8426('0x42')](_0x4f2dec[_0x8426('0x43')])?null:_0x4f2dec['result'][_0x8426('0x44')]();}else{logger[_0x8426('0xd')](_0x8426('0x40'),getLogFromObject(_0x4f2dec));return null;}}else{logger['error'](_0x8426('0x45'));return null;}}catch(_0x24c7c0){logger['error'](_0x24c7c0[_0x8426('0xe')]);return null;}});}logger[_0x8426('0x17')](util[_0x8426('0x11')](_0x8426('0x48'),_0x457c51[_0x8426('0x1a')],_0x457c51['calleridname'],_0x457c51[_0x8426('0x18')],_0x457c51[_0x8426('0x1b')],_0x457c51['uniqueid']));logger[_0x8426('0x17')](util[_0x8426('0x11')](_0x8426('0x49'),_0x457c51[_0x8426('0x3d')],_0x457c51['extension'],parseInt(_0x457c51[_0x8426('0x3f')],0xa)+0x1));_0x457c51[_0x8426('0x4a')](_0x457c51[_0x8426('0x3d')],_0x457c51['extension'],parseInt(_0x457c51[_0x8426('0x3f')],0xa)+0x1);_0x457c51[_0x8426('0x32')]();}}else{logger['error'](util[_0x8426('0x11')](_0x8426('0x4b'),_0x457c51[_0x8426('0x1a')]));_0x457c51[_0x8426('0x4a')](_0x457c51[_0x8426('0x3d')],_0x457c51[_0x8426('0x3e')],parseInt(_0x457c51[_0x8426('0x3f')],0xa)+0x1);_0x457c51[_0x8426('0x32')]();}}else{logger[_0x8426('0xd')](util[_0x8426('0x11')](_0x8426('0x4c'),_0x457c51[_0x8426('0x1a')]));_0x457c51[_0x8426('0x4a')](_0x457c51[_0x8426('0x3d')],_0x457c51[_0x8426('0x3e')],parseInt(_0x457c51['priority'],0xa)+0x1);_0x457c51[_0x8426('0x32')]();}}function main(){var _0x4214c7;return utilLicense['getLicense']()[_0x8426('0x2d')](function(_0x274196){if(_0x274196){if(_0x274196[_0x8426('0x4d')]){if(_0x274196[_0x8426('0x4e')]&&_0x274196[_0x8426('0x4e')]>0x0){logger['info'](util[_0x8426('0x11')](_0x8426('0x4f'),_0x274196[_0x8426('0x4e')]));_0x4214c7=_0x274196[_0x8426('0x4e')];}else{logger[_0x8426('0x17')](_0x8426('0x50'));}}else{logger[_0x8426('0x17')]('[LICENSE]\x20VOICE\x20IS\x20DISABLED');_0x4214c7=-0x1;}}})[_0x8426('0x2b')](function(_0x1d0e34){logger[_0x8426('0xd')](_0x8426('0x51'),_0x1d0e34[_0x8426('0xe')]);})[_0x8426('0x46')](function(){var _0x332af7=require(_0x8426('0x52'))(config[_0x8426('0x6')][_0x8426('0x10')],config['agi']['ip'],_0x4214c7);_0x332af7['on'](_0x8426('0xd'),errorHandler);_0x332af7['on'](_0x8426('0x53'),listeningHandler);_0x332af7['on'](_0x8426('0x54'),connectionHandler);_0x332af7['on']('close',closeHandler);});}main();
\ No newline at end of file
+var _0x4087=['arg_1','[HANGUP]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','createSquareReport','then','catch','hasOwnProperty','substring','debug','variables','close','timeout','hangup','find','handleNotFound','production','handleUnpublished','initialize','getLicense','voice','callysquare','[LICENSE]\x20CHANNELS:\x20%s','[LICENSE]\x20CHANNELS:\x20UNLIMITED','[LICENSE]\x20VOICE\x20IS\x20DISABLED','getAll','[LICENSE]','finally','listening','lodash','util','../../config/logger','../../config/license/util','./rpc','./events','EventEmitter','agi','127.0.0.1','projectUpdate','error','deleted','splice','push','stack','Cally\x20Square\x20server\x20listening\x20on\x20port\x20%d!','port','info','format','[%s]\x20%s','name','[ERROR]\x20%s','[CLOSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','calleridname','callerid','dnid','uniqueid'];(function(_0x54e703,_0x271fc3){var _0x6576bc=function(_0xabab37){while(--_0xabab37){_0x54e703['push'](_0x54e703['shift']());}};_0x6576bc(++_0x271fc3);}(_0x4087,0xf3));var _0x7408=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x4087[_0x14add3];return _0x4a174f;};'use strict';var _=require(_0x7408('0x0'));var syncho=require('syncho');var util=require(_0x7408('0x1'));var config=require('../../config/environment');var logger=require(_0x7408('0x2'))('agi');var utilLicense=require(_0x7408('0x3'));var rpc=require(_0x7408('0x4'));var Project=require('./project');var AGIEmitter=require(_0x7408('0x5'))[_0x7408('0x6')];var projects=[];config[_0x7408('0x7')]=_['defaults'](config[_0x7408('0x7')],{'ip':_0x7408('0x8'),'port':0x11dd});AGIEmitter['on'](_0x7408('0x9'),projectUpdateHandler);function connectionHandler(_0x34821d){process['nextTick'](function(){syncho(function(){try{setChannelVariables(_0x34821d);agiHandler(_0x34821d);}catch(_0x4f1167){logger[_0x7408('0xa')](_0x4f1167['stack']);}});});}function projectUpdateHandler(_0x4dcb03){try{var _0x16f4ca=_['findIndex'](projects,['id',_0x4dcb03['id']]);if(_0x16f4ca>-0x1){if(_0x4dcb03[_0x7408('0xb')]===!![]){projects[_0x7408('0xc')](_0x16f4ca,0x1);}else{projects[_0x16f4ca]=_0x4dcb03;}}else{projects[_0x7408('0xd')](_0x4dcb03);}}catch(_0x1874d1){logger[_0x7408('0xa')](_0x1874d1[_0x7408('0xe')]);}}function listeningHandler(){console['log'](_0x7408('0xf'),config[_0x7408('0x7')][_0x7408('0x10')]);logger[_0x7408('0x11')](util[_0x7408('0x12')]('[LISTENING]\x20Cally\x20Square\x20listening\x20%s:%d',config[_0x7408('0x7')]['ip'],config[_0x7408('0x7')]['port']));}function errorHandler(_0x43dc91){if(_0x43dc91&&_0x43dc91['name']&&_0x43dc91['message']){logger[_0x7408('0xa')](util['format'](_0x7408('0x13'),_0x43dc91[_0x7408('0x14')],_0x43dc91['message']));}else{logger[_0x7408('0xa')](util[_0x7408('0x12')](_0x7408('0x15'),_0x43dc91[_0x7408('0xe')]));}}function closeHandler(){logger[_0x7408('0x11')](util[_0x7408('0x12')](_0x7408('0x16'),this['arg_1'],this[_0x7408('0x17')],this[_0x7408('0x18')],this[_0x7408('0x19')],this[_0x7408('0x1a')]));try{createSquareReport(this);}catch(_0x141ca5){logger[_0x7408('0xa')](_0x141ca5[_0x7408('0xe')]);}}function timeoutHandler(){logger['info'](util[_0x7408('0x12')]('[TIMEOUT]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s',this[_0x7408('0x1b')],this['calleridname'],this['callerid'],this[_0x7408('0x19')],this[_0x7408('0x1a')]));}function hangupHandler(){logger[_0x7408('0x11')](util[_0x7408('0x12')](_0x7408('0x1c'),this['arg_1'],this['calleridname'],this['callerid'],this['dnid'],this['uniqueid']));this['evtHangup']=!![];}function createSquareReport(_0x28c530,_0x457e5e){rpc[_0x7408('0x1d')](_0x28c530)[_0x7408('0x1e')](function(_0x200d12){if(_0x457e5e){_0x457e5e(null,_0x200d12);}})[_0x7408('0x1f')](function(_0x18889d){if(_0x457e5e){_0x457e5e(null,_0x18889d);}});}function setChannelVariables(_0x2fc480){for(var _0x545de9 in _0x2fc480){if(_0x2fc480[_0x7408('0x20')](_0x545de9)){if(_0x545de9['indexOf']('agi_')===0x0){_0x2fc480[_0x545de9[_0x7408('0x21')](0x4)]=_0x2fc480[_0x545de9];delete _0x2fc480[_0x545de9];}}}}function agiHandler(_0x29fa9b){logger[_0x7408('0x22')](_0x7408('0x23'),JSON['stringify'](_0x29fa9b,null,0x2));logger[_0x7408('0x11')](util['format']('[START]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s',_0x29fa9b[_0x7408('0x1b')],_0x29fa9b[_0x7408('0x17')],_0x29fa9b[_0x7408('0x18')],_0x29fa9b[_0x7408('0x19')],_0x29fa9b[_0x7408('0x1a')]));_0x29fa9b['on'](_0x7408('0xa'),errorHandler);_0x29fa9b['on'](_0x7408('0x24'),closeHandler);_0x29fa9b['on'](_0x7408('0x25'),timeoutHandler);_0x29fa9b['evtHangup']=![];_0x29fa9b['on'](_0x7408('0x26'),hangupHandler);var _0x4aa5b5=_[_0x7408('0x27')](projects,[_0x7408('0x14'),_0x29fa9b[_0x7408('0x1b')]]);if(!_0x4aa5b5)return Project[_0x7408('0x28')](_0x29fa9b);if(!_0x4aa5b5[_0x7408('0x29')])return Project[_0x7408('0x2a')](_0x29fa9b);return Project[_0x7408('0x2b')](_0x4aa5b5,_0x29fa9b);}function main(){var _0x484875;return utilLicense[_0x7408('0x2c')]()[_0x7408('0x1e')](function(_0x5473c7){if(!_0x5473c7)return;if(_0x5473c7[_0x7408('0x2d')]){if(_0x5473c7[_0x7408('0x2e')]&&_0x5473c7[_0x7408('0x2e')]>0x0){logger['info'](util[_0x7408('0x12')](_0x7408('0x2f'),_0x5473c7[_0x7408('0x2e')]));_0x484875=_0x5473c7[_0x7408('0x2e')];}else{logger[_0x7408('0x11')](_0x7408('0x30'));}}else{logger[_0x7408('0x11')](_0x7408('0x31'));_0x484875=-0x1;}})[_0x7408('0x1e')](function(){return Project[_0x7408('0x32')]();})[_0x7408('0x1e')](function(_0x261f59){projects=_0x261f59;return;})[_0x7408('0x1f')](function(_0x8c0cea){logger['error'](_0x7408('0x33'),_0x8c0cea[_0x7408('0xe')]);})[_0x7408('0x34')](function(){var _0x573209=require('./server')(config[_0x7408('0x7')][_0x7408('0x10')],config[_0x7408('0x7')]['ip'],_0x484875);_0x573209['on']('error',errorHandler);_0x573209['on'](_0x7408('0x35'),listeningHandler);_0x573209['on']('connection',connectionHandler);_0x573209['on'](_0x7408('0x24'),closeHandler);});}main();
\ No newline at end of file