Built motion from commit 9d0783e6.|2.6.13
[motion2.git] / server / api / intSalesforceField / intSalesforceField.controller.js
index 2c23964..72d7351 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xf82b=['rawAttributes','include','find','create','body','update','rimraf','zip-dir','fast-json-patch','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','apply','reject','save','then','error','stack','index','map','fieldName','type','key','model','name','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','options','SalesforceField','includeAll','findAll','rows','catch','show','params'];(function(_0x10004e,_0xd701e6){var _0x5af990=function(_0x4bab6a){while(--_0x4bab6a){_0x10004e['push'](_0x10004e['shift']());}};_0x5af990(++_0xd701e6);}(_0xf82b,0x98));var _0xbf82=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xf82b[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xbf82('0x0'));var zipdir=require(_0xbf82('0x1'));var jsonpatch=require(_0xbf82('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xbf82('0x3'));var util=require(_0xbf82('0x4'));var path=require(_0xbf82('0x5'));var sox=require(_0xbf82('0x6'));var csv=require(_0xbf82('0x7'));var ejs=require(_0xbf82('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xbf82('0x9'));var squel=require(_0xbf82('0xa'));var crypto=require('crypto');var jsforce=require(_0xbf82('0xb'));var deskjs=require(_0xbf82('0xc'));var toCsv=require('to-csv');var querystring=require(_0xbf82('0xd'));var Papa=require(_0xbf82('0xe'));var Redis=require(_0xbf82('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xbf82('0x10'));var as=require(_0xbf82('0x11'));var hardwareService=require(_0xbf82('0x12'));var logger=require(_0xbf82('0x13'))(_0xbf82('0x14'));var utils=require(_0xbf82('0x15'));var config=require(_0xbf82('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xbf82('0x17'))['db'];function respondWithStatusCode(_0x691652,_0xa73212){_0xa73212=_0xa73212||0xcc;return function(_0x45e36a){if(_0x45e36a){return _0x691652[_0xbf82('0x18')](_0xa73212);}return _0x691652[_0xbf82('0x19')](_0xa73212)[_0xbf82('0x1a')]();};}function respondWithResult(_0x1ad76b,_0xa4f13d){_0xa4f13d=_0xa4f13d||0xc8;return function(_0x415650){if(_0x415650){return _0x1ad76b['status'](_0xa4f13d)[_0xbf82('0x1b')](_0x415650);}};}function respondWithFilteredResult(_0xbc6b50,_0x50040c){return function(_0x381a85){if(_0x381a85){var _0x3b57ef=typeof _0x50040c[_0xbf82('0x1c')]===_0xbf82('0x1d')&&typeof _0x50040c[_0xbf82('0x1e')]==='undefined';var _0x25cafd=_0x381a85['count'];var _0x370000=_0x3b57ef?0x0:_0x50040c['offset'];var _0x2d471e=_0x3b57ef?_0x381a85[_0xbf82('0x1f')]:_0x50040c['offset']+_0x50040c[_0xbf82('0x1e')];var _0x2bb759;if(_0x2d471e>=_0x25cafd){_0x2d471e=_0x25cafd;_0x2bb759=0xc8;}else{_0x2bb759=0xce;}_0xbc6b50['status'](_0x2bb759);return _0xbc6b50['set']('Content-Range',_0x370000+'-'+_0x2d471e+'/'+_0x25cafd)[_0xbf82('0x1b')](_0x381a85);}return null;};}function patchUpdates(_0x1f71a9){return function(_0x583a52){try{jsonpatch[_0xbf82('0x20')](_0x583a52,_0x1f71a9,!![]);}catch(_0xe36890){return BPromise[_0xbf82('0x21')](_0xe36890);}return _0x583a52[_0xbf82('0x22')]();};}function saveUpdates(_0x3fb331,_0x380379){return function(_0x1766bf){if(_0x1766bf){return _0x1766bf['update'](_0x3fb331)['then'](function(_0x316ca2){return _0x316ca2;});}return null;};}function removeEntity(_0x378776,_0x4d6179){return function(_0xf5b08f){if(_0xf5b08f){return _0xf5b08f['destroy']()[_0xbf82('0x23')](function(){_0x378776[_0xbf82('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2d6375,_0x15c9f5){return function(_0x4051ce){if(!_0x4051ce){_0x2d6375[_0xbf82('0x18')](0x194);}return _0x4051ce;};}function handleError(_0x349f4d,_0x393867){_0x393867=_0x393867||0x1f4;return function(_0x14539b){logger[_0xbf82('0x24')](_0x14539b[_0xbf82('0x25')]);if(_0x14539b['name']){delete _0x14539b['name'];}_0x349f4d[_0xbf82('0x19')](_0x393867)['send'](_0x14539b);};}exports[_0xbf82('0x26')]=function(_0x48c093,_0x16c09c){var _0x4189a8={},_0x2181ee={},_0x422a67={'count':0x0,'rows':[]};var _0x3ff3fe=_[_0xbf82('0x27')](db['SalesforceField']['rawAttributes'],function(_0x252fa1){return{'name':_0x252fa1[_0xbf82('0x28')],'type':_0x252fa1[_0xbf82('0x29')][_0xbf82('0x2a')]};});_0x2181ee[_0xbf82('0x2b')]=_['map'](_0x3ff3fe,_0xbf82('0x2c'));_0x2181ee[_0xbf82('0x2d')]=_[_0xbf82('0x2e')](_0x48c093[_0xbf82('0x2d')]);_0x2181ee[_0xbf82('0x2f')]=_[_0xbf82('0x30')](_0x2181ee[_0xbf82('0x2b')],_0x2181ee[_0xbf82('0x2d')]);_0x4189a8[_0xbf82('0x31')]=_['intersection'](_0x2181ee['model'],qs[_0xbf82('0x32')](_0x48c093['query'][_0xbf82('0x32')]));_0x4189a8['attributes']=_0x4189a8[_0xbf82('0x31')][_0xbf82('0x33')]?_0x4189a8[_0xbf82('0x31')]:_0x2181ee[_0xbf82('0x2b')];if(!_0x48c093[_0xbf82('0x2d')][_0xbf82('0x34')]('nolimit')){_0x4189a8[_0xbf82('0x1e')]=qs[_0xbf82('0x1e')](_0x48c093[_0xbf82('0x2d')]['limit']);_0x4189a8[_0xbf82('0x1c')]=qs[_0xbf82('0x1c')](_0x48c093[_0xbf82('0x2d')][_0xbf82('0x1c')]);}_0x4189a8[_0xbf82('0x35')]=qs[_0xbf82('0x36')](_0x48c093[_0xbf82('0x2d')][_0xbf82('0x36')]);_0x4189a8[_0xbf82('0x37')]=qs[_0xbf82('0x2f')](_[_0xbf82('0x38')](_0x48c093[_0xbf82('0x2d')],_0x2181ee['filters']),_0x3ff3fe);if(_0x48c093[_0xbf82('0x2d')][_0xbf82('0x39')]){_0x4189a8[_0xbf82('0x37')]=_[_0xbf82('0x3a')](_0x4189a8[_0xbf82('0x37')],{'$or':_['map'](_0x3ff3fe,function(_0x48f5f7){if(_0x48f5f7[_0xbf82('0x29')]!=='VIRTUAL'){var _0x2c6975={};_0x2c6975[_0x48f5f7[_0xbf82('0x2c')]]={'$like':'%'+_0x48c093[_0xbf82('0x2d')][_0xbf82('0x39')]+'%'};return _0x2c6975;}})});}_0x4189a8=_[_0xbf82('0x3a')]({},_0x4189a8,_0x48c093[_0xbf82('0x3b')]);var _0x289f9f={'where':_0x4189a8['where']};return db[_0xbf82('0x3c')][_0xbf82('0x1f')](_0x289f9f)[_0xbf82('0x23')](function(_0x57b228){_0x422a67[_0xbf82('0x1f')]=_0x57b228;if(_0x48c093[_0xbf82('0x2d')][_0xbf82('0x3d')]){_0x4189a8['include']=[{'all':!![]}];}return db[_0xbf82('0x3c')][_0xbf82('0x3e')](_0x4189a8);})[_0xbf82('0x23')](function(_0x235d76){_0x422a67[_0xbf82('0x3f')]=_0x235d76;return _0x422a67;})['then'](respondWithFilteredResult(_0x16c09c,_0x4189a8))[_0xbf82('0x40')](handleError(_0x16c09c,null));};exports[_0xbf82('0x41')]=function(_0x395747,_0xf46220){var _0x5481dd={'raw':!![],'where':{'id':_0x395747[_0xbf82('0x42')]['id']}},_0x317062={};_0x317062[_0xbf82('0x2b')]=_['keys'](db[_0xbf82('0x3c')][_0xbf82('0x43')]);_0x317062[_0xbf82('0x2d')]=_['keys'](_0x395747[_0xbf82('0x2d')]);_0x317062[_0xbf82('0x2f')]=_[_0xbf82('0x30')](_0x317062['model'],_0x317062[_0xbf82('0x2d')]);_0x5481dd['attributes']=_[_0xbf82('0x30')](_0x317062['model'],qs[_0xbf82('0x32')](_0x395747[_0xbf82('0x2d')][_0xbf82('0x32')]));_0x5481dd[_0xbf82('0x31')]=_0x5481dd[_0xbf82('0x31')]['length']?_0x5481dd[_0xbf82('0x31')]:_0x317062[_0xbf82('0x2b')];if(_0x395747[_0xbf82('0x2d')]['includeAll']){_0x5481dd[_0xbf82('0x44')]=[{'all':!![]}];}_0x5481dd=_[_0xbf82('0x3a')]({},_0x5481dd,_0x395747[_0xbf82('0x3b')]);return db[_0xbf82('0x3c')][_0xbf82('0x45')](_0x5481dd)[_0xbf82('0x23')](handleEntityNotFound(_0xf46220,null))[_0xbf82('0x23')](respondWithResult(_0xf46220,null))[_0xbf82('0x40')](handleError(_0xf46220,null));};exports[_0xbf82('0x46')]=function(_0x3d20e7,_0x447b52){return db[_0xbf82('0x3c')][_0xbf82('0x46')](_0x3d20e7[_0xbf82('0x47')],{})[_0xbf82('0x23')](respondWithResult(_0x447b52,0xc9))[_0xbf82('0x40')](handleError(_0x447b52,null));};exports[_0xbf82('0x48')]=function(_0xc2f049,_0xdad4f0){if(_0xc2f049['body']['id']){delete _0xc2f049['body']['id'];}return db['SalesforceField'][_0xbf82('0x45')]({'where':{'id':_0xc2f049[_0xbf82('0x42')]['id']}})[_0xbf82('0x23')](handleEntityNotFound(_0xdad4f0,null))[_0xbf82('0x23')](saveUpdates(_0xc2f049[_0xbf82('0x47')],null))['then'](respondWithResult(_0xdad4f0,null))[_0xbf82('0x40')](handleError(_0xdad4f0,null));};exports['destroy']=function(_0x3c46f5,_0x20c934){return db['SalesforceField'][_0xbf82('0x45')]({'where':{'id':_0x3c46f5['params']['id']}})[_0xbf82('0x23')](handleEntityNotFound(_0x20c934,null))['then'](removeEntity(_0x20c934,null))[_0xbf82('0x40')](handleError(_0x20c934,null));};
\ No newline at end of file
+var _0xc154=['find','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','sox','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../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','offset','undefined','count','limit','set','Content-Range','json','apply','save','update','destroy','error','send','index','map','fieldName','type','name','keys','query','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','SalesforceField','then','includeAll','rows','catch','show','length','include','options','create','body','params'];(function(_0x3135f7,_0x13571d){var _0x22294a=function(_0x338155){while(--_0x338155){_0x3135f7['push'](_0x3135f7['shift']());}};_0x22294a(++_0x13571d);}(_0xc154,0x1cf));var _0x4c15=function(_0x2bda85,_0x5466b1){_0x2bda85=_0x2bda85-0x0;var _0xbff55f=_0xc154[_0x2bda85];return _0xbff55f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4c15('0x0'));var zipdir=require(_0x4c15('0x1'));var jsonpatch=require(_0x4c15('0x2'));var rp=require(_0x4c15('0x3'));var moment=require(_0x4c15('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x4c15('0x5'));var util=require('util');var path=require('path');var sox=require(_0x4c15('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4c15('0x7'));var _=require(_0x4c15('0x8'));var squel=require(_0x4c15('0x9'));var crypto=require(_0x4c15('0xa'));var jsforce=require(_0x4c15('0xb'));var deskjs=require(_0x4c15('0xc'));var toCsv=require(_0x4c15('0xd'));var querystring=require(_0x4c15('0xe'));var Papa=require(_0x4c15('0xf'));var Redis=require(_0x4c15('0x10'));var authService=require(_0x4c15('0x11'));var qs=require(_0x4c15('0x12'));var as=require(_0x4c15('0x13'));var hardwareService=require(_0x4c15('0x14'));var logger=require(_0x4c15('0x15'))(_0x4c15('0x16'));var utils=require(_0x4c15('0x17'));var config=require(_0x4c15('0x18'));var licenseUtil=require(_0x4c15('0x19'));var db=require(_0x4c15('0x1a'))['db'];function respondWithStatusCode(_0x713855,_0xdc15dc){_0xdc15dc=_0xdc15dc||0xcc;return function(_0x1b8568){if(_0x1b8568){return _0x713855[_0x4c15('0x1b')](_0xdc15dc);}return _0x713855[_0x4c15('0x1c')](_0xdc15dc)[_0x4c15('0x1d')]();};}function respondWithResult(_0x5cd5f8,_0x23acb6){_0x23acb6=_0x23acb6||0xc8;return function(_0x2a0419){if(_0x2a0419){return _0x5cd5f8[_0x4c15('0x1c')](_0x23acb6)['json'](_0x2a0419);}};}function respondWithFilteredResult(_0x5ad2f4,_0x366705){return function(_0xcdacdd){if(_0xcdacdd){var _0x536041=typeof _0x366705[_0x4c15('0x1e')]===_0x4c15('0x1f')&&typeof _0x366705['limit']===_0x4c15('0x1f');var _0x3d49b8=_0xcdacdd[_0x4c15('0x20')];var _0x59b3e6=_0x536041?0x0:_0x366705[_0x4c15('0x1e')];var _0x2880d0=_0x536041?_0xcdacdd[_0x4c15('0x20')]:_0x366705['offset']+_0x366705[_0x4c15('0x21')];var _0x519f49;if(_0x2880d0>=_0x3d49b8){_0x2880d0=_0x3d49b8;_0x519f49=0xc8;}else{_0x519f49=0xce;}_0x5ad2f4[_0x4c15('0x1c')](_0x519f49);return _0x5ad2f4[_0x4c15('0x22')](_0x4c15('0x23'),_0x59b3e6+'-'+_0x2880d0+'/'+_0x3d49b8)[_0x4c15('0x24')](_0xcdacdd);}return null;};}function patchUpdates(_0x801196){return function(_0x5d2a4c){try{jsonpatch[_0x4c15('0x25')](_0x5d2a4c,_0x801196,!![]);}catch(_0x1864ec){return BPromise['reject'](_0x1864ec);}return _0x5d2a4c[_0x4c15('0x26')]();};}function saveUpdates(_0x1daa64,_0x381895){return function(_0x5679ca){if(_0x5679ca){return _0x5679ca[_0x4c15('0x27')](_0x1daa64)['then'](function(_0x357211){return _0x357211;});}return null;};}function removeEntity(_0x4a6d93,_0x4c4ae8){return function(_0x187419){if(_0x187419){return _0x187419[_0x4c15('0x28')]()['then'](function(){_0x4a6d93[_0x4c15('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x184365,_0x9b2757){return function(_0x4a081c){if(!_0x4a081c){_0x184365['sendStatus'](0x194);}return _0x4a081c;};}function handleError(_0x22206f,_0x2901b1){_0x2901b1=_0x2901b1||0x1f4;return function(_0x369ef1){logger[_0x4c15('0x29')](_0x369ef1['stack']);if(_0x369ef1['name']){delete _0x369ef1['name'];}_0x22206f[_0x4c15('0x1c')](_0x2901b1)[_0x4c15('0x2a')](_0x369ef1);};}exports[_0x4c15('0x2b')]=function(_0x2b9b08,_0x33ddad){var _0x32c8e4={},_0x3029b2={},_0x2b3bb6={'count':0x0,'rows':[]};var _0x2e56fa=_[_0x4c15('0x2c')](db['SalesforceField']['rawAttributes'],function(_0x73fe3b){return{'name':_0x73fe3b[_0x4c15('0x2d')],'type':_0x73fe3b[_0x4c15('0x2e')]['key']};});_0x3029b2['model']=_[_0x4c15('0x2c')](_0x2e56fa,_0x4c15('0x2f'));_0x3029b2['query']=_[_0x4c15('0x30')](_0x2b9b08[_0x4c15('0x31')]);_0x3029b2['filters']=_[_0x4c15('0x32')](_0x3029b2[_0x4c15('0x33')],_0x3029b2[_0x4c15('0x31')]);_0x32c8e4[_0x4c15('0x34')]=_['intersection'](_0x3029b2[_0x4c15('0x33')],qs[_0x4c15('0x35')](_0x2b9b08['query']['fields']));_0x32c8e4[_0x4c15('0x34')]=_0x32c8e4['attributes']['length']?_0x32c8e4[_0x4c15('0x34')]:_0x3029b2[_0x4c15('0x33')];if(!_0x2b9b08[_0x4c15('0x31')][_0x4c15('0x36')](_0x4c15('0x37'))){_0x32c8e4[_0x4c15('0x21')]=qs[_0x4c15('0x21')](_0x2b9b08[_0x4c15('0x31')][_0x4c15('0x21')]);_0x32c8e4[_0x4c15('0x1e')]=qs[_0x4c15('0x1e')](_0x2b9b08[_0x4c15('0x31')][_0x4c15('0x1e')]);}_0x32c8e4[_0x4c15('0x38')]=qs['sort'](_0x2b9b08[_0x4c15('0x31')][_0x4c15('0x39')]);_0x32c8e4[_0x4c15('0x3a')]=qs[_0x4c15('0x3b')](_[_0x4c15('0x3c')](_0x2b9b08['query'],_0x3029b2[_0x4c15('0x3b')]),_0x2e56fa);if(_0x2b9b08[_0x4c15('0x31')]['filter']){_0x32c8e4['where']=_[_0x4c15('0x3d')](_0x32c8e4[_0x4c15('0x3a')],{'$or':_[_0x4c15('0x2c')](_0x2e56fa,function(_0x30f553){if(_0x30f553[_0x4c15('0x2e')]!==_0x4c15('0x3e')){var _0x504afe={};_0x504afe[_0x30f553[_0x4c15('0x2f')]]={'$like':'%'+_0x2b9b08[_0x4c15('0x31')][_0x4c15('0x3f')]+'%'};return _0x504afe;}})});}_0x32c8e4=_[_0x4c15('0x3d')]({},_0x32c8e4,_0x2b9b08['options']);var _0x21ab1f={'where':_0x32c8e4['where']};return db[_0x4c15('0x40')][_0x4c15('0x20')](_0x21ab1f)[_0x4c15('0x41')](function(_0x224f50){_0x2b3bb6['count']=_0x224f50;if(_0x2b9b08[_0x4c15('0x31')][_0x4c15('0x42')]){_0x32c8e4['include']=[{'all':!![]}];}return db[_0x4c15('0x40')]['findAll'](_0x32c8e4);})[_0x4c15('0x41')](function(_0x60edc4){_0x2b3bb6[_0x4c15('0x43')]=_0x60edc4;return _0x2b3bb6;})[_0x4c15('0x41')](respondWithFilteredResult(_0x33ddad,_0x32c8e4))[_0x4c15('0x44')](handleError(_0x33ddad,null));};exports[_0x4c15('0x45')]=function(_0x26e471,_0x3990fa){var _0xc77a58={'raw':!![],'where':{'id':_0x26e471['params']['id']}},_0x11e8c2={};_0x11e8c2[_0x4c15('0x33')]=_[_0x4c15('0x30')](db[_0x4c15('0x40')]['rawAttributes']);_0x11e8c2[_0x4c15('0x31')]=_[_0x4c15('0x30')](_0x26e471['query']);_0x11e8c2[_0x4c15('0x3b')]=_['intersection'](_0x11e8c2['model'],_0x11e8c2['query']);_0xc77a58['attributes']=_[_0x4c15('0x32')](_0x11e8c2['model'],qs[_0x4c15('0x35')](_0x26e471[_0x4c15('0x31')][_0x4c15('0x35')]));_0xc77a58[_0x4c15('0x34')]=_0xc77a58[_0x4c15('0x34')][_0x4c15('0x46')]?_0xc77a58[_0x4c15('0x34')]:_0x11e8c2[_0x4c15('0x33')];if(_0x26e471[_0x4c15('0x31')][_0x4c15('0x42')]){_0xc77a58[_0x4c15('0x47')]=[{'all':!![]}];}_0xc77a58=_[_0x4c15('0x3d')]({},_0xc77a58,_0x26e471[_0x4c15('0x48')]);return db[_0x4c15('0x40')]['find'](_0xc77a58)['then'](handleEntityNotFound(_0x3990fa,null))['then'](respondWithResult(_0x3990fa,null))[_0x4c15('0x44')](handleError(_0x3990fa,null));};exports[_0x4c15('0x49')]=function(_0x5cf422,_0x74eb4c){return db[_0x4c15('0x40')][_0x4c15('0x49')](_0x5cf422[_0x4c15('0x4a')],{})[_0x4c15('0x41')](respondWithResult(_0x74eb4c,0xc9))[_0x4c15('0x44')](handleError(_0x74eb4c,null));};exports[_0x4c15('0x27')]=function(_0xe41e9d,_0x34dae1){if(_0xe41e9d[_0x4c15('0x4a')]['id']){delete _0xe41e9d['body']['id'];}return db[_0x4c15('0x40')]['find']({'where':{'id':_0xe41e9d[_0x4c15('0x4b')]['id']}})[_0x4c15('0x41')](handleEntityNotFound(_0x34dae1,null))[_0x4c15('0x41')](saveUpdates(_0xe41e9d[_0x4c15('0x4a')],null))[_0x4c15('0x41')](respondWithResult(_0x34dae1,null))['catch'](handleError(_0x34dae1,null));};exports[_0x4c15('0x28')]=function(_0x25fb48,_0x2b6caa){return db[_0x4c15('0x40')][_0x4c15('0x4c')]({'where':{'id':_0x25fb48[_0x4c15('0x4b')]['id']}})[_0x4c15('0x41')](handleEntityNotFound(_0x2b6caa,null))[_0x4c15('0x41')](removeEntity(_0x2b6caa,null))[_0x4c15('0x44')](handleError(_0x2b6caa,null));};
\ No newline at end of file