Built motion from commit 753c950e.|2.5.42
[motion2.git] / server / api / chatQueueReport / chatQueueReport.controller.js
index 6296d35..f45eb2f 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xb40d=['rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','offset','Content-Range','json','apply','reject','save','update','error','stack','name','index','map','fieldName','key','model','filters','query','attributes','intersection','fields','length','hasOwnProperty','limit','sort','where','pick','filter','type','VIRTUAL','merge','options','ChatQueueReport','count','then','includeAll','include','findAll','rows','catch','show','params','keys','rawAttributes','create','body','find','describe','eml-format'];(function(_0x92e2f5,_0x2a197b){var _0x440a23=function(_0x500d3a){while(--_0x500d3a){_0x92e2f5['push'](_0x92e2f5['shift']());}};_0x440a23(++_0x2a197b);}(_0xb40d,0x9b));var _0xdb40=function(_0x36cb26,_0x1d7ecc){_0x36cb26=_0x36cb26-0x0;var _0x2d82ca=_0xb40d[_0x36cb26];return _0x2d82ca;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xdb40('0x0'));var rimraf=require(_0xdb40('0x1'));var zipdir=require(_0xdb40('0x2'));var jsonpatch=require(_0xdb40('0x3'));var rp=require(_0xdb40('0x4'));var moment=require(_0xdb40('0x5'));var BPromise=require(_0xdb40('0x6'));var Mustache=require(_0xdb40('0x7'));var util=require(_0xdb40('0x8'));var path=require('path');var sox=require(_0xdb40('0x9'));var csv=require('to-csv');var ejs=require(_0xdb40('0xa'));var fs=require('fs');var _=require(_0xdb40('0xb'));var squel=require(_0xdb40('0xc'));var crypto=require(_0xdb40('0xd'));var jsforce=require(_0xdb40('0xe'));var deskjs=require(_0xdb40('0xf'));var toCsv=require(_0xdb40('0x10'));var querystring=require('querystring');var Papa=require(_0xdb40('0x11'));var Redis=require(_0xdb40('0x12'));var authService=require(_0xdb40('0x13'));var qs=require(_0xdb40('0x14'));var as=require(_0xdb40('0x15'));var hardwareService=require(_0xdb40('0x16'));var logger=require(_0xdb40('0x17'))(_0xdb40('0x18'));var utils=require(_0xdb40('0x19'));var config=require(_0xdb40('0x1a'));var licenseUtil=require(_0xdb40('0x1b'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x54ed87,_0x48b86a){_0x48b86a=_0x48b86a||0xcc;return function(_0x152de0){if(_0x152de0){return _0x54ed87[_0xdb40('0x1c')](_0x48b86a);}return _0x54ed87[_0xdb40('0x1d')](_0x48b86a)[_0xdb40('0x1e')]();};}function respondWithResult(_0x51cda3,_0x535ee5){_0x535ee5=_0x535ee5||0xc8;return function(_0x5edbae){if(_0x5edbae){return _0x51cda3['status'](_0x535ee5)['json'](_0x5edbae);}};}function respondWithFilteredResult(_0x14d091,_0x4e06bf){return function(_0x57ebb6){if(_0x57ebb6){var _0xc26da2=_0x57ebb6['count'],_0x564a98=_0x4e06bf['offset'],_0x33a154=_0x4e06bf[_0xdb40('0x1f')]+_0x4e06bf['limit'],_0x58c49b;if(_0x33a154>=_0xc26da2){_0x33a154=_0xc26da2;_0x58c49b=0xc8;}else{_0x58c49b=0xce;}_0x14d091[_0xdb40('0x1d')](_0x58c49b);return _0x14d091['set'](_0xdb40('0x20'),_0x564a98+'-'+_0x33a154+'/'+_0xc26da2)[_0xdb40('0x21')](_0x57ebb6);}return null;};}function patchUpdates(_0x34d5c2){return function(_0x1e2d64){try{jsonpatch[_0xdb40('0x22')](_0x1e2d64,_0x34d5c2,!![]);}catch(_0x3cc8c8){return BPromise[_0xdb40('0x23')](_0x3cc8c8);}return _0x1e2d64[_0xdb40('0x24')]();};}function saveUpdates(_0x22bfa2,_0x2c035b){return function(_0x1fafbc){if(_0x1fafbc){return _0x1fafbc[_0xdb40('0x25')](_0x22bfa2)['then'](function(_0x19a2b3){return _0x19a2b3;});}return null;};}function removeEntity(_0x3fa67f,_0x306c0b){return function(_0x5e2247){if(_0x5e2247){return _0x5e2247['destroy']()['then'](function(){_0x3fa67f[_0xdb40('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x545fba,_0x56c41a){return function(_0x46deba){if(!_0x46deba){_0x545fba[_0xdb40('0x1c')](0x194);}return _0x46deba;};}function handleError(_0x1b7da7,_0xe3987a){_0xe3987a=_0xe3987a||0x1f4;return function(_0x46259d){logger[_0xdb40('0x26')](_0x46259d[_0xdb40('0x27')]);if(_0x46259d[_0xdb40('0x28')]){delete _0x46259d[_0xdb40('0x28')];}_0x1b7da7[_0xdb40('0x1d')](_0xe3987a)['send'](_0x46259d);};}exports[_0xdb40('0x29')]=function(_0x3c833e,_0x13efd1){var _0x5abd60={},_0x543d0e={},_0x272d68={'count':0x0,'rows':[]};var _0x25856d=_[_0xdb40('0x2a')](db['ChatQueueReport']['rawAttributes'],function(_0x56649b){return{'name':_0x56649b[_0xdb40('0x2b')],'type':_0x56649b['type'][_0xdb40('0x2c')]};});_0x543d0e[_0xdb40('0x2d')]=_['map'](_0x25856d,_0xdb40('0x28'));_0x543d0e['query']=_['keys'](_0x3c833e['query']);_0x543d0e[_0xdb40('0x2e')]=_['intersection'](_0x543d0e[_0xdb40('0x2d')],_0x543d0e[_0xdb40('0x2f')]);_0x5abd60[_0xdb40('0x30')]=_[_0xdb40('0x31')](_0x543d0e[_0xdb40('0x2d')],qs[_0xdb40('0x32')](_0x3c833e[_0xdb40('0x2f')]['fields']));_0x5abd60[_0xdb40('0x30')]=_0x5abd60[_0xdb40('0x30')][_0xdb40('0x33')]?_0x5abd60[_0xdb40('0x30')]:_0x543d0e['model'];if(!_0x3c833e[_0xdb40('0x2f')][_0xdb40('0x34')]('nolimit')){_0x5abd60['limit']=qs[_0xdb40('0x35')](_0x3c833e['query'][_0xdb40('0x35')]);_0x5abd60[_0xdb40('0x1f')]=qs[_0xdb40('0x1f')](_0x3c833e[_0xdb40('0x2f')]['offset']);}_0x5abd60['order']=qs[_0xdb40('0x36')](_0x3c833e[_0xdb40('0x2f')][_0xdb40('0x36')]);_0x5abd60[_0xdb40('0x37')]=qs[_0xdb40('0x2e')](_[_0xdb40('0x38')](_0x3c833e[_0xdb40('0x2f')],_0x543d0e[_0xdb40('0x2e')]),_0x25856d);if(_0x3c833e[_0xdb40('0x2f')][_0xdb40('0x39')]){_0x5abd60[_0xdb40('0x37')]=_['merge'](_0x5abd60['where'],{'$or':_[_0xdb40('0x2a')](_0x25856d,function(_0x216ddc){if(_0x216ddc[_0xdb40('0x3a')]!==_0xdb40('0x3b')){var _0x23207c={};_0x23207c[_0x216ddc[_0xdb40('0x28')]]={'$like':'%'+_0x3c833e[_0xdb40('0x2f')][_0xdb40('0x39')]+'%'};return _0x23207c;}})});}_0x5abd60=_[_0xdb40('0x3c')]({},_0x5abd60,_0x3c833e[_0xdb40('0x3d')]);var _0x53a563={'where':_0x5abd60['where']};return db[_0xdb40('0x3e')][_0xdb40('0x3f')](_0x53a563)[_0xdb40('0x40')](function(_0x486e6f){_0x272d68[_0xdb40('0x3f')]=_0x486e6f;if(_0x3c833e[_0xdb40('0x2f')][_0xdb40('0x41')]){_0x5abd60[_0xdb40('0x42')]=[{'all':!![]}];}return db[_0xdb40('0x3e')][_0xdb40('0x43')](_0x5abd60);})[_0xdb40('0x40')](function(_0x398d58){_0x272d68[_0xdb40('0x44')]=_0x398d58;return _0x272d68;})[_0xdb40('0x40')](respondWithFilteredResult(_0x13efd1,_0x5abd60))[_0xdb40('0x45')](handleError(_0x13efd1,null));};exports[_0xdb40('0x46')]=function(_0x502666,_0x44419b){var _0xfefae={'raw':!![],'where':{'id':_0x502666[_0xdb40('0x47')]['id']}},_0x194c69={};_0x194c69[_0xdb40('0x2d')]=_[_0xdb40('0x48')](db[_0xdb40('0x3e')][_0xdb40('0x49')]);_0x194c69[_0xdb40('0x2f')]=_[_0xdb40('0x48')](_0x502666[_0xdb40('0x2f')]);_0x194c69['filters']=_[_0xdb40('0x31')](_0x194c69[_0xdb40('0x2d')],_0x194c69['query']);_0xfefae[_0xdb40('0x30')]=_[_0xdb40('0x31')](_0x194c69[_0xdb40('0x2d')],qs[_0xdb40('0x32')](_0x502666[_0xdb40('0x2f')][_0xdb40('0x32')]));_0xfefae['attributes']=_0xfefae['attributes'][_0xdb40('0x33')]?_0xfefae[_0xdb40('0x30')]:_0x194c69[_0xdb40('0x2d')];if(_0x502666['query']['includeAll']){_0xfefae[_0xdb40('0x42')]=[{'all':!![]}];}_0xfefae=_[_0xdb40('0x3c')]({},_0xfefae,_0x502666[_0xdb40('0x3d')]);return db['ChatQueueReport']['find'](_0xfefae)[_0xdb40('0x40')](handleEntityNotFound(_0x44419b,null))['then'](respondWithResult(_0x44419b,null))[_0xdb40('0x45')](handleError(_0x44419b,null));};exports[_0xdb40('0x4a')]=function(_0x46d938,_0x49a3d2){return db['ChatQueueReport'][_0xdb40('0x4a')](_0x46d938[_0xdb40('0x4b')],{})[_0xdb40('0x40')](respondWithResult(_0x49a3d2,0xc9))[_0xdb40('0x45')](handleError(_0x49a3d2,null));};exports[_0xdb40('0x25')]=function(_0x184dff,_0x52e77e){if(_0x184dff[_0xdb40('0x4b')]['id']){delete _0x184dff['body']['id'];}return db[_0xdb40('0x3e')][_0xdb40('0x4c')]({'where':{'id':_0x184dff[_0xdb40('0x47')]['id']}})['then'](handleEntityNotFound(_0x52e77e,null))['then'](saveUpdates(_0x184dff[_0xdb40('0x4b')],null))[_0xdb40('0x40')](respondWithResult(_0x52e77e,null))[_0xdb40('0x45')](handleError(_0x52e77e,null));};exports['destroy']=function(_0x81758e,_0x5ae8da){return db[_0xdb40('0x3e')][_0xdb40('0x4c')]({'where':{'id':_0x81758e[_0xdb40('0x47')]['id']}})['then'](handleEntityNotFound(_0x5ae8da,null))['then'](removeEntity(_0x5ae8da,null))[_0xdb40('0x45')](handleError(_0x5ae8da,null));};exports['describe']=function(_0x2730af,_0x32664f){return db[_0xdb40('0x3e')][_0xdb40('0x4d')]()[_0xdb40('0x40')](respondWithResult(_0x32664f,null))[_0xdb40('0x45')](handleError(_0x32664f,null));};
\ No newline at end of file
+var _0x6829=['end','json','offset','limit','undefined','set','reject','update','then','destroy','error','stack','name','send','index','map','rawAttributes','query','keys','filters','attributes','intersection','model','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','type','VIRTUAL','ChatQueueReport','count','includeAll','findAll','rows','catch','show','params','include','options','find','create','body','describe','eml-format','rimraf','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','status'];(function(_0x2c99a2,_0x1abb07){var _0x364622=function(_0x101395){while(--_0x101395){_0x2c99a2['push'](_0x2c99a2['shift']());}};_0x364622(++_0x1abb07);}(_0x6829,0x14c));var _0x9682=function(_0x2be8c2,_0x14a4b5){_0x2be8c2=_0x2be8c2-0x0;var _0x97f531=_0x6829[_0x2be8c2];return _0x97f531;};'use strict';var emlformat=require(_0x9682('0x0'));var rimraf=require(_0x9682('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x9682('0x2'));var BPromise=require(_0x9682('0x3'));var Mustache=require(_0x9682('0x4'));var util=require(_0x9682('0x5'));var path=require(_0x9682('0x6'));var sox=require(_0x9682('0x7'));var csv=require(_0x9682('0x8'));var ejs=require(_0x9682('0x9'));var fs=require('fs');var fs_extra=require(_0x9682('0xa'));var _=require(_0x9682('0xb'));var squel=require(_0x9682('0xc'));var crypto=require(_0x9682('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x9682('0xe'));var Papa=require(_0x9682('0xf'));var Redis=require('ioredis');var authService=require(_0x9682('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x9682('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9682('0x12'))(_0x9682('0x13'));var utils=require(_0x9682('0x14'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x9682('0x15'))['db'];function respondWithStatusCode(_0x1391c3,_0x57e123){_0x57e123=_0x57e123||0xcc;return function(_0x15663f){if(_0x15663f){return _0x1391c3['sendStatus'](_0x57e123);}return _0x1391c3[_0x9682('0x16')](_0x57e123)[_0x9682('0x17')]();};}function respondWithResult(_0x289d8b,_0x21451a){_0x21451a=_0x21451a||0xc8;return function(_0x30bfd7){if(_0x30bfd7){return _0x289d8b[_0x9682('0x16')](_0x21451a)[_0x9682('0x18')](_0x30bfd7);}};}function respondWithFilteredResult(_0xa26517,_0x1adcf8){return function(_0x13a1a9){if(_0x13a1a9){var _0x526391=typeof _0x1adcf8[_0x9682('0x19')]==='undefined'&&typeof _0x1adcf8[_0x9682('0x1a')]===_0x9682('0x1b');var _0x1f4971=_0x13a1a9['count'];var _0x1c73ee=_0x526391?0x0:_0x1adcf8['offset'];var _0x107291=_0x526391?_0x13a1a9['count']:_0x1adcf8[_0x9682('0x19')]+_0x1adcf8[_0x9682('0x1a')];var _0x57d4cf;if(_0x107291>=_0x1f4971){_0x107291=_0x1f4971;_0x57d4cf=0xc8;}else{_0x57d4cf=0xce;}_0xa26517[_0x9682('0x16')](_0x57d4cf);return _0xa26517[_0x9682('0x1c')]('Content-Range',_0x1c73ee+'-'+_0x107291+'/'+_0x1f4971)['json'](_0x13a1a9);}return null;};}function patchUpdates(_0x497ff7){return function(_0x3fca2b){try{jsonpatch['apply'](_0x3fca2b,_0x497ff7,!![]);}catch(_0x36230c){return BPromise[_0x9682('0x1d')](_0x36230c);}return _0x3fca2b['save']();};}function saveUpdates(_0x4650c9,_0x238361){return function(_0x1aacb6){if(_0x1aacb6){return _0x1aacb6[_0x9682('0x1e')](_0x4650c9)[_0x9682('0x1f')](function(_0x1c2eaf){return _0x1c2eaf;});}return null;};}function removeEntity(_0x738838,_0x40e927){return function(_0x107352){if(_0x107352){return _0x107352[_0x9682('0x20')]()['then'](function(){_0x738838[_0x9682('0x16')](0xcc)[_0x9682('0x17')]();});}};}function handleEntityNotFound(_0x88419f,_0x21a10b){return function(_0x39291f){if(!_0x39291f){_0x88419f['sendStatus'](0x194);}return _0x39291f;};}function handleError(_0x756fea,_0x1dbf57){_0x1dbf57=_0x1dbf57||0x1f4;return function(_0x44808c){logger[_0x9682('0x21')](_0x44808c[_0x9682('0x22')]);if(_0x44808c[_0x9682('0x23')]){delete _0x44808c['name'];}_0x756fea[_0x9682('0x16')](_0x1dbf57)[_0x9682('0x24')](_0x44808c);};}exports[_0x9682('0x25')]=function(_0x1d827e,_0x9e3d59){var _0x1fdb4d={},_0x176624={},_0x14d974={'count':0x0,'rows':[]};var _0x5f4294=_[_0x9682('0x26')](db['ChatQueueReport'][_0x9682('0x27')],function(_0x27d7f0){return{'name':_0x27d7f0['fieldName'],'type':_0x27d7f0['type']['key']};});_0x176624['model']=_[_0x9682('0x26')](_0x5f4294,'name');_0x176624[_0x9682('0x28')]=_[_0x9682('0x29')](_0x1d827e[_0x9682('0x28')]);_0x176624[_0x9682('0x2a')]=_['intersection'](_0x176624['model'],_0x176624[_0x9682('0x28')]);_0x1fdb4d[_0x9682('0x2b')]=_[_0x9682('0x2c')](_0x176624[_0x9682('0x2d')],qs[_0x9682('0x2e')](_0x1d827e['query']['fields']));_0x1fdb4d[_0x9682('0x2b')]=_0x1fdb4d[_0x9682('0x2b')][_0x9682('0x2f')]?_0x1fdb4d[_0x9682('0x2b')]:_0x176624[_0x9682('0x2d')];if(!_0x1d827e[_0x9682('0x28')][_0x9682('0x30')]('nolimit')){_0x1fdb4d[_0x9682('0x1a')]=qs[_0x9682('0x1a')](_0x1d827e[_0x9682('0x28')][_0x9682('0x1a')]);_0x1fdb4d[_0x9682('0x19')]=qs['offset'](_0x1d827e[_0x9682('0x28')]['offset']);}_0x1fdb4d[_0x9682('0x31')]=qs[_0x9682('0x32')](_0x1d827e[_0x9682('0x28')][_0x9682('0x32')]);_0x1fdb4d[_0x9682('0x33')]=qs[_0x9682('0x2a')](_[_0x9682('0x34')](_0x1d827e['query'],_0x176624[_0x9682('0x2a')]),_0x5f4294);if(_0x1d827e['query'][_0x9682('0x35')]){_0x1fdb4d['where']=_[_0x9682('0x36')](_0x1fdb4d[_0x9682('0x33')],{'$or':_[_0x9682('0x26')](_0x5f4294,function(_0x110fff){if(_0x110fff[_0x9682('0x37')]!==_0x9682('0x38')){var _0x123367={};_0x123367[_0x110fff[_0x9682('0x23')]]={'$like':'%'+_0x1d827e[_0x9682('0x28')][_0x9682('0x35')]+'%'};return _0x123367;}})});}_0x1fdb4d=_[_0x9682('0x36')]({},_0x1fdb4d,_0x1d827e['options']);var _0x30bdf0={'where':_0x1fdb4d[_0x9682('0x33')]};return db[_0x9682('0x39')][_0x9682('0x3a')](_0x30bdf0)[_0x9682('0x1f')](function(_0x479ac7){_0x14d974[_0x9682('0x3a')]=_0x479ac7;if(_0x1d827e[_0x9682('0x28')][_0x9682('0x3b')]){_0x1fdb4d['include']=[{'all':!![]}];}return db[_0x9682('0x39')][_0x9682('0x3c')](_0x1fdb4d);})[_0x9682('0x1f')](function(_0x240431){_0x14d974[_0x9682('0x3d')]=_0x240431;return _0x14d974;})[_0x9682('0x1f')](respondWithFilteredResult(_0x9e3d59,_0x1fdb4d))[_0x9682('0x3e')](handleError(_0x9e3d59,null));};exports[_0x9682('0x3f')]=function(_0x6e3eaa,_0x2d9b43){var _0x46b5c6={'raw':!![],'where':{'id':_0x6e3eaa[_0x9682('0x40')]['id']}},_0x3324b2={};_0x3324b2[_0x9682('0x2d')]=_[_0x9682('0x29')](db[_0x9682('0x39')]['rawAttributes']);_0x3324b2[_0x9682('0x28')]=_['keys'](_0x6e3eaa[_0x9682('0x28')]);_0x3324b2[_0x9682('0x2a')]=_[_0x9682('0x2c')](_0x3324b2['model'],_0x3324b2['query']);_0x46b5c6[_0x9682('0x2b')]=_[_0x9682('0x2c')](_0x3324b2[_0x9682('0x2d')],qs[_0x9682('0x2e')](_0x6e3eaa[_0x9682('0x28')][_0x9682('0x2e')]));_0x46b5c6[_0x9682('0x2b')]=_0x46b5c6['attributes'][_0x9682('0x2f')]?_0x46b5c6['attributes']:_0x3324b2[_0x9682('0x2d')];if(_0x6e3eaa[_0x9682('0x28')][_0x9682('0x3b')]){_0x46b5c6[_0x9682('0x41')]=[{'all':!![]}];}_0x46b5c6=_[_0x9682('0x36')]({},_0x46b5c6,_0x6e3eaa[_0x9682('0x42')]);return db[_0x9682('0x39')][_0x9682('0x43')](_0x46b5c6)['then'](handleEntityNotFound(_0x2d9b43,null))[_0x9682('0x1f')](respondWithResult(_0x2d9b43,null))[_0x9682('0x3e')](handleError(_0x2d9b43,null));};exports[_0x9682('0x44')]=function(_0x1d09a4,_0xd99414){return db[_0x9682('0x39')]['create'](_0x1d09a4[_0x9682('0x45')],{})[_0x9682('0x1f')](respondWithResult(_0xd99414,0xc9))[_0x9682('0x3e')](handleError(_0xd99414,null));};exports[_0x9682('0x1e')]=function(_0x3c79ce,_0x2cc99b){if(_0x3c79ce[_0x9682('0x45')]['id']){delete _0x3c79ce[_0x9682('0x45')]['id'];}return db[_0x9682('0x39')][_0x9682('0x43')]({'where':{'id':_0x3c79ce['params']['id']}})['then'](handleEntityNotFound(_0x2cc99b,null))['then'](saveUpdates(_0x3c79ce['body'],null))['then'](respondWithResult(_0x2cc99b,null))[_0x9682('0x3e')](handleError(_0x2cc99b,null));};exports[_0x9682('0x20')]=function(_0x731dd0,_0x5154c7){return db[_0x9682('0x39')][_0x9682('0x43')]({'where':{'id':_0x731dd0[_0x9682('0x40')]['id']}})['then'](handleEntityNotFound(_0x5154c7,null))[_0x9682('0x1f')](removeEntity(_0x5154c7,null))[_0x9682('0x3e')](handleError(_0x5154c7,null));};exports[_0x9682('0x46')]=function(_0x29fa7f,_0x3357d5){return db[_0x9682('0x39')][_0x9682('0x46')]()['then'](respondWithResult(_0x3357d5,null))[_0x9682('0x3e')](handleError(_0x3357d5,null));};
\ No newline at end of file