Built motion from commit 00bf23f6.|2.6.16
[motion2.git] / server / api / whatsappApplication / whatsappApplication.controller.js
index c4159bf..6813a3c 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x6b71=['json','offset','limit','Content-Range','destroy','sendStatus','error','stack','name','send','index','map','WhatsappApplication','rawAttributes','model','query','keys','filters','intersection','attributes','fields','length','nolimit','sort','where','pick','filter','type','merge','count','then','includeAll','include','findAll','rows','catch','params','options','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end'];(function(_0x117d6a,_0x4a023c){var _0x3908e4=function(_0x391cde){while(--_0x391cde){_0x117d6a['push'](_0x117d6a['shift']());}};_0x3908e4(++_0x4a023c);}(_0x6b71,0x1cd));var _0x16b7=function(_0x4e0843,_0x5224b5){_0x4e0843=_0x4e0843-0x0;var _0x40d38d=_0x6b71[_0x4e0843];return _0x40d38d;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x16b7('0x0'));var rimraf=require(_0x16b7('0x1'));var zipdir=require(_0x16b7('0x2'));var jsonpatch=require(_0x16b7('0x3'));var rp=require(_0x16b7('0x4'));var moment=require(_0x16b7('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x16b7('0x6'));var util=require(_0x16b7('0x7'));var path=require(_0x16b7('0x8'));var sox=require('sox');var csv=require(_0x16b7('0x9'));var ejs=require(_0x16b7('0xa'));var fs=require('fs');var _=require(_0x16b7('0xb'));var squel=require(_0x16b7('0xc'));var crypto=require(_0x16b7('0xd'));var jsforce=require(_0x16b7('0xe'));var deskjs=require(_0x16b7('0xf'));var toCsv=require('to-csv');var querystring=require(_0x16b7('0x10'));var Papa=require(_0x16b7('0x11'));var Redis=require(_0x16b7('0x12'));var authService=require(_0x16b7('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x16b7('0x14'));var hardwareService=require(_0x16b7('0x15'));var logger=require(_0x16b7('0x16'))('api');var utils=require(_0x16b7('0x17'));var config=require(_0x16b7('0x18'));var licenseUtil=require(_0x16b7('0x19'));var db=require(_0x16b7('0x1a'))['db'];function respondWithStatusCode(_0x4f6203,_0x54ba2d){_0x54ba2d=_0x54ba2d||0xcc;return function(_0x4289b2){if(_0x4289b2){return _0x4f6203['sendStatus'](_0x54ba2d);}return _0x4f6203[_0x16b7('0x1b')](_0x54ba2d)[_0x16b7('0x1c')]();};}function respondWithResult(_0x2c28b8,_0x50b3e6){_0x50b3e6=_0x50b3e6||0xc8;return function(_0x24b86a){if(_0x24b86a){return _0x2c28b8[_0x16b7('0x1b')](_0x50b3e6)[_0x16b7('0x1d')](_0x24b86a);}};}function respondWithFilteredResult(_0x390b08,_0x4cb7da){return function(_0x48dde6){if(_0x48dde6){var _0x406ffc=_0x48dde6['count'],_0x35502a=_0x4cb7da[_0x16b7('0x1e')],_0x3b982d=_0x4cb7da[_0x16b7('0x1e')]+_0x4cb7da[_0x16b7('0x1f')],_0x2d28cc;if(_0x3b982d>=_0x406ffc){_0x3b982d=_0x406ffc;_0x2d28cc=0xc8;}else{_0x2d28cc=0xce;}_0x390b08[_0x16b7('0x1b')](_0x2d28cc);return _0x390b08['set'](_0x16b7('0x20'),_0x35502a+'-'+_0x3b982d+'/'+_0x406ffc)[_0x16b7('0x1d')](_0x48dde6);}return null;};}function patchUpdates(_0xd8eebd){return function(_0x13e890){try{jsonpatch['apply'](_0x13e890,_0xd8eebd,!![]);}catch(_0x2d7ddb){return BPromise['reject'](_0x2d7ddb);}return _0x13e890['save']();};}function saveUpdates(_0x28d34b,_0x497378){return function(_0xda88e7){if(_0xda88e7){return _0xda88e7['update'](_0x28d34b)['then'](function(_0x1a1602){return _0x1a1602;});}return null;};}function removeEntity(_0x44f89e,_0x3d9d13){return function(_0x1ec5f8){if(_0x1ec5f8){return _0x1ec5f8[_0x16b7('0x21')]()['then'](function(){_0x44f89e[_0x16b7('0x1b')](0xcc)[_0x16b7('0x1c')]();});}};}function handleEntityNotFound(_0xdb2964,_0x2c5d82){return function(_0x23dfe6){if(!_0x23dfe6){_0xdb2964[_0x16b7('0x22')](0x194);}return _0x23dfe6;};}function handleError(_0x11f534,_0x2c04e6){_0x2c04e6=_0x2c04e6||0x1f4;return function(_0x4bc3cc){logger[_0x16b7('0x23')](_0x4bc3cc[_0x16b7('0x24')]);if(_0x4bc3cc[_0x16b7('0x25')]){delete _0x4bc3cc['name'];}_0x11f534[_0x16b7('0x1b')](_0x2c04e6)[_0x16b7('0x26')](_0x4bc3cc);};}exports[_0x16b7('0x27')]=function(_0x5de126,_0x4b1579){var _0xe997f8={},_0x4be917={},_0x5156db={'count':0x0,'rows':[]};var _0x3fee5c=_[_0x16b7('0x28')](db[_0x16b7('0x29')][_0x16b7('0x2a')],function(_0x537456){return{'name':_0x537456['fieldName'],'type':_0x537456['type']['key']};});_0x4be917[_0x16b7('0x2b')]=_[_0x16b7('0x28')](_0x3fee5c,_0x16b7('0x25'));_0x4be917[_0x16b7('0x2c')]=_[_0x16b7('0x2d')](_0x5de126[_0x16b7('0x2c')]);_0x4be917[_0x16b7('0x2e')]=_[_0x16b7('0x2f')](_0x4be917['model'],_0x4be917[_0x16b7('0x2c')]);_0xe997f8[_0x16b7('0x30')]=_[_0x16b7('0x2f')](_0x4be917['model'],qs[_0x16b7('0x31')](_0x5de126[_0x16b7('0x2c')][_0x16b7('0x31')]));_0xe997f8[_0x16b7('0x30')]=_0xe997f8['attributes'][_0x16b7('0x32')]?_0xe997f8[_0x16b7('0x30')]:_0x4be917[_0x16b7('0x2b')];if(!_0x5de126['query']['hasOwnProperty'](_0x16b7('0x33'))){_0xe997f8['limit']=qs[_0x16b7('0x1f')](_0x5de126['query'][_0x16b7('0x1f')]);_0xe997f8[_0x16b7('0x1e')]=qs[_0x16b7('0x1e')](_0x5de126['query'][_0x16b7('0x1e')]);}_0xe997f8['order']=qs['sort'](_0x5de126['query'][_0x16b7('0x34')]);_0xe997f8[_0x16b7('0x35')]=qs[_0x16b7('0x2e')](_[_0x16b7('0x36')](_0x5de126[_0x16b7('0x2c')],_0x4be917[_0x16b7('0x2e')]),_0x3fee5c);if(_0x5de126['query'][_0x16b7('0x37')]){_0xe997f8[_0x16b7('0x35')]=_['merge'](_0xe997f8[_0x16b7('0x35')],{'$or':_[_0x16b7('0x28')](_0x3fee5c,function(_0x5a5d8b){if(_0x5a5d8b[_0x16b7('0x38')]!=='VIRTUAL'){var _0x3c111a={};_0x3c111a[_0x5a5d8b[_0x16b7('0x25')]]={'$like':'%'+_0x5de126[_0x16b7('0x2c')][_0x16b7('0x37')]+'%'};return _0x3c111a;}})});}_0xe997f8=_[_0x16b7('0x39')]({},_0xe997f8,_0x5de126['options']);var _0x8c9d94={'where':_0xe997f8[_0x16b7('0x35')]};return db[_0x16b7('0x29')][_0x16b7('0x3a')](_0x8c9d94)[_0x16b7('0x3b')](function(_0xa12995){_0x5156db[_0x16b7('0x3a')]=_0xa12995;if(_0x5de126['query'][_0x16b7('0x3c')]){_0xe997f8[_0x16b7('0x3d')]=[{'all':!![]}];}return db['WhatsappApplication'][_0x16b7('0x3e')](_0xe997f8);})['then'](function(_0x4741d6){_0x5156db[_0x16b7('0x3f')]=_0x4741d6;return _0x5156db;})[_0x16b7('0x3b')](respondWithFilteredResult(_0x4b1579,_0xe997f8))[_0x16b7('0x40')](handleError(_0x4b1579,null));};exports['show']=function(_0x4a6714,_0x2397b4){var _0x2c9f9b={'raw':!![],'where':{'id':_0x4a6714[_0x16b7('0x41')]['id']}},_0x22368d={};_0x22368d[_0x16b7('0x2b')]=_[_0x16b7('0x2d')](db['WhatsappApplication'][_0x16b7('0x2a')]);_0x22368d[_0x16b7('0x2c')]=_[_0x16b7('0x2d')](_0x4a6714[_0x16b7('0x2c')]);_0x22368d[_0x16b7('0x2e')]=_[_0x16b7('0x2f')](_0x22368d[_0x16b7('0x2b')],_0x22368d[_0x16b7('0x2c')]);_0x2c9f9b[_0x16b7('0x30')]=_[_0x16b7('0x2f')](_0x22368d[_0x16b7('0x2b')],qs[_0x16b7('0x31')](_0x4a6714[_0x16b7('0x2c')][_0x16b7('0x31')]));_0x2c9f9b[_0x16b7('0x30')]=_0x2c9f9b[_0x16b7('0x30')]['length']?_0x2c9f9b[_0x16b7('0x30')]:_0x22368d['model'];if(_0x4a6714[_0x16b7('0x2c')][_0x16b7('0x3c')]){_0x2c9f9b[_0x16b7('0x3d')]=[{'all':!![]}];}_0x2c9f9b=_[_0x16b7('0x39')]({},_0x2c9f9b,_0x4a6714[_0x16b7('0x42')]);return db[_0x16b7('0x29')][_0x16b7('0x43')](_0x2c9f9b)[_0x16b7('0x3b')](handleEntityNotFound(_0x2397b4,null))[_0x16b7('0x3b')](respondWithResult(_0x2397b4,null))[_0x16b7('0x40')](handleError(_0x2397b4,null));};exports[_0x16b7('0x44')]=function(_0x57d31c,_0x502795){return db[_0x16b7('0x29')][_0x16b7('0x44')](_0x57d31c['body'],{})[_0x16b7('0x3b')](respondWithResult(_0x502795,0xc9))[_0x16b7('0x40')](handleError(_0x502795,null));};exports['update']=function(_0x1d7d72,_0x467bf4){if(_0x1d7d72[_0x16b7('0x45')]['id']){delete _0x1d7d72[_0x16b7('0x45')]['id'];}return db['WhatsappApplication'][_0x16b7('0x43')]({'where':{'id':_0x1d7d72[_0x16b7('0x41')]['id']}})[_0x16b7('0x3b')](handleEntityNotFound(_0x467bf4,null))[_0x16b7('0x3b')](saveUpdates(_0x1d7d72[_0x16b7('0x45')],null))[_0x16b7('0x3b')](respondWithResult(_0x467bf4,null))[_0x16b7('0x40')](handleError(_0x467bf4,null));};exports['destroy']=function(_0x36bec3,_0x24e02c){return db[_0x16b7('0x29')][_0x16b7('0x43')]({'where':{'id':_0x36bec3[_0x16b7('0x41')]['id']}})[_0x16b7('0x3b')](handleEntityNotFound(_0x24e02c,null))['then'](removeEntity(_0x24e02c,null))[_0x16b7('0x40')](handleError(_0x24e02c,null));};
\ No newline at end of file
+var _0x6050=['rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','include','find','create','body','update','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','fs-extra','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','then','destroy','name','send','index','map','WhatsappApplication'];(function(_0x19ab39,_0x4e871b){var _0x267b6a=function(_0x149aa3){while(--_0x149aa3){_0x19ab39['push'](_0x19ab39['shift']());}};_0x267b6a(++_0x4e871b);}(_0x6050,0x196));var _0x0605=function(_0x22efb0,_0xd42df6){_0x22efb0=_0x22efb0-0x0;var _0x11ae8e=_0x6050[_0x22efb0];return _0x11ae8e;};'use strict';var emlformat=require(_0x0605('0x0'));var rimraf=require(_0x0605('0x1'));var zipdir=require(_0x0605('0x2'));var jsonpatch=require(_0x0605('0x3'));var rp=require(_0x0605('0x4'));var moment=require(_0x0605('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x0605('0x6'));var util=require(_0x0605('0x7'));var path=require(_0x0605('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0605('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x0605('0xa'));var deskjs=require(_0x0605('0xb'));var toCsv=require(_0x0605('0xc'));var querystring=require(_0x0605('0xd'));var Papa=require(_0x0605('0xe'));var Redis=require('ioredis');var authService=require(_0x0605('0xf'));var qs=require(_0x0605('0x10'));var as=require(_0x0605('0x11'));var hardwareService=require(_0x0605('0x12'));var logger=require(_0x0605('0x13'))(_0x0605('0x14'));var utils=require(_0x0605('0x15'));var config=require(_0x0605('0x16'));var licenseUtil=require(_0x0605('0x17'));var db=require(_0x0605('0x18'))['db'];function respondWithStatusCode(_0xd22e35,_0x39e288){_0x39e288=_0x39e288||0xcc;return function(_0x34c9e6){if(_0x34c9e6){return _0xd22e35[_0x0605('0x19')](_0x39e288);}return _0xd22e35[_0x0605('0x1a')](_0x39e288)[_0x0605('0x1b')]();};}function respondWithResult(_0x169a70,_0x65a20b){_0x65a20b=_0x65a20b||0xc8;return function(_0x1b944f){if(_0x1b944f){return _0x169a70['status'](_0x65a20b)[_0x0605('0x1c')](_0x1b944f);}};}function respondWithFilteredResult(_0x1a802b,_0x4993ab){return function(_0x5ce56a){if(_0x5ce56a){var _0x4eefe9=typeof _0x4993ab[_0x0605('0x1d')]===_0x0605('0x1e')&&typeof _0x4993ab[_0x0605('0x1f')]===_0x0605('0x1e');var _0xefc557=_0x5ce56a[_0x0605('0x20')];var _0x2b7b5a=_0x4eefe9?0x0:_0x4993ab[_0x0605('0x1d')];var _0x193520=_0x4eefe9?_0x5ce56a[_0x0605('0x20')]:_0x4993ab[_0x0605('0x1d')]+_0x4993ab[_0x0605('0x1f')];var _0x2e2204;if(_0x193520>=_0xefc557){_0x193520=_0xefc557;_0x2e2204=0xc8;}else{_0x2e2204=0xce;}_0x1a802b[_0x0605('0x1a')](_0x2e2204);return _0x1a802b['set'](_0x0605('0x21'),_0x2b7b5a+'-'+_0x193520+'/'+_0xefc557)[_0x0605('0x1c')](_0x5ce56a);}return null;};}function patchUpdates(_0x430f28){return function(_0x443326){try{jsonpatch[_0x0605('0x22')](_0x443326,_0x430f28,!![]);}catch(_0x90b2e1){return BPromise[_0x0605('0x23')](_0x90b2e1);}return _0x443326[_0x0605('0x24')]();};}function saveUpdates(_0x226ef5,_0x5b0d44){return function(_0xc334b8){if(_0xc334b8){return _0xc334b8['update'](_0x226ef5)[_0x0605('0x25')](function(_0x118e9c){return _0x118e9c;});}return null;};}function removeEntity(_0x110098,_0xf182c4){return function(_0x10c575){if(_0x10c575){return _0x10c575[_0x0605('0x26')]()[_0x0605('0x25')](function(){_0x110098[_0x0605('0x1a')](0xcc)[_0x0605('0x1b')]();});}};}function handleEntityNotFound(_0x2896d7,_0x9f2833){return function(_0x1c3722){if(!_0x1c3722){_0x2896d7['sendStatus'](0x194);}return _0x1c3722;};}function handleError(_0x6bc204,_0x3c8e36){_0x3c8e36=_0x3c8e36||0x1f4;return function(_0x4b1e0c){logger['error'](_0x4b1e0c['stack']);if(_0x4b1e0c[_0x0605('0x27')]){delete _0x4b1e0c[_0x0605('0x27')];}_0x6bc204[_0x0605('0x1a')](_0x3c8e36)[_0x0605('0x28')](_0x4b1e0c);};}exports[_0x0605('0x29')]=function(_0x4554df,_0x4e32ef){var _0x34f25d={},_0x5daef6={},_0xa836f2={'count':0x0,'rows':[]};var _0x3640b9=_[_0x0605('0x2a')](db[_0x0605('0x2b')][_0x0605('0x2c')],function(_0x352dd6){return{'name':_0x352dd6['fieldName'],'type':_0x352dd6[_0x0605('0x2d')][_0x0605('0x2e')]};});_0x5daef6[_0x0605('0x2f')]=_[_0x0605('0x2a')](_0x3640b9,_0x0605('0x27'));_0x5daef6[_0x0605('0x30')]=_[_0x0605('0x31')](_0x4554df[_0x0605('0x30')]);_0x5daef6[_0x0605('0x32')]=_[_0x0605('0x33')](_0x5daef6[_0x0605('0x2f')],_0x5daef6[_0x0605('0x30')]);_0x34f25d[_0x0605('0x34')]=_[_0x0605('0x33')](_0x5daef6[_0x0605('0x2f')],qs[_0x0605('0x35')](_0x4554df[_0x0605('0x30')][_0x0605('0x35')]));_0x34f25d[_0x0605('0x34')]=_0x34f25d[_0x0605('0x34')][_0x0605('0x36')]?_0x34f25d[_0x0605('0x34')]:_0x5daef6[_0x0605('0x2f')];if(!_0x4554df[_0x0605('0x30')][_0x0605('0x37')](_0x0605('0x38'))){_0x34f25d[_0x0605('0x1f')]=qs['limit'](_0x4554df[_0x0605('0x30')][_0x0605('0x1f')]);_0x34f25d['offset']=qs[_0x0605('0x1d')](_0x4554df[_0x0605('0x30')]['offset']);}_0x34f25d[_0x0605('0x39')]=qs[_0x0605('0x3a')](_0x4554df[_0x0605('0x30')][_0x0605('0x3a')]);_0x34f25d[_0x0605('0x3b')]=qs[_0x0605('0x32')](_['pick'](_0x4554df['query'],_0x5daef6[_0x0605('0x32')]),_0x3640b9);if(_0x4554df[_0x0605('0x30')][_0x0605('0x3c')]){_0x34f25d['where']=_[_0x0605('0x3d')](_0x34f25d['where'],{'$or':_[_0x0605('0x2a')](_0x3640b9,function(_0x1e98f6){if(_0x1e98f6[_0x0605('0x2d')]!==_0x0605('0x3e')){var _0x42f7ce={};_0x42f7ce[_0x1e98f6[_0x0605('0x27')]]={'$like':'%'+_0x4554df[_0x0605('0x30')][_0x0605('0x3c')]+'%'};return _0x42f7ce;}})});}_0x34f25d=_[_0x0605('0x3d')]({},_0x34f25d,_0x4554df[_0x0605('0x3f')]);var _0x57aa15={'where':_0x34f25d[_0x0605('0x3b')]};return db['WhatsappApplication'][_0x0605('0x20')](_0x57aa15)[_0x0605('0x25')](function(_0x45787e){_0xa836f2['count']=_0x45787e;if(_0x4554df['query'][_0x0605('0x40')]){_0x34f25d['include']=[{'all':!![]}];}return db[_0x0605('0x2b')][_0x0605('0x41')](_0x34f25d);})[_0x0605('0x25')](function(_0x3de34a){_0xa836f2[_0x0605('0x42')]=_0x3de34a;return _0xa836f2;})[_0x0605('0x25')](respondWithFilteredResult(_0x4e32ef,_0x34f25d))[_0x0605('0x43')](handleError(_0x4e32ef,null));};exports[_0x0605('0x44')]=function(_0x3fa553,_0x10bb36){var _0x18d3ce={'raw':!![],'where':{'id':_0x3fa553[_0x0605('0x45')]['id']}},_0x3616a3={};_0x3616a3['model']=_['keys'](db[_0x0605('0x2b')]['rawAttributes']);_0x3616a3[_0x0605('0x30')]=_[_0x0605('0x31')](_0x3fa553['query']);_0x3616a3[_0x0605('0x32')]=_[_0x0605('0x33')](_0x3616a3['model'],_0x3616a3[_0x0605('0x30')]);_0x18d3ce[_0x0605('0x34')]=_['intersection'](_0x3616a3[_0x0605('0x2f')],qs[_0x0605('0x35')](_0x3fa553['query'][_0x0605('0x35')]));_0x18d3ce['attributes']=_0x18d3ce['attributes'][_0x0605('0x36')]?_0x18d3ce[_0x0605('0x34')]:_0x3616a3[_0x0605('0x2f')];if(_0x3fa553[_0x0605('0x30')][_0x0605('0x40')]){_0x18d3ce[_0x0605('0x46')]=[{'all':!![]}];}_0x18d3ce=_[_0x0605('0x3d')]({},_0x18d3ce,_0x3fa553[_0x0605('0x3f')]);return db['WhatsappApplication'][_0x0605('0x47')](_0x18d3ce)[_0x0605('0x25')](handleEntityNotFound(_0x10bb36,null))[_0x0605('0x25')](respondWithResult(_0x10bb36,null))['catch'](handleError(_0x10bb36,null));};exports[_0x0605('0x48')]=function(_0x1fb70b,_0x45cc1a){return db[_0x0605('0x2b')][_0x0605('0x48')](_0x1fb70b[_0x0605('0x49')],{})[_0x0605('0x25')](respondWithResult(_0x45cc1a,0xc9))[_0x0605('0x43')](handleError(_0x45cc1a,null));};exports[_0x0605('0x4a')]=function(_0x4bc55e,_0x3c597c){if(_0x4bc55e[_0x0605('0x49')]['id']){delete _0x4bc55e[_0x0605('0x49')]['id'];}return db[_0x0605('0x2b')][_0x0605('0x47')]({'where':{'id':_0x4bc55e[_0x0605('0x45')]['id']}})[_0x0605('0x25')](handleEntityNotFound(_0x3c597c,null))[_0x0605('0x25')](saveUpdates(_0x4bc55e[_0x0605('0x49')],null))[_0x0605('0x25')](respondWithResult(_0x3c597c,null))['catch'](handleError(_0x3c597c,null));};exports['destroy']=function(_0x4876c7,_0x2687a8){return db[_0x0605('0x2b')][_0x0605('0x47')]({'where':{'id':_0x4876c7[_0x0605('0x45')]['id']}})[_0x0605('0x25')](handleEntityNotFound(_0x2687a8,null))[_0x0605('0x25')](removeEntity(_0x2687a8,null))['catch'](handleError(_0x2687a8,null));};
\ No newline at end of file