@restforgejs/platform 5.1.4 → 5.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/data/pull.js +16 -7
- package/generators/cli/data/push.js +17 -7
- package/generators/cli/fast-track.js +63 -43
- package/generators/cli/init.js +347 -97
- package/generators/lib/data/data-scope.js +138 -0
- package/generators/lib/data/envelope.js +25 -9
- package/generators/lib/data/pull-runner.js +44 -37
- package/generators/lib/data/push-runner.js +64 -46
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x3077(_0xded343,_0x241d04){_0xded343=_0xded343-0x17c;const _0x4337a2=a0_0x4337();let _0x307784=_0x4337a2[_0xded343];if(a0_0x3077['ziQXYq']===undefined){var _0x24a9d7=function(_0x494478){const _0x24b836='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ede40='',_0x4622bc='';for(let _0x179465=0x0,_0x3da916,_0x3bfca4,_0x85fd26=0x0;_0x3bfca4=_0x494478['charAt'](_0x85fd26++);~_0x3bfca4&&(_0x3da916=_0x179465%0x4?_0x3da916*0x40+_0x3bfca4:_0x3bfca4,_0x179465++%0x4)?_0x5ede40+=String['fromCharCode'](0xff&_0x3da916>>(-0x2*_0x179465&0x6)):0x0){_0x3bfca4=_0x24b836['indexOf'](_0x3bfca4);}for(let _0x2e1075=0x0,_0x4a66b4=_0x5ede40['length'];_0x2e1075<_0x4a66b4;_0x2e1075++){_0x4622bc+='%'+('00'+_0x5ede40['charCodeAt'](_0x2e1075)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4622bc);};a0_0x3077['jMmzlC']=_0x24a9d7,a0_0x3077['wZwPbf']={},a0_0x3077['ziQXYq']=!![];}const _0x5352e6=_0x4337a2[0x0],_0x4d6e39=_0xded343+_0x5352e6,_0x5291a5=a0_0x3077['wZwPbf'][_0x4d6e39];return!_0x5291a5?(_0x307784=a0_0x3077['jMmzlC'](_0x307784),a0_0x3077['wZwPbf'][_0x4d6e39]=_0x307784):_0x307784=_0x5291a5,_0x307784;}function a0_0x4337(){const _0x2bf707=['mtC1wNL0DKPt','D2fYBG','mte0ndG4nxvNBgTIvq','mty5mtq3mgvmvfzVwG','mJi0mdq3mKHTuKvSCq','zM9YBwf0vgLTzq','oty1nMP1r0TYuG','sw52ywXPzcbKyxrLihzHBhvLoIa','C2jLELC','otuWBM5iwKTU','Du5VDuq','z2v0twLUDxrLCW','C3rYAw5N','zxbWze8','mtq3mtqXrxrpwLnT','ndK1otK5nLfMs3HMAq','zM9YBwf0','DgLTzq','zM9YBwf0rgf0zq','mtjOs1LbDe4','mte5mdG2tNvst3bz','zM9YBwf0vgLTzxn0yw1W','CgfKu3rHCNq','z2v0rgf0zq','z2v0tw9UDgG'];a0_0x4337=function(){return _0x2bf707;};return a0_0x4337();}const a0_0x23965c=a0_0x3077;(function(_0x4d38ea,_0xc4aa5e){const _0x5a7cf1=a0_0x3077,_0x366d16=_0x4d38ea();while(!![]){try{const _0x12397a=parseInt(_0x5a7cf1(0x18e))/0x1+parseInt(_0x5a7cf1(0x187))/0x2*(-parseInt(_0x5a7cf1(0x186))/0x3)+parseInt(_0x5a7cf1(0x182))/0x4+-parseInt(_0x5a7cf1(0x18f))/0x5+parseInt(_0x5a7cf1(0x190))/0x6+parseInt(_0x5a7cf1(0x18c))/0x7*(parseInt(_0x5a7cf1(0x192))/0x8)+-parseInt(_0x5a7cf1(0x181))/0x9*(parseInt(_0x5a7cf1(0x17c))/0xa);if(_0x12397a===_0xc4aa5e)break;else _0x366d16['push'](_0x366d16['shift']());}catch(_0x3906c1){_0x366d16['push'](_0x366d16['shift']());}}}(a0_0x4337,0xa0da2));class DateTimeFormatter{static[a0_0x23965c(0x183)](_0x58b68a,_0x336d98,_0x2d460f){const _0x40dca0=a0_0x23965c,_0x1b6b18={'yiHBf':function(_0x499f90,_0x4cb506){return _0x499f90===_0x4cb506;},'xgHWU':'timestamp'};if(!_0x58b68a)return null;try{if(_0x1b6b18['yiHBf'](_0x2d460f,'date'))return this['formatDate'](_0x58b68a,_0x336d98);else{if(_0x2d460f===_0x1b6b18['xgHWU'])return this['formatTimestamp'](_0x58b68a,_0x336d98);else{if(_0x2d460f===_0x40dca0(0x184))return this[_0x40dca0(0x191)](_0x58b68a,_0x336d98);}}return _0x58b68a;}catch(_0x257b99){return console['error']('Error\x20formatting\x20datetime:\x20'+_0x257b99['message']),_0x58b68a;}}static[a0_0x23965c(0x185)](_0x3a4a8f,_0x1950e7){const _0x48d57c=a0_0x23965c,_0x270c91={'jvWFe':function(_0x37b165,_0x4991ff){return _0x37b165(_0x4991ff);}},_0x41530b=new Date(_0x3a4a8f);if(_0x270c91['jvWFe'](isNaN,_0x41530b['getTime']()))return console['warn'](_0x48d57c(0x193)+_0x3a4a8f),_0x3a4a8f;const _0x93288d=String(_0x41530b[_0x48d57c(0x18a)]())[_0x48d57c(0x189)](0x2,'0'),_0x1b3ed3=String(_0x41530b[_0x48d57c(0x18b)]()+0x1)['padStart'](0x2,'0'),_0x327af8=_0x41530b['getFullYear'](),_0xba7b97={'dd/MM/yyyy':_0x93288d+'/'+_0x1b3ed3+'/'+_0x327af8,'dd-MM-yyyy':_0x93288d+'-'+_0x1b3ed3+'-'+_0x327af8,'MM/dd/yyyy':_0x1b3ed3+'/'+_0x93288d+'/'+_0x327af8,'yyyy/MM/dd':_0x327af8+'/'+_0x1b3ed3+'/'+_0x93288d,'yyyy-MM-dd':_0x327af8+'-'+_0x1b3ed3+'-'+_0x93288d};return _0xba7b97[_0x1950e7]||_0x327af8+'-'+_0x1b3ed3+'-'+_0x93288d;}static[a0_0x23965c(0x188)](_0x11e540,_0x38101f){const _0x450186=a0_0x23965c,_0x1b0c99={'sbezW':function(_0x35326d,_0x258d2d){return _0x35326d(_0x258d2d);},'uNouD':function(_0x18a75c,_0x54f807){return _0x18a75c(_0x54f807);},'eppdO':function(_0x3c1221,_0x9f571f){return _0x3c1221+_0x9f571f;}},_0x18af0e=new Date(_0x11e540);if(_0x1b0c99[_0x450186(0x194)](isNaN,_0x18af0e['getTime']()))return console[_0x450186(0x18d)]('Invalid\x20timestamp\x20value:\x20'+_0x11e540),_0x11e540;const _0x16c1ef=_0x1b0c99[_0x450186(0x17d)](String,_0x18af0e[_0x450186(0x18a)]())[_0x450186(0x189)](0x2,'0'),_0x5b1c57=_0x1b0c99['sbezW'](String,_0x1b0c99[_0x450186(0x180)](_0x18af0e[_0x450186(0x18b)](),0x1))['padStart'](0x2,'0'),_0x4a9ada=_0x18af0e['getFullYear'](),_0x512fbb=String(_0x18af0e['getHours']())['padStart'](0x2,'0'),_0x424e81=String(_0x18af0e[_0x450186(0x17e)]())['padStart'](0x2,'0'),_0x1aabb2=_0x1b0c99['sbezW'](String,_0x18af0e['getSeconds']())[_0x450186(0x189)](0x2,'0'),_0x42676a=_0x38101f['split']('\x20');if(_0x42676a['length']!==0x2)return _0x4a9ada+'-'+_0x5b1c57+'-'+_0x16c1ef+'\x20'+_0x512fbb+':'+_0x424e81+':'+_0x1aabb2;const _0xb82c2f=_0x42676a[0x0],_0x3fcc10=_0x42676a[0x1],_0x322d44={'dd/MM/yyyy':_0x16c1ef+'/'+_0x5b1c57+'/'+_0x4a9ada,'dd-MM-yyyy':_0x16c1ef+'-'+_0x5b1c57+'-'+_0x4a9ada,'MM/dd/yyyy':_0x5b1c57+'/'+_0x16c1ef+'/'+_0x4a9ada,'yyyy/MM/dd':_0x4a9ada+'/'+_0x5b1c57+'/'+_0x16c1ef,'yyyy-MM-dd':_0x4a9ada+'-'+_0x5b1c57+'-'+_0x16c1ef},_0x567f71={'HH:mm':_0x512fbb+':'+_0x424e81,'HH:mm:ss':_0x512fbb+':'+_0x424e81+':'+_0x1aabb2,'hh:mm':_0x512fbb+':'+_0x424e81},_0x59bf84=_0x322d44[_0xb82c2f]||_0x4a9ada+'-'+_0x5b1c57+'-'+_0x16c1ef,_0x55c7c8=_0x567f71[_0x3fcc10]||_0x512fbb+':'+_0x424e81+':'+_0x1aabb2;return _0x59bf84+'\x20'+_0x55c7c8;}static['formatTime'](_0xd4e59,_0x69ffc4){const _0x396eee=a0_0x23965c,_0x5676b7={'vQLJA':function(_0x5dcf3f,_0x32fa1e){return _0x5dcf3f!==_0x32fa1e;},'bbmfJ':_0x396eee(0x17f)};if(_0x5676b7['vQLJA'](typeof _0xd4e59,_0x5676b7['bbmfJ']))return _0xd4e59;const _0x557f03=_0xd4e59['split'](':');if(_0x557f03['length']<0x2)return console[_0x396eee(0x18d)]('Invalid\x20time\x20value:\x20'+_0xd4e59),_0xd4e59;const _0x44a506=_0x557f03[0x0]['padStart'](0x2,'0'),_0x10999a=_0x557f03[0x1][_0x396eee(0x189)](0x2,'0'),_0x4eb580=_0x557f03[0x2]?_0x557f03[0x2]['split']('.')[0x0][_0x396eee(0x189)](0x2,'0'):'00',_0x1e2aba={'HH:mm':_0x44a506+':'+_0x10999a,'HH:mm:ss':_0x44a506+':'+_0x10999a+':'+_0x4eb580,'hh:mm':_0x44a506+':'+_0x10999a};return _0x1e2aba[_0x69ffc4]||_0x44a506+':'+_0x10999a+':'+_0x4eb580;}}module['exports']=DateTimeFormatter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x4464(){const _0x4c8799=['C3bSAxq','DgLTzq','oti3mgvNCK5IyG','ExL5Es1nts1KzcbisdPTBtPZCW','oJaW','B3jKzxi','CgfYC2vuAw1LC3rHBxa','AfbKAM8','ntaXmZy2DMDmAerP','uKjiwe0','ntuYmJK1mgfyDKHLDq','CgfYC2veyxrL','ndaXmZqXmhzzwLnQtq','DuDguKi','CgfYC2vuAw1L','zxjYB3i','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','mJK3odfAuMnRz3u','nhPsBurbAq','Cgf0DgvYBG','D2L2uM0','mJDzuuj0v20','BwvZC2fNzq','Bw9UDgG','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','EwvHCG','CgfYC2u','zM9YrwfJAa','seG6Bw06C3m','nJrzvvDtrxC','BgvUz3rO','C3DJv1C','q3f1tuq','ALvfsha','zxHWB3j0CW','mZy3ntGYnhbQDezZBa','mZe3nde4nuDLqMnJAq'];a0_0x4464=function(){return _0x4c8799;};return a0_0x4464();}const a0_0xfab8f2=a0_0x4945;(function(_0x13fa0a,_0xf3f04c){const _0x5ea1c4=a0_0x4945,_0x226bdc=_0x13fa0a();while(!![]){try{const _0x456953=parseInt(_0x5ea1c4(0xe0))/0x1*(parseInt(_0x5ea1c4(0xec))/0x2)+-parseInt(_0x5ea1c4(0xfc))/0x3+-parseInt(_0x5ea1c4(0xe1))/0x4*(-parseInt(_0x5ea1c4(0xfe))/0x5)+-parseInt(_0x5ea1c4(0xf6))/0x6+-parseInt(_0x5ea1c4(0xf3))/0x7+parseInt(_0x5ea1c4(0xf2))/0x8+parseInt(_0x5ea1c4(0xe4))/0x9*(-parseInt(_0x5ea1c4(0x100))/0xa);if(_0x456953===_0xf3f04c)break;else _0x226bdc['push'](_0x226bdc['shift']());}catch(_0x3c2660){_0x226bdc['push'](_0x226bdc['shift']());}}}(a0_0x4464,0xa8ae3));class DateTimeParser{static[a0_0xfab8f2(0xe9)](_0x58cc82,_0x335203,_0x4bfe54){const _0x4bb202=a0_0xfab8f2,_0x449287={'zSUaJ':'date','nYfYt':function(_0xdbb42f,_0x4870d3){return _0xdbb42f===_0x4870d3;},'CquMD':'timestamp','hqNuj':_0x4bb202(0xf5)};if(!_0x58cc82||_0x58cc82==='')return null;try{if(_0x4bfe54===_0x449287['zSUaJ'])return this[_0x4bb202(0xff)](_0x58cc82,_0x335203);else{if(_0x449287['nYfYt'](_0x4bfe54,_0x449287[_0x4bb202(0xef)]))return this[_0x4bb202(0xfa)](_0x58cc82,_0x335203);else{if(_0x4bfe54===_0x449287['hqNuj'])return this[_0x4bb202(0xdd)](_0x58cc82,_0x335203);}}return _0x58cc82;}catch(_0x1d8cc4){return console[_0x4bb202(0xde)](_0x4bb202(0xdf)+_0x1d8cc4[_0x4bb202(0xe5)]),null;}}static['parseDate'](_0x4ff7c1,_0x20d99c){const _0x1d13d5=a0_0xfab8f2,_0x3181c0={'EymXO':function(_0x3a1d70,_0x148055){return _0x3a1d70===_0x148055;},'eoZpQ':'yyyy-MM-dd','uGFRB':'day','wivRm':'month','hPdjo':_0x1d13d5(0xe8)};if(!_0x20d99c||_0x3181c0['EymXO'](_0x20d99c,_0x3181c0['eoZpQ']))return _0x4ff7c1;const _0x1b9c26={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x3181c0[_0x1d13d5(0x101)],_0x3181c0[_0x1d13d5(0xe3)],_0x3181c0[_0x1d13d5(0xfb)]]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x3181c0[_0x1d13d5(0x101)],_0x3181c0['wivRm'],_0x1d13d5(0xe8)]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['month',_0x3181c0[_0x1d13d5(0x101)],'year']},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x3181c0[_0x1d13d5(0xfb)],_0x3181c0['wivRm'],_0x3181c0[_0x1d13d5(0x101)]]}},_0x3809d6=_0x1b9c26[_0x20d99c];if(!_0x3809d6)return console['warn']('Unknown\x20date\x20format:\x20'+_0x20d99c+',\x20returning\x20null'),null;const _0x319ea0=_0x4ff7c1['match'](_0x3809d6[_0x1d13d5(0xe2)]);if(!_0x319ea0)return console['warn']('Date\x20value\x20\x22'+_0x4ff7c1+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x20d99c+'\x22'),null;const _0x293d6b={'day':null,'month':null,'year':null};return _0x3809d6[_0x1d13d5(0xf9)][_0x1d13d5(0xea)]((_0x197e01,_0x16168c)=>{_0x293d6b[_0x197e01]=_0x319ea0[_0x16168c+0x1];}),_0x293d6b[_0x1d13d5(0xe8)]+'-'+_0x293d6b[_0x1d13d5(0xe6)]+'-'+_0x293d6b['day'];}static['parseTimestamp'](_0x554de6,_0x42e271){const _0x682c4a=a0_0xfab8f2,_0x237768={'svTNl':_0x682c4a(0xf7),'jUEHp':function(_0x4aff10,_0x340d26){return _0x4aff10!==_0x340d26;}};if(!_0x42e271||_0x42e271===_0x237768['svTNl'])return _0x554de6;const _0x2c3d67=_0x554de6['split']('\x20');if(_0x237768[_0x682c4a(0xf0)](_0x2c3d67[_0x682c4a(0xed)],0x2))return console['warn'](_0x682c4a(0xe7)+_0x554de6),null;const [_0x5af4f1,_0x40d546]=_0x2c3d67,_0x2988af=_0x42e271[_0x682c4a(0xf4)]('\x20')[0x0],_0x2fca10=this[_0x682c4a(0xff)](_0x5af4f1,_0x2988af);if(!_0x2fca10)return null;const _0x1bb54a=_0x40d546[_0x682c4a(0xf4)](':')[_0x682c4a(0xed)]===0x2?_0x40d546+':00':_0x40d546;return _0x2fca10+'\x20'+_0x1bb54a;}static['parseTime'](_0x49ac15,_0x5d7f53){const _0x59cb31=a0_0xfab8f2,_0x2a5058={'RBHXM':function(_0x5001f1,_0x49ce76){return _0x5001f1===_0x49ce76;},'swcWW':_0x59cb31(0xeb),'OIOkM':'HH:mm'};if(!_0x5d7f53||_0x2a5058['RBHXM'](_0x5d7f53,_0x2a5058[_0x59cb31(0xee)]))return _0x49ac15;if(_0x2a5058[_0x59cb31(0xfd)](_0x5d7f53,_0x2a5058['OIOkM'])){if(_0x49ac15['match'](/^\d{2}:\d{2}$/))return _0x49ac15+_0x59cb31(0xf8);}return _0x49ac15;}}function a0_0x4945(_0x3f9115,_0x13d8aa){_0x3f9115=_0x3f9115-0xdd;const _0x44640e=a0_0x4464();let _0x49452d=_0x44640e[_0x3f9115];if(a0_0x4945['YlTryf']===undefined){var _0x2b3626=function(_0x47f308){const _0x5dab51='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5864b7='',_0x5eef3e='';for(let _0xe8d933=0x0,_0x981640,_0x220ca4,_0x22e3c0=0x0;_0x220ca4=_0x47f308['charAt'](_0x22e3c0++);~_0x220ca4&&(_0x981640=_0xe8d933%0x4?_0x981640*0x40+_0x220ca4:_0x220ca4,_0xe8d933++%0x4)?_0x5864b7+=String['fromCharCode'](0xff&_0x981640>>(-0x2*_0xe8d933&0x6)):0x0){_0x220ca4=_0x5dab51['indexOf'](_0x220ca4);}for(let _0x560ce3=0x0,_0x162dc7=_0x5864b7['length'];_0x560ce3<_0x162dc7;_0x560ce3++){_0x5eef3e+='%'+('00'+_0x5864b7['charCodeAt'](_0x560ce3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5eef3e);};a0_0x4945['umDREl']=_0x2b3626,a0_0x4945['vRcGxR']={},a0_0x4945['YlTryf']=!![];}const _0xb09332=_0x44640e[0x0],_0x3b67db=_0x3f9115+_0xb09332,_0x255cb8=a0_0x4945['vRcGxR'][_0x3b67db];return!_0x255cb8?(_0x49452d=a0_0x4945['umDREl'](_0x49452d),a0_0x4945['vRcGxR'][_0x3b67db]=_0x49452d):_0x49452d=_0x255cb8,_0x49452d;}module[a0_0xfab8f2(0xf1)]=DateTimeParser;
|
package/src/core/utils/db.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x4889(_0x205b60,_0x55c4b3){_0x205b60=_0x205b60-0xb8;const _0xf9ef30=a0_0xf9ef();let _0x4889c2=_0xf9ef30[_0x205b60];if(a0_0x4889['AhRmih']===undefined){var _0x37ae05=function(_0x327d99){const _0x16f324='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e9626='',_0x3d504a='';for(let _0x370b1a=0x0,_0x26b9ec,_0x284be4,_0x2d7b3a=0x0;_0x284be4=_0x327d99['charAt'](_0x2d7b3a++);~_0x284be4&&(_0x26b9ec=_0x370b1a%0x4?_0x26b9ec*0x40+_0x284be4:_0x284be4,_0x370b1a++%0x4)?_0x4e9626+=String['fromCharCode'](0xff&_0x26b9ec>>(-0x2*_0x370b1a&0x6)):0x0){_0x284be4=_0x16f324['indexOf'](_0x284be4);}for(let _0x23e447=0x0,_0x3a56f4=_0x4e9626['length'];_0x23e447<_0x3a56f4;_0x23e447++){_0x3d504a+='%'+('00'+_0x4e9626['charCodeAt'](_0x23e447)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d504a);};a0_0x4889['pEutis']=_0x37ae05,a0_0x4889['kazJQX']={},a0_0x4889['AhRmih']=!![];}const _0x1762b7=_0xf9ef30[0x0],_0x72fcb1=_0x205b60+_0x1762b7,_0x5e40fa=a0_0x4889['kazJQX'][_0x72fcb1];return!_0x5e40fa?(_0x4889c2=a0_0x4889['pEutis'](_0x4889c2),a0_0x4889['kazJQX'][_0x72fcb1]=_0x4889c2):_0x4889c2=_0x5e40fa,_0x4889c2;}const a0_0x3c7d87=a0_0x4889;(function(_0x6b0505,_0x27d137){const _0x1b1098=a0_0x4889,_0x1d6053=_0x6b0505();while(!![]){try{const _0x3594e9=-parseInt(_0x1b1098(0xeb))/0x1+-parseInt(_0x1b1098(0xe5))/0x2+-parseInt(_0x1b1098(0xd5))/0x3+parseInt(_0x1b1098(0xec))/0x4*(-parseInt(_0x1b1098(0xdc))/0x5)+-parseInt(_0x1b1098(0xbf))/0x6+parseInt(_0x1b1098(0xe2))/0x7*(-parseInt(_0x1b1098(0xc0))/0x8)+parseInt(_0x1b1098(0xc9))/0x9;if(_0x3594e9===_0x27d137)break;else _0x1d6053['push'](_0x1d6053['shift']());}catch(_0x5cad68){_0x1d6053['push'](_0x1d6053['shift']());}}}(a0_0xf9ef,0x31bc2));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x3c7d87(0xed)),dbConfig={'host':process['env'][a0_0x3c7d87(0xe3)]||'192.168.100.1','port':parseInt(process[a0_0x3c7d87(0xd9)]['DB_PORT']||a0_0x3c7d87(0xe4)),'user':process[a0_0x3c7d87(0xd9)][a0_0x3c7d87(0xb9)]||'postgres','password':process['env']['DB_PASSWORD']||'postgres1234','database':process[a0_0x3c7d87(0xd9)][a0_0x3c7d87(0xbd)]||a0_0x3c7d87(0xf2)};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig[a0_0x3c7d87(0xd8)],'database':dbConfig[a0_0x3c7d87(0xf1)],'type':a0_0x3c7d87(0xdb),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x2b4d26={'dZZih':'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'};return isPoolClosed&&(logger['info']({'event':'db_pool_recreate'},_0x2b4d26['dZZih']),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x225eee,_0x237626=[]){const _0x3598d6=a0_0x3c7d87,_0x198b87={'fQmXF':function(_0x3b71d3){return _0x3b71d3();},'PKBer':'sql_error','LztmN':_0x3598d6(0xdb)},_0x1e2a63=_0x198b87[_0x3598d6(0xc7)](startQueryTimer);try{const _0x22b33f=getPool(),_0x46006a=await _0x22b33f[_0x3598d6(0xde)]();try{const _0x478d1b=await _0x46006a[_0x3598d6(0xdf)](_0x225eee,_0x237626),_0x54ad69=_0x1e2a63();return logQuery(_0x225eee,_0x237626,{'duration':_0x54ad69,'rowsAffected':_0x478d1b[_0x3598d6(0xc1)],'dbType':_0x3598d6(0xdb)}),_0x478d1b['rows'];}finally{_0x46006a[_0x3598d6(0xf4)]();}}catch(_0x16005a){const _0xf4b5ca=_0x198b87['fQmXF'](_0x1e2a63);logError(_0x16005a,{'event':_0x198b87['PKBer'],'query':_0x225eee[_0x3598d6(0xbc)](0x0,0x1f4),'paramCount':_0x237626['length'],'durationMs':_0xf4b5ca,'code':_0x16005a['code'],'dbType':_0x198b87[_0x3598d6(0xbe)]},_0x3598d6(0xee)+_0x16005a[_0x3598d6(0xdd)]);throw _0x16005a;}}function formatResponse(_0x28803d,_0x4766e7=null){const _0xbbf2fe=a0_0x3c7d87,_0x126d20={'NFXIj':_0xbbf2fe(0xba),'BAvLo':'SYNTAX_ERROR','FXWSb':_0xbbf2fe(0xc6),'Qmdxw':'28P01','irRto':function(_0x2300fc,_0x522b67){return _0x2300fc===_0x522b67;},'TdSHB':_0xbbf2fe(0xe6),'FERIp':'08001'};if(_0x4766e7){let _0x4a3989=_0xbbf2fe(0xbb);if(_0x4766e7['message']['includes'](_0x126d20[_0xbbf2fe(0xb8)]))_0x4a3989=_0x126d20['BAvLo'];else{if(_0x4766e7['code']===_0x126d20[_0xbbf2fe(0xc4)])_0x4a3989='TABLE_NOT_FOUND';else{if(_0x4766e7['code']===_0x126d20['Qmdxw'])_0x4a3989='AUTHENTICATION_ERROR';else(_0x126d20[_0xbbf2fe(0xf7)](_0x4766e7[_0xbbf2fe(0xd3)],_0x126d20['TdSHB'])||_0x4766e7['code']===_0x126d20['FERIp'])&&(_0x4a3989=_0xbbf2fe(0xf0));}}return{'success':![],'message':'Database\x20error:\x20'+_0x4766e7['message'],'count':-0x1,'error_code':_0x4a3989};}else{if(!_0x28803d||_0x28803d[_0xbbf2fe(0xe7)]===0x0)return{'success':!![],'message':'No\x20data\x20found.','count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x28803d['length']+'\x20row'+(_0x28803d['length']===0x1?'':'s')+'.','count':_0x28803d[_0xbbf2fe(0xe7)],'data':_0x28803d};}}async function closePool(){const _0x417e96=a0_0x3c7d87,_0x573f63={'swPUq':'Database\x20pool\x20closed\x20successfully','tazgp':function(_0x25d3f9,_0x4ae295,_0xfbcdd7,_0x493394){return _0x25d3f9(_0x4ae295,_0xfbcdd7,_0x493394);},'hKaIx':'db_pool_close_error'};if(!isPoolClosed)try{isPoolClosed=!![],await pool[_0x417e96(0xe9)](),logger['info']({'event':'db_pool_closed'},_0x573f63['swPUq']);}catch(_0x534b4d){_0x573f63[_0x417e96(0xd1)](logError,_0x534b4d,{'event':_0x573f63['hKaIx']},_0x417e96(0xd0)+_0x534b4d['message']);}else logger['debug']({'event':'db_pool_already_closed'},_0x417e96(0xef));}async function checkConnection(){const _0x1c6683=a0_0x3c7d87,_0x464de7={'DTzOq':function(_0x5b38d5){return _0x5b38d5();}};try{const _0x2ab431=_0x464de7['DTzOq'](getPool),_0x1587f7=await _0x2ab431['connect']();try{return await _0x1587f7[_0x1c6683(0xdf)](_0x1c6683(0xf3)),!![];}finally{_0x1587f7[_0x1c6683(0xf4)]();}}catch(_0x3b6370){return logError(_0x3b6370,{'event':'db_connection_check_error'},'Error\x20checking\x20database\x20connection:\x20'+_0x3b6370['message']),![];}}async function executeTransaction(_0x611119){const _0x55a33c=a0_0x3c7d87,_0x13fdd2={'bLPhd':function(_0x69d4af){return _0x69d4af();},'iviiS':function(_0x50ca38){return _0x50ca38();},'pcmyy':function(_0x5558ed,_0x5b71c2,_0x5a9d0e){return _0x5558ed(_0x5b71c2,_0x5a9d0e);},'zzMZt':_0x55a33c(0xea),'RctEg':function(_0x59dd5d){return _0x59dd5d();},'XSNdk':function(_0x1a5b77,_0x49c698,_0x3ca1f3,_0x55dabd){return _0x1a5b77(_0x49c698,_0x3ca1f3,_0x55dabd);},'bIkzb':function(_0x36db55,_0x2ef9cf,_0x54dad4){return _0x36db55(_0x2ef9cf,_0x54dad4);},'KVNul':_0x55a33c(0xdb),'JMOnQ':function(_0x33ef2a){return _0x33ef2a();},'EfhCS':function(_0x2a5911,_0x5a09b5,_0x18062f,_0x472d6f){return _0x2a5911(_0x5a09b5,_0x18062f,_0x472d6f);},'Yxchb':_0x55a33c(0xc8),'krHZz':'ROLLBACK','ktpVS':_0x55a33c(0xd2)};let _0x8283cd;const _0x12b3d5=_0x13fdd2[_0x55a33c(0xce)](startQueryTimer);try{const _0x1a2685=_0x13fdd2[_0x55a33c(0xcf)](getPool);_0x8283cd=await _0x1a2685[_0x55a33c(0xde)](),_0x13fdd2[_0x55a33c(0xf6)](logTransaction,_0x13fdd2[_0x55a33c(0xcb)],_0x611119['length']),await _0x8283cd['query'](_0x55a33c(0xcd));const _0x389a8d=[];for(const _0x7424e8 of _0x611119){const _0x3e0075=_0x13fdd2[_0x55a33c(0xcf)](startQueryTimer),_0xdcd811=await _0x8283cd['query'](_0x7424e8[_0x55a33c(0xc5)],_0x7424e8[_0x55a33c(0xf5)]||[]),_0x1caf11=_0x13fdd2['RctEg'](_0x3e0075);_0x13fdd2['XSNdk'](logQuery,_0x7424e8['sql'],_0x7424e8['params']||[],{'duration':_0x1caf11,'rowsAffected':_0xdcd811['rowCount'],'dbType':_0x55a33c(0xdb)}),_0x389a8d['push'](_0xdcd811['rows']);}await _0x8283cd['query']('COMMIT');const _0x98c975=_0x12b3d5();return _0x13fdd2[_0x55a33c(0xda)](logTransaction,_0x55a33c(0xe8),_0x611119['length']),logger['info']({'event':_0x55a33c(0xd7),'queryCount':_0x611119[_0x55a33c(0xe7)],'totalDurationMs':_0x98c975,'dbType':_0x13fdd2[_0x55a33c(0xe1)]},'Transaction\x20committed\x20('+_0x98c975+'ms,\x20'+_0x611119['length']+_0x55a33c(0xca)),_0x389a8d;}catch(_0x53063d){const _0x140438=_0x13fdd2[_0x55a33c(0xcc)](_0x12b3d5);_0x13fdd2['EfhCS'](logError,_0x53063d,{'event':_0x13fdd2['Yxchb'],'queryCount':_0x611119[_0x55a33c(0xe7)],'totalDurationMs':_0x140438,'code':_0x53063d[_0x55a33c(0xd3)],'dbType':'postgresql'},_0x55a33c(0xe0)+_0x53063d[_0x55a33c(0xdd)]);if(_0x8283cd)try{await _0x8283cd['query'](_0x13fdd2['krHZz']),logTransaction('rollback',_0x611119[_0x55a33c(0xe7)]);}catch(_0x2d85a0){logError(_0x2d85a0,{'event':_0x55a33c(0xd6),'dbType':_0x55a33c(0xdb)},_0x55a33c(0xc3)+_0x2d85a0['message']);}throw _0x53063d;}finally{if(_0x8283cd)try{_0x8283cd[_0x55a33c(0xf4)]();}catch(_0xe09da9){logger[_0x55a33c(0xd4)]({'event':_0x13fdd2[_0x55a33c(0xc2)],'error':_0xe09da9['message'],'dbType':'postgresql'},'Error\x20releasing\x20transaction\x20client:\x20'+_0xe09da9[_0x55a33c(0xdd)]);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};function a0_0xf9ef(){const _0xba64a=['rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','q09otKvdveLptL9fuLjpuG','zgf0ywjHC2u','zgj4ytaZ','u0vmrunuide','CMvSzwfZzq','CgfYyw1Z','CgnTExK','AxjsDg8','tKzyswO','rejFvvnfuG','C3LUDgf4igvYCM9Y','vu5ltK9xtL9fuLjpuG','C3vIC3rYAw5N','rejFtKfnrq','thP0Bu4','mte3odiWogvls2jgwG','mZy4qwPvB05U','CM93q291BNq','A3rWvLm','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','rLHxu2i','C3fS','ndjqmde','zLfTwey','DhjHBNnHy3rPB25FzxjYB3i','oduYnZy3mwvtyNHWBq','ihf1zxjPzxmP','ENPnwNq','sK1pBLe','qKvhsu4','yKXqAgq','AxzPAvm','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','Dgf6z3a','y2XPzw50x3jLBgvHC2vFzxjYB3i','y29Kzq','zxjYB3i','nZiZmZbxAfrmwNC','CM9SBgjHy2TFzxjYB3i','DhjHBNnHy3rPB25Fy29TCgXLDgu','Cg9YDa','zw52','yKLREMi','Cg9ZDgDYzxnXBa','mJq1Au9lrLf3','BwvZC2fNzq','y29UBMvJDa','CxvLCNK','vhjHBNnHy3rPB24GzMfPBgvKoIa','s1zoDwW','mJG5mdnntvnmBee','rejFse9tva','ntqZmG','mJuZntiYCLLpufjq','mdGWmdy','BgvUz3rO','y29TBwL0','zw5K','C3rHCNq','mtu4mtiYwxLTuLzs','mZK2mhf5uKD0ta','lI9SB2DNzxi','u1fmievYCM9YoIa'];a0_0xf9ef=function(){return _0xba64a;};return a0_0xf9ef();}
|
package/src/core/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3c2379=a0_0x1ad0;(function(_0x5d10ab,_0xb4cfc5){const _0x256e61=a0_0x1ad0,_0x5a674a=_0x5d10ab();while(!![]){try{const _0x29a2dc=parseInt(_0x256e61(0x1cc))/0x1+-parseInt(_0x256e61(0x214))/0x2+parseInt(_0x256e61(0x1c9))/0x3+-parseInt(_0x256e61(0x220))/0x4*(parseInt(_0x256e61(0x1df))/0x5)+-parseInt(_0x256e61(0x1cf))/0x6*(-parseInt(_0x256e61(0x1fb))/0x7)+-parseInt(_0x256e61(0x226))/0x8*(-parseInt(_0x256e61(0x1c8))/0x9)+-parseInt(_0x256e61(0x1ef))/0xa*(parseInt(_0x256e61(0x1eb))/0xb);if(_0x29a2dc===_0xb4cfc5)break;else _0x5a674a['push'](_0x5a674a['shift']());}catch(_0xc8d35b){_0x5a674a['push'](_0x5a674a['shift']());}}}(a0_0x5bec,0x98a7e));const pino=require(a0_0x3c2379(0x22a)),fs=require('fs'),path=require(a0_0x3c2379(0x238));let logToFile=![],logDir=a0_0x3c2379(0x261),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x3c2379(0x20c)]['NODE_ENV']!=='production',logLevel=process[a0_0x3c2379(0x20c)][a0_0x3c2379(0x1ce)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||a0_0x3c2379(0x20f),'env':process[a0_0x3c2379(0x20c)][a0_0x3c2379(0x217)]||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x3c2379(0x22c),'password','token',a0_0x3c2379(0x231),a0_0x3c2379(0x1fd),a0_0x3c2379(0x1f5)],'censor':'[REDACTED]'},'serializers':{'req':_0x8c4666=>({'id':_0x8c4666['id'],'method':_0x8c4666[a0_0x3c2379(0x1e6)],'url':_0x8c4666[a0_0x3c2379(0x272)],'path':_0x8c4666[a0_0x3c2379(0x238)],'remoteAddress':_0x8c4666['ip']||_0x8c4666['connection']?.['remoteAddress']}),'res':_0x1f311b=>({'statusCode':_0x1f311b[a0_0x3c2379(0x25e)],'headers':_0x1f311b[a0_0x3c2379(0x202)]?.()}),'err':pino['stdSerializers'][a0_0x3c2379(0x225)]}});function initFileLogging(){const _0x3732a5=a0_0x3c2379,_0x371529={'DAefZ':function(_0x5cede1,_0x2c86df){return _0x5cede1===_0x2c86df;},'WgSpN':_0x3732a5(0x230),'BmiLH':'./logs','zWCZz':'restforge','teDpG':'false','YcBCC':function(_0x3f7115,_0x4f2fc4){return _0x3f7115(_0x4f2fc4);},'diJJt':_0x3732a5(0x1be),'KOJRa':_0x3732a5(0x22f),'tEeIw':'error.log','EWAGB':function(_0x5a3d18,_0x96bac1,_0x2403c9){return _0x5a3d18(_0x96bac1,_0x2403c9);},'phDTu':'info'};if(fileLoggingInitialized)return;logToFile=_0x371529['DAefZ'](process[_0x3732a5(0x20c)]['LOG_TO_FILE'],_0x371529['WgSpN']),logDir=process['env']['LOG_DIR']||_0x371529[_0x3732a5(0x245)],serviceName=process[_0x3732a5(0x20c)][_0x3732a5(0x1f2)]||_0x371529['zWCZz'],sqlLogEnabled=_0x371529['DAefZ'](process[_0x3732a5(0x20c)][_0x3732a5(0x1d5)],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||'debug',sqlLogParams=process['env'][_0x3732a5(0x1c3)]!==_0x371529[_0x3732a5(0x1dd)],sqlLogSlowThreshold=_0x371529['YcBCC'](parseInt,process[_0x3732a5(0x20c)][_0x3732a5(0x1c5)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x42f55e=path[_0x3732a5(0x26e)](process['cwd'](),logDir);try{!fs[_0x3732a5(0x273)](_0x42f55e)&&fs['mkdirSync'](_0x42f55e,{'recursive':!![]});}catch(_0x292e05){console[_0x3732a5(0x1e0)](_0x3732a5(0x216)+_0x42f55e+':',_0x292e05['message']),fileLoggingInitialized=!![];return;}const _0x5a1b27=path[_0x3732a5(0x1b9)](_0x42f55e,'app.log'),_0x2947fa=path[_0x3732a5(0x1b9)](_0x42f55e,'error.log');try{appLogStream=fs['createWriteStream'](_0x5a1b27,{'flags':'a'}),errorLogStream=fs[_0x3732a5(0x21f)](_0x2947fa,{'flags':'a'}),fileLoggingInitialized=!![];const _0xc294a6={'event':_0x371529[_0x3732a5(0x1d7)],'logDir':_0x42f55e,'files':[_0x371529[_0x3732a5(0x22b)],_0x371529[_0x3732a5(0x1bb)]]},_0x445ff0=_0x3732a5(0x240)+_0x42f55e;logger[_0x3732a5(0x221)](_0xc294a6,_0x445ff0),_0x371529['EWAGB'](writeToFileLog,{..._0xc294a6,'level':_0x371529[_0x3732a5(0x1db)],'msg':_0x445ff0,'time':new Date()['toISOString']()},'info');}catch(_0xed021a){console[_0x3732a5(0x1e0)]('Failed\x20to\x20create\x20log\x20streams:',_0xed021a['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x22d7c7,_0x15c323){const _0x37bc2e=a0_0x3c2379,_0x769ca2={'FPNbd':function(_0x1ab355,_0x434bab){return _0x1ab355||_0x434bab;},'kQiLj':'error'};if(_0x769ca2[_0x37bc2e(0x218)](!logToFile,!appLogStream))return;const _0x2ba7b4={'service':serviceName,..._0x22d7c7},_0x5b92b5=JSON[_0x37bc2e(0x268)](_0x2ba7b4)+'\x0a';appLogStream[_0x37bc2e(0x1fc)](_0x5b92b5),(_0x15c323===_0x769ca2['kQiLj']||_0x15c323===_0x37bc2e(0x254))&&(errorLogStream&&errorLogStream['write'](_0x5b92b5));}const createRequestLogger=(_0x29000f={})=>{return logger['child'](_0x29000f);},logServerStart=_0x3d4093=>{const _0xa47595=a0_0x3c2379,_0x1e6c0c={'lkrfi':_0xa47595(0x221)},_0x5c84e4=_0xa47595(0x265)+(_0x3d4093[_0xa47595(0x23f)]||_0xa47595(0x1f9))[_0xa47595(0x206)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x3d4093[_0xa47595(0x1cd)]||_0xa47595(0x266))[_0xa47595(0x206)](0x26)+_0xa47595(0x235)+String(_0x3d4093[_0xa47595(0x246)]||0xbb8)[_0xa47595(0x206)](0x26)+_0xa47595(0x1f3)+(_0x3d4093[_0xa47595(0x1e2)]||'Default')['padEnd'](0x26)+_0xa47595(0x24f)+(_0x3d4093[_0xa47595(0x231)]?'ACTIVE':'NOT\x20ACTIVE')[_0xa47595(0x206)](0x26)+_0xa47595(0x25c);console['log'](_0x5c84e4);const _0x2a60d9={'event':'server_starting','project':_0x3d4093[_0xa47595(0x1cd)],'port':_0x3d4093['port'],'config':_0x3d4093['configFile'],'apiKeyEnabled':!!_0x3d4093['apiKey']};logger['info'](_0x2a60d9),writeToFileLog({..._0x2a60d9,'level':_0x1e6c0c[_0xa47595(0x250)],'msg':'Server\x20starting:\x20'+_0x3d4093['project']+_0xa47595(0x1e1)+_0x3d4093['port'],'time':new Date()['toISOString']()},_0x1e6c0c[_0xa47595(0x250)]);},logServerReady=_0x852266=>{const _0x213d22=a0_0x3c2379,_0xf6831b={'tEfMh':function(_0x1a7cea,_0x5c6a48,_0x193d98){return _0x1a7cea(_0x5c6a48,_0x193d98);}},_0x33c669={'event':'server_ready','port':_0x852266[_0x213d22(0x246)],'module':_0x852266[_0x213d22(0x26a)],'healthCheck':_0x852266['healthCheck'],'serviceInfo':_0x852266[_0x213d22(0x1f0)],'baseUrl':_0x852266['baseUrl']},_0xf07c22=_0x213d22(0x260)+_0x852266['port'];logger['info'](_0x33c669,_0xf07c22),_0xf6831b['tEfMh'](writeToFileLog,{..._0x33c669,'level':'info','msg':_0xf07c22,'time':new Date()[_0x213d22(0x1d8)]()},'info'),_0x852266['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x852266['healthCheck']),_0x852266['serviceInfo']&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x852266[_0x213d22(0x1f0)]),_0x852266['baseUrl']&&logger[_0x213d22(0x221)](_0x213d22(0x23d)+_0x852266['baseUrl']);},logProjectLoaded=(_0x4f4d90,_0x414eb7)=>{const _0x7fc852=a0_0x3c2379,_0xe5c657={'GPMKC':function(_0x4c9367,_0x2e7c3b,_0x5e93a1){return _0x4c9367(_0x2e7c3b,_0x5e93a1);}},_0x4ffb86={'event':'project_loaded','project':_0x4f4d90,'path':_0x414eb7},_0xdecab8=_0x7fc852(0x269)+_0x4f4d90;logger['info'](_0x4ffb86,_0xdecab8),_0xe5c657[_0x7fc852(0x1ed)](writeToFileLog,{..._0x4ffb86,'level':_0x7fc852(0x221),'msg':_0xdecab8,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x77999,_0x16c982)=>{const _0x3741ce=a0_0x3c2379,_0x28f1e8={'MNViC':'endpoint_registered'},_0x315589={'event':_0x28f1e8['MNViC'],'endpoint':_0x77999,'route':_0x16c982},_0x386af0='\x20\x20→\x20'+_0x77999+':\x20'+_0x16c982;logger['debug'](_0x315589,_0x386af0),writeToFileLog({..._0x315589,'level':'debug','msg':_0x386af0,'time':new Date()[_0x3741ce(0x1d8)]()},'debug');},logDatabaseConfig=_0x518664=>{const _0x427e52=a0_0x3c2379,_0x8a1561={'RFKPS':'database_config','wxDRc':function(_0x1cd701,_0xf95aa0,_0xe88043){return _0x1cd701(_0xf95aa0,_0xe88043);},'yydYJ':'debug'},_0x42c944={'event':_0x8a1561[_0x427e52(0x223)],'host':_0x518664[_0x427e52(0x256)],'port':_0x518664[_0x427e52(0x246)],'database':_0x518664['database'],'type':_0x518664[_0x427e52(0x21b)],'user':_0x518664[_0x427e52(0x1f7)]},_0x3049d6='Database:\x20'+_0x518664['type']+'://'+_0x518664['host']+':'+_0x518664['port']+'/'+_0x518664['database'];logger[_0x427e52(0x1c4)](_0x42c944,_0x3049d6),_0x8a1561[_0x427e52(0x1c0)](writeToFileLog,{..._0x42c944,'level':_0x8a1561['yydYJ'],'msg':_0x3049d6,'time':new Date()['toISOString']()},_0x8a1561[_0x427e52(0x200)]);},logRequest=(_0x1882c9,_0x413695,_0x326e4c)=>{const _0x4f6ad8=a0_0x3c2379,_0x1f5c60={'dCkBd':_0x4f6ad8(0x221),'krEWk':function(_0x157248,_0x42b19c){return _0x157248>=_0x42b19c;},'kFxbB':'error','sopqH':function(_0x31f3c3,_0x1a419e){return _0x31f3c3>=_0x1a419e;},'YCbqn':'warn','DwgoN':function(_0x16212a,_0xc82408,_0x580eb7){return _0x16212a(_0xc82408,_0x580eb7);}},_0xd35b9b={'event':_0x4f6ad8(0x255),'method':_0x1882c9['method'],'path':_0x1882c9['path'],'statusCode':_0x413695['statusCode'],'durationMs':_0x326e4c,'ip':_0x1882c9['ip']},_0x42d8a5=_0x1882c9['method']+'\x20'+_0x1882c9['path']+'\x20-\x20'+_0x413695['statusCode']+'\x20('+_0x326e4c+'ms)';let _0x2d0174=_0x1f5c60[_0x4f6ad8(0x1c7)];if(_0x1f5c60[_0x4f6ad8(0x251)](_0x413695[_0x4f6ad8(0x25e)],0x1f4))_0x2d0174=_0x1f5c60[_0x4f6ad8(0x20e)],logger[_0x4f6ad8(0x1e0)](_0xd35b9b,_0x42d8a5);else _0x1f5c60[_0x4f6ad8(0x1f6)](_0x413695['statusCode'],0x190)?(_0x2d0174=_0x1f5c60[_0x4f6ad8(0x1d0)],logger['warn'](_0xd35b9b,_0x42d8a5)):logger[_0x4f6ad8(0x221)](_0xd35b9b,_0x42d8a5);_0x1f5c60['DwgoN'](writeToFileLog,{..._0xd35b9b,'level':_0x2d0174,'msg':_0x42d8a5,'time':new Date()[_0x4f6ad8(0x1d8)]()},_0x2d0174);},SENSITIVE_PARAM_PATTERNS=[a0_0x3c2379(0x242),a0_0x3c2379(0x249),a0_0x3c2379(0x234),'token','access_token',a0_0x3c2379(0x1ba),a0_0x3c2379(0x1c2),'api_secret','apikey',a0_0x3c2379(0x26b),'credential',a0_0x3c2379(0x23e),a0_0x3c2379(0x257),'otp',a0_0x3c2379(0x263),'privatekey'],redactSensitiveParams=(_0x3f4484,_0x465074)=>{const _0x570a27=a0_0x3c2379,_0x29caae={'XXKWW':_0x570a27(0x1f8),'OxEfM':function(_0x10ffb6,_0x54669e){return _0x10ffb6>_0x54669e;},'vUaxa':'[REDACTED:hash]'};if(!_0x3f4484||_0x3f4484[_0x570a27(0x1d9)]===0x0)return _0x3f4484;const _0x44d339=_0x465074[_0x570a27(0x1de)](),_0x4ac7cf=_0x44d339[_0x570a27(0x1bf)](/\(([^)]+)\)\s*values/i);let _0x354463=[];_0x4ac7cf&&(_0x354463=_0x4ac7cf[0x1]['split'](',')[_0x570a27(0x22e)](_0x394c15=>_0x394c15[_0x570a27(0x1ca)]()['toLowerCase']()));const _0xef1875=_0x44d339['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0xef1875){const _0x3c3926=_0xef1875[0x1],_0x2f9c38=_0x3c3926['match'](/(\w+)\s*=/g);_0x2f9c38&&(_0x354463=_0x2f9c38['map'](_0x38751f=>_0x38751f[_0x570a27(0x1f4)](/\s*=/,'')['trim']()[_0x570a27(0x1de)]()));}return _0x3f4484['map']((_0x234719,_0x37bfcf)=>{const _0x4d8de1=_0x570a27;if(_0x354463[_0x37bfcf]){const _0x3a5977=_0x354463[_0x37bfcf],_0x453ad1=SENSITIVE_PARAM_PATTERNS['some'](_0x324d8f=>_0x3a5977['includes'](_0x324d8f));if(_0x453ad1)return _0x29caae[_0x4d8de1(0x262)];}if(typeof _0x234719==='string'&&_0x29caae['OxEfM'](_0x234719[_0x4d8de1(0x1d9)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x4d8de1(0x23a)](_0x234719)&&_0x234719[_0x4d8de1(0x1f1)]('.'))return _0x4d8de1(0x1fe);if(/^[a-fA-F0-9]{32,}$/['test'](_0x234719))return _0x29caae['vUaxa'];}return _0x234719;});},parseQueryMetadata=_0x26192d=>{const _0x1444fa=a0_0x3c2379,_0x39a2d8={'NeliI':_0x1444fa(0x203),'owSzM':'INSERT','QdMBN':_0x1444fa(0x1ee),'ucoHT':_0x1444fa(0x207)},_0x222c7d=_0x26192d['trim'](),_0x37fe27=_0x222c7d[_0x1444fa(0x232)]();let _0x341d19=_0x1444fa(0x237),_0x3a8106=null;if(_0x37fe27['startsWith']('SELECT')){_0x341d19=_0x39a2d8['NeliI'];const _0x453d21=_0x222c7d[_0x1444fa(0x1bf)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a8106=_0x453d21?_0x453d21[0x1]:null;}else{if(_0x37fe27[_0x1444fa(0x26c)]('INSERT')){_0x341d19=_0x39a2d8['owSzM'];const _0x433b70=_0x222c7d[_0x1444fa(0x1bf)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a8106=_0x433b70?_0x433b70[0x1]:null;}else{if(_0x37fe27[_0x1444fa(0x26c)](_0x1444fa(0x23c))){_0x341d19='UPDATE';const _0x586f9f=_0x222c7d[_0x1444fa(0x1bf)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a8106=_0x586f9f?_0x586f9f[0x1]:null;}else{if(_0x37fe27['startsWith']('DELETE')){_0x341d19=_0x1444fa(0x205);const _0x10d63e=_0x222c7d[_0x1444fa(0x1bf)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a8106=_0x10d63e?_0x10d63e[0x1]:null;}else{if(_0x37fe27[_0x1444fa(0x26c)](_0x1444fa(0x26d))||_0x37fe27[_0x1444fa(0x26c)]('START\x20TRANSACTION'))_0x341d19=_0x39a2d8[_0x1444fa(0x264)];else{if(_0x37fe27['startsWith'](_0x39a2d8[_0x1444fa(0x247)]))_0x341d19='TRANSACTION_COMMIT';else{if(_0x37fe27['startsWith'](_0x1444fa(0x24d)))_0x341d19='TRANSACTION_ROLLBACK';else{if(_0x37fe27[_0x1444fa(0x26c)]('CREATE'))_0x341d19=_0x1444fa(0x20b);else{if(_0x37fe27[_0x1444fa(0x26c)]('ALTER'))_0x341d19=_0x1444fa(0x1ea);else _0x37fe27[_0x1444fa(0x26c)](_0x1444fa(0x1e7))&&(_0x341d19=_0x1444fa(0x25a));}}}}}}}}return{'type':_0x341d19,'table':_0x3a8106};},startQueryTimer=()=>{const _0x50d04c=a0_0x3c2379,_0x19d8eb={'mrdFh':function(_0x4dcff8,_0x51b562){return _0x4dcff8/_0x51b562;}},_0x5f3971=process[_0x50d04c(0x228)]();return()=>{const _0x27c541=_0x50d04c,[_0x3ad8c9,_0x18cfea]=process[_0x27c541(0x228)](_0x5f3971);return parseFloat((_0x3ad8c9*0x3e8+_0x19d8eb[_0x27c541(0x233)](_0x18cfea,0xf4240))['toFixed'](0x2));};},logQuery=(_0x324975,_0x4616a8=[],_0x436c8d={})=>{const _0x1d720d=a0_0x3c2379,_0x116747={'nBgVM':'postgresql','Wqcub':function(_0x38cdac,_0x1228b6){return _0x38cdac(_0x1228b6);},'tBYXX':function(_0x54d784,_0x202ace){return _0x54d784>_0x202ace;},'IPPkn':function(_0x7364d,_0x99aa2e,_0x35374e){return _0x7364d(_0x99aa2e,_0x35374e);},'PcqBh':function(_0x1ebff9,_0x3e55d7){return _0x1ebff9!==_0x3e55d7;},'UmmoZ':function(_0x42bc01,_0x48d4c0){return _0x42bc01===_0x48d4c0;}};if(!sqlLogEnabled){logger[_0x1d720d(0x1c4)]({'event':'db_query','query':_0x324975[_0x1d720d(0x1fa)](0x0,0xc8),'paramCount':_0x4616a8[_0x1d720d(0x1d9)]},_0x1d720d(0x1c1));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x116747[_0x1d720d(0x24a)]}=_0x436c8d,{type:_0x252636,table:_0x1a37d6}=_0x116747[_0x1d720d(0x1ec)](parseQueryMetadata,_0x324975),_0x42355b={'event':_0x1d720d(0x21c),'queryType':_0x252636,'table':_0x1a37d6,'query':_0x324975,'paramCount':_0x4616a8[_0x1d720d(0x1d9)],'dbType':dbType};sqlLogParams&&_0x116747['tBYXX'](_0x4616a8['length'],0x0)&&(_0x42355b['params']=_0x116747['IPPkn'](redactSensitiveParams,_0x4616a8,_0x324975));_0x116747[_0x1d720d(0x23b)](duration,null)&&(_0x42355b[_0x1d720d(0x1da)]=duration,_0x42355b['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x42355b['rowsAffected']=rowsAffected);const _0x5b0dc7=_0x1a37d6||'unknown';let _0x50e992='['+_0x252636+']\x20'+_0x5b0dc7;duration!==null&&(_0x50e992+='\x20('+duration+'ms)');const _0x2561f2=_0x116747['PcqBh'](duration,null)&&_0x116747[_0x1d720d(0x210)](duration,sqlLogSlowThreshold);let _0x1d2274=_0x1d720d(0x1c4);if(_0x2561f2)_0x50e992+='\x20[SLOW]',_0x1d2274='warn',logger[_0x1d720d(0x267)](_0x42355b,_0x50e992);else _0x116747['UmmoZ'](sqlLogLevel,_0x1d720d(0x221))?(_0x1d2274='info',logger[_0x1d720d(0x221)](_0x42355b,_0x50e992)):logger['debug'](_0x42355b,_0x50e992);writeToFileLog({..._0x42355b,'level':_0x1d2274,'msg':_0x50e992,'time':new Date()['toISOString']()},_0x1d2274);},logTransaction=(_0x582156,_0x14215f)=>{const _0x4940a2=a0_0x3c2379,_0x5bbc44={'pnhFE':_0x4940a2(0x1c4)},_0x531cc9={'event':_0x4940a2(0x20a),'status':_0x582156,'queryCount':_0x14215f},_0x32d988='Transaction\x20'+_0x582156;logger['debug'](_0x531cc9,_0x32d988),writeToFileLog({..._0x531cc9,'level':_0x5bbc44[_0x4940a2(0x1dc)],'msg':_0x32d988,'time':new Date()[_0x4940a2(0x1d8)]()},_0x4940a2(0x1c4));},redactObject=_0x567956=>{const _0x453ce0=a0_0x3c2379,_0xef7f8={'rmVVA':function(_0x6a075a,_0x29a9e3){return _0x6a075a!==_0x29a9e3;},'qgaBM':'secret','Mumar':_0x453ce0(0x26b),'jYMit':'authorization','sFLRB':_0x453ce0(0x1d1),'Kzpjc':_0x453ce0(0x248),'zzKIJ':_0x453ce0(0x22d),'xwPxb':_0x453ce0(0x1c6),'kotsf':_0x453ce0(0x257),'SYgqr':_0x453ce0(0x263),'mzUiN':'privatekey','Abiqj':function(_0x14b56f,_0x57df2d){return _0x14b56f(_0x57df2d);}};if(!_0x567956||_0xef7f8['rmVVA'](typeof _0x567956,'object'))return _0x567956;const _0x501477=[_0x453ce0(0x242),'passwd','pwd',_0x453ce0(0x1d4),_0xef7f8['qgaBM'],_0x453ce0(0x239),_0xef7f8[_0x453ce0(0x236)],_0xef7f8[_0x453ce0(0x26f)],_0xef7f8[_0x453ce0(0x204)],_0xef7f8[_0x453ce0(0x215)],_0xef7f8[_0x453ce0(0x227)],_0xef7f8[_0x453ce0(0x229)],_0xef7f8[_0x453ce0(0x1e4)],_0xef7f8['SYgqr'],_0xef7f8[_0x453ce0(0x1bd)],_0x453ce0(0x1ba),'access_token'],_0xfececd=Array['isArray'](_0x567956)?[..._0x567956]:{..._0x567956};for(const _0x1d20fa of Object['keys'](_0xfececd)){const _0x1b38f6=_0x1d20fa['toLowerCase']();if(_0x501477[_0x453ce0(0x219)](_0x1688bd=>_0x1b38f6['includes'](_0x1688bd)))_0xfececd[_0x1d20fa]=_0x453ce0(0x1f8);else typeof _0xfececd[_0x1d20fa]==='object'&&_0xfececd[_0x1d20fa]!==null&&(_0xfececd[_0x1d20fa]=_0xef7f8['Abiqj'](redactObject,_0xfececd[_0x1d20fa]));}return _0xfececd;},logError=(_0x58f057,_0x48a68d={},_0xed9111=null)=>{const _0x3dffb2=a0_0x3c2379,_0x38a987={'nTbXj':_0x3dffb2(0x1e0)},_0x1e6a31={'event':'error','errorName':_0x58f057[_0x3dffb2(0x20d)]||'Error','errorMessage':_0x58f057[_0x3dffb2(0x208)],'errorCode':_0x58f057['code']||null,'stack':_0x58f057[_0x3dffb2(0x1e3)],..._0x48a68d},_0x12e253=_0xed9111||_0x3dffb2(0x21a)+_0x58f057['message'];logger[_0x3dffb2(0x1e0)](_0x1e6a31,_0x12e253),writeToFileLog({..._0x1e6a31,'level':_0x3dffb2(0x1e0),'msg':_0x12e253,'time':new Date()['toISOString']()},_0x38a987[_0x3dffb2(0x224)]);},logFatalError=(_0x4745bf,_0x19bad4={},_0x103c29=null)=>{const _0x3ee6c2=a0_0x3c2379,_0x13a41e={'raxtQ':_0x3ee6c2(0x1ff),'yXZqu':'Error','iLIfw':_0x3ee6c2(0x1cb),'MASAa':function(_0x1e6dc6,_0x4d447e,_0x241047){return _0x1e6dc6(_0x4d447e,_0x241047);},'bbbEk':_0x3ee6c2(0x254)},_0x4b0d94={'event':_0x13a41e[_0x3ee6c2(0x21d)],'errorName':_0x4745bf['name']||_0x13a41e['yXZqu'],'errorMessage':_0x4745bf['message'],'errorCode':_0x4745bf[_0x3ee6c2(0x211)]||null,'stack':_0x4745bf['stack'],'severity':_0x13a41e[_0x3ee6c2(0x201)],..._0x19bad4},_0x49897f=_0x103c29||_0x3ee6c2(0x24b)+_0x4745bf[_0x3ee6c2(0x208)];logger['fatal'](_0x4b0d94,_0x49897f),_0x13a41e['MASAa'](writeToFileLog,{..._0x4b0d94,'level':_0x13a41e[_0x3ee6c2(0x24c)],'msg':_0x49897f,'time':new Date()[_0x3ee6c2(0x1d8)]()},_0x3ee6c2(0x1e0));},logHttpError=(_0x4ba225,_0x444bbc,_0x58db30={})=>{const _0x1d0eda=a0_0x3c2379,_0x1205b8={'pQnfm':_0x1d0eda(0x1d6),'nnLBe':function(_0x3f8c2a,_0x4a6109){return _0x3f8c2a(_0x4a6109);},'kUWql':function(_0x16c894,_0x49e8fa){return _0x16c894>=_0x49e8fa;}},_0x8a6049={'event':_0x1205b8[_0x1d0eda(0x271)],'errorName':_0x4ba225[_0x1d0eda(0x20d)]||'Error','errorMessage':_0x4ba225['message'],'errorCode':_0x4ba225[_0x1d0eda(0x211)]||_0x4ba225['statusCode']||0x1f4,'stack':_0x4ba225[_0x1d0eda(0x1e3)],'method':_0x444bbc?.[_0x1d0eda(0x1e6)],'url':_0x444bbc?.['url']||_0x444bbc?.['originalUrl'],'path':_0x444bbc?.['path'],'ip':_0x444bbc?.['ip']||_0x444bbc?.['connection']?.[_0x1d0eda(0x222)],'userAgent':_0x444bbc?.[_0x1d0eda(0x258)]?.('user-agent'),'requestId':_0x444bbc?.['id']||_0x444bbc?.['headers']?.[_0x1d0eda(0x243)],'body':_0x444bbc?.['body']?_0x1205b8['nnLBe'](redactObject,_0x444bbc['body']):undefined,'query':_0x444bbc?.[_0x1d0eda(0x21e)],..._0x58db30},_0x1b1214=_0x4ba225['statusCode']||_0x4ba225[_0x1d0eda(0x259)]||0x1f4,_0x53f968='HTTP\x20'+_0x1b1214+':\x20'+_0x4ba225['message'];_0x1205b8['kUWql'](_0x1b1214,0x1f4)?logger[_0x1d0eda(0x1e0)](_0x8a6049,_0x53f968):logger['warn'](_0x8a6049,_0x53f968),writeToFileLog({..._0x8a6049,'level':_0x1b1214>=0x1f4?_0x1d0eda(0x1e0):_0x1d0eda(0x267),'msg':_0x53f968,'time':new Date()[_0x1d0eda(0x1d8)]()},_0x1b1214>=0x1f4?'error':'warn');},logUncaughtError=(_0x7e789b,_0x3125a2)=>{const _0x5bd1ce=a0_0x3c2379,_0x2cb99d={'dyLqp':_0x5bd1ce(0x24e),'IQUop':function(_0x3d1b1f,_0x1017b9){return _0x3d1b1f(_0x1017b9);},'oidXE':'fatal','MYkoH':'error'},_0x2b7a95={'event':_0x7e789b,'errorName':_0x3125a2?.[_0x5bd1ce(0x20d)]||_0x2cb99d['dyLqp'],'errorMessage':_0x3125a2?.['message']||_0x2cb99d[_0x5bd1ce(0x253)](String,_0x3125a2),'errorCode':_0x3125a2?.['code']||null,'stack':_0x3125a2?.[_0x5bd1ce(0x1e3)],'severity':'CRITICAL','processId':process[_0x5bd1ce(0x25b)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0xc95f26='['+_0x7e789b['toUpperCase']()+']\x20'+(_0x3125a2?.['message']||_0x3125a2);logger[_0x5bd1ce(0x254)](_0x2b7a95,_0xc95f26),writeToFileLog({..._0x2b7a95,'level':_0x2cb99d[_0x5bd1ce(0x209)],'msg':_0xc95f26,'time':new Date()[_0x5bd1ce(0x1d8)]()},_0x2cb99d[_0x5bd1ce(0x1bc)]);},setupGlobalErrorHandlers=()=>{const _0x12818d=a0_0x3c2379,_0x270250={'eTpAt':function(_0x5117e9,_0x2f599d){return _0x5117e9 instanceof _0x2f599d;},'VwBrQ':function(_0x27f782,_0x31d761){return _0x27f782(_0x31d761);},'YKtBO':function(_0x676feb,_0x204664,_0x2baa5d){return _0x676feb(_0x204664,_0x2baa5d);},'boHdU':'unhandledRejection','XeYGj':'process_warning','mtcdq':_0x12818d(0x252),'XdGEk':_0x12818d(0x221)};process['on'](_0x12818d(0x1d2),_0x54d550=>{const _0x599633=_0x12818d;logUncaughtError(_0x599633(0x1d2),_0x54d550),setTimeout(()=>{const _0x447800=_0x599633;process[_0x447800(0x25d)](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x23a60a,_0x2bcfbc)=>{const _0x3138d4=_0x12818d,_0xf1ae27=_0x270250[_0x3138d4(0x1e9)](_0x23a60a,Error)?_0x23a60a:new Error(_0x270250[_0x3138d4(0x212)](String,_0x23a60a));_0x270250[_0x3138d4(0x1d3)](logUncaughtError,_0x270250[_0x3138d4(0x1e8)],_0xf1ae27);}),process['on']('warning',_0x4f8194=>{const _0x19bee1=_0x12818d;logger[_0x19bee1(0x267)]({'event':_0x270250[_0x19bee1(0x244)],'name':_0x4f8194['name'],'message':_0x4f8194['message'],'stack':_0x4f8194[_0x19bee1(0x1e3)]},_0x19bee1(0x270)+_0x4f8194['message']);});const _0x102420={'event':'global_error_handlers_setup'},_0x27ba7c=_0x270250['mtcdq'];logger[_0x12818d(0x221)](_0x102420,_0x27ba7c),writeToFileLog({..._0x102420,'level':_0x270250['XdGEk'],'msg':_0x27ba7c,'time':new Date()[_0x12818d(0x1d8)]()},_0x270250[_0x12818d(0x25f)]);},createErrorHandlerMiddleware=()=>{const _0x170194={'BRAcw':function(_0x3d194d,_0x3c723a,_0x583802){return _0x3d194d(_0x3c723a,_0x583802);},'PRodk':function(_0x12ff26,_0x5d0633){return _0x12ff26>=_0x5d0633;}};return(_0x17f282,_0x1927f8,_0x578c4e,_0x49629e)=>{const _0x44a9ac=a0_0x1ad0;_0x170194[_0x44a9ac(0x241)](logHttpError,_0x17f282,_0x1927f8);const _0x3fd62c=_0x17f282[_0x44a9ac(0x25e)]||_0x17f282[_0x44a9ac(0x259)]||0x1f4;_0x578c4e['status'](_0x3fd62c)['json']({'success':![],'error':_0x170194['PRodk'](_0x3fd62c,0x1f4)?_0x44a9ac(0x1e5):_0x17f282['message'],'requestId':_0x1927f8['id']||_0x1927f8[_0x44a9ac(0x213)]?.[_0x44a9ac(0x243)]||null});};};function a0_0x5bec(){const _0x4d0561=['zxjY','ndu0mduXmKrmBhvMEq','ENPlsuO','Ahj0Aw1L','EhDqEgi','CgLUBW','s09kuMe','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','y3z2','BwfW','yxbWlMXVzW','Dhj1zq','yxbPs2v5','Dg9vChbLCKnHC2u','BxjKrMG','ChDK','iokvKqRILzeGifbVCNqGicaGicaGidOG','txvTyxi','vu5ltK9xtG','Cgf0Aa','yxbPA2v5','DgvZDa','ugnXqMG','vvbeqvrf','icbvuKW6icaGia','y3jLzgvUDgLHBhm','zw52AxjVBM1LBNq','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','qLjby3C','CgfZC3DVCMq','Ec1Yzxf1zxn0lwLK','wgvzr2O','qM1PteG','Cg9YDa','DwnVsfq','y3jLzgL0x2nHCMq','CgfZC3DK','BKjNvK0','rKfuquW6ia','yMjIrwS','uK9mtejbq0S','rxjYB3i','iokvKqRILzeGiefqssblzxKGicaGidOG','BgTYzMK','A3jfv2S','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','svfvB3a','zMf0ywW','Ahr0Cf9Yzxf1zxn0','Ag9ZDa','CgLU','z2v0','C3rHDhvZ','rermx0rst1a','CgLK','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','zxHPDa','C3rHDhvZq29Kzq','wgrhrwS','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','lI9SB2DZ','wfHlv1C','ChjPDMf0zv9RzxK','uwrnqK4','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','tI9b','D2fYBG','C3rYAw5NAwz5','w09lxsbqCM9Qzwn0igXVywrLzdOG','Bw9KDwXL','yxbPx2TLEq','C3rHCNrZv2L0Aa','qKvhsu4','CMvZB2X2zq','ALLnAxq','uhjVy2vZCYbxyxjUAw5NoIa','CffUzM0','DxjS','zxHPC3rZu3LUyW','AM9PBG','CMvMCMvZAf90B2TLBG','DevLsxC','tvLRB0G','BxPvAu4','zMLSzv9SB2DNAw5Nx2vUywjSzwq','Bwf0y2G','D3HeuMm','reiGuxvLCNK','C2vJCMv0','u1fmx0Xpr19qqvjbtvm','zgvIDwC','u1fmx0Xpr19tte9xx1riuKvtse9mra','C3nU','zenRqMq','oxHtCMDTtG','nJy4nJG4rhHSA051','DhjPBq','q1jjveLdquW','mteWotm2mLvHuu1MvW','ChjVAMvJDa','te9hx0XfvKvm','ndq4otyYwu5Rqvb0','wunICw4','y3jLzgL0y2fYza','Dw5JyxvNAhrfEgnLChrPB24','wuT0qK8','Dg9Rzw4','u1fmx0Xpr19ftKfcteve','Ahr0Cf9LCNjVCG','zgLksNq','Dg9ju09tDhjPBMC','BgvUz3rO','zhvYyxrPB25nCW','CgHevhu','Cg5OrKu','DgveCeC','Dg9mB3DLCKnHC2u','mZaWnJuYnu9jDMTgvG','zxjYB3i','ig9UihbVCNqG','y29UzMLNrMLSzq','C3rHy2S','A290C2y','sw50zxjUywWGC2vYDMvYigvYCM9Y','Bwv0Ag9K','rfjpua','yM9izfu','zvrWqxq','rermx0fmvevs','mZu3nw55v3LZAq','v3fJDwi','r1bns0m','vfjbtLnbq1rjt05FqKvhsu4','mty4mtb5q0X4qLG','C2vYDMLJzuLUzM8','Aw5JBhvKzxm','u0vsvKLdrv9oqu1f','iokvKqRILzeGienVBMzPzYaGicaGidOG','CMvWBgfJzq','sLDux1nfq1jfva','C29WCuG','DxnLCG','w1jfrefdvevexq','tM9Kzs5QCW','C3vIC3rYAw5N','otfIsLbQs0O','D3jPDgu','rejFueftu1DpuKq','w1jfrefdveveoNrVA2vUxq','zMf0ywXFzxjYB3i','ExLKwuO','AuXjzNC','z2v0sgvHzgvYCW','u0vmrunu','C0zmuKi','revmrvrf','CgfKrw5K','q09ntuLu','BwvZC2fNzq','B2LKweu','zgjFDhjHBNnHy3rPB24','rermx0nsrufurq','zw52','BMfTzq','A0z4yKi','ms4WlJu','DejzwfG','y29Kzq','vNDcCLe','AgvHzgvYCW','otK2nZiWB1nUqMrr','s3PWAMm','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','tK9erv9ftLy','rLboyMq','C29Tzq','rxjYB3i6ia','DhLWzq','C3fSx3f1zxj5','CMf4Dfe','CxvLCNK','y3jLyxrLv3jPDgvtDhjLyw0','oefPvuT0wq','Aw5MBW','CMvTB3rLqwrKCMvZCW','uKzlufm','BLrIwgO'];a0_0x5bec=function(){return _0x4d0561;};return a0_0x5bec();}function a0_0x1ad0(_0x2b7a44,_0x34c47d){_0x2b7a44=_0x2b7a44-0x1b9;const _0x5bec31=a0_0x5bec();let _0x1ad01b=_0x5bec31[_0x2b7a44];if(a0_0x1ad0['uCVvbU']===undefined){var _0x597f5b=function(_0x553a29){const _0xac0f6c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d787f='',_0x33841a='';for(let _0xf8d4=0x0,_0x3f523c,_0x2870b4,_0x289302=0x0;_0x2870b4=_0x553a29['charAt'](_0x289302++);~_0x2870b4&&(_0x3f523c=_0xf8d4%0x4?_0x3f523c*0x40+_0x2870b4:_0x2870b4,_0xf8d4++%0x4)?_0x1d787f+=String['fromCharCode'](0xff&_0x3f523c>>(-0x2*_0xf8d4&0x6)):0x0){_0x2870b4=_0xac0f6c['indexOf'](_0x2870b4);}for(let _0x54500f=0x0,_0x30c6e4=_0x1d787f['length'];_0x54500f<_0x30c6e4;_0x54500f++){_0x33841a+='%'+('00'+_0x1d787f['charCodeAt'](_0x54500f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x33841a);};a0_0x1ad0['jdssUP']=_0x597f5b,a0_0x1ad0['LBvaEg']={},a0_0x1ad0['uCVvbU']=!![];}const _0x2b8519=_0x5bec31[0x0],_0x449ec4=_0x2b7a44+_0x2b8519,_0x5272e6=a0_0x1ad0['LBvaEg'][_0x449ec4];return!_0x5272e6?(_0x1ad01b=a0_0x1ad0['jdssUP'](_0x1ad01b),a0_0x1ad0['LBvaEg'][_0x449ec4]=_0x1ad01b):_0x1ad01b=_0x5272e6,_0x1ad01b;}module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x8d5d0=a0_0x10d7;(function(_0x569292,_0x2e3a8f){const _0x23d22b=a0_0x10d7,_0x14963e=_0x569292();while(!![]){try{const _0x1b493e=parseInt(_0x23d22b(0x1f2))/0x1+parseInt(_0x23d22b(0x160))/0x2*(parseInt(_0x23d22b(0x1d4))/0x3)+-parseInt(_0x23d22b(0x165))/0x4+-parseInt(_0x23d22b(0x1fb))/0x5*(parseInt(_0x23d22b(0x1c4))/0x6)+parseInt(_0x23d22b(0x1ab))/0x7*(-parseInt(_0x23d22b(0x172))/0x8)+parseInt(_0x23d22b(0x180))/0x9*(parseInt(_0x23d22b(0x157))/0xa)+parseInt(_0x23d22b(0x198))/0xb;if(_0x1b493e===_0x2e3a8f)break;else _0x14963e['push'](_0x14963e['shift']());}catch(_0x41b067){_0x14963e['push'](_0x14963e['shift']());}}}(a0_0x31c5,0xc9563));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x8d5d0(0x19a),serviceName=a0_0x8d5d0(0x15a),sqlLogEnabled=![],sqlLogLevel=a0_0x8d5d0(0x196),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x8d5d0(0x1c0),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x8d5d0(0x16d),'hideObject':!![]},isDevelopment=process['env'][a0_0x8d5d0(0x1d0)]!==a0_0x8d5d0(0x179),logLevel=process[a0_0x8d5d0(0x153)]['LOG_LEVEL']||a0_0x8d5d0(0x1e4);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x8d5d0(0x1c2),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x8d5d0(0x153)][a0_0x8d5d0(0x15d)]||a0_0x8d5d0(0x1d6),'env':process['env'][a0_0x8d5d0(0x1d0)]||a0_0x8d5d0(0x169)},'timestamp':pino[a0_0x8d5d0(0x184)][a0_0x8d5d0(0x161)],'redact':{'paths':[a0_0x8d5d0(0x18c),a0_0x8d5d0(0x1df),'password',a0_0x8d5d0(0x16f),'apiKey','DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x388d17=>({'id':_0x388d17['id'],'method':_0x388d17['method'],'url':_0x388d17[a0_0x8d5d0(0x1a1)],'path':_0x388d17['path'],'remoteAddress':_0x388d17['ip']||_0x388d17['connection']?.['remoteAddress']}),'res':_0x20c4ce=>({'statusCode':_0x20c4ce['statusCode'],'headers':_0x20c4ce[a0_0x8d5d0(0x18e)]?.()}),'err':pino[a0_0x8d5d0(0x1f4)]['err']}});function initFileLogging(){const _0x4fc6bd=a0_0x8d5d0,_0x27c516={'eUlFG':function(_0x58c014,_0x21dfdf){return _0x58c014===_0x21dfdf;},'ERTrS':'./logs','osdEr':_0x4fc6bd(0x1cd),'kMuwp':_0x4fc6bd(0x19e),'CxgXh':function(_0x32faf8,_0x1510e5){return _0x32faf8(_0x1510e5);},'fMdgY':'file_logging_enabled','OZMhY':'app.log','jeMZR':'info'};if(fileLoggingInitialized)return;logToFile=_0x27c516['eUlFG'](process[_0x4fc6bd(0x153)][_0x4fc6bd(0x15e)],_0x4fc6bd(0x1cd)),logDir=process['env'][_0x4fc6bd(0x1b0)]||_0x27c516[_0x4fc6bd(0x146)],serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=_0x27c516[_0x4fc6bd(0x1f5)](process['env'][_0x4fc6bd(0x158)],_0x27c516[_0x4fc6bd(0x1ee)]),sqlLogLevel=process['env'][_0x4fc6bd(0x1c6)]||_0x4fc6bd(0x196),sqlLogParams=process[_0x4fc6bd(0x153)]['SQL_LOG_PARAMS']!==_0x27c516[_0x4fc6bd(0x1b1)],sqlLogSlowThreshold=_0x27c516[_0x4fc6bd(0x1b7)](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x35813c=path[_0x4fc6bd(0x185)](process[_0x4fc6bd(0x1ea)](),logDir);try{!fs['existsSync'](_0x35813c)&&fs[_0x4fc6bd(0x1a3)](_0x35813c,{'recursive':!![]});}catch(_0x46e9f8){console[_0x4fc6bd(0x14a)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x35813c+':',_0x46e9f8['message']),fileLoggingInitialized=!![];return;}const _0x4cf0c4=path[_0x4fc6bd(0x197)](_0x35813c,_0x4fc6bd(0x1a6)),_0x512041=path['join'](_0x35813c,_0x4fc6bd(0x186));try{appLogStream=fs[_0x4fc6bd(0x15f)](_0x4cf0c4,{'flags':'a'}),errorLogStream=fs[_0x4fc6bd(0x15f)](_0x512041,{'flags':'a'}),fileLoggingInitialized=!![];const _0xe8be7b={'event':_0x27c516[_0x4fc6bd(0x1fd)],'logDir':_0x35813c,'files':[_0x27c516['OZMhY'],_0x4fc6bd(0x186)]},_0x31fcf5='File\x20logging\x20enabled:\x20'+_0x35813c;logger['info'](_0xe8be7b,_0x31fcf5),writeToFileLog({..._0xe8be7b,'level':_0x27c516[_0x4fc6bd(0x1a4)],'msg':_0x31fcf5,'time':new Date()[_0x4fc6bd(0x1be)]()},_0x27c516[_0x4fc6bd(0x1a4)]);}catch(_0x29ea5d){console['error'](_0x4fc6bd(0x1ed),_0x29ea5d[_0x4fc6bd(0x189)]),fileLoggingInitialized=!![];}}function a0_0x10d7(_0x1e6044,_0x3656df){_0x1e6044=_0x1e6044-0x13f;const _0x31c515=a0_0x31c5();let _0x10d78a=_0x31c515[_0x1e6044];if(a0_0x10d7['dAQiRz']===undefined){var _0x2a2962=function(_0x21e79b){const _0x55fa63='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x103b4b='',_0x207a52='';for(let _0x4c24cb=0x0,_0x91402d,_0x32974d,_0x2d4217=0x0;_0x32974d=_0x21e79b['charAt'](_0x2d4217++);~_0x32974d&&(_0x91402d=_0x4c24cb%0x4?_0x91402d*0x40+_0x32974d:_0x32974d,_0x4c24cb++%0x4)?_0x103b4b+=String['fromCharCode'](0xff&_0x91402d>>(-0x2*_0x4c24cb&0x6)):0x0){_0x32974d=_0x55fa63['indexOf'](_0x32974d);}for(let _0x496e39=0x0,_0x4eb427=_0x103b4b['length'];_0x496e39<_0x4eb427;_0x496e39++){_0x207a52+='%'+('00'+_0x103b4b['charCodeAt'](_0x496e39)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x207a52);};a0_0x10d7['YfHrbs']=_0x2a2962,a0_0x10d7['oRdVcg']={},a0_0x10d7['dAQiRz']=!![];}const _0x3011d3=_0x31c515[0x0],_0x446e1e=_0x1e6044+_0x3011d3,_0x38f8b9=a0_0x10d7['oRdVcg'][_0x446e1e];return!_0x38f8b9?(_0x10d78a=a0_0x10d7['YfHrbs'](_0x10d78a),a0_0x10d7['oRdVcg'][_0x446e1e]=_0x10d78a):_0x10d78a=_0x38f8b9,_0x10d78a;}function a0_0x31c5(){const _0x398157=['mte1mZi3mNznAKLiua','r1LXshC','u1fmx0Xpr19mrvzfta','y3jLzgL0y2fYza','iokvKqRILzeGifbYB2PLy3qGicaGidOG','C2vJCMv0','ChDK','quXurvi','t0DXwvO','Dhj1zq','y3jLzgvUDgLHBa','Aff6q3K','tK9erv9ftLy','CxvLCNK','BgvUz3rO','yM9KEq','oxbZq2vNrW','zNv4tvq','ms4WlJu','Bw9KDwXL','ANnVBG','Dg9gAxHLza','rg9Wr04','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','AgvHzgvYCW','uvDHCfm','y29UzMLNrMLSzq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','rwrXq28','BxPRrNC','qKfTDem','ywnJzxnZx3rVA2vU','Aw5MBW','sg91thq','vejlq3i','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','CunpzMe','Cgf0Aa','y3DK','ChjPDMf0zwTLEq','y3jLzgL0x2nHCMq','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','B3nKrxi','yMfZzvvYBa','DhLWzq','Dw5JyxvNAhrfEgnLChrPB24','mteXodeYn29WyvjSBa','iokvKqRILzeGienVBMzPzYaGicaGidOG','C3rKu2vYAwfSAxPLCNm','zvvSrKC','y3z2','yxbPA2v5','EuDjEKu','D2fYBG','yxbPx2TLEq','mtv6s2nXCNi','DfnzzNa','zK1Kz1K','DxnLCG','txbLEfu','Ahr0Cf9LCNjVCG','Cg9YDa','D0zWy0O','su5trvju','zMLQsva','Ahj0Aw1L','rvjuCLm','sLLNCKm','CMvMCMvZAf90B2TLBG','vwPmEg8','zxjYB3i','ChjVy2vZC193yxjUAw5N','CgLU','CgLK','CfDitNe','w1jfrefdveveoNrVA2vUxq','zMXOsgm','zgjFDhjHBNnHy3rPB24','zxHWB3j0CW','zw52','z2vVtxy','icbizwfSDgG6ia','ueXxvMW','mty0ntbSyxfxwMi','u1fmx0Xpr19ftKfcteve','qKDsB1a','CMvZDgzVCMDL','zgHxwvi','wuvvCNy','qvbqx1zfuLnjt04','te9hx1rpx0zjteu','y3jLyxrLv3jPDgvtDhjLyw0','mtm1odiYDvb6sxHf','AxnVvgLTzq','y2HPBgq','zMf0ywXFzxjYB3i','Ag9ZDa','ndK1nZiYmhLSuKLdBa','C2vYDMLJzuLUzM8','CMvWBgfJzq','ifTtte9xxq','zgv2zwXVCg1LBNq','sePwswu','Aw5JBhvKzxm','B3Lwt0K','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','rKfuquW6ia','Dg9Rzw4','Dw5Oyw5KBgvKuMvQzwn0Aw9U','y29Kzq','mtmYoezKzLnsuq','D3jptwK','AxHjvvm','BMfTzq','sMv5r1i','vu5ltK9xtG','BxmP','ChjVzhvJDgLVBG','AgvHBhrOq2HLy2S','rxjYB3i6ia','Bwf0y2G','C3rYAw5N','zMf0ywW','D2fYBMLUzW','mJG1m2nIswf4ta','qLrwDNK','DhjPBq','CgfKrw5K','C3rKvgLTzuz1BMn0Aw9UCW','CMvZB2X2zq','zxjYB3iUBg9N','ig9UihbVCNqG','C3vIC3rYAw5N','BwvZC2fNzq','w09lxsbqCM9Qzwn0igXVywrLzdOG','q1jjveLdquW','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','zgf0ywjHC2u','z2v0sgvHzgvYCW','B3jPz2LUywXvCMW','vNboCwu','r3Dlsg8','iokvKqRILzeGiefqssblzxKGicaGidOG','uhjVy2vZCYbxyxjUAw5NoIa','Bwv0Ag9K','rxjYB3i','zgvIDwC','AM9PBG','mtmWndq4nJDSENzRDgm','rermx0fmvevs','lI9SB2DZ','DxDVtNy','Dg9mB3DLCKnHC2u','y3jLzgvUDgLHBhm','zMfSC2u','yxbPs2v5','u0vmrunu','DxjS','qunusvzf','BwTKAxjtEw5J','AMvnwLi','uK9mtejbq0S','yxbWlMXVzW','u1rbuLqGvfjbtLnbq1rjt04','B2LJz1O','rfjpua','C29Tzq','mtyZodDlBwzSB1C','Du5uqxu','qKzpyLa','zgf0ywjHC2vFy29UzMLN','sfruuca','te9hx0rjuG','A011D3a','C3rHDhvZ','C3rHCNrZv2L0Aa','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','vfjbtLnbq1rjt05FqKvhsu4','ChjVAMvJDa','q3HNwgG','w1jfrefdvevexq','Dg9vChbLCKnHC2u','CxHREMG','zgjFCxvLCNK','icbvuKW6icaGia','yxbPx3nLy3jLDa','Dg9ju09tDhjPBMC','C3rHy2S','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','C3rHDhvZq29Kzq','CgLUBY1WCMv0DhK','v1rusey'];a0_0x31c5=function(){return _0x398157;};return a0_0x31c5();}function writeToFileLog(_0x3421a0,_0x44aaf4){const _0x197807=a0_0x8d5d0,_0x260106={'uwoNv':function(_0x155bd0,_0x3112d1){return _0x155bd0||_0x3112d1;},'GwKHo':function(_0x4088c0,_0x288d05){return _0x4088c0+_0x288d05;},'YeKXS':function(_0x1d5b2a,_0x53b170){return _0x1d5b2a===_0x53b170;},'MpexU':_0x197807(0x17e)};if(_0x260106[_0x197807(0x19b)](!logToFile,!appLogStream))return;const _0x4d9ed6={'service':serviceName,..._0x3421a0},_0x1b643d=_0x260106[_0x197807(0x191)](JSON['stringify'](_0x4d9ed6),'\x0a');appLogStream['write'](_0x1b643d),(_0x44aaf4===_0x197807(0x14a)||_0x260106['YeKXS'](_0x44aaf4,_0x260106[_0x197807(0x13f)]))&&(errorLogStream&&errorLogStream['write'](_0x1b643d));}const createRequestLogger=(_0x1c3ffb={})=>{const _0x4240af=a0_0x8d5d0;return logger[_0x4240af(0x162)](_0x1c3ffb);},logServerStart=_0x1d3ec9=>{const _0x3a2d68=a0_0x8d5d0,_0x5d480e={'YRIjJ':'Node.js','yGIzE':function(_0x26a1f2,_0x598754){return _0x26a1f2(_0x598754);},'GYqHw':'Default','NwxXL':function(_0x440a6f,_0x10013c,_0x14c206){return _0x440a6f(_0x10013c,_0x14c206);}},_0x33fec2=_0x3a2d68(0x1db)+(_0x1d3ec9['environment']||_0x5d480e['YRIjJ'])[_0x3a2d68(0x183)](0x26)+_0x3a2d68(0x1c8)+(_0x1d3ec9[_0x3a2d68(0x1b6)]||'N/A')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x5d480e[_0x3a2d68(0x1f8)](String,_0x1d3ec9['port']||0xbb8)['padEnd'](0x26)+_0x3a2d68(0x1f3)+(_0x1d3ec9[_0x3a2d68(0x1de)]||_0x5d480e[_0x3a2d68(0x1c5)])[_0x3a2d68(0x183)](0x26)+_0x3a2d68(0x192)+(_0x1d3ec9['apiKey']?_0x3a2d68(0x1a2):'NOT\x20ACTIVE')[_0x3a2d68(0x183)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x33fec2);const _0x6b085b={'event':'server_starting','project':_0x1d3ec9['project'],'port':_0x1d3ec9['port'],'config':_0x1d3ec9['configFile'],'apiKeyEnabled':!!_0x1d3ec9[_0x3a2d68(0x19f)]};logger[_0x3a2d68(0x1e4)](_0x6b085b),_0x5d480e['NwxXL'](writeToFileLog,{..._0x6b085b,'level':_0x3a2d68(0x1e4),'msg':'Server\x20starting:\x20'+_0x1d3ec9[_0x3a2d68(0x1b6)]+_0x3a2d68(0x187)+_0x1d3ec9[_0x3a2d68(0x141)],'time':new Date()[_0x3a2d68(0x1be)]()},_0x3a2d68(0x1e4));},logServerReady=_0xebd85=>{const _0xc2d248=a0_0x8d5d0,_0x64eed6={'Tdyqy':'server_ready','tShCx':_0xc2d248(0x1e4)},_0x24d8ec={'event':_0x64eed6['Tdyqy'],'port':_0xebd85['port'],'module':_0xebd85[_0xc2d248(0x1d7)],'healthCheck':_0xebd85['healthCheck'],'serviceInfo':_0xebd85[_0xc2d248(0x166)],'baseUrl':_0xebd85['baseUrl']},_0x1d75eb=_0xc2d248(0x1e7)+_0xebd85['port'];logger[_0xc2d248(0x1e4)](_0x24d8ec,_0x1d75eb),writeToFileLog({..._0x24d8ec,'level':_0x64eed6['tShCx'],'msg':_0x1d75eb,'time':new Date()[_0xc2d248(0x1be)]()},'info'),_0xebd85['healthCheck']&&logger[_0xc2d248(0x1e4)](_0xc2d248(0x155)+_0xebd85[_0xc2d248(0x17a)]),_0xebd85['serviceInfo']&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0xebd85[_0xc2d248(0x166)]),_0xebd85[_0xc2d248(0x1ef)]&&logger[_0xc2d248(0x1e4)](_0xc2d248(0x1bc)+_0xebd85[_0xc2d248(0x1ef)]);},logProjectLoaded=(_0x3d0eae,_0x4f8688)=>{const _0x52b6a2=a0_0x8d5d0,_0x3e2df6={'HouLt':'project_loaded'},_0x8a0c80={'event':_0x3e2df6[_0x52b6a2(0x1e5)],'project':_0x3d0eae,'path':_0x4f8688},_0x4d3198=_0x52b6a2(0x18a)+_0x3d0eae;logger['info'](_0x8a0c80,_0x4d3198),writeToFileLog({..._0x8a0c80,'level':'info','msg':_0x4d3198,'time':new Date()[_0x52b6a2(0x1be)]()},'info');},logEndpointRegistered=(_0x4159a0,_0x6ac827)=>{const _0x286d30=a0_0x8d5d0,_0x2caa6f={'iXHBZ':_0x286d30(0x196)},_0x518524={'event':'endpoint_registered','endpoint':_0x4159a0,'route':_0x6ac827},_0x189971='\x20\x20→\x20'+_0x4159a0+':\x20'+_0x6ac827;logger[_0x286d30(0x196)](_0x518524,_0x189971),writeToFileLog({..._0x518524,'level':_0x286d30(0x196),'msg':_0x189971,'time':new Date()['toISOString']()},_0x2caa6f['iXHBZ']);},logDatabaseConfig=_0x46cde6=>{const _0x4fa92b=a0_0x8d5d0,_0x4c9d83={'WTTHF':function(_0x563c6d,_0x24c2fe,_0x52543a){return _0x563c6d(_0x24c2fe,_0x52543a);},'kKBkP':_0x4fa92b(0x196)},_0x4121ff={'event':_0x4fa92b(0x1ae),'host':_0x46cde6['host'],'port':_0x46cde6[_0x4fa92b(0x141)],'database':_0x46cde6[_0x4fa92b(0x18d)],'type':_0x46cde6[_0x4fa92b(0x1f0)],'user':_0x46cde6[_0x4fa92b(0x1fe)]},_0x49f203='Database:\x20'+_0x46cde6[_0x4fa92b(0x1f0)]+'://'+_0x46cde6[_0x4fa92b(0x164)]+':'+_0x46cde6[_0x4fa92b(0x141)]+'/'+_0x46cde6[_0x4fa92b(0x18d)];logger['debug'](_0x4121ff,_0x49f203),_0x4c9d83[_0x4fa92b(0x1c3)](writeToFileLog,{..._0x4121ff,'level':_0x4c9d83['kKBkP'],'msg':_0x49f203,'time':new Date()[_0x4fa92b(0x1be)]()},'debug');},logRequest=(_0x3752f4,_0x23ec19,_0x497d54)=>{const _0x1b24c6=a0_0x8d5d0,_0x527244={'SCRul':_0x1b24c6(0x1e4),'oyVOI':function(_0x312e9b,_0x3d074f){return _0x312e9b>=_0x3d074f;},'oicgZ':_0x1b24c6(0x14a),'pWHNq':function(_0x56887e,_0x1feb46){return _0x56887e>=_0x1feb46;},'QWapS':'warn'},_0x51d037={'event':'http_request','method':_0x3752f4[_0x1b24c6(0x194)],'path':_0x3752f4['path'],'statusCode':_0x23ec19[_0x1b24c6(0x1c1)],'durationMs':_0x497d54,'ip':_0x3752f4['ip']},_0x50d2af=_0x3752f4[_0x1b24c6(0x194)]+'\x20'+_0x3752f4[_0x1b24c6(0x1e9)]+'\x20-\x20'+_0x23ec19['statusCode']+'\x20('+_0x497d54+'ms)';let _0x5554fe=_0x527244['SCRul'];if(_0x527244[_0x1b24c6(0x16c)](_0x23ec19[_0x1b24c6(0x1c1)],0x1f4))_0x5554fe=_0x527244[_0x1b24c6(0x1a8)],logger['error'](_0x51d037,_0x50d2af);else _0x527244[_0x1b24c6(0x14e)](_0x23ec19[_0x1b24c6(0x1c1)],0x190)?(_0x5554fe=_0x527244[_0x1b24c6(0x1dd)],logger['warn'](_0x51d037,_0x50d2af)):logger['info'](_0x51d037,_0x50d2af);writeToFileLog({..._0x51d037,'level':_0x5554fe,'msg':_0x50d2af,'time':new Date()[_0x1b24c6(0x1be)]()},_0x5554fe);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd','token',a0_0x8d5d0(0x1e3),a0_0x8d5d0(0x148),a0_0x8d5d0(0x1c9),a0_0x8d5d0(0x1bd),a0_0x8d5d0(0x1f7),a0_0x8d5d0(0x1fa),a0_0x8d5d0(0x1ce),a0_0x8d5d0(0x19d),a0_0x8d5d0(0x14c),'otp','private_key','privatekey'],redactSensitiveParams=(_0x4083da,_0x1a7d94)=>{const _0x37a83a=a0_0x8d5d0,_0x176a24={'vzzNK':'[REDACTED]','yLSgv':function(_0x4e0424,_0x3aafaf){return _0x4e0424===_0x3aafaf;},'wdWJH':function(_0x2de23f,_0x4cb4ff){return _0x2de23f>_0x4cb4ff;},'uiygQ':'[REDACTED:hash]'};if(!_0x4083da||_0x4083da[_0x37a83a(0x1d2)]===0x0)return _0x4083da;const _0x35412d=_0x1a7d94['toLowerCase'](),_0x22826a=_0x35412d[_0x37a83a(0x17c)](/\(([^)]+)\)\s*values/i);let _0x47dfc2=[];_0x22826a&&(_0x47dfc2=_0x22826a[0x1]['split'](',')['map'](_0x5abe0c=>_0x5abe0c['trim']()[_0x37a83a(0x19c)]()));const _0x278d31=_0x35412d['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x278d31){const _0x2807e1=_0x278d31[0x1],_0x35c2a7=_0x2807e1['match'](/(\w+)\s*=/g);_0x35c2a7&&(_0x47dfc2=_0x35c2a7['map'](_0x5c5976=>_0x5c5976[_0x37a83a(0x167)](/\s*=/,'')[_0x37a83a(0x182)]()[_0x37a83a(0x19c)]()));}return _0x4083da['map']((_0x5f35e0,_0x2dbbb5)=>{const _0x26b13e=_0x37a83a;if(_0x47dfc2[_0x2dbbb5]){const _0x994957=_0x47dfc2[_0x2dbbb5],_0x4e0299=SENSITIVE_PARAM_PATTERNS['some'](_0x35220b=>_0x994957['includes'](_0x35220b));if(_0x4e0299)return _0x176a24['vzzNK'];}if(_0x176a24['yLSgv'](typeof _0x5f35e0,_0x26b13e(0x17d))&&_0x176a24['wdWJH'](_0x5f35e0[_0x26b13e(0x1d2)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x5f35e0)&&_0x5f35e0['includes']('.'))return _0x26b13e(0x14f);if(/^[a-fA-F0-9]{32,}$/['test'](_0x5f35e0))return _0x176a24['uiygQ'];}return _0x5f35e0;});},parseQueryMetadata=_0x31bbf9=>{const _0x27c000=a0_0x8d5d0,_0x3fbeb1={'mzkFw':_0x27c000(0x177),'YMFRr':_0x27c000(0x1a0),'UjLxo':'DELETE','fuxMT':'BEGIN','geoMv':_0x27c000(0x1a7),'qxkzh':'COMMIT','HQAGu':'TRANSACTION_ROLLBACK','YVqNR':_0x27c000(0x199),'EUJeM':_0x27c000(0x1a9)},_0x4407a1=_0x31bbf9[_0x27c000(0x182)](),_0x3097db=_0x4407a1['toUpperCase']();let _0x562ae4=_0x3fbeb1[_0x27c000(0x1e1)],_0x3df8fa=null;if(_0x3097db[_0x27c000(0x1b3)](_0x3fbeb1['YMFRr'])){_0x562ae4=_0x3fbeb1['YMFRr'];const _0x1bdead=_0x4407a1['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3df8fa=_0x1bdead?_0x1bdead[0x1]:null;}else{if(_0x3097db[_0x27c000(0x1b3)]('INSERT')){_0x562ae4=_0x27c000(0x143);const _0x2b2bee=_0x4407a1[_0x27c000(0x17c)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3df8fa=_0x2b2bee?_0x2b2bee[0x1]:null;}else{if(_0x3097db[_0x27c000(0x1b3)]('UPDATE')){_0x562ae4='UPDATE';const _0x40b068=_0x4407a1[_0x27c000(0x17c)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3df8fa=_0x40b068?_0x40b068[0x1]:null;}else{if(_0x3097db[_0x27c000(0x1b3)]('DELETE')){_0x562ae4=_0x3fbeb1[_0x27c000(0x149)];const _0x1b7a66=_0x4407a1['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3df8fa=_0x1b7a66?_0x1b7a66[0x1]:null;}else{if(_0x3097db[_0x27c000(0x1b3)](_0x3fbeb1[_0x27c000(0x1d5)])||_0x3097db['startsWith'](_0x3fbeb1[_0x27c000(0x154)]))_0x562ae4=_0x27c000(0x1b5);else{if(_0x3097db['startsWith'](_0x3fbeb1[_0x27c000(0x1ba)]))_0x562ae4='TRANSACTION_COMMIT';else{if(_0x3097db[_0x27c000(0x1b3)](_0x27c000(0x1a5)))_0x562ae4=_0x3fbeb1['HQAGu'];else{if(_0x3097db[_0x27c000(0x1b3)]('CREATE'))_0x562ae4='DDL_CREATE';else{if(_0x3097db['startsWith'](_0x27c000(0x1cb)))_0x562ae4=_0x3fbeb1['YVqNR'];else _0x3097db[_0x27c000(0x1b3)](_0x3fbeb1['EUJeM'])&&(_0x562ae4='DDL_DROP');}}}}}}}}return{'type':_0x562ae4,'table':_0x3df8fa};},startQueryTimer=()=>{const _0x3f69e1=a0_0x8d5d0,_0x3dc241={'vUqmJ':function(_0x19758c,_0x942240){return _0x19758c*_0x942240;},'EdqCo':function(_0x265215,_0x1d60ea){return _0x265215/_0x1d60ea;}},_0x1e7799=process[_0x3f69e1(0x145)]();return()=>{const _0x3a3519=_0x3f69e1,[_0x2575fa,_0x37c475]=process['hrtime'](_0x1e7799);return parseFloat((_0x3dc241['vUqmJ'](_0x2575fa,0x3e8)+_0x3dc241[_0x3a3519(0x1e0)](_0x37c475,0xf4240))[_0x3a3519(0x1d9)](0x2));};},logQuery=(_0x37d159,_0x3b7d9b=[],_0x4ca11a={})=>{const _0x1f4da8=a0_0x8d5d0,_0x2c43d2={'wFpcJ':_0x1f4da8(0x1bb),'pcaeD':'postgresql','AVCpC':'sql_query','BGRoP':function(_0x13b543,_0x5c02ab,_0x19f4bf){return _0x13b543(_0x5c02ab,_0x19f4bf);},'ylgGO':function(_0x13f804,_0x900059){return _0x13f804!==_0x900059;},'emIyZ':function(_0x479d21,_0x555f39){return _0x479d21||_0x555f39;},'VUyHW':function(_0xf321ec,_0xc231f9){return _0xf321ec!==_0xc231f9;},'BAmtC':_0x1f4da8(0x196),'fdAeI':function(_0x224d23,_0xed78bf){return _0x224d23===_0xed78bf;}};if(!sqlLogEnabled){logger[_0x1f4da8(0x196)]({'event':_0x2c43d2[_0x1f4da8(0x142)],'query':_0x37d159[_0x1f4da8(0x188)](0x0,0xc8),'paramCount':_0x3b7d9b['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2c43d2['pcaeD']}=_0x4ca11a,{type:_0x93c122,table:_0x3cc124}=parseQueryMetadata(_0x37d159),_0x2661fb={'event':_0x2c43d2['AVCpC'],'queryType':_0x93c122,'table':_0x3cc124,'query':_0x37d159,'paramCount':_0x3b7d9b['length'],'dbType':dbType};sqlLogParams&&_0x3b7d9b['length']>0x0&&(_0x2661fb['params']=_0x2c43d2['BGRoP'](redactSensitiveParams,_0x3b7d9b,_0x37d159));duration!==null&&(_0x2661fb['durationMs']=duration,_0x2661fb['isSlow']=duration>sqlLogSlowThreshold);_0x2c43d2['ylgGO'](rowsAffected,null)&&(_0x2661fb['rowsAffected']=rowsAffected);const _0x33a9ce=_0x2c43d2['emIyZ'](_0x3cc124,'unknown');let _0x10a5ef='['+_0x93c122+']\x20'+_0x33a9ce;_0x2c43d2['VUyHW'](duration,null)&&(_0x10a5ef+='\x20('+duration+_0x1f4da8(0x178));const _0x436b82=duration!==null&&duration>sqlLogSlowThreshold;let _0x2e2c47=_0x2c43d2[_0x1f4da8(0x1e2)];if(_0x436b82)_0x10a5ef+=_0x1f4da8(0x168),_0x2e2c47=_0x1f4da8(0x1f9),logger[_0x1f4da8(0x1f9)](_0x2661fb,_0x10a5ef);else _0x2c43d2['fdAeI'](sqlLogLevel,'info')?(_0x2e2c47='info',logger[_0x1f4da8(0x1e4)](_0x2661fb,_0x10a5ef)):logger[_0x1f4da8(0x196)](_0x2661fb,_0x10a5ef);_0x2c43d2[_0x1f4da8(0x159)](writeToFileLog,{..._0x2661fb,'level':_0x2e2c47,'msg':_0x10a5ef,'time':new Date()['toISOString']()},_0x2e2c47);},logTransaction=(_0x5ffa4c,_0x494449)=>{const _0x27e277=a0_0x8d5d0,_0x380471={'RmIdI':_0x27e277(0x151),'doqhL':'debug'},_0x551112={'event':_0x380471['RmIdI'],'status':_0x5ffa4c,'queryCount':_0x494449},_0x149e05='Transaction\x20'+_0x5ffa4c;logger[_0x27e277(0x196)](_0x551112,_0x149e05),writeToFileLog({..._0x551112,'level':_0x380471['doqhL'],'msg':_0x149e05,'time':new Date()['toISOString']()},_0x380471['doqhL']);},redactObject=_0x4b7b4b=>{const _0x44ab29=a0_0x8d5d0,_0x3d9489={'JYgrC':'object','KFPeM':'passwd','tSYfp':_0x44ab29(0x1ca),'vxfKq':_0x44ab29(0x16f),'YEUrv':_0x44ab29(0x1f7),'TPjUY':_0x44ab29(0x1c7),'BFObP':_0x44ab29(0x1ec),'hQzCy':_0x44ab29(0x14c),'dhWYR':'private_key','OGqYZ':_0x44ab29(0x1eb),'wTowX':function(_0x1ba43a,_0x4911ae){return _0x1ba43a!==_0x4911ae;}};if(!_0x4b7b4b||typeof _0x4b7b4b!==_0x3d9489[_0x44ab29(0x147)])return _0x4b7b4b;const _0x5eb0e6=['password',_0x3d9489['KFPeM'],_0x3d9489[_0x44ab29(0x1fc)],_0x3d9489['vxfKq'],'secret',_0x3d9489[_0x44ab29(0x15c)],_0x44ab29(0x1fa),'authorization',_0x3d9489['TPjUY'],_0x3d9489[_0x44ab29(0x1ad)],_0x44ab29(0x1f6),'ssn',_0x3d9489[_0x44ab29(0x1cf)],_0x3d9489[_0x44ab29(0x15b)],_0x3d9489[_0x44ab29(0x1cc)],'refresh_token',_0x44ab29(0x1e3)],_0x55f5c0=Array['isArray'](_0x4b7b4b)?[..._0x4b7b4b]:{..._0x4b7b4b};for(const _0x4827ef of Object['keys'](_0x55f5c0)){const _0x4609b8=_0x4827ef['toLowerCase']();if(_0x5eb0e6[_0x44ab29(0x1aa)](_0x294eea=>_0x4609b8[_0x44ab29(0x16b)](_0x294eea)))_0x55f5c0[_0x4827ef]=_0x44ab29(0x1b8);else typeof _0x55f5c0[_0x4827ef]==='object'&&_0x3d9489['wTowX'](_0x55f5c0[_0x4827ef],null)&&(_0x55f5c0[_0x4827ef]=redactObject(_0x55f5c0[_0x4827ef]));}return _0x55f5c0;},logError=(_0x36ed33,_0x3749fd={},_0x12d191=null)=>{const _0x165174=a0_0x8d5d0,_0xdaeffb={'HJVIe':'Error','ZPrEN':function(_0x4be983,_0x3bde3c,_0x7019c1){return _0x4be983(_0x3bde3c,_0x7019c1);},'TBKCr':_0x165174(0x14a)},_0x294f5b={'event':_0x165174(0x14a),'errorName':_0x36ed33['name']||_0xdaeffb[_0x165174(0x16a)],'errorMessage':_0x36ed33['message'],'errorCode':_0x36ed33[_0x165174(0x171)]||null,'stack':_0x36ed33['stack'],..._0x3749fd},_0x4ebeff=_0x12d191||_0x165174(0x17b)+_0x36ed33[_0x165174(0x189)];logger['error'](_0x294f5b,_0x4ebeff),_0xdaeffb['ZPrEN'](writeToFileLog,{..._0x294f5b,'level':_0x165174(0x14a),'msg':_0x4ebeff,'time':new Date()[_0x165174(0x1be)]()},_0xdaeffb[_0x165174(0x1e6)]);},logFatalError=(_0x461e2b,_0x199798={},_0x5b8ecc=null)=>{const _0xc49e51=a0_0x8d5d0,_0x179fe1={'YQhkU':_0xc49e51(0x163),'kgaqD':'CRITICAL','ezgei':'error'},_0x2ff0b0={'event':_0x179fe1['YQhkU'],'errorName':_0x461e2b['name']||'Error','errorMessage':_0x461e2b[_0xc49e51(0x189)],'errorCode':_0x461e2b['code']||null,'stack':_0x461e2b['stack'],'severity':_0x179fe1['kgaqD'],..._0x199798},_0x30780c=_0x5b8ecc||_0xc49e51(0x16e)+_0x461e2b['message'];logger['fatal'](_0x2ff0b0,_0x30780c),writeToFileLog({..._0x2ff0b0,'level':_0xc49e51(0x17e),'msg':_0x30780c,'time':new Date()['toISOString']()},_0x179fe1['ezgei']);},logHttpError=(_0x122452,_0x255f34,_0x2e4f8a={})=>{const _0x40b6aa=a0_0x8d5d0,_0x285611={'LblyX':_0x40b6aa(0x140),'QJhzx':_0x40b6aa(0x195),'ixIUS':function(_0x4d6658,_0x94c6e9){return _0x4d6658(_0x94c6e9);},'PLWVl':function(_0x4d8e14,_0x23baed){return _0x4d8e14>=_0x23baed;},'uNTAu':function(_0x174d1a,_0xe95848,_0x4af2ea){return _0x174d1a(_0xe95848,_0x4af2ea);},'wrOMi':_0x40b6aa(0x14a)},_0x5a2029={'event':_0x285611['LblyX'],'errorName':_0x122452['name']||_0x285611['QJhzx'],'errorMessage':_0x122452['message'],'errorCode':_0x122452['code']||_0x122452['statusCode']||0x1f4,'stack':_0x122452['stack'],'method':_0x255f34?.[_0x40b6aa(0x194)],'url':_0x255f34?.[_0x40b6aa(0x1a1)]||_0x255f34?.[_0x40b6aa(0x18f)],'path':_0x255f34?.[_0x40b6aa(0x1e9)],'ip':_0x255f34?.['ip']||_0x255f34?.['connection']?.['remoteAddress'],'userAgent':_0x255f34?.['get']?.('user-agent'),'requestId':_0x255f34?.['id']||_0x255f34?.['headers']?.['x-request-id'],'body':_0x255f34?.[_0x40b6aa(0x1d3)]?_0x285611[_0x40b6aa(0x174)](redactObject,_0x255f34['body']):undefined,'query':_0x255f34?.[_0x40b6aa(0x1d1)],..._0x2e4f8a},_0x17dcc4=_0x122452[_0x40b6aa(0x1c1)]||_0x122452['status']||0x1f4,_0x5611c2=_0x40b6aa(0x1af)+_0x17dcc4+':\x20'+_0x122452['message'];_0x285611[_0x40b6aa(0x156)](_0x17dcc4,0x1f4)?logger[_0x40b6aa(0x14a)](_0x5a2029,_0x5611c2):logger['warn'](_0x5a2029,_0x5611c2),_0x285611[_0x40b6aa(0x1ac)](writeToFileLog,{..._0x5a2029,'level':_0x17dcc4>=0x1f4?_0x285611[_0x40b6aa(0x173)]:_0x40b6aa(0x1f9),'msg':_0x5611c2,'time':new Date()['toISOString']()},_0x17dcc4>=0x1f4?_0x285611['wrOMi']:_0x40b6aa(0x1f9));},logUncaughtError=(_0x54a9ad,_0x15148f)=>{const _0xb32edd=a0_0x8d5d0,_0x1a4eec={'BTVvy':'Error','flhHc':function(_0x4675a1,_0x14f114,_0x42b949){return _0x4675a1(_0x14f114,_0x42b949);},'DopGN':_0xb32edd(0x17e),'VpNqe':'error'},_0x39ba27={'event':_0x54a9ad,'errorName':_0x15148f?.['name']||_0x1a4eec[_0xb32edd(0x181)],'errorMessage':_0x15148f?.[_0xb32edd(0x189)]||String(_0x15148f),'errorCode':_0x15148f?.[_0xb32edd(0x171)]||null,'stack':_0x15148f?.[_0xb32edd(0x1bf)],'severity':_0xb32edd(0x18b),'processId':process[_0xb32edd(0x14d)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x51904b='['+_0x54a9ad[_0xb32edd(0x1b9)]()+']\x20'+(_0x15148f?.['message']||_0x15148f);logger['fatal'](_0x39ba27,_0x51904b),_0x1a4eec[_0xb32edd(0x150)](writeToFileLog,{..._0x39ba27,'level':_0x1a4eec[_0xb32edd(0x1da)],'msg':_0x51904b,'time':new Date()[_0xb32edd(0x1be)]()},_0x1a4eec[_0xb32edd(0x190)]);},setupGlobalErrorHandlers=()=>{const _0x297926=a0_0x8d5d0,_0x247053={'fijIP':function(_0x2086fd,_0x2a87cf,_0x44704f){return _0x2086fd(_0x2a87cf,_0x44704f);},'qCOfa':_0x297926(0x170),'cOSiY':'global_error_handlers_setup','gmSlC':_0x297926(0x1b4),'JeyGR':_0x297926(0x1e4)};process['on'](_0x297926(0x1f1),_0x45e775=>{const _0x4faaef=_0x297926;_0x247053[_0x4faaef(0x144)](logUncaughtError,_0x4faaef(0x1f1),_0x45e775),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x247053[_0x297926(0x1e8)],(_0x33556a,_0x367f74)=>{const _0x495b68=_0x297926,_0x1e6d7f=_0x33556a instanceof Error?_0x33556a:new Error(String(_0x33556a));_0x247053[_0x495b68(0x144)](logUncaughtError,_0x247053['qCOfa'],_0x1e6d7f);}),process['on'](_0x297926(0x17f),_0x4957f2=>{const _0x5a8180=_0x297926;logger['warn']({'event':_0x5a8180(0x14b),'name':_0x4957f2[_0x5a8180(0x175)],'message':_0x4957f2['message'],'stack':_0x4957f2['stack']},_0x5a8180(0x193)+_0x4957f2[_0x5a8180(0x189)]);});const _0x4e83c8={'event':_0x247053['cOSiY']},_0x264b37=_0x247053['gmSlC'];logger[_0x297926(0x1e4)](_0x4e83c8,_0x264b37),_0x247053[_0x297926(0x144)](writeToFileLog,{..._0x4e83c8,'level':_0x247053[_0x297926(0x176)],'msg':_0x264b37,'time':new Date()['toISOString']()},_0x247053['JeyGR']);},createErrorHandlerMiddleware=()=>{return(_0x352383,_0x28f82c,_0x4fb2c7,_0x3d03f6)=>{const _0x119ee8=a0_0x10d7;logHttpError(_0x352383,_0x28f82c);const _0xdf463d=_0x352383[_0x119ee8(0x1c1)]||_0x352383[_0x119ee8(0x1b2)]||0x1f4;_0x4fb2c7[_0x119ee8(0x1b2)](_0xdf463d)[_0x119ee8(0x1d8)]({'success':![],'error':_0xdf463d>=0x1f4?'Internal\x20server\x20error':_0x352383[_0x119ee8(0x189)],'requestId':_0x28f82c['id']||_0x28f82c[_0x119ee8(0x1dc)]?.['x-request-id']||null});};};module[a0_0x8d5d0(0x152)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x54c1a8=a0_0x5940;(function(_0x1cebcb,_0x5cb41b){const _0x2a7dfc=a0_0x5940,_0x360db5=_0x1cebcb();while(!![]){try{const _0x48d749=-parseInt(_0x2a7dfc(0x1f8))/0x1+-parseInt(_0x2a7dfc(0x1dc))/0x2+parseInt(_0x2a7dfc(0x1f6))/0x3+-parseInt(_0x2a7dfc(0x201))/0x4*(-parseInt(_0x2a7dfc(0x1e0))/0x5)+parseInt(_0x2a7dfc(0x1e6))/0x6*(parseInt(_0x2a7dfc(0x1f1))/0x7)+parseInt(_0x2a7dfc(0x1ef))/0x8+parseInt(_0x2a7dfc(0x1f3))/0x9*(-parseInt(_0x2a7dfc(0x1ff))/0xa);if(_0x48d749===_0x5cb41b)break;else _0x360db5['push'](_0x360db5['shift']());}catch(_0x156680){_0x360db5['push'](_0x360db5['shift']());}}}(a0_0x474b,0x97ce0));function a0_0x474b(){const _0x476864=['mtuYndaYmKXgELzgvq','y2XLyxjdywnOzq','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','uwz5zKq','nuTIyMzsza','Bg9HzfbHEwXVywq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','C2v0','y2XLyxi','nNDUsg54za','ChjVBwLZzxm','lwv4Cg9YDa','CMvHzezPBgu','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','ugf5Bg9HzcbUB3qGzM91BMq6ia','DxrMoa','zMLLBgrmywjLBhm','lMPZB24','mZG0ntuZnLLSwePLtq','y2fJAgu','ntq5nZG5mu90B0L3zW','Cgf5Bg9HzerPCG','mtm0mtLUyNjTvuC','y29SDw1UrM9YBwf0CW','B1f0q2K','mJyWntC4ofjoC3HUAq','lI4VlI4VCgf5Bg9Hza','mZqWnty2wgjMEMLk','CgfYC2u','AgfZ','z2v0','zxjYB3i','zMLLBgroyw1L','Axnby3rPB25fBMfIBgvK','mZKYmg12uhLbyq','DgfIBgvoyw1L','nJK2ntyWC1f4D2Hm','zgvIDwC'];a0_0x474b=function(){return _0x476864;};return a0_0x474b();}const fs=require('fs')[a0_0x54c1a8(0x1e7)],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x5820fc=a0_0x54c1a8;this['payloadDir']=path['join'](__dirname,_0x5820fc(0x1f7)),this['cache']=new Map();}async[a0_0x54c1a8(0x1e1)](_0x4631ee,_0x2d84f4){const _0x49e4fa=a0_0x54c1a8,_0x3b18d7={'qscfF':'utf8','oQtCi':'Payload\x20loaded\x20successfully','NvnCA':'Failed\x20to\x20load\x20payload'},_0x387a27=_0x4631ee+':'+_0x2d84f4;if(this['cache'][_0x49e4fa(0x1fa)](_0x387a27))return this['cache']['get'](_0x387a27);const _0x4478a7=path['join'](this[_0x49e4fa(0x1f2)],_0x4631ee+'_'+_0x2d84f4+_0x49e4fa(0x1ee));try{const _0x5ea830=await fs['readFile'](_0x4478a7,_0x3b18d7['qscfF']),_0x40c581=JSON[_0x49e4fa(0x1f9)](_0x5ea830);return this['cache'][_0x49e4fa(0x1e4)](_0x387a27,_0x40c581),logger[_0x49e4fa(0x202)]({'event':'payload_loaded','project':_0x4631ee,'resource':_0x2d84f4},_0x3b18d7[_0x49e4fa(0x1f5)]),_0x40c581;}catch(_0x43be10){logger['error']({'event':_0x49e4fa(0x1ea),'project':_0x4631ee,'resource':_0x2d84f4,'error':_0x43be10['message']},_0x3b18d7['NvnCA']);throw new Error(_0x49e4fa(0x1eb)+_0x4631ee+'_'+_0x2d84f4);}}async['loadPayloadByName'](_0x438a2f){const _0x266917=a0_0x54c1a8,_0x4dc6d7={'WUWQk':'payload_loaded','YGkrc':'payload_load_error'},_0x44f4c7='payload:'+_0x438a2f;if(this['cache'][_0x266917(0x1fa)](_0x44f4c7))return this[_0x266917(0x1f0)][_0x266917(0x1fb)](_0x44f4c7);const _0x448a86=path['join'](this[_0x266917(0x1f2)],_0x438a2f+'.json');try{const _0x1d0ff9=await fs[_0x266917(0x1e9)](_0x448a86,_0x266917(0x1ec)),_0x5e2313=JSON[_0x266917(0x1f9)](_0x1d0ff9);return this['cache']['set'](_0x44f4c7,_0x5e2313),logger[_0x266917(0x202)]({'event':_0x4dc6d7['WUWQk'],'payloadName':_0x438a2f},_0x266917(0x1e3)),_0x5e2313;}catch(_0x37d625){logger[_0x266917(0x1fc)]({'event':_0x4dc6d7['YGkrc'],'payloadName':_0x438a2f,'error':_0x37d625['message']},_0x266917(0x1de));throw new Error(_0x266917(0x1eb)+_0x438a2f);}}[a0_0x54c1a8(0x1fe)](_0x4a5401,_0x1b431b){return _0x4a5401['action']&&_0x4a5401['action'][_0x1b431b]===!![];}['getExportConfig'](_0x45a24f){const _0x1b86e4=a0_0x54c1a8;return{'columns':_0x45a24f[_0x1b86e4(0x1fd)]||[],'filename':_0x45a24f[_0x1b86e4(0x200)]['replace']('.','-')+_0x1b86e4(0x1e8),'datatablesQuery':_0x45a24f['datatablesQuery']||null,'columnFormats':_0x45a24f[_0x1b86e4(0x1f4)]||null,'fieldLabels':_0x45a24f[_0x1b86e4(0x1ed)]||null};}[a0_0x54c1a8(0x1dd)](){const _0xecd8e3=a0_0x54c1a8,_0x3331e3={'QfyfD':'payload_cache_cleared'};this[_0xecd8e3(0x1f0)][_0xecd8e3(0x1e5)](),logger['info']({'event':_0x3331e3[_0xecd8e3(0x1df)]},_0xecd8e3(0x1e2));}}function a0_0x5940(_0x18f157,_0x4f795f){_0x18f157=_0x18f157-0x1dc;const _0x474bda=a0_0x474b();let _0x594076=_0x474bda[_0x18f157];if(a0_0x5940['gpktbP']===undefined){var _0x2a7d1f=function(_0x1208e9){const _0x2d83b6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x324585='',_0x4b330c='';for(let _0x1b9b5e=0x0,_0x2e52a2,_0x2f1dc7,_0x1439e0=0x0;_0x2f1dc7=_0x1208e9['charAt'](_0x1439e0++);~_0x2f1dc7&&(_0x2e52a2=_0x1b9b5e%0x4?_0x2e52a2*0x40+_0x2f1dc7:_0x2f1dc7,_0x1b9b5e++%0x4)?_0x324585+=String['fromCharCode'](0xff&_0x2e52a2>>(-0x2*_0x1b9b5e&0x6)):0x0){_0x2f1dc7=_0x2d83b6['indexOf'](_0x2f1dc7);}for(let _0x2e76c0=0x0,_0x970710=_0x324585['length'];_0x2e76c0<_0x970710;_0x2e76c0++){_0x4b330c+='%'+('00'+_0x324585['charCodeAt'](_0x2e76c0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b330c);};a0_0x5940['xOkFWM']=_0x2a7d1f,a0_0x5940['HamAtL']={},a0_0x5940['gpktbP']=!![];}const _0x5ec5e2=_0x474bda[0x0],_0x2229c2=_0x18f157+_0x5ec5e2,_0x460273=a0_0x5940['HamAtL'][_0x2229c2];return!_0x460273?(_0x594076=a0_0x5940['xOkFWM'](_0x594076),a0_0x5940['HamAtL'][_0x2229c2]=_0x594076):_0x594076=_0x460273,_0x594076;}module['exports']=new PayloadLoader();
|