Built motion from commit 0900f080.|2.5.45
[motion2.git] / server / api / squareReport / squareReport.controller.js
index cf60094..5d6c9fa 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x83d0=['send','map','SquareReport','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','options','include','rows','catch','show','params','keys','length','includeAll','find','create','update','body','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','path','sox','to-csv','ejs','lodash','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','apply','save','then','destroy','sendStatus','error','stack','name'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x83d0,0xb7));var _0x083d=function(_0x812af8,_0x1b5ad3){_0x812af8=_0x812af8-0x0;var _0x307650=_0x83d0[_0x812af8];return _0x307650;};'use strict';var pdf=require(_0x083d('0x0'));var emlformat=require(_0x083d('0x1'));var rimraf=require(_0x083d('0x2'));var zipdir=require(_0x083d('0x3'));var jsonpatch=require(_0x083d('0x4'));var rp=require(_0x083d('0x5'));var moment=require('moment');var BPromise=require(_0x083d('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0x083d('0x7'));var sox=require(_0x083d('0x8'));var csv=require(_0x083d('0x9'));var ejs=require(_0x083d('0xa'));var fs=require('fs');var _=require(_0x083d('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x083d('0xc'));var deskjs=require(_0x083d('0xd'));var toCsv=require(_0x083d('0x9'));var querystring=require('querystring');var Papa=require(_0x083d('0xe'));var Redis=require(_0x083d('0xf'));var authService=require(_0x083d('0x10'));var qs=require(_0x083d('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x083d('0x12'));var logger=require('../../config/logger')(_0x083d('0x13'));var utils=require(_0x083d('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x083d('0x15'));var db=require(_0x083d('0x16'))['db'];function respondWithStatusCode(_0x23ccf2,_0x3e5be5){_0x3e5be5=_0x3e5be5||0xcc;return function(_0x3dfe4a){if(_0x3dfe4a){return _0x23ccf2['sendStatus'](_0x3e5be5);}return _0x23ccf2[_0x083d('0x17')](_0x3e5be5)[_0x083d('0x18')]();};}function respondWithResult(_0x4ee93c,_0x11c03f){_0x11c03f=_0x11c03f||0xc8;return function(_0x525a36){if(_0x525a36){return _0x4ee93c['status'](_0x11c03f)[_0x083d('0x19')](_0x525a36);}};}function respondWithFilteredResult(_0x3c95fe,_0x356d8e){return function(_0x20ca5f){if(_0x20ca5f){var _0x381455=_0x20ca5f[_0x083d('0x1a')],_0x4d6456=_0x356d8e[_0x083d('0x1b')],_0x2ec521=_0x356d8e[_0x083d('0x1b')]+_0x356d8e[_0x083d('0x1c')],_0x5ec496;if(_0x2ec521>=_0x381455){_0x2ec521=_0x381455;_0x5ec496=0xc8;}else{_0x5ec496=0xce;}_0x3c95fe[_0x083d('0x17')](_0x5ec496);return _0x3c95fe[_0x083d('0x1d')](_0x083d('0x1e'),_0x4d6456+'-'+_0x2ec521+'/'+_0x381455)[_0x083d('0x19')](_0x20ca5f);}return null;};}function patchUpdates(_0x160afb){return function(_0x2cb79c){try{jsonpatch[_0x083d('0x1f')](_0x2cb79c,_0x160afb,!![]);}catch(_0xb8a16f){return BPromise['reject'](_0xb8a16f);}return _0x2cb79c[_0x083d('0x20')]();};}function saveUpdates(_0x56d7f2,_0x21ac51){return function(_0x444397){if(_0x444397){return _0x444397['update'](_0x56d7f2)[_0x083d('0x21')](function(_0x4bd7c2){return _0x4bd7c2;});}return null;};}function removeEntity(_0x4efbea,_0x59828a){return function(_0xcde93c){if(_0xcde93c){return _0xcde93c[_0x083d('0x22')]()[_0x083d('0x21')](function(){_0x4efbea[_0x083d('0x17')](0xcc)[_0x083d('0x18')]();});}};}function handleEntityNotFound(_0x1b2e65,_0x5d8397){return function(_0x9e0377){if(!_0x9e0377){_0x1b2e65[_0x083d('0x23')](0x194);}return _0x9e0377;};}function handleError(_0x5e6e43,_0x3a0ce2){_0x3a0ce2=_0x3a0ce2||0x1f4;return function(_0x38ca23){logger[_0x083d('0x24')](_0x38ca23[_0x083d('0x25')]);if(_0x38ca23[_0x083d('0x26')]){delete _0x38ca23[_0x083d('0x26')];}_0x5e6e43[_0x083d('0x17')](_0x3a0ce2)[_0x083d('0x27')](_0x38ca23);};}exports['index']=function(_0x6bccbd,_0x50e5ae){var _0x2252fa={},_0x166eb7={},_0x252340={'count':0x0,'rows':[]};var _0x449ed8=_[_0x083d('0x28')](db[_0x083d('0x29')][_0x083d('0x2a')],function(_0xfbe79b){return{'name':_0xfbe79b[_0x083d('0x2b')],'type':_0xfbe79b[_0x083d('0x2c')][_0x083d('0x2d')]};});_0x166eb7[_0x083d('0x2e')]=_[_0x083d('0x28')](_0x449ed8,_0x083d('0x26'));_0x166eb7[_0x083d('0x2f')]=_['keys'](_0x6bccbd[_0x083d('0x2f')]);_0x166eb7[_0x083d('0x30')]=_['intersection'](_0x166eb7['model'],_0x166eb7[_0x083d('0x2f')]);_0x2252fa['attributes']=_[_0x083d('0x31')](_0x166eb7['model'],qs[_0x083d('0x32')](_0x6bccbd['query'][_0x083d('0x32')]));_0x2252fa[_0x083d('0x33')]=_0x2252fa[_0x083d('0x33')]['length']?_0x2252fa['attributes']:_0x166eb7[_0x083d('0x2e')];if(!_0x6bccbd['query'][_0x083d('0x34')](_0x083d('0x35'))){_0x2252fa[_0x083d('0x1c')]=qs[_0x083d('0x1c')](_0x6bccbd['query'][_0x083d('0x1c')]);_0x2252fa[_0x083d('0x1b')]=qs[_0x083d('0x1b')](_0x6bccbd[_0x083d('0x2f')]['offset']);}_0x2252fa[_0x083d('0x36')]=qs[_0x083d('0x37')](_0x6bccbd[_0x083d('0x2f')][_0x083d('0x37')]);_0x2252fa['where']=qs['filters'](_[_0x083d('0x38')](_0x6bccbd[_0x083d('0x2f')],_0x166eb7[_0x083d('0x30')]),_0x449ed8);if(_0x6bccbd[_0x083d('0x2f')][_0x083d('0x39')]){_0x2252fa['where']=_[_0x083d('0x3a')](_0x2252fa[_0x083d('0x3b')],{'$or':_['map'](_0x449ed8,function(_0x952022){if(_0x952022['type']!=='VIRTUAL'){var _0x27b2f3={};_0x27b2f3[_0x952022[_0x083d('0x26')]]={'$like':'%'+_0x6bccbd['query'][_0x083d('0x39')]+'%'};return _0x27b2f3;}})});}_0x2252fa=_[_0x083d('0x3a')]({},_0x2252fa,_0x6bccbd[_0x083d('0x3c')]);var _0x594327={'where':_0x2252fa['where']};return db['SquareReport']['count'](_0x594327)[_0x083d('0x21')](function(_0x417585){_0x252340[_0x083d('0x1a')]=_0x417585;if(_0x6bccbd[_0x083d('0x2f')]['includeAll']){_0x2252fa[_0x083d('0x3d')]=[{'all':!![]}];}return db[_0x083d('0x29')]['findAll'](_0x2252fa);})[_0x083d('0x21')](function(_0x368241){_0x252340[_0x083d('0x3e')]=_0x368241;return _0x252340;})[_0x083d('0x21')](respondWithFilteredResult(_0x50e5ae,_0x2252fa))[_0x083d('0x3f')](handleError(_0x50e5ae,null));};exports[_0x083d('0x40')]=function(_0x10cb3a,_0x30b913){var _0x4bf0c6={'raw':!![],'where':{'id':_0x10cb3a[_0x083d('0x41')]['id']}},_0x38de47={};_0x38de47[_0x083d('0x2e')]=_[_0x083d('0x42')](db[_0x083d('0x29')][_0x083d('0x2a')]);_0x38de47[_0x083d('0x2f')]=_['keys'](_0x10cb3a[_0x083d('0x2f')]);_0x38de47[_0x083d('0x30')]=_['intersection'](_0x38de47[_0x083d('0x2e')],_0x38de47[_0x083d('0x2f')]);_0x4bf0c6[_0x083d('0x33')]=_[_0x083d('0x31')](_0x38de47[_0x083d('0x2e')],qs['fields'](_0x10cb3a[_0x083d('0x2f')][_0x083d('0x32')]));_0x4bf0c6[_0x083d('0x33')]=_0x4bf0c6[_0x083d('0x33')][_0x083d('0x43')]?_0x4bf0c6['attributes']:_0x38de47[_0x083d('0x2e')];if(_0x10cb3a[_0x083d('0x2f')][_0x083d('0x44')]){_0x4bf0c6[_0x083d('0x3d')]=[{'all':!![]}];}_0x4bf0c6=_[_0x083d('0x3a')]({},_0x4bf0c6,_0x10cb3a[_0x083d('0x3c')]);return db['SquareReport'][_0x083d('0x45')](_0x4bf0c6)[_0x083d('0x21')](handleEntityNotFound(_0x30b913,null))[_0x083d('0x21')](respondWithResult(_0x30b913,null))[_0x083d('0x3f')](handleError(_0x30b913,null));};exports[_0x083d('0x46')]=function(_0x1faad5,_0x916b94){return db['SquareReport']['create'](_0x1faad5['body'],{})[_0x083d('0x21')](respondWithResult(_0x916b94,0xc9))['catch'](handleError(_0x916b94,null));};exports[_0x083d('0x47')]=function(_0x42af7d,_0x45e754){if(_0x42af7d[_0x083d('0x48')]['id']){delete _0x42af7d['body']['id'];}return db[_0x083d('0x29')][_0x083d('0x45')]({'where':{'id':_0x42af7d[_0x083d('0x41')]['id']}})[_0x083d('0x21')](handleEntityNotFound(_0x45e754,null))[_0x083d('0x21')](saveUpdates(_0x42af7d['body'],null))['then'](respondWithResult(_0x45e754,null))['catch'](handleError(_0x45e754,null));};exports[_0x083d('0x22')]=function(_0x34ed6c,_0x35b667){return db[_0x083d('0x29')][_0x083d('0x45')]({'where':{'id':_0x34ed6c[_0x083d('0x41')]['id']}})[_0x083d('0x21')](handleEntityNotFound(_0x35b667,null))[_0x083d('0x21')](removeEntity(_0x35b667,null))[_0x083d('0x3f')](handleError(_0x35b667,null));};exports['describe']=function(_0x4cb4bb,_0x33f3c8){return db['SquareReport'][_0x083d('0x49')]()[_0x083d('0x21')](respondWithResult(_0x33f3c8,null))[_0x083d('0x3f')](handleError(_0x33f3c8,null));};
\ No newline at end of file
+var _0xda48=['catch','create','body','describe','zip-dir','fast-json-patch','moment','mustache','util','path','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','undefined','limit','offset','count','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','SquareReport','fieldName','type','key','query','intersection','model','attributes','fields','length','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','include','findAll','params','keys','rawAttributes','includeAll','find'];(function(_0x17356a,_0x2a88a5){var _0xb5d0ac=function(_0x194194){while(--_0x194194){_0x17356a['push'](_0x17356a['shift']());}};_0xb5d0ac(++_0x2a88a5);}(_0xda48,0x94));var _0x8da4=function(_0xc2120b,_0x439d09){_0xc2120b=_0xc2120b-0x0;var _0x10e35d=_0xda48[_0xc2120b];return _0x10e35d;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x8da4('0x0'));var jsonpatch=require(_0x8da4('0x1'));var rp=require('request-promise');var moment=require(_0x8da4('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x8da4('0x3'));var util=require(_0x8da4('0x4'));var path=require(_0x8da4('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x8da4('0x6'));var fs=require('fs');var fs_extra=require(_0x8da4('0x7'));var _=require(_0x8da4('0x8'));var squel=require(_0x8da4('0x9'));var crypto=require('crypto');var jsforce=require(_0x8da4('0xa'));var deskjs=require(_0x8da4('0xb'));var toCsv=require(_0x8da4('0xc'));var querystring=require(_0x8da4('0xd'));var Papa=require(_0x8da4('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x8da4('0xf'));var as=require(_0x8da4('0x10'));var hardwareService=require(_0x8da4('0x11'));var logger=require('../../config/logger')(_0x8da4('0x12'));var utils=require(_0x8da4('0x13'));var config=require(_0x8da4('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x8da4('0x15'))['db'];function respondWithStatusCode(_0xb32628,_0x9fdf3b){_0x9fdf3b=_0x9fdf3b||0xcc;return function(_0x5ca2f0){if(_0x5ca2f0){return _0xb32628[_0x8da4('0x16')](_0x9fdf3b);}return _0xb32628[_0x8da4('0x17')](_0x9fdf3b)[_0x8da4('0x18')]();};}function respondWithResult(_0x1ccc7f,_0x4ee334){_0x4ee334=_0x4ee334||0xc8;return function(_0x218e93){if(_0x218e93){return _0x1ccc7f[_0x8da4('0x17')](_0x4ee334)[_0x8da4('0x19')](_0x218e93);}};}function respondWithFilteredResult(_0x40952a,_0x969392){return function(_0x57e88a){if(_0x57e88a){var _0x308477=typeof _0x969392['offset']===_0x8da4('0x1a')&&typeof _0x969392[_0x8da4('0x1b')]===_0x8da4('0x1a');var _0x46cec2=_0x57e88a['count'];var _0x2b46da=_0x308477?0x0:_0x969392[_0x8da4('0x1c')];var _0x4fd0dd=_0x308477?_0x57e88a[_0x8da4('0x1d')]:_0x969392['offset']+_0x969392[_0x8da4('0x1b')];var _0x36fdd5;if(_0x4fd0dd>=_0x46cec2){_0x4fd0dd=_0x46cec2;_0x36fdd5=0xc8;}else{_0x36fdd5=0xce;}_0x40952a['status'](_0x36fdd5);return _0x40952a['set'](_0x8da4('0x1e'),_0x2b46da+'-'+_0x4fd0dd+'/'+_0x46cec2)[_0x8da4('0x19')](_0x57e88a);}return null;};}function patchUpdates(_0x4064bd){return function(_0x3574fa){try{jsonpatch[_0x8da4('0x1f')](_0x3574fa,_0x4064bd,!![]);}catch(_0x3fbf65){return BPromise[_0x8da4('0x20')](_0x3fbf65);}return _0x3574fa[_0x8da4('0x21')]();};}function saveUpdates(_0x54007d,_0x1cf33b){return function(_0x58c4ac){if(_0x58c4ac){return _0x58c4ac[_0x8da4('0x22')](_0x54007d)[_0x8da4('0x23')](function(_0xc994d0){return _0xc994d0;});}return null;};}function removeEntity(_0x32228d,_0x2993ad){return function(_0x4139f3){if(_0x4139f3){return _0x4139f3[_0x8da4('0x24')]()[_0x8da4('0x23')](function(){_0x32228d[_0x8da4('0x17')](0xcc)[_0x8da4('0x18')]();});}};}function handleEntityNotFound(_0x374079,_0x2f85fe){return function(_0xeb11bc){if(!_0xeb11bc){_0x374079['sendStatus'](0x194);}return _0xeb11bc;};}function handleError(_0x4bcc1e,_0x1646e1){_0x1646e1=_0x1646e1||0x1f4;return function(_0x442989){logger['error'](_0x442989[_0x8da4('0x25')]);if(_0x442989[_0x8da4('0x26')]){delete _0x442989[_0x8da4('0x26')];}_0x4bcc1e['status'](_0x1646e1)[_0x8da4('0x27')](_0x442989);};}exports[_0x8da4('0x28')]=function(_0x259323,_0x199dbc){var _0x4f1719={},_0x5cd89c={},_0x3d23ab={'count':0x0,'rows':[]};var _0x30c9b0=_[_0x8da4('0x29')](db[_0x8da4('0x2a')]['rawAttributes'],function(_0x274a57){return{'name':_0x274a57[_0x8da4('0x2b')],'type':_0x274a57[_0x8da4('0x2c')][_0x8da4('0x2d')]};});_0x5cd89c['model']=_[_0x8da4('0x29')](_0x30c9b0,_0x8da4('0x26'));_0x5cd89c[_0x8da4('0x2e')]=_['keys'](_0x259323[_0x8da4('0x2e')]);_0x5cd89c['filters']=_[_0x8da4('0x2f')](_0x5cd89c[_0x8da4('0x30')],_0x5cd89c[_0x8da4('0x2e')]);_0x4f1719[_0x8da4('0x31')]=_[_0x8da4('0x2f')](_0x5cd89c[_0x8da4('0x30')],qs[_0x8da4('0x32')](_0x259323[_0x8da4('0x2e')][_0x8da4('0x32')]));_0x4f1719['attributes']=_0x4f1719[_0x8da4('0x31')][_0x8da4('0x33')]?_0x4f1719[_0x8da4('0x31')]:_0x5cd89c[_0x8da4('0x30')];if(!_0x259323[_0x8da4('0x2e')]['hasOwnProperty'](_0x8da4('0x34'))){_0x4f1719[_0x8da4('0x1b')]=qs[_0x8da4('0x1b')](_0x259323[_0x8da4('0x2e')][_0x8da4('0x1b')]);_0x4f1719['offset']=qs[_0x8da4('0x1c')](_0x259323['query'][_0x8da4('0x1c')]);}_0x4f1719[_0x8da4('0x35')]=qs[_0x8da4('0x36')](_0x259323[_0x8da4('0x2e')][_0x8da4('0x36')]);_0x4f1719[_0x8da4('0x37')]=qs[_0x8da4('0x38')](_[_0x8da4('0x39')](_0x259323[_0x8da4('0x2e')],_0x5cd89c['filters']),_0x30c9b0);if(_0x259323['query'][_0x8da4('0x3a')]){_0x4f1719['where']=_[_0x8da4('0x3b')](_0x4f1719['where'],{'$or':_[_0x8da4('0x29')](_0x30c9b0,function(_0x3106c9){if(_0x3106c9[_0x8da4('0x2c')]!==_0x8da4('0x3c')){var _0x4537fb={};_0x4537fb[_0x3106c9[_0x8da4('0x26')]]={'$like':'%'+_0x259323[_0x8da4('0x2e')][_0x8da4('0x3a')]+'%'};return _0x4537fb;}})});}_0x4f1719=_[_0x8da4('0x3b')]({},_0x4f1719,_0x259323['options']);var _0x492818={'where':_0x4f1719[_0x8da4('0x37')]};return db[_0x8da4('0x2a')]['count'](_0x492818)['then'](function(_0x1472fb){_0x3d23ab[_0x8da4('0x1d')]=_0x1472fb;if(_0x259323[_0x8da4('0x2e')]['includeAll']){_0x4f1719[_0x8da4('0x3d')]=[{'all':!![]}];}return db['SquareReport'][_0x8da4('0x3e')](_0x4f1719);})[_0x8da4('0x23')](function(_0x1b43ef){_0x3d23ab['rows']=_0x1b43ef;return _0x3d23ab;})['then'](respondWithFilteredResult(_0x199dbc,_0x4f1719))['catch'](handleError(_0x199dbc,null));};exports['show']=function(_0x2b4e05,_0x169106){var _0x3b1f87={'raw':!![],'where':{'id':_0x2b4e05[_0x8da4('0x3f')]['id']}},_0x54e591={};_0x54e591[_0x8da4('0x30')]=_[_0x8da4('0x40')](db[_0x8da4('0x2a')][_0x8da4('0x41')]);_0x54e591[_0x8da4('0x2e')]=_[_0x8da4('0x40')](_0x2b4e05[_0x8da4('0x2e')]);_0x54e591[_0x8da4('0x38')]=_[_0x8da4('0x2f')](_0x54e591['model'],_0x54e591['query']);_0x3b1f87[_0x8da4('0x31')]=_[_0x8da4('0x2f')](_0x54e591[_0x8da4('0x30')],qs[_0x8da4('0x32')](_0x2b4e05[_0x8da4('0x2e')]['fields']));_0x3b1f87[_0x8da4('0x31')]=_0x3b1f87[_0x8da4('0x31')][_0x8da4('0x33')]?_0x3b1f87['attributes']:_0x54e591[_0x8da4('0x30')];if(_0x2b4e05[_0x8da4('0x2e')][_0x8da4('0x42')]){_0x3b1f87[_0x8da4('0x3d')]=[{'all':!![]}];}_0x3b1f87=_[_0x8da4('0x3b')]({},_0x3b1f87,_0x2b4e05['options']);return db[_0x8da4('0x2a')][_0x8da4('0x43')](_0x3b1f87)[_0x8da4('0x23')](handleEntityNotFound(_0x169106,null))[_0x8da4('0x23')](respondWithResult(_0x169106,null))[_0x8da4('0x44')](handleError(_0x169106,null));};exports[_0x8da4('0x45')]=function(_0x9889d1,_0x3149bf){return db['SquareReport']['create'](_0x9889d1['body'],{})[_0x8da4('0x23')](respondWithResult(_0x3149bf,0xc9))[_0x8da4('0x44')](handleError(_0x3149bf,null));};exports[_0x8da4('0x22')]=function(_0x308dd0,_0x21f0e4){if(_0x308dd0[_0x8da4('0x46')]['id']){delete _0x308dd0[_0x8da4('0x46')]['id'];}return db[_0x8da4('0x2a')][_0x8da4('0x43')]({'where':{'id':_0x308dd0['params']['id']}})['then'](handleEntityNotFound(_0x21f0e4,null))['then'](saveUpdates(_0x308dd0[_0x8da4('0x46')],null))[_0x8da4('0x23')](respondWithResult(_0x21f0e4,null))[_0x8da4('0x44')](handleError(_0x21f0e4,null));};exports[_0x8da4('0x24')]=function(_0xab1db0,_0x457c94){return db[_0x8da4('0x2a')][_0x8da4('0x43')]({'where':{'id':_0xab1db0[_0x8da4('0x3f')]['id']}})['then'](handleEntityNotFound(_0x457c94,null))[_0x8da4('0x23')](removeEntity(_0x457c94,null))['catch'](handleError(_0x457c94,null));};exports[_0x8da4('0x47')]=function(_0xe4da87,_0x493af2){return db[_0x8da4('0x2a')]['describe']()[_0x8da4('0x23')](respondWithResult(_0x493af2,null))['catch'](handleError(_0x493af2,null));};
\ No newline at end of file