Built motion from commit (unavailable).|2.5.14
[motion2.git] / server / api / mailSubstatus / mailSubstatus.controller.js
index cf24fa8..474f8ce 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xf352=['ejs','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','save','update','then','destroy','name','send','index','map','MailSubstatus','rawAttributes','fieldName','model','keys','query','intersection','attributes','fields','hasOwnProperty','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','findAll','rows','params','length','find','catch','create','body','describe','eml-format','rimraf','request-promise','bluebird','mustache','sox','to-csv'];(function(_0x1694f5,_0x49b7c3){var _0x5b4321=function(_0x58c183){while(--_0x58c183){_0x1694f5['push'](_0x1694f5['shift']());}};_0x5b4321(++_0x49b7c3);}(_0xf352,0x81));var _0x2f35=function(_0x539175,_0x526379){_0x539175=_0x539175-0x0;var _0x2ea870=_0xf352[_0x539175];return _0x2ea870;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x2f35('0x0'));var rimraf=require(_0x2f35('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x2f35('0x2'));var moment=require('moment');var BPromise=require(_0x2f35('0x3'));var Mustache=require(_0x2f35('0x4'));var util=require('util');var path=require('path');var sox=require(_0x2f35('0x5'));var csv=require(_0x2f35('0x6'));var ejs=require(_0x2f35('0x7'));var fs=require('fs');var _=require(_0x2f35('0x8'));var squel=require(_0x2f35('0x9'));var crypto=require(_0x2f35('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x2f35('0x6'));var querystring=require(_0x2f35('0xb'));var Papa=require(_0x2f35('0xc'));var Redis=require(_0x2f35('0xd'));var authService=require(_0x2f35('0xe'));var qs=require(_0x2f35('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x2f35('0x10'));var logger=require(_0x2f35('0x11'))(_0x2f35('0x12'));var utils=require(_0x2f35('0x13'));var config=require(_0x2f35('0x14'));var licenseUtil=require(_0x2f35('0x15'));var db=require(_0x2f35('0x16'))['db'];function respondWithStatusCode(_0x34e6b7,_0x2a004b){_0x2a004b=_0x2a004b||0xcc;return function(_0x3255d1){if(_0x3255d1){return _0x34e6b7[_0x2f35('0x17')](_0x2a004b);}return _0x34e6b7[_0x2f35('0x18')](_0x2a004b)[_0x2f35('0x19')]();};}function respondWithResult(_0x50298d,_0x17f9a4){_0x17f9a4=_0x17f9a4||0xc8;return function(_0x57c44e){if(_0x57c44e){return _0x50298d['status'](_0x17f9a4)[_0x2f35('0x1a')](_0x57c44e);}};}function respondWithFilteredResult(_0x59ce76,_0x20f08a){return function(_0x21af5c){if(_0x21af5c){var _0x156b19=_0x21af5c[_0x2f35('0x1b')],_0x18cac9=_0x20f08a[_0x2f35('0x1c')],_0x22de17=_0x20f08a[_0x2f35('0x1c')]+_0x20f08a[_0x2f35('0x1d')],_0x4ed1bc;if(_0x22de17>=_0x156b19){_0x22de17=_0x156b19;_0x4ed1bc=0xc8;}else{_0x4ed1bc=0xce;}_0x59ce76[_0x2f35('0x18')](_0x4ed1bc);return _0x59ce76['set'](_0x2f35('0x1e'),_0x18cac9+'-'+_0x22de17+'/'+_0x156b19)[_0x2f35('0x1a')](_0x21af5c);}return null;};}function patchUpdates(_0x38821d){return function(_0xecad74){try{jsonpatch['apply'](_0xecad74,_0x38821d,!![]);}catch(_0x27ef0c){return BPromise['reject'](_0x27ef0c);}return _0xecad74[_0x2f35('0x1f')]();};}function saveUpdates(_0xd1aacd,_0x3c4ed8){return function(_0x3544d0){if(_0x3544d0){return _0x3544d0[_0x2f35('0x20')](_0xd1aacd)[_0x2f35('0x21')](function(_0x2b7656){return _0x2b7656;});}return null;};}function removeEntity(_0x170d6e,_0x160d5d){return function(_0x38a80d){if(_0x38a80d){return _0x38a80d[_0x2f35('0x22')]()['then'](function(){_0x170d6e[_0x2f35('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2389b9,_0x5c9424){return function(_0x7e3d5c){if(!_0x7e3d5c){_0x2389b9[_0x2f35('0x17')](0x194);}return _0x7e3d5c;};}function handleError(_0x55ea3e,_0x4208f9){_0x4208f9=_0x4208f9||0x1f4;return function(_0x9af768){logger['error'](_0x9af768['stack']);if(_0x9af768[_0x2f35('0x23')]){delete _0x9af768[_0x2f35('0x23')];}_0x55ea3e[_0x2f35('0x18')](_0x4208f9)[_0x2f35('0x24')](_0x9af768);};}exports[_0x2f35('0x25')]=function(_0x4c96aa,_0x19d80d){var _0x2612c4={},_0x127ca5={},_0x5ed123={'count':0x0,'rows':[]};var _0x3b83de=_[_0x2f35('0x26')](db[_0x2f35('0x27')][_0x2f35('0x28')],function(_0x3d0de6){return{'name':_0x3d0de6[_0x2f35('0x29')],'type':_0x3d0de6['type']['key']};});_0x127ca5[_0x2f35('0x2a')]=_[_0x2f35('0x26')](_0x3b83de,_0x2f35('0x23'));_0x127ca5['query']=_[_0x2f35('0x2b')](_0x4c96aa[_0x2f35('0x2c')]);_0x127ca5['filters']=_[_0x2f35('0x2d')](_0x127ca5[_0x2f35('0x2a')],_0x127ca5[_0x2f35('0x2c')]);_0x2612c4[_0x2f35('0x2e')]=_['intersection'](_0x127ca5[_0x2f35('0x2a')],qs[_0x2f35('0x2f')](_0x4c96aa[_0x2f35('0x2c')]['fields']));_0x2612c4[_0x2f35('0x2e')]=_0x2612c4[_0x2f35('0x2e')]['length']?_0x2612c4[_0x2f35('0x2e')]:_0x127ca5['model'];if(!_0x4c96aa[_0x2f35('0x2c')][_0x2f35('0x30')]('nolimit')){_0x2612c4['limit']=qs[_0x2f35('0x1d')](_0x4c96aa[_0x2f35('0x2c')][_0x2f35('0x1d')]);_0x2612c4['offset']=qs[_0x2f35('0x1c')](_0x4c96aa[_0x2f35('0x2c')][_0x2f35('0x1c')]);}_0x2612c4[_0x2f35('0x31')]=qs[_0x2f35('0x32')](_0x4c96aa[_0x2f35('0x2c')][_0x2f35('0x32')]);_0x2612c4[_0x2f35('0x33')]=qs[_0x2f35('0x34')](_[_0x2f35('0x35')](_0x4c96aa[_0x2f35('0x2c')],_0x127ca5[_0x2f35('0x34')]),_0x3b83de);if(_0x4c96aa[_0x2f35('0x2c')][_0x2f35('0x36')]){_0x2612c4[_0x2f35('0x33')]=_[_0x2f35('0x37')](_0x2612c4[_0x2f35('0x33')],{'$or':_[_0x2f35('0x26')](_0x3b83de,function(_0x434926){if(_0x434926['type']!==_0x2f35('0x38')){var _0x28719a={};_0x28719a[_0x434926[_0x2f35('0x23')]]={'$like':'%'+_0x4c96aa[_0x2f35('0x2c')]['filter']+'%'};return _0x28719a;}})});}_0x2612c4=_[_0x2f35('0x37')]({},_0x2612c4,_0x4c96aa[_0x2f35('0x39')]);var _0x31d524={'where':_0x2612c4[_0x2f35('0x33')]};return db[_0x2f35('0x27')]['count'](_0x31d524)[_0x2f35('0x21')](function(_0x10695a){_0x5ed123['count']=_0x10695a;if(_0x4c96aa[_0x2f35('0x2c')][_0x2f35('0x3a')]){_0x2612c4['include']=[{'all':!![]}];}return db[_0x2f35('0x27')][_0x2f35('0x3b')](_0x2612c4);})['then'](function(_0x4ccdbc){_0x5ed123[_0x2f35('0x3c')]=_0x4ccdbc;return _0x5ed123;})['then'](respondWithFilteredResult(_0x19d80d,_0x2612c4))['catch'](handleError(_0x19d80d,null));};exports['show']=function(_0x51178a,_0x4d01a1){var _0x1bff80={'raw':!![],'where':{'id':_0x51178a[_0x2f35('0x3d')]['id']}},_0x174e78={};_0x174e78[_0x2f35('0x2a')]=_['keys'](db[_0x2f35('0x27')]['rawAttributes']);_0x174e78['query']=_[_0x2f35('0x2b')](_0x51178a[_0x2f35('0x2c')]);_0x174e78[_0x2f35('0x34')]=_['intersection'](_0x174e78[_0x2f35('0x2a')],_0x174e78[_0x2f35('0x2c')]);_0x1bff80[_0x2f35('0x2e')]=_[_0x2f35('0x2d')](_0x174e78[_0x2f35('0x2a')],qs[_0x2f35('0x2f')](_0x51178a['query']['fields']));_0x1bff80[_0x2f35('0x2e')]=_0x1bff80[_0x2f35('0x2e')][_0x2f35('0x3e')]?_0x1bff80['attributes']:_0x174e78['model'];if(_0x51178a[_0x2f35('0x2c')][_0x2f35('0x3a')]){_0x1bff80['include']=[{'all':!![]}];}_0x1bff80=_[_0x2f35('0x37')]({},_0x1bff80,_0x51178a[_0x2f35('0x39')]);return db['MailSubstatus'][_0x2f35('0x3f')](_0x1bff80)[_0x2f35('0x21')](handleEntityNotFound(_0x4d01a1,null))['then'](respondWithResult(_0x4d01a1,null))[_0x2f35('0x40')](handleError(_0x4d01a1,null));};exports['create']=function(_0x39e1ed,_0x2958e4){return db[_0x2f35('0x27')][_0x2f35('0x41')](_0x39e1ed['body'],{})[_0x2f35('0x21')](respondWithResult(_0x2958e4,0xc9))['catch'](handleError(_0x2958e4,null));};exports['update']=function(_0x4953e7,_0x44838a){if(_0x4953e7['body']['id']){delete _0x4953e7[_0x2f35('0x42')]['id'];}return db['MailSubstatus'][_0x2f35('0x3f')]({'where':{'id':_0x4953e7[_0x2f35('0x3d')]['id']}})['then'](handleEntityNotFound(_0x44838a,null))['then'](saveUpdates(_0x4953e7[_0x2f35('0x42')],null))['then'](respondWithResult(_0x44838a,null))[_0x2f35('0x40')](handleError(_0x44838a,null));};exports['destroy']=function(_0xa22f76,_0xac457e){return db[_0x2f35('0x27')][_0x2f35('0x3f')]({'where':{'id':_0xa22f76['params']['id']}})[_0x2f35('0x21')](handleEntityNotFound(_0xac457e,null))[_0x2f35('0x21')](removeEntity(_0xac457e,null))[_0x2f35('0x40')](handleError(_0xac457e,null));};exports[_0x2f35('0x43')]=function(_0x6eb83c,_0x1dee2a){return db[_0x2f35('0x27')][_0x2f35('0x43')]()[_0x2f35('0x21')](respondWithResult(_0x1dee2a,null))['catch'](handleError(_0x1dee2a,null));};
\ No newline at end of file
+var _0xedb9=['rawAttributes','type','model','query','intersection','fields','attributes','limit','order','sort','pick','filters','filter','where','VIRTUAL','options','MailSubstatus','includeAll','include','findAll','rows','catch','keys','length','merge','find','create','body','params','describe','html-pdf','rimraf','zip-dir','request-promise','moment','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','set','save','update','then','destroy','error','stack','name','send','index','map'];(function(_0x5f0089,_0x227e2c){var _0x193892=function(_0x24051f){while(--_0x24051f){_0x5f0089['push'](_0x5f0089['shift']());}};_0x193892(++_0x227e2c);}(_0xedb9,0x1c8));var _0x9edb=function(_0x430c02,_0x2c2f58){_0x430c02=_0x430c02-0x0;var _0xb6cba5=_0xedb9[_0x430c02];return _0xb6cba5;};'use strict';var pdf=require(_0x9edb('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x9edb('0x1'));var zipdir=require(_0x9edb('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9edb('0x3'));var moment=require(_0x9edb('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x9edb('0x5'));var util=require(_0x9edb('0x6'));var path=require('path');var sox=require(_0x9edb('0x7'));var csv=require(_0x9edb('0x8'));var ejs=require(_0x9edb('0x9'));var fs=require('fs');var _=require(_0x9edb('0xa'));var squel=require(_0x9edb('0xb'));var crypto=require(_0x9edb('0xc'));var jsforce=require(_0x9edb('0xd'));var deskjs=require(_0x9edb('0xe'));var toCsv=require(_0x9edb('0x8'));var querystring=require(_0x9edb('0xf'));var Papa=require('papaparse');var Redis=require(_0x9edb('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x9edb('0x11'));var hardwareService=require(_0x9edb('0x12'));var logger=require(_0x9edb('0x13'))(_0x9edb('0x14'));var utils=require(_0x9edb('0x15'));var config=require(_0x9edb('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x9edb('0x17'))['db'];function respondWithStatusCode(_0x3baa25,_0x85243e){_0x85243e=_0x85243e||0xcc;return function(_0x126423){if(_0x126423){return _0x3baa25[_0x9edb('0x18')](_0x85243e);}return _0x3baa25[_0x9edb('0x19')](_0x85243e)[_0x9edb('0x1a')]();};}function respondWithResult(_0x18304c,_0x19c4b3){_0x19c4b3=_0x19c4b3||0xc8;return function(_0x1cb279){if(_0x1cb279){return _0x18304c['status'](_0x19c4b3)[_0x9edb('0x1b')](_0x1cb279);}};}function respondWithFilteredResult(_0x333746,_0x45650d){return function(_0x344ba5){if(_0x344ba5){var _0x3f1be4=_0x344ba5[_0x9edb('0x1c')],_0x246a9b=_0x45650d[_0x9edb('0x1d')],_0xd775f8=_0x45650d['offset']+_0x45650d['limit'],_0x5a812a;if(_0xd775f8>=_0x3f1be4){_0xd775f8=_0x3f1be4;_0x5a812a=0xc8;}else{_0x5a812a=0xce;}_0x333746[_0x9edb('0x19')](_0x5a812a);return _0x333746[_0x9edb('0x1e')]('Content-Range',_0x246a9b+'-'+_0xd775f8+'/'+_0x3f1be4)['json'](_0x344ba5);}return null;};}function patchUpdates(_0x127987){return function(_0x3959d0){try{jsonpatch['apply'](_0x3959d0,_0x127987,!![]);}catch(_0x38a64f){return BPromise['reject'](_0x38a64f);}return _0x3959d0[_0x9edb('0x1f')]();};}function saveUpdates(_0x23a5a6,_0x360285){return function(_0x5128ba){if(_0x5128ba){return _0x5128ba[_0x9edb('0x20')](_0x23a5a6)[_0x9edb('0x21')](function(_0xfe65fb){return _0xfe65fb;});}return null;};}function removeEntity(_0x2a69ca,_0x2e6cf4){return function(_0xeb3492){if(_0xeb3492){return _0xeb3492[_0x9edb('0x22')]()[_0x9edb('0x21')](function(){_0x2a69ca[_0x9edb('0x19')](0xcc)[_0x9edb('0x1a')]();});}};}function handleEntityNotFound(_0x4c0464,_0x5a8207){return function(_0x24c8d0){if(!_0x24c8d0){_0x4c0464[_0x9edb('0x18')](0x194);}return _0x24c8d0;};}function handleError(_0x150c16,_0x5ec3f6){_0x5ec3f6=_0x5ec3f6||0x1f4;return function(_0x51e57d){logger[_0x9edb('0x23')](_0x51e57d[_0x9edb('0x24')]);if(_0x51e57d[_0x9edb('0x25')]){delete _0x51e57d[_0x9edb('0x25')];}_0x150c16[_0x9edb('0x19')](_0x5ec3f6)[_0x9edb('0x26')](_0x51e57d);};}exports[_0x9edb('0x27')]=function(_0x5c4531,_0x29735c){var _0x3bc8e4={},_0x4a5e72={},_0xd41d23={'count':0x0,'rows':[]};var _0x36ebad=_[_0x9edb('0x28')](db['MailSubstatus'][_0x9edb('0x29')],function(_0x29d083){return{'name':_0x29d083['fieldName'],'type':_0x29d083[_0x9edb('0x2a')]['key']};});_0x4a5e72[_0x9edb('0x2b')]=_['map'](_0x36ebad,'name');_0x4a5e72[_0x9edb('0x2c')]=_['keys'](_0x5c4531[_0x9edb('0x2c')]);_0x4a5e72['filters']=_['intersection'](_0x4a5e72[_0x9edb('0x2b')],_0x4a5e72[_0x9edb('0x2c')]);_0x3bc8e4['attributes']=_[_0x9edb('0x2d')](_0x4a5e72[_0x9edb('0x2b')],qs['fields'](_0x5c4531[_0x9edb('0x2c')][_0x9edb('0x2e')]));_0x3bc8e4[_0x9edb('0x2f')]=_0x3bc8e4[_0x9edb('0x2f')]['length']?_0x3bc8e4[_0x9edb('0x2f')]:_0x4a5e72[_0x9edb('0x2b')];if(!_0x5c4531[_0x9edb('0x2c')]['hasOwnProperty']('nolimit')){_0x3bc8e4[_0x9edb('0x30')]=qs[_0x9edb('0x30')](_0x5c4531[_0x9edb('0x2c')][_0x9edb('0x30')]);_0x3bc8e4[_0x9edb('0x1d')]=qs[_0x9edb('0x1d')](_0x5c4531[_0x9edb('0x2c')][_0x9edb('0x1d')]);}_0x3bc8e4[_0x9edb('0x31')]=qs['sort'](_0x5c4531[_0x9edb('0x2c')][_0x9edb('0x32')]);_0x3bc8e4['where']=qs['filters'](_[_0x9edb('0x33')](_0x5c4531[_0x9edb('0x2c')],_0x4a5e72[_0x9edb('0x34')]),_0x36ebad);if(_0x5c4531[_0x9edb('0x2c')][_0x9edb('0x35')]){_0x3bc8e4[_0x9edb('0x36')]=_['merge'](_0x3bc8e4[_0x9edb('0x36')],{'$or':_['map'](_0x36ebad,function(_0x4aa962){if(_0x4aa962[_0x9edb('0x2a')]!==_0x9edb('0x37')){var _0x33acac={};_0x33acac[_0x4aa962[_0x9edb('0x25')]]={'$like':'%'+_0x5c4531[_0x9edb('0x2c')][_0x9edb('0x35')]+'%'};return _0x33acac;}})});}_0x3bc8e4=_['merge']({},_0x3bc8e4,_0x5c4531[_0x9edb('0x38')]);var _0x58973b={'where':_0x3bc8e4[_0x9edb('0x36')]};return db[_0x9edb('0x39')]['count'](_0x58973b)['then'](function(_0x4fde7f){_0xd41d23[_0x9edb('0x1c')]=_0x4fde7f;if(_0x5c4531[_0x9edb('0x2c')][_0x9edb('0x3a')]){_0x3bc8e4[_0x9edb('0x3b')]=[{'all':!![]}];}return db['MailSubstatus'][_0x9edb('0x3c')](_0x3bc8e4);})['then'](function(_0x257c8d){_0xd41d23[_0x9edb('0x3d')]=_0x257c8d;return _0xd41d23;})[_0x9edb('0x21')](respondWithFilteredResult(_0x29735c,_0x3bc8e4))[_0x9edb('0x3e')](handleError(_0x29735c,null));};exports['show']=function(_0x54f1a2,_0x40ac4f){var _0x4ac431={'raw':!![],'where':{'id':_0x54f1a2['params']['id']}},_0x53f69d={};_0x53f69d['model']=_[_0x9edb('0x3f')](db[_0x9edb('0x39')]['rawAttributes']);_0x53f69d['query']=_['keys'](_0x54f1a2[_0x9edb('0x2c')]);_0x53f69d['filters']=_[_0x9edb('0x2d')](_0x53f69d[_0x9edb('0x2b')],_0x53f69d[_0x9edb('0x2c')]);_0x4ac431[_0x9edb('0x2f')]=_[_0x9edb('0x2d')](_0x53f69d[_0x9edb('0x2b')],qs[_0x9edb('0x2e')](_0x54f1a2[_0x9edb('0x2c')]['fields']));_0x4ac431['attributes']=_0x4ac431[_0x9edb('0x2f')][_0x9edb('0x40')]?_0x4ac431[_0x9edb('0x2f')]:_0x53f69d[_0x9edb('0x2b')];if(_0x54f1a2[_0x9edb('0x2c')][_0x9edb('0x3a')]){_0x4ac431[_0x9edb('0x3b')]=[{'all':!![]}];}_0x4ac431=_[_0x9edb('0x41')]({},_0x4ac431,_0x54f1a2[_0x9edb('0x38')]);return db[_0x9edb('0x39')][_0x9edb('0x42')](_0x4ac431)[_0x9edb('0x21')](handleEntityNotFound(_0x40ac4f,null))[_0x9edb('0x21')](respondWithResult(_0x40ac4f,null))['catch'](handleError(_0x40ac4f,null));};exports[_0x9edb('0x43')]=function(_0x446e83,_0x3426e5){return db[_0x9edb('0x39')][_0x9edb('0x43')](_0x446e83['body'],{})[_0x9edb('0x21')](respondWithResult(_0x3426e5,0xc9))[_0x9edb('0x3e')](handleError(_0x3426e5,null));};exports['update']=function(_0xb605b8,_0x4f943d){if(_0xb605b8[_0x9edb('0x44')]['id']){delete _0xb605b8[_0x9edb('0x44')]['id'];}return db[_0x9edb('0x39')][_0x9edb('0x42')]({'where':{'id':_0xb605b8[_0x9edb('0x45')]['id']}})['then'](handleEntityNotFound(_0x4f943d,null))[_0x9edb('0x21')](saveUpdates(_0xb605b8[_0x9edb('0x44')],null))[_0x9edb('0x21')](respondWithResult(_0x4f943d,null))[_0x9edb('0x3e')](handleError(_0x4f943d,null));};exports[_0x9edb('0x22')]=function(_0x1c2ea1,_0x43fdb3){return db['MailSubstatus'][_0x9edb('0x42')]({'where':{'id':_0x1c2ea1[_0x9edb('0x45')]['id']}})[_0x9edb('0x21')](handleEntityNotFound(_0x43fdb3,null))[_0x9edb('0x21')](removeEntity(_0x43fdb3,null))[_0x9edb('0x3e')](handleError(_0x43fdb3,null));};exports['describe']=function(_0x1a2e6f,_0x7fc939){return db[_0x9edb('0x39')][_0x9edb('0x46')]()[_0x9edb('0x21')](respondWithResult(_0x7fc939,null))[_0x9edb('0x3e')](handleError(_0x7fc939,null));};
\ No newline at end of file