@restforgejs/platform 5.0.8 → 5.0.9

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 (168) 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/dbschema-kit/connection.js +17 -2
  5. package/generators/lib/templates/dashboard-catalog.js +1 -1
  6. package/generators/lib/templates/db-connection-env.js +1 -1
  7. package/generators/lib/templates/dbschema-catalog.js +1 -1
  8. package/generators/lib/templates/field-validation-catalog.js +1 -1
  9. package/generators/lib/templates/mysql-template.js +1 -1
  10. package/generators/lib/templates/oracle-template.js +1 -1
  11. package/generators/lib/templates/postgres-template.js +1 -1
  12. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  13. package/generators/lib/templates/sqlite-template.js +1 -1
  14. package/generators/lib/utils/database-introspector.js +4 -1
  15. package/integrity-manifest.json +18 -18
  16. package/package.json +1 -1
  17. package/scripts/verify-integrity.js +1 -1
  18. package/server.js +1 -1
  19. package/src/components/handlers/adjust_handler.js +1 -1
  20. package/src/components/handlers/audit_handler.js +1 -1
  21. package/src/components/handlers/delete_handler.js +1 -1
  22. package/src/components/handlers/export_handler.js +1 -1
  23. package/src/components/handlers/import_handler.js +1 -1
  24. package/src/components/handlers/insert_handler.js +1 -1
  25. package/src/components/handlers/update_handler.js +1 -1
  26. package/src/components/handlers/upload_handler.js +1 -1
  27. package/src/components/handlers/workflow_handler.js +1 -1
  28. package/src/components/integrations/webhook.js +1 -1
  29. package/src/consumers/baseConsumer.js +1 -1
  30. package/src/consumers/declarativeMapper.js +1 -1
  31. package/src/consumers/handlers/apiHandler.js +1 -1
  32. package/src/consumers/handlers/consoleHandler.js +1 -1
  33. package/src/consumers/handlers/databaseHandler.js +1 -1
  34. package/src/consumers/handlers/index.js +1 -1
  35. package/src/consumers/handlers/kafkaHandler.js +1 -1
  36. package/src/consumers/index.js +1 -1
  37. package/src/consumers/messageTransformer.js +1 -1
  38. package/src/consumers/validator.js +1 -1
  39. package/src/core/db/dialect/base-dialect.js +1 -1
  40. package/src/core/db/dialect/index.js +1 -1
  41. package/src/core/db/dialect/mysql-dialect.js +1 -1
  42. package/src/core/db/dialect/oracle-dialect.js +1 -1
  43. package/src/core/db/dialect/postgres-dialect.js +1 -1
  44. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  45. package/src/core/db/flatten-helper.js +1 -1
  46. package/src/core/db/query-builder-error.js +1 -1
  47. package/src/core/db/query-builder.js +1 -1
  48. package/src/core/db/relation-helper.js +1 -1
  49. package/src/core/handlers/delete_handler.js +1 -1
  50. package/src/core/handlers/insert_handler.js +1 -1
  51. package/src/core/handlers/update_handler.js +1 -1
  52. package/src/core/models/base-model.js +1 -1
  53. package/src/core/utils/cache-manager.js +1 -1
  54. package/src/core/utils/component-engine.js +1 -1
  55. package/src/core/utils/context-builder.js +1 -1
  56. package/src/core/utils/datetime-formatter.js +1 -1
  57. package/src/core/utils/datetime-parser.js +1 -1
  58. package/src/core/utils/db.js +1 -1
  59. package/src/core/utils/logger.js +1 -1
  60. package/src/core/utils/payload-loader.js +1 -1
  61. package/src/core/utils/security-checks.js +1 -1
  62. package/src/middleware/body-options.js +1 -1
  63. package/src/middleware/cors.js +1 -1
  64. package/src/middleware/idempotency.js +1 -1
  65. package/src/middleware/rate-limiter.js +1 -1
  66. package/src/middleware/request-logger.js +1 -1
  67. package/src/middleware/security-headers.js +1 -1
  68. package/src/models/base-model-mysql.js +1 -1
  69. package/src/models/base-model-oracle.js +1 -1
  70. package/src/models/base-model-sqlite.js +1 -1
  71. package/src/models/base-model.js +1 -1
  72. package/src/pro/caching/redis-client.js +1 -1
  73. package/src/pro/caching/redis-helper.js +1 -1
  74. package/src/pro/consumers/baseConsumer.js +1 -1
  75. package/src/pro/consumers/declarativeMapper.js +1 -1
  76. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  77. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  78. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  79. package/src/pro/consumers/handlers/index.js +1 -1
  80. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  81. package/src/pro/consumers/index.js +1 -1
  82. package/src/pro/consumers/messageTransformer.js +1 -1
  83. package/src/pro/consumers/validator.js +1 -1
  84. package/src/pro/database/base-model-mysql.js +1 -1
  85. package/src/pro/database/base-model-oracle.js +1 -1
  86. package/src/pro/database/base-model-sqlite.js +1 -1
  87. package/src/pro/database/db-mysql.js +1 -1
  88. package/src/pro/database/db-oracle.js +1 -1
  89. package/src/pro/database/db-sqlite.js +1 -1
  90. package/src/pro/excel/excel-generator.js +1 -1
  91. package/src/pro/excel/excel-parser.js +1 -1
  92. package/src/pro/excel/export-service.js +1 -1
  93. package/src/pro/excel/export_handler.js +1 -1
  94. package/src/pro/excel/import-service.js +1 -1
  95. package/src/pro/excel/import-validator.js +1 -1
  96. package/src/pro/excel/import_handler.js +1 -1
  97. package/src/pro/excel/upsert-builder.js +1 -1
  98. package/src/pro/idgen/idgen-routes.js +1 -1
  99. package/src/pro/integrations/lookup-resolver.js +1 -1
  100. package/src/pro/integrations/upload-handler-v2.js +1 -1
  101. package/src/pro/integrations/upload-handler.js +1 -1
  102. package/src/pro/integrations/webhook.js +1 -1
  103. package/src/pro/locking/lock-routes.js +1 -1
  104. package/src/pro/locking/resource-lock-manager.js +1 -1
  105. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  106. package/src/pro/messaging/kafkaService.js +1 -1
  107. package/src/pro/messaging/messagehubService.js +1 -1
  108. package/src/pro/messaging/rabbitmqService.js +1 -1
  109. package/src/pro/scheduler/job-manager.js +1 -1
  110. package/src/pro/scheduler/job-routes.js +1 -1
  111. package/src/pro/scheduler/job-validator.js +1 -1
  112. package/src/pro/storage/base-storage-provider.js +1 -1
  113. package/src/pro/storage/file-metadata-helper.js +1 -1
  114. package/src/pro/storage/index.js +1 -1
  115. package/src/pro/storage/local-storage-provider.js +1 -1
  116. package/src/pro/storage/s3-storage-provider.js +1 -1
  117. package/src/pro/storage/upload-cleanup-job.js +1 -1
  118. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  119. package/src/pro/storage/upload-pending-tracker.js +1 -1
  120. package/src/pro/websocket/broadcast-helper.js +1 -1
  121. package/src/pro/websocket/index.js +1 -1
  122. package/src/pro/websocket/livesync-server.js +1 -1
  123. package/src/pro/websocket/ws-broadcaster.js +1 -1
  124. package/src/services/export-service.js +1 -1
  125. package/src/services/import-service.js +1 -1
  126. package/src/services/kafkaConsumerService.js +1 -1
  127. package/src/services/kafkaService.js +1 -1
  128. package/src/services/messagehubService.js +1 -1
  129. package/src/services/rabbitmqService.js +1 -1
  130. package/src/utils/cache-invalidation-registry.js +1 -1
  131. package/src/utils/cache-manager.js +1 -1
  132. package/src/utils/component-engine.js +1 -1
  133. package/src/utils/config-extractor.js +1 -1
  134. package/src/utils/consumerLogger.js +1 -1
  135. package/src/utils/context-builder.js +1 -1
  136. package/src/utils/dashboard-helpers.js +1 -1
  137. package/src/utils/dateHelper.js +1 -1
  138. package/src/utils/datetime-formatter.js +1 -1
  139. package/src/utils/datetime-parser.js +1 -1
  140. package/src/utils/db-bootstrap.js +1 -1
  141. package/src/utils/db-mysql.js +1 -1
  142. package/src/utils/db-oracle.js +1 -1
  143. package/src/utils/db-sqlite.js +1 -1
  144. package/src/utils/db.js +1 -1
  145. package/src/utils/demo-generator.js +1 -1
  146. package/src/utils/excel-generator.js +1 -1
  147. package/src/utils/excel-parser.js +1 -1
  148. package/src/utils/file-watcher.js +1 -1
  149. package/src/utils/id-generator.js +1 -1
  150. package/src/utils/idempotency-manager.js +1 -1
  151. package/src/utils/import-validator.js +1 -1
  152. package/src/utils/license-client.js +1 -1
  153. package/src/utils/lock-manager.js +1 -1
  154. package/src/utils/logger.js +1 -1
  155. package/src/utils/lookup-resolver.js +1 -1
  156. package/src/utils/payload-loader.js +1 -1
  157. package/src/utils/processor-response.js +1 -1
  158. package/src/utils/rabbitmq.js +1 -1
  159. package/src/utils/redis-client.js +1 -1
  160. package/src/utils/redis-helper.js +1 -1
  161. package/src/utils/request-scope.js +1 -1
  162. package/src/utils/security-checks.js +1 -1
  163. package/src/utils/service-resolver.js +1 -1
  164. package/src/utils/shutdown-coordinator.js +1 -1
  165. package/src/utils/trusted-keys.js +1 -1
  166. package/src/utils/upload-handler.js +1 -1
  167. package/src/utils/upsert-builder.js +1 -1
  168. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x509759=a0_0x4969;function a0_0x4969(_0x3b800f,_0x2fadb9){_0x3b800f=_0x3b800f-0xf9;const _0x18649b=a0_0x1864();let _0x496934=_0x18649b[_0x3b800f];if(a0_0x4969['EJpWtI']===undefined){var _0x282cef=function(_0x155440){const _0x1e4896='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb56013='',_0xbd5ba8='';for(let _0x3121ca=0x0,_0x1a4ff1,_0x138da0,_0x11dadc=0x0;_0x138da0=_0x155440['charAt'](_0x11dadc++);~_0x138da0&&(_0x1a4ff1=_0x3121ca%0x4?_0x1a4ff1*0x40+_0x138da0:_0x138da0,_0x3121ca++%0x4)?_0xb56013+=String['fromCharCode'](0xff&_0x1a4ff1>>(-0x2*_0x3121ca&0x6)):0x0){_0x138da0=_0x1e4896['indexOf'](_0x138da0);}for(let _0x3dadea=0x0,_0x58f88d=_0xb56013['length'];_0x3dadea<_0x58f88d;_0x3dadea++){_0xbd5ba8+='%'+('00'+_0xb56013['charCodeAt'](_0x3dadea)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xbd5ba8);};a0_0x4969['ystOkF']=_0x282cef,a0_0x4969['Undzhw']={},a0_0x4969['EJpWtI']=!![];}const _0x341f22=_0x18649b[0x0],_0xc86707=_0x3b800f+_0x341f22,_0x3b18fc=a0_0x4969['Undzhw'][_0xc86707];return!_0x3b18fc?(_0x496934=a0_0x4969['ystOkF'](_0x496934),a0_0x4969['Undzhw'][_0xc86707]=_0x496934):_0x496934=_0x3b18fc,_0x496934;}function a0_0x1864(){const _0x51a742=['ntG2nhHuuujzzG','wwDurfK','nZCYodq0mhfUC3DMAW','nJHfDxHIrvC','z2v0tw9UDgG','mZntsMvIzvO','sNvkwgi','zM9YBwf0rgf0zq','mtCWmdKWmM5pvwPAza','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','zM9YBwf0vgLTzq','mti5mdz5yK9AAKW','sw52ywXPzcb0Aw1LihzHBhvLoIa','sw52ywXPzcb0Aw1LC3rHBxaGDMfSDwu6ia','BgvUz3rO','C3bSAxq','C3rYAw5N','ouHTvuvwvW','z2v0rNvSBfLLyxi','mtyZnZq5mevHr2XjBW','zM9YBwf0','D2fYBG','y29wBMi','qNncvM0','mtq1mdKWndruv25urhG','nLrvDLnYDa','mJmYofDMwwL2Ea','CgfKu3rHCNq','mJy2nJq4meztrvHzDq','vuH3qNG'];a0_0x1864=function(){return _0x51a742;};return a0_0x1864();}(function(_0x554700,_0x277982){const _0x6b74d5=a0_0x4969,_0x5d4f10=_0x554700();while(!![]){try{const _0x37c1d5=parseInt(_0x6b74d5(0x103))/0x1*(parseInt(_0x6b74d5(0x10b))/0x2)+-parseInt(_0x6b74d5(0xfc))/0x3*(-parseInt(_0x6b74d5(0x100))/0x4)+parseInt(_0x6b74d5(0x113))/0x5*(parseInt(_0x6b74d5(0xfb))/0x6)+-parseInt(_0x6b74d5(0x108))/0x7+-parseInt(_0x6b74d5(0x102))/0x8*(-parseInt(_0x6b74d5(0x111))/0x9)+-parseInt(_0x6b74d5(0xfe))/0xa*(parseInt(_0x6b74d5(0x105))/0xb)+-parseInt(_0x6b74d5(0xfa))/0xc;if(_0x37c1d5===_0x277982)break;else _0x5d4f10['push'](_0x5d4f10['shift']());}catch(_0x4233c9){_0x5d4f10['push'](_0x5d4f10['shift']());}}}(a0_0x1864,0x96de4));class DateTimeFormatter{static[a0_0x509759(0x114)](_0x4e0090,_0x21f761,_0x4e81cd){const _0x41fca4=a0_0x509759,_0x2fc085={'JuJXb':'date'};if(!_0x4e0090)return null;try{if(_0x4e81cd===_0x2fc085[_0x41fca4(0x106)])return this[_0x41fca4(0x107)](_0x4e0090,_0x21f761);else{if(_0x4e81cd==='timestamp')return this['formatTimestamp'](_0x4e0090,_0x21f761);else{if(_0x4e81cd==='time')return this[_0x41fca4(0x10a)](_0x4e0090,_0x21f761);}}return _0x4e0090;}catch(_0x23427c){return console['error'](_0x41fca4(0x109)+_0x23427c['message']),_0x4e0090;}}static['formatDate'](_0x2b9a21,_0x2315b8){const _0x186d6b=a0_0x509759,_0x3bce47={'BsBVm':function(_0x5bca6a,_0x287b5c){return _0x5bca6a(_0x287b5c);},'YTJVw':function(_0x4766bb,_0x19bde8){return _0x4766bb+_0x19bde8;}},_0x31f32e=new Date(_0x2b9a21);if(isNaN(_0x31f32e['getTime']()))return console[_0x186d6b(0x115)]('Invalid\x20date\x20value:\x20'+_0x2b9a21),_0x2b9a21;const _0x331d1a=_0x3bce47['BsBVm'](String,_0x31f32e['getDate']())['padStart'](0x2,'0'),_0x57965a=_0x3bce47[_0x186d6b(0xf9)](String,_0x3bce47['YTJVw'](_0x31f32e['getMonth'](),0x1))['padStart'](0x2,'0'),_0x3daffa=_0x31f32e[_0x186d6b(0x112)](),_0x3d8aa4={'dd/MM/yyyy':_0x331d1a+'/'+_0x57965a+'/'+_0x3daffa,'dd-MM-yyyy':_0x331d1a+'-'+_0x57965a+'-'+_0x3daffa,'MM/dd/yyyy':_0x57965a+'/'+_0x331d1a+'/'+_0x3daffa,'yyyy/MM/dd':_0x3daffa+'/'+_0x57965a+'/'+_0x331d1a,'yyyy-MM-dd':_0x3daffa+'-'+_0x57965a+'-'+_0x331d1a};return _0x3d8aa4[_0x2315b8]||_0x3daffa+'-'+_0x57965a+'-'+_0x331d1a;}static['formatTimestamp'](_0xebe09d,_0x1cfc96){const _0x17212c=a0_0x509759,_0x5f2401={'coVnb':function(_0x310699,_0x9c30a3){return _0x310699(_0x9c30a3);},'YgTDY':function(_0x4554fb,_0x48d775){return _0x4554fb(_0x48d775);},'UHwBx':function(_0x47f2b5,_0x291d5b){return _0x47f2b5+_0x291d5b;}},_0x39dbe1=new Date(_0xebe09d);if(isNaN(_0x39dbe1['getTime']()))return console[_0x17212c(0x115)](_0x17212c(0x10d)+_0xebe09d),_0xebe09d;const _0x47c162=_0x5f2401[_0x17212c(0x116)](String,_0x39dbe1['getDate']())['padStart'](0x2,'0'),_0x5e3f3e=_0x5f2401['YgTDY'](String,_0x5f2401[_0x17212c(0xff)](_0x39dbe1[_0x17212c(0x104)](),0x1))['padStart'](0x2,'0'),_0x2a1d4c=_0x39dbe1['getFullYear'](),_0x472b41=_0x5f2401[_0x17212c(0x101)](String,_0x39dbe1['getHours']())['padStart'](0x2,'0'),_0x2b9bce=String(_0x39dbe1['getMinutes']())[_0x17212c(0xfd)](0x2,'0'),_0x209da1=String(_0x39dbe1['getSeconds']())[_0x17212c(0xfd)](0x2,'0'),_0x43170c=_0x1cfc96['split']('\x20');if(_0x43170c[_0x17212c(0x10e)]!==0x2)return _0x2a1d4c+'-'+_0x5e3f3e+'-'+_0x47c162+'\x20'+_0x472b41+':'+_0x2b9bce+':'+_0x209da1;const _0x4c2d26=_0x43170c[0x0],_0x2a5be5=_0x43170c[0x1],_0x43edf3={'dd/MM/yyyy':_0x47c162+'/'+_0x5e3f3e+'/'+_0x2a1d4c,'dd-MM-yyyy':_0x47c162+'-'+_0x5e3f3e+'-'+_0x2a1d4c,'MM/dd/yyyy':_0x5e3f3e+'/'+_0x47c162+'/'+_0x2a1d4c,'yyyy/MM/dd':_0x2a1d4c+'/'+_0x5e3f3e+'/'+_0x47c162,'yyyy-MM-dd':_0x2a1d4c+'-'+_0x5e3f3e+'-'+_0x47c162},_0xe0ed6f={'HH:mm':_0x472b41+':'+_0x2b9bce,'HH:mm:ss':_0x472b41+':'+_0x2b9bce+':'+_0x209da1,'hh:mm':_0x472b41+':'+_0x2b9bce},_0x4439a1=_0x43edf3[_0x4c2d26]||_0x2a1d4c+'-'+_0x5e3f3e+'-'+_0x47c162,_0x43aa5c=_0xe0ed6f[_0x2a5be5]||_0x472b41+':'+_0x2b9bce+':'+_0x209da1;return _0x4439a1+'\x20'+_0x43aa5c;}static['formatTime'](_0x578123,_0x262258){const _0x550faf=a0_0x509759;if(typeof _0x578123!==_0x550faf(0x110))return _0x578123;const _0x1cb476=_0x578123[_0x550faf(0x10f)](':');if(_0x1cb476[_0x550faf(0x10e)]<0x2)return console[_0x550faf(0x115)](_0x550faf(0x10c)+_0x578123),_0x578123;const _0x2a300d=_0x1cb476[0x0][_0x550faf(0xfd)](0x2,'0'),_0x57ec90=_0x1cb476[0x1][_0x550faf(0xfd)](0x2,'0'),_0x19c7ac=_0x1cb476[0x2]?_0x1cb476[0x2][_0x550faf(0x10f)]('.')[0x0][_0x550faf(0xfd)](0x2,'0'):'00',_0x1cee6b={'HH:mm':_0x2a300d+':'+_0x57ec90,'HH:mm:ss':_0x2a300d+':'+_0x57ec90+':'+_0x19c7ac,'hh:mm':_0x2a300d+':'+_0x57ec90};return _0x1cee6b[_0x262258]||_0x2a300d+':'+_0x57ec90+':'+_0x19c7ac;}}module['exports']=DateTimeFormatter;
1
+ (function(_0x12ea75,_0x207267){const _0x3dba7c=a0_0x5565,_0x415093=_0x12ea75();while(!![]){try{const _0x42f457=parseInt(_0x3dba7c(0x1cf))/0x1*(-parseInt(_0x3dba7c(0x1bc))/0x2)+-parseInt(_0x3dba7c(0x1ca))/0x3+parseInt(_0x3dba7c(0x1d6))/0x4*(parseInt(_0x3dba7c(0x1d0))/0x5)+parseInt(_0x3dba7c(0x1c7))/0x6+parseInt(_0x3dba7c(0x1d3))/0x7*(parseInt(_0x3dba7c(0x1ce))/0x8)+-parseInt(_0x3dba7c(0x1c2))/0x9+parseInt(_0x3dba7c(0x1d9))/0xa*(parseInt(_0x3dba7c(0x1bd))/0xb);if(_0x42f457===_0x207267)break;else _0x415093['push'](_0x415093['shift']());}catch(_0x1353c3){_0x415093['push'](_0x415093['shift']());}}}(a0_0x43bc,0x478ba));class DateTimeFormatter{static['format'](_0x1c9a00,_0x59400b,_0x44eb51){const _0x140231=a0_0x5565,_0x5ae38a={'rTsZV':function(_0x18ba9f,_0x231f8d){return _0x18ba9f===_0x231f8d;},'cbuBU':_0x140231(0x1c0),'HfUGE':'time'};if(!_0x1c9a00)return null;try{if(_0x5ae38a[_0x140231(0x1c9)](_0x44eb51,_0x140231(0x1be)))return this['formatDate'](_0x1c9a00,_0x59400b);else{if(_0x5ae38a[_0x140231(0x1c9)](_0x44eb51,_0x5ae38a[_0x140231(0x1d1)]))return this['formatTimestamp'](_0x1c9a00,_0x59400b);else{if(_0x5ae38a[_0x140231(0x1c9)](_0x44eb51,_0x5ae38a['HfUGE']))return this[_0x140231(0x1c1)](_0x1c9a00,_0x59400b);}}return _0x1c9a00;}catch(_0x2ec872){return console['error']('Error\x20formatting\x20datetime:\x20'+_0x2ec872[_0x140231(0x1c8)]),_0x1c9a00;}}static['formatDate'](_0x570f7f,_0x362eb7){const _0xc0f1ee=a0_0x5565,_0x3f909f={'TZfyG':function(_0x594295,_0x76bc84){return _0x594295(_0x76bc84);},'sVxlz':function(_0x3ae8b9,_0x43b196){return _0x3ae8b9+_0x43b196;}},_0xf8cb=new Date(_0x570f7f);if(isNaN(_0xf8cb['getTime']()))return console[_0xc0f1ee(0x1d4)](_0xc0f1ee(0x1bb)+_0x570f7f),_0x570f7f;const _0x1ae275=_0x3f909f['TZfyG'](String,_0xf8cb['getDate']())['padStart'](0x2,'0'),_0xc53b8e=String(_0x3f909f[_0xc0f1ee(0x1d8)](_0xf8cb[_0xc0f1ee(0x1da)](),0x1))[_0xc0f1ee(0x1c4)](0x2,'0'),_0x4ba09b=_0xf8cb['getFullYear'](),_0x1b97ba={'dd/MM/yyyy':_0x1ae275+'/'+_0xc53b8e+'/'+_0x4ba09b,'dd-MM-yyyy':_0x1ae275+'-'+_0xc53b8e+'-'+_0x4ba09b,'MM/dd/yyyy':_0xc53b8e+'/'+_0x1ae275+'/'+_0x4ba09b,'yyyy/MM/dd':_0x4ba09b+'/'+_0xc53b8e+'/'+_0x1ae275,'yyyy-MM-dd':_0x4ba09b+'-'+_0xc53b8e+'-'+_0x1ae275};return _0x1b97ba[_0x362eb7]||_0x4ba09b+'-'+_0xc53b8e+'-'+_0x1ae275;}static['formatTimestamp'](_0x4c7fbb,_0x45a09f){const _0x4438ec=a0_0x5565,_0x4b982e={'OKEJX':function(_0x20eab8,_0x2b4dca){return _0x20eab8(_0x2b4dca);},'czhHp':function(_0x31e071,_0x6e96fc){return _0x31e071(_0x6e96fc);},'FRYGr':function(_0xf7ab5e,_0x51ed11){return _0xf7ab5e!==_0x51ed11;}},_0x85aee=new Date(_0x4c7fbb);if(isNaN(_0x85aee[_0x4438ec(0x1c6)]()))return console[_0x4438ec(0x1d4)](_0x4438ec(0x1c3)+_0x4c7fbb),_0x4c7fbb;const _0x47ba4e=String(_0x85aee[_0x4438ec(0x1d5)]())[_0x4438ec(0x1c4)](0x2,'0'),_0x1880af=_0x4b982e[_0x4438ec(0x1c5)](String,_0x85aee['getMonth']()+0x1)[_0x4438ec(0x1c4)](0x2,'0'),_0x48ef76=_0x85aee['getFullYear'](),_0x32e9d3=_0x4b982e[_0x4438ec(0x1cb)](String,_0x85aee[_0x4438ec(0x1cc)]())['padStart'](0x2,'0'),_0x10b065=String(_0x85aee[_0x4438ec(0x1d7)]())['padStart'](0x2,'0'),_0x2d3d31=String(_0x85aee[_0x4438ec(0x1dc)]())['padStart'](0x2,'0'),_0x31b146=_0x45a09f['split']('\x20');if(_0x4b982e['FRYGr'](_0x31b146[_0x4438ec(0x1d2)],0x2))return _0x48ef76+'-'+_0x1880af+'-'+_0x47ba4e+'\x20'+_0x32e9d3+':'+_0x10b065+':'+_0x2d3d31;const _0x374bc7=_0x31b146[0x0],_0x24015f=_0x31b146[0x1],_0x406332={'dd/MM/yyyy':_0x47ba4e+'/'+_0x1880af+'/'+_0x48ef76,'dd-MM-yyyy':_0x47ba4e+'-'+_0x1880af+'-'+_0x48ef76,'MM/dd/yyyy':_0x1880af+'/'+_0x47ba4e+'/'+_0x48ef76,'yyyy/MM/dd':_0x48ef76+'/'+_0x1880af+'/'+_0x47ba4e,'yyyy-MM-dd':_0x48ef76+'-'+_0x1880af+'-'+_0x47ba4e},_0x4440c2={'HH:mm':_0x32e9d3+':'+_0x10b065,'HH:mm:ss':_0x32e9d3+':'+_0x10b065+':'+_0x2d3d31,'hh:mm':_0x32e9d3+':'+_0x10b065},_0x54d564=_0x406332[_0x374bc7]||_0x48ef76+'-'+_0x1880af+'-'+_0x47ba4e,_0x16f8d6=_0x4440c2[_0x24015f]||_0x32e9d3+':'+_0x10b065+':'+_0x2d3d31;return _0x54d564+'\x20'+_0x16f8d6;}static['formatTime'](_0x4b2134,_0x528663){const _0x411167=a0_0x5565,_0x4467fb={'ZNjmF':function(_0x5dd19f,_0x3c69b0){return _0x5dd19f!==_0x3c69b0;},'AJlNC':'string','zjyyQ':function(_0x1fe6c7,_0x2fe7c1){return _0x1fe6c7<_0x2fe7c1;}};if(_0x4467fb[_0x411167(0x1dd)](typeof _0x4b2134,_0x4467fb['AJlNC']))return _0x4b2134;const _0x261e8f=_0x4b2134['split'](':');if(_0x4467fb[_0x411167(0x1cd)](_0x261e8f['length'],0x2))return console['warn'](_0x411167(0x1db)+_0x4b2134),_0x4b2134;const _0x283394=_0x261e8f[0x0][_0x411167(0x1c4)](0x2,'0'),_0x3db3f1=_0x261e8f[0x1][_0x411167(0x1c4)](0x2,'0'),_0x433457=_0x261e8f[0x2]?_0x261e8f[0x2][_0x411167(0x1bf)]('.')[0x0]['padStart'](0x2,'0'):'00',_0x37c69d={'HH:mm':_0x283394+':'+_0x3db3f1,'HH:mm:ss':_0x283394+':'+_0x3db3f1+':'+_0x433457,'hh:mm':_0x283394+':'+_0x3db3f1};return _0x37c69d[_0x528663]||_0x283394+':'+_0x3db3f1+':'+_0x433457;}}function a0_0x43bc(){const _0x2c0600=['z2v0twLUDxrLCW','C1z4BhO','mZy0mZbpuuPfDNe','z2v0tw9UDgG','sw52ywXPzcb0Aw1LihzHBhvLoIa','z2v0u2vJB25KCW','wK5QBuy','sw52ywXPzcbKyxrLihzHBhvLoIa','mti5mdjKAKPszMK','mZC0ruPKAef0','zgf0zq','C3bSAxq','DgLTzxn0yw1W','zM9YBwf0vgLTzq','mtC3mdu5n2rcq0Xeza','sw52ywXPzcb0Aw1LC3rHBxaGDMfSDwu6ia','CgfKu3rHCNq','t0TfsLG','z2v0vgLTzq','mJC5mdi1oezTDufRDW','BwvZC2fNzq','CLrZwLy','nJG4mZiZswPLDunJ','y3POsha','z2v0sg91CNm','EMP5Eve','mZu2ndHStwr1vg4','n2PKCuncyW','mtbZz3jws3y','y2j1qLu','BgvUz3rO','mJCZBernAeLT','D2fYBG','z2v0rgf0zq','mZm4nhHfwxPUsa'];a0_0x43bc=function(){return _0x2c0600;};return a0_0x43bc();}function a0_0x5565(_0x26d316,_0x4320e2){_0x26d316=_0x26d316-0x1bb;const _0x43bc68=a0_0x43bc();let _0x55655b=_0x43bc68[_0x26d316];if(a0_0x5565['SKguOm']===undefined){var _0x3046fe=function(_0x3c7e45){const _0x3745a1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb5a834='',_0x3bfcbe='';for(let _0x20d2fa=0x0,_0xf31f9e,_0x1fe45b,_0x52274d=0x0;_0x1fe45b=_0x3c7e45['charAt'](_0x52274d++);~_0x1fe45b&&(_0xf31f9e=_0x20d2fa%0x4?_0xf31f9e*0x40+_0x1fe45b:_0x1fe45b,_0x20d2fa++%0x4)?_0xb5a834+=String['fromCharCode'](0xff&_0xf31f9e>>(-0x2*_0x20d2fa&0x6)):0x0){_0x1fe45b=_0x3745a1['indexOf'](_0x1fe45b);}for(let _0x5cd426=0x0,_0x2df626=_0xb5a834['length'];_0x5cd426<_0x2df626;_0x5cd426++){_0x3bfcbe+='%'+('00'+_0xb5a834['charCodeAt'](_0x5cd426)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bfcbe);};a0_0x5565['GBCfIq']=_0x3046fe,a0_0x5565['SobIII']={},a0_0x5565['SKguOm']=!![];}const _0x1071de=_0x43bc68[0x0],_0x21a313=_0x26d316+_0x1071de,_0x26fe46=a0_0x5565['SobIII'][_0x21a313];return!_0x26fe46?(_0x55655b=a0_0x5565['GBCfIq'](_0x55655b),a0_0x5565['SobIII'][_0x21a313]=_0x55655b):_0x55655b=_0x26fe46,_0x55655b;}module['exports']=DateTimeFormatter;
@@ -1 +1 @@
1
- const a0_0x352963=a0_0x3786;(function(_0x13e51a,_0x397225){const _0x3e5496=a0_0x3786,_0x38d84a=_0x13e51a();while(!![]){try{const _0x40d1f2=-parseInt(_0x3e5496(0xfb))/0x1+parseInt(_0x3e5496(0xfe))/0x2+parseInt(_0x3e5496(0xf6))/0x3*(parseInt(_0x3e5496(0xfc))/0x4)+-parseInt(_0x3e5496(0x10a))/0x5*(-parseInt(_0x3e5496(0xff))/0x6)+parseInt(_0x3e5496(0x113))/0x7*(-parseInt(_0x3e5496(0x107))/0x8)+-parseInt(_0x3e5496(0x106))/0x9*(parseInt(_0x3e5496(0x103))/0xa)+parseInt(_0x3e5496(0xfd))/0xb;if(_0x40d1f2===_0x397225)break;else _0x38d84a['push'](_0x38d84a['shift']());}catch(_0x2afb27){_0x38d84a['push'](_0x38d84a['shift']());}}}(a0_0x5887,0xc06ac));class DateTimeParser{static['parse'](_0x1fcd77,_0x364982,_0x5667c1){const _0x350dff=a0_0x3786,_0x4b9c59={'AWbFx':function(_0x5b2d98,_0x1c5f58){return _0x5b2d98===_0x1c5f58;},'ApBTk':function(_0x1ca775,_0x5e7916){return _0x1ca775===_0x5e7916;}};if(!_0x1fcd77||_0x1fcd77==='')return null;try{if(_0x5667c1==='date')return this[_0x350dff(0xf8)](_0x1fcd77,_0x364982);else{if(_0x4b9c59[_0x350dff(0xf9)](_0x5667c1,_0x350dff(0x101)))return this['parseTimestamp'](_0x1fcd77,_0x364982);else{if(_0x4b9c59[_0x350dff(0x10c)](_0x5667c1,_0x350dff(0x10f)))return this['parseTime'](_0x1fcd77,_0x364982);}}return _0x1fcd77;}catch(_0x4e0586){return console['error']('Error\x20parsing\x20datetime:\x20'+_0x4e0586['message']),null;}}static[a0_0x352963(0xf8)](_0x40f5be,_0x5276fc){const _0x4ebca8=a0_0x352963,_0x5b9cc4={'rqfHT':function(_0x6ded9a,_0x28e42b){return _0x6ded9a+_0x28e42b;},'uBtfm':'yyyy-MM-dd','dQMdb':_0x4ebca8(0x108),'ChYXC':_0x4ebca8(0x109),'TvQcG':'year'};if(!_0x5276fc||_0x5276fc===_0x5b9cc4['uBtfm'])return _0x40f5be;const _0x21e3eb={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x5b9cc4[_0x4ebca8(0x105)],_0x5b9cc4['ChYXC'],'year']},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x4ebca8(0x108),_0x5b9cc4[_0x4ebca8(0x104)],_0x5b9cc4['TvQcG']]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['month',_0x5b9cc4[_0x4ebca8(0x105)],_0x5b9cc4[_0x4ebca8(0x10b)]]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x5b9cc4['TvQcG'],_0x5b9cc4['ChYXC'],_0x5b9cc4['dQMdb']]}},_0x1a7a9c=_0x21e3eb[_0x5276fc];if(!_0x1a7a9c)return console['warn'](_0x4ebca8(0x10d)+_0x5276fc+',\x20returning\x20null'),null;const _0x1f2188=_0x40f5be['match'](_0x1a7a9c[_0x4ebca8(0x110)]);if(!_0x1f2188)return console[_0x4ebca8(0xf7)]('Date\x20value\x20\x22'+_0x40f5be+_0x4ebca8(0x102)+_0x5276fc+'\x22'),null;const _0x5cdbb4={'day':null,'month':null,'year':null};return _0x1a7a9c['order']['forEach']((_0x32447d,_0x1dddc3)=>{const _0x1878b6=_0x4ebca8;_0x5cdbb4[_0x32447d]=_0x1f2188[_0x5b9cc4[_0x1878b6(0x10e)](_0x1dddc3,0x1)];}),_0x5cdbb4[_0x4ebca8(0x114)]+'-'+_0x5cdbb4['month']+'-'+_0x5cdbb4['day'];}static[a0_0x352963(0xf2)](_0x245bfc,_0x43d569){const _0x351bbb=a0_0x352963,_0x591a18={'XOqgi':function(_0x4b162f,_0x456c92){return _0x4b162f===_0x456c92;},'mPRdP':'yyyy-MM-dd\x20HH:mm:ss','tAFfz':function(_0x20a99a,_0xcdc998){return _0x20a99a!==_0xcdc998;}};if(!_0x43d569||_0x591a18['XOqgi'](_0x43d569,_0x591a18[_0x351bbb(0x112)]))return _0x245bfc;const _0x15bc55=_0x245bfc[_0x351bbb(0xfa)]('\x20');if(_0x591a18['tAFfz'](_0x15bc55['length'],0x2))return console['warn'](_0x351bbb(0x100)+_0x245bfc),null;const [_0x526609,_0x21e554]=_0x15bc55,_0x1ccab6=_0x43d569['split']('\x20')[0x0],_0x15b3cc=this[_0x351bbb(0xf8)](_0x526609,_0x1ccab6);if(!_0x15b3cc)return null;const _0x5aa7a4=_0x21e554[_0x351bbb(0xfa)](':')[_0x351bbb(0xf4)]===0x2?_0x21e554+_0x351bbb(0xf3):_0x21e554;return _0x15b3cc+'\x20'+_0x5aa7a4;}static['parseTime'](_0x5c0ebf,_0x2285eb){const _0x10ceeb=a0_0x352963,_0x3dd2dc={'GDYCh':function(_0x1d6195,_0xec6503){return _0x1d6195===_0xec6503;},'FKhsn':'HH:mm'};if(!_0x2285eb||_0x2285eb==='HH:mm:ss')return _0x5c0ebf;if(_0x3dd2dc['GDYCh'](_0x2285eb,_0x3dd2dc[_0x10ceeb(0xf5)])){if(_0x5c0ebf['match'](/^\d{2}:\d{2}$/))return _0x5c0ebf+_0x10ceeb(0xf3);}return _0x5c0ebf;}}function a0_0x5887(){const _0x498098=['nti5ntuZB0LrBwHk','nerkCgXmta','oduWntuWoerrBxDTBG','ndG1mtrvy3j0z3i','mJu3mJu5mfrVv0LIzG','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','DgLTzxn0yw1W','iIbKB2vZBID0ig1HDgnOigzVCM1HDcaI','mtuWD3ryBenq','q2Hzwem','zffnzgi','mZy4nduXBgLyAvDy','mJuZodyZmND5yKXjrG','zgf5','Bw9UDgG','mtv2rxLLD3a','vhzry0C','qxbcvgS','vw5RBM93BIbKyxrLigzVCM1HDdOG','CNfMsfq','DgLTzq','Cgf0DgvYBG','zxHWB3j0CW','Bvbszfa','n1jmAeDTqW','EwvHCG','CgfYC2vuAw1LC3rHBxa','oJaW','BgvUz3rO','rKTOC24','ndK1otGXBxfwzhr0','D2fYBG','CgfYC2veyxrL','qvDIrNG','C3bSAxq'];a0_0x5887=function(){return _0x498098;};return a0_0x5887();}function a0_0x3786(_0x46e548,_0x2edf22){_0x46e548=_0x46e548-0xf2;const _0x588729=a0_0x5887();let _0x3786a5=_0x588729[_0x46e548];if(a0_0x3786['tBWCks']===undefined){var _0x291040=function(_0x5b2fcb){const _0x55b1e5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x485300='',_0x49bb05='';for(let _0x47c2d9=0x0,_0x2a2bfa,_0x22bb85,_0x56c505=0x0;_0x22bb85=_0x5b2fcb['charAt'](_0x56c505++);~_0x22bb85&&(_0x2a2bfa=_0x47c2d9%0x4?_0x2a2bfa*0x40+_0x22bb85:_0x22bb85,_0x47c2d9++%0x4)?_0x485300+=String['fromCharCode'](0xff&_0x2a2bfa>>(-0x2*_0x47c2d9&0x6)):0x0){_0x22bb85=_0x55b1e5['indexOf'](_0x22bb85);}for(let _0x2762a6=0x0,_0x20cb72=_0x485300['length'];_0x2762a6<_0x20cb72;_0x2762a6++){_0x49bb05+='%'+('00'+_0x485300['charCodeAt'](_0x2762a6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49bb05);};a0_0x3786['OKMLYY']=_0x291040,a0_0x3786['cWzdkh']={},a0_0x3786['tBWCks']=!![];}const _0x8d989a=_0x588729[0x0],_0x4dfd80=_0x46e548+_0x8d989a,_0x4bff86=a0_0x3786['cWzdkh'][_0x4dfd80];return!_0x4bff86?(_0x3786a5=a0_0x3786['OKMLYY'](_0x3786a5),a0_0x3786['cWzdkh'][_0x4dfd80]=_0x3786a5):_0x3786a5=_0x4bff86,_0x3786a5;}module[a0_0x352963(0x111)]=DateTimeParser;
1
+ const a0_0x517987=a0_0x55c6;function a0_0x55c6(_0x55ca8c,_0x3be5f8){_0x55ca8c=_0x55ca8c-0x14b;const _0x5a3444=a0_0x5a34();let _0x55c6fd=_0x5a3444[_0x55ca8c];if(a0_0x55c6['qgMjYz']===undefined){var _0x1abe93=function(_0x499cbb){const _0x1dfd63='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x8b2891='',_0x21d7c6='';for(let _0x1f406b=0x0,_0x53e544,_0x5c9ef5,_0xcdb522=0x0;_0x5c9ef5=_0x499cbb['charAt'](_0xcdb522++);~_0x5c9ef5&&(_0x53e544=_0x1f406b%0x4?_0x53e544*0x40+_0x5c9ef5:_0x5c9ef5,_0x1f406b++%0x4)?_0x8b2891+=String['fromCharCode'](0xff&_0x53e544>>(-0x2*_0x1f406b&0x6)):0x0){_0x5c9ef5=_0x1dfd63['indexOf'](_0x5c9ef5);}for(let _0xe7785a=0x0,_0x33a712=_0x8b2891['length'];_0xe7785a<_0x33a712;_0xe7785a++){_0x21d7c6+='%'+('00'+_0x8b2891['charCodeAt'](_0xe7785a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21d7c6);};a0_0x55c6['XyxyRB']=_0x1abe93,a0_0x55c6['ZCccqs']={},a0_0x55c6['qgMjYz']=!![];}const _0x822b2=_0x5a3444[0x0],_0x2b22a4=_0x55ca8c+_0x822b2,_0x4ed26d=a0_0x55c6['ZCccqs'][_0x2b22a4];return!_0x4ed26d?(_0x55c6fd=a0_0x55c6['XyxyRB'](_0x55c6fd),a0_0x55c6['ZCccqs'][_0x2b22a4]=_0x55c6fd):_0x55c6fd=_0x4ed26d,_0x55c6fd;}(function(_0x3395b5,_0x3176ff){const _0x180f65=a0_0x55c6,_0x36e50a=_0x3395b5();while(!![]){try{const _0x322b2f=-parseInt(_0x180f65(0x154))/0x1+parseInt(_0x180f65(0x163))/0x2*(-parseInt(_0x180f65(0x157))/0x3)+parseInt(_0x180f65(0x158))/0x4*(parseInt(_0x180f65(0x161))/0x5)+parseInt(_0x180f65(0x15c))/0x6*(-parseInt(_0x180f65(0x160))/0x7)+-parseInt(_0x180f65(0x14f))/0x8*(parseInt(_0x180f65(0x15d))/0x9)+-parseInt(_0x180f65(0x15a))/0xa+parseInt(_0x180f65(0x169))/0xb;if(_0x322b2f===_0x3176ff)break;else _0x36e50a['push'](_0x36e50a['shift']());}catch(_0x49e67e){_0x36e50a['push'](_0x36e50a['shift']());}}}(a0_0x5a34,0xe6c5a));function a0_0x5a34(){const _0x36eadc=['mtC1odGYogjssff2va','mJC0mdCYug5RBMrh','D2fYBG','mtq1nda3otb4DKzgCfG','DgLTzxn0yw1W','ndj0uvD5quO','mJuZody5m1HhsvH1Aa','Bwf0y2G','BgvUz3rO','ndG0mZC5yuzwt1Pb','ndbZr3D4uNO','vvLtCvy','ngH0vM5Tuq','vMLoqwW','zxjYB3i','ExL5Es1nts1KzcbisdPTBtPZCW','oJaW','zgf5','ndK1nZm3otLezeLPC0e','Bw9UDgG','C3bSAxq','zM9YrwfJAa','zgf0zq','mJrMu1jmEhm','iIbKB2vZBID0ig1HDgnOigzVCM1HDcaI','DgLTzq','EwvHCG','CgfYC2veyxrL','mtuYmZCWww1bCvrW','uhbZEei','CgfYC2vuAw1L'];a0_0x5a34=function(){return _0x36eadc;};return a0_0x5a34();}class DateTimeParser{static['parse'](_0x4745c5,_0x3c7ee0,_0x1e2057){const _0x15f64a=a0_0x55c6,_0xfa68d7={'UYSqV':function(_0x1ee9fb,_0x514f9a){return _0x1ee9fb===_0x514f9a;},'chSJX':_0x15f64a(0x14e),'XHXZh':_0x15f64a(0x15b),'Ckhiz':_0x15f64a(0x151)};if(!_0x4745c5||_0xfa68d7[_0x15f64a(0x162)](_0x4745c5,''))return null;try{if(_0x1e2057===_0xfa68d7['chSJX'])return this['parseDate'](_0x4745c5,_0x3c7ee0);else{if(_0xfa68d7['UYSqV'](_0x1e2057,_0xfa68d7['XHXZh']))return this['parseTimestamp'](_0x4745c5,_0x3c7ee0);else{if(_0xfa68d7[_0x15f64a(0x162)](_0x1e2057,_0xfa68d7['Ckhiz']))return this['parseTime'](_0x4745c5,_0x3c7ee0);}}return _0x4745c5;}catch(_0x7d1615){return console[_0x15f64a(0x165)]('Error\x20parsing\x20datetime:\x20'+_0x7d1615['message']),null;}}static['parseDate'](_0x1cc935,_0x4268f1){const _0x59dca1=a0_0x55c6,_0x5a0eaf={'ViNAl':_0x59dca1(0x14b),'JztTo':_0x59dca1(0x152),'kwyfh':_0x59dca1(0x168)};if(!_0x4268f1||_0x4268f1==='yyyy-MM-dd')return _0x1cc935;const _0x1760d0={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['day',_0x5a0eaf[_0x59dca1(0x164)],'year']},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':['day','month',_0x5a0eaf['JztTo']]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x5a0eaf['ViNAl'],_0x5a0eaf['kwyfh'],_0x5a0eaf['JztTo']]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x5a0eaf['JztTo'],'month',_0x59dca1(0x168)]}},_0x494140=_0x1760d0[_0x4268f1];if(!_0x494140)return console['warn']('Unknown\x20date\x20format:\x20'+_0x4268f1+',\x20returning\x20null'),null;const _0x210b1e=_0x1cc935[_0x59dca1(0x15e)](_0x494140['pattern']);if(!_0x210b1e)return console['warn']('Date\x20value\x20\x22'+_0x1cc935+_0x59dca1(0x150)+_0x4268f1+'\x22'),null;const _0x2e8527={'day':null,'month':null,'year':null};return _0x494140['order'][_0x59dca1(0x14d)]((_0x123279,_0x4e78bd)=>{_0x2e8527[_0x123279]=_0x210b1e[_0x4e78bd+0x1];}),_0x2e8527['year']+'-'+_0x2e8527['month']+'-'+_0x2e8527['day'];}static['parseTimestamp'](_0xbd7903,_0x256fcb){const _0x4e88f9=a0_0x55c6,_0x57d641={'PpsxB':function(_0x52cc90,_0x351103){return _0x52cc90===_0x351103;}};if(!_0x256fcb||_0x256fcb===_0x4e88f9(0x166))return _0xbd7903;const _0x32a7f6=_0xbd7903['split']('\x20');if(_0x32a7f6[_0x4e88f9(0x15f)]!==0x2)return console[_0x4e88f9(0x159)]('Invalid\x20timestamp\x20format:\x20'+_0xbd7903),null;const [_0x3fcbff,_0xcd0317]=_0x32a7f6,_0x442740=_0x256fcb[_0x4e88f9(0x14c)]('\x20')[0x0],_0x4b81fc=this[_0x4e88f9(0x153)](_0x3fcbff,_0x442740);if(!_0x4b81fc)return null;const _0x3c18d3=_0x57d641[_0x4e88f9(0x155)](_0xcd0317['split'](':')[_0x4e88f9(0x15f)],0x2)?_0xcd0317+_0x4e88f9(0x167):_0xcd0317;return _0x4b81fc+'\x20'+_0x3c18d3;}static[a0_0x517987(0x156)](_0x2c3ca4,_0x443137){const _0x443206={'RZEoB':function(_0x185d39,_0x5f4e95){return _0x185d39===_0x5f4e95;}};if(!_0x443137||_0x443137==='HH:mm:ss')return _0x2c3ca4;if(_0x443206['RZEoB'](_0x443137,'HH:mm')){if(_0x2c3ca4['match'](/^\d{2}:\d{2}$/))return _0x2c3ca4+':00';}return _0x2c3ca4;}}module['exports']=DateTimeParser;
@@ -1 +1 @@
1
- const a0_0x73225d=a0_0x2f06;function a0_0x5f14(){const _0x4f7c77=['mtKYlJe2oc4XmdaUmq','CM93q291BNq','nda3DgrZqK5u','su1Qzem','mtaXmgLUv3DXra','qMz5vLe','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','ndjqmde','EM9Vs1i','CM9SBgjHy2TFzxjYB3i','u1fmievYCM9YoIa','z2Duwvy','C3fS','mZaZodiWtuXKv1bV','mJK1yu9nEMnb','zw52','Aw5JBhvKzxm','CM93CW','Cg9ZDgDYzxnXBa','mdGWmde','Cu5lqMW','CMfkEgy','rejFue9sva','Cg9ZDgDYzxm','CgfYyw1Z','rejFse9tva','werLvKG','y29UBMvJDa','DhjHBNnHy3rPB25Fy29TCgXLDgu','ndK0ndmWnhDNufzHsa','zgj4ytaZ','lI9SB2DNzxi','zgjFCg9VBf9JBg9Zzv9LCNjVCG','mZa5mZe4A013vwn0','Ag9ZDa','vefctevFtK9ux0zpvu5e','CMvSzwfZzq','ote2mJa5EfLKuKv4','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','BgvUz3rO','Aw5MBW','Ae1Pu3K','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','C3rHCNq','u1Lovefyx0vsuK9s','CxvLCNK','y2XPzw50x3jLBgvHC2vFzxjYB3i','zgjFCg9VBf9YzwnYzwf0zq','mJrqwxzwswO','mZiYmtG5vwTrugjg','mJHqmde','qNHvz1i','y29Kzq','ihjVDW','BxmSia','BwvZC2fNzq','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','ntKWntbrq0XcAvO','zgjFCg9VBf9JBg9Zzwq','mJrnDwT4DNO','r0vYAue','uxvLCNKGCMv0DxjUzwqG','C3D0v1G','BLj6tLy'];a0_0x5f14=function(){return _0x4f7c77;};return a0_0x5f14();}(function(_0x1f0ba1,_0x39a7f8){const _0x2a96dd=a0_0x2f06,_0x5a0178=_0x1f0ba1();while(!![]){try{const _0x216298=parseInt(_0x2a96dd(0x170))/0x1*(-parseInt(_0x2a96dd(0x166))/0x2)+-parseInt(_0x2a96dd(0x183))/0x3*(parseInt(_0x2a96dd(0x15d))/0x4)+parseInt(_0x2a96dd(0x16f))/0x5+parseInt(_0x2a96dd(0x152))/0x6*(parseInt(_0x2a96dd(0x153))/0x7)+parseInt(_0x2a96dd(0x17f))/0x8+parseInt(_0x2a96dd(0x187))/0x9+-parseInt(_0x2a96dd(0x15b))/0xa*(-parseInt(_0x2a96dd(0x164))/0xb);if(_0x216298===_0x39a7f8)break;else _0x5a0178['push'](_0x5a0178['shift']());}catch(_0x270f62){_0x5a0178['push'](_0x5a0178['shift']());}}}(a0_0x5f14,0x65761));function a0_0x2f06(_0x270fb5,_0x35e1a5){_0x270fb5=_0x270fb5-0x14c;const _0x5f14be=a0_0x5f14();let _0x2f0679=_0x5f14be[_0x270fb5];if(a0_0x2f06['YftedM']===undefined){var _0x53d1b7=function(_0x16c94a){const _0x2a3c27='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51d867='',_0x108b8f='';for(let _0x3532e2=0x0,_0x397679,_0x44db4d,_0x37906d=0x0;_0x44db4d=_0x16c94a['charAt'](_0x37906d++);~_0x44db4d&&(_0x397679=_0x3532e2%0x4?_0x397679*0x40+_0x44db4d:_0x44db4d,_0x3532e2++%0x4)?_0x51d867+=String['fromCharCode'](0xff&_0x397679>>(-0x2*_0x3532e2&0x6)):0x0){_0x44db4d=_0x2a3c27['indexOf'](_0x44db4d);}for(let _0x5e28cf=0x0,_0x122e71=_0x51d867['length'];_0x5e28cf<_0x122e71;_0x5e28cf++){_0x108b8f+='%'+('00'+_0x51d867['charCodeAt'](_0x5e28cf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x108b8f);};a0_0x2f06['YeNZTQ']=_0x53d1b7,a0_0x2f06['REhpyQ']={},a0_0x2f06['YftedM']=!![];}const _0xd2b6f1=_0x5f14be[0x0],_0x83c897=_0x270fb5+_0xd2b6f1,_0x43ccf2=a0_0x2f06['REhpyQ'][_0x83c897];return!_0x43ccf2?(_0x2f0679=a0_0x2f06['YeNZTQ'](_0x2f0679),a0_0x2f06['REhpyQ'][_0x83c897]=_0x2f0679):_0x2f0679=_0x43ccf2,_0x2f0679;}const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x73225d(0x181)),dbConfig={'host':process[a0_0x73225d(0x171)][a0_0x73225d(0x17b)]||a0_0x73225d(0x162),'port':parseInt(process['env'][a0_0x73225d(0x178)]||'5432'),'user':process[a0_0x73225d(0x171)]['DB_USER']||a0_0x73225d(0x179),'password':process['env']['DB_PASSWORD']||'postgres1234','database':process[a0_0x73225d(0x171)]['DB_NAME']||a0_0x73225d(0x180)};logDatabaseConfig({'host':dbConfig[a0_0x73225d(0x184)],'port':dbConfig['port'],'database':dbConfig['database'],'type':a0_0x73225d(0x174),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x45ef9a=a0_0x73225d,_0x2bb2ac={'qNKBl':_0x45ef9a(0x151)};return isPoolClosed&&(logger['info']({'event':_0x2bb2ac[_0x45ef9a(0x176)]},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x3bc64b,_0x505c34=[]){const _0x4efa32=a0_0x73225d,_0x28c31e={'BxUgR':function(_0x2c257d){return _0x2c257d();},'ilGFm':function(_0x264273,_0x574bef,_0x3e11df,_0x2abda6){return _0x264273(_0x574bef,_0x3e11df,_0x2abda6);},'HnlMw':function(_0x418f91,_0x14859e,_0x447b32,_0x3bbec9){return _0x418f91(_0x14859e,_0x447b32,_0x3bbec9);},'HvEmi':'sql_error'},_0x3015b4=startQueryTimer();try{const _0x594f44=_0x28c31e['BxUgR'](getPool),_0x1eb8eb=await _0x594f44[_0x4efa32(0x17d)]();try{const _0x47bae5=await _0x1eb8eb['query'](_0x3bc64b,_0x505c34),_0x3f6077=_0x28c31e[_0x4efa32(0x155)](_0x3015b4);return _0x28c31e['ilGFm'](logQuery,_0x3bc64b,_0x505c34,{'duration':_0x3f6077,'rowsAffected':_0x47bae5[_0x4efa32(0x163)],'dbType':'postgresql'}),_0x47bae5['rows'];}finally{_0x1eb8eb[_0x4efa32(0x186)]();}}catch(_0x3c828a){const _0x1187d7=_0x28c31e['BxUgR'](_0x3015b4);_0x28c31e['HnlMw'](logError,_0x3c828a,{'event':_0x28c31e['HvEmi'],'query':_0x3bc64b['substring'](0x0,0x1f4),'paramCount':_0x505c34['length'],'durationMs':_0x1187d7,'code':_0x3c828a[_0x4efa32(0x156)],'dbType':'postgresql'},_0x4efa32(0x16c)+_0x3c828a[_0x4efa32(0x159)]);throw _0x3c828a;}}function formatResponse(_0x21255b,_0x2f4bf0=null){const _0x45626c=a0_0x73225d,_0x32a11e={'BfyVQ':'syntax\x20error','CWagO':_0x45626c(0x14e),'hMiSy':function(_0x212c1c,_0xb778a){return _0x212c1c===_0xb778a;},'vryrQ':function(_0x33d05a,_0x36e34c){return _0x33d05a===_0x36e34c;},'lFfft':function(_0x13ad5d,_0x4f656b){return _0x13ad5d===_0x4f656b;},'IMjdC':'CONNECTION_ERROR'};if(_0x2f4bf0){let _0x4ee2bb='UNKNOWN_ERROR';if(_0x2f4bf0['message'][_0x45626c(0x172)](_0x32a11e[_0x45626c(0x167)]))_0x4ee2bb=_0x32a11e['CWagO'];else{if(_0x32a11e[_0x45626c(0x18b)](_0x2f4bf0[_0x45626c(0x156)],_0x45626c(0x169)))_0x4ee2bb=_0x45626c(0x185);else{if(_0x32a11e['vryrQ'](_0x2f4bf0['code'],_0x45626c(0x154)))_0x4ee2bb='AUTHENTICATION_ERROR';else(_0x32a11e['lFfft'](_0x2f4bf0['code'],'08006')||_0x32a11e['hMiSy'](_0x2f4bf0[_0x45626c(0x156)],_0x45626c(0x175)))&&(_0x4ee2bb=_0x32a11e[_0x45626c(0x165)]);}}return{'success':![],'message':'Database\x20error:\x20'+_0x2f4bf0['message'],'count':-0x1,'error_code':_0x4ee2bb};}else{if(!_0x21255b||_0x21255b[_0x45626c(0x189)]===0x0)return{'success':!![],'message':'No\x20data\x20found.','count':0x0,'data':[]};return{'success':!![],'message':_0x45626c(0x15f)+_0x21255b[_0x45626c(0x189)]+_0x45626c(0x157)+(_0x32a11e['lFfft'](_0x21255b[_0x45626c(0x189)],0x1)?'':'s')+'.','count':_0x21255b[_0x45626c(0x189)],'data':_0x21255b};}}async function closePool(){const _0x4639a1=a0_0x73225d,_0xfd8038={'XDeVH':_0x4639a1(0x188),'bSjTm':_0x4639a1(0x182)};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x4639a1(0x18a)]({'event':_0x4639a1(0x15c)},_0xfd8038[_0x4639a1(0x17c)]);}catch(_0x3776d1){logError(_0x3776d1,{'event':_0xfd8038['bSjTm']},'Error\x20closing\x20database\x20pool:\x20'+_0x3776d1[_0x4639a1(0x159)]);}else logger['debug']({'event':_0x4639a1(0x15a)},'Database\x20pool\x20was\x20already\x20closed');}async function checkConnection(){const _0x1d3a4e=a0_0x73225d,_0x59937f={'BoEmI':function(_0x1e723c,_0x4152be,_0x37be31,_0x40a3a1){return _0x1e723c(_0x4152be,_0x37be31,_0x40a3a1);},'nRzNV':'db_connection_check_error'};try{const _0x48601a=getPool(),_0x4cce86=await _0x48601a[_0x1d3a4e(0x17d)]();try{return await _0x4cce86[_0x1d3a4e(0x14f)]('SELECT\x201'),!![];}finally{_0x4cce86[_0x1d3a4e(0x186)]();}}catch(_0x52b3b7){return _0x59937f['BoEmI'](logError,_0x52b3b7,{'event':_0x59937f[_0x1d3a4e(0x161)]},_0x1d3a4e(0x168)+_0x52b3b7[_0x1d3a4e(0x159)]),![];}}async function executeTransaction(_0x2802c4){const _0x14b100=a0_0x73225d,_0x42fd53={'LsgiV':function(_0x30f35c){return _0x30f35c();},'ggTYV':function(_0x57cace,_0xe757a3,_0x49a04f){return _0x57cace(_0xe757a3,_0x49a04f);},'GEriA':_0x14b100(0x14d),'QiBWT':function(_0x61c4a4,_0x364c7f,_0x4541fb,_0x43cc0b){return _0x61c4a4(_0x364c7f,_0x4541fb,_0x43cc0b);},'UaRDs':_0x14b100(0x174),'xCkdz':'COMMIT','VODju':function(_0x4b7553){return _0x4b7553();},'wclTL':function(_0xfd89fc,_0x400d98,_0x162ad7){return _0xfd89fc(_0x400d98,_0x162ad7);},'zooKR':_0x14b100(0x17e),'raJxf':function(_0x2e752){return _0x2e752();},'swtWX':'transaction_error','RfpHp':_0x14b100(0x16b),'GbOrf':_0x14b100(0x150)};let _0xcf11fe;const _0x1949ec=_0x42fd53['LsgiV'](startQueryTimer);try{const _0x1895a1=getPool();_0xcf11fe=await _0x1895a1[_0x14b100(0x17d)](),_0x42fd53[_0x14b100(0x16d)](logTransaction,_0x42fd53[_0x14b100(0x15e)],_0x2802c4['length']),await _0xcf11fe['query']('BEGIN');const _0xbbac0e=[];for(const _0x54066b of _0x2802c4){const _0x18eba2=startQueryTimer(),_0x5bbc7b=await _0xcf11fe['query'](_0x54066b[_0x14b100(0x16e)],_0x54066b[_0x14b100(0x17a)]||[]),_0xc2a251=_0x18eba2();_0x42fd53['QiBWT'](logQuery,_0x54066b[_0x14b100(0x16e)],_0x54066b[_0x14b100(0x17a)]||[],{'duration':_0xc2a251,'rowsAffected':_0x5bbc7b[_0x14b100(0x163)],'dbType':_0x42fd53['UaRDs']}),_0xbbac0e['push'](_0x5bbc7b[_0x14b100(0x173)]);}await _0xcf11fe[_0x14b100(0x14f)](_0x42fd53['xCkdz']);const _0x1c21f2=_0x42fd53['VODju'](_0x1949ec);return _0x42fd53['wclTL'](logTransaction,'commit',_0x2802c4['length']),logger[_0x14b100(0x18a)]({'event':_0x42fd53[_0x14b100(0x16a)],'queryCount':_0x2802c4[_0x14b100(0x189)],'totalDurationMs':_0x1c21f2,'dbType':'postgresql'},_0x14b100(0x14c)+_0x1c21f2+_0x14b100(0x158)+_0x2802c4['length']+'\x20queries)'),_0xbbac0e;}catch(_0x13b739){const _0x2a6808=_0x42fd53[_0x14b100(0x177)](_0x1949ec);logError(_0x13b739,{'event':_0x42fd53[_0x14b100(0x160)],'queryCount':_0x2802c4[_0x14b100(0x189)],'totalDurationMs':_0x2a6808,'code':_0x13b739['code'],'dbType':_0x14b100(0x174)},'Transaction\x20failed:\x20'+_0x13b739[_0x14b100(0x159)]);if(_0xcf11fe)try{await _0xcf11fe[_0x14b100(0x14f)]('ROLLBACK'),_0x42fd53['ggTYV'](logTransaction,'rollback',_0x2802c4['length']);}catch(_0x2de0a5){logError(_0x2de0a5,{'event':_0x42fd53['RfpHp'],'dbType':_0x42fd53['UaRDs']},'Error\x20rolling\x20back\x20transaction:\x20'+_0x2de0a5['message']);}throw _0x13b739;}finally{if(_0xcf11fe)try{_0xcf11fe[_0x14b100(0x186)]();}catch(_0x448fe5){logger['error']({'event':_0x42fd53['GbOrf'],'error':_0x448fe5[_0x14b100(0x159)],'dbType':_0x42fd53['UaRDs']},'Error\x20releasing\x20transaction\x20client:\x20'+_0x448fe5[_0x14b100(0x159)]);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
1
+ const a0_0x51f419=a0_0x48f1;(function(_0x19d4f4,_0x5360a3){const _0x1ab410=a0_0x48f1,_0x327f66=_0x19d4f4();while(!![]){try{const _0x3dc383=-parseInt(_0x1ab410(0x117))/0x1*(-parseInt(_0x1ab410(0x11b))/0x2)+parseInt(_0x1ab410(0x101))/0x3+-parseInt(_0x1ab410(0x129))/0x4*(parseInt(_0x1ab410(0x10c))/0x5)+-parseInt(_0x1ab410(0x126))/0x6*(parseInt(_0x1ab410(0x136))/0x7)+-parseInt(_0x1ab410(0x119))/0x8+-parseInt(_0x1ab410(0x100))/0x9+parseInt(_0x1ab410(0x106))/0xa;if(_0x3dc383===_0x5360a3)break;else _0x327f66['push'](_0x327f66['shift']());}catch(_0x511ee8){_0x327f66['push'](_0x327f66['shift']());}}}(a0_0x1836,0x212ba));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x51f419(0xfe)),dbConfig={'host':process['env']['DB_HOST']||'192.168.100.1','port':parseInt(process['env'][a0_0x51f419(0x10f)]||a0_0x51f419(0x116)),'user':process[a0_0x51f419(0x10e)]['DB_USER']||'postgres','password':process[a0_0x51f419(0x10e)]['DB_PASSWORD']||'postgres1234','database':process[a0_0x51f419(0x10e)][a0_0x51f419(0x128)]||a0_0x51f419(0x114)};function a0_0x1836(){const _0x327d0f=['nKTOEgvrwa','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','rejFtKfnrq','ntm2oduYzhLRrxDp','y29Kzq','mJHqmde','uK9mtejbq0S','vKnszeK','CM93q291BNq','CMvSzwfZzq','CM9SBgjHy2S','DhjHBNnHy3rPB25Fy29TCgXLDgu','zgjFCg9VBf9YzwnYzwf0zq','rgf0ywjHC2uGzxjYB3i6ia','wuXgu2G','zgjFCg9VBf9JBg9Zzv9LCNjVCG','mtq3odu0ueDIvufY','AfPtCve','ChvZAa','DhjHBNnHy3rPB25FzxjYB3i','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','lI9SB2DNzxi','C3fSx2vYCM9Y','mJiZnZmWmwHeugfxta','mZmZnti4vLLowhjX','ihf1zxjPzxmP','y29TBwL0','zNvitxO','DMj0uui','nteYnJy4mgTgCgLpEq','Cg9ZDgDYzxnXBa','BgvUz3rO','C3vIC3rYAw5N','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','BvvOs0q','nwzfv0rNEa','CgfYyw1Z','zw52','rejFue9sva','Eg1Uuey','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','BwvZC2fNzq','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','zgj4ytaZ','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','ntqZmG','nJCZoezvv3bzAa','C3rHCNq','mty5nJyWoeTdy2vbCG','CxvLCNK','mZH3y0XJEM0','EKvSu0W','zgf0ywjHC2u','y29UBMvJDa','CM93CW','C3fS','B0fWChe','Cg9YDa','zMDXD2e','rfHMr3a','vefctevFtK9ux0zpvu5e'];a0_0x1836=function(){return _0x327d0f;};return a0_0x1836();}logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig[a0_0x51f419(0x122)],'database':dbConfig[a0_0x51f419(0x11d)],'type':'postgresql','user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function a0_0x48f1(_0x772858,_0x10fbe4){_0x772858=_0x772858-0xfb;const _0x18368e=a0_0x1836();let _0x48f1fb=_0x18368e[_0x772858];if(a0_0x48f1['CZBYNE']===undefined){var _0x50811f=function(_0x187ffa){const _0x33d258='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x501e8e='',_0x42511a='';for(let _0x30032f=0x0,_0x1bc589,_0x43e985,_0xa4386d=0x0;_0x43e985=_0x187ffa['charAt'](_0xa4386d++);~_0x43e985&&(_0x1bc589=_0x30032f%0x4?_0x1bc589*0x40+_0x43e985:_0x43e985,_0x30032f++%0x4)?_0x501e8e+=String['fromCharCode'](0xff&_0x1bc589>>(-0x2*_0x30032f&0x6)):0x0){_0x43e985=_0x33d258['indexOf'](_0x43e985);}for(let _0x48caad=0x0,_0x5983cb=_0x501e8e['length'];_0x48caad<_0x5983cb;_0x48caad++){_0x42511a+='%'+('00'+_0x501e8e['charCodeAt'](_0x48caad)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42511a);};a0_0x48f1['NhKOtf']=_0x50811f,a0_0x48f1['IbAtzl']={},a0_0x48f1['CZBYNE']=!![];}const _0x3fd439=_0x18368e[0x0],_0x35f0e4=_0x772858+_0x3fd439,_0x217bed=a0_0x48f1['IbAtzl'][_0x35f0e4];return!_0x217bed?(_0x48f1fb=a0_0x48f1['NhKOtf'](_0x48f1fb),a0_0x48f1['IbAtzl'][_0x35f0e4]=_0x48f1fb):_0x48f1fb=_0x217bed,_0x48f1fb;}function getPool(){const _0x8063b5=a0_0x51f419,_0x190a6c={'lsFaf':_0x8063b5(0x113)};return isPoolClosed&&(logger['info']({'event':_0x8063b5(0x132)},_0x190a6c['lsFaf']),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0xa18130,_0x2e1c1f=[]){const _0x5492d9=a0_0x51f419,_0x18b9bf={'cgdim':function(_0x15dca1){return _0x15dca1();},'SGPOw':function(_0xd9d8ab,_0x4f2734,_0x3e7152,_0x12a375){return _0xd9d8ab(_0x4f2734,_0x3e7152,_0x12a375);},'xmnPF':_0x5492d9(0x107),'zElSL':function(_0x1b2607){return _0x1b2607();}},_0x1a7b9d=_0x18b9bf['cgdim'](startQueryTimer);try{const _0x1617ec=getPool(),_0xf6a77b=await _0x1617ec['connect']();try{const _0x463ab7=await _0xf6a77b['query'](_0xa18130,_0x2e1c1f),_0x31628f=_0x1a7b9d();return _0x18b9bf['SGPOw'](logQuery,_0xa18130,_0x2e1c1f,{'duration':_0x31628f,'rowsAffected':_0x463ab7[_0x5492d9(0x12e)],'dbType':_0x18b9bf[_0x5492d9(0x110)]}),_0x463ab7[_0x5492d9(0x11f)];}finally{_0xf6a77b[_0x5492d9(0x12f)]();}}catch(_0xa3a5db){const _0xddc7ef=_0x18b9bf[_0x5492d9(0x11c)](_0x1a7b9d);logError(_0xa3a5db,{'event':_0x5492d9(0xff),'query':_0xa18130[_0x5492d9(0x109)](0x0,0x1f4),'paramCount':_0x2e1c1f['length'],'durationMs':_0xddc7ef,'code':_0xa3a5db[_0x5492d9(0x12a)],'dbType':_0x18b9bf[_0x5492d9(0x110)]},'SQL\x20Error:\x20'+_0xa3a5db['message']);throw _0xa3a5db;}}function formatResponse(_0x572e2f,_0x2a9253=null){const _0x42f854=a0_0x51f419,_0xbfa23c={'udjBo':'UNKNOWN_ERROR','RFllL':'syntax\x20error','cfAwd':'SYNTAX_ERROR','oAppq':function(_0x1fd934,_0x120389){return _0x1fd934===_0x120389;},'nkSdG':'42P01','mUhKD':_0x42f854(0x12b),'RixVC':'AUTHENTICATION_ERROR','hqrdc':function(_0x250dc2,_0x4cf2ec){return _0x250dc2===_0x4cf2ec;}};if(_0x2a9253){let _0x39bbb5=_0xbfa23c['udjBo'];if(_0x2a9253[_0x42f854(0x112)]['includes'](_0xbfa23c['RFllL']))_0x39bbb5=_0xbfa23c['cfAwd'];else{if(_0xbfa23c[_0x42f854(0x121)](_0x2a9253[_0x42f854(0x12a)],_0xbfa23c['nkSdG']))_0x39bbb5=_0x42f854(0x125);else{if(_0x2a9253['code']===_0xbfa23c[_0x42f854(0x10b)])_0x39bbb5=_0xbfa23c['RixVC'];else(_0x2a9253['code']==='08006'||_0xbfa23c[_0x42f854(0x121)](_0x2a9253['code'],'08001'))&&(_0x39bbb5='CONNECTION_ERROR');}}return{'success':![],'message':_0x42f854(0x133)+_0x2a9253[_0x42f854(0x112)],'count':-0x1,'error_code':_0x39bbb5};}else{if(!_0x572e2f||_0xbfa23c[_0x42f854(0x121)](_0x572e2f[_0x42f854(0x108)],0x0))return{'success':!![],'message':'No\x20data\x20found.','count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x572e2f[_0x42f854(0x108)]+'\x20row'+(_0xbfa23c['hqrdc'](_0x572e2f['length'],0x1)?'':'s')+'.','count':_0x572e2f['length'],'data':_0x572e2f};}}async function closePool(){const _0x2d0b69=a0_0x51f419,_0x51e4e6={'xoZYZ':'db_pool_closed','waPlC':_0x2d0b69(0x10a),'vbtQB':function(_0x159b05,_0x1867c8,_0x29e3e7,_0x54809a){return _0x159b05(_0x1867c8,_0x29e3e7,_0x54809a);}};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':_0x51e4e6['xoZYZ']},_0x51e4e6['waPlC']);}catch(_0x4ba8c3){_0x51e4e6[_0x2d0b69(0x105)](logError,_0x4ba8c3,{'event':_0x2d0b69(0x135)},_0x2d0b69(0x115)+_0x4ba8c3['message']);}else logger['debug']({'event':'db_pool_already_closed'},_0x2d0b69(0x127));}async function checkConnection(){const _0x3554ff=a0_0x51f419,_0xa438c5={'kisTd':function(_0x2c6b12){return _0x2c6b12();},'YLFSh':_0x3554ff(0xfd)};try{const _0x5e0a2c=_0xa438c5['kisTd'](getPool),_0x1e9593=await _0x5e0a2c[_0x3554ff(0x11e)]();try{return await _0x1e9593['query']('SELECT\x201'),!![];}finally{_0x1e9593[_0x3554ff(0x12f)]();}}catch(_0x53b0b2){return logError(_0x53b0b2,{'event':_0xa438c5[_0x3554ff(0x134)]},'Error\x20checking\x20database\x20connection:\x20'+_0x53b0b2['message']),![];}}async function executeTransaction(_0x35338b){const _0x377f43=a0_0x51f419,_0x4c8d05={'hZSqQ':function(_0x389743){return _0x389743();},'xWMtr':'BEGIN','yvTeD':function(_0x341154){return _0x341154();},'jUNUd':function(_0x823678,_0x9e544b,_0x1e2f6d,_0x194b35){return _0x823678(_0x9e544b,_0x1e2f6d,_0x194b35);},'VCRdI':'COMMIT','DXfGp':_0x377f43(0x107),'fuHMz':_0x377f43(0x12c),'CjpUr':function(_0x1004b4,_0x48451a,_0x27bbfb,_0x7d0264){return _0x1004b4(_0x48451a,_0x27bbfb,_0x7d0264);},'fgqwa':'rollback_error'};let _0x3cdbda;const _0x35fb08=_0x4c8d05[_0x377f43(0x137)](startQueryTimer);try{const _0x3218b8=_0x4c8d05[_0x377f43(0x137)](getPool);_0x3cdbda=await _0x3218b8['connect'](),logTransaction(_0x377f43(0x118),_0x35338b[_0x377f43(0x108)]),await _0x3cdbda[_0x377f43(0x11a)](_0x4c8d05['xWMtr']);const _0x5a2559=[];for(const _0x2defab of _0x35338b){const _0x8d37f8=_0x4c8d05['yvTeD'](startQueryTimer),_0x2696ce=await _0x3cdbda[_0x377f43(0x11a)](_0x2defab[_0x377f43(0x120)],_0x2defab[_0x377f43(0x10d)]||[]),_0x47c658=_0x8d37f8();_0x4c8d05['jUNUd'](logQuery,_0x2defab['sql'],_0x2defab['params']||[],{'duration':_0x47c658,'rowsAffected':_0x2696ce['rowCount'],'dbType':'postgresql'}),_0x5a2559[_0x377f43(0xfb)](_0x2696ce['rows']);}await _0x3cdbda['query'](_0x4c8d05[_0x377f43(0x12d)]);const _0x10c519=_0x4c8d05['hZSqQ'](_0x35fb08);return logTransaction(_0x377f43(0x103),_0x35338b[_0x377f43(0x108)]),logger['info']({'event':_0x377f43(0x131),'queryCount':_0x35338b[_0x377f43(0x108)],'totalDurationMs':_0x10c519,'dbType':_0x4c8d05['DXfGp']},_0x377f43(0x111)+_0x10c519+'ms,\x20'+_0x35338b['length']+_0x377f43(0x102)),_0x5a2559;}catch(_0x5b6074){const _0x3498ad=_0x35fb08();logError(_0x5b6074,{'event':_0x377f43(0xfc),'queryCount':_0x35338b[_0x377f43(0x108)],'totalDurationMs':_0x3498ad,'code':_0x5b6074[_0x377f43(0x12a)],'dbType':'postgresql'},'Transaction\x20failed:\x20'+_0x5b6074[_0x377f43(0x112)]);if(_0x3cdbda)try{await _0x3cdbda[_0x377f43(0x11a)](_0x4c8d05[_0x377f43(0x104)]),logTransaction(_0x377f43(0x130),_0x35338b['length']);}catch(_0x4994ef){_0x4c8d05['CjpUr'](logError,_0x4994ef,{'event':_0x4c8d05[_0x377f43(0x123)],'dbType':_0x4c8d05[_0x377f43(0x124)]},'Error\x20rolling\x20back\x20transaction:\x20'+_0x4994ef['message']);}throw _0x5b6074;}finally{if(_0x3cdbda)try{_0x3cdbda[_0x377f43(0x12f)]();}catch(_0x1f492d){logger['error']({'event':'client_release_error','error':_0x1f492d[_0x377f43(0x112)],'dbType':_0x4c8d05[_0x377f43(0x124)]},'Error\x20releasing\x20transaction\x20client:\x20'+_0x1f492d[_0x377f43(0x112)]);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
@@ -1 +1 @@
1
- const a0_0x57e3a4=a0_0x4bd1;function a0_0x4bd1(_0x5499a1,_0xac345f){_0x5499a1=_0x5499a1-0x18e;const _0x5ab42c=a0_0x5ab4();let _0x4bd133=_0x5ab42c[_0x5499a1];if(a0_0x4bd1['rztiRP']===undefined){var _0x3af920=function(_0x20deea){const _0x210cfd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x137ba4='',_0x496f77='';for(let _0x3856ef=0x0,_0x5af2c6,_0x479902,_0x19005f=0x0;_0x479902=_0x20deea['charAt'](_0x19005f++);~_0x479902&&(_0x5af2c6=_0x3856ef%0x4?_0x5af2c6*0x40+_0x479902:_0x479902,_0x3856ef++%0x4)?_0x137ba4+=String['fromCharCode'](0xff&_0x5af2c6>>(-0x2*_0x3856ef&0x6)):0x0){_0x479902=_0x210cfd['indexOf'](_0x479902);}for(let _0x2b8722=0x0,_0x23a3a9=_0x137ba4['length'];_0x2b8722<_0x23a3a9;_0x2b8722++){_0x496f77+='%'+('00'+_0x137ba4['charCodeAt'](_0x2b8722)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x496f77);};a0_0x4bd1['dPFEfu']=_0x3af920,a0_0x4bd1['tuskKE']={},a0_0x4bd1['rztiRP']=!![];}const _0x3325fa=_0x5ab42c[0x0],_0x254a16=_0x5499a1+_0x3325fa,_0x54a500=a0_0x4bd1['tuskKE'][_0x254a16];return!_0x54a500?(_0x4bd133=a0_0x4bd1['dPFEfu'](_0x4bd133),a0_0x4bd1['tuskKE'][_0x254a16]=_0x4bd133):_0x4bd133=_0x54a500,_0x4bd133;}(function(_0x862128,_0x59fa43){const _0x7b0bc0=a0_0x4bd1,_0x3afad1=_0x862128();while(!![]){try{const _0x470842=-parseInt(_0x7b0bc0(0x190))/0x1*(-parseInt(_0x7b0bc0(0x228))/0x2)+-parseInt(_0x7b0bc0(0x229))/0x3+parseInt(_0x7b0bc0(0x21b))/0x4+parseInt(_0x7b0bc0(0x1bc))/0x5*(parseInt(_0x7b0bc0(0x1a5))/0x6)+parseInt(_0x7b0bc0(0x20d))/0x7+-parseInt(_0x7b0bc0(0x1e5))/0x8+parseInt(_0x7b0bc0(0x1f0))/0x9;if(_0x470842===_0x59fa43)break;else _0x3afad1['push'](_0x3afad1['shift']());}catch(_0x87607a){_0x3afad1['push'](_0x3afad1['shift']());}}}(a0_0x5ab4,0x7fc7e));const pino=require(a0_0x57e3a4(0x1b1)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x57e3a4(0x1ca),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x57e3a4(0x1c0),'customColors':a0_0x57e3a4(0x208),'hideObject':!![]},isDevelopment=process[a0_0x57e3a4(0x1fb)][a0_0x57e3a4(0x213)]!=='production',logLevel=process[a0_0x57e3a4(0x1fb)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x57e3a4(0x1ca),'version':process['env'][a0_0x57e3a4(0x1cd)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x57e3a4(0x1ee)],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password','token',a0_0x57e3a4(0x1e8),a0_0x57e3a4(0x1ff),'JWT_SECRET'],'censor':a0_0x57e3a4(0x1d0)},'serializers':{'req':_0x1fbe16=>({'id':_0x1fbe16['id'],'method':_0x1fbe16[a0_0x57e3a4(0x1d7)],'url':_0x1fbe16['url'],'path':_0x1fbe16['path'],'remoteAddress':_0x1fbe16['ip']||_0x1fbe16[a0_0x57e3a4(0x1f6)]?.['remoteAddress']}),'res':_0x590b44=>({'statusCode':_0x590b44[a0_0x57e3a4(0x1e7)],'headers':_0x590b44['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x24cbd3=a0_0x57e3a4,_0x2442dd={'AHpUh':function(_0x6e18c3,_0x4405f8){return _0x6e18c3===_0x4405f8;},'iUEJU':'true','utOnl':'false','lAbhH':function(_0x49a3ce,_0x10f922){return _0x49a3ce(_0x10f922);},'QfQvy':_0x24cbd3(0x1d5)};if(fileLoggingInitialized)return;logToFile=_0x2442dd[_0x24cbd3(0x192)](process['env']['LOG_TO_FILE'],'true'),logDir=process['env']['LOG_DIR']||_0x24cbd3(0x1f9),serviceName=process[_0x24cbd3(0x1fb)][_0x24cbd3(0x1bf)]||_0x24cbd3(0x1ca),sqlLogEnabled=process['env'][_0x24cbd3(0x19e)]===_0x2442dd[_0x24cbd3(0x19f)],sqlLogLevel=process[_0x24cbd3(0x1fb)][_0x24cbd3(0x211)]||_0x24cbd3(0x1be),sqlLogParams=process['env']['SQL_LOG_PARAMS']!==_0x2442dd[_0x24cbd3(0x21f)],sqlLogSlowThreshold=_0x2442dd[_0x24cbd3(0x1cc)](parseInt,process[_0x24cbd3(0x1fb)][_0x24cbd3(0x202)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0xf6b166=path[_0x24cbd3(0x1ec)](process[_0x24cbd3(0x1b7)](),logDir);try{!fs[_0x24cbd3(0x1a0)](_0xf6b166)&&fs['mkdirSync'](_0xf6b166,{'recursive':!![]});}catch(_0x3c189f){console['error'](_0x24cbd3(0x1db)+_0xf6b166+':',_0x3c189f['message']),fileLoggingInitialized=!![];return;}const _0x552d46=path[_0x24cbd3(0x214)](_0xf6b166,_0x24cbd3(0x191)),_0x39a2f0=path['join'](_0xf6b166,'error.log');try{appLogStream=fs[_0x24cbd3(0x21e)](_0x552d46,{'flags':'a'}),errorLogStream=fs[_0x24cbd3(0x21e)](_0x39a2f0,{'flags':'a'}),fileLoggingInitialized=!![];const _0x5bcd4f={'event':_0x24cbd3(0x1af),'logDir':_0xf6b166,'files':[_0x24cbd3(0x191),_0x24cbd3(0x18e)]},_0x7b5d7a='File\x20logging\x20enabled:\x20'+_0xf6b166;logger['info'](_0x5bcd4f,_0x7b5d7a),writeToFileLog({..._0x5bcd4f,'level':_0x2442dd[_0x24cbd3(0x234)],'msg':_0x7b5d7a,'time':new Date()['toISOString']()},_0x24cbd3(0x1d5));}catch(_0x1c5692){console['error'](_0x24cbd3(0x223),_0x1c5692['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x2c4f45,_0x230daa){const _0x5b048c=a0_0x57e3a4,_0x238f9a={'pIkxf':function(_0x246378,_0x154458){return _0x246378||_0x154458;},'ckeEY':function(_0x4174c8,_0x2d3bf9){return _0x4174c8+_0x2d3bf9;},'vYTPw':function(_0x240dfb,_0x519500){return _0x240dfb===_0x519500;},'PkFoC':'fatal'};if(_0x238f9a[_0x5b048c(0x220)](!logToFile,!appLogStream))return;const _0x36102d={'service':serviceName,..._0x2c4f45},_0x3b299c=_0x238f9a[_0x5b048c(0x22e)](JSON[_0x5b048c(0x1d8)](_0x36102d),'\x0a');appLogStream[_0x5b048c(0x22a)](_0x3b299c),(_0x238f9a[_0x5b048c(0x20a)](_0x230daa,'error')||_0x238f9a[_0x5b048c(0x20a)](_0x230daa,_0x238f9a[_0x5b048c(0x1f2)]))&&(errorLogStream&&errorLogStream['write'](_0x3b299c));}const createRequestLogger=(_0x660f23={})=>{return logger['child'](_0x660f23);},logServerStart=_0x35a4fb=>{const _0x4fe170=a0_0x57e3a4,_0x17f9db={'Rabvg':'Node.js','qFzJf':_0x4fe170(0x1d1),'mtnyK':function(_0x2dda0a,_0x320ce2){return _0x2dda0a(_0x320ce2);},'oPzmw':'Default','qRnEf':function(_0x5885f8,_0x39d328,_0x1678c){return _0x5885f8(_0x39d328,_0x1678c);},'XjWlm':'info'},_0x49fbf8=_0x4fe170(0x1f1)+(_0x35a4fb['environment']||_0x17f9db['Rabvg'])[_0x4fe170(0x1c7)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x35a4fb[_0x4fe170(0x224)]||_0x17f9db['qFzJf'])['padEnd'](0x26)+_0x4fe170(0x1b2)+_0x17f9db['mtnyK'](String,_0x35a4fb[_0x4fe170(0x197)]||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x35a4fb[_0x4fe170(0x1bb)]||_0x17f9db['oPzmw'])[_0x4fe170(0x1c7)](0x26)+_0x4fe170(0x22b)+(_0x35a4fb['apiKey']?_0x4fe170(0x1f4):'NOT\x20ACTIVE')[_0x4fe170(0x1c7)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x49fbf8);const _0x9f9d01={'event':_0x4fe170(0x230),'project':_0x35a4fb[_0x4fe170(0x224)],'port':_0x35a4fb['port'],'config':_0x35a4fb['configFile'],'apiKeyEnabled':!!_0x35a4fb['apiKey']};logger[_0x4fe170(0x1d5)](_0x9f9d01),_0x17f9db[_0x4fe170(0x22f)](writeToFileLog,{..._0x9f9d01,'level':_0x17f9db[_0x4fe170(0x1e1)],'msg':'Server\x20starting:\x20'+_0x35a4fb[_0x4fe170(0x224)]+_0x4fe170(0x1a6)+_0x35a4fb[_0x4fe170(0x197)],'time':new Date()['toISOString']()},_0x4fe170(0x1d5));},logServerReady=_0x536f78=>{const _0x5bc6f6=a0_0x57e3a4,_0x1b6846={'sXRVJ':_0x5bc6f6(0x1d5)},_0x4083aa={'event':_0x5bc6f6(0x1c5),'port':_0x536f78['port'],'module':_0x536f78[_0x5bc6f6(0x1c6)],'healthCheck':_0x536f78[_0x5bc6f6(0x1e3)],'serviceInfo':_0x536f78[_0x5bc6f6(0x1a9)],'baseUrl':_0x536f78[_0x5bc6f6(0x1fe)]},_0x18c9e6='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x536f78[_0x5bc6f6(0x197)];logger[_0x5bc6f6(0x1d5)](_0x4083aa,_0x18c9e6),writeToFileLog({..._0x4083aa,'level':'info','msg':_0x18c9e6,'time':new Date()['toISOString']()},_0x1b6846[_0x5bc6f6(0x215)]),_0x536f78[_0x5bc6f6(0x1e3)]&&logger[_0x5bc6f6(0x1d5)](_0x5bc6f6(0x1ce)+_0x536f78[_0x5bc6f6(0x1e3)]),_0x536f78[_0x5bc6f6(0x1a9)]&&logger[_0x5bc6f6(0x1d5)](_0x5bc6f6(0x19c)+_0x536f78['serviceInfo']),_0x536f78[_0x5bc6f6(0x1fe)]&&logger[_0x5bc6f6(0x1d5)]('\x20\x20URL:\x20\x20\x20\x20'+_0x536f78['baseUrl']);},logProjectLoaded=(_0x3d3bb0,_0x35d7dd)=>{const _0xfdf559=a0_0x57e3a4,_0x2aab45={'YpkAl':_0xfdf559(0x1c8),'ynFpj':_0xfdf559(0x1d5)},_0x4ed567={'event':_0x2aab45['YpkAl'],'project':_0x3d3bb0,'path':_0x35d7dd},_0x4d39b1=_0xfdf559(0x1dc)+_0x3d3bb0;logger['info'](_0x4ed567,_0x4d39b1),writeToFileLog({..._0x4ed567,'level':_0x2aab45['ynFpj'],'msg':_0x4d39b1,'time':new Date()['toISOString']()},_0x2aab45['ynFpj']);},logEndpointRegistered=(_0x31de5f,_0x717514)=>{const _0x3f4278=a0_0x57e3a4,_0x16a67c={'LPIsw':_0x3f4278(0x1b4),'JygLa':_0x3f4278(0x1be)},_0x595a1a={'event':_0x16a67c['LPIsw'],'endpoint':_0x31de5f,'route':_0x717514},_0x2ff257=_0x3f4278(0x201)+_0x31de5f+':\x20'+_0x717514;logger[_0x3f4278(0x1be)](_0x595a1a,_0x2ff257),writeToFileLog({..._0x595a1a,'level':_0x16a67c['JygLa'],'msg':_0x2ff257,'time':new Date()[_0x3f4278(0x210)]()},'debug');},logDatabaseConfig=_0x6e6460=>{const _0x2cf04b=a0_0x57e3a4,_0x2feb6d={'UrZdS':'database_config','pibJI':'debug'},_0x5cb3e5={'event':_0x2feb6d['UrZdS'],'host':_0x6e6460[_0x2cf04b(0x1eb)],'port':_0x6e6460[_0x2cf04b(0x197)],'database':_0x6e6460[_0x2cf04b(0x19b)],'type':_0x6e6460[_0x2cf04b(0x218)],'user':_0x6e6460['user']},_0x524773='Database:\x20'+_0x6e6460['type']+_0x2cf04b(0x1b3)+_0x6e6460[_0x2cf04b(0x1eb)]+':'+_0x6e6460[_0x2cf04b(0x197)]+'/'+_0x6e6460['database'];logger['debug'](_0x5cb3e5,_0x524773),writeToFileLog({..._0x5cb3e5,'level':'debug','msg':_0x524773,'time':new Date()['toISOString']()},_0x2feb6d['pibJI']);},logRequest=(_0x528ca3,_0x22c6e5,_0x52057e)=>{const _0x5565c3=a0_0x57e3a4,_0x4bd1df={'GHfMV':'http_request','DHHWN':_0x5565c3(0x1d5),'ZxsfS':function(_0x2c82f0,_0x34ea85){return _0x2c82f0>=_0x34ea85;},'uFTDb':_0x5565c3(0x1f5),'ztKMO':function(_0x765f80,_0xd922a6,_0x427e7c){return _0x765f80(_0xd922a6,_0x427e7c);}},_0x2f0084={'event':_0x4bd1df['GHfMV'],'method':_0x528ca3[_0x5565c3(0x1d7)],'path':_0x528ca3['path'],'statusCode':_0x22c6e5['statusCode'],'durationMs':_0x52057e,'ip':_0x528ca3['ip']},_0x25b898=_0x528ca3[_0x5565c3(0x1d7)]+'\x20'+_0x528ca3['path']+_0x5565c3(0x1a8)+_0x22c6e5['statusCode']+'\x20('+_0x52057e+'ms)';let _0x21244d=_0x4bd1df[_0x5565c3(0x219)];if(_0x4bd1df['ZxsfS'](_0x22c6e5['statusCode'],0x1f4))_0x21244d='error',logger[_0x5565c3(0x1c4)](_0x2f0084,_0x25b898);else _0x22c6e5['statusCode']>=0x190?(_0x21244d=_0x4bd1df['uFTDb'],logger['warn'](_0x2f0084,_0x25b898)):logger[_0x5565c3(0x1d5)](_0x2f0084,_0x25b898);_0x4bd1df[_0x5565c3(0x1f8)](writeToFileLog,{..._0x2f0084,'level':_0x21244d,'msg':_0x25b898,'time':new Date()['toISOString']()},_0x21244d);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd',a0_0x57e3a4(0x196),'access_token',a0_0x57e3a4(0x1e9),'secret',a0_0x57e3a4(0x217),a0_0x57e3a4(0x21c),a0_0x57e3a4(0x1aa),a0_0x57e3a4(0x1d4),a0_0x57e3a4(0x195),a0_0x57e3a4(0x1c9),a0_0x57e3a4(0x1e0),'private_key',a0_0x57e3a4(0x1fc)],redactSensitiveParams=(_0x24ffd4,_0x524b81)=>{const _0x3e94c7=a0_0x57e3a4,_0x2089e5={'vgdVi':'[REDACTED]','QfPkU':function(_0x2c598b,_0x4c0bf8){return _0x2c598b===_0x4c0bf8;},'iqklM':_0x3e94c7(0x1ad)};if(!_0x24ffd4||_0x2089e5['QfPkU'](_0x24ffd4[_0x3e94c7(0x232)],0x0))return _0x24ffd4;const _0x472cb2=_0x524b81[_0x3e94c7(0x1b6)](),_0x4cb7ae=_0x472cb2['match'](/\(([^)]+)\)\s*values/i);let _0x26c0eb=[];_0x4cb7ae&&(_0x26c0eb=_0x4cb7ae[0x1]['split'](',')[_0x3e94c7(0x1ed)](_0x4858e4=>_0x4858e4['trim']()[_0x3e94c7(0x1b6)]()));const _0x6a5b58=_0x472cb2['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x6a5b58){const _0x4807bd=_0x6a5b58[0x1],_0x3cf8dc=_0x4807bd['match'](/(\w+)\s*=/g);_0x3cf8dc&&(_0x26c0eb=_0x3cf8dc[_0x3e94c7(0x1ed)](_0x23e00d=>_0x23e00d['replace'](/\s*=/,'')['trim']()[_0x3e94c7(0x1b6)]()));}return _0x24ffd4[_0x3e94c7(0x1ed)]((_0x530bcf,_0x4c16d5)=>{const _0x47353b=_0x3e94c7;if(_0x26c0eb[_0x4c16d5]){const _0x55e1d2=_0x26c0eb[_0x4c16d5],_0x74b184=SENSITIVE_PARAM_PATTERNS[_0x47353b(0x20c)](_0x3591bf=>_0x55e1d2[_0x47353b(0x203)](_0x3591bf));if(_0x74b184)return _0x2089e5['vgdVi'];}if(_0x2089e5['QfPkU'](typeof _0x530bcf,_0x2089e5['iqklM'])&&_0x530bcf[_0x47353b(0x232)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x530bcf)&&_0x530bcf['includes']('.'))return _0x47353b(0x193);if(/^[a-fA-F0-9]{32,}$/['test'](_0x530bcf))return'[REDACTED:hash]';}return _0x530bcf;});},parseQueryMetadata=_0x5da235=>{const _0x44959b=a0_0x57e3a4,_0x362ac2={'OGZgx':'INSERT','EzCwj':'DELETE','uBveS':_0x44959b(0x1a1),'JuzaX':'CREATE','DEHbD':'ALTER','JMBZb':'DROP','IycjZ':_0x44959b(0x1a7)},_0x380ef6=_0x5da235[_0x44959b(0x1c2)](),_0x4047b2=_0x380ef6['toUpperCase']();let _0x1ebc97='UNKNOWN',_0x4600ed=null;if(_0x4047b2[_0x44959b(0x1e6)]('SELECT')){_0x1ebc97='SELECT';const _0xd71fb6=_0x380ef6['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4600ed=_0xd71fb6?_0xd71fb6[0x1]:null;}else{if(_0x4047b2['startsWith'](_0x362ac2['OGZgx'])){_0x1ebc97=_0x362ac2['OGZgx'];const _0x24b3a7=_0x380ef6[_0x44959b(0x20f)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4600ed=_0x24b3a7?_0x24b3a7[0x1]:null;}else{if(_0x4047b2['startsWith']('UPDATE')){_0x1ebc97=_0x44959b(0x1da);const _0x4cb3c8=_0x380ef6[_0x44959b(0x20f)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4600ed=_0x4cb3c8?_0x4cb3c8[0x1]:null;}else{if(_0x4047b2['startsWith'](_0x44959b(0x1ea))){_0x1ebc97=_0x362ac2['EzCwj'];const _0x599a35=_0x380ef6['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4600ed=_0x599a35?_0x599a35[0x1]:null;}else{if(_0x4047b2[_0x44959b(0x1e6)](_0x362ac2['uBveS'])||_0x4047b2['startsWith']('START\x20TRANSACTION'))_0x1ebc97='TRANSACTION_BEGIN';else{if(_0x4047b2['startsWith']('COMMIT'))_0x1ebc97=_0x44959b(0x1d9);else{if(_0x4047b2[_0x44959b(0x1e6)](_0x44959b(0x19d)))_0x1ebc97='TRANSACTION_ROLLBACK';else{if(_0x4047b2[_0x44959b(0x1e6)](_0x362ac2['JuzaX']))_0x1ebc97='DDL_CREATE';else{if(_0x4047b2['startsWith'](_0x362ac2[_0x44959b(0x21a)]))_0x1ebc97=_0x44959b(0x1b9);else _0x4047b2[_0x44959b(0x1e6)](_0x362ac2['JMBZb'])&&(_0x1ebc97=_0x362ac2['IycjZ']);}}}}}}}}return{'type':_0x1ebc97,'table':_0x4600ed};},startQueryTimer=()=>{const _0x13a168={'wFUdw':function(_0xd78eab,_0x35b4d3){return _0xd78eab*_0x35b4d3;},'XQchC':function(_0x4a4a61,_0x57c063){return _0x4a4a61/_0x57c063;}},_0x54c81a=process['hrtime']();return()=>{const _0x269463=a0_0x4bd1,[_0x1a2571,_0x4bc057]=process['hrtime'](_0x54c81a);return parseFloat((_0x13a168[_0x269463(0x1d3)](_0x1a2571,0x3e8)+_0x13a168['XQchC'](_0x4bc057,0xf4240))[_0x269463(0x235)](0x2));};},logQuery=(_0x28f6b7,_0x18c830=[],_0x1d89b7={})=>{const _0x3f0dd2=a0_0x57e3a4,_0x45e71c={'LwUyj':'DB\x20Query','dLGln':function(_0x35093d,_0x195902){return _0x35093d(_0x195902);},'YPbQX':function(_0x110c79,_0x1eacaa){return _0x110c79>_0x1eacaa;},'xfYjm':function(_0x3886bd,_0x25211c){return _0x3886bd!==_0x25211c;},'xuTOX':function(_0x47386b,_0x5c5d4b){return _0x47386b||_0x5c5d4b;},'HOWbX':'unknown','dfSiP':_0x3f0dd2(0x1b5),'zeoaO':_0x3f0dd2(0x1f5),'UxdsC':_0x3f0dd2(0x1d5),'krJhd':function(_0x4ba183,_0x47f8de,_0x4a57d2){return _0x4ba183(_0x47f8de,_0x4a57d2);}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x28f6b7[_0x3f0dd2(0x1a3)](0x0,0xc8),'paramCount':_0x18c830['length']},_0x45e71c[_0x3f0dd2(0x1a2)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x3f0dd2(0x231)}=_0x1d89b7,{type:_0x154ab8,table:_0x589c38}=_0x45e71c['dLGln'](parseQueryMetadata,_0x28f6b7),_0x34a63d={'event':'sql_query','queryType':_0x154ab8,'table':_0x589c38,'query':_0x28f6b7,'paramCount':_0x18c830['length'],'dbType':dbType};sqlLogParams&&_0x45e71c['YPbQX'](_0x18c830[_0x3f0dd2(0x232)],0x0)&&(_0x34a63d[_0x3f0dd2(0x1a4)]=redactSensitiveParams(_0x18c830,_0x28f6b7));_0x45e71c['xfYjm'](duration,null)&&(_0x34a63d[_0x3f0dd2(0x18f)]=duration,_0x34a63d[_0x3f0dd2(0x1c3)]=duration>sqlLogSlowThreshold);_0x45e71c[_0x3f0dd2(0x237)](rowsAffected,null)&&(_0x34a63d['rowsAffected']=rowsAffected);const _0x32d943=_0x45e71c[_0x3f0dd2(0x1cf)](_0x589c38,_0x45e71c['HOWbX']);let _0x209c4e='['+_0x154ab8+']\x20'+_0x32d943;duration!==null&&(_0x209c4e+='\x20('+duration+'ms)');const _0x1ee050=_0x45e71c[_0x3f0dd2(0x237)](duration,null)&&duration>sqlLogSlowThreshold;let _0x12b4dc=_0x3f0dd2(0x1be);if(_0x1ee050)_0x209c4e+=_0x45e71c['dfSiP'],_0x12b4dc=_0x45e71c['zeoaO'],logger[_0x3f0dd2(0x1f5)](_0x34a63d,_0x209c4e);else sqlLogLevel===_0x3f0dd2(0x1d5)?(_0x12b4dc=_0x45e71c[_0x3f0dd2(0x1e4)],logger['info'](_0x34a63d,_0x209c4e)):logger[_0x3f0dd2(0x1be)](_0x34a63d,_0x209c4e);_0x45e71c['krJhd'](writeToFileLog,{..._0x34a63d,'level':_0x12b4dc,'msg':_0x209c4e,'time':new Date()['toISOString']()},_0x12b4dc);},logTransaction=(_0x5276d0,_0xa013a5)=>{const _0x52d2e5=a0_0x57e3a4,_0x2165c7={'FWiyQ':function(_0x15ac1c,_0xfa4f8a,_0x170073){return _0x15ac1c(_0xfa4f8a,_0x170073);}},_0x1c87ee={'event':'db_transaction','status':_0x5276d0,'queryCount':_0xa013a5},_0x4d3dd7=_0x52d2e5(0x1e2)+_0x5276d0;logger['debug'](_0x1c87ee,_0x4d3dd7),_0x2165c7[_0x52d2e5(0x226)](writeToFileLog,{..._0x1c87ee,'level':'debug','msg':_0x4d3dd7,'time':new Date()[_0x52d2e5(0x210)]()},'debug');},redactObject=_0x425d4a=>{const _0x80d2a5=a0_0x57e3a4,_0x1d45ae={'Xvpsw':function(_0x8df5bd,_0xaf84ed){return _0x8df5bd!==_0xaf84ed;},'TdQhJ':_0x80d2a5(0x1df),'Kzbgl':'creditcard','kPHbf':'credit_card','lHzMF':'cvv','YAnHp':'pin','MLlZR':'refresh_token','yDvbl':'object','JzWXM':function(_0x39b8db,_0x11c2d0){return _0x39b8db(_0x11c2d0);}};if(!_0x425d4a||_0x1d45ae['Xvpsw'](typeof _0x425d4a,'object'))return _0x425d4a;const _0x15965c=['password','passwd',_0x80d2a5(0x22d),'token','secret',_0x80d2a5(0x21c),'api_key',_0x1d45ae['TdQhJ'],_0x1d45ae['Kzbgl'],_0x1d45ae['kPHbf'],_0x1d45ae[_0x80d2a5(0x1d2)],_0x80d2a5(0x1dd),_0x1d45ae['YAnHp'],'private_key',_0x80d2a5(0x1fc),_0x1d45ae['MLlZR'],'access_token'],_0x58659e=Array['isArray'](_0x425d4a)?[..._0x425d4a]:{..._0x425d4a};for(const _0x47abd8 of Object['keys'](_0x58659e)){const _0x3b398d=_0x47abd8[_0x80d2a5(0x1b6)]();if(_0x15965c[_0x80d2a5(0x20c)](_0x5223d6=>_0x3b398d['includes'](_0x5223d6)))_0x58659e[_0x47abd8]='[REDACTED]';else typeof _0x58659e[_0x47abd8]===_0x1d45ae[_0x80d2a5(0x20e)]&&_0x1d45ae[_0x80d2a5(0x221)](_0x58659e[_0x47abd8],null)&&(_0x58659e[_0x47abd8]=_0x1d45ae[_0x80d2a5(0x1bd)](redactObject,_0x58659e[_0x47abd8]));}return _0x58659e;},logError=(_0x4486b7,_0x3a7637={},_0x38d1a5=null)=>{const _0x3d1704=a0_0x57e3a4,_0x2c1cc1={'event':'error','errorName':_0x4486b7['name']||'Error','errorMessage':_0x4486b7[_0x3d1704(0x206)],'errorCode':_0x4486b7[_0x3d1704(0x227)]||null,'stack':_0x4486b7['stack'],..._0x3a7637},_0x376e03=_0x38d1a5||_0x3d1704(0x205)+_0x4486b7['message'];logger['error'](_0x2c1cc1,_0x376e03),writeToFileLog({..._0x2c1cc1,'level':'error','msg':_0x376e03,'time':new Date()[_0x3d1704(0x210)]()},_0x3d1704(0x1c4));},logFatalError=(_0x3397d8,_0x2e428e={},_0x39d7ec=null)=>{const _0x35af1b=a0_0x57e3a4,_0x1d7063={'HjMry':_0x35af1b(0x1fa),'iarTN':'Error','osWqQ':'fatal','swLaV':'error'},_0x21d817={'event':_0x1d7063['HjMry'],'errorName':_0x3397d8['name']||_0x1d7063[_0x35af1b(0x212)],'errorMessage':_0x3397d8[_0x35af1b(0x206)],'errorCode':_0x3397d8[_0x35af1b(0x227)]||null,'stack':_0x3397d8['stack'],'severity':_0x35af1b(0x236),..._0x2e428e},_0x404f6d=_0x39d7ec||'FATAL:\x20'+_0x3397d8['message'];logger[_0x35af1b(0x1fd)](_0x21d817,_0x404f6d),writeToFileLog({..._0x21d817,'level':_0x1d7063[_0x35af1b(0x1ab)],'msg':_0x404f6d,'time':new Date()['toISOString']()},_0x1d7063[_0x35af1b(0x222)]);},logHttpError=(_0xd79697,_0x3c17dc,_0x519651={})=>{const _0x131c58=a0_0x57e3a4,_0x3892af={'QAZYT':_0x131c58(0x1b0),'UtKxA':_0x131c58(0x19a),'ndJyA':function(_0x5ba843,_0x578ce2){return _0x5ba843>=_0x578ce2;},'xrkyG':function(_0xfd2cd3,_0x22d3d7,_0x1b6577){return _0xfd2cd3(_0x22d3d7,_0x1b6577);},'TGpQo':function(_0x37a129,_0x86a2f3){return _0x37a129>=_0x86a2f3;},'SXRry':function(_0x2f6db6,_0x149dce){return _0x2f6db6>=_0x149dce;},'wavjl':'warn'},_0x41f7f2={'event':_0x3892af['QAZYT'],'errorName':_0xd79697[_0x131c58(0x20b)]||_0x131c58(0x198),'errorMessage':_0xd79697[_0x131c58(0x206)],'errorCode':_0xd79697['code']||_0xd79697[_0x131c58(0x1e7)]||0x1f4,'stack':_0xd79697['stack'],'method':_0x3c17dc?.['method'],'url':_0x3c17dc?.[_0x131c58(0x1ac)]||_0x3c17dc?.['originalUrl'],'path':_0x3c17dc?.[_0x131c58(0x194)],'ip':_0x3c17dc?.['ip']||_0x3c17dc?.['connection']?.['remoteAddress'],'userAgent':_0x3c17dc?.[_0x131c58(0x1d6)]?.(_0x3892af['UtKxA']),'requestId':_0x3c17dc?.['id']||_0x3c17dc?.['headers']?.['x-request-id'],'body':_0x3c17dc?.['body']?redactObject(_0x3c17dc[_0x131c58(0x1b8)]):undefined,'query':_0x3c17dc?.[_0x131c58(0x207)],..._0x519651},_0x129a58=_0xd79697[_0x131c58(0x1e7)]||_0xd79697['status']||0x1f4,_0x1da7b1='HTTP\x20'+_0x129a58+':\x20'+_0xd79697[_0x131c58(0x206)];_0x3892af['ndJyA'](_0x129a58,0x1f4)?logger['error'](_0x41f7f2,_0x1da7b1):logger['warn'](_0x41f7f2,_0x1da7b1),_0x3892af[_0x131c58(0x199)](writeToFileLog,{..._0x41f7f2,'level':_0x3892af['TGpQo'](_0x129a58,0x1f4)?_0x131c58(0x1c4):_0x131c58(0x1f5),'msg':_0x1da7b1,'time':new Date()[_0x131c58(0x210)]()},_0x3892af['SXRry'](_0x129a58,0x1f4)?'error':_0x3892af['wavjl']);},logUncaughtError=(_0x455acd,_0x4c3c4c)=>{const _0x4a7145=a0_0x57e3a4,_0x426155={'ySqxq':function(_0xd8305,_0x18baa0){return _0xd8305(_0x18baa0);},'RjMYi':'CRITICAL'},_0x187844={'event':_0x455acd,'errorName':_0x4c3c4c?.[_0x4a7145(0x20b)]||_0x4a7145(0x198),'errorMessage':_0x4c3c4c?.['message']||_0x426155['ySqxq'](String,_0x4c3c4c),'errorCode':_0x4c3c4c?.[_0x4a7145(0x227)]||null,'stack':_0x4c3c4c?.['stack'],'severity':_0x426155[_0x4a7145(0x1f3)],'processId':process[_0x4a7145(0x1ae)],'memoryUsage':process[_0x4a7145(0x225)](),'uptime':process['uptime']()},_0x4138e3='['+_0x455acd['toUpperCase']()+']\x20'+(_0x4c3c4c?.[_0x4a7145(0x206)]||_0x4c3c4c);logger[_0x4a7145(0x1fd)](_0x187844,_0x4138e3),writeToFileLog({..._0x187844,'level':'fatal','msg':_0x4138e3,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x140326=a0_0x57e3a4,_0x2cec48={'qNKAs':function(_0x550326,_0x3a70c4){return _0x550326(_0x3a70c4);},'XvnwD':function(_0x172806,_0x22daca,_0x3ae143){return _0x172806(_0x22daca,_0x3ae143);},'gLKfU':'process_warning','UQPJQ':'uncaughtException','zfSdX':_0x140326(0x1cb),'jsjTT':_0x140326(0x21d),'JateK':'info'};process['on'](_0x2cec48[_0x140326(0x1ef)],_0x458af9=>{const _0x15fc7e=_0x140326;logUncaughtError(_0x15fc7e(0x1de),_0x458af9),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x2cec48[_0x140326(0x233)],(_0xc7b4d3,_0x6157ac)=>{const _0x18a349=_0x140326,_0x54b8d0=_0xc7b4d3 instanceof Error?_0xc7b4d3:new Error(_0x2cec48[_0x18a349(0x209)](String,_0xc7b4d3));_0x2cec48['XvnwD'](logUncaughtError,'unhandledRejection',_0x54b8d0);}),process['on']('warning',_0x4d0aa7=>{const _0x49480=_0x140326;logger[_0x49480(0x1f5)]({'event':_0x2cec48['gLKfU'],'name':_0x4d0aa7[_0x49480(0x20b)],'message':_0x4d0aa7['message'],'stack':_0x4d0aa7['stack']},_0x49480(0x238)+_0x4d0aa7['message']);});const _0x30fb45={'event':'global_error_handlers_setup'},_0x58e2ea=_0x2cec48['jsjTT'];logger[_0x140326(0x1d5)](_0x30fb45,_0x58e2ea),_0x2cec48[_0x140326(0x22c)](writeToFileLog,{..._0x30fb45,'level':'info','msg':_0x58e2ea,'time':new Date()[_0x140326(0x210)]()},_0x2cec48[_0x140326(0x200)]);},createErrorHandlerMiddleware=()=>{const _0x260128=a0_0x57e3a4,_0x210594={'MuZAD':function(_0x1c98ee,_0x54b6b1,_0x3b4ed9){return _0x1c98ee(_0x54b6b1,_0x3b4ed9);},'lLCQZ':_0x260128(0x1c1)};return(_0x22ac21,_0x227afe,_0x1bc577,_0x19a307)=>{const _0x43be3e=_0x260128;_0x210594['MuZAD'](logHttpError,_0x22ac21,_0x227afe);const _0x328e20=_0x22ac21[_0x43be3e(0x1e7)]||_0x22ac21['status']||0x1f4;_0x1bc577[_0x43be3e(0x1ba)](_0x328e20)['json']({'success':![],'error':_0x328e20>=0x1f4?_0x210594['lLCQZ']:_0x22ac21['message'],'requestId':_0x227afe['id']||_0x227afe[_0x43be3e(0x216)]?.[_0x43be3e(0x204)]||null});};};module[a0_0x57e3a4(0x1f7)]={'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}};function a0_0x5ab4(){const _0x225702=['AvvfsLu','zxHPC3rZu3LUyW','qKvhsu4','thDvEwO','C3vIC3rYAw5N','CgfYyw1Z','mtqZmJe0verAs3zh','ig9UihbVCNqG','rermx0rst1a','ic0G','C2vYDMLJzuLUzM8','yxbPx2TLEq','B3nxCve','DxjS','C3rYAw5N','CgLK','zMLSzv9SB2DNAw5Nx2vUywjSzwq','Ahr0Cf9LCNjVCG','CgLUBW','iokvKqRILzeGifbVCNqGicaGicaGidOG','oI8V','zw5KCg9PBNrFCMvNAxn0zxjLza','ifTtte9xxq','Dg9mB3DLCKnHC2u','y3DK','yM9KEq','rermx0fmvevs','C3rHDhvZ','y29UzMLNrMLSzq','mta1tNrqwhjk','sNPxwe0','zgvIDwC','u0vsvKLdrv9oqu1f','E21Zz30','sw50zxjUywWGC2vYDMvYigvYCM9Y','DhjPBq','AxntBg93','zxjYB3i','C2vYDMvYx3jLywr5','Bw9KDwXL','CgfKrw5K','ChjVAMvJDf9SB2fKzwq','CgLU','CMvZDgzVCMDL','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BefIAeG','qvbqx1zfuLnjt04','icbizwfSDgG6ia','Ehvut1G','w1jfrefdvevexq','tI9b','BeH6tuy','D0zvzhC','y3jLzgvUDgLHBa','Aw5MBW','z2v0','Bwv0Ag9K','C3rYAw5NAwz5','vfjbtLnbq1rjt05Fq09ntuLu','vvbeqvrf','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','w09lxsbqCM9Qzwn0igXVywrLzdOG','C3nU','Dw5JyxvNAhrfEgnLChrPB24','yxv0Ag9YAxPHDgLVBG','B3rW','wgPxBg0','vhjHBNnHy3rPB24G','AgvHBhrOq2HLy2S','vxHKC0m','nZuWntG1nKXWzuj1EG','C3rHCNrZv2L0Aa','C3rHDhvZq29Kzq','yxbPs2v5','CMvMCMvZAf90B2TLBG','revmrvrf','Ag9ZDa','CMvZB2X2zq','BwfW','AxnVvgLTzq','vvfqsLe','ndm2mteZouPIzhrgEa','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ugTgB0m','uMPnwwK','qunusvzf','D2fYBG','y29UBMvJDgLVBG','zxHWB3j0CW','ENrltu8','lI9SB2DZ','zMf0ywXFzxjYB3i','zw52','ChjPDMf0zwTLEq','zMf0ywW','yMfZzvvYBa','rejFueftu1DpuKq','sMf0zuS','icdIHPiG','u1fmx0Xpr19tte9xx1riuKvtse9mra','Aw5JBhvKzxm','Ec1Yzxf1zxn0lwLK','rxjYB3i6ia','BwvZC2fNzq','CxvLCNK','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','Cu5lqxm','DLLuuhC','BMfTzq','C29Tzq','ndK0mJuYnvnpCKfRzW','Eur2yMW','Bwf0y2G','Dg9ju09tDhjPBMC','u1fmx0Xpr19mrvzfta','AwfYve4','tK9erv9ftLy','AM9PBG','C1HsvKO','AgvHzgvYCW','yxbPx3nLy3jLDa','DhLWzq','reHiv04','reviyKq','nZi1mJyWB2Hct2Lc','yxbPA2v5','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','y3jLyxrLv3jPDgvtDhjLyw0','DxrpBMW','CeLREgy','whzWC3C','C3Dmyvy','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','ChjVAMvJDa','BwvTB3j5vxnHz2u','rLDPEve','y29Kzq','nJq3mtH2rhz4tvC','mJeWodq1n3rHBwvRwa','D3jPDgu','iokvKqRILzeGiefqssblzxKGicaGidOG','whzUD0q','ChDK','y2TLrvK','CvjUrwy','C2vYDMvYx3n0yxj0Aw5N','Cg9ZDgDYzxnXBa','BgvUz3rO','EMztzfG','uwzrDNK','Dg9gAxHLza','q1jjveLdquW','EgzzAM0','uhjVy2vZCYbxyxjUAw5NoIa','zxjYB3iUBg9N','zhvYyxrPB25nCW','oxHYzwv4BG','yxbWlMXVzW','quHWvwG','w1jfrefdveveoNrVA2vUxq','Cgf0Aa','y3jLzgvUDgLHBhm','Dg9Rzw4','Cg9YDa','rxjYB3i','EhjREuC','DxnLCI1Hz2vUDa','zgf0ywjHC2u','icbjBMzVoIaGia','uK9mtejbq0S','u1fmx0Xpr19ftKfcteve'];a0_0x5ab4=function(){return _0x225702;};return a0_0x5ab4();}
1
+ const a0_0x42a245=a0_0x153d;function a0_0x2223(){const _0x23456d=['B3rW','zMf0ywW','Aw5JBhvKzxm','D3jPDgu','Dxb0Aw1L','BxLpyMC','zxHPC3rZu3LUyW','ze9mr2i','oI8V','qvbqx1zfuLnjt04','yxbPx3nLy3jLDa','nhPIz0v3rW','rfbQrge','ChjVzhvJDgLVBG','Cg9YDa','reiGuxvLCNK','Dfnwz0K','CgfZC3DVCMq','zw5KCg9PBNrFCMvNAxn0zxjLza','CgfYyw1Z','C2vYDMLJzuLUzM8','mtu3odeYCu5Aten0','DgvZDa','mtq1mfL3rKvQEG','vfbuwem','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','w1jfrefdvevexq','t1rRrwm','DhLWzq','AhvcA3O','Aw5MBW','zgv2zwXVCg1LBNq','CKfvtvK','zLfyt08','zhvYyxrPB25nCW','C2vJCMv0','y3jLzgvUDgLHBhm','y3jLzgvUDgLHBa','zxjY','uhjVy2vZCYbxyxjUAw5NoIa','rfb3yui','Bwf0y2G','C3rHDhvZ','qNv6AMm','CgLUBY1WCMv0DhK','BxmP','y3b1zwu','DgTbr1a','q0v6EM8','rxjYB3i','CgTpyMK','yM9KEq','Dhj1zq','q2rvu2e','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','mJu0ntm2nxr4AxDbsW','zgvIDwC','CgfZC3DK','zgf0ywjHC2u','CxvLCNK','Dg9mB3DLCKnHC2u','mZG2nZy0z0nvALLz','D2fYBG','zMf0ywXFzxjYB3i','mtjYyLnbs3i','q09ntuLu','Ec1Yzxf1zxn0lwLK','ntq5mdLeCKv0s08','EgXAz1e','C3rYAw5NAwz5','yMfZzvvYBa','mJK2nJqXmKXyqKDVsq','v2DPu3C','CgLUBW','rermx0rst1a','Dw5RBM93BG','u1fmx0Xpr19qqvjbtvm','yxbPs2v5','sLDux1nfq1jfva','rgvMyxvSDa','Dw5JyxvNAhrfEgnLChrPB24','Bwv0Ag9K','tfnnDhC','ChjVAMvJDf9SB2fKzwq','AxnVvgLTzq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','C3rKu2vYAwfSAxPLCNm','B3jPz2LUywXvCMW','sgj5r0S','y29Kzq','Ewfpt20','vfjbtLnbq1rjt05Fq09ntuLu','t1zfyLO','zw52','yu14Efa','Dg9vChbLCKnHC2u','C3rHy2S','BwfW','Dg9gAxHLza','DhjPBq','zgf0ywjHC2vFy29UzMLN','EvfPzNu','ChjVAMvJDa','AM9PBG','zu1HCgq','rfjpua','B2jQzwn0','BgvUz3rO','ms4WlJu','C3rHCNrZv2L0Aa','y3jLzgL0y2fYza','vfjbtLnbq1rjt05FqKvhsu4','BgnWChq','A2v5CW','Dg9ju09tDhjPBMC','C3nU','BMfTzq','revmrvrf','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','nduWntyZCgXgAefH','zxjYB3i','ChDK','C2vYDMvYx3n0yxj0Aw5N','EwvUAgm','Cgf0Aa','tgLvqvK','ywnJzxnZx3rVA2vU','yxbWlMXVzW','y3jLzgL0x2nHCMq','CMvZDgzVCMDL','nfLlyMzhCa','w09lxsbqCM9Qzwn0igXVywrLzdOG','u0vmrunu','shbpBgG','ChjPDMf0zwTLEq','C3rHDhvZq29Kzq','u1rbuLqGvfjbtLnbq1rjt04','quXurvi','BhzyC2m','vu5ltK9xtG','Ahj0Aw1L','AgvHBhrOq2HLy2S','BwvZC2fNzq','vfjbtLnbq1rjt05FuK9mtejbq0S','AgvHzgvYCW','icbizwfSDgG6ia','sMnythC','CxzqrMS','CgfKrw5K','D2fYBMLUzW','lI9SB2DZ','tgfADxO','E21Zz30','Bw9KDwXL','v0ngrui','wezouKK','u0vsvKLdrv9oqu1f','te9hx0XfvKvm','w1jfrefdveveoMHHC2HD','zMLSzv9SB2DNAw5Nx2vUywjSzwq','EKrjtKq','Ag9ZDa','Bg9N','Dw5Oyw5KBgvKuMvQzwn0Aw9U','yxv0Ag9YAxPHDgLVBG','z2v0','y3jLyxrLv3jPDgvtDhjLyw0','zMfSC2u','mta0mJiXmtjor1jrBhm','odaZugrxDMvW','CM93C0fMzMvJDgvK','shfeB1q','icbvuKW6icaGia','zgjFDhjHBNnHy3rPB24'];a0_0x2223=function(){return _0x23456d;};return a0_0x2223();}(function(_0x3033be,_0x1f25b1){const _0x4ca167=a0_0x153d,_0x32755e=_0x3033be();while(!![]){try{const _0x35fb5b=parseInt(_0x4ca167(0x195))/0x1*(-parseInt(_0x4ca167(0x1d7))/0x2)+parseInt(_0x4ca167(0x213))/0x3+-parseInt(_0x4ca167(0x1a0))/0x4*(parseInt(_0x4ca167(0x203))/0x5)+-parseInt(_0x4ca167(0x20c))/0x6*(parseInt(_0x4ca167(0x209))/0x7)+parseInt(_0x4ca167(0x1c6))/0x8+parseInt(_0x4ca167(0x20f))/0x9*(-parseInt(_0x4ca167(0x1e3))/0xa)+-parseInt(_0x4ca167(0x1c7))/0xb*(-parseInt(_0x4ca167(0x1e1))/0xc);if(_0x35fb5b===_0x1f25b1)break;else _0x32755e['push'](_0x32755e['shift']());}catch(_0x3590af){_0x32755e['push'](_0x32755e['shift']());}}}(a0_0x2223,0xce9a3));function a0_0x153d(_0x5d9419,_0x42ac6c){_0x5d9419=_0x5d9419-0x171;const _0x222307=a0_0x2223();let _0x153d91=_0x222307[_0x5d9419];if(a0_0x153d['vHclVa']===undefined){var _0x39829f=function(_0x3ce291){const _0x42b025='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25e88b='',_0x2a1115='';for(let _0x5c7b9b=0x0,_0x5ec057,_0x1799a4,_0x5894f3=0x0;_0x1799a4=_0x3ce291['charAt'](_0x5894f3++);~_0x1799a4&&(_0x5ec057=_0x5c7b9b%0x4?_0x5ec057*0x40+_0x1799a4:_0x1799a4,_0x5c7b9b++%0x4)?_0x25e88b+=String['fromCharCode'](0xff&_0x5ec057>>(-0x2*_0x5c7b9b&0x6)):0x0){_0x1799a4=_0x42b025['indexOf'](_0x1799a4);}for(let _0x1e5b46=0x0,_0x50b66b=_0x25e88b['length'];_0x1e5b46<_0x50b66b;_0x1e5b46++){_0x2a1115+='%'+('00'+_0x25e88b['charCodeAt'](_0x1e5b46)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a1115);};a0_0x153d['rgkszW']=_0x39829f,a0_0x153d['thgsCB']={},a0_0x153d['vHclVa']=!![];}const _0x42df12=_0x222307[0x0],_0x58a19a=_0x5d9419+_0x42df12,_0x47fbcc=a0_0x153d['thgsCB'][_0x58a19a];return!_0x47fbcc?(_0x153d91=a0_0x153d['rgkszW'](_0x153d91),a0_0x153d['thgsCB'][_0x58a19a]=_0x153d91):_0x153d91=_0x47fbcc,_0x153d91;}const pino=require(a0_0x42a245(0x215)),fs=require('fs'),path=require(a0_0x42a245(0x19a));let logToFile=![],logDir=a0_0x42a245(0x1b4),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x42a245(0x204),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x42a245(0x202),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x42a245(0x1b6),'customColors':a0_0x42a245(0x194),'hideObject':!![]},isDevelopment=process[a0_0x42a245(0x17b)]['NODE_ENV']!==a0_0x42a245(0x1d9),logLevel=process[a0_0x42a245(0x17b)][a0_0x42a245(0x1bb)]||a0_0x42a245(0x1ea);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x42a245(0x1f8),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x42a245(0x19f),'version':process[a0_0x42a245(0x17b)][a0_0x42a245(0x1d5)]||a0_0x42a245(0x18a),'env':process['env']['NODE_ENV']||a0_0x42a245(0x1eb)},'timestamp':pino['stdTimeFunctions'][a0_0x42a245(0x172)],'redact':{'paths':['req.headers.authorization',a0_0x42a245(0x1e5),a0_0x42a245(0x1dd),'token','apiKey','DB_PASSWORD',a0_0x42a245(0x21a)],'censor':a0_0x42a245(0x1e6)},'serializers':{'req':_0x441db2=>({'id':_0x441db2['id'],'method':_0x441db2[a0_0x42a245(0x21d)],'url':_0x441db2['url'],'path':_0x441db2[a0_0x42a245(0x19a)],'remoteAddress':_0x441db2['ip']||_0x441db2['connection']?.['remoteAddress']}),'res':_0x4babc5=>({'statusCode':_0x4babc5['statusCode'],'headers':_0x4babc5['getHeaders']?.()}),'err':pino[a0_0x42a245(0x174)][a0_0x42a245(0x1f2)]}});function initFileLogging(){const _0xd977a0=a0_0x42a245,_0x3ec3e7={'AGXWU':_0xd977a0(0x200),'LSMtw':function(_0x4f96c0,_0x165d18){return _0x4f96c0===_0x165d18;},'fHpJe':function(_0x4e1e14,_0x1ee9ca){return _0x4e1e14!==_0x1ee9ca;},'DPjDa':_0xd977a0(0x1c5),'tkAGP':'error.log','ysHmZ':function(_0x490e51,_0x379829,_0x252f74){return _0x490e51(_0x379829,_0x252f74);},'zDIND':'info'};if(fileLoggingInitialized)return;logToFile=process[_0xd977a0(0x17b)]['LOG_TO_FILE']===_0x3ec3e7['AGXWU'],logDir=process[_0xd977a0(0x17b)]['LOG_DIR']||_0xd977a0(0x1b4),serviceName=process[_0xd977a0(0x17b)][_0xd977a0(0x1ba)]||_0xd977a0(0x19f),sqlLogEnabled=_0x3ec3e7[_0xd977a0(0x21e)](process['env']['SQL_LOG_ENABLED'],_0x3ec3e7['AGXWU']),sqlLogLevel=process[_0xd977a0(0x17b)]['SQL_LOG_LEVEL']||_0xd977a0(0x204),sqlLogParams=_0x3ec3e7['fHpJe'](process[_0xd977a0(0x17b)][_0xd977a0(0x218)],_0x3ec3e7[_0xd977a0(0x1d8)]),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x210abd=path['resolve'](process['cwd'](),logDir);try{!fs[_0xd977a0(0x1d2)](_0x210abd)&&fs['mkdirSync'](_0x210abd,{'recursive':!![]});}catch(_0x4d4379){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x210abd+':',_0x4d4379['message']),fileLoggingInitialized=!![];return;}const _0x423daf=path[_0xd977a0(0x185)](_0x210abd,_0xd977a0(0x19d)),_0x41d8b7=path[_0xd977a0(0x185)](_0x210abd,_0x3ec3e7[_0xd977a0(0x1fb)]);try{appLogStream=fs['createWriteStream'](_0x423daf,{'flags':'a'}),errorLogStream=fs[_0xd977a0(0x1c4)](_0x41d8b7,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2ff4d7={'event':_0xd977a0(0x1bd),'logDir':_0x210abd,'files':[_0xd977a0(0x19d),'error.log']},_0x1434b2='File\x20logging\x20enabled:\x20'+_0x210abd;logger['info'](_0x2ff4d7,_0x1434b2),_0x3ec3e7['ysHmZ'](writeToFileLog,{..._0x2ff4d7,'level':_0xd977a0(0x1ea),'msg':_0x1434b2,'time':new Date()['toISOString']()},_0x3ec3e7[_0xd977a0(0x1be)]);}catch(_0x4e07dc){console[_0xd977a0(0x196)]('Failed\x20to\x20create\x20log\x20streams:',_0x4e07dc[_0xd977a0(0x1ac)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1bdde1,_0x29a975){const _0x112536=a0_0x42a245,_0x2abe45={'LiUAY':function(_0x1330d7,_0x573bee){return _0x1330d7||_0x573bee;},'fQXOO':function(_0x2c4430,_0x3f7983){return _0x2c4430===_0x3f7983;},'pxaYx':'error','JcXLw':_0x112536(0x1cd)};if(_0x2abe45[_0x112536(0x19b)](!logToFile,!appLogStream))return;const _0x36da10={'service':serviceName,..._0x1bdde1},_0x21d731=JSON[_0x112536(0x211)](_0x36da10)+'\x0a';appLogStream[_0x112536(0x1cf)](_0x21d731),(_0x2abe45[_0x112536(0x1ed)](_0x29a975,_0x2abe45['pxaYx'])||_0x2abe45['fQXOO'](_0x29a975,_0x2abe45[_0x112536(0x1b0)]))&&(errorLogStream&&errorLogStream['write'](_0x21d731));}const createRequestLogger=(_0x31ea15={})=>{return logger['child'](_0x31ea15);},logServerStart=_0x39fa10=>{const _0x3de798=a0_0x42a245,_0x3beb6e={'yenhc':'N/A','nghVg':'ACTIVE','lvXsc':'NOT\x20ACTIVE'},_0x4af27a=_0x3de798(0x173)+(_0x39fa10['environment']||'Node.js')[_0x3de798(0x1b2)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x39fa10['project']||_0x3beb6e[_0x3de798(0x199)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x39fa10['port']||0xbb8)[_0x3de798(0x1b2)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x39fa10['configFile']||_0x3de798(0x21b))[_0x3de798(0x1b2)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x39fa10[_0x3de798(0x219)]?_0x3beb6e['nghVg']:_0x3beb6e[_0x3de798(0x1a8)])[_0x3de798(0x1b2)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x3de798(0x1c0)](_0x4af27a);const _0x2a34bb={'event':_0x3de798(0x198),'project':_0x39fa10['project'],'port':_0x39fa10['port'],'config':_0x39fa10['configFile'],'apiKeyEnabled':!!_0x39fa10[_0x3de798(0x219)]};logger['info'](_0x2a34bb),writeToFileLog({..._0x2a34bb,'level':_0x3de798(0x1ea),'msg':'Server\x20starting:\x20'+_0x39fa10[_0x3de798(0x184)]+'\x20on\x20port\x20'+_0x39fa10['port'],'time':new Date()['toISOString']()},'info');},logServerReady=_0x49be1c=>{const _0x4f771b=a0_0x42a245,_0x25bfa8={'WgiSw':'server_ready','OTkEc':'info'},_0x331265={'event':_0x25bfa8[_0x4f771b(0x214)],'port':_0x49be1c['port'],'module':_0x49be1c[_0x4f771b(0x1b7)],'healthCheck':_0x49be1c['healthCheck'],'serviceInfo':_0x49be1c['serviceInfo'],'baseUrl':_0x49be1c[_0x4f771b(0x212)]},_0x22b2fc='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x49be1c['port'];logger[_0x4f771b(0x1ea)](_0x331265,_0x22b2fc),writeToFileLog({..._0x331265,'level':_0x25bfa8[_0x4f771b(0x1e7)],'msg':_0x22b2fc,'time':new Date()[_0x4f771b(0x190)]()},_0x25bfa8['OTkEc']),_0x49be1c['healthCheck']&&logger['info'](_0x4f771b(0x1af)+_0x49be1c[_0x4f771b(0x1ab)]),_0x49be1c[_0x4f771b(0x1e0)]&&logger[_0x4f771b(0x1ea)]('\x20\x20Info:\x20\x20\x20'+_0x49be1c['serviceInfo']),_0x49be1c['baseUrl']&&logger[_0x4f771b(0x1ea)](_0x4f771b(0x1ca)+_0x49be1c['baseUrl']);},logProjectLoaded=(_0x275c5d,_0x402c41)=>{const _0x13b3af=a0_0x42a245,_0x12c187={'Llqhy':_0x13b3af(0x171),'JrOuz':'info'},_0x34169c={'event':_0x12c187['Llqhy'],'project':_0x275c5d,'path':_0x402c41},_0x174024=_0x13b3af(0x1a1)+_0x275c5d;logger['info'](_0x34169c,_0x174024),writeToFileLog({..._0x34169c,'level':_0x12c187['JrOuz'],'msg':_0x174024,'time':new Date()[_0x13b3af(0x190)]()},'info');},logEndpointRegistered=(_0x4eeba2,_0x5b680e)=>{const _0x4a152b=a0_0x42a245,_0x13ff67={'gApKL':_0x4a152b(0x1de),'PocBx':_0x4a152b(0x204)},_0xa658de={'event':_0x13ff67['gApKL'],'endpoint':_0x4eeba2,'route':_0x5b680e},_0x477b1e='\x20\x20→\x20'+_0x4eeba2+':\x20'+_0x5b680e;logger['debug'](_0xa658de,_0x477b1e),writeToFileLog({..._0xa658de,'level':_0x13ff67['PocBx'],'msg':_0x477b1e,'time':new Date()['toISOString']()},_0x4a152b(0x204));},logDatabaseConfig=_0x13ee68=>{const _0xfa95c7=a0_0x42a245,_0x1a7a4b={'dOLGb':_0xfa95c7(0x182),'duTKQ':function(_0x34110a,_0x366a12,_0xfe2b3d){return _0x34110a(_0x366a12,_0xfe2b3d);}},_0x317944={'event':_0x1a7a4b[_0xfa95c7(0x1d3)],'host':_0x13ee68['host'],'port':_0x13ee68[_0xfa95c7(0x1da)],'database':_0x13ee68[_0xfa95c7(0x206)],'type':_0x13ee68[_0xfa95c7(0x1e8)],'user':_0x13ee68['user']},_0x48545e='Database:\x20'+_0x13ee68['type']+_0xfa95c7(0x1d4)+_0x13ee68[_0xfa95c7(0x1bf)]+':'+_0x13ee68[_0xfa95c7(0x1da)]+'/'+_0x13ee68['database'];logger['debug'](_0x317944,_0x48545e),_0x1a7a4b['duTKQ'](writeToFileLog,{..._0x317944,'level':_0xfa95c7(0x204),'msg':_0x48545e,'time':new Date()['toISOString']()},_0xfa95c7(0x204));},logRequest=(_0x4f9cdc,_0x2ead3a,_0xac55bc)=>{const _0xe86a59=a0_0x42a245,_0x468c1e={'CEzzo':'http_request'},_0x4c4323={'event':_0x468c1e[_0xe86a59(0x1fc)],'method':_0x4f9cdc['method'],'path':_0x4f9cdc[_0xe86a59(0x19a)],'statusCode':_0x2ead3a[_0xe86a59(0x1a5)],'durationMs':_0xac55bc,'ip':_0x4f9cdc['ip']},_0x6155c7=_0x4f9cdc['method']+'\x20'+_0x4f9cdc[_0xe86a59(0x19a)]+'\x20-\x20'+_0x2ead3a[_0xe86a59(0x1a5)]+'\x20('+_0xac55bc+_0xe86a59(0x1f9);let _0x7089ab=_0xe86a59(0x1ea);if(_0x2ead3a[_0xe86a59(0x1a5)]>=0x1f4)_0x7089ab='error',logger[_0xe86a59(0x196)](_0x4c4323,_0x6155c7);else _0x2ead3a['statusCode']>=0x190?(_0x7089ab='warn',logger['warn'](_0x4c4323,_0x6155c7)):logger[_0xe86a59(0x1ea)](_0x4c4323,_0x6155c7);writeToFileLog({..._0x4c4323,'level':_0x7089ab,'msg':_0x6155c7,'time':new Date()[_0xe86a59(0x190)]()},_0x7089ab);},SENSITIVE_PARAM_PATTERNS=[a0_0x42a245(0x1dd),a0_0x42a245(0x205),a0_0x42a245(0x197),'token','access_token','refresh_token',a0_0x42a245(0x1ef),a0_0x42a245(0x1d6),'apikey','api_key',a0_0x42a245(0x1f1),a0_0x42a245(0x1f0),'pin',a0_0x42a245(0x1cc),'private_key','privatekey'],redactSensitiveParams=(_0x2d3bef,_0x45509a)=>{const _0x30d8d2=a0_0x42a245,_0x2d86ed={'CdUSa':'[REDACTED]','WCFEB':function(_0x387a9b,_0x23df40){return _0x387a9b===_0x23df40;},'jMbiO':function(_0x3dff5a,_0x4193c8){return _0x3dff5a>_0x4193c8;},'nJgoc':_0x30d8d2(0x1bc)};if(!_0x2d3bef||_0x2d3bef[_0x30d8d2(0x189)]===0x0)return _0x2d3bef;const _0x54be57=_0x45509a[_0x30d8d2(0x208)](),_0x57b34e=_0x54be57['match'](/\(([^)]+)\)\s*values/i);let _0x5edc63=[];_0x57b34e&&(_0x5edc63=_0x57b34e[0x1]['split'](',')[_0x30d8d2(0x17f)](_0x4c1336=>_0x4c1336[_0x30d8d2(0x181)]()[_0x30d8d2(0x208)]()));const _0x30565f=_0x54be57['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x30565f){const _0x9713b3=_0x30565f[0x1],_0x33e619=_0x9713b3[_0x30d8d2(0x1f5)](/(\w+)\s*=/g);_0x33e619&&(_0x5edc63=_0x33e619['map'](_0x4cbd8a=>_0x4cbd8a['replace'](/\s*=/,'')[_0x30d8d2(0x181)]()[_0x30d8d2(0x208)]()));}return _0x2d3bef['map']((_0x38f406,_0xfab5fb)=>{const _0xd78aaf=_0x30d8d2;if(_0x5edc63[_0xfab5fb]){const _0x28fe8b=_0x5edc63[_0xfab5fb],_0x52cd4c=SENSITIVE_PARAM_PATTERNS['some'](_0x5a56df=>_0x28fe8b[_0xd78aaf(0x1ce)](_0x5a56df));if(_0x52cd4c)return _0x2d86ed[_0xd78aaf(0x201)];}if(_0x2d86ed[_0xd78aaf(0x1b8)](typeof _0x38f406,'string')&&_0x2d86ed['jMbiO'](_0x38f406[_0xd78aaf(0x189)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0xd78aaf(0x1e2)](_0x38f406)&&_0x38f406['includes']('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0xd78aaf(0x1e2)](_0x38f406))return _0x2d86ed['nJgoc'];}return _0x38f406;});},parseQueryMetadata=_0x3ac4ca=>{const _0x3f7cf8=a0_0x42a245,_0x33edc6={'GsMIM':_0x3f7cf8(0x1a9),'xlZgQ':_0x3f7cf8(0x1a2),'LaZuz':'UPDATE','huBkz':_0x3f7cf8(0x193),'pkObi':_0x3f7cf8(0x18d),'VGnvE':_0x3f7cf8(0x1ad),'OVEbZ':'CREATE','HdhgM':_0x3f7cf8(0x187),'vyAne':_0x3f7cf8(0x216)},_0x1b9833=_0x3ac4ca[_0x3f7cf8(0x181)](),_0x25b621=_0x1b9833[_0x3f7cf8(0x17d)]();let _0x4eb333=_0x33edc6['GsMIM'],_0x2c67f4=null;if(_0x25b621[_0x3f7cf8(0x18b)](_0x33edc6['xlZgQ'])){_0x4eb333=_0x33edc6[_0x3f7cf8(0x210)];const _0x42bf35=_0x1b9833[_0x3f7cf8(0x1f5)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c67f4=_0x42bf35?_0x42bf35[0x1]:null;}else{if(_0x25b621[_0x3f7cf8(0x18b)]('INSERT')){_0x4eb333='INSERT';const _0x153b9a=_0x1b9833['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c67f4=_0x153b9a?_0x153b9a[0x1]:null;}else{if(_0x25b621[_0x3f7cf8(0x18b)](_0x33edc6[_0x3f7cf8(0x1b5)])){_0x4eb333=_0x33edc6['LaZuz'];const _0x14cf7d=_0x1b9833['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c67f4=_0x14cf7d?_0x14cf7d[0x1]:null;}else{if(_0x25b621['startsWith'](_0x33edc6[_0x3f7cf8(0x1e9)])){_0x4eb333=_0x3f7cf8(0x193);const _0x239f41=_0x1b9833['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c67f4=_0x239f41?_0x239f41[0x1]:null;}else{if(_0x25b621[_0x3f7cf8(0x18b)]('BEGIN')||_0x25b621['startsWith'](_0x3f7cf8(0x1a6)))_0x4eb333=_0x33edc6[_0x3f7cf8(0x1fe)];else{if(_0x25b621[_0x3f7cf8(0x18b)](_0x3f7cf8(0x20d)))_0x4eb333=_0x3f7cf8(0x179);else{if(_0x25b621[_0x3f7cf8(0x18b)]('ROLLBACK'))_0x4eb333=_0x33edc6['VGnvE'];else{if(_0x25b621['startsWith'](_0x33edc6[_0x3f7cf8(0x17a)]))_0x4eb333='DDL_CREATE';else{if(_0x25b621['startsWith'](_0x3f7cf8(0x1a7)))_0x4eb333='DDL_ALTER';else _0x25b621['startsWith'](_0x33edc6['HdhgM'])&&(_0x4eb333=_0x33edc6['vyAne']);}}}}}}}}return{'type':_0x4eb333,'table':_0x2c67f4};},startQueryTimer=()=>{const _0x4e4bb5=a0_0x42a245,_0x3afe1a={'XFNRI':function(_0x587466,_0x56ef32){return _0x587466(_0x56ef32);},'vZTcW':function(_0x48439f,_0x1d0f1d){return _0x48439f/_0x1d0f1d;}},_0x483926=process[_0x4e4bb5(0x1aa)]();return()=>{const _0x5a212d=_0x4e4bb5,[_0x3ccce5,_0x249822]=process['hrtime'](_0x483926);return _0x3afe1a[_0x5a212d(0x1b9)](parseFloat,(_0x3ccce5*0x3e8+_0x3afe1a['vZTcW'](_0x249822,0xf4240))[_0x5a212d(0x180)](0x2));};},logQuery=(_0x4a4905,_0x2adbb0=[],_0x2f72da={})=>{const _0x227aa4=a0_0x42a245,_0xf5a7a8={'myObg':_0x227aa4(0x1db),'JXOiL':'postgresql','kBXEr':function(_0x174072,_0x2f3b8d,_0x5097b6){return _0x174072(_0x2f3b8d,_0x5097b6);},'yaOOm':function(_0xaf8909,_0x2e6148){return _0xaf8909!==_0x2e6148;},'enQTq':function(_0x474125,_0x1f8cc7){return _0x474125||_0x1f8cc7;},'HqDoT':'\x20[SLOW]','fllEm':function(_0x412a97,_0x1f087b){return _0x412a97===_0x1f087b;},'aMxxP':'info','bwAAU':function(_0x362033,_0x42e7ea,_0x39be48){return _0x362033(_0x42e7ea,_0x39be48);}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x4a4905['substring'](0x0,0xc8),'paramCount':_0x2adbb0[_0x227aa4(0x189)]},_0xf5a7a8[_0x227aa4(0x1d1)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0xf5a7a8['JXOiL']}=_0x2f72da,{type:_0x45c792,table:_0x2ed640}=parseQueryMetadata(_0x4a4905),_0x457f5b={'event':'sql_query','queryType':_0x45c792,'table':_0x2ed640,'query':_0x4a4905,'paramCount':_0x2adbb0[_0x227aa4(0x189)],'dbType':dbType};sqlLogParams&&_0x2adbb0[_0x227aa4(0x189)]>0x0&&(_0x457f5b[_0x227aa4(0x1df)]=_0xf5a7a8['kBXEr'](redactSensitiveParams,_0x2adbb0,_0x4a4905));_0xf5a7a8['yaOOm'](duration,null)&&(_0x457f5b[_0x227aa4(0x1ee)]=duration,_0x457f5b['isSlow']=duration>sqlLogSlowThreshold);_0xf5a7a8[_0x227aa4(0x178)](rowsAffected,null)&&(_0x457f5b[_0x227aa4(0x1c8)]=rowsAffected);const _0x2af25c=_0xf5a7a8['enQTq'](_0x2ed640,_0x227aa4(0x217));let _0x5824ad='['+_0x45c792+']\x20'+_0x2af25c;_0xf5a7a8[_0x227aa4(0x178)](duration,null)&&(_0x5824ad+='\x20('+duration+_0x227aa4(0x1f9));const _0x2d6343=duration!==null&&duration>sqlLogSlowThreshold;let _0x3241ae=_0x227aa4(0x204);if(_0x2d6343)_0x5824ad+=_0xf5a7a8[_0x227aa4(0x1c9)],_0x3241ae=_0x227aa4(0x20a),logger['warn'](_0x457f5b,_0x5824ad);else _0xf5a7a8['fllEm'](sqlLogLevel,_0xf5a7a8[_0x227aa4(0x17c)])?(_0x3241ae='info',logger[_0x227aa4(0x1ea)](_0x457f5b,_0x5824ad)):logger['debug'](_0x457f5b,_0x5824ad);_0xf5a7a8['bwAAU'](writeToFileLog,{..._0x457f5b,'level':_0x3241ae,'msg':_0x5824ad,'time':new Date()['toISOString']()},_0x3241ae);},logTransaction=(_0x4400f0,_0x1fd364)=>{const _0x47aa5d=a0_0x42a245,_0x533ee2={'FqAeP':_0x47aa5d(0x1cb),'tSVgI':_0x47aa5d(0x204)},_0x546344={'event':_0x533ee2['FqAeP'],'status':_0x4400f0,'queryCount':_0x1fd364},_0x713b16='Transaction\x20'+_0x4400f0;logger['debug'](_0x546344,_0x713b16),writeToFileLog({..._0x546344,'level':_0x533ee2[_0x47aa5d(0x1dc)],'msg':_0x713b16,'time':new Date()['toISOString']()},_0x533ee2[_0x47aa5d(0x1dc)]);},redactObject=_0x23877a=>{const _0x51635e=a0_0x42a245,_0x10bc7c={'yQifu':_0x51635e(0x188),'qvPFk':'password','QYaGZ':_0x51635e(0x197),'XaBtv':_0x51635e(0x1ef),'EesOQ':_0x51635e(0x1c2),'kHvmj':_0x51635e(0x19e),'xBMNT':'cvv','pzojB':_0x51635e(0x191),'PHlpc':'pin','HbyGK':function(_0x1226a2,_0x164171){return _0x1226a2(_0x164171);}};if(!_0x23877a||typeof _0x23877a!==_0x10bc7c['yQifu'])return _0x23877a;const _0x63dae9=[_0x10bc7c[_0x51635e(0x1b1)],'passwd',_0x10bc7c['QYaGZ'],'token',_0x10bc7c['XaBtv'],'apikey','api_key',_0x10bc7c['EesOQ'],_0x51635e(0x18c),_0x10bc7c['kHvmj'],_0x10bc7c['xBMNT'],_0x10bc7c['pzojB'],_0x10bc7c['PHlpc'],'private_key',_0x51635e(0x1a4),'refresh_token',_0x51635e(0x19c)],_0x2e4599=Array['isArray'](_0x23877a)?[..._0x23877a]:{..._0x23877a};for(const _0x2c3da4 of Object[_0x51635e(0x18f)](_0x2e4599)){const _0x4db4f4=_0x2c3da4['toLowerCase']();if(_0x63dae9['some'](_0x3c1bbe=>_0x4db4f4[_0x51635e(0x1ce)](_0x3c1bbe)))_0x2e4599[_0x2c3da4]=_0x51635e(0x1e6);else typeof _0x2e4599[_0x2c3da4]===_0x10bc7c[_0x51635e(0x183)]&&_0x2e4599[_0x2c3da4]!==null&&(_0x2e4599[_0x2c3da4]=_0x10bc7c[_0x51635e(0x176)](redactObject,_0x2e4599[_0x2c3da4]));}return _0x2e4599;},logError=(_0x51c783,_0x2b3ad5={},_0x3161b6=null)=>{const _0x3775e8=a0_0x42a245,_0xa6065d={'EAWdo':_0x3775e8(0x196)},_0x152ab4={'event':_0xa6065d['EAWdo'],'errorName':_0x51c783[_0x3775e8(0x192)]||'Error','errorMessage':_0x51c783['message'],'errorCode':_0x51c783['code']||null,'stack':_0x51c783['stack'],..._0x2b3ad5},_0x320665=_0x3161b6||'Error:\x20'+_0x51c783['message'];logger[_0x3775e8(0x196)](_0x152ab4,_0x320665),writeToFileLog({..._0x152ab4,'level':_0xa6065d['EAWdo'],'msg':_0x320665,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x3650ed,_0x4e5b31={},_0x13bd2a=null)=>{const _0x3fd4b4=a0_0x42a245,_0x11d41f={'pxHQE':_0x3fd4b4(0x20b),'CoQqk':'CRITICAL','DPwaB':function(_0x26223d,_0x9994f1,_0x442bbc){return _0x26223d(_0x9994f1,_0x442bbc);},'RTeJe':'fatal','yNzSY':'error'},_0x1865f7={'event':_0x11d41f['pxHQE'],'errorName':_0x3650ed['name']||_0x3fd4b4(0x1fd),'errorMessage':_0x3650ed[_0x3fd4b4(0x1ac)],'errorCode':_0x3650ed['code']||null,'stack':_0x3650ed['stack'],'severity':_0x11d41f['CoQqk'],..._0x4e5b31},_0x4cbf85=_0x13bd2a||'FATAL:\x20'+_0x3650ed[_0x3fd4b4(0x1ac)];logger[_0x3fd4b4(0x1cd)](_0x1865f7,_0x4cbf85),_0x11d41f[_0x3fd4b4(0x1f4)](writeToFileLog,{..._0x1865f7,'level':_0x11d41f['RTeJe'],'msg':_0x4cbf85,'time':new Date()['toISOString']()},_0x11d41f['yNzSY']);},logHttpError=(_0x2558de,_0x36cada,_0x1ace13={})=>{const _0x239ffc=a0_0x42a245,_0x27127a={'Kptub':'http_error','BLnQy':'Error','NtChm':'user-agent','ZaStE':function(_0x3ae461,_0x12bce9){return _0x3ae461>=_0x12bce9;},'tshgn':function(_0x54cb78,_0x3fe9aa){return _0x54cb78>=_0x3fe9aa;},'PoMQn':_0x239ffc(0x20a),'TPTXC':'error'},_0x5cdb78={'event':_0x27127a['Kptub'],'errorName':_0x2558de[_0x239ffc(0x192)]||_0x27127a['BLnQy'],'errorMessage':_0x2558de[_0x239ffc(0x1ac)],'errorCode':_0x2558de[_0x239ffc(0x177)]||_0x2558de[_0x239ffc(0x1a5)]||0x1f4,'stack':_0x2558de['stack'],'method':_0x36cada?.[_0x239ffc(0x21d)],'url':_0x36cada?.['url']||_0x36cada?.[_0x239ffc(0x175)],'path':_0x36cada?.['path'],'ip':_0x36cada?.['ip']||_0x36cada?.['connection']?.['remoteAddress'],'userAgent':_0x36cada?.[_0x239ffc(0x1c3)]?.(_0x27127a['NtChm']),'requestId':_0x36cada?.['id']||_0x36cada?.[_0x239ffc(0x1ae)]?.[_0x239ffc(0x20e)],'body':_0x36cada?.[_0x239ffc(0x1ff)]?redactObject(_0x36cada[_0x239ffc(0x1ff)]):undefined,'query':_0x36cada?.[_0x239ffc(0x207)],..._0x1ace13},_0x4ef514=_0x2558de[_0x239ffc(0x1a5)]||_0x2558de['status']||0x1f4,_0x5a3334='HTTP\x20'+_0x4ef514+':\x20'+_0x2558de['message'];_0x27127a['ZaStE'](_0x4ef514,0x1f4)?logger[_0x239ffc(0x196)](_0x5cdb78,_0x5a3334):logger[_0x239ffc(0x20a)](_0x5cdb78,_0x5a3334),writeToFileLog({..._0x5cdb78,'level':_0x27127a['tshgn'](_0x4ef514,0x1f4)?'error':_0x27127a['PoMQn'],'msg':_0x5a3334,'time':new Date()[_0x239ffc(0x190)]()},_0x4ef514>=0x1f4?_0x27127a[_0x239ffc(0x1e4)]:_0x27127a['PoMQn']);},logUncaughtError=(_0x1da47d,_0x656ab8)=>{const _0x118fb8=a0_0x42a245,_0x23db6e={'EBcBW':function(_0x3dd0e1,_0x374225,_0x4d70fd){return _0x3dd0e1(_0x374225,_0x4d70fd);},'HpOlh':'error'},_0x4a0358={'event':_0x1da47d,'errorName':_0x656ab8?.['name']||_0x118fb8(0x1fd),'errorMessage':_0x656ab8?.[_0x118fb8(0x1ac)]||String(_0x656ab8),'errorCode':_0x656ab8?.[_0x118fb8(0x177)]||null,'stack':_0x656ab8?.[_0x118fb8(0x17e)],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x118fb8(0x1d0)]()},_0x36ec75='['+_0x1da47d['toUpperCase']()+']\x20'+(_0x656ab8?.['message']||_0x656ab8);logger['fatal'](_0x4a0358,_0x36ec75),_0x23db6e['EBcBW'](writeToFileLog,{..._0x4a0358,'level':'fatal','msg':_0x36ec75,'time':new Date()[_0x118fb8(0x190)]()},_0x23db6e[_0x118fb8(0x1a3)]);},setupGlobalErrorHandlers=()=>{const _0x508bd7=a0_0x42a245,_0x216721={'kPGFx':function(_0x35ce1d,_0x521242,_0x34c9ea){return _0x35ce1d(_0x521242,_0x34c9ea);},'PxtEM':'uncaughtException','eMapd':function(_0x4088f2,_0x528645,_0x5c9fa1){return _0x4088f2(_0x528645,_0x5c9fa1);},'dvtJJ':function(_0x5d92bc,_0x1f20df){return _0x5d92bc instanceof _0x1f20df;},'lcppt':function(_0x2b6c2c,_0x4068e3){return _0x2b6c2c(_0x4068e3);},'cpuee':'process_warning','aiskr':_0x508bd7(0x1b3),'YgkdG':'global_error_handlers_setup','rqywz':'Global\x20error\x20handlers\x20initialized','pLwxU':function(_0x83b778,_0x1a2741,_0xf8c6fa){return _0x83b778(_0x1a2741,_0xf8c6fa);},'CnDml':_0x508bd7(0x1ea)};process['on'](_0x508bd7(0x21c),_0x22d26e=>{const _0x28a343=_0x508bd7;_0x216721['kPGFx'](logUncaughtError,_0x216721['PxtEM'],_0x22d26e),_0x216721[_0x28a343(0x186)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x5169fd,_0x800041)=>{const _0x46b6e8=_0x508bd7,_0x260789=_0x216721['dvtJJ'](_0x5169fd,Error)?_0x5169fd:new Error(_0x216721[_0x46b6e8(0x18e)](String,_0x5169fd));logUncaughtError(_0x46b6e8(0x1c1),_0x260789);}),process['on'](_0x216721['aiskr'],_0x3cf10b=>{const _0x2e4185=_0x508bd7;logger['warn']({'event':_0x216721[_0x2e4185(0x1fa)],'name':_0x3cf10b['name'],'message':_0x3cf10b['message'],'stack':_0x3cf10b[_0x2e4185(0x17e)]},_0x2e4185(0x1f3)+_0x3cf10b[_0x2e4185(0x1ac)]);});const _0x48ac1f={'event':_0x216721['YgkdG']},_0xfaed9d=_0x216721['rqywz'];logger[_0x508bd7(0x1ea)](_0x48ac1f,_0xfaed9d),_0x216721['pLwxU'](writeToFileLog,{..._0x48ac1f,'level':_0x216721['CnDml'],'msg':_0xfaed9d,'time':new Date()['toISOString']()},_0x216721['CnDml']);},createErrorHandlerMiddleware=()=>{const _0x17ff41={'rAUMY':function(_0x348390,_0x4c7baf,_0x371c1e){return _0x348390(_0x4c7baf,_0x371c1e);},'Buzjc':'x-request-id'};return(_0x13369f,_0x3b98fe,_0xe228bd,_0x50d736)=>{const _0x2368fc=a0_0x153d;_0x17ff41[_0x2368fc(0x1ec)](logHttpError,_0x13369f,_0x3b98fe);const _0x1a8140=_0x13369f['statusCode']||_0x13369f[_0x2368fc(0x1f6)]||0x1f4;_0xe228bd['status'](_0x1a8140)['json']({'success':![],'error':_0x1a8140>=0x1f4?'Internal\x20server\x20error':_0x13369f[_0x2368fc(0x1ac)],'requestId':_0x3b98fe['id']||_0x3b98fe['headers']?.[_0x17ff41[_0x2368fc(0x1f7)]]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_0x4f68f2=a0_0x3d8c;(function(_0x524e34,_0x27e3fc){const _0x4a1cfa=a0_0x3d8c,_0x36b330=_0x524e34();while(!![]){try{const _0x48d577=parseInt(_0x4a1cfa(0xac))/0x1+parseInt(_0x4a1cfa(0x8f))/0x2*(parseInt(_0x4a1cfa(0x8b))/0x3)+-parseInt(_0x4a1cfa(0xaa))/0x4+parseInt(_0x4a1cfa(0x94))/0x5*(parseInt(_0x4a1cfa(0x97))/0x6)+parseInt(_0x4a1cfa(0xab))/0x7+parseInt(_0x4a1cfa(0x9e))/0x8*(-parseInt(_0x4a1cfa(0x89))/0x9)+-parseInt(_0x4a1cfa(0xa1))/0xa*(parseInt(_0x4a1cfa(0xae))/0xb);if(_0x48d577===_0x27e3fc)break;else _0x36b330['push'](_0x36b330['shift']());}catch(_0x46334b){_0x36b330['push'](_0x36b330['shift']());}}}(a0_0x1f0b,0x26d77));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x1f0b(){const _0x449611=['mJK5odjcrKPVrfi','DeXeAwC','Bg9HzfbHEwXVywq','uuXlvNK','mtjQqu1Ms2G','Avfov2u','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zgvIDwC','CMvWBgfJzq','nJKWnJK1sxjxrwzn','zgf0yxrHyMXLC1f1zxj5','Cgf5Bg9HzerPCG','mtjIrLbPyvC','y2fJAgu','BwvZC2fNzq','Aw5MBW','AM9PBG','zxjYB3i','lMPZB24','ogXyBK9iwG','z2v0rxHWB3j0q29UzMLN','Bg9HzfbHEwXVywrcEu5HBwu','mJGYmJbmwevdvwS','txrnqw8','DgfIBgvoyw1L','C2v0','y2XLyxi','AgfZ','Cgf5Bg9HzdO','z2v0','CgfYC2u','mJmXntK2uujdyLfK','mtq1nJK0nvzTvg13yq','mJKYnJa0u2zcsgTz','Cgf5Bg9Hzf9SB2fKzwq','mty5nfnKAePhCW','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Axnby3rPB25fBMfIBgvK','ywn0Aw9U','mty2odu5mwfZC2LHsW','B2HvtuK'];a0_0x1f0b=function(){return _0x449611;};return a0_0x1f0b();}function a0_0x3d8c(_0x5d3ea0,_0x1f5624){_0x5d3ea0=_0x5d3ea0-0x86;const _0x1f0b3f=a0_0x1f0b();let _0x3d8c4c=_0x1f0b3f[_0x5d3ea0];if(a0_0x3d8c['XSiKam']===undefined){var _0x3b6f85=function(_0x4d7767){const _0x2ef4c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c16be='',_0x571f97='';for(let _0x58501b=0x0,_0x531ed7,_0x187503,_0x47e964=0x0;_0x187503=_0x4d7767['charAt'](_0x47e964++);~_0x187503&&(_0x531ed7=_0x58501b%0x4?_0x531ed7*0x40+_0x187503:_0x187503,_0x58501b++%0x4)?_0x4c16be+=String['fromCharCode'](0xff&_0x531ed7>>(-0x2*_0x58501b&0x6)):0x0){_0x187503=_0x2ef4c9['indexOf'](_0x187503);}for(let _0x4de104=0x0,_0x33ffb8=_0x4c16be['length'];_0x4de104<_0x33ffb8;_0x4de104++){_0x571f97+='%'+('00'+_0x4c16be['charCodeAt'](_0x4de104)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x571f97);};a0_0x3d8c['QCgezw']=_0x3b6f85,a0_0x3d8c['dlhoRq']={},a0_0x3d8c['XSiKam']=!![];}const _0x32bf25=_0x1f0b3f[0x0],_0x4dc340=_0x5d3ea0+_0x32bf25,_0x54a105=a0_0x3d8c['dlhoRq'][_0x4dc340];return!_0x54a105?(_0x3d8c4c=a0_0x3d8c['QCgezw'](_0x3d8c4c),a0_0x3d8c['dlhoRq'][_0x4dc340]=_0x3d8c4c):_0x3d8c4c=_0x54a105,_0x3d8c4c;}class PayloadLoader{constructor(){const _0x362099=a0_0x3d8c,_0x3477d8={'Gkdja':'../../payload'};this['payloadDir']=path[_0x362099(0x9b)](__dirname,_0x3477d8['Gkdja']),this[_0x362099(0x98)]=new Map();}async[a0_0x4f68f2(0x8d)](_0xf58855,_0x5bdc44){const _0x3b6ca8=a0_0x4f68f2,_0x2316ca={'iQNWe':'utf8','tLDig':'payload_loaded','MtMAo':_0x3b6ca8(0x86)},_0x440f8e=_0xf58855+':'+_0x5bdc44;if(this[_0x3b6ca8(0x98)][_0x3b6ca8(0xa6)](_0x440f8e))return this[_0x3b6ca8(0x98)][_0x3b6ca8(0xa8)](_0x440f8e);const _0x1c37ab=path[_0x3b6ca8(0x9b)](this[_0x3b6ca8(0x96)],_0xf58855+'_'+_0x5bdc44+_0x3b6ca8(0x9d));try{const _0x5b969d=await fs['readFile'](_0x1c37ab,_0x2316ca[_0x3b6ca8(0x90)]),_0x5855d3=JSON[_0x3b6ca8(0xa9)](_0x5b969d);return this['cache']['set'](_0x440f8e,_0x5855d3),logger['debug']({'event':_0x2316ca[_0x3b6ca8(0x8c)],'project':_0xf58855,'resource':_0x5bdc44},'Payload\x20loaded\x20successfully'),_0x5855d3;}catch(_0x29cd88){logger[_0x3b6ca8(0x9c)]({'event':'payload_load_error','project':_0xf58855,'resource':_0x5bdc44,'error':_0x29cd88['message']},_0x2316ca[_0x3b6ca8(0xa2)]);throw new Error('Payload\x20not\x20found:\x20'+_0xf58855+'_'+_0x5bdc44);}}async[a0_0x4f68f2(0xa0)](_0x453bbc){const _0x43e8d3=a0_0x4f68f2,_0x28f130={'KlEPN':'utf8','TkbkO':_0x43e8d3(0xad),'ZCBnB':'payload_load_error','QLKVy':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x29b288=_0x43e8d3(0xa7)+_0x453bbc;if(this[_0x43e8d3(0x98)]['has'](_0x29b288))return this['cache']['get'](_0x29b288);const _0x368eae=path[_0x43e8d3(0x9b)](this['payloadDir'],_0x453bbc+_0x43e8d3(0x9d));try{const _0x34aa0d=await fs['readFile'](_0x368eae,_0x28f130['KlEPN']),_0x27e3d3=JSON['parse'](_0x34aa0d);return this[_0x43e8d3(0x98)][_0x43e8d3(0xa4)](_0x29b288,_0x27e3d3),logger[_0x43e8d3(0x92)]({'event':_0x28f130['TkbkO'],'payloadName':_0x453bbc},_0x43e8d3(0x91)),_0x27e3d3;}catch(_0x4af5bc){logger['error']({'event':_0x28f130['ZCBnB'],'payloadName':_0x453bbc,'error':_0x4af5bc[_0x43e8d3(0x99)]},_0x28f130[_0x43e8d3(0x8e)]);throw new Error('Payload\x20not\x20found:\x20'+_0x453bbc);}}[a0_0x4f68f2(0x87)](_0x1f63c7,_0x8695a4){const _0x44843f=a0_0x4f68f2,_0x5ba67e={'UAEcD':function(_0x32a3b1,_0x2668a3){return _0x32a3b1===_0x2668a3;}};return _0x1f63c7[_0x44843f(0x88)]&&_0x5ba67e['UAEcD'](_0x1f63c7['action'][_0x8695a4],!![]);}[a0_0x4f68f2(0x9f)](_0x3c9376){const _0x524779=a0_0x4f68f2;return{'columns':_0x3c9376['fieldName']||[],'filename':_0x3c9376[_0x524779(0xa3)][_0x524779(0x93)]('.','-')+'-export','datatablesQuery':_0x3c9376[_0x524779(0x95)]||null,'columnFormats':_0x3c9376['columnFormats']||null,'fieldLabels':_0x3c9376['fieldLabels']||null};}['clearCache'](){const _0x384065=a0_0x4f68f2,_0x5df5fd={'ohUMI':'payload_cache_cleared','DgCQY':'Payload\x20cache\x20cleared'};this['cache'][_0x384065(0xa5)](),logger[_0x384065(0x9a)]({'event':_0x5df5fd[_0x384065(0x8a)]},_0x5df5fd['DgCQY']);}}module['exports']=new PayloadLoader();
1
+ const a0_0x188a3a=a0_0x30e9;function a0_0x30e9(_0x3a04c3,_0x135e29){_0x3a04c3=_0x3a04c3-0x1ee;const _0x9bbd04=a0_0x9bbd();let _0x30e9b2=_0x9bbd04[_0x3a04c3];if(a0_0x30e9['htqsnS']===undefined){var _0x47e9b9=function(_0x3e7fa0){const _0x10a93e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x358d4f='',_0x250c5d='';for(let _0x667c14=0x0,_0xcbb48f,_0x28e23e,_0x161722=0x0;_0x28e23e=_0x3e7fa0['charAt'](_0x161722++);~_0x28e23e&&(_0xcbb48f=_0x667c14%0x4?_0xcbb48f*0x40+_0x28e23e:_0x28e23e,_0x667c14++%0x4)?_0x358d4f+=String['fromCharCode'](0xff&_0xcbb48f>>(-0x2*_0x667c14&0x6)):0x0){_0x28e23e=_0x10a93e['indexOf'](_0x28e23e);}for(let _0x5d42d8=0x0,_0x53ec00=_0x358d4f['length'];_0x5d42d8<_0x53ec00;_0x5d42d8++){_0x250c5d+='%'+('00'+_0x358d4f['charCodeAt'](_0x5d42d8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x250c5d);};a0_0x30e9['yFGKIx']=_0x47e9b9,a0_0x30e9['xLKLZf']={},a0_0x30e9['htqsnS']=!![];}const _0x5d243b=_0x9bbd04[0x0],_0x2dd53d=_0x3a04c3+_0x5d243b,_0x4717d9=a0_0x30e9['xLKLZf'][_0x2dd53d];return!_0x4717d9?(_0x30e9b2=a0_0x30e9['yFGKIx'](_0x30e9b2),a0_0x30e9['xLKLZf'][_0x2dd53d]=_0x30e9b2):_0x30e9b2=_0x4717d9,_0x30e9b2;}(function(_0x5dd84,_0x3824e6){const _0x41a540=a0_0x30e9,_0x26749b=_0x5dd84();while(!![]){try{const _0x5c63ed=parseInt(_0x41a540(0x1fb))/0x1*(-parseInt(_0x41a540(0x1fe))/0x2)+-parseInt(_0x41a540(0x1f0))/0x3+parseInt(_0x41a540(0x1f5))/0x4+-parseInt(_0x41a540(0x20c))/0x5+-parseInt(_0x41a540(0x210))/0x6*(-parseInt(_0x41a540(0x201))/0x7)+parseInt(_0x41a540(0x214))/0x8*(parseInt(_0x41a540(0x1f1))/0x9)+parseInt(_0x41a540(0x1f7))/0xa*(parseInt(_0x41a540(0x21a))/0xb);if(_0x5c63ed===_0x3824e6)break;else _0x26749b['push'](_0x26749b['shift']());}catch(_0x2a9353){_0x26749b['push'](_0x26749b['shift']());}}}(a0_0x9bbd,0x3479f));function a0_0x9bbd(){const _0x5035ff=['AM9PBG','Cgf5Bg9Hzf9SB2fKzwq','Dvj0rKC','y2fJAgu','mtfIExnXv0C','DgfIBgvoyw1L','rMPYCu8','D3DMBNm','mJqZotq4uu5gvNLM','mJC0nJe3qNPvzwPK','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','lwv4Cg9YDa','lI4VlI4VCgf5Bg9Hza','mta1odm5nMn3rfjgza','Cgf0Aa','mtaYmZy4mgTXAfv4tq','Axnby3rPB25fBMfIBgvK','zxjYB3i','ywn0Aw9U','mundu3fxEq','y2XLyxi','BwvZC2fNzq','oty2ntj3qLHgDKK','CgfYC2u','C2v0','mtKYmda3owzMCNjptG','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','wej5DxO','z2v0rxHWB3j0q29UzMLN','ugf5Bg9HzcbUB3qGzM91BMq6ia','zxHWB3j0CW','z2v0','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9HzerPCG','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','y29SDw1UrM9YBwf0CW','mtyZntK2mgXvC3HVAG','DNror04','Bg9HzfbHEwXVywq','tMv1yLK','nKXxq0nPrW','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','ChjVBwLZzxm','ogvuDMzUta','ugf5Bg9HzcbJywnOzsbJBgvHCMvK'];a0_0x9bbd=function(){return _0x5035ff;};return a0_0x9bbd();}const fs=require('fs')[a0_0x188a3a(0x213)],path=require(a0_0x188a3a(0x1f6)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x36a60c=a0_0x188a3a;this['payloadDir']=path[_0x36a60c(0x216)](__dirname,_0x36a60c(0x1f4)),this['cache']=new Map();}async[a0_0x188a3a(0x20e)](_0x31e5e4,_0x2c31c6){const _0x79b88b=a0_0x188a3a,_0x38f766={'uRtFG':'payload_loaded','wwfns':_0x79b88b(0x1f2),'XByuz':_0x79b88b(0x208)},_0x11c0a6=_0x31e5e4+':'+_0x2c31c6;if(this['cache']['has'](_0x11c0a6))return this['cache'][_0x79b88b(0x207)](_0x11c0a6);const _0x49c286=path[_0x79b88b(0x216)](this['payloadDir'],_0x31e5e4+'_'+_0x2c31c6+'.json');try{const _0x4040df=await fs['readFile'](_0x49c286,'utf8'),_0x275b84=JSON['parse'](_0x4040df);return this[_0x79b88b(0x219)][_0x79b88b(0x200)](_0x11c0a6,_0x275b84),logger['debug']({'event':_0x38f766[_0x79b88b(0x218)],'project':_0x31e5e4,'resource':_0x2c31c6},_0x79b88b(0x211)),_0x275b84;}catch(_0x5d318c){logger[_0x79b88b(0x1f9)]({'event':_0x38f766[_0x79b88b(0x1ef)],'project':_0x31e5e4,'resource':_0x2c31c6,'error':_0x5d318c[_0x79b88b(0x1fd)]},_0x38f766[_0x79b88b(0x203)]);throw new Error('Payload\x20not\x20found:\x20'+_0x31e5e4+'_'+_0x2c31c6);}}async['loadPayloadByName'](_0x283ee4){const _0x1a5eec=a0_0x188a3a,_0x3a2f5d={'NeubY':_0x1a5eec(0x217),'vtNGN':_0x1a5eec(0x20a),'FjrqO':_0x1a5eec(0x1f2)},_0x231d6b='payload:'+_0x283ee4;if(this[_0x1a5eec(0x219)]['has'](_0x231d6b))return this['cache']['get'](_0x231d6b);const _0x1058fa=path[_0x1a5eec(0x216)](this[_0x1a5eec(0x209)],_0x283ee4+'.json');try{const _0x4445d8=await fs['readFile'](_0x1058fa,'utf8'),_0x136b4e=JSON[_0x1a5eec(0x1ff)](_0x4445d8);return this['cache'][_0x1a5eec(0x200)](_0x231d6b,_0x136b4e),logger['debug']({'event':_0x3a2f5d[_0x1a5eec(0x20f)],'payloadName':_0x283ee4},_0x3a2f5d[_0x1a5eec(0x20d)]),_0x136b4e;}catch(_0x4b7bce){logger[_0x1a5eec(0x1f9)]({'event':_0x3a2f5d[_0x1a5eec(0x1ee)],'payloadName':_0x283ee4,'error':_0x4b7bce['message']},_0x1a5eec(0x202));throw new Error(_0x1a5eec(0x205)+_0x283ee4);}}[a0_0x188a3a(0x1f8)](_0x4b1ffe,_0x1666af){const _0x4e66fe=a0_0x188a3a,_0x482667={'tWhPt':function(_0x5b5e4b,_0x531f7d){return _0x5b5e4b===_0x531f7d;}};return _0x4b1ffe['action']&&_0x482667['tWhPt'](_0x4b1ffe[_0x4e66fe(0x1fa)][_0x1666af],!![]);}[a0_0x188a3a(0x204)](_0x450df7){const _0x1d2ca5=a0_0x188a3a;return{'columns':_0x450df7['fieldName']||[],'filename':_0x450df7[_0x1d2ca5(0x21b)]['replace']('.','-')+_0x1d2ca5(0x1f3),'datatablesQuery':_0x450df7['datatablesQuery']||null,'columnFormats':_0x450df7[_0x1d2ca5(0x20b)]||null,'fieldLabels':_0x450df7['fieldLabels']||null};}['clearCache'](){const _0x146345=a0_0x188a3a,_0x220dd0={'bcjtH':_0x146345(0x212),'BUTGU':_0x146345(0x215)};this[_0x146345(0x219)][_0x146345(0x1fc)](),logger['info']({'event':_0x220dd0['bcjtH']},_0x220dd0['BUTGU']);}}module[a0_0x188a3a(0x206)]=new PayloadLoader();