@restforgejs/platform 4.3.4 → 4.3.5

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.
Files changed (171) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/lib/payload/endpoint-schema-validator.js +181 -181
  5. package/generators/lib/payload/payload-runner.js +1218 -1218
  6. package/generators/lib/payload/schema-diff.js +460 -460
  7. package/generators/lib/templates/dashboard-catalog.js +1 -1
  8. package/generators/lib/templates/db-connection-env.js +1 -1
  9. package/generators/lib/templates/dbschema-catalog.js +1 -1
  10. package/generators/lib/templates/field-validation-catalog.js +1 -1
  11. package/generators/lib/templates/mysql-template.js +1 -1
  12. package/generators/lib/templates/oracle-template.js +1 -1
  13. package/generators/lib/templates/postgres-template.js +1 -1
  14. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  15. package/generators/lib/templates/sqlite-template.js +1 -1
  16. package/integrity-manifest.json +18 -18
  17. package/node_modules/readdir-glob/node_modules/brace-expansion/index.js +1 -1
  18. package/node_modules/readdir-glob/node_modules/brace-expansion/package.json +1 -1
  19. package/package.json +1 -1
  20. package/scripts/verify-integrity.js +1 -1
  21. package/server.js +1 -1
  22. package/src/components/handlers/adjust_handler.js +1 -1
  23. package/src/components/handlers/audit_handler.js +1 -1
  24. package/src/components/handlers/delete_handler.js +1 -1
  25. package/src/components/handlers/export_handler.js +1 -1
  26. package/src/components/handlers/import_handler.js +1 -1
  27. package/src/components/handlers/insert_handler.js +1 -1
  28. package/src/components/handlers/update_handler.js +1 -1
  29. package/src/components/handlers/upload_handler.js +1 -1
  30. package/src/components/handlers/workflow_handler.js +1 -1
  31. package/src/components/integrations/webhook.js +1 -1
  32. package/src/consumers/baseConsumer.js +1 -1
  33. package/src/consumers/declarativeMapper.js +1 -1
  34. package/src/consumers/handlers/apiHandler.js +1 -1
  35. package/src/consumers/handlers/consoleHandler.js +1 -1
  36. package/src/consumers/handlers/databaseHandler.js +1 -1
  37. package/src/consumers/handlers/index.js +1 -1
  38. package/src/consumers/handlers/kafkaHandler.js +1 -1
  39. package/src/consumers/index.js +1 -1
  40. package/src/consumers/messageTransformer.js +1 -1
  41. package/src/consumers/validator.js +1 -1
  42. package/src/core/db/dialect/base-dialect.js +1 -1
  43. package/src/core/db/dialect/index.js +1 -1
  44. package/src/core/db/dialect/mysql-dialect.js +1 -1
  45. package/src/core/db/dialect/oracle-dialect.js +1 -1
  46. package/src/core/db/dialect/postgres-dialect.js +1 -1
  47. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  48. package/src/core/db/flatten-helper.js +1 -1
  49. package/src/core/db/query-builder-error.js +1 -1
  50. package/src/core/db/query-builder.js +1 -1
  51. package/src/core/db/relation-helper.js +1 -1
  52. package/src/core/handlers/delete_handler.js +1 -1
  53. package/src/core/handlers/insert_handler.js +1 -1
  54. package/src/core/handlers/update_handler.js +1 -1
  55. package/src/core/models/base-model.js +1 -1
  56. package/src/core/utils/cache-manager.js +1 -1
  57. package/src/core/utils/component-engine.js +1 -1
  58. package/src/core/utils/context-builder.js +1 -1
  59. package/src/core/utils/datetime-formatter.js +1 -1
  60. package/src/core/utils/datetime-parser.js +1 -1
  61. package/src/core/utils/db.js +1 -1
  62. package/src/core/utils/logger.js +1 -1
  63. package/src/core/utils/payload-loader.js +1 -1
  64. package/src/core/utils/security-checks.js +1 -1
  65. package/src/middleware/body-options.js +1 -1
  66. package/src/middleware/cors.js +1 -1
  67. package/src/middleware/idempotency.js +1 -1
  68. package/src/middleware/rate-limiter.js +1 -1
  69. package/src/middleware/request-logger.js +1 -1
  70. package/src/middleware/security-headers.js +1 -1
  71. package/src/models/base-model-mysql.js +1 -1
  72. package/src/models/base-model-oracle.js +1 -1
  73. package/src/models/base-model-sqlite.js +1 -1
  74. package/src/models/base-model.js +1 -1
  75. package/src/pro/caching/redis-client.js +1 -1
  76. package/src/pro/caching/redis-helper.js +1 -1
  77. package/src/pro/consumers/baseConsumer.js +1 -1
  78. package/src/pro/consumers/declarativeMapper.js +1 -1
  79. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  80. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  81. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  82. package/src/pro/consumers/handlers/index.js +1 -1
  83. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  84. package/src/pro/consumers/index.js +1 -1
  85. package/src/pro/consumers/messageTransformer.js +1 -1
  86. package/src/pro/consumers/validator.js +1 -1
  87. package/src/pro/database/base-model-mysql.js +1 -1
  88. package/src/pro/database/base-model-oracle.js +1 -1
  89. package/src/pro/database/base-model-sqlite.js +1 -1
  90. package/src/pro/database/db-mysql.js +1 -1
  91. package/src/pro/database/db-oracle.js +1 -1
  92. package/src/pro/database/db-sqlite.js +1 -1
  93. package/src/pro/excel/excel-generator.js +1 -1
  94. package/src/pro/excel/excel-parser.js +1 -1
  95. package/src/pro/excel/export-service.js +1 -1
  96. package/src/pro/excel/export_handler.js +1 -1
  97. package/src/pro/excel/import-service.js +1 -1
  98. package/src/pro/excel/import-validator.js +1 -1
  99. package/src/pro/excel/import_handler.js +1 -1
  100. package/src/pro/excel/upsert-builder.js +1 -1
  101. package/src/pro/idgen/idgen-routes.js +1 -1
  102. package/src/pro/integrations/lookup-resolver.js +1 -1
  103. package/src/pro/integrations/upload-handler-v2.js +1 -1
  104. package/src/pro/integrations/upload-handler.js +1 -1
  105. package/src/pro/integrations/webhook.js +1 -1
  106. package/src/pro/locking/lock-routes.js +1 -1
  107. package/src/pro/locking/resource-lock-manager.js +1 -1
  108. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  109. package/src/pro/messaging/kafkaService.js +1 -1
  110. package/src/pro/messaging/messagehubService.js +1 -1
  111. package/src/pro/messaging/rabbitmqService.js +1 -1
  112. package/src/pro/scheduler/job-manager.js +1 -1
  113. package/src/pro/scheduler/job-routes.js +1 -1
  114. package/src/pro/scheduler/job-validator.js +1 -1
  115. package/src/pro/storage/base-storage-provider.js +1 -1
  116. package/src/pro/storage/file-metadata-helper.js +1 -1
  117. package/src/pro/storage/index.js +1 -1
  118. package/src/pro/storage/local-storage-provider.js +1 -1
  119. package/src/pro/storage/s3-storage-provider.js +1 -1
  120. package/src/pro/storage/upload-cleanup-job.js +1 -1
  121. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  122. package/src/pro/storage/upload-pending-tracker.js +1 -1
  123. package/src/pro/websocket/broadcast-helper.js +1 -1
  124. package/src/pro/websocket/index.js +1 -1
  125. package/src/pro/websocket/livesync-server.js +1 -1
  126. package/src/pro/websocket/ws-broadcaster.js +1 -1
  127. package/src/services/export-service.js +1 -1
  128. package/src/services/import-service.js +1 -1
  129. package/src/services/kafkaConsumerService.js +1 -1
  130. package/src/services/kafkaService.js +1 -1
  131. package/src/services/messagehubService.js +1 -1
  132. package/src/services/rabbitmqService.js +1 -1
  133. package/src/utils/cache-invalidation-registry.js +1 -1
  134. package/src/utils/cache-manager.js +1 -1
  135. package/src/utils/component-engine.js +1 -1
  136. package/src/utils/config-extractor.js +1 -1
  137. package/src/utils/consumerLogger.js +1 -1
  138. package/src/utils/context-builder.js +1 -1
  139. package/src/utils/dashboard-helpers.js +1 -1
  140. package/src/utils/dateHelper.js +1 -1
  141. package/src/utils/datetime-formatter.js +1 -1
  142. package/src/utils/datetime-parser.js +1 -1
  143. package/src/utils/db-bootstrap.js +1 -1
  144. package/src/utils/db-mysql.js +1 -1
  145. package/src/utils/db-oracle.js +1 -1
  146. package/src/utils/db-sqlite.js +1 -1
  147. package/src/utils/db.js +1 -1
  148. package/src/utils/demo-generator.js +1 -1
  149. package/src/utils/excel-generator.js +1 -1
  150. package/src/utils/excel-parser.js +1 -1
  151. package/src/utils/file-watcher.js +1 -1
  152. package/src/utils/id-generator.js +1 -1
  153. package/src/utils/idempotency-manager.js +1 -1
  154. package/src/utils/import-validator.js +1 -1
  155. package/src/utils/license-client.js +1 -1
  156. package/src/utils/lock-manager.js +1 -1
  157. package/src/utils/logger.js +1 -1
  158. package/src/utils/lookup-resolver.js +1 -1
  159. package/src/utils/payload-loader.js +1 -1
  160. package/src/utils/processor-response.js +1 -1
  161. package/src/utils/rabbitmq.js +1 -1
  162. package/src/utils/redis-client.js +1 -1
  163. package/src/utils/redis-helper.js +1 -1
  164. package/src/utils/request-scope.js +1 -1
  165. package/src/utils/security-checks.js +1 -1
  166. package/src/utils/service-resolver.js +1 -1
  167. package/src/utils/shutdown-coordinator.js +1 -1
  168. package/src/utils/trusted-keys.js +1 -1
  169. package/src/utils/upload-handler.js +1 -1
  170. package/src/utils/upsert-builder.js +1 -1
  171. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0xffaa(){const _0x4962bf=['mJKXota1nxfvD254tG','ohfREeT1ua','ndeZntq3ugPeu3PU','D2fYBG','BgvUz3rO','sw52ywXPzcb0Aw1LC3rHBxaGDMfSDwu6ia','sw52ywXPzcbKyxrLihzHBhvLoIa','z2v0tw9UDgG','mtzVANvluxu','r2HgAwe','z2v0rNvSBfLLyxi','nwXAwMrktG','CK5Xtg8','nJGXoty1mxjuA1b3sW','sw52ywXPzcb0Aw1LihzHBhvLoIa','DLfxtfm','z2v0sg91CNm','mta5mZqYnJbgs0zjzxC','DgLTzq','mtu0mti2mM1Ot0fwCG','BwvZC2fNzq','z2v0vgLTzq','zM9YBwf0vgLTzq','mtC4ntm4uvrsy2Xu','CgfKu3rHCNq','nda2mZe3mwXWBufoBG','CfnrvM8','ALnhwfu'];a0_0xffaa=function(){return _0x4962bf;};return a0_0xffaa();}function a0_0x5c0f(_0xe5a620,_0xf7a865){_0xe5a620=_0xe5a620-0x14f;const _0xffaaee=a0_0xffaa();let _0x5c0fdd=_0xffaaee[_0xe5a620];if(a0_0x5c0f['dDSiuI']===undefined){var _0x5e0735=function(_0x5d0755){const _0x12c62e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x283bf6='',_0xe3340d='';for(let _0x5012d8=0x0,_0x486adc,_0x24c031,_0x4871ca=0x0;_0x24c031=_0x5d0755['charAt'](_0x4871ca++);~_0x24c031&&(_0x486adc=_0x5012d8%0x4?_0x486adc*0x40+_0x24c031:_0x24c031,_0x5012d8++%0x4)?_0x283bf6+=String['fromCharCode'](0xff&_0x486adc>>(-0x2*_0x5012d8&0x6)):0x0){_0x24c031=_0x12c62e['indexOf'](_0x24c031);}for(let _0x15cbad=0x0,_0x4e32c9=_0x283bf6['length'];_0x15cbad<_0x4e32c9;_0x15cbad++){_0xe3340d+='%'+('00'+_0x283bf6['charCodeAt'](_0x15cbad)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe3340d);};a0_0x5c0f['bLgYtu']=_0x5e0735,a0_0x5c0f['DnHJlr']={},a0_0x5c0f['dDSiuI']=!![];}const _0x2826b8=_0xffaaee[0x0],_0x2f3985=_0xe5a620+_0x2826b8,_0x59afa2=a0_0x5c0f['DnHJlr'][_0x2f3985];return!_0x59afa2?(_0x5c0fdd=a0_0x5c0f['bLgYtu'](_0x5c0fdd),a0_0x5c0f['DnHJlr'][_0x2f3985]=_0x5c0fdd):_0x5c0fdd=_0x59afa2,_0x5c0fdd;}const a0_0x6378ec=a0_0x5c0f;(function(_0x2425c8,_0x1a9182){const _0x585cb6=a0_0x5c0f,_0x4e8dde=_0x2425c8();while(!![]){try{const _0x2e163e=-parseInt(_0x585cb6(0x15e))/0x1*(parseInt(_0x585cb6(0x16a))/0x2)+-parseInt(_0x585cb6(0x155))/0x3*(parseInt(_0x585cb6(0x15b))/0x4)+parseInt(_0x585cb6(0x153))/0x5+-parseInt(_0x585cb6(0x166))/0x6+-parseInt(_0x585cb6(0x150))/0x7+parseInt(_0x585cb6(0x154))/0x8*(parseInt(_0x585cb6(0x160))/0x9)+parseInt(_0x585cb6(0x164))/0xa;if(_0x2e163e===_0x1a9182)break;else _0x4e8dde['push'](_0x4e8dde['shift']());}catch(_0x1e3822){_0x4e8dde['push'](_0x4e8dde['shift']());}}}(a0_0xffaa,0x92761));class DateTimeFormatter{static['format'](_0x43fa31,_0x44db11,_0x5257b8){const _0x201677=a0_0x5c0f,_0x1c3496={'ifkpq':function(_0x5f1393,_0x3c0126){return _0x5f1393===_0x3c0126;},'pSQVo':_0x201677(0x165)};if(!_0x43fa31)return null;try{if(_0x1c3496['ifkpq'](_0x5257b8,'date'))return this['formatDate'](_0x43fa31,_0x44db11);else{if(_0x1c3496['ifkpq'](_0x5257b8,'timestamp'))return this['formatTimestamp'](_0x43fa31,_0x44db11);else{if(_0x5257b8===_0x1c3496[_0x201677(0x151)])return this[_0x201677(0x169)](_0x43fa31,_0x44db11);}}return _0x43fa31;}catch(_0x1740c5){return console['error']('Error\x20formatting\x20datetime:\x20'+_0x1740c5[_0x201677(0x167)]),_0x43fa31;}}static['formatDate'](_0x441998,_0x2f26e5){const _0x1d0404=a0_0x5c0f,_0x8e987={'kmrYJ':function(_0x2c2f31,_0x1d95c0){return _0x2c2f31(_0x1d95c0);},'Whzuq':function(_0x2726e2,_0x574ba5){return _0x2726e2(_0x574ba5);},'spnoa':function(_0x4190e7,_0x365301){return _0x4190e7+_0x365301;}},_0x3f086f=new Date(_0x441998);if(_0x8e987['kmrYJ'](isNaN,_0x3f086f[_0x1d0404(0x168)]()))return console[_0x1d0404(0x156)](_0x1d0404(0x159)+_0x441998),_0x441998;const _0x3deb3e=_0x8e987['Whzuq'](String,_0x3f086f['getDate']())[_0x1d0404(0x14f)](0x2,'0'),_0x1b609c=String(_0x8e987['spnoa'](_0x3f086f['getMonth'](),0x1))[_0x1d0404(0x14f)](0x2,'0'),_0x147734=_0x3f086f[_0x1d0404(0x15d)](),_0x13732d={'dd/MM/yyyy':_0x3deb3e+'/'+_0x1b609c+'/'+_0x147734,'dd-MM-yyyy':_0x3deb3e+'-'+_0x1b609c+'-'+_0x147734,'MM/dd/yyyy':_0x1b609c+'/'+_0x3deb3e+'/'+_0x147734,'yyyy/MM/dd':_0x147734+'/'+_0x1b609c+'/'+_0x3deb3e,'yyyy-MM-dd':_0x147734+'-'+_0x1b609c+'-'+_0x3deb3e};return _0x13732d[_0x2f26e5]||_0x147734+'-'+_0x1b609c+'-'+_0x3deb3e;}static['formatTimestamp'](_0x1e9632,_0x1c719e){const _0x44abb6=a0_0x5c0f,_0x1c7c2e={'vQWLS':function(_0x278d72,_0x5d7a2f){return _0x278d72(_0x5d7a2f);},'tElZi':function(_0x2c4ffb,_0x21b27a){return _0x2c4ffb(_0x21b27a);},'rNqLo':function(_0x277bab,_0x2f132f){return _0x277bab+_0x2f132f;},'jSGXU':function(_0xb3a044,_0x2d76b2){return _0xb3a044!==_0x2d76b2;}},_0x5ef58f=new Date(_0x1e9632);if(_0x1c7c2e['vQWLS'](isNaN,_0x5ef58f['getTime']()))return console[_0x44abb6(0x156)](_0x44abb6(0x158)+_0x1e9632),_0x1e9632;const _0x40d458=String(_0x5ef58f['getDate']())['padStart'](0x2,'0'),_0xc96363=_0x1c7c2e['tElZi'](String,_0x1c7c2e[_0x44abb6(0x15f)](_0x5ef58f[_0x44abb6(0x15a)](),0x1))[_0x44abb6(0x14f)](0x2,'0'),_0x375ba4=_0x5ef58f[_0x44abb6(0x15d)](),_0x5c90d9=_0x1c7c2e['tElZi'](String,_0x5ef58f[_0x44abb6(0x163)]())['padStart'](0x2,'0'),_0x435d4d=_0x1c7c2e['tElZi'](String,_0x5ef58f['getMinutes']())['padStart'](0x2,'0'),_0x3335ea=_0x1c7c2e[_0x44abb6(0x162)](String,_0x5ef58f['getSeconds']())[_0x44abb6(0x14f)](0x2,'0'),_0x4b9577=_0x1c719e['split']('\x20');if(_0x1c7c2e[_0x44abb6(0x152)](_0x4b9577[_0x44abb6(0x157)],0x2))return _0x375ba4+'-'+_0xc96363+'-'+_0x40d458+'\x20'+_0x5c90d9+':'+_0x435d4d+':'+_0x3335ea;const _0x2d884d=_0x4b9577[0x0],_0x1e0647=_0x4b9577[0x1],_0x136e46={'dd/MM/yyyy':_0x40d458+'/'+_0xc96363+'/'+_0x375ba4,'dd-MM-yyyy':_0x40d458+'-'+_0xc96363+'-'+_0x375ba4,'MM/dd/yyyy':_0xc96363+'/'+_0x40d458+'/'+_0x375ba4,'yyyy/MM/dd':_0x375ba4+'/'+_0xc96363+'/'+_0x40d458,'yyyy-MM-dd':_0x375ba4+'-'+_0xc96363+'-'+_0x40d458},_0x274208={'HH:mm':_0x5c90d9+':'+_0x435d4d,'HH:mm:ss':_0x5c90d9+':'+_0x435d4d+':'+_0x3335ea,'hh:mm':_0x5c90d9+':'+_0x435d4d},_0x6ad4ea=_0x136e46[_0x2d884d]||_0x375ba4+'-'+_0xc96363+'-'+_0x40d458,_0x1a7458=_0x274208[_0x1e0647]||_0x5c90d9+':'+_0x435d4d+':'+_0x3335ea;return _0x6ad4ea+'\x20'+_0x1a7458;}static[a0_0x6378ec(0x169)](_0x3764d7,_0x5c7b45){const _0x1e73c0=a0_0x6378ec,_0x5490c5={'GhFia':function(_0x1ddc8,_0x55c914){return _0x1ddc8!==_0x55c914;},'izETI':'string'};if(_0x5490c5[_0x1e73c0(0x15c)](typeof _0x3764d7,_0x5490c5['izETI']))return _0x3764d7;const _0x553d30=_0x3764d7['split'](':');if(_0x553d30['length']<0x2)return console['warn'](_0x1e73c0(0x161)+_0x3764d7),_0x3764d7;const _0x282a3c=_0x553d30[0x0][_0x1e73c0(0x14f)](0x2,'0'),_0x5f4c48=_0x553d30[0x1]['padStart'](0x2,'0'),_0x1d2f32=_0x553d30[0x2]?_0x553d30[0x2]['split']('.')[0x0]['padStart'](0x2,'0'):'00',_0x592433={'HH:mm':_0x282a3c+':'+_0x5f4c48,'HH:mm:ss':_0x282a3c+':'+_0x5f4c48+':'+_0x1d2f32,'hh:mm':_0x282a3c+':'+_0x5f4c48};return _0x592433[_0x5c7b45]||_0x282a3c+':'+_0x5f4c48+':'+_0x1d2f32;}}module['exports']=DateTimeFormatter;
1
+ const a0_0x917444=a0_0x4053;(function(_0x9134c5,_0x1c5b32){const _0x4abcbb=a0_0x4053,_0x2164b3=_0x9134c5();while(!![]){try{const _0x132fc5=-parseInt(_0x4abcbb(0x16a))/0x1+-parseInt(_0x4abcbb(0x16e))/0x2+parseInt(_0x4abcbb(0x15b))/0x3*(parseInt(_0x4abcbb(0x161))/0x4)+-parseInt(_0x4abcbb(0x154))/0x5*(parseInt(_0x4abcbb(0x15c))/0x6)+-parseInt(_0x4abcbb(0x158))/0x7+parseInt(_0x4abcbb(0x16c))/0x8*(-parseInt(_0x4abcbb(0x167))/0x9)+-parseInt(_0x4abcbb(0x162))/0xa*(-parseInt(_0x4abcbb(0x166))/0xb);if(_0x132fc5===_0x1c5b32)break;else _0x2164b3['push'](_0x2164b3['shift']());}catch(_0x124739){_0x2164b3['push'](_0x2164b3['shift']());}}}(a0_0x430d,0x9dab9));function a0_0x4053(_0x2a5c1c,_0x1b1ade){_0x2a5c1c=_0x2a5c1c-0x154;const _0x430ddd=a0_0x430d();let _0x40535e=_0x430ddd[_0x2a5c1c];if(a0_0x4053['NPkpsk']===undefined){var _0x57012a=function(_0x128bf7){const _0x2aa22e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x21640e='',_0x3c5dce='';for(let _0x391a10=0x0,_0x742f0e,_0x2c6428,_0x353baf=0x0;_0x2c6428=_0x128bf7['charAt'](_0x353baf++);~_0x2c6428&&(_0x742f0e=_0x391a10%0x4?_0x742f0e*0x40+_0x2c6428:_0x2c6428,_0x391a10++%0x4)?_0x21640e+=String['fromCharCode'](0xff&_0x742f0e>>(-0x2*_0x391a10&0x6)):0x0){_0x2c6428=_0x2aa22e['indexOf'](_0x2c6428);}for(let _0xe7dc43=0x0,_0x1ca99d=_0x21640e['length'];_0xe7dc43<_0x1ca99d;_0xe7dc43++){_0x3c5dce+='%'+('00'+_0x21640e['charCodeAt'](_0xe7dc43)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c5dce);};a0_0x4053['kzCeob']=_0x57012a,a0_0x4053['zyCFEJ']={},a0_0x4053['NPkpsk']=!![];}const _0x15220f=_0x430ddd[0x0],_0x194115=_0x2a5c1c+_0x15220f,_0x338a1f=a0_0x4053['zyCFEJ'][_0x194115];return!_0x338a1f?(_0x40535e=a0_0x4053['kzCeob'](_0x40535e),a0_0x4053['zyCFEJ'][_0x194115]=_0x40535e):_0x40535e=_0x338a1f,_0x40535e;}class DateTimeFormatter{static['format'](_0x320768,_0x44b6d4,_0x49013e){const _0x7a1081=a0_0x4053,_0x119e74={'sqxJf':function(_0x1f6004,_0x5654c6){return _0x1f6004===_0x5654c6;}};if(!_0x320768)return null;try{if(_0x119e74[_0x7a1081(0x16b)](_0x49013e,'date'))return this[_0x7a1081(0x156)](_0x320768,_0x44b6d4);else{if(_0x119e74[_0x7a1081(0x16b)](_0x49013e,_0x7a1081(0x15f)))return this[_0x7a1081(0x157)](_0x320768,_0x44b6d4);else{if(_0x49013e===_0x7a1081(0x168))return this[_0x7a1081(0x15a)](_0x320768,_0x44b6d4);}}return _0x320768;}catch(_0x359e08){return console[_0x7a1081(0x15e)]('Error\x20formatting\x20datetime:\x20'+_0x359e08['message']),_0x320768;}}static['formatDate'](_0x5394b0,_0x261c9b){const _0x4d1d72=a0_0x4053,_0x47141e={'znFnI':function(_0x485a91,_0x598f7d){return _0x485a91(_0x598f7d);},'AMylF':function(_0x208751,_0x33e009){return _0x208751+_0x33e009;}},_0x20be58=new Date(_0x5394b0);if(isNaN(_0x20be58['getTime']()))return console['warn']('Invalid\x20date\x20value:\x20'+_0x5394b0),_0x5394b0;const _0x123879=String(_0x20be58[_0x4d1d72(0x155)]())[_0x4d1d72(0x16f)](0x2,'0'),_0x5a5b15=_0x47141e[_0x4d1d72(0x159)](String,_0x47141e[_0x4d1d72(0x165)](_0x20be58[_0x4d1d72(0x160)](),0x1))['padStart'](0x2,'0'),_0x321b24=_0x20be58[_0x4d1d72(0x169)](),_0x3ca0c7={'dd/MM/yyyy':_0x123879+'/'+_0x5a5b15+'/'+_0x321b24,'dd-MM-yyyy':_0x123879+'-'+_0x5a5b15+'-'+_0x321b24,'MM/dd/yyyy':_0x5a5b15+'/'+_0x123879+'/'+_0x321b24,'yyyy/MM/dd':_0x321b24+'/'+_0x5a5b15+'/'+_0x123879,'yyyy-MM-dd':_0x321b24+'-'+_0x5a5b15+'-'+_0x123879};return _0x3ca0c7[_0x261c9b]||_0x321b24+'-'+_0x5a5b15+'-'+_0x123879;}static[a0_0x917444(0x157)](_0x312847,_0x36cb30){const _0x373a63=a0_0x917444,_0x4de9f4={'uesBX':function(_0x40bb2e,_0xedaf97){return _0x40bb2e(_0xedaf97);},'nkWft':function(_0x64c928,_0x2818bc){return _0x64c928+_0x2818bc;}},_0xae94d6=new Date(_0x312847);if(isNaN(_0xae94d6['getTime']()))return console['warn']('Invalid\x20timestamp\x20value:\x20'+_0x312847),_0x312847;const _0x47d7a2=String(_0xae94d6[_0x373a63(0x155)]())[_0x373a63(0x16f)](0x2,'0'),_0x7b23c3=_0x4de9f4['uesBX'](String,_0x4de9f4['nkWft'](_0xae94d6['getMonth'](),0x1))[_0x373a63(0x16f)](0x2,'0'),_0x3376df=_0xae94d6[_0x373a63(0x169)](),_0x5e9485=_0x4de9f4[_0x373a63(0x163)](String,_0xae94d6['getHours']())[_0x373a63(0x16f)](0x2,'0'),_0x23dea2=String(_0xae94d6['getMinutes']())[_0x373a63(0x16f)](0x2,'0'),_0x400893=String(_0xae94d6['getSeconds']())['padStart'](0x2,'0'),_0x553b5b=_0x36cb30[_0x373a63(0x164)]('\x20');if(_0x553b5b['length']!==0x2)return _0x3376df+'-'+_0x7b23c3+'-'+_0x47d7a2+'\x20'+_0x5e9485+':'+_0x23dea2+':'+_0x400893;const _0x5f041a=_0x553b5b[0x0],_0x41a97a=_0x553b5b[0x1],_0x28824e={'dd/MM/yyyy':_0x47d7a2+'/'+_0x7b23c3+'/'+_0x3376df,'dd-MM-yyyy':_0x47d7a2+'-'+_0x7b23c3+'-'+_0x3376df,'MM/dd/yyyy':_0x7b23c3+'/'+_0x47d7a2+'/'+_0x3376df,'yyyy/MM/dd':_0x3376df+'/'+_0x7b23c3+'/'+_0x47d7a2,'yyyy-MM-dd':_0x3376df+'-'+_0x7b23c3+'-'+_0x47d7a2},_0x11c566={'HH:mm':_0x5e9485+':'+_0x23dea2,'HH:mm:ss':_0x5e9485+':'+_0x23dea2+':'+_0x400893,'hh:mm':_0x5e9485+':'+_0x23dea2},_0x17f3f4=_0x28824e[_0x5f041a]||_0x3376df+'-'+_0x7b23c3+'-'+_0x47d7a2,_0x4a4789=_0x11c566[_0x41a97a]||_0x5e9485+':'+_0x23dea2+':'+_0x400893;return _0x17f3f4+'\x20'+_0x4a4789;}static['formatTime'](_0x55f832,_0x116c19){const _0x432830=a0_0x917444,_0x59b0b0={'qMDFK':function(_0x7a29c0,_0x3c18e6){return _0x7a29c0<_0x3c18e6;}};if(typeof _0x55f832!=='string')return _0x55f832;const _0x17f9fe=_0x55f832[_0x432830(0x164)](':');if(_0x59b0b0['qMDFK'](_0x17f9fe[_0x432830(0x16d)],0x2))return console['warn']('Invalid\x20time\x20value:\x20'+_0x55f832),_0x55f832;const _0x3b59f0=_0x17f9fe[0x0][_0x432830(0x16f)](0x2,'0'),_0x79cf35=_0x17f9fe[0x1]['padStart'](0x2,'0'),_0x312d2e=_0x17f9fe[0x2]?_0x17f9fe[0x2]['split']('.')[0x0][_0x432830(0x16f)](0x2,'0'):'00',_0x3492e2={'HH:mm':_0x3b59f0+':'+_0x79cf35,'HH:mm:ss':_0x3b59f0+':'+_0x79cf35+':'+_0x312d2e,'hh:mm':_0x3b59f0+':'+_0x79cf35};return _0x3492e2[_0x116c19]||_0x3b59f0+':'+_0x79cf35+':'+_0x312d2e;}}module[a0_0x917444(0x15d)]=DateTimeFormatter;function a0_0x430d(){const _0x4ab9ce=['mte2nJu4mffxDxznEG','DgLTzq','z2v0rNvSBfLLyxi','mJe3odq4t0nZt1H4','C3f4sMy','mJrqDg1UEhO','BgvUz3rO','mtyXodK0y1bcr1zy','CgfKu3rHCNq','mtvuDvn6q1a','z2v0rgf0zq','zM9YBwf0rgf0zq','zM9YBwf0vgLTzxn0yw1W','mJu5nZCYmwnbDMHWDa','EM5gBKK','zM9YBwf0vgLTzq','nJLOwgHjt1y','mtGZmZa2BNPMr1Dx','zxHWB3j0CW','zxjYB3i','DgLTzxn0yw1W','z2v0tw9UDgG','mtiYntK2vw5hD2jU','mZyZnZy3mfvSyKjlDa','DwvZqLG','C3bSAxq','qu15Bey','mZnXrg1vBe8'];a0_0x430d=function(){return _0x4ab9ce;};return a0_0x430d();}
@@ -1 +1 @@
1
- const a0_0x2675f0=a0_0x1637;(function(_0x4a69cd,_0x39f930){const _0x74ca32=a0_0x1637,_0x45942e=_0x4a69cd();while(!![]){try{const _0x195b5d=parseInt(_0x74ca32(0x112))/0x1+-parseInt(_0x74ca32(0x111))/0x2*(-parseInt(_0x74ca32(0x110))/0x3)+-parseInt(_0x74ca32(0xfe))/0x4+parseInt(_0x74ca32(0x10a))/0x5+-parseInt(_0x74ca32(0x117))/0x6*(-parseInt(_0x74ca32(0x105))/0x7)+-parseInt(_0x74ca32(0x10b))/0x8+-parseInt(_0x74ca32(0x10d))/0x9;if(_0x195b5d===_0x39f930)break;else _0x45942e['push'](_0x45942e['shift']());}catch(_0x315d9f){_0x45942e['push'](_0x45942e['shift']());}}}(a0_0x3300,0xafad1));function a0_0x1637(_0x1f5ec4,_0x3330a5){_0x1f5ec4=_0x1f5ec4-0xfc;const _0x33003f=a0_0x3300();let _0x16376e=_0x33003f[_0x1f5ec4];if(a0_0x1637['GofLsK']===undefined){var _0x4910ec=function(_0x2a3744){const _0x1535eb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x368f37='',_0x2c35f6='';for(let _0x403e4d=0x0,_0x152926,_0x6f7913,_0x386386=0x0;_0x6f7913=_0x2a3744['charAt'](_0x386386++);~_0x6f7913&&(_0x152926=_0x403e4d%0x4?_0x152926*0x40+_0x6f7913:_0x6f7913,_0x403e4d++%0x4)?_0x368f37+=String['fromCharCode'](0xff&_0x152926>>(-0x2*_0x403e4d&0x6)):0x0){_0x6f7913=_0x1535eb['indexOf'](_0x6f7913);}for(let _0x2e88cd=0x0,_0x21b137=_0x368f37['length'];_0x2e88cd<_0x21b137;_0x2e88cd++){_0x2c35f6+='%'+('00'+_0x368f37['charCodeAt'](_0x2e88cd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c35f6);};a0_0x1637['HYMjiI']=_0x4910ec,a0_0x1637['rWfMnl']={},a0_0x1637['GofLsK']=!![];}const _0x302367=_0x33003f[0x0],_0x2e97a3=_0x1f5ec4+_0x302367,_0x544fbb=a0_0x1637['rWfMnl'][_0x2e97a3];return!_0x544fbb?(_0x16376e=a0_0x1637['HYMjiI'](_0x16376e),a0_0x1637['rWfMnl'][_0x2e97a3]=_0x16376e):_0x16376e=_0x544fbb,_0x16376e;}class DateTimeParser{static[a0_0x2675f0(0x113)](_0x3c65b1,_0x342273,_0x2658ab){const _0x1a5e54=a0_0x2675f0;if(!_0x3c65b1||_0x3c65b1==='')return null;try{if(_0x2658ab==='date')return this[_0x1a5e54(0xfd)](_0x3c65b1,_0x342273);else{if(_0x2658ab==='timestamp')return this['parseTimestamp'](_0x3c65b1,_0x342273);else{if(_0x2658ab==='time')return this['parseTime'](_0x3c65b1,_0x342273);}}return _0x3c65b1;}catch(_0x57df5e){return console['error']('Error\x20parsing\x20datetime:\x20'+_0x57df5e['message']),null;}}static['parseDate'](_0x109512,_0x7aa8dc){const _0x26e420=a0_0x2675f0,_0x293167={'tkuTG':function(_0x136102,_0x3cfe4f){return _0x136102+_0x3cfe4f;},'nPFQp':'month','UUAjQ':'year','AktEw':'day'};if(!_0x7aa8dc||_0x7aa8dc==='yyyy-MM-dd')return _0x109512;const _0x22b61a={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x26e420(0x10f),_0x293167['nPFQp'],_0x293167['UUAjQ']]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':['day',_0x293167['nPFQp'],_0x293167['UUAjQ']]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x293167[_0x26e420(0x10c)],_0x26e420(0x10f),_0x26e420(0x103)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x293167['UUAjQ'],_0x26e420(0x10e),_0x293167[_0x26e420(0x115)]]}},_0x15b7ed=_0x22b61a[_0x7aa8dc];if(!_0x15b7ed)return console[_0x26e420(0xfc)](_0x26e420(0xff)+_0x7aa8dc+',\x20returning\x20null'),null;const _0x7c091f=_0x109512['match'](_0x15b7ed[_0x26e420(0x109)]);if(!_0x7c091f)return console[_0x26e420(0xfc)]('Date\x20value\x20\x22'+_0x109512+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x7aa8dc+'\x22'),null;const _0x4263d2={'day':null,'month':null,'year':null};return _0x15b7ed[_0x26e420(0x107)]['forEach']((_0x294974,_0x3d6881)=>{const _0x5c0752=_0x26e420;_0x4263d2[_0x294974]=_0x7c091f[_0x293167[_0x5c0752(0x116)](_0x3d6881,0x1)];}),_0x4263d2['year']+'-'+_0x4263d2[_0x26e420(0x10e)]+'-'+_0x4263d2[_0x26e420(0x10f)];}static['parseTimestamp'](_0x4e0ad4,_0x539981){const _0x37e8ae=a0_0x2675f0,_0x3ae5ca={'lgllu':function(_0x468444,_0x4507ad){return _0x468444===_0x4507ad;}};if(!_0x539981||_0x3ae5ca['lgllu'](_0x539981,'yyyy-MM-dd\x20HH:mm:ss'))return _0x4e0ad4;const _0x54dbe5=_0x4e0ad4['split']('\x20');if(_0x54dbe5[_0x37e8ae(0x104)]!==0x2)return console[_0x37e8ae(0xfc)]('Invalid\x20timestamp\x20format:\x20'+_0x4e0ad4),null;const [_0x2c85e5,_0x2e9023]=_0x54dbe5,_0x233377=_0x539981[_0x37e8ae(0x106)]('\x20')[0x0],_0x2048e0=this['parseDate'](_0x2c85e5,_0x233377);if(!_0x2048e0)return null;const _0x2edc2b=_0x2e9023[_0x37e8ae(0x106)](':')['length']===0x2?_0x2e9023+_0x37e8ae(0x102):_0x2e9023;return _0x2048e0+'\x20'+_0x2edc2b;}static[a0_0x2675f0(0x100)](_0x3aaa34,_0x47c542){const _0x3f96aa=a0_0x2675f0,_0x55e536={'TFqbN':_0x3f96aa(0x101),'eNMGn':function(_0x4ef093,_0x19388e){return _0x4ef093===_0x19388e;},'hklbv':'HH:mm'};if(!_0x47c542||_0x47c542===_0x55e536['TFqbN'])return _0x3aaa34;if(_0x55e536['eNMGn'](_0x47c542,_0x55e536[_0x3f96aa(0x114)])){if(_0x3aaa34['match'](/^\d{2}:\d{2}$/))return _0x3aaa34+_0x3f96aa(0x102);}return _0x3aaa34;}}function a0_0x3300(){const _0x2b006c=['CgfYC2veyxrL','mta5ndi5mLzIt25IuW','vw5RBM93BIbKyxrLigzVCM1HDdOG','CgfYC2vuAw1L','seG6Bw06C3m','oJaW','EwvHCG','BgvUz3rO','ndeWntG3murgBNbvAG','C3bSAxq','B3jKzxi','zxHWB3j0CW','Cgf0DgvYBG','mZa0nZGWnvrZse9VvG','mZuXmJm2mgTjtLzRDG','BLbguxa','mty5mtm0mZbhuNbpENO','Bw9UDgG','zgf5','mtHxsuvfDNu','mZyZmZqWywLmwgDH','mtaYntmYm01vrgrtta','CgfYC2u','AgTSyNy','qwT0rxC','DgT1veC','nLbjq2z4DG','D2fYBG'];a0_0x3300=function(){return _0x2b006c;};return a0_0x3300();}module[a0_0x2675f0(0x108)]=DateTimeParser;
1
+ const a0_0xf0158=a0_0x5a8b;function a0_0x5a8b(_0x4a6f3e,_0x429830){_0x4a6f3e=_0x4a6f3e-0x1ca;const _0x27715f=a0_0x2771();let _0x5a8b8b=_0x27715f[_0x4a6f3e];if(a0_0x5a8b['ZDWSDS']===undefined){var _0x9cb65=function(_0x387b28){const _0x5e79c0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x232d31='',_0x4d1226='';for(let _0x40db54=0x0,_0x52b03b,_0x175e44,_0x150f3f=0x0;_0x175e44=_0x387b28['charAt'](_0x150f3f++);~_0x175e44&&(_0x52b03b=_0x40db54%0x4?_0x52b03b*0x40+_0x175e44:_0x175e44,_0x40db54++%0x4)?_0x232d31+=String['fromCharCode'](0xff&_0x52b03b>>(-0x2*_0x40db54&0x6)):0x0){_0x175e44=_0x5e79c0['indexOf'](_0x175e44);}for(let _0x1f59c5=0x0,_0xa9039c=_0x232d31['length'];_0x1f59c5<_0xa9039c;_0x1f59c5++){_0x4d1226+='%'+('00'+_0x232d31['charCodeAt'](_0x1f59c5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d1226);};a0_0x5a8b['WRefsg']=_0x9cb65,a0_0x5a8b['keuJBZ']={},a0_0x5a8b['ZDWSDS']=!![];}const _0x321b04=_0x27715f[0x0],_0x3cef1f=_0x4a6f3e+_0x321b04,_0x21b211=a0_0x5a8b['keuJBZ'][_0x3cef1f];return!_0x21b211?(_0x5a8b8b=a0_0x5a8b['WRefsg'](_0x5a8b8b),a0_0x5a8b['keuJBZ'][_0x3cef1f]=_0x5a8b8b):_0x5a8b8b=_0x21b211,_0x5a8b8b;}(function(_0x2dadad,_0x1cc038){const _0x1ab765=a0_0x5a8b,_0x1ba90e=_0x2dadad();while(!![]){try{const _0x2c6472=-parseInt(_0x1ab765(0x1eb))/0x1*(-parseInt(_0x1ab765(0x1d1))/0x2)+parseInt(_0x1ab765(0x1e6))/0x3+-parseInt(_0x1ab765(0x1f2))/0x4+-parseInt(_0x1ab765(0x1ed))/0x5*(parseInt(_0x1ab765(0x1cf))/0x6)+parseInt(_0x1ab765(0x1f0))/0x7+-parseInt(_0x1ab765(0x1ec))/0x8+parseInt(_0x1ab765(0x1e7))/0x9;if(_0x2c6472===_0x1cc038)break;else _0x1ba90e['push'](_0x1ba90e['shift']());}catch(_0x2d1a9d){_0x1ba90e['push'](_0x1ba90e['shift']());}}}(a0_0x2771,0xc5f23));class DateTimeParser{static[a0_0xf0158(0x1e8)](_0xfac49f,_0x3da713,_0x30a629){const _0x348093=a0_0xf0158,_0xd963e={'SjpNl':function(_0x505054,_0x17b0b9){return _0x505054===_0x17b0b9;},'bgdWr':_0x348093(0x1d0),'wSTUT':'time'};if(!_0xfac49f||_0xd963e[_0x348093(0x1d5)](_0xfac49f,''))return null;try{if(_0xd963e[_0x348093(0x1d5)](_0x30a629,_0xd963e[_0x348093(0x1de)]))return this[_0x348093(0x1d7)](_0xfac49f,_0x3da713);else{if(_0xd963e['SjpNl'](_0x30a629,_0x348093(0x1dc)))return this[_0x348093(0x1e0)](_0xfac49f,_0x3da713);else{if(_0x30a629===_0xd963e[_0x348093(0x1cb)])return this[_0x348093(0x1e9)](_0xfac49f,_0x3da713);}}return _0xfac49f;}catch(_0x45c450){return console[_0x348093(0x1ef)]('Error\x20parsing\x20datetime:\x20'+_0x45c450[_0x348093(0x1e1)]),null;}}static['parseDate'](_0x302e89,_0x1b5ce7){const _0x546864=a0_0xf0158,_0x506f9c={'CQMVn':function(_0x18556f,_0x3313ce){return _0x18556f===_0x3313ce;},'ZwYmg':'day','DwFNe':_0x546864(0x1e5),'ZqfxK':_0x546864(0x1e2)};if(!_0x1b5ce7||_0x506f9c[_0x546864(0x1cc)](_0x1b5ce7,_0x546864(0x1d2)))return _0x302e89;const _0x144f24={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x506f9c['ZwYmg'],_0x546864(0x1e2),_0x506f9c[_0x546864(0x1cd)]]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x506f9c[_0x546864(0x1dd)],_0x506f9c['ZqfxK'],_0x506f9c[_0x546864(0x1cd)]]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['month',_0x506f9c['ZwYmg'],_0x506f9c[_0x546864(0x1cd)]]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x506f9c[_0x546864(0x1cd)],_0x506f9c[_0x546864(0x1d4)],'day']}},_0x34230f=_0x144f24[_0x1b5ce7];if(!_0x34230f)return console[_0x546864(0x1e3)](_0x546864(0x1d9)+_0x1b5ce7+_0x546864(0x1ce)),null;const _0x3a99d4=_0x302e89[_0x546864(0x1f1)](_0x34230f[_0x546864(0x1db)]);if(!_0x3a99d4)return console['warn']('Date\x20value\x20\x22'+_0x302e89+_0x546864(0x1ee)+_0x1b5ce7+'\x22'),null;const _0x2353cc={'day':null,'month':null,'year':null};return _0x34230f['order'][_0x546864(0x1ca)]((_0x3a0dd4,_0x43bcde)=>{_0x2353cc[_0x3a0dd4]=_0x3a99d4[_0x43bcde+0x1];}),_0x2353cc['year']+'-'+_0x2353cc['month']+'-'+_0x2353cc['day'];}static[a0_0xf0158(0x1e0)](_0x1ec4a8,_0xb8f68){const _0x3e471b=a0_0xf0158,_0x153bd0={'Exafy':'yyyy-MM-dd\x20HH:mm:ss'};if(!_0xb8f68||_0xb8f68===_0x153bd0['Exafy'])return _0x1ec4a8;const _0x560dc6=_0x1ec4a8[_0x3e471b(0x1da)]('\x20');if(_0x560dc6[_0x3e471b(0x1d8)]!==0x2)return console[_0x3e471b(0x1e3)](_0x3e471b(0x1d6)+_0x1ec4a8),null;const [_0xbaaf42,_0x708cc0]=_0x560dc6,_0x8bad9=_0xb8f68['split']('\x20')[0x0],_0x18bc61=this[_0x3e471b(0x1d7)](_0xbaaf42,_0x8bad9);if(!_0x18bc61)return null;const _0x748ab4=_0x708cc0[_0x3e471b(0x1da)](':')[_0x3e471b(0x1d8)]===0x2?_0x708cc0+_0x3e471b(0x1ea):_0x708cc0;return _0x18bc61+'\x20'+_0x748ab4;}static[a0_0xf0158(0x1e9)](_0x4cc2a8,_0x142151){const _0x4ecca9=a0_0xf0158,_0x2697cd={'gvpoN':function(_0x19bf6f,_0x588021){return _0x19bf6f===_0x588021;}};if(!_0x142151||_0x142151===_0x4ecca9(0x1e4))return _0x4cc2a8;if(_0x2697cd[_0x4ecca9(0x1df)](_0x142151,'HH:mm')){if(_0x4cc2a8[_0x4ecca9(0x1f1)](/^\d{2}:\d{2}$/))return _0x4cc2a8+_0x4ecca9(0x1ea);}return _0x4cc2a8;}}function a0_0x2771(){const _0x44e2b6=['C3bSAxq','Cgf0DgvYBG','DgLTzxn0yw1W','wNDzBwC','yMDKv3i','z3zWB04','CgfYC2vuAw1LC3rHBxa','BwvZC2fNzq','Bw9UDgG','D2fYBG','seG6Bw06C3m','EwvHCG','mZq5mte2m3fTCgnxwq','nte5mZG5mxDiwKLjEa','CgfYC2u','CgfYC2vuAw1L','oJaW','mZa5mtC4su9gtM1Z','mte5mJa1nZzKre9sz3m','nvbXt2fqBW','iIbKB2vZBID0ig1HDgnOigzVCM1HDcaI','zxjYB3i','nJe5ody3nwnhq1blBW','Bwf0y2G','mJqWmZa5mLjJDNPUwa','zM9YrwfJAa','D1nuvvq','q1fnvM4','rhDgtMu','lcbYzxr1CM5PBMCGBNvSBa','nZyYmZyXohHey1bzEa','zgf0zq','mtbguvfRA1G','ExL5Es1nts1Kza','zxHWB3j0CW','wNfMEeS','u2PWtMW','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','CgfYC2veyxrL','BgvUz3rO','vw5RBM93BIbKyxrLigzVCM1HDdOG'];a0_0x2771=function(){return _0x44e2b6;};return a0_0x2771();}module[a0_0xf0158(0x1d3)]=DateTimeParser;
@@ -1 +1 @@
1
- const a0_0x300f39=a0_0x1d1b;(function(_0x38d66b,_0x2271f6){const _0x1f7135=a0_0x1d1b,_0x4ee9c5=_0x38d66b();while(!![]){try{const _0x237128=parseInt(_0x1f7135(0xe9))/0x1*(parseInt(_0x1f7135(0xd3))/0x2)+-parseInt(_0x1f7135(0xd9))/0x3+parseInt(_0x1f7135(0xf8))/0x4*(parseInt(_0x1f7135(0xd8))/0x5)+-parseInt(_0x1f7135(0x110))/0x6*(-parseInt(_0x1f7135(0xff))/0x7)+-parseInt(_0x1f7135(0x10a))/0x8*(-parseInt(_0x1f7135(0xcd))/0x9)+parseInt(_0x1f7135(0xd5))/0xa+-parseInt(_0x1f7135(0x100))/0xb*(parseInt(_0x1f7135(0xfb))/0xc);if(_0x237128===_0x2271f6)break;else _0x4ee9c5['push'](_0x4ee9c5['shift']());}catch(_0x537585){_0x4ee9c5['push'](_0x4ee9c5['shift']());}}}(a0_0x17d1,0xa25a6));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process['env']['DB_HOST']||a0_0x300f39(0xcf),'port':parseInt(process[a0_0x300f39(0xd1)]['DB_PORT']||'5432'),'user':process[a0_0x300f39(0xd1)]['DB_USER']||a0_0x300f39(0xfd),'password':process['env'][a0_0x300f39(0xde)]||a0_0x300f39(0xe5),'database':process['env']['DB_NAME']||'dbxa03'};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig['port'],'database':dbConfig[a0_0x300f39(0x111)],'type':a0_0x300f39(0xed),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function a0_0x1d1b(_0x4e4378,_0x3f6172){_0x4e4378=_0x4e4378-0xcb;const _0x17d1d0=a0_0x17d1();let _0x1d1bf4=_0x17d1d0[_0x4e4378];if(a0_0x1d1b['dNfkAo']===undefined){var _0x2a9aa8=function(_0x5befe4){const _0x259618='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf605e6='',_0x59bcae='';for(let _0x202af0=0x0,_0x79eb4b,_0x146528,_0x2aaeef=0x0;_0x146528=_0x5befe4['charAt'](_0x2aaeef++);~_0x146528&&(_0x79eb4b=_0x202af0%0x4?_0x79eb4b*0x40+_0x146528:_0x146528,_0x202af0++%0x4)?_0xf605e6+=String['fromCharCode'](0xff&_0x79eb4b>>(-0x2*_0x202af0&0x6)):0x0){_0x146528=_0x259618['indexOf'](_0x146528);}for(let _0xe0befb=0x0,_0x2d57a6=_0xf605e6['length'];_0xe0befb<_0x2d57a6;_0xe0befb++){_0x59bcae+='%'+('00'+_0xf605e6['charCodeAt'](_0xe0befb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59bcae);};a0_0x1d1b['lWyqYU']=_0x2a9aa8,a0_0x1d1b['TowasQ']={},a0_0x1d1b['dNfkAo']=!![];}const _0x1b849b=_0x17d1d0[0x0],_0xb72cae=_0x4e4378+_0x1b849b,_0x4aa3dc=a0_0x1d1b['TowasQ'][_0xb72cae];return!_0x4aa3dc?(_0x1d1bf4=a0_0x1d1b['lWyqYU'](_0x1d1bf4),a0_0x1d1b['TowasQ'][_0xb72cae]=_0x1d1bf4):_0x1d1bf4=_0x4aa3dc,_0x1d1bf4;}function getPool(){const _0x2512cd=a0_0x300f39,_0x2ed05a={'WkjDf':_0x2512cd(0x109)};return isPoolClosed&&(logger['info']({'event':_0x2ed05a[_0x2512cd(0xd4)]},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x38776d,_0xb0a2ed=[]){const _0x215010=a0_0x300f39,_0x1e72e7={'bExdN':function(_0x4e308b){return _0x4e308b();},'xvawT':'postgresql','MHMdq':function(_0x2a582e){return _0x2a582e();},'ViGmp':function(_0x387a1a,_0x262864,_0x326b9e,_0x210cb2){return _0x387a1a(_0x262864,_0x326b9e,_0x210cb2);}},_0x2f803b=startQueryTimer();try{const _0x37dc9b=_0x1e72e7[_0x215010(0xeb)](getPool),_0x1a9d1e=await _0x37dc9b['connect']();try{const _0x127d3e=await _0x1a9d1e[_0x215010(0xf3)](_0x38776d,_0xb0a2ed),_0xe43b5c=_0x2f803b();return logQuery(_0x38776d,_0xb0a2ed,{'duration':_0xe43b5c,'rowsAffected':_0x127d3e[_0x215010(0x102)],'dbType':_0x1e72e7[_0x215010(0x10d)]}),_0x127d3e['rows'];}finally{_0x1a9d1e[_0x215010(0xe6)]();}}catch(_0x199499){const _0x5b7e13=_0x1e72e7['MHMdq'](_0x2f803b);_0x1e72e7['ViGmp'](logError,_0x199499,{'event':_0x215010(0xf0),'query':_0x38776d[_0x215010(0xe7)](0x0,0x1f4),'paramCount':_0xb0a2ed[_0x215010(0xdc)],'durationMs':_0x5b7e13,'code':_0x199499['code'],'dbType':_0x1e72e7['xvawT']},_0x215010(0xcc)+_0x199499['message']);throw _0x199499;}}function a0_0x17d1(){const _0x4344bc=['uK9mtejbq0S','nKrxv1Dhyq','zgf0ywjHC2u','svr1AuO','u1fmievYCM9YoIa','mtHgqMDRyKm','zwLgvvG','mtKYlJe2oc4XmdaUmq','BxmSia','zw52','y29UBMvJDa','mtqYmZyYmM5OqMvVtW','v2TQrgy','nduXnZy1meTczwjXCW','s0jYy2S','Aw5JBhvKzxm','mZe2meTJuujIwa','mZGXodC1n3LcBMvvvG','y1nbthC','Au9oA1m','BgvUz3rO','ihjVDW','rejFueftu1DpuKq','CfDctMO','BwvZC2fNzq','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','C3rHCNq','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','sKDYDvu','Cg9ZDgDYzxmXmJm0','CMvSzwfZzq','C3vIC3rYAw5N','C3LUDgf4igvYCM9Y','muHftNDvua','y29Kzq','yKv4ze4','CM93CW','Cg9ZDgDYzxnXBa','v2HbuhK','CM9SBgjHy2TFzxjYB3i','C3fSx2vYCM9Y','DhjHBNnHy3rPB25FzxjYB3i','y2XPzw50x3jLBgvHC2vFzxjYB3i','CxvLCNK','vuTMrgu','zxHWB3j0CW','EKDqDNm','q09ntuLu','mJq1nLvSDerMAq','Aw5MBW','wwnvq1q','mZzly05AvhK','q1zcALi','Cg9ZDgDYzxm','CfzJtLa','nZaYmdK5m3HhtNrgAG','nda1mJCWoeLSB2HjtG','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','CM93q291BNq','y29TBwL0','yNzOBfy','uxvLCNKGCMv0DxjUzwqG','rgf0ywjHC2uGzxjYB3i6ia','EMLrqwe','zgjFCg9VBf9JBg9Zzv9LCNjVCG','zgjFCg9VBf9YzwnYzwf0zq','mtK1ndmXmM1XDuHXwG','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','C3fS','EhzHD1q','Berwrg8'];a0_0x17d1=function(){return _0x4344bc;};return a0_0x17d1();}function formatResponse(_0x4853c5,_0xeedfa5=null){const _0x2e5fd6=a0_0x300f39,_0x348ae8={'AuKjT':'UNKNOWN_ERROR','WhAPy':'SYNTAX_ERROR','pWBNj':function(_0x117ca2,_0x268eec){return _0x117ca2===_0x268eec;},'ziQAa':function(_0xfcf64a,_0x14b2f7){return _0xfcf64a===_0x14b2f7;},'eiFUX':'28P01','NIDvK':'08001','ITuiJ':'No\x20data\x20found.'};if(_0xeedfa5){let _0x4a01c4=_0x348ae8['AuKjT'];if(_0xeedfa5['message'][_0x2e5fd6(0xd7)](_0x2e5fd6(0xe8)))_0x4a01c4=_0x348ae8[_0x2e5fd6(0xee)];else{if(_0x348ae8[_0x2e5fd6(0xdf)](_0xeedfa5['code'],'42P01'))_0x4a01c4='TABLE_NOT_FOUND';else{if(_0x348ae8[_0x2e5fd6(0x107)](_0xeedfa5[_0x2e5fd6(0xea)],_0x348ae8[_0x2e5fd6(0xce)]))_0x4a01c4='AUTHENTICATION_ERROR';else(_0x348ae8['ziQAa'](_0xeedfa5[_0x2e5fd6(0xea)],'08006')||_0xeedfa5[_0x2e5fd6(0xea)]===_0x348ae8['NIDvK'])&&(_0x4a01c4='CONNECTION_ERROR');}}return{'success':![],'message':_0x2e5fd6(0x106)+_0xeedfa5['message'],'count':-0x1,'error_code':_0x4a01c4};}else{if(!_0x4853c5||_0x4853c5[_0x2e5fd6(0xdc)]===0x0)return{'success':!![],'message':_0x348ae8[_0x2e5fd6(0xcb)],'count':0x0,'data':[]};return{'success':!![],'message':_0x2e5fd6(0x105)+_0x4853c5[_0x2e5fd6(0xdc)]+_0x2e5fd6(0xdd)+(_0x4853c5[_0x2e5fd6(0xdc)]===0x1?'':'s')+'.','count':_0x4853c5['length'],'data':_0x4853c5};}}async function closePool(){const _0x1acec8=a0_0x300f39,_0xbae150={'aQQTj':function(_0xbb4d0a,_0xf47e83,_0x257861,_0x1cddd9){return _0xbb4d0a(_0xf47e83,_0x257861,_0x1cddd9);},'tSpbh':_0x1acec8(0x108),'PvKeR':'db_pool_already_closed','UKfDe':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x1acec8(0xf9)]({'event':'db_pool_closed'},_0x1acec8(0x10b));}catch(_0x376abc){_0xbae150['aQQTj'](logError,_0x376abc,{'event':_0xbae150['tSpbh']},_0x1acec8(0xe3)+_0x376abc[_0x1acec8(0xe0)]);}else logger['debug']({'event':_0xbae150['PvKeR']},_0xbae150[_0x1acec8(0xf4)]);}async function checkConnection(){const _0x5baf61=a0_0x300f39,_0x5b5425={'lDVDo':function(_0x1c620e){return _0x1c620e();},'CVBjR':'SELECT\x201','iONkS':_0x5baf61(0xe1)};try{const _0x5a5021=_0x5b5425[_0x5baf61(0x10e)](getPool),_0x55b51e=await _0x5a5021[_0x5baf61(0xd2)]();try{return await _0x55b51e[_0x5baf61(0xf3)](_0x5b5425[_0x5baf61(0xfc)]),!![];}finally{_0x55b51e[_0x5baf61(0xe6)]();}}catch(_0x219409){return logError(_0x219409,{'event':_0x5b5425[_0x5baf61(0xdb)]},_0x5baf61(0x101)+_0x219409['message']),![];}}async function executeTransaction(_0x17ec12){const _0x13bd8e=a0_0x300f39,_0x307e4f={'ERvAM':function(_0x51480e){return _0x51480e();},'fWWFD':function(_0x1e1bc4,_0x2c7fee,_0x58afdc){return _0x1e1bc4(_0x2c7fee,_0x58afdc);},'cSALw':'BEGIN','JGruU':function(_0x28f95d,_0x28078d,_0x260e6d,_0x2bf411){return _0x28f95d(_0x28078d,_0x260e6d,_0x2bf411);},'bvhlV':_0x13bd8e(0xf7),'zGPvs':function(_0x130d20){return _0x130d20();},'zccNl':function(_0x37d2de,_0x1497cc,_0x10a311){return _0x37d2de(_0x1497cc,_0x10a311);},'YcUCT':_0x13bd8e(0x103),'pVcNP':_0x13bd8e(0xf1),'XBRhO':'postgresql','WioYk':function(_0x3ed075,_0x331892,_0x533c44){return _0x3ed075(_0x331892,_0x533c44);},'kDEit':'rollback','KBrck':_0x13bd8e(0xef)};let _0x1a6b27;const _0x397d74=_0x307e4f['ERvAM'](startQueryTimer);try{const _0x415093=_0x307e4f['ERvAM'](getPool);_0x1a6b27=await _0x415093[_0x13bd8e(0xd2)](),_0x307e4f['fWWFD'](logTransaction,_0x13bd8e(0xe2),_0x17ec12['length']),await _0x1a6b27['query'](_0x307e4f[_0x13bd8e(0xda)]);const _0x38065e=[];for(const _0x1a9ea8 of _0x17ec12){const _0x39cf87=startQueryTimer(),_0xb799b2=await _0x1a6b27[_0x13bd8e(0xf3)](_0x1a9ea8[_0x13bd8e(0x10c)],_0x1a9ea8['params']||[]),_0x5107cd=_0x39cf87();_0x307e4f[_0x13bd8e(0xe4)](logQuery,_0x1a9ea8[_0x13bd8e(0x10c)],_0x1a9ea8['params']||[],{'duration':_0x5107cd,'rowsAffected':_0xb799b2[_0x13bd8e(0x102)],'dbType':'postgresql'}),_0x38065e['push'](_0xb799b2[_0x13bd8e(0xec)]);}await _0x1a6b27['query'](_0x307e4f[_0x13bd8e(0x104)]);const _0x3e738f=_0x307e4f[_0x13bd8e(0xf6)](_0x397d74);return _0x307e4f['zccNl'](logTransaction,_0x307e4f[_0x13bd8e(0xfa)],_0x17ec12[_0x13bd8e(0xdc)]),logger[_0x13bd8e(0xf9)]({'event':'transaction_complete','queryCount':_0x17ec12['length'],'totalDurationMs':_0x3e738f,'dbType':_0x13bd8e(0xed)},'Transaction\x20committed\x20('+_0x3e738f+_0x13bd8e(0xd0)+_0x17ec12['length']+'\x20queries)'),_0x38065e;}catch(_0x75507c){const _0x5d798a=_0x307e4f['ERvAM'](_0x397d74);logError(_0x75507c,{'event':_0x307e4f[_0x13bd8e(0xfe)],'queryCount':_0x17ec12[_0x13bd8e(0xdc)],'totalDurationMs':_0x5d798a,'code':_0x75507c['code'],'dbType':_0x307e4f['XBRhO']},'Transaction\x20failed:\x20'+_0x75507c['message']);if(_0x1a6b27)try{await _0x1a6b27['query'](_0x13bd8e(0x10f)),_0x307e4f['WioYk'](logTransaction,_0x307e4f['kDEit'],_0x17ec12['length']);}catch(_0x4277a4){logError(_0x4277a4,{'event':_0x307e4f[_0x13bd8e(0xd6)],'dbType':_0x13bd8e(0xed)},'Error\x20rolling\x20back\x20transaction:\x20'+_0x4277a4[_0x13bd8e(0xe0)]);}throw _0x75507c;}finally{if(_0x1a6b27)try{_0x1a6b27[_0x13bd8e(0xe6)]();}catch(_0x3f1217){logger['error']({'event':_0x13bd8e(0xf2),'error':_0x3f1217['message'],'dbType':'postgresql'},'Error\x20releasing\x20transaction\x20client:\x20'+_0x3f1217['message']);}}}module[a0_0x300f39(0xf5)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
1
+ function a0_0x35e0(_0x240260,_0x2298b5){_0x240260=_0x240260-0x18b;const _0x336694=a0_0x3366();let _0x35e0a9=_0x336694[_0x240260];if(a0_0x35e0['rOOzuv']===undefined){var _0x1ea961=function(_0xcfea65){const _0x1463fd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e75ce='',_0x27b3cb='';for(let _0x1c9c9d=0x0,_0xdd05ef,_0x487c88,_0x1597e2=0x0;_0x487c88=_0xcfea65['charAt'](_0x1597e2++);~_0x487c88&&(_0xdd05ef=_0x1c9c9d%0x4?_0xdd05ef*0x40+_0x487c88:_0x487c88,_0x1c9c9d++%0x4)?_0x5e75ce+=String['fromCharCode'](0xff&_0xdd05ef>>(-0x2*_0x1c9c9d&0x6)):0x0){_0x487c88=_0x1463fd['indexOf'](_0x487c88);}for(let _0x333fea=0x0,_0x1c5293=_0x5e75ce['length'];_0x333fea<_0x1c5293;_0x333fea++){_0x27b3cb+='%'+('00'+_0x5e75ce['charCodeAt'](_0x333fea)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27b3cb);};a0_0x35e0['adAmmM']=_0x1ea961,a0_0x35e0['xxEhrv']={},a0_0x35e0['rOOzuv']=!![];}const _0x5c46c0=_0x336694[0x0],_0x1576ae=_0x240260+_0x5c46c0,_0x20d193=a0_0x35e0['xxEhrv'][_0x1576ae];return!_0x20d193?(_0x35e0a9=a0_0x35e0['adAmmM'](_0x35e0a9),a0_0x35e0['xxEhrv'][_0x1576ae]=_0x35e0a9):_0x35e0a9=_0x20d193,_0x35e0a9;}const a0_0x2ef811=a0_0x35e0;function a0_0x3366(){const _0x49a483=['u1Lovefyx0vsuK9s','y2XPzw50x3jLBgvHC2vFzxjYB3i','CM93q291BNq','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','C3vIC3rYAw5N','Cg9YDa','BxmSia','ChvZAa','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','y1zWBge','mtzPs3nQA2m','nJy4ntbHu09TwuC','wK5RzMq','ntqZmG','C3fSx2vYCM9Y','DhjHBNnHy3rPB25Fy29TCgXLDgu','wfL0DMy','ndjqmde','C3LUDgf4igvYCM9Y','C05ysKq','vefctevFtK9ux0zpvu5e','CM93CW','zgvIDwC','mJq2ody5nu5Nv1rJta','mJeWntK2mhvcu2LWvG','Aw5MBW','Ag9ZDa','vhjHBNnHy3rPB24GzMfPBgvKoIa','mtu1ndC2mLDKsMrIsG','tM8Gzgf0ysbMB3vUzc4','C3rHCNq','qKvhsu4','Cg9ZDgDYzxmXmJm0','zgjFCg9VBf9JBg9Zzwq','lI9SB2DNzxi','mJHqmde','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','zw52','mJmWotKZmxbcD1nesG','vwfqEgC','zxjYB3i','q09otKvdveLptL9fuLjpuG','CxvLCNK','BgvUz3rO','Cg9ZDgDYzxnXBa','BwvZC2fNzq','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','wg9bsLm','ihjVDW','mNzWz2zHvW','yMHyr1G','DxPNrgS','y29UBMvJDa','zuvVt2m','rejFueftu1DpuKq','mtq4mfLKz2TqDG','DxnLCG','AwfrEve','nduWu3PNDMn3','CMvSzwfZzq','nJe0mZK4vuXztKLQ','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','CM9SBgjHy2S','uK9mtejbq0S','ruXYANy','nJmZm1vkv0fbwa','rejFue9sva','y29Kzq','y29TBwL0','CM9SBgjHy2TFzxjYB3i'];a0_0x3366=function(){return _0x49a483;};return a0_0x3366();}(function(_0x85c188,_0x2156b8){const _0x2f66de=a0_0x35e0,_0x26ffd5=_0x85c188();while(!![]){try{const _0x5f1cba=parseInt(_0x2f66de(0x18c))/0x1*(parseInt(_0x2f66de(0x197))/0x2)+parseInt(_0x2f66de(0x19c))/0x3*(-parseInt(_0x2f66de(0x192))/0x4)+parseInt(_0x2f66de(0x1b8))/0x5+-parseInt(_0x2f66de(0x195))/0x6*(-parseInt(_0x2f66de(0x1ac))/0x7)+parseInt(_0x2f66de(0x1ab))/0x8*(-parseInt(_0x2f66de(0x1c7))/0x9)+-parseInt(_0x2f66de(0x1b9))/0xa+parseInt(_0x2f66de(0x1bd))/0xb;if(_0x5f1cba===_0x2156b8)break;else _0x26ffd5['push'](_0x26ffd5['shift']());}catch(_0x1d5740){_0x26ffd5['push'](_0x26ffd5['shift']());}}}(a0_0x3366,0x707c9));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x2ef811(0x1c3)),dbConfig={'host':process[a0_0x2ef811(0x1c6)]['DB_HOST']||'192.168.100.1','port':parseInt(process['env'][a0_0x2ef811(0x19d)]||a0_0x2ef811(0x1ae)),'user':process[a0_0x2ef811(0x1c6)]['DB_USER']||'postgres','password':process['env'][a0_0x2ef811(0x191)]||a0_0x2ef811(0x1c1),'database':process[a0_0x2ef811(0x1c6)]['DB_NAME']||'dbxa03'};logDatabaseConfig({'host':dbConfig[a0_0x2ef811(0x1bb)],'port':dbConfig[a0_0x2ef811(0x1a6)],'database':dbConfig['database'],'type':'postgresql','user':dbConfig[a0_0x2ef811(0x193)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x234f4c=a0_0x2ef811,_0x29d4d8={'dXZhQ':_0x234f4c(0x1a4)};return isPoolClosed&&(logger[_0x234f4c(0x1ba)]({'event':'db_pool_recreate'},_0x29d4d8['dXZhQ']),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x584cb8,_0x237ee1=[]){const _0x246240=a0_0x2ef811,_0x46a846={'mGSiq':function(_0x3cef60){return _0x3cef60();},'eCSze':function(_0x4c2291,_0x16cdb7,_0x16d8e3,_0x11bf9f){return _0x4c2291(_0x16cdb7,_0x16d8e3,_0x11bf9f);},'orwZz':'postgresql'},_0x4769b1=startQueryTimer();try{const _0x3359da=getPool(),_0x458f6f=await _0x3359da[_0x246240(0x18f)]();try{const _0x157229=await _0x458f6f['query'](_0x584cb8,_0x237ee1),_0x10ed6a=_0x46a846['mGSiq'](_0x4769b1);return logQuery(_0x584cb8,_0x237ee1,{'duration':_0x10ed6a,'rowsAffected':_0x157229['rowCount'],'dbType':'postgresql'}),_0x157229[_0x246240(0x1b6)];}finally{_0x458f6f[_0x246240(0x196)]();}}catch(_0x2371d5){const _0x4a4bc4=_0x4769b1();_0x46a846['eCSze'](logError,_0x2371d5,{'event':_0x246240(0x1af),'query':_0x584cb8[_0x246240(0x1a5)](0x0,0x1f4),'paramCount':_0x237ee1[_0x246240(0x1cc)],'durationMs':_0x4a4bc4,'code':_0x2371d5['code'],'dbType':_0x46a846['orwZz']},'SQL\x20Error:\x20'+_0x2371d5[_0x246240(0x1ce)]);throw _0x2371d5;}}function formatResponse(_0x41726d,_0x1e4d69=null){const _0x32b35f=a0_0x2ef811,_0x4b5c4f={'iaQyQ':_0x32b35f(0x1a1),'AJlqU':function(_0x1d6528,_0x27d663){return _0x1d6528===_0x27d663;},'sNXJD':_0x32b35f(0x1c4),'keaFo':'08006','eEoOc':'08001','XYtvf':_0x32b35f(0x1be)};if(_0x1e4d69){let _0xda3f2='UNKNOWN_ERROR';if(_0x1e4d69['message']['includes'](_0x32b35f(0x1b3)))_0xda3f2=_0x4b5c4f[_0x32b35f(0x194)];else{if(_0x1e4d69[_0x32b35f(0x19e)]===_0x32b35f(0x1b2))_0xda3f2=_0x32b35f(0x1b5);else{if(_0x4b5c4f['AJlqU'](_0x1e4d69[_0x32b35f(0x19e)],_0x4b5c4f[_0x32b35f(0x1b4)]))_0xda3f2='AUTHENTICATION_ERROR';else(_0x1e4d69[_0x32b35f(0x19e)]===_0x4b5c4f['keaFo']||_0x1e4d69['code']===_0x4b5c4f[_0x32b35f(0x190)])&&(_0xda3f2=_0x32b35f(0x1ca));}}return{'success':![],'message':'Database\x20error:\x20'+_0x1e4d69[_0x32b35f(0x1ce)],'count':-0x1,'error_code':_0xda3f2};}else{if(!_0x41726d||_0x41726d['length']===0x0)return{'success':!![],'message':_0x4b5c4f[_0x32b35f(0x1b1)],'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x41726d[_0x32b35f(0x1cc)]+_0x32b35f(0x18b)+(_0x4b5c4f['AJlqU'](_0x41726d[_0x32b35f(0x1cc)],0x1)?'':'s')+'.','count':_0x41726d['length'],'data':_0x41726d};}}async function closePool(){const _0x25d2ea=a0_0x2ef811,_0x21b26b={'hNBOB':_0x25d2ea(0x1c2),'gfBdN':_0x25d2ea(0x1cf),'LPVsc':'db_pool_close_error','LSINA':'db_pool_already_closed','OGYyW':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':_0x21b26b['hNBOB']},_0x21b26b['gfBdN']);}catch(_0xe0799b){logError(_0xe0799b,{'event':_0x21b26b['LPVsc']},'Error\x20closing\x20database\x20pool:\x20'+_0xe0799b[_0x25d2ea(0x1ce)]);}else logger[_0x25d2ea(0x1b7)]({'event':_0x21b26b['LSINA']},_0x21b26b['OGYyW']);}async function checkConnection(){const _0x49ba2b=a0_0x2ef811;try{const _0x3c09de=getPool(),_0xb53b1d=await _0x3c09de[_0x49ba2b(0x18f)]();try{return await _0xb53b1d[_0x49ba2b(0x1cb)]('SELECT\x201'),!![];}finally{_0xb53b1d['release']();}}catch(_0x223301){return logError(_0x223301,{'event':'db_connection_check_error'},_0x49ba2b(0x198)+_0x223301[_0x49ba2b(0x1ce)]),![];}}async function executeTransaction(_0x57c4b9){const _0x445738=a0_0x2ef811,_0x25f52f={'DwbeA':function(_0x2b6de7){return _0x2b6de7();},'XoAJS':function(_0x3821e5){return _0x3821e5();},'uzgDk':_0x445738(0x1bf),'ttPty':_0x445738(0x1c0),'WcBrs':_0x445738(0x1cd),'aYkbR':'COMMIT','UaPxg':_0x445738(0x19f),'bhXGX':function(_0x2123cb,_0x208b36,_0x5b638f,_0x5e5f43){return _0x2123cb(_0x208b36,_0x5b638f,_0x5e5f43);},'ELrjv':_0x445738(0x19a),'ZNkfd':function(_0x21dffb,_0x199b5b,_0x1c7399){return _0x21dffb(_0x199b5b,_0x1c7399);},'cVpla':_0x445738(0x1a2)};let _0x4b871a;const _0x340a9b=_0x25f52f['DwbeA'](startQueryTimer);try{const _0x3969dd=_0x25f52f['XoAJS'](getPool);_0x4b871a=await _0x3969dd['connect'](),logTransaction(_0x25f52f[_0x445738(0x18e)],_0x57c4b9['length']),await _0x4b871a['query'](_0x25f52f['ttPty']);const _0x43e09a=[];for(const _0x11b5e5 of _0x57c4b9){const _0x4945e3=_0x25f52f[_0x445738(0x1d0)](startQueryTimer),_0x38519a=await _0x4b871a['query'](_0x11b5e5['sql'],_0x11b5e5['params']||[]),_0x38ae05=_0x4945e3();logQuery(_0x11b5e5['sql'],_0x11b5e5['params']||[],{'duration':_0x38ae05,'rowsAffected':_0x38519a[_0x445738(0x1a3)],'dbType':_0x25f52f['WcBrs']}),_0x43e09a[_0x445738(0x1a8)](_0x38519a[_0x445738(0x1b6)]);}await _0x4b871a['query'](_0x25f52f['aYkbR']);const _0x178407=_0x340a9b();return logTransaction(_0x25f52f[_0x445738(0x1c8)],_0x57c4b9[_0x445738(0x1cc)]),logger[_0x445738(0x1ba)]({'event':_0x445738(0x1b0),'queryCount':_0x57c4b9[_0x445738(0x1cc)],'totalDurationMs':_0x178407,'dbType':'postgresql'},_0x445738(0x1c5)+_0x178407+_0x445738(0x1a7)+_0x57c4b9['length']+'\x20queries)'),_0x43e09a;}catch(_0x35b754){const _0x27e837=_0x340a9b();_0x25f52f[_0x445738(0x18d)](logError,_0x35b754,{'event':'transaction_error','queryCount':_0x57c4b9[_0x445738(0x1cc)],'totalDurationMs':_0x27e837,'code':_0x35b754[_0x445738(0x19e)],'dbType':'postgresql'},_0x445738(0x1bc)+_0x35b754[_0x445738(0x1ce)]);if(_0x4b871a)try{await _0x4b871a[_0x445738(0x1cb)](_0x25f52f[_0x445738(0x19b)]),_0x25f52f[_0x445738(0x1ad)](logTransaction,_0x445738(0x199),_0x57c4b9[_0x445738(0x1cc)]);}catch(_0x3966){logError(_0x3966,{'event':_0x445738(0x1a0),'dbType':_0x445738(0x1cd)},_0x445738(0x1a9)+_0x3966[_0x445738(0x1ce)]);}throw _0x35b754;}finally{if(_0x4b871a)try{_0x4b871a[_0x445738(0x196)]();}catch(_0x515cee){logger[_0x445738(0x1c9)]({'event':_0x25f52f[_0x445738(0x1aa)],'error':_0x515cee['message'],'dbType':'postgresql'},'Error\x20releasing\x20transaction\x20client:\x20'+_0x515cee['message']);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
@@ -1 +1 @@
1
- function a0_0x30ad(_0xd99949,_0x54e968){_0xd99949=_0xd99949-0x195;const _0x1f3d8f=a0_0x1f3d();let _0x30ad32=_0x1f3d8f[_0xd99949];if(a0_0x30ad['tvzUJz']===undefined){var _0x2198d5=function(_0x4f7265){const _0x54d5fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x75bd6c='',_0x191d2c='';for(let _0x524b5a=0x0,_0x344cd4,_0x4c2096,_0x9ea17b=0x0;_0x4c2096=_0x4f7265['charAt'](_0x9ea17b++);~_0x4c2096&&(_0x344cd4=_0x524b5a%0x4?_0x344cd4*0x40+_0x4c2096:_0x4c2096,_0x524b5a++%0x4)?_0x75bd6c+=String['fromCharCode'](0xff&_0x344cd4>>(-0x2*_0x524b5a&0x6)):0x0){_0x4c2096=_0x54d5fe['indexOf'](_0x4c2096);}for(let _0x5ceba3=0x0,_0x3c02c8=_0x75bd6c['length'];_0x5ceba3<_0x3c02c8;_0x5ceba3++){_0x191d2c+='%'+('00'+_0x75bd6c['charCodeAt'](_0x5ceba3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x191d2c);};a0_0x30ad['dsqmxl']=_0x2198d5,a0_0x30ad['eUjJtU']={},a0_0x30ad['tvzUJz']=!![];}const _0x148b66=_0x1f3d8f[0x0],_0xc0d21=_0xd99949+_0x148b66,_0x2e323a=a0_0x30ad['eUjJtU'][_0xc0d21];return!_0x2e323a?(_0x30ad32=a0_0x30ad['dsqmxl'](_0x30ad32),a0_0x30ad['eUjJtU'][_0xc0d21]=_0x30ad32):_0x30ad32=_0x2e323a,_0x30ad32;}const a0_0x1665fa=a0_0x30ad;(function(_0x54787c,_0x33c785){const _0x4c0075=a0_0x30ad,_0x25be78=_0x54787c();while(!![]){try{const _0x5b8500=-parseInt(_0x4c0075(0x22e))/0x1+parseInt(_0x4c0075(0x19a))/0x2*(parseInt(_0x4c0075(0x1b5))/0x3)+-parseInt(_0x4c0075(0x1c0))/0x4*(-parseInt(_0x4c0075(0x23d))/0x5)+-parseInt(_0x4c0075(0x22c))/0x6+-parseInt(_0x4c0075(0x1d5))/0x7+parseInt(_0x4c0075(0x1d2))/0x8*(-parseInt(_0x4c0075(0x225))/0x9)+parseInt(_0x4c0075(0x21d))/0xa;if(_0x5b8500===_0x33c785)break;else _0x25be78['push'](_0x25be78['shift']());}catch(_0x13b7de){_0x25be78['push'](_0x25be78['shift']());}}}(a0_0x1f3d,0xb502b));const pino=require(a0_0x1665fa(0x24b)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x1665fa(0x1b9),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':a0_0x1665fa(0x1f4),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x1665fa(0x1e3)][a0_0x1665fa(0x1c9)]!==a0_0x1665fa(0x21f),logLevel=process['env']['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x1665fa(0x1e3)]['APP_VERSION']||'1.0.5','env':process['env']['NODE_ENV']||a0_0x1665fa(0x1b0)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x1665fa(0x220),a0_0x1665fa(0x1b3),a0_0x1665fa(0x21e),'apiKey','DB_PASSWORD',a0_0x1665fa(0x1ea)],'censor':a0_0x1665fa(0x1a0)},'serializers':{'req':_0x44434a=>({'id':_0x44434a['id'],'method':_0x44434a['method'],'url':_0x44434a[a0_0x1665fa(0x1d6)],'path':_0x44434a['path'],'remoteAddress':_0x44434a['ip']||_0x44434a[a0_0x1665fa(0x1f0)]?.['remoteAddress']}),'res':_0x49db74=>({'statusCode':_0x49db74[a0_0x1665fa(0x197)],'headers':_0x49db74[a0_0x1665fa(0x1e5)]?.()}),'err':pino[a0_0x1665fa(0x21a)][a0_0x1665fa(0x1b6)]}});function initFileLogging(){const _0x290207=a0_0x1665fa,_0x4151c7={'KNzBA':function(_0x2537cc,_0x3bd17a){return _0x2537cc===_0x3bd17a;},'MoZBx':'restforge','nhUHp':'debug','XuYzh':function(_0x343d4d,_0x381c58){return _0x343d4d!==_0x381c58;},'MFMnY':'app.log','xtSOr':_0x290207(0x1b2),'VPzin':function(_0x42efeb,_0x30c215,_0xb0811e){return _0x42efeb(_0x30c215,_0xb0811e);},'flTgF':_0x290207(0x236)};if(fileLoggingInitialized)return;logToFile=_0x4151c7['KNzBA'](process[_0x290207(0x1e3)][_0x290207(0x1f1)],'true'),logDir=process['env'][_0x290207(0x209)]||'./logs',serviceName=process['env']['SERVICE_NAME']||_0x4151c7['MoZBx'],sqlLogEnabled=process['env']['SQL_LOG_ENABLED']===_0x290207(0x22d),sqlLogLevel=process[_0x290207(0x1e3)]['SQL_LOG_LEVEL']||_0x4151c7['nhUHp'],sqlLogParams=_0x4151c7[_0x290207(0x21c)](process['env']['SQL_LOG_PARAMS'],_0x290207(0x234)),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x377ab0=path[_0x290207(0x1ce)](process['cwd'](),logDir);try{!fs[_0x290207(0x235)](_0x377ab0)&&fs['mkdirSync'](_0x377ab0,{'recursive':!![]});}catch(_0x22a4dc){console[_0x290207(0x20f)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x377ab0+':',_0x22a4dc[_0x290207(0x1a3)]),fileLoggingInitialized=!![];return;}const _0xff8646=path['join'](_0x377ab0,_0x4151c7[_0x290207(0x1c6)]),_0x2eef83=path[_0x290207(0x1f5)](_0x377ab0,_0x290207(0x1b2));try{appLogStream=fs[_0x290207(0x206)](_0xff8646,{'flags':'a'}),errorLogStream=fs[_0x290207(0x206)](_0x2eef83,{'flags':'a'}),fileLoggingInitialized=!![];const _0x49c905={'event':_0x290207(0x1b4),'logDir':_0x377ab0,'files':[_0x290207(0x1a2),_0x4151c7[_0x290207(0x204)]]},_0x3cab62=_0x290207(0x239)+_0x377ab0;logger[_0x290207(0x236)](_0x49c905,_0x3cab62),_0x4151c7['VPzin'](writeToFileLog,{..._0x49c905,'level':_0x4151c7['flTgF'],'msg':_0x3cab62,'time':new Date()[_0x290207(0x1a8)]()},_0x290207(0x236));}catch(_0x55b39b){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x55b39b[_0x290207(0x1a3)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x546e13,_0x405ba4){const _0x194b4b=a0_0x1665fa,_0x57f27e={'yOGHk':function(_0xc3b8de,_0x5165ab){return _0xc3b8de||_0x5165ab;},'IZfMB':function(_0x3f411b,_0x3965a3){return _0x3f411b+_0x3965a3;},'yeaos':_0x194b4b(0x20f),'AEVfv':function(_0x461597,_0x4bbb04){return _0x461597===_0x4bbb04;}};if(_0x57f27e[_0x194b4b(0x1aa)](!logToFile,!appLogStream))return;const _0x29eec8={'service':serviceName,..._0x546e13},_0x80dc6c=_0x57f27e[_0x194b4b(0x1ab)](JSON['stringify'](_0x29eec8),'\x0a');appLogStream['write'](_0x80dc6c),(_0x405ba4===_0x57f27e[_0x194b4b(0x1e6)]||_0x57f27e['AEVfv'](_0x405ba4,'fatal'))&&(errorLogStream&&errorLogStream['write'](_0x80dc6c));}function a0_0x1f3d(){const _0x413f69=['Ec1Yzxf1zxn0lwLK','z2v0sgvHzgvYCW','EwvHB3m','zgjFDhjHBNnHy3rPB24','uK9mtejbq0S','oI8V','sLDux1nfq1jfva','Cxjervm','C3rHDhvZ','qunusvzf','rfjpua','z2v0','y29UBMvJDgLVBG','te9hx1rpx0zjteu','DgvZDa','iokvKqRILzeGifbVCNqGicaGicaGidOG','E21Zz30','AM9PBG','uMnKvNO','w09lxsbqCM9Qzwn0igXVywrLzdOG','C2vYDMvYx3jLywr5','CgLU','Cg9YDa','ChjPDMf0zv9RzxK','CgfZC3DK','CMvWBgfJzq','CgLK','rKfuquW6ia','ic0G','zhPsyLy','ig9UihbVCNqG','C3rYAw5N','Ehrtt3i','Bwf0y2G','y3jLyxrLv3jPDgvtDhjLyw0','sNHfs1e','tMjUuw8','te9hx0rjuG','icbjBMzVoIaGia','u1rbuLqGvfjbtLnbq1rjt04','q1jjveLdquW','rxjYB3i','reiGuxvLCNK','zxjYB3i','rMTJtu0','EMjerMK','qKvhsu4','AxntBg93','CxvLCNK','Cgf0Aa','Dg9mB3DLCKnHC2u','ywnJzxnZx3rVA2vU','w1jfrefdveveoNrVA2vUxq','BgvUz3rO','C3rKu2vYAwfSAxPLCNm','sfruuca','whvzEMG','mtC5ndm0mZbIBfLHteC','Dg9Rzw4','ChjVzhvJDgLVBG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','sfHls0u','yw1ut2m','qKzrDey','C3bSAxq','mJGXn3nUsgfnua','sM9SAhO','ww9eA2W','Bg9N','q1jfqvrf','z0nbr2u','Ahr0Cf9LCNjVCG','ndq0mZe4nNnqBK5QCW','Dhj1zq','mtm0ntaWnhbNAK9WAG','C29Tzq','zMf0ywW','zw5KCg9PBNrFCMvNAxn0zxjLza','BKnPDNe','BMfTzq','zMfSC2u','zxHPC3rZu3LUyW','Aw5MBW','wuzSvhO','DhjPBq','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','AgvHzgvYCW','AgvHBhrOq2HLy2S','rLzns00','mteYndK2nuvAswTOrq','yM9KEq','B2jQzwn0','CM93C0fMzMvJDgvK','C3vIC3rYAw5N','rermx0rst1a','C3fSx3f1zxj5','vfjbtLnbq1rjt05FqKvhsu4','B3jPz2LUywXvCMW','CgfKrw5K','DLnxqKy','sMTpCg0','txrctuC','vhjHBNnHy3rPB24G','CgLUBW','tI9b','ChjVAMvJDa','qNnjDfG','C3rHDhvZq29Kzq','ChDK','zMf0ywXFzxjYB3i','ote3nJzPCxPktM4','yMfZzvvYBa','zgf0ywjHC2vFy29UzMLN','BwfW','Aw5JBhvKzxm','BMDUrgu','w1jfrefdvevexq','D2LsvKG','yxbWlMXVzW','BwvZC2fNzq','C3rHy2S','C3nfD2m','wLLVsvO','y29UzMLNrMLSzq','Dg9ju09tDhjPBMC','B3rW','Eu9hsgS','svPMtui','zhvYyxrPB25nCW','zxHWB3j0CW','C2vYDMLJzuLUzM8','CMvTB3rLqwrKCMvZCW','zgv2zwXVCg1LBNq','C1bgCu8','zxjYB3iUBg9N','CgfZC3DVCMq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','nZvxsuHwvhK','zxjY','rhfzBey','zw52AxjVBM1LBNq','zgvIDwC','yxbPx3nLy3jLDa','yNDrtw0','C2vJCMv0','AxnbCNjHEq','y29Kzq','CMvMCMvZAf90B2TLBG','mJbothzjweS','Ahj0Aw1L','v2vKshy','rgrXq0C','yxv0Ag9YAxPHDgLVBG','Bwv0Ag9K','tuznBLK','yxbPA2v5','DhLWzq','tK9erv9ftLy','Dg5ZueC','BxmP','Ag9ZDa','D2fYBG','CMvZB2X2zq','Dxb0Aw1L','ChjVy2vZC193yxjUAw5N','quXurvi','mta0ogn6rNDtBW','u2rvD1u','sM1IyLi','odm4odK4mLfyB1jNuG','DxjS','BhnYrKi','rxjYB3i6ia','rhHoAMi','zgf0ywjHC2u','B3P4Che','rermx0nsrufurq','Bw9KDwXL','Dw5RBM93BG','C3rHCNrZv2L0Aa','C0XgEwW','yNbvzhy','yxbPx2TLEq','zw52'];a0_0x1f3d=function(){return _0x413f69;};return a0_0x1f3d();}const createRequestLogger=(_0x50b3ca={})=>{return logger['child'](_0x50b3ca);},logServerStart=_0x35663e=>{const _0x36bb4f=a0_0x1665fa,_0x162654={'SdUwU':_0x36bb4f(0x24c),'DxNjb':function(_0x2acd6f,_0x516d17){return _0x2acd6f(_0x516d17);},'ozxpq':'server_starting','gCAGe':function(_0x3aec56,_0x30ae85,_0x4220d1){return _0x3aec56(_0x30ae85,_0x4220d1);},'agBXk':'info'},_0x561b21='\x0a╔═══════════════════════════════════════════════════════╗\x0a║\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RESTFORGE\x20RUNTIME\x20SERVER\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x35663e[_0x36bb4f(0x1b8)]||'Node.js')[_0x36bb4f(0x246)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x35663e['project']||_0x162654[_0x36bb4f(0x1d3)])['padEnd'](0x26)+_0x36bb4f(0x1f3)+_0x162654[_0x36bb4f(0x1d9)](String,_0x35663e['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x35663e[_0x36bb4f(0x1a7)]||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x35663e['apiKey']?_0x36bb4f(0x1ed):'NOT\x20ACTIVE')[_0x36bb4f(0x246)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x36bb4f(0x228)](_0x561b21);const _0x4b37d8={'event':_0x162654[_0x36bb4f(0x1db)],'project':_0x35663e[_0x36bb4f(0x195)],'port':_0x35663e[_0x36bb4f(0x1fa)],'config':_0x35663e['configFile'],'apiKeyEnabled':!!_0x35663e['apiKey']};logger[_0x36bb4f(0x236)](_0x4b37d8),_0x162654[_0x36bb4f(0x22a)](writeToFileLog,{..._0x4b37d8,'level':_0x162654['agBXk'],'msg':'Server\x20starting:\x20'+_0x35663e[_0x36bb4f(0x195)]+_0x36bb4f(0x202)+_0x35663e[_0x36bb4f(0x1fa)],'time':new Date()[_0x36bb4f(0x1a8)]()},'info');},logServerReady=_0x2f76d6=>{const _0x2e6bb7=a0_0x1665fa,_0x3e61fd={'dzRbV':_0x2e6bb7(0x1f8),'wiRVH':'info'},_0x3e276f={'event':_0x3e61fd[_0x2e6bb7(0x201)],'port':_0x2f76d6['port'],'module':_0x2f76d6[_0x2e6bb7(0x1dd)],'healthCheck':_0x2f76d6['healthCheck'],'serviceInfo':_0x2f76d6[_0x2e6bb7(0x1ae)],'baseUrl':_0x2f76d6['baseUrl']},_0xfee45d='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2f76d6['port'];logger[_0x2e6bb7(0x236)](_0x3e276f,_0xfee45d),writeToFileLog({..._0x3e276f,'level':_0x3e61fd[_0x2e6bb7(0x1a1)],'msg':_0xfee45d,'time':new Date()[_0x2e6bb7(0x1a8)]()},'info'),_0x2f76d6[_0x2e6bb7(0x23b)]&&logger['info']('\x20\x20Health:\x20'+_0x2f76d6[_0x2e6bb7(0x23b)]),_0x2f76d6['serviceInfo']&&logger['info'](_0x2e6bb7(0x20a)+_0x2f76d6[_0x2e6bb7(0x1ae)]),_0x2f76d6[_0x2e6bb7(0x19b)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x2f76d6[_0x2e6bb7(0x19b)]);},logProjectLoaded=(_0x2ccb7f,_0x28a282)=>{const _0x18fda4=a0_0x1665fa,_0x4c4302={'bVrdv':'project_loaded','nFgyf':function(_0x40cc1e,_0x1a1fee,_0x4f5cd9){return _0x40cc1e(_0x1a1fee,_0x4f5cd9);},'sPFqO':'info'},_0x5937a7={'event':_0x4c4302['bVrdv'],'project':_0x2ccb7f,'path':_0x28a282},_0x4e0928=_0x18fda4(0x1f7)+_0x2ccb7f;logger[_0x18fda4(0x236)](_0x5937a7,_0x4e0928),_0x4c4302['nFgyf'](writeToFileLog,{..._0x5937a7,'level':_0x4c4302[_0x18fda4(0x1b1)],'msg':_0x4e0928,'time':new Date()[_0x18fda4(0x1a8)]()},_0x4c4302[_0x18fda4(0x1b1)]);},logEndpointRegistered=(_0x121ff4,_0x3a0cb6)=>{const _0x30103f=a0_0x1665fa,_0x833777={'event':_0x30103f(0x231),'endpoint':_0x121ff4,'route':_0x3a0cb6},_0x1683bd='\x20\x20→\x20'+_0x121ff4+':\x20'+_0x3a0cb6;logger[_0x30103f(0x1b9)](_0x833777,_0x1683bd),writeToFileLog({..._0x833777,'level':_0x30103f(0x1b9),'msg':_0x1683bd,'time':new Date()[_0x30103f(0x1a8)]()},_0x30103f(0x1b9));},logDatabaseConfig=_0x751464=>{const _0x52d942=a0_0x1665fa,_0x197a48={'ZYoIZ':_0x52d942(0x19c),'ypRMh':function(_0x337874,_0x57b430,_0x12c2db){return _0x337874(_0x57b430,_0x12c2db);},'BFQtF':'debug'},_0x413b4c={'event':_0x197a48[_0x52d942(0x1a6)],'host':_0x751464['host'],'port':_0x751464[_0x52d942(0x1fa)],'database':_0x751464['database'],'type':_0x751464[_0x52d942(0x1c8)],'user':_0x751464['user']},_0x273299='Database:\x20'+_0x751464['type']+_0x52d942(0x1e9)+_0x751464[_0x52d942(0x1cc)]+':'+_0x751464[_0x52d942(0x1fa)]+'/'+_0x751464[_0x52d942(0x1da)];logger['debug'](_0x413b4c,_0x273299),_0x197a48['ypRMh'](writeToFileLog,{..._0x413b4c,'level':_0x197a48[_0x52d942(0x223)],'msg':_0x273299,'time':new Date()[_0x52d942(0x1a8)]()},_0x197a48[_0x52d942(0x223)]);},logRequest=(_0x1206b3,_0x23060e,_0x414621)=>{const _0x660e99=a0_0x1665fa,_0x44fbf1={'KLCLC':'http_request','DdqCG':'info','eWbfz':function(_0x3c6098,_0x175d93){return _0x3c6098>=_0x175d93;},'qrDES':_0x660e99(0x1cd),'ByWex':function(_0xffe78b,_0xb616e3,_0x24ced8){return _0xffe78b(_0xb616e3,_0x24ced8);}},_0x4421c8={'event':_0x44fbf1['KLCLC'],'method':_0x1206b3['method'],'path':_0x1206b3[_0x660e99(0x215)],'statusCode':_0x23060e[_0x660e99(0x197)],'durationMs':_0x414621,'ip':_0x1206b3['ip']},_0x31d55e=_0x1206b3['method']+'\x20'+_0x1206b3['path']+_0x660e99(0x200)+_0x23060e['statusCode']+'\x20('+_0x414621+_0x660e99(0x1cb);let _0x3e2ac8=_0x44fbf1[_0x660e99(0x1c3)];if(_0x23060e['statusCode']>=0x1f4)_0x3e2ac8=_0x660e99(0x20f),logger['error'](_0x4421c8,_0x31d55e);else _0x44fbf1['eWbfz'](_0x23060e['statusCode'],0x190)?(_0x3e2ac8=_0x44fbf1[_0x660e99(0x1eb)],logger[_0x660e99(0x1cd)](_0x4421c8,_0x31d55e)):logger['info'](_0x4421c8,_0x31d55e);_0x44fbf1['ByWex'](writeToFileLog,{..._0x4421c8,'level':_0x3e2ac8,'msg':_0x31d55e,'time':new Date()['toISOString']()},_0x3e2ac8);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd','token','access_token',a0_0x1665fa(0x1bf),a0_0x1665fa(0x1bc),a0_0x1665fa(0x1ba),'apikey',a0_0x1665fa(0x1e2),'credential','credentials',a0_0x1665fa(0x1f9),a0_0x1665fa(0x1a9),a0_0x1665fa(0x1fb),'privatekey'],redactSensitiveParams=(_0x5651b7,_0x42a946)=>{const _0x40b9e6=a0_0x1665fa,_0x35582e={'tIHyq':_0x40b9e6(0x203),'YoDkl':function(_0x45f3da,_0x5f1b88){return _0x45f3da>_0x5f1b88;},'fzNgC':'[REDACTED:hash]','hcnwm':function(_0x39c8a7,_0x2de795){return _0x39c8a7===_0x2de795;}};if(!_0x5651b7||_0x35582e['hcnwm'](_0x5651b7[_0x40b9e6(0x219)],0x0))return _0x5651b7;const _0x4797ac=_0x42a946['toLowerCase'](),_0x490562=_0x4797ac[_0x40b9e6(0x205)](/\(([^)]+)\)\s*values/i);let _0x5c6a84=[];_0x490562&&(_0x5c6a84=_0x490562[0x1][_0x40b9e6(0x224)](',')['map'](_0xb7f803=>_0xb7f803['trim']()['toLowerCase']()));const _0x593914=_0x4797ac[_0x40b9e6(0x205)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x593914){const _0x459a75=_0x593914[0x1],_0x22505a=_0x459a75['match'](/(\w+)\s*=/g);_0x22505a&&(_0x5c6a84=_0x22505a[_0x40b9e6(0x19d)](_0x10875d=>_0x10875d[_0x40b9e6(0x1fd)](/\s*=/,'')[_0x40b9e6(0x238)]()['toLowerCase']()));}return _0x5651b7[_0x40b9e6(0x19d)]((_0x581a74,_0x258492)=>{const _0x457152=_0x40b9e6;if(_0x5c6a84[_0x258492]){const _0x3788d1=_0x5c6a84[_0x258492],_0xbfac05=SENSITIVE_PARAM_PATTERNS[_0x457152(0x22f)](_0x1ce1e1=>_0x3788d1[_0x457152(0x19e)](_0x1ce1e1));if(_0xbfac05)return _0x457152(0x1a0);}if(typeof _0x581a74===_0x35582e['tIHyq']&&_0x35582e[_0x457152(0x227)](_0x581a74[_0x457152(0x219)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x457152(0x1f2)](_0x581a74)&&_0x581a74[_0x457152(0x19e)]('.'))return _0x457152(0x218);if(/^[a-fA-F0-9]{32,}$/[_0x457152(0x1f2)](_0x581a74))return _0x35582e['fzNgC'];}return _0x581a74;});},parseQueryMetadata=_0x14f184=>{const _0x1c1550=a0_0x1665fa,_0x1d9db2={'Jolhz':'INSERT','JkOpm':'UPDATE','rTNXw':'DELETE','LzxZY':_0x1c1550(0x212),'YFlTz':_0x1c1550(0x244),'MtBMG':'COMMIT','zSvQU':'TRANSACTION_COMMIT','DqYlF':_0x1c1550(0x1e8),'nCivq':_0x1c1550(0x229),'ssEwc':_0x1c1550(0x1d1),'WHLXr':_0x1c1550(0x1ee),'PkbYZ':_0x1c1550(0x242)},_0xbd611b=_0x14f184[_0x1c1550(0x238)](),_0x4ecb19=_0xbd611b['toUpperCase']();let _0x484281='UNKNOWN',_0x254985=null;if(_0x4ecb19['startsWith']('SELECT')){_0x484281='SELECT';const _0x1eb746=_0xbd611b['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x254985=_0x1eb746?_0x1eb746[0x1]:null;}else{if(_0x4ecb19['startsWith'](_0x1d9db2[_0x1c1550(0x226)])){_0x484281=_0x1d9db2['Jolhz'];const _0x2849ec=_0xbd611b['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x254985=_0x2849ec?_0x2849ec[0x1]:null;}else{if(_0x4ecb19['startsWith'](_0x1d9db2[_0x1c1550(0x248)])){_0x484281='UPDATE';const _0x3c241a=_0xbd611b['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x254985=_0x3c241a?_0x3c241a[0x1]:null;}else{if(_0x4ecb19[_0x1c1550(0x1df)]('DELETE')){_0x484281=_0x1d9db2['rTNXw'];const _0x412f6e=_0xbd611b[_0x1c1550(0x205)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x254985=_0x412f6e?_0x412f6e[0x1]:null;}else{if(_0x4ecb19[_0x1c1550(0x1df)](_0x1d9db2['LzxZY'])||_0x4ecb19['startsWith'](_0x1c1550(0x20b)))_0x484281=_0x1d9db2[_0x1c1550(0x237)];else{if(_0x4ecb19[_0x1c1550(0x1df)](_0x1d9db2[_0x1c1550(0x249)]))_0x484281=_0x1d9db2['zSvQU'];else{if(_0x4ecb19[_0x1c1550(0x1df)](_0x1d9db2[_0x1c1550(0x1b7)]))_0x484281='TRANSACTION_ROLLBACK';else{if(_0x4ecb19['startsWith'](_0x1d9db2[_0x1c1550(0x232)]))_0x484281=_0x1c1550(0x1dc);else{if(_0x4ecb19[_0x1c1550(0x1df)](_0x1d9db2[_0x1c1550(0x1a5)]))_0x484281='DDL_ALTER';else _0x4ecb19['startsWith'](_0x1d9db2['WHLXr'])&&(_0x484281=_0x1d9db2['PkbYZ']);}}}}}}}}return{'type':_0x484281,'table':_0x254985};},startQueryTimer=()=>{const _0x394d13={'rLMAF':function(_0x3b04a2,_0x4dc21a){return _0x3b04a2+_0x4dc21a;},'vyjGn':function(_0xcae019,_0x1e9d75){return _0xcae019*_0x1e9d75;},'ndpHx':function(_0x238a85,_0x51ce9d){return _0x238a85/_0x51ce9d;}},_0x551b2f=process['hrtime']();return()=>{const _0x54b62c=a0_0x30ad,[_0x514bef,_0x599081]=process[_0x54b62c(0x1c1)](_0x551b2f);return parseFloat(_0x394d13['rLMAF'](_0x394d13['vyjGn'](_0x514bef,0x3e8),_0x394d13['ndpHx'](_0x599081,0xf4240))['toFixed'](0x2));};},logQuery=(_0x34e32e,_0x33aa87=[],_0x293bbb={})=>{const _0x1960d0=a0_0x1665fa,_0x23cdb9={'PntIs':_0x1960d0(0x243),'JmbbR':function(_0x48b4f6,_0x35bcf3){return _0x48b4f6!==_0x35bcf3;},'PmBFe':_0x1960d0(0x1de),'tnsPG':function(_0x31de20,_0x3596bc){return _0x31de20!==_0x3596bc;},'WedHv':'\x20[SLOW]','zbDFi':function(_0x1103ca,_0x448345){return _0x1103ca===_0x448345;}};if(!sqlLogEnabled){logger[_0x1960d0(0x1b9)]({'event':'db_query','query':_0x34e32e[_0x1960d0(0x241)](0x0,0xc8),'paramCount':_0x33aa87['length']},_0x1960d0(0x20e));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x293bbb,{type:_0x18fc30,table:_0x12cc60}=parseQueryMetadata(_0x34e32e),_0x49c299={'event':_0x23cdb9['PntIs'],'queryType':_0x18fc30,'table':_0x12cc60,'query':_0x34e32e,'paramCount':_0x33aa87['length'],'dbType':dbType};sqlLogParams&&_0x33aa87['length']>0x0&&(_0x49c299['params']=redactSensitiveParams(_0x33aa87,_0x34e32e));_0x23cdb9['JmbbR'](duration,null)&&(_0x49c299[_0x1960d0(0x1ac)]=duration,_0x49c299[_0x1960d0(0x213)]=duration>sqlLogSlowThreshold);_0x23cdb9[_0x1960d0(0x1d4)](rowsAffected,null)&&(_0x49c299[_0x1960d0(0x240)]=rowsAffected);const _0x5f6ecd=_0x12cc60||_0x23cdb9['PmBFe'];let _0x29218b='['+_0x18fc30+']\x20'+_0x5f6ecd;duration!==null&&(_0x29218b+='\x20('+duration+'ms)');const _0x56c4ff=_0x23cdb9[_0x1960d0(0x1ca)](duration,null)&&duration>sqlLogSlowThreshold;let _0x5a8627='debug';if(_0x56c4ff)_0x29218b+=_0x23cdb9[_0x1960d0(0x1c2)],_0x5a8627='warn',logger['warn'](_0x49c299,_0x29218b);else _0x23cdb9[_0x1960d0(0x211)](sqlLogLevel,'info')?(_0x5a8627=_0x1960d0(0x236),logger[_0x1960d0(0x236)](_0x49c299,_0x29218b)):logger[_0x1960d0(0x1b9)](_0x49c299,_0x29218b);writeToFileLog({..._0x49c299,'level':_0x5a8627,'msg':_0x29218b,'time':new Date()[_0x1960d0(0x1a8)]()},_0x5a8627);},logTransaction=(_0x1a0e7,_0x4740e6)=>{const _0x40a0cf=a0_0x1665fa,_0x4845fd={'HXKKE':_0x40a0cf(0x1e7),'vmVcb':function(_0x67b214,_0x5a1653,_0x50503e){return _0x67b214(_0x5a1653,_0x50503e);}},_0xb3b6d5={'event':_0x4845fd[_0x40a0cf(0x221)],'status':_0x1a0e7,'queryCount':_0x4740e6},_0x23fd57=_0x40a0cf(0x24a)+_0x1a0e7;logger['debug'](_0xb3b6d5,_0x23fd57),_0x4845fd['vmVcb'](writeToFileLog,{..._0xb3b6d5,'level':_0x40a0cf(0x1b9),'msg':_0x23fd57,'time':new Date()[_0x40a0cf(0x1a8)]()},'debug');},redactObject=_0x42fff3=>{const _0x56f995=a0_0x1665fa,_0xa811ae={'lQahr':_0x56f995(0x1fc),'shWfb':_0x56f995(0x198),'wDWEC':'token','FEuEF':'ssn','oSsWb':_0x56f995(0x1fb),'lsrFB':'refresh_token','BsItX':_0x56f995(0x217),'NbnQo':_0x56f995(0x1a0),'FUsXc':function(_0x1f680c,_0x787e7){return _0x1f680c===_0x787e7;},'HJlJK':function(_0x25f5e1,_0x5ac9b6){return _0x25f5e1!==_0x5ac9b6;}};if(!_0x42fff3||typeof _0x42fff3!==_0x56f995(0x23f))return _0x42fff3;const _0xc39030=[_0x56f995(0x1b3),_0xa811ae['lQahr'],_0xa811ae['shWfb'],_0xa811ae['wDWEC'],_0x56f995(0x1bc),_0x56f995(0x1c7),'api_key',_0x56f995(0x1c4),'creditcard','credit_card','cvv',_0xa811ae['FEuEF'],_0x56f995(0x1f9),_0xa811ae['oSsWb'],'privatekey',_0xa811ae[_0x56f995(0x1d7)],_0xa811ae[_0x56f995(0x196)]],_0x4fbcd3=Array[_0x56f995(0x1bd)](_0x42fff3)?[..._0x42fff3]:{..._0x42fff3};for(const _0x9a71ab of Object['keys'](_0x4fbcd3)){const _0x361550=_0x9a71ab[_0x56f995(0x216)]();if(_0xc39030['some'](_0x36dc3d=>_0x361550[_0x56f995(0x19e)](_0x36dc3d)))_0x4fbcd3[_0x9a71ab]=_0xa811ae[_0x56f995(0x208)];else _0xa811ae['FUsXc'](typeof _0x4fbcd3[_0x9a71ab],_0x56f995(0x23f))&&_0xa811ae['HJlJK'](_0x4fbcd3[_0x9a71ab],null)&&(_0x4fbcd3[_0x9a71ab]=redactObject(_0x4fbcd3[_0x9a71ab]));}return _0x4fbcd3;},logError=(_0x448c2d,_0x4fa851={},_0x474f85=null)=>{const _0x4da9e6=a0_0x1665fa,_0x457848={'vSWBF':_0x4da9e6(0x20f),'qlGOq':function(_0x1f2715,_0x169da3,_0x17ebd0){return _0x1f2715(_0x169da3,_0x17ebd0);}},_0x3c1c40={'event':_0x457848[_0x4da9e6(0x247)],'errorName':_0x448c2d['name']||_0x4da9e6(0x20d),'errorMessage':_0x448c2d['message'],'errorCode':_0x448c2d[_0x4da9e6(0x1be)]||null,'stack':_0x448c2d['stack'],..._0x4fa851},_0x3eb1b5=_0x474f85||_0x4da9e6(0x1d8)+_0x448c2d[_0x4da9e6(0x1a3)];logger['error'](_0x3c1c40,_0x3eb1b5),_0x457848['qlGOq'](writeToFileLog,{..._0x3c1c40,'level':_0x4da9e6(0x20f),'msg':_0x3eb1b5,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x4ea00b,_0x4f06bf={},_0x4cff79=null)=>{const _0x35e6f9=a0_0x1665fa,_0x120c99={'RcdVz':'Error','oJmuS':'CRITICAL','sLFyl':_0x35e6f9(0x230)},_0x50485e={'event':_0x35e6f9(0x199),'errorName':_0x4ea00b[_0x35e6f9(0x233)]||_0x120c99[_0x35e6f9(0x1f6)],'errorMessage':_0x4ea00b['message'],'errorCode':_0x4ea00b['code']||null,'stack':_0x4ea00b['stack'],'severity':_0x120c99['oJmuS'],..._0x4f06bf},_0x13e5f2=_0x4cff79||_0x35e6f9(0x1ff)+_0x4ea00b[_0x35e6f9(0x1a3)];logger[_0x35e6f9(0x230)](_0x50485e,_0x13e5f2),writeToFileLog({..._0x50485e,'level':_0x120c99[_0x35e6f9(0x1e0)],'msg':_0x13e5f2,'time':new Date()[_0x35e6f9(0x1a8)]()},_0x35e6f9(0x20f));},logHttpError=(_0x271ae3,_0x1a051e,_0x31d266={})=>{const _0x975b47=a0_0x1665fa,_0x7a41fe={'mnvHE':_0x975b47(0x22b),'bwQMm':function(_0x1a98f3,_0x34deff){return _0x1a98f3>=_0x34deff;},'iUFpg':function(_0x2f480f,_0x32ec9d){return _0x2f480f>=_0x32ec9d;},'TquYO':_0x975b47(0x1cd),'amTOc':function(_0x4ebc51,_0x2dd36e){return _0x4ebc51>=_0x2dd36e;},'ngnDe':'error'},_0x49c583={'event':_0x7a41fe['mnvHE'],'errorName':_0x271ae3[_0x975b47(0x233)]||_0x975b47(0x20d),'errorMessage':_0x271ae3[_0x975b47(0x1a3)],'errorCode':_0x271ae3[_0x975b47(0x1be)]||_0x271ae3['statusCode']||0x1f4,'stack':_0x271ae3['stack'],'method':_0x1a051e?.[_0x975b47(0x1c5)],'url':_0x1a051e?.['url']||_0x1a051e?.[_0x975b47(0x245)],'path':_0x1a051e?.['path'],'ip':_0x1a051e?.['ip']||_0x1a051e?.[_0x975b47(0x1f0)]?.[_0x975b47(0x1af)],'userAgent':_0x1a051e?.[_0x975b47(0x1ef)]?.('user-agent'),'requestId':_0x1a051e?.['id']||_0x1a051e?.['headers']?.[_0x975b47(0x1e4)],'body':_0x1a051e?.[_0x975b47(0x23e)]?redactObject(_0x1a051e[_0x975b47(0x23e)]):undefined,'query':_0x1a051e?.[_0x975b47(0x214)],..._0x31d266},_0x4340f5=_0x271ae3[_0x975b47(0x197)]||_0x271ae3[_0x975b47(0x1ec)]||0x1f4,_0x5aaa6d=_0x975b47(0x21b)+_0x4340f5+':\x20'+_0x271ae3[_0x975b47(0x1a3)];_0x7a41fe[_0x975b47(0x1bb)](_0x4340f5,0x1f4)?logger[_0x975b47(0x20f)](_0x49c583,_0x5aaa6d):logger['warn'](_0x49c583,_0x5aaa6d),writeToFileLog({..._0x49c583,'level':_0x7a41fe['iUFpg'](_0x4340f5,0x1f4)?'error':_0x7a41fe['TquYO'],'msg':_0x5aaa6d,'time':new Date()['toISOString']()},_0x7a41fe[_0x975b47(0x222)](_0x4340f5,0x1f4)?_0x7a41fe[_0x975b47(0x19f)]:_0x975b47(0x1cd));},logUncaughtError=(_0x35ccf7,_0x318694)=>{const _0x5daee6=a0_0x1665fa,_0x2c5f50={'UkTNW':'Error','tymHj':_0x5daee6(0x20c)},_0x2f722d={'event':_0x35ccf7,'errorName':_0x318694?.['name']||_0x2c5f50['UkTNW'],'errorMessage':_0x318694?.[_0x5daee6(0x1a3)]||String(_0x318694),'errorCode':_0x318694?.['code']||null,'stack':_0x318694?.[_0x5daee6(0x1a4)],'severity':_0x2c5f50['tymHj'],'processId':process[_0x5daee6(0x1fe)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x5daee6(0x1cf)]()},_0xfbdbdb='['+_0x35ccf7['toUpperCase']()+']\x20'+(_0x318694?.[_0x5daee6(0x1a3)]||_0x318694);logger[_0x5daee6(0x230)](_0x2f722d,_0xfbdbdb),writeToFileLog({..._0x2f722d,'level':_0x5daee6(0x230),'msg':_0xfbdbdb,'time':new Date()['toISOString']()},_0x5daee6(0x20f));},setupGlobalErrorHandlers=()=>{const _0x3555bf=a0_0x1665fa,_0x30bd2a={'JxEKQ':function(_0x2545ba,_0x3485c6){return _0x2545ba instanceof _0x3485c6;},'FkcMM':function(_0x329309,_0x493ee0){return _0x329309(_0x493ee0);},'bpUdv':'unhandledRejection','FVMKM':'warning','Yjvko':function(_0xd3bd3b,_0x165629,_0x28b7a1){return _0xd3bd3b(_0x165629,_0x28b7a1);}};process['on']('uncaughtException',_0x5c4a03=>{logUncaughtError('uncaughtException',_0x5c4a03),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x2d75a8,_0x5a1e46)=>{const _0x33984c=a0_0x30ad,_0x45e9cc=_0x30bd2a[_0x33984c(0x207)](_0x2d75a8,Error)?_0x2d75a8:new Error(_0x30bd2a[_0x33984c(0x210)](String,_0x2d75a8));logUncaughtError(_0x30bd2a[_0x33984c(0x1e1)],_0x45e9cc);}),process['on'](_0x30bd2a[_0x3555bf(0x23c)],_0x372997=>{const _0x10b689=_0x3555bf;logger['warn']({'event':_0x10b689(0x1d0),'name':_0x372997['name'],'message':_0x372997['message'],'stack':_0x372997['stack']},'Process\x20Warning:\x20'+_0x372997['message']);});const _0x25ecae={'event':'global_error_handlers_setup'},_0x39e2a9='Global\x20error\x20handlers\x20initialized';logger[_0x3555bf(0x236)](_0x25ecae,_0x39e2a9),_0x30bd2a['Yjvko'](writeToFileLog,{..._0x25ecae,'level':_0x3555bf(0x236),'msg':_0x39e2a9,'time':new Date()[_0x3555bf(0x1a8)]()},'info');},createErrorHandlerMiddleware=()=>{const _0x1a5935={'JvlvY':'x-request-id'};return(_0x56a03b,_0x1f363b,_0x3b716d,_0x25d51c)=>{const _0x1083d3=a0_0x30ad;logHttpError(_0x56a03b,_0x1f363b);const _0x178978=_0x56a03b['statusCode']||_0x56a03b[_0x1083d3(0x1ec)]||0x1f4;_0x3b716d['status'](_0x178978)['json']({'success':![],'error':_0x178978>=0x1f4?'Internal\x20server\x20error':_0x56a03b[_0x1083d3(0x1a3)],'requestId':_0x1f363b['id']||_0x1f363b[_0x1083d3(0x23a)]?.[_0x1a5935['JvlvY']]||null});};};module[a0_0x1665fa(0x1ad)]={'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_0x155a14=a0_0x5683;(function(_0x2c435b,_0xbb5e0a){const _0x1c5153=a0_0x5683,_0x33ddaf=_0x2c435b();while(!![]){try{const _0x4359bb=parseInt(_0x1c5153(0x15c))/0x1+-parseInt(_0x1c5153(0x1a8))/0x2*(parseInt(_0x1c5153(0x1a3))/0x3)+-parseInt(_0x1c5153(0x16d))/0x4+parseInt(_0x1c5153(0x171))/0x5*(-parseInt(_0x1c5153(0x14f))/0x6)+parseInt(_0x1c5153(0x178))/0x7*(parseInt(_0x1c5153(0x19a))/0x8)+-parseInt(_0x1c5153(0x1c2))/0x9*(parseInt(_0x1c5153(0x122))/0xa)+-parseInt(_0x1c5153(0x19d))/0xb*(-parseInt(_0x1c5153(0x1c3))/0xc);if(_0x4359bb===_0xbb5e0a)break;else _0x33ddaf['push'](_0x33ddaf['shift']());}catch(_0x1969df){_0x33ddaf['push'](_0x33ddaf['shift']());}}}(a0_0x4f02,0x79a35));const pino=require('pino'),fs=require('fs'),path=require(a0_0x155a14(0x18d));let logToFile=![],logDir='./logs',serviceName=a0_0x155a14(0x15a),sqlLogEnabled=![],sqlLogLevel=a0_0x155a14(0x1dc),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x5683(_0x38bab7,_0x1d48dd){_0x38bab7=_0x38bab7-0x117;const _0x4f02a1=a0_0x4f02();let _0x56830e=_0x4f02a1[_0x38bab7];if(a0_0x5683['evbwNp']===undefined){var _0x34b4d0=function(_0x288d63){const _0x44fc8d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e134c='',_0x3364d5='';for(let _0x30ade4=0x0,_0x3274c,_0x44bf9b,_0x8289e7=0x0;_0x44bf9b=_0x288d63['charAt'](_0x8289e7++);~_0x44bf9b&&(_0x3274c=_0x30ade4%0x4?_0x3274c*0x40+_0x44bf9b:_0x44bf9b,_0x30ade4++%0x4)?_0x4e134c+=String['fromCharCode'](0xff&_0x3274c>>(-0x2*_0x30ade4&0x6)):0x0){_0x44bf9b=_0x44fc8d['indexOf'](_0x44bf9b);}for(let _0x552fe3=0x0,_0x22f22a=_0x4e134c['length'];_0x552fe3<_0x22f22a;_0x552fe3++){_0x3364d5+='%'+('00'+_0x4e134c['charCodeAt'](_0x552fe3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3364d5);};a0_0x5683['TSLzhM']=_0x34b4d0,a0_0x5683['UsQTMr']={},a0_0x5683['evbwNp']=!![];}const _0x31b557=_0x4f02a1[0x0],_0x5da415=_0x38bab7+_0x31b557,_0x44760a=a0_0x5683['UsQTMr'][_0x5da415];return!_0x44760a?(_0x56830e=a0_0x5683['TSLzhM'](_0x56830e),a0_0x5683['UsQTMr'][_0x5da415]=_0x56830e):_0x56830e=_0x44760a,_0x56830e;}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x155a14(0x11e),'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':a0_0x155a14(0x198),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x155a14(0x16b)][a0_0x155a14(0x1b5)]||a0_0x155a14(0x17d);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x155a14(0x165),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x155a14(0x17f)]||a0_0x155a14(0x157),'env':process[a0_0x155a14(0x16b)]['NODE_ENV']||a0_0x155a14(0x123)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x155a14(0x1ce),a0_0x155a14(0x1b8),'password','token',a0_0x155a14(0x1ba),'DB_PASSWORD','JWT_SECRET'],'censor':a0_0x155a14(0x142)},'serializers':{'req':_0x10af77=>({'id':_0x10af77['id'],'method':_0x10af77[a0_0x155a14(0x131)],'url':_0x10af77[a0_0x155a14(0x194)],'path':_0x10af77['path'],'remoteAddress':_0x10af77['ip']||_0x10af77['connection']?.['remoteAddress']}),'res':_0x160ab4=>({'statusCode':_0x160ab4[a0_0x155a14(0x19e)],'headers':_0x160ab4[a0_0x155a14(0x16f)]?.()}),'err':pino['stdSerializers'][a0_0x155a14(0x12a)]}});function initFileLogging(){const _0x216c64=a0_0x155a14,_0x1c5e53={'gJtwF':function(_0x470b06,_0x2829a0){return _0x470b06===_0x2829a0;},'sPbAj':'true','DeWIo':'false','zMJxy':function(_0x3804f8,_0x3b4d81){return _0x3804f8(_0x3b4d81);},'DgPSM':_0x216c64(0x1d8),'NfRoS':_0x216c64(0x1d1),'CYrsB':_0x216c64(0x17d)};if(fileLoggingInitialized)return;logToFile=_0x1c5e53[_0x216c64(0x172)](process[_0x216c64(0x16b)]['LOG_TO_FILE'],_0x1c5e53[_0x216c64(0x134)]),logDir=process['env'][_0x216c64(0x181)]||_0x216c64(0x1c9),serviceName=process[_0x216c64(0x16b)]['SERVICE_NAME']||'restforge',sqlLogEnabled=process[_0x216c64(0x16b)]['SQL_LOG_ENABLED']===_0x1c5e53[_0x216c64(0x134)],sqlLogLevel=process[_0x216c64(0x16b)]['SQL_LOG_LEVEL']||_0x216c64(0x1dc),sqlLogParams=process[_0x216c64(0x16b)][_0x216c64(0x173)]!==_0x1c5e53['DeWIo'],sqlLogSlowThreshold=_0x1c5e53['zMJxy'](parseInt,process[_0x216c64(0x16b)][_0x216c64(0x1be)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x414aa0=path[_0x216c64(0x1b9)](process[_0x216c64(0x1a0)](),logDir);try{!fs[_0x216c64(0x18f)](_0x414aa0)&&fs['mkdirSync'](_0x414aa0,{'recursive':!![]});}catch(_0x3dc043){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x414aa0+':',_0x3dc043[_0x216c64(0x1cd)]),fileLoggingInitialized=!![];return;}const _0x552db9=path[_0x216c64(0x1d4)](_0x414aa0,_0x1c5e53[_0x216c64(0x11a)]),_0x8efe4b=path['join'](_0x414aa0,_0x216c64(0x1b4));try{appLogStream=fs['createWriteStream'](_0x552db9,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x8efe4b,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3263ef={'event':_0x1c5e53[_0x216c64(0x1c7)],'logDir':_0x414aa0,'files':[_0x1c5e53['DgPSM'],_0x216c64(0x1b4)]},_0x50a82e=_0x216c64(0x15b)+_0x414aa0;logger['info'](_0x3263ef,_0x50a82e),writeToFileLog({..._0x3263ef,'level':_0x1c5e53[_0x216c64(0x161)],'msg':_0x50a82e,'time':new Date()['toISOString']()},_0x1c5e53['CYrsB']);}catch(_0x1fde0e){console['error'](_0x216c64(0x180),_0x1fde0e['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x19e1cd,_0x29ac8d){const _0x30434b=a0_0x155a14,_0x2a47e9={'PUjLK':function(_0x35f80b,_0x1eebc9){return _0x35f80b||_0x1eebc9;},'EPqjt':function(_0x4c0ed4,_0x5d2d29){return _0x4c0ed4+_0x5d2d29;},'KXNJs':function(_0x4ccb4e,_0x27de08){return _0x4ccb4e===_0x27de08;},'CHbbq':function(_0x2c9bf7,_0x50c7a5){return _0x2c9bf7===_0x50c7a5;},'gkRWp':_0x30434b(0x147)};if(_0x2a47e9[_0x30434b(0x1c0)](!logToFile,!appLogStream))return;const _0x3c07ae={'service':serviceName,..._0x19e1cd},_0x21d006=_0x2a47e9['EPqjt'](JSON[_0x30434b(0x1d3)](_0x3c07ae),'\x0a');appLogStream['write'](_0x21d006),(_0x2a47e9['KXNJs'](_0x29ac8d,'error')||_0x2a47e9[_0x30434b(0x153)](_0x29ac8d,_0x2a47e9[_0x30434b(0x155)]))&&(errorLogStream&&errorLogStream[_0x30434b(0x1c5)](_0x21d006));}function a0_0x4f02(){const _0x4a7ae0=['EKHoAM0','q1LYC0i','CM93C0fMzMvJDgvK','zMLND0O','qLzSz2e','CgLUBY1WCMv0DhK','qwP6BgK','Dw5JyxvNAhrfEgnLChrPB24','B3jPz2LUywXvCMW','CMvTB3rLqwrKCMvZCW','v2zdBeq','zw52','zgjFCxvLCNK','mJiXnJmYmfnhEu5SBG','vKPzA2e','z2v0sgvHzgvYCW','zw5KCg9PBNrFCMvNAxn0zxjLza','otK0ote1wgXpBgfp','z0P0D0y','u1fmx0Xpr19qqvjbtvm','ChjVAMvJDa','Ahj0Aw1L','DxnLCG','Dg9Rzw4','odCXnwPztwjkta','w1jfrefdveveoMHHC2HD','CMvitxu','DhLWzq','BwfW','Aw5MBW','C3rYAw5N','qvbqx1zfuLnjt04','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','te9hx0rjuG','ChDK','rxjYB3i6ia','Dw5Oyw5KBgvKuMvQzwn0Aw9U','Bw9KDwXL','BMfTzq','B2jQzwn0','ChjPDMf0zwTLEq','zxjYB3i','D3vxq2q','tK9uiefdveLwrq','EwjnwfK','Cgf0Aa','C2vYDMLJzuLUzM8','zxHPC3rZu3LUyW','EfbWvee','yNr1zuW','C2vYDMvYx3jLywr5','wffXuhe','DxjS','u0vmrunu','AgvHzgvYCW','icbvuKW6icaGia','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','C3bSAxq','mJy0vLbKEvzs','iokvKqRILzeGiefqssblzxKGicaGidOG','Evv4wKe','mJe0mdKZAhHPAhvW','C3rHDhvZq29Kzq','Bg9N','y3DK','rermx0fmvevs','tI9b','nta3nJLMDwDqtva','Dg9ju09tDhjPBMC','y3jLzgL0y2fYza','wuLqru0','y2HPBgq','nZrSBNnJA0y','iokvKqRILzeGifbVCNqGicaGicaGidOG','rfjpua','D2fYBG','r1zjtuy','y29Kzq','z3neCNK','yKPtu1u','u1rbuLqGvfjbtLnbq1rjt04','rMPjvLy','CgLU','u2vYDMvYihn0yxj0Aw5NoIa','zxjYB3iUBg9N','te9hx0XfvKvm','ywnJzxnZx3rVA2vU','C3rHDhvZ','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','CMvZB2X2zq','yxbPs2v5','C2vJCMv0','y3z2','C3nU','u1fmx0Xpr19tte9xx1riuKvtse9mra','q1jjveLdquW','ufvQteS','ANnVBG','ntG5nZG2mMDMAhvoBG','mty1nNjtDvrAAW','z2v0','D3jPDgu','C3rHy2S','tMzsB1m','rxjYB3i','lI9SB2DZ','yM9KEq','Dg9vChbLCKnHC2u','icbjBMzVoIaGia','BwvZC2fNzq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','zgrwveC','q1jfqvrf','zMLSzv9SB2DNAw5Nx2vUywjSzwq','ChjVAMvJDf9SB2fKzwq','C3rYAw5NAwz5','AM9PBG','zgjFDhjHBNnHy3rPB24','s1noAxK','Ahr0Cf9Yzxf1zxn0','yxbWlMXVzW','iokvKqRILzeGienVBMzPzYaGicaGidOG','yMfZzvvYBa','CgfZC3DK','zgvIDwC','r2fUDue','Cg9YDa','CgfZC3DVCMq','rgDqu00','CKDsrMC','zuXnEw4','yxbPx2TLEq','u1LtoKHioK1noNnZ','Bwf0y2G','CgfYyw1Z','yxbPA2v5','mtb2rK9YBve','zgv2zwXVCg1LBNq','Cendve0','sefZzgu','zK1vrLK','rKfuquW6ia','sfruuca','C3fSx3f1zxj5','zxjY','ChjPDMf0zv9RzxK','ufjJBKW','ueDTwum','zgf0ywjHC2u','zxHWB3j0CW','rhHcuwK','Bwv0Ag9K','uK9mtejbq0S','Dg9mB3DLCKnHC2u','C1bIqwO','B3rW','tMnbthG','qxPfyMS','Aw5JBhvKzxm','yxbPx3nLy3jLDa','CMvMCMvZAf90B2TLBG','C3rHCNrZv2L0Aa','C2vYDMvYx3n0yxj0Aw5N','qMPQtvi','EMrLr3u','DhjPBq','BgvUz3rO','wKjbqMu','w1jfrefdvevexq','icbizwfSDgG6ia','Dw5RBM93BG','CgfKrw5K','AxnbCNjHEq','zMf0ywW','CeXXBwe','uKT4vMW','zgvtrhm','A1nTt3i','vfjbtLnbq1rjt05FqKvhsu4','tM9Kzs5QCW','tvHnqM8','mtHZr2Xjzee','oI8V','whHxEKK','qunusvzf','q0HIyNe','twf5wNq','z2Tsv3a','vfjbtLnbq1rjt05FuK9mtejbq0S','ms4WlJu','ALHjsu4','DgvZDa','CMvZDgzVCMDL','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','mJaZnZq4wNfbAe5O','sM5pwMq','rgf0ywjHC2u6ia','vvbeqvrf'];a0_0x4f02=function(){return _0x4a7ae0;};return a0_0x4f02();}const createRequestLogger=(_0x121652={})=>{const _0x5c4089=a0_0x155a14;return logger[_0x5c4089(0x1a7)](_0x121652);},logServerStart=_0x197236=>{const _0x704a72=a0_0x155a14,_0x13852b={'ZBABe':_0x704a72(0x1a2),'kSmOr':'Default','GVIMF':_0x704a72(0x13c),'KSNiy':function(_0x30dc67,_0x1ec5a3,_0x48ee71){return _0x30dc67(_0x1ec5a3,_0x48ee71);},'OYFeH':'info'},_0xf3701f='\x0a╔═══════════════════════════════════════════════════════╗\x0a║\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RESTFORGE\x20RUNTIME\x20SERVER\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x197236['environment']||_0x704a72(0x14d))[_0x704a72(0x145)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x197236[_0x704a72(0x174)]||_0x13852b[_0x704a72(0x141)])['padEnd'](0x26)+_0x704a72(0x1a9)+String(_0x197236[_0x704a72(0x118)]||0xbb8)[_0x704a72(0x145)](0x26)+_0x704a72(0x1d9)+(_0x197236['configFile']||_0x13852b[_0x704a72(0x14b)])['padEnd'](0x26)+_0x704a72(0x19b)+(_0x197236[_0x704a72(0x1ba)]?_0x704a72(0x152):_0x704a72(0x18b))[_0x704a72(0x145)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x704a72(0x19f)](_0xf3701f);const _0x9acf7f={'event':_0x13852b[_0x704a72(0x1ac)],'project':_0x197236['project'],'port':_0x197236['port'],'config':_0x197236['configFile'],'apiKeyEnabled':!!_0x197236['apiKey']};logger[_0x704a72(0x17d)](_0x9acf7f),_0x13852b[_0x704a72(0x1d6)](writeToFileLog,{..._0x9acf7f,'level':_0x13852b['OYFeH'],'msg':_0x704a72(0x1b3)+_0x197236['project']+'\x20on\x20port\x20'+_0x197236[_0x704a72(0x118)],'time':new Date()['toISOString']()},_0x13852b['OYFeH']);},logServerReady=_0x142e45=>{const _0x373fc7=a0_0x155a14,_0x29c7ef={'Ajzli':_0x373fc7(0x192),'cjuAW':function(_0x323cdc,_0x458797,_0x4cdf7d){return _0x323cdc(_0x458797,_0x4cdf7d);}},_0x4c1256={'event':_0x29c7ef[_0x373fc7(0x166)],'port':_0x142e45[_0x373fc7(0x118)],'module':_0x142e45[_0x373fc7(0x185)],'healthCheck':_0x142e45['healthCheck'],'serviceInfo':_0x142e45['serviceInfo'],'baseUrl':_0x142e45['baseUrl']},_0x40a0c5='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x142e45['port'];logger[_0x373fc7(0x17d)](_0x4c1256,_0x40a0c5),_0x29c7ef['cjuAW'](writeToFileLog,{..._0x4c1256,'level':'info','msg':_0x40a0c5,'time':new Date()[_0x373fc7(0x1a4)]()},_0x373fc7(0x17d)),_0x142e45['healthCheck']&&logger[_0x373fc7(0x17d)](_0x373fc7(0x143)+_0x142e45['healthCheck']),_0x142e45[_0x373fc7(0x18e)]&&logger['info'](_0x373fc7(0x1cc)+_0x142e45[_0x373fc7(0x18e)]),_0x142e45['baseUrl']&&logger['info'](_0x373fc7(0x197)+_0x142e45[_0x373fc7(0x1da)]);},logProjectLoaded=(_0xc75979,_0x448701)=>{const _0x323336=a0_0x155a14,_0x231172={'XQqPq':_0x323336(0x1d2),'IPYAB':function(_0x1101e4,_0x210eb2,_0xdc4842){return _0x1101e4(_0x210eb2,_0xdc4842);},'btueL':'info'},_0x5a3b68={'event':_0x231172[_0x323336(0x193)],'project':_0xc75979,'path':_0x448701},_0x303db9='[OK]\x20Project\x20loaded:\x20'+_0xc75979;logger[_0x323336(0x17d)](_0x5a3b68,_0x303db9),_0x231172['IPYAB'](writeToFileLog,{..._0x5a3b68,'level':_0x231172[_0x323336(0x191)],'msg':_0x303db9,'time':new Date()[_0x323336(0x1a4)]()},_0x231172['btueL']);},logEndpointRegistered=(_0x499d03,_0xaf1502)=>{const _0x20d9ba=a0_0x155a14,_0x5b1da6={'fafJd':_0x20d9ba(0x170),'HAsde':function(_0x335bc6,_0x21618a,_0x5efe09){return _0x335bc6(_0x21618a,_0x5efe09);},'GjteY':_0x20d9ba(0x1dc)},_0x96f10c={'event':_0x5b1da6['fafJd'],'endpoint':_0x499d03,'route':_0xaf1502},_0x288168='\x20\x20→\x20'+_0x499d03+':\x20'+_0xaf1502;logger[_0x20d9ba(0x1dc)](_0x96f10c,_0x288168),_0x5b1da6[_0x20d9ba(0x125)](writeToFileLog,{..._0x96f10c,'level':_0x5b1da6['GjteY'],'msg':_0x288168,'time':new Date()[_0x20d9ba(0x1a4)]()},_0x5b1da6['GjteY']);},logDatabaseConfig=_0x21d6df=>{const _0x1b2950=a0_0x155a14,_0x3a60c3={'YIPEM':'database_config','figwJ':function(_0x6aedfe,_0x464ba8,_0x2fb626){return _0x6aedfe(_0x464ba8,_0x2fb626);}},_0x5c246f={'event':_0x3a60c3[_0x1b2950(0x1a6)],'host':_0x21d6df['host'],'port':_0x21d6df[_0x1b2950(0x118)],'database':_0x21d6df['database'],'type':_0x21d6df[_0x1b2950(0x17b)],'user':_0x21d6df[_0x1b2950(0x176)]},_0x2afe84=_0x1b2950(0x15e)+_0x21d6df['type']+_0x1b2950(0x150)+_0x21d6df['host']+':'+_0x21d6df[_0x1b2950(0x118)]+'/'+_0x21d6df[_0x1b2950(0x12e)];logger['debug'](_0x5c246f,_0x2afe84),_0x3a60c3[_0x1b2950(0x163)](writeToFileLog,{..._0x5c246f,'level':_0x1b2950(0x1dc),'msg':_0x2afe84,'time':new Date()[_0x1b2950(0x1a4)]()},'debug');},logRequest=(_0x46bff6,_0x7af4bb,_0x16e506)=>{const _0x89855d=a0_0x155a14,_0xed3f12={'jFTRF':_0x89855d(0x1d7),'OhWNq':_0x89855d(0x17d),'wGHwU':'error'},_0x49a094={'event':_0xed3f12['jFTRF'],'method':_0x46bff6[_0x89855d(0x131)],'path':_0x46bff6['path'],'statusCode':_0x7af4bb['statusCode'],'durationMs':_0x16e506,'ip':_0x46bff6['ip']},_0x20d47c=_0x46bff6['method']+'\x20'+_0x46bff6['path']+'\x20-\x20'+_0x7af4bb[_0x89855d(0x19e)]+'\x20('+_0x16e506+'ms)';let _0x3ce407=_0xed3f12['OhWNq'];if(_0x7af4bb[_0x89855d(0x19e)]>=0x1f4)_0x3ce407=_0xed3f12['wGHwU'],logger[_0x89855d(0x189)](_0x49a094,_0x20d47c);else _0x7af4bb['statusCode']>=0x190?(_0x3ce407='warn',logger[_0x89855d(0x1ab)](_0x49a094,_0x20d47c)):logger['info'](_0x49a094,_0x20d47c);writeToFileLog({..._0x49a094,'level':_0x3ce407,'msg':_0x20d47c,'time':new Date()['toISOString']()},_0x3ce407);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x155a14(0x182),a0_0x155a14(0x177),'access_token',a0_0x155a14(0x13a),a0_0x155a14(0x1bb),a0_0x155a14(0x139),a0_0x155a14(0x121),a0_0x155a14(0x11d),'credential','credentials',a0_0x155a14(0x1b2),a0_0x155a14(0x135),a0_0x155a14(0x12b),a0_0x155a14(0x188)],redactSensitiveParams=(_0x4a08d1,_0x73f138)=>{const _0x1bf61b=a0_0x155a14,_0x1e6665={'xPpTA':function(_0x3da722,_0x4487bf){return _0x3da722===_0x4487bf;},'zkfrX':function(_0x5c574b,_0x5407b3){return _0x5c574b>_0x5407b3;},'lqyHM':function(_0x44b32f,_0x4df9ad){return _0x44b32f===_0x4df9ad;}};if(!_0x4a08d1||_0x1e6665['lqyHM'](_0x4a08d1[_0x1bf61b(0x140)],0x0))return _0x4a08d1;const _0x17bb67=_0x73f138[_0x1bf61b(0x133)](),_0x47c4df=_0x17bb67[_0x1bf61b(0x11f)](/\(([^)]+)\)\s*values/i);let _0x246c51=[];_0x47c4df&&(_0x246c51=_0x47c4df[0x1][_0x1bf61b(0x199)](',')[_0x1bf61b(0x17c)](_0x2d6070=>_0x2d6070['trim']()['toLowerCase']()));const _0x43a15c=_0x17bb67['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x43a15c){const _0x27eea5=_0x43a15c[0x1],_0x1a1ac4=_0x27eea5[_0x1bf61b(0x11f)](/(\w+)\s*=/g);_0x1a1ac4&&(_0x246c51=_0x1a1ac4[_0x1bf61b(0x17c)](_0x2a5095=>_0x2a5095['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x4a08d1[_0x1bf61b(0x17c)]((_0x1d886a,_0x5a8585)=>{const _0x49bf04=_0x1bf61b;if(_0x246c51[_0x5a8585]){const _0x30de59=_0x246c51[_0x5a8585],_0x266bec=SENSITIVE_PARAM_PATTERNS['some'](_0x32903a=>_0x30de59['includes'](_0x32903a));if(_0x266bec)return'[REDACTED]';}if(_0x1e6665[_0x49bf04(0x190)](typeof _0x1d886a,_0x49bf04(0x17e))&&_0x1e6665['zkfrX'](_0x1d886a[_0x49bf04(0x140)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x1d886a)&&_0x1d886a[_0x49bf04(0x138)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0x49bf04(0x159)](_0x1d886a))return _0x49bf04(0x179);}return _0x1d886a;});},parseQueryMetadata=_0x58e6a9=>{const _0x1d74de=a0_0x155a14,_0x547023={'MayZt':_0x1d74de(0x195),'lUPiw':'INSERT','JnOZd':'DELETE','zdeGu':'BEGIN','EKwJV':_0x1d74de(0x1b0),'BWHSZ':_0x1d74de(0x14c),'ukpFf':'COMMIT','GanuA':_0x1d74de(0x1d0),'AfCoZ':'ALTER','fMUFY':_0x1d74de(0x1aa)},_0x10bfdd=_0x58e6a9[_0x1d74de(0x13f)](),_0x3562a3=_0x10bfdd[_0x1d74de(0x1cb)]();let _0x201c31='UNKNOWN',_0x269e98=null;if(_0x3562a3['startsWith'](_0x547023['MayZt'])){_0x201c31=_0x547023[_0x1d74de(0x154)];const _0x32f89a=_0x10bfdd[_0x1d74de(0x11f)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x269e98=_0x32f89a?_0x32f89a[0x1]:null;}else{if(_0x3562a3['startsWith'](_0x547023['lUPiw'])){_0x201c31='INSERT';const _0x5ba945=_0x10bfdd[_0x1d74de(0x11f)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x269e98=_0x5ba945?_0x5ba945[0x1]:null;}else{if(_0x3562a3[_0x1d74de(0x13b)]('UPDATE')){_0x201c31=_0x1d74de(0x15f);const _0x5a9ace=_0x10bfdd[_0x1d74de(0x11f)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x269e98=_0x5a9ace?_0x5a9ace[0x1]:null;}else{if(_0x3562a3[_0x1d74de(0x13b)](_0x547023['JnOZd'])){_0x201c31=_0x547023[_0x1d74de(0x15d)];const _0x41fcc3=_0x10bfdd['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x269e98=_0x41fcc3?_0x41fcc3[0x1]:null;}else{if(_0x3562a3['startsWith'](_0x547023[_0x1d74de(0x13e)])||_0x3562a3['startsWith'](_0x547023['EKwJV']))_0x201c31=_0x547023['BWHSZ'];else{if(_0x3562a3[_0x1d74de(0x13b)](_0x547023['ukpFf']))_0x201c31='TRANSACTION_COMMIT';else{if(_0x3562a3[_0x1d74de(0x13b)](_0x1d74de(0x132)))_0x201c31=_0x1d74de(0x156);else{if(_0x3562a3[_0x1d74de(0x13b)](_0x547023[_0x1d74de(0x117)]))_0x201c31='DDL_CREATE';else{if(_0x3562a3['startsWith'](_0x547023['AfCoZ']))_0x201c31=_0x1d74de(0x1a1);else _0x3562a3[_0x1d74de(0x13b)](_0x547023[_0x1d74de(0x126)])&&(_0x201c31='DDL_DROP');}}}}}}}}return{'type':_0x201c31,'table':_0x269e98};},startQueryTimer=()=>{const _0x2df0ad=a0_0x155a14,_0x1f4b38={'hcXHW':function(_0x200120,_0x4a99ee){return _0x200120(_0x4a99ee);},'eUkNG':function(_0x1833fc,_0x3ce390){return _0x1833fc+_0x3ce390;},'zZBTp':function(_0x2c2730,_0x450374){return _0x2c2730*_0x450374;},'GYSsc':function(_0x53a630,_0x3f8353){return _0x53a630/_0x3f8353;}},_0x36eb2c=process[_0x2df0ad(0x175)]();return()=>{const _0x2412d6=_0x2df0ad,[_0x1c8d20,_0x2230b5]=process[_0x2412d6(0x175)](_0x36eb2c);return _0x1f4b38['hcXHW'](parseFloat,_0x1f4b38['eUkNG'](_0x1f4b38['zZBTp'](_0x1c8d20,0x3e8),_0x1f4b38['GYSsc'](_0x2230b5,0xf4240))['toFixed'](0x2));};},logQuery=(_0x35b8b9,_0x49d58c=[],_0xb0dbb1={})=>{const _0x39d6d1=a0_0x155a14,_0xa60a53={'eLMyn':'DB\x20Query','kwjdC':'postgresql','iDUaX':_0x39d6d1(0x129),'vZnOb':function(_0x3fe773,_0x16e3c2){return _0x3fe773>_0x16e3c2;},'DujAi':function(_0x3018e0,_0x34c7d2,_0x538e52){return _0x3018e0(_0x34c7d2,_0x538e52);},'PGmYC':function(_0x348336,_0x45d602){return _0x348336||_0x45d602;},'ybMXY':_0x39d6d1(0x144),'NcALx':function(_0x4a74bc,_0x48c1e0){return _0x4a74bc!==_0x48c1e0;},'rGRFg':'warn','zHNjm':'info'};if(!sqlLogEnabled){logger[_0x39d6d1(0x1dc)]({'event':_0x39d6d1(0x16c),'query':_0x35b8b9['substring'](0x0,0xc8),'paramCount':_0x49d58c[_0x39d6d1(0x140)]},_0xa60a53[_0x39d6d1(0x11c)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0xa60a53['kwjdC']}=_0xb0dbb1,{type:_0x124c15,table:_0x420c50}=parseQueryMetadata(_0x35b8b9),_0x3a8773={'event':_0xa60a53['iDUaX'],'queryType':_0x124c15,'table':_0x420c50,'query':_0x35b8b9,'paramCount':_0x49d58c[_0x39d6d1(0x140)],'dbType':dbType};sqlLogParams&&_0xa60a53['vZnOb'](_0x49d58c[_0x39d6d1(0x140)],0x0)&&(_0x3a8773[_0x39d6d1(0x120)]=_0xa60a53['DujAi'](redactSensitiveParams,_0x49d58c,_0x35b8b9));duration!==null&&(_0x3a8773['durationMs']=duration,_0x3a8773['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x3a8773[_0x39d6d1(0x162)]=rowsAffected);const _0xb7ffc5=_0xa60a53[_0x39d6d1(0x12d)](_0x420c50,_0xa60a53[_0x39d6d1(0x18c)]);let _0xd6104='['+_0x124c15+']\x20'+_0xb7ffc5;_0xa60a53[_0x39d6d1(0x136)](duration,null)&&(_0xd6104+='\x20('+duration+'ms)');const _0x4a11b8=_0xa60a53['NcALx'](duration,null)&&duration>sqlLogSlowThreshold;let _0x562fc7=_0x39d6d1(0x1dc);if(_0x4a11b8)_0xd6104+='\x20[SLOW]',_0x562fc7=_0xa60a53[_0x39d6d1(0x11b)],logger[_0x39d6d1(0x1ab)](_0x3a8773,_0xd6104);else sqlLogLevel===_0xa60a53[_0x39d6d1(0x160)]?(_0x562fc7=_0x39d6d1(0x17d),logger['info'](_0x3a8773,_0xd6104)):logger[_0x39d6d1(0x1dc)](_0x3a8773,_0xd6104);writeToFileLog({..._0x3a8773,'level':_0x562fc7,'msg':_0xd6104,'time':new Date()[_0x39d6d1(0x1a4)]()},_0x562fc7);},logTransaction=(_0x3a9e41,_0x2f314d)=>{const _0xe63b8d=a0_0x155a14,_0x5b0328={'zVuxe':function(_0x1e355e,_0x4f5de,_0x410a5b){return _0x1e355e(_0x4f5de,_0x410a5b);},'bJSSU':'debug'},_0x59bceb={'event':_0xe63b8d(0x1d5),'status':_0x3a9e41,'queryCount':_0x2f314d},_0x5a9265='Transaction\x20'+_0x3a9e41;logger['debug'](_0x59bceb,_0x5a9265),_0x5b0328['zVuxe'](writeToFileLog,{..._0x59bceb,'level':_0xe63b8d(0x1dc),'msg':_0x5a9265,'time':new Date()['toISOString']()},_0x5b0328[_0xe63b8d(0x1af)]);},redactObject=_0xb05a7b=>{const _0x39bf61=a0_0x155a14,_0x476507={'BjjMR':function(_0x9e769d,_0x4e0be0){return _0x9e769d!==_0x4e0be0;},'VJYka':_0x39bf61(0x119),'RKxVl':'pwd','pLqma':'secret','wuWCd':'apikey','jaEJH':_0x39bf61(0x1a5),'odRcY':_0x39bf61(0x1bd),'gsDry':_0x39bf61(0x12b),'pZbfz':'privatekey','FjIVV':'refresh_token','FLzXu':_0x39bf61(0x142),'jXIIN':function(_0x4f7ec1,_0x261b76){return _0x4f7ec1===_0x261b76;},'PRcnL':_0x39bf61(0x187),'XxWzI':function(_0x4b66ce,_0x300822){return _0x4b66ce(_0x300822);}};if(!_0xb05a7b||_0x476507[_0x39bf61(0x13d)](typeof _0xb05a7b,'object'))return _0xb05a7b;const _0x6b0a5d=[_0x476507[_0x39bf61(0x16e)],_0x39bf61(0x1db),_0x476507[_0x39bf61(0x149)],'token',_0x476507[_0x39bf61(0x148)],_0x476507[_0x39bf61(0x18a)],'api_key','authorization',_0x476507['jaEJH'],'credit_card',_0x39bf61(0x1bc),_0x476507['odRcY'],'pin',_0x476507[_0x39bf61(0x1ae)],_0x476507['pZbfz'],_0x476507[_0x39bf61(0x1b1)],_0x39bf61(0x1b6)],_0x5450a0=Array[_0x39bf61(0x146)](_0xb05a7b)?[..._0xb05a7b]:{..._0xb05a7b};for(const _0x144be6 of Object['keys'](_0x5450a0)){const _0x1d8728=_0x144be6['toLowerCase']();if(_0x6b0a5d['some'](_0x2a85ee=>_0x1d8728['includes'](_0x2a85ee)))_0x5450a0[_0x144be6]=_0x476507['FLzXu'];else _0x476507[_0x39bf61(0x158)](typeof _0x5450a0[_0x144be6],_0x476507[_0x39bf61(0x12c)])&&_0x5450a0[_0x144be6]!==null&&(_0x5450a0[_0x144be6]=_0x476507[_0x39bf61(0x151)](redactObject,_0x5450a0[_0x144be6]));}return _0x5450a0;},logError=(_0x18e33d,_0x46b5de={},_0x18031d=null)=>{const _0x1fdf17=a0_0x155a14,_0x44bdfc={'ddVTG':'error','deSDs':function(_0xae1f6d,_0x9cd9b9,_0x4f5ce1){return _0xae1f6d(_0x9cd9b9,_0x4f5ce1);}},_0x532586={'event':_0x44bdfc['ddVTG'],'errorName':_0x18e33d['name']||_0x1fdf17(0x1c8),'errorMessage':_0x18e33d[_0x1fdf17(0x1cd)],'errorCode':_0x18e33d[_0x1fdf17(0x1ad)]||null,'stack':_0x18e33d['stack'],..._0x46b5de},_0xbad115=_0x18031d||_0x1fdf17(0x183)+_0x18e33d[_0x1fdf17(0x1cd)];logger['error'](_0x532586,_0xbad115),_0x44bdfc[_0x1fdf17(0x14a)](writeToFileLog,{..._0x532586,'level':_0x44bdfc[_0x1fdf17(0x1cf)],'msg':_0xbad115,'time':new Date()['toISOString']()},_0x44bdfc['ddVTG']);},logFatalError=(_0x45264b,_0xa06e51={},_0x2b6907=null)=>{const _0x51ceab=a0_0x155a14,_0x29ba71={'event':'fatal_error','errorName':_0x45264b[_0x51ceab(0x186)]||_0x51ceab(0x1c8),'errorMessage':_0x45264b['message'],'errorCode':_0x45264b[_0x51ceab(0x1ad)]||null,'stack':_0x45264b['stack'],'severity':_0x51ceab(0x1bf),..._0xa06e51},_0x4464b9=_0x2b6907||_0x51ceab(0x127)+_0x45264b[_0x51ceab(0x1cd)];logger[_0x51ceab(0x147)](_0x29ba71,_0x4464b9),writeToFileLog({..._0x29ba71,'level':_0x51ceab(0x147),'msg':_0x4464b9,'time':new Date()['toISOString']()},'error');},logHttpError=(_0x2ce104,_0xeb1d4d,_0x5b2b51={})=>{const _0x359e0c=a0_0x155a14,_0x4b137b={'bRbdW':'x-request-id','CWCDN':function(_0x5b536f,_0x2bba20,_0x231e1d){return _0x5b536f(_0x2bba20,_0x231e1d);},'yUxZA':function(_0x832823,_0x3a69b3){return _0x832823>=_0x3a69b3;},'pCCTM':_0x359e0c(0x189)},_0x57f2e2={'event':'http_error','errorName':_0x2ce104[_0x359e0c(0x186)]||_0x359e0c(0x1c8),'errorMessage':_0x2ce104['message'],'errorCode':_0x2ce104['code']||_0x2ce104['statusCode']||0x1f4,'stack':_0x2ce104[_0x359e0c(0x1c6)],'method':_0xeb1d4d?.['method'],'url':_0xeb1d4d?.[_0x359e0c(0x194)]||_0xeb1d4d?.[_0x359e0c(0x168)],'path':_0xeb1d4d?.[_0x359e0c(0x18d)],'ip':_0xeb1d4d?.['ip']||_0xeb1d4d?.['connection']?.[_0x359e0c(0x169)],'userAgent':_0xeb1d4d?.[_0x359e0c(0x1c4)]?.('user-agent'),'requestId':_0xeb1d4d?.['id']||_0xeb1d4d?.[_0x359e0c(0x196)]?.[_0x4b137b['bRbdW']],'body':_0xeb1d4d?.['body']?redactObject(_0xeb1d4d[_0x359e0c(0x1ca)]):undefined,'query':_0xeb1d4d?.['query'],..._0x5b2b51},_0x4d6b4c=_0x2ce104['statusCode']||_0x2ce104[_0x359e0c(0x1b7)]||0x1f4,_0x400ef1=_0x359e0c(0x128)+_0x4d6b4c+':\x20'+_0x2ce104['message'];_0x4d6b4c>=0x1f4?logger[_0x359e0c(0x189)](_0x57f2e2,_0x400ef1):logger[_0x359e0c(0x1ab)](_0x57f2e2,_0x400ef1),_0x4b137b['CWCDN'](writeToFileLog,{..._0x57f2e2,'level':_0x4d6b4c>=0x1f4?_0x359e0c(0x189):'warn','msg':_0x400ef1,'time':new Date()['toISOString']()},_0x4b137b[_0x359e0c(0x19c)](_0x4d6b4c,0x1f4)?_0x4b137b[_0x359e0c(0x124)]:_0x359e0c(0x1ab));},logUncaughtError=(_0x70dd52,_0xf9c8e1)=>{const _0x198d35=a0_0x155a14,_0x5dd904={'vdOgn':'Error','VGKNF':function(_0x32a631,_0x216643,_0x24b006){return _0x32a631(_0x216643,_0x24b006);},'NnrlF':'error'},_0x29bce1={'event':_0x70dd52,'errorName':_0xf9c8e1?.[_0x198d35(0x186)]||_0x5dd904['vdOgn'],'errorMessage':_0xf9c8e1?.[_0x198d35(0x1cd)]||String(_0xf9c8e1),'errorCode':_0xf9c8e1?.[_0x198d35(0x1ad)]||null,'stack':_0xf9c8e1?.[_0x198d35(0x1c6)],'severity':_0x198d35(0x1bf),'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x56546f='['+_0x70dd52['toUpperCase']()+']\x20'+(_0xf9c8e1?.['message']||_0xf9c8e1);logger[_0x198d35(0x147)](_0x29bce1,_0x56546f),_0x5dd904['VGKNF'](writeToFileLog,{..._0x29bce1,'level':'fatal','msg':_0x56546f,'time':new Date()['toISOString']()},_0x5dd904['NnrlF']);},setupGlobalErrorHandlers=()=>{const _0x289ac6=a0_0x155a14,_0x3c929d={'HNLwU':function(_0x323802,_0x4af1a2,_0x791a73){return _0x323802(_0x4af1a2,_0x791a73);},'AzEbk':_0x289ac6(0x167),'BVlga':function(_0x36eb63,_0x508645,_0xa01e10){return _0x36eb63(_0x508645,_0xa01e10);},'DxBQi':function(_0x191cf0,_0x57bcfb,_0x37256c){return _0x191cf0(_0x57bcfb,_0x37256c);},'WfClD':_0x289ac6(0x184),'reHMu':'process_warning','loomz':'warning','sRvtj':'global_error_handlers_setup','VIfGe':'Global\x20error\x20handlers\x20initialized','MTmNd':_0x289ac6(0x17d)};process['on']('uncaughtException',_0x5092ef=>{const _0x339367=_0x289ac6;_0x3c929d['HNLwU'](logUncaughtError,_0x3c929d[_0x339367(0x137)],_0x5092ef),_0x3c929d[_0x339367(0x164)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x3c929d[_0x289ac6(0x16a)],(_0x13d797,_0x3ab953)=>{const _0x538275=_0x289ac6,_0x490ff1=_0x13d797 instanceof Error?_0x13d797:new Error(String(_0x13d797));_0x3c929d[_0x538275(0x130)](logUncaughtError,_0x3c929d[_0x538275(0x16a)],_0x490ff1);}),process['on'](_0x3c929d['loomz'],_0x4c12ff=>{const _0x5242e6=_0x289ac6;logger[_0x5242e6(0x1ab)]({'event':_0x3c929d[_0x5242e6(0x17a)],'name':_0x4c12ff[_0x5242e6(0x186)],'message':_0x4c12ff[_0x5242e6(0x1cd)],'stack':_0x4c12ff['stack']},'Process\x20Warning:\x20'+_0x4c12ff[_0x5242e6(0x1cd)]);});const _0x2926b3={'event':_0x3c929d['sRvtj']},_0x14e0e9=_0x3c929d['VIfGe'];logger[_0x289ac6(0x17d)](_0x2926b3,_0x14e0e9),writeToFileLog({..._0x2926b3,'level':'info','msg':_0x14e0e9,'time':new Date()['toISOString']()},_0x3c929d['MTmNd']);},createErrorHandlerMiddleware=()=>{const _0x3a5d26={'MXMBo':'x-request-id'};return(_0x3a57d5,_0x580eb1,_0xca0b54,_0x402413)=>{const _0x349d09=a0_0x5683;logHttpError(_0x3a57d5,_0x580eb1);const _0x37fa86=_0x3a57d5[_0x349d09(0x19e)]||_0x3a57d5['status']||0x1f4;_0xca0b54[_0x349d09(0x1b7)](_0x37fa86)[_0x349d09(0x1c1)]({'success':![],'error':_0x37fa86>=0x1f4?'Internal\x20server\x20error':_0x3a57d5['message'],'requestId':_0x580eb1['id']||_0x580eb1[_0x349d09(0x196)]?.[_0x3a5d26[_0x349d09(0x14e)]]||null});};};module[a0_0x155a14(0x12f)]={'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 a0_0x4a9733=a0_0x487b;function a0_0x487b(_0x5a6f7a,_0x1d0cdb){_0x5a6f7a=_0x5a6f7a-0x152;const _0x5641b6=a0_0x5641();let _0x487bf1=_0x5641b6[_0x5a6f7a];if(a0_0x487b['AbKJYY']===undefined){var _0x444dec=function(_0x3952f3){const _0x154f7d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14877c='',_0x89fa3b='';for(let _0x2a243e=0x0,_0xbdb3ce,_0x75aee,_0x4dac57=0x0;_0x75aee=_0x3952f3['charAt'](_0x4dac57++);~_0x75aee&&(_0xbdb3ce=_0x2a243e%0x4?_0xbdb3ce*0x40+_0x75aee:_0x75aee,_0x2a243e++%0x4)?_0x14877c+=String['fromCharCode'](0xff&_0xbdb3ce>>(-0x2*_0x2a243e&0x6)):0x0){_0x75aee=_0x154f7d['indexOf'](_0x75aee);}for(let _0x2e6aeb=0x0,_0x1d72a9=_0x14877c['length'];_0x2e6aeb<_0x1d72a9;_0x2e6aeb++){_0x89fa3b+='%'+('00'+_0x14877c['charCodeAt'](_0x2e6aeb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x89fa3b);};a0_0x487b['rAgALV']=_0x444dec,a0_0x487b['afdkuB']={},a0_0x487b['AbKJYY']=!![];}const _0x2987e1=_0x5641b6[0x0],_0x5582b8=_0x5a6f7a+_0x2987e1,_0x836c33=a0_0x487b['afdkuB'][_0x5582b8];return!_0x836c33?(_0x487bf1=a0_0x487b['rAgALV'](_0x487bf1),a0_0x487b['afdkuB'][_0x5582b8]=_0x487bf1):_0x487bf1=_0x836c33,_0x487bf1;}(function(_0x190491,_0x10d128){const _0x12efe2=a0_0x487b,_0x3c8551=_0x190491();while(!![]){try{const _0x1d7945=parseInt(_0x12efe2(0x160))/0x1*(parseInt(_0x12efe2(0x170))/0x2)+-parseInt(_0x12efe2(0x15f))/0x3+parseInt(_0x12efe2(0x16b))/0x4+parseInt(_0x12efe2(0x173))/0x5+-parseInt(_0x12efe2(0x16e))/0x6*(parseInt(_0x12efe2(0x157))/0x7)+-parseInt(_0x12efe2(0x161))/0x8+-parseInt(_0x12efe2(0x16c))/0x9*(-parseInt(_0x12efe2(0x15d))/0xa);if(_0x1d7945===_0x10d128)break;else _0x3c8551['push'](_0x3c8551['shift']());}catch(_0x50ec41){_0x3c8551['push'](_0x3c8551['shift']());}}}(a0_0x5641,0x534c5));const fs=require('fs')[a0_0x4a9733(0x175)],path=require(a0_0x4a9733(0x158)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x33ef4a=a0_0x4a9733,_0xcf8aea={'xDgJD':'../../payload'};this[_0x33ef4a(0x15a)]=path[_0x33ef4a(0x165)](__dirname,_0xcf8aea['xDgJD']),this['cache']=new Map();}async[a0_0x4a9733(0x172)](_0x43a65,_0x29dc3f){const _0x1ab665=a0_0x4a9733,_0x12be24={'cHYvh':_0x1ab665(0x15c),'qdRip':'Failed\x20to\x20load\x20payload'},_0x54a1b2=_0x43a65+':'+_0x29dc3f;if(this[_0x1ab665(0x169)]['has'](_0x54a1b2))return this[_0x1ab665(0x169)][_0x1ab665(0x166)](_0x54a1b2);const _0x236279=path[_0x1ab665(0x165)](this[_0x1ab665(0x15a)],_0x43a65+'_'+_0x29dc3f+_0x1ab665(0x163));try{const _0x3e4cd4=await fs['readFile'](_0x236279,_0x12be24['cHYvh']),_0x145e64=JSON[_0x1ab665(0x168)](_0x3e4cd4);return this[_0x1ab665(0x169)][_0x1ab665(0x152)](_0x54a1b2,_0x145e64),logger[_0x1ab665(0x16f)]({'event':_0x1ab665(0x171),'project':_0x43a65,'resource':_0x29dc3f},_0x1ab665(0x167)),_0x145e64;}catch(_0xb27007){logger['error']({'event':'payload_load_error','project':_0x43a65,'resource':_0x29dc3f,'error':_0xb27007[_0x1ab665(0x155)]},_0x12be24['qdRip']);throw new Error('Payload\x20not\x20found:\x20'+_0x43a65+'_'+_0x29dc3f);}}async['loadPayloadByName'](_0x1998a1){const _0x2e1f8d=a0_0x4a9733,_0x4b41cf={'xhtyy':_0x2e1f8d(0x15c)},_0x431773=_0x2e1f8d(0x154)+_0x1998a1;if(this['cache'][_0x2e1f8d(0x15e)](_0x431773))return this[_0x2e1f8d(0x169)]['get'](_0x431773);const _0x28f686=path['join'](this[_0x2e1f8d(0x15a)],_0x1998a1+'.json');try{const _0xfda89c=await fs[_0x2e1f8d(0x164)](_0x28f686,_0x4b41cf['xhtyy']),_0x418b8e=JSON['parse'](_0xfda89c);return this['cache']['set'](_0x431773,_0x418b8e),logger[_0x2e1f8d(0x16f)]({'event':'payload_loaded','payloadName':_0x1998a1},_0x2e1f8d(0x16a)),_0x418b8e;}catch(_0x2b1e48){logger['error']({'event':'payload_load_error','payloadName':_0x1998a1,'error':_0x2b1e48['message']},_0x2e1f8d(0x15b));throw new Error(_0x2e1f8d(0x16d)+_0x1998a1);}}['isActionEnabled'](_0x29cb36,_0x4fd45b){const _0x337599=a0_0x4a9733;return _0x29cb36['action']&&_0x29cb36[_0x337599(0x176)][_0x4fd45b]===!![];}['getExportConfig'](_0x38fcf2){const _0x1a6505=a0_0x4a9733;return{'columns':_0x38fcf2[_0x1a6505(0x162)]||[],'filename':_0x38fcf2[_0x1a6505(0x174)]['replace']('.','-')+'-export','datatablesQuery':_0x38fcf2['datatablesQuery']||null,'columnFormats':_0x38fcf2[_0x1a6505(0x153)]||null,'fieldLabels':_0x38fcf2['fieldLabels']||null};}['clearCache'](){const _0x192900=a0_0x4a9733,_0x2181f5={'JGsoE':'Payload\x20cache\x20cleared'};this[_0x192900(0x169)]['clear'](),logger['info']({'event':'payload_cache_cleared'},_0x2181f5[_0x192900(0x156)]);}}function a0_0x5641(){const _0x4ea238=['Bg9HzfbHEwXVywq','mtq0mda1q2Hqy210','DgfIBgvoyw1L','ChjVBwLZzxm','ywn0Aw9U','C2v0','y29SDw1UrM9YBwf0CW','Cgf5Bg9HzdO','BwvZC2fNzq','sKDZB0u','mti4mwf4su5fsW','Cgf0Aa','zxHWB3j0CW','Cgf5Bg9HzerPCG','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','DxrMoa','mJiWBujLBvj0','AgfZ','mJaYmJqYnNjuDvrZwq','mujwDM1Pua','mJiYnJC2oe1Ir2reDq','zMLLBgroyw1L','lMPZB24','CMvHzezPBgu','AM9PBG','z2v0','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','CgfYC2u','y2fJAgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','mtC0mZC2CxzPD2Dd','ndaWnti3twroqM93','ugf5Bg9HzcbUB3qGzM91BMq6ia','mtuWnMTRDKzoAW','zgvIDwC','ntC2mJK4Bg9KEKHR','Cgf5Bg9Hzf9SB2fKzwq'];a0_0x5641=function(){return _0x4ea238;};return a0_0x5641();}module[a0_0x4a9733(0x159)]=new PayloadLoader();
1
+ function a0_0x1175(_0x34989e,_0x44a902){_0x34989e=_0x34989e-0x85;const _0x1089c1=a0_0x1089();let _0x117556=_0x1089c1[_0x34989e];if(a0_0x1175['YNFdIF']===undefined){var _0x14ceb7=function(_0x56b990){const _0x2d4c6e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53845d='',_0x4a36fe='';for(let _0x4b12ba=0x0,_0x351dab,_0x334b9b,_0x4c6186=0x0;_0x334b9b=_0x56b990['charAt'](_0x4c6186++);~_0x334b9b&&(_0x351dab=_0x4b12ba%0x4?_0x351dab*0x40+_0x334b9b:_0x334b9b,_0x4b12ba++%0x4)?_0x53845d+=String['fromCharCode'](0xff&_0x351dab>>(-0x2*_0x4b12ba&0x6)):0x0){_0x334b9b=_0x2d4c6e['indexOf'](_0x334b9b);}for(let _0x22b193=0x0,_0x48a0dc=_0x53845d['length'];_0x22b193<_0x48a0dc;_0x22b193++){_0x4a36fe+='%'+('00'+_0x53845d['charCodeAt'](_0x22b193)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a36fe);};a0_0x1175['VTroQV']=_0x14ceb7,a0_0x1175['HvswOh']={},a0_0x1175['YNFdIF']=!![];}const _0x21bb87=_0x1089c1[0x0],_0x501ebf=_0x34989e+_0x21bb87,_0x12b9fb=a0_0x1175['HvswOh'][_0x501ebf];return!_0x12b9fb?(_0x117556=a0_0x1175['VTroQV'](_0x117556),a0_0x1175['HvswOh'][_0x501ebf]=_0x117556):_0x117556=_0x12b9fb,_0x117556;}const a0_0x33665e=a0_0x1175;function a0_0x1089(){const _0xab0643=['Cgf5Bg9Hzf9SB2fKx2vYCM9Y','zMLLBgrmywjLBhm','zgf0yxrHyMXLC1f1zxj5','DKLyA2G','AM9PBG','ywn0Aw9U','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','lI9SB2DNzxi','uuj1DMe','C05yAfy','mtKZoty0n0LjDgDvEa','BwvZC2fNzq','DgfIBgvoyw1L','z2v0rxHWB3j0q29UzMLN','C2XYtuO','nde0mtq3mNn2AxD2yq','mty4vKThCeLw','mJq4nZy2zfvnsMXQ','mKPVwwfSwq','q0Dwuhe','y2fJAgu','zxjYB3i','nJCZntC4wNnrzw5L','nduZodm1mgnNsfzMta','Axnby3rPB25fBMfIBgvK','Cgf5Bg9HzdO','Cgf5Bg9HzerPCG','ndq0sunjD1rp','mtaYmZaXmxfKyMHHrW','r2LSy2u','mtm3mdq1nuLiELzzrq','mtH6thv3que','oeHuwLj3AW','z2v0','yNPUz0W'];a0_0x1089=function(){return _0xab0643;};return a0_0x1089();}(function(_0x7ba18f,_0x37ded8){const _0x4ddb75=a0_0x1175,_0xb87fbe=_0x7ba18f();while(!![]){try{const _0x1a5775=parseInt(_0x4ddb75(0x8b))/0x1+parseInt(_0x4ddb75(0x87))/0x2*(-parseInt(_0x4ddb75(0xa2))/0x3)+parseInt(_0x4ddb75(0x95))/0x4*(-parseInt(_0x4ddb75(0x93))/0x5)+-parseInt(_0x4ddb75(0x85))/0x6*(parseInt(_0x4ddb75(0x86))/0x7)+-parseInt(_0x4ddb75(0xa7))/0x8+parseInt(_0x4ddb75(0x94))/0x9*(-parseInt(_0x4ddb75(0x8c))/0xa)+parseInt(_0x4ddb75(0x91))/0xb*(parseInt(_0x4ddb75(0x90))/0xc);if(_0x1a5775===_0x37ded8)break;else _0xb87fbe['push'](_0xb87fbe['shift']());}catch(_0x5b4f66){_0xb87fbe['push'](_0xb87fbe['shift']());}}}(a0_0x1089,0x79f0a));const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0x33665e(0x9f));class PayloadLoader{constructor(){const _0x3dae3e=a0_0x33665e,_0x15f55c={'QBuva':'../../payload'};this[_0x3dae3e(0x8f)]=path[_0x3dae3e(0x9c)](__dirname,_0x15f55c[_0x3dae3e(0xa0)]),this['cache']=new Map();}async['loadPayload'](_0x4dbb1d,_0x32cac1){const _0x386256=a0_0x33665e,_0x56ff0b={'eaepB':'utf8','CGVPq':'payload_loaded','xLTPU':'Payload\x20loaded\x20successfully','Gilce':_0x386256(0x98)},_0x28a306=_0x4dbb1d+':'+_0x32cac1;if(this['cache']['has'](_0x28a306))return this[_0x386256(0x89)][_0x386256(0x96)](_0x28a306);const _0x3da1cf=path[_0x386256(0x9c)](this['payloadDir'],_0x4dbb1d+'_'+_0x32cac1+'.json');try{const _0x4891ee=await fs['readFile'](_0x3da1cf,_0x56ff0b['eaepB']),_0x3c5123=JSON['parse'](_0x4891ee);return this[_0x386256(0x89)]['set'](_0x28a306,_0x3c5123),logger['debug']({'event':_0x56ff0b[_0x386256(0x88)],'project':_0x4dbb1d,'resource':_0x32cac1},_0x56ff0b['xLTPU']),_0x3c5123;}catch(_0x382b4e){logger['error']({'event':_0x56ff0b[_0x386256(0x92)],'project':_0x4dbb1d,'resource':_0x32cac1,'error':_0x382b4e['message']},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x4dbb1d+'_'+_0x32cac1);}}async['loadPayloadByName'](_0x2c3afb){const _0x71c948=a0_0x33665e,_0x5ca071={'sNXhV':'utf8','oGtNU':'payload_loaded','slrMJ':'Payload\x20loaded\x20successfully\x20by\x20name','vIXkh':_0x71c948(0x98)},_0x3ff0bf=_0x71c948(0x8e)+_0x2c3afb;if(this[_0x71c948(0x89)]['has'](_0x3ff0bf))return this['cache']['get'](_0x3ff0bf);const _0x54b815=path['join'](this['payloadDir'],_0x2c3afb+'.json');try{const _0x2bfe0e=await fs['readFile'](_0x54b815,_0x5ca071[_0x71c948(0xa1)]),_0x3e14fb=JSON['parse'](_0x2bfe0e);return this[_0x71c948(0x89)]['set'](_0x3ff0bf,_0x3e14fb),logger['debug']({'event':_0x5ca071['oGtNU'],'payloadName':_0x2c3afb},_0x5ca071[_0x71c948(0xa6)]),_0x3e14fb;}catch(_0x12d485){logger[_0x71c948(0x8a)]({'event':_0x5ca071[_0x71c948(0x9b)],'payloadName':_0x2c3afb,'error':_0x12d485[_0x71c948(0xa3)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x2c3afb);}}[a0_0x33665e(0x8d)](_0xa78d67,_0x185d49){const _0x52b186=a0_0x33665e;return _0xa78d67[_0x52b186(0x9d)]&&_0xa78d67[_0x52b186(0x9d)][_0x185d49]===!![];}[a0_0x33665e(0xa5)](_0xaa7d94){const _0x233f4d=a0_0x33665e;return{'columns':_0xaa7d94['fieldName']||[],'filename':_0xaa7d94[_0x233f4d(0xa4)]['replace']('.','-')+'-export','datatablesQuery':_0xaa7d94[_0x233f4d(0x9a)]||null,'columnFormats':_0xaa7d94['columnFormats']||null,'fieldLabels':_0xaa7d94[_0x233f4d(0x99)]||null};}['clearCache'](){const _0x267d98=a0_0x33665e,_0x31f0a8={'bzngL':_0x267d98(0x9e)};this['cache']['clear'](),logger['info']({'event':'payload_cache_cleared'},_0x31f0a8[_0x267d98(0x97)]);}}module['exports']=new PayloadLoader();