Built motion from commit da617fac.|2.6.6
[motion2.git] / server / api / whatsappApplication / whatsappApplication.controller.js
index 153524d..0446867 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x27b8=['model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','limit','sort','where','pick','merge','VIRTUAL','filter','options','WhatsappApplication','then','includeAll','include','findAll','rows','catch','length','create','body','params','destroy','find','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','save','update','error','name','map','rawAttributes','fieldName','type','key'];(function(_0x4c4c28,_0xc8431c){var _0x45537b=function(_0x5168a4){while(--_0x5168a4){_0x4c4c28['push'](_0x4c4c28['shift']());}};_0x45537b(++_0xc8431c);}(_0x27b8,0x1e6));var _0x827b=function(_0x58474f,_0x1230c3){_0x58474f=_0x58474f-0x0;var _0x2e90be=_0x27b8[_0x58474f];return _0x2e90be;};'use strict';var pdf=require(_0x827b('0x0'));var emlformat=require(_0x827b('0x1'));var rimraf=require(_0x827b('0x2'));var zipdir=require(_0x827b('0x3'));var jsonpatch=require(_0x827b('0x4'));var rp=require(_0x827b('0x5'));var moment=require(_0x827b('0x6'));var BPromise=require(_0x827b('0x7'));var Mustache=require(_0x827b('0x8'));var util=require(_0x827b('0x9'));var path=require(_0x827b('0xa'));var sox=require(_0x827b('0xb'));var csv=require(_0x827b('0xc'));var ejs=require(_0x827b('0xd'));var fs=require('fs');var _=require('lodash');var squel=require(_0x827b('0xe'));var crypto=require(_0x827b('0xf'));var jsforce=require(_0x827b('0x10'));var deskjs=require(_0x827b('0x11'));var toCsv=require(_0x827b('0xc'));var querystring=require(_0x827b('0x12'));var Papa=require(_0x827b('0x13'));var Redis=require(_0x827b('0x14'));var authService=require(_0x827b('0x15'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x827b('0x16'));var logger=require('../../config/logger')(_0x827b('0x17'));var utils=require(_0x827b('0x18'));var config=require(_0x827b('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x827b('0x1a'))['db'];function respondWithStatusCode(_0x51f8c7,_0x387b5f){_0x387b5f=_0x387b5f||0xcc;return function(_0x18a0d0){if(_0x18a0d0){return _0x51f8c7[_0x827b('0x1b')](_0x387b5f);}return _0x51f8c7[_0x827b('0x1c')](_0x387b5f)[_0x827b('0x1d')]();};}function respondWithResult(_0x48ae26,_0x2cc447){_0x2cc447=_0x2cc447||0xc8;return function(_0x80bcb1){if(_0x80bcb1){return _0x48ae26[_0x827b('0x1c')](_0x2cc447)[_0x827b('0x1e')](_0x80bcb1);}};}function respondWithFilteredResult(_0x5e3770,_0x2b12bd){return function(_0x5921e3){if(_0x5921e3){var _0x2b77b5=_0x5921e3[_0x827b('0x1f')],_0x2a84dc=_0x2b12bd[_0x827b('0x20')],_0x2791a1=_0x2b12bd[_0x827b('0x20')]+_0x2b12bd['limit'],_0x3f95f2;if(_0x2791a1>=_0x2b77b5){_0x2791a1=_0x2b77b5;_0x3f95f2=0xc8;}else{_0x3f95f2=0xce;}_0x5e3770['status'](_0x3f95f2);return _0x5e3770[_0x827b('0x21')](_0x827b('0x22'),_0x2a84dc+'-'+_0x2791a1+'/'+_0x2b77b5)[_0x827b('0x1e')](_0x5921e3);}return null;};}function patchUpdates(_0x9c4529){return function(_0xf205f9){try{jsonpatch[_0x827b('0x23')](_0xf205f9,_0x9c4529,!![]);}catch(_0xe140c2){return BPromise[_0x827b('0x24')](_0xe140c2);}return _0xf205f9[_0x827b('0x25')]();};}function saveUpdates(_0x1956ce,_0x3fd870){return function(_0x2f0128){if(_0x2f0128){return _0x2f0128[_0x827b('0x26')](_0x1956ce)['then'](function(_0x54febc){return _0x54febc;});}return null;};}function removeEntity(_0x81aa17,_0x22fc45){return function(_0x51cdc5){if(_0x51cdc5){return _0x51cdc5['destroy']()['then'](function(){_0x81aa17[_0x827b('0x1c')](0xcc)[_0x827b('0x1d')]();});}};}function handleEntityNotFound(_0x188464,_0x353bb9){return function(_0x5b2210){if(!_0x5b2210){_0x188464[_0x827b('0x1b')](0x194);}return _0x5b2210;};}function handleError(_0x4ab764,_0x55d1e1){_0x55d1e1=_0x55d1e1||0x1f4;return function(_0x504ce3){logger[_0x827b('0x27')](_0x504ce3['stack']);if(_0x504ce3[_0x827b('0x28')]){delete _0x504ce3[_0x827b('0x28')];}_0x4ab764[_0x827b('0x1c')](_0x55d1e1)['send'](_0x504ce3);};}exports['index']=function(_0x18b9db,_0x29bd07){var _0x595cad={},_0xb6e96d={},_0x19ed32={'count':0x0,'rows':[]};var _0x2a3cea=_[_0x827b('0x29')](db['WhatsappApplication'][_0x827b('0x2a')],function(_0x397395){return{'name':_0x397395[_0x827b('0x2b')],'type':_0x397395[_0x827b('0x2c')][_0x827b('0x2d')]};});_0xb6e96d[_0x827b('0x2e')]=_[_0x827b('0x29')](_0x2a3cea,_0x827b('0x28'));_0xb6e96d[_0x827b('0x2f')]=_[_0x827b('0x30')](_0x18b9db['query']);_0xb6e96d[_0x827b('0x31')]=_[_0x827b('0x32')](_0xb6e96d['model'],_0xb6e96d[_0x827b('0x2f')]);_0x595cad['attributes']=_[_0x827b('0x32')](_0xb6e96d[_0x827b('0x2e')],qs[_0x827b('0x33')](_0x18b9db[_0x827b('0x2f')][_0x827b('0x33')]));_0x595cad[_0x827b('0x34')]=_0x595cad['attributes']['length']?_0x595cad[_0x827b('0x34')]:_0xb6e96d[_0x827b('0x2e')];if(!_0x18b9db[_0x827b('0x2f')][_0x827b('0x35')](_0x827b('0x36'))){_0x595cad[_0x827b('0x37')]=qs[_0x827b('0x37')](_0x18b9db[_0x827b('0x2f')][_0x827b('0x37')]);_0x595cad[_0x827b('0x20')]=qs[_0x827b('0x20')](_0x18b9db[_0x827b('0x2f')][_0x827b('0x20')]);}_0x595cad['order']=qs['sort'](_0x18b9db['query'][_0x827b('0x38')]);_0x595cad[_0x827b('0x39')]=qs[_0x827b('0x31')](_[_0x827b('0x3a')](_0x18b9db['query'],_0xb6e96d[_0x827b('0x31')]),_0x2a3cea);if(_0x18b9db['query']['filter']){_0x595cad[_0x827b('0x39')]=_[_0x827b('0x3b')](_0x595cad[_0x827b('0x39')],{'$or':_[_0x827b('0x29')](_0x2a3cea,function(_0x4df0a1){if(_0x4df0a1[_0x827b('0x2c')]!==_0x827b('0x3c')){var _0x1086cc={};_0x1086cc[_0x4df0a1['name']]={'$like':'%'+_0x18b9db['query'][_0x827b('0x3d')]+'%'};return _0x1086cc;}})});}_0x595cad=_[_0x827b('0x3b')]({},_0x595cad,_0x18b9db[_0x827b('0x3e')]);var _0x5bf0cc={'where':_0x595cad[_0x827b('0x39')]};return db[_0x827b('0x3f')]['count'](_0x5bf0cc)[_0x827b('0x40')](function(_0x504691){_0x19ed32[_0x827b('0x1f')]=_0x504691;if(_0x18b9db['query'][_0x827b('0x41')]){_0x595cad[_0x827b('0x42')]=[{'all':!![]}];}return db[_0x827b('0x3f')][_0x827b('0x43')](_0x595cad);})[_0x827b('0x40')](function(_0x40572e){_0x19ed32[_0x827b('0x44')]=_0x40572e;return _0x19ed32;})['then'](respondWithFilteredResult(_0x29bd07,_0x595cad))[_0x827b('0x45')](handleError(_0x29bd07,null));};exports['show']=function(_0x49d7ea,_0x48eda6){var _0x4f11b5={'raw':!![],'where':{'id':_0x49d7ea['params']['id']}},_0x182b03={};_0x182b03[_0x827b('0x2e')]=_['keys'](db[_0x827b('0x3f')][_0x827b('0x2a')]);_0x182b03['query']=_['keys'](_0x49d7ea[_0x827b('0x2f')]);_0x182b03[_0x827b('0x31')]=_[_0x827b('0x32')](_0x182b03[_0x827b('0x2e')],_0x182b03['query']);_0x4f11b5[_0x827b('0x34')]=_[_0x827b('0x32')](_0x182b03[_0x827b('0x2e')],qs[_0x827b('0x33')](_0x49d7ea['query'][_0x827b('0x33')]));_0x4f11b5[_0x827b('0x34')]=_0x4f11b5[_0x827b('0x34')][_0x827b('0x46')]?_0x4f11b5[_0x827b('0x34')]:_0x182b03[_0x827b('0x2e')];if(_0x49d7ea[_0x827b('0x2f')][_0x827b('0x41')]){_0x4f11b5[_0x827b('0x42')]=[{'all':!![]}];}_0x4f11b5=_[_0x827b('0x3b')]({},_0x4f11b5,_0x49d7ea[_0x827b('0x3e')]);return db[_0x827b('0x3f')]['find'](_0x4f11b5)[_0x827b('0x40')](handleEntityNotFound(_0x48eda6,null))[_0x827b('0x40')](respondWithResult(_0x48eda6,null))[_0x827b('0x45')](handleError(_0x48eda6,null));};exports[_0x827b('0x47')]=function(_0x1036b4,_0x2cd24e){return db['WhatsappApplication']['create'](_0x1036b4[_0x827b('0x48')],{})[_0x827b('0x40')](respondWithResult(_0x2cd24e,0xc9))[_0x827b('0x45')](handleError(_0x2cd24e,null));};exports[_0x827b('0x26')]=function(_0x301bf3,_0x1efc20){if(_0x301bf3[_0x827b('0x48')]['id']){delete _0x301bf3[_0x827b('0x48')]['id'];}return db['WhatsappApplication']['find']({'where':{'id':_0x301bf3[_0x827b('0x49')]['id']}})['then'](handleEntityNotFound(_0x1efc20,null))[_0x827b('0x40')](saveUpdates(_0x301bf3[_0x827b('0x48')],null))['then'](respondWithResult(_0x1efc20,null))[_0x827b('0x45')](handleError(_0x1efc20,null));};exports[_0x827b('0x4a')]=function(_0x254d98,_0x2416fb){return db[_0x827b('0x3f')][_0x827b('0x4b')]({'where':{'id':_0x254d98[_0x827b('0x49')]['id']}})[_0x827b('0x40')](handleEntityNotFound(_0x2416fb,null))['then'](removeEntity(_0x2416fb,null))[_0x827b('0x45')](handleError(_0x2416fb,null));};
\ No newline at end of file
+var _0xd9fb=['fieldName','type','key','model','query','keys','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','where','pick','filter','map','options','includeAll','show','params','fields','include','merge','catch','create','body','find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','index','WhatsappApplication','rawAttributes'];(function(_0x1e3c16,_0x372caa){var _0x47a0c9=function(_0x47f81d){while(--_0x47f81d){_0x1e3c16['push'](_0x1e3c16['shift']());}};_0x47a0c9(++_0x372caa);}(_0xd9fb,0x189));var _0xbd9f=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xd9fb[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require(_0xbd9f('0x0'));var rimraf=require(_0xbd9f('0x1'));var zipdir=require(_0xbd9f('0x2'));var jsonpatch=require(_0xbd9f('0x3'));var rp=require(_0xbd9f('0x4'));var moment=require(_0xbd9f('0x5'));var BPromise=require(_0xbd9f('0x6'));var Mustache=require('mustache');var util=require(_0xbd9f('0x7'));var path=require(_0xbd9f('0x8'));var sox=require('sox');var csv=require(_0xbd9f('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xbd9f('0xa'));var _=require(_0xbd9f('0xb'));var squel=require('squel');var crypto=require(_0xbd9f('0xc'));var jsforce=require(_0xbd9f('0xd'));var deskjs=require(_0xbd9f('0xe'));var toCsv=require(_0xbd9f('0x9'));var querystring=require('querystring');var Papa=require(_0xbd9f('0xf'));var Redis=require(_0xbd9f('0x10'));var authService=require(_0xbd9f('0x11'));var qs=require(_0xbd9f('0x12'));var as=require(_0xbd9f('0x13'));var hardwareService=require(_0xbd9f('0x14'));var logger=require(_0xbd9f('0x15'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xbd9f('0x16'))['db'];function respondWithStatusCode(_0x5e800a,_0x16b916){_0x16b916=_0x16b916||0xcc;return function(_0x44672c){if(_0x44672c){return _0x5e800a[_0xbd9f('0x17')](_0x16b916);}return _0x5e800a['status'](_0x16b916)[_0xbd9f('0x18')]();};}function respondWithResult(_0x5beefe,_0x192fbb){_0x192fbb=_0x192fbb||0xc8;return function(_0x699e8f){if(_0x699e8f){return _0x5beefe[_0xbd9f('0x19')](_0x192fbb)[_0xbd9f('0x1a')](_0x699e8f);}};}function respondWithFilteredResult(_0x5ec72a,_0x442253){return function(_0x25557f){if(_0x25557f){var _0x104cfd=typeof _0x442253[_0xbd9f('0x1b')]===_0xbd9f('0x1c')&&typeof _0x442253[_0xbd9f('0x1d')]===_0xbd9f('0x1c');var _0x4f6181=_0x25557f['count'];var _0x35be6d=_0x104cfd?0x0:_0x442253['offset'];var _0x2f52dd=_0x104cfd?_0x25557f[_0xbd9f('0x1e')]:_0x442253[_0xbd9f('0x1b')]+_0x442253[_0xbd9f('0x1d')];var _0x2c276b;if(_0x2f52dd>=_0x4f6181){_0x2f52dd=_0x4f6181;_0x2c276b=0xc8;}else{_0x2c276b=0xce;}_0x5ec72a[_0xbd9f('0x19')](_0x2c276b);return _0x5ec72a[_0xbd9f('0x1f')](_0xbd9f('0x20'),_0x35be6d+'-'+_0x2f52dd+'/'+_0x4f6181)['json'](_0x25557f);}return null;};}function patchUpdates(_0x365775){return function(_0xdb7e4e){try{jsonpatch[_0xbd9f('0x21')](_0xdb7e4e,_0x365775,!![]);}catch(_0x144051){return BPromise[_0xbd9f('0x22')](_0x144051);}return _0xdb7e4e[_0xbd9f('0x23')]();};}function saveUpdates(_0x5f7881,_0x30e745){return function(_0x3d0d68){if(_0x3d0d68){return _0x3d0d68[_0xbd9f('0x24')](_0x5f7881)[_0xbd9f('0x25')](function(_0x4e929d){return _0x4e929d;});}return null;};}function removeEntity(_0x3bde09,_0x10697a){return function(_0x256aec){if(_0x256aec){return _0x256aec[_0xbd9f('0x26')]()['then'](function(){_0x3bde09[_0xbd9f('0x19')](0xcc)[_0xbd9f('0x18')]();});}};}function handleEntityNotFound(_0x278a10,_0x36f503){return function(_0x46fcc0){if(!_0x46fcc0){_0x278a10[_0xbd9f('0x17')](0x194);}return _0x46fcc0;};}function handleError(_0x7fd831,_0x5885d2){_0x5885d2=_0x5885d2||0x1f4;return function(_0xd89fc2){logger[_0xbd9f('0x27')](_0xd89fc2[_0xbd9f('0x28')]);if(_0xd89fc2[_0xbd9f('0x29')]){delete _0xd89fc2[_0xbd9f('0x29')];}_0x7fd831['status'](_0x5885d2)['send'](_0xd89fc2);};}exports[_0xbd9f('0x2a')]=function(_0x2b26bf,_0x1d92fa){var _0x4a8a91={},_0xe884e8={},_0x7fff9={'count':0x0,'rows':[]};var _0x294d81=_['map'](db[_0xbd9f('0x2b')][_0xbd9f('0x2c')],function(_0xcbfaa2){return{'name':_0xcbfaa2[_0xbd9f('0x2d')],'type':_0xcbfaa2[_0xbd9f('0x2e')][_0xbd9f('0x2f')]};});_0xe884e8[_0xbd9f('0x30')]=_['map'](_0x294d81,'name');_0xe884e8[_0xbd9f('0x31')]=_[_0xbd9f('0x32')](_0x2b26bf[_0xbd9f('0x31')]);_0xe884e8[_0xbd9f('0x33')]=_[_0xbd9f('0x34')](_0xe884e8[_0xbd9f('0x30')],_0xe884e8[_0xbd9f('0x31')]);_0x4a8a91[_0xbd9f('0x35')]=_[_0xbd9f('0x34')](_0xe884e8['model'],qs['fields'](_0x2b26bf[_0xbd9f('0x31')]['fields']));_0x4a8a91['attributes']=_0x4a8a91[_0xbd9f('0x35')][_0xbd9f('0x36')]?_0x4a8a91[_0xbd9f('0x35')]:_0xe884e8[_0xbd9f('0x30')];if(!_0x2b26bf[_0xbd9f('0x31')][_0xbd9f('0x37')](_0xbd9f('0x38'))){_0x4a8a91[_0xbd9f('0x1d')]=qs['limit'](_0x2b26bf[_0xbd9f('0x31')][_0xbd9f('0x1d')]);_0x4a8a91[_0xbd9f('0x1b')]=qs['offset'](_0x2b26bf['query'][_0xbd9f('0x1b')]);}_0x4a8a91[_0xbd9f('0x39')]=qs['sort'](_0x2b26bf[_0xbd9f('0x31')]['sort']);_0x4a8a91[_0xbd9f('0x3a')]=qs[_0xbd9f('0x33')](_[_0xbd9f('0x3b')](_0x2b26bf[_0xbd9f('0x31')],_0xe884e8[_0xbd9f('0x33')]),_0x294d81);if(_0x2b26bf['query'][_0xbd9f('0x3c')]){_0x4a8a91[_0xbd9f('0x3a')]=_['merge'](_0x4a8a91[_0xbd9f('0x3a')],{'$or':_[_0xbd9f('0x3d')](_0x294d81,function(_0x356548){if(_0x356548[_0xbd9f('0x2e')]!=='VIRTUAL'){var _0x3ee34e={};_0x3ee34e[_0x356548[_0xbd9f('0x29')]]={'$like':'%'+_0x2b26bf[_0xbd9f('0x31')][_0xbd9f('0x3c')]+'%'};return _0x3ee34e;}})});}_0x4a8a91=_['merge']({},_0x4a8a91,_0x2b26bf[_0xbd9f('0x3e')]);var _0x315291={'where':_0x4a8a91[_0xbd9f('0x3a')]};return db[_0xbd9f('0x2b')]['count'](_0x315291)['then'](function(_0x39eb9e){_0x7fff9[_0xbd9f('0x1e')]=_0x39eb9e;if(_0x2b26bf['query'][_0xbd9f('0x3f')]){_0x4a8a91['include']=[{'all':!![]}];}return db[_0xbd9f('0x2b')]['findAll'](_0x4a8a91);})[_0xbd9f('0x25')](function(_0x342ada){_0x7fff9['rows']=_0x342ada;return _0x7fff9;})['then'](respondWithFilteredResult(_0x1d92fa,_0x4a8a91))['catch'](handleError(_0x1d92fa,null));};exports[_0xbd9f('0x40')]=function(_0x23816d,_0x533339){var _0x5a4739={'raw':!![],'where':{'id':_0x23816d[_0xbd9f('0x41')]['id']}},_0x163e36={};_0x163e36[_0xbd9f('0x30')]=_[_0xbd9f('0x32')](db['WhatsappApplication'][_0xbd9f('0x2c')]);_0x163e36[_0xbd9f('0x31')]=_[_0xbd9f('0x32')](_0x23816d[_0xbd9f('0x31')]);_0x163e36[_0xbd9f('0x33')]=_['intersection'](_0x163e36[_0xbd9f('0x30')],_0x163e36[_0xbd9f('0x31')]);_0x5a4739[_0xbd9f('0x35')]=_[_0xbd9f('0x34')](_0x163e36['model'],qs[_0xbd9f('0x42')](_0x23816d[_0xbd9f('0x31')][_0xbd9f('0x42')]));_0x5a4739['attributes']=_0x5a4739['attributes'][_0xbd9f('0x36')]?_0x5a4739[_0xbd9f('0x35')]:_0x163e36[_0xbd9f('0x30')];if(_0x23816d[_0xbd9f('0x31')]['includeAll']){_0x5a4739[_0xbd9f('0x43')]=[{'all':!![]}];}_0x5a4739=_[_0xbd9f('0x44')]({},_0x5a4739,_0x23816d[_0xbd9f('0x3e')]);return db[_0xbd9f('0x2b')]['find'](_0x5a4739)['then'](handleEntityNotFound(_0x533339,null))[_0xbd9f('0x25')](respondWithResult(_0x533339,null))[_0xbd9f('0x45')](handleError(_0x533339,null));};exports[_0xbd9f('0x46')]=function(_0x585065,_0x381646){return db[_0xbd9f('0x2b')][_0xbd9f('0x46')](_0x585065[_0xbd9f('0x47')],{})[_0xbd9f('0x25')](respondWithResult(_0x381646,0xc9))[_0xbd9f('0x45')](handleError(_0x381646,null));};exports[_0xbd9f('0x24')]=function(_0x2353e0,_0xcaa162){if(_0x2353e0[_0xbd9f('0x47')]['id']){delete _0x2353e0[_0xbd9f('0x47')]['id'];}return db[_0xbd9f('0x2b')][_0xbd9f('0x48')]({'where':{'id':_0x2353e0[_0xbd9f('0x41')]['id']}})[_0xbd9f('0x25')](handleEntityNotFound(_0xcaa162,null))['then'](saveUpdates(_0x2353e0[_0xbd9f('0x47')],null))['then'](respondWithResult(_0xcaa162,null))[_0xbd9f('0x45')](handleError(_0xcaa162,null));};exports[_0xbd9f('0x26')]=function(_0x503991,_0x52a85f){return db[_0xbd9f('0x2b')][_0xbd9f('0x48')]({'where':{'id':_0x503991[_0xbd9f('0x41')]['id']}})[_0xbd9f('0x25')](handleEntityNotFound(_0x52a85f,null))[_0xbd9f('0x25')](removeEntity(_0x52a85f,null))[_0xbd9f('0x45')](handleError(_0x52a85f,null));};
\ No newline at end of file