@restforgejs/platform 4.3.8 → 5.0.0

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 (190) hide show
  1. package/bin/sdf-tools.exe +0 -0
  2. package/build-info.json +2 -2
  3. package/cli/consumer-deploy.js +1 -1
  4. package/cli/consumer.js +1 -1
  5. package/generators/cli/payload/migrate.js +96 -96
  6. package/generators/lib/dbschema-kit/apply-engine.js +211 -46
  7. package/generators/lib/dbschema-kit/diff-engine.js +14 -2
  8. package/generators/lib/dbschema-kit/emitters/alter-table.js +96 -2
  9. package/generators/lib/dbschema-kit/introspect-mapper.js +9 -0
  10. package/generators/lib/migrate/backend-payload-migrator.js +221 -221
  11. package/generators/lib/migrate/field-type-resolver.js +319 -319
  12. package/generators/lib/migrate/label-generator.js +38 -38
  13. package/generators/lib/migrate/migrate-runner.js +187 -187
  14. package/generators/lib/migrate/naming.js +43 -43
  15. package/generators/lib/migrate/sql-parser.js +124 -124
  16. package/generators/lib/templates/dashboard-catalog.js +1 -1
  17. package/generators/lib/templates/db-connection-env.js +1 -1
  18. package/generators/lib/templates/dbschema-catalog.js +1 -1
  19. package/generators/lib/templates/field-validation-catalog.js +1 -1
  20. package/generators/lib/templates/mysql-template.js +1 -1
  21. package/generators/lib/templates/oracle-template.js +1 -1
  22. package/generators/lib/templates/postgres-template.js +1 -1
  23. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  24. package/generators/lib/templates/sqlite-template.js +1 -1
  25. package/integrity-manifest.json +18 -18
  26. package/node_modules/brace-expansion/index.js +1 -1
  27. package/node_modules/brace-expansion/package.json +1 -1
  28. package/node_modules/dayjs/CHANGELOG.md +7 -0
  29. package/node_modules/dayjs/README.md +12 -10
  30. package/node_modules/dayjs/dayjs.min.js +1 -1
  31. package/node_modules/dayjs/esm/constant.js +1 -1
  32. package/node_modules/dayjs/esm/plugin/duration/index.js +5 -4
  33. package/node_modules/dayjs/locale.json +1 -1
  34. package/node_modules/dayjs/package.json +2 -2
  35. package/node_modules/dayjs/plugin/duration.js +1 -1
  36. package/node_modules/tmp/lib/tmp.js +37 -7
  37. package/node_modules/tmp/package.json +4 -16
  38. package/package.json +1 -1
  39. package/scripts/verify-integrity.js +1 -1
  40. package/server.js +1 -1
  41. package/src/components/handlers/adjust_handler.js +1 -1
  42. package/src/components/handlers/audit_handler.js +1 -1
  43. package/src/components/handlers/delete_handler.js +1 -1
  44. package/src/components/handlers/export_handler.js +1 -1
  45. package/src/components/handlers/import_handler.js +1 -1
  46. package/src/components/handlers/insert_handler.js +1 -1
  47. package/src/components/handlers/update_handler.js +1 -1
  48. package/src/components/handlers/upload_handler.js +1 -1
  49. package/src/components/handlers/workflow_handler.js +1 -1
  50. package/src/components/integrations/webhook.js +1 -1
  51. package/src/consumers/baseConsumer.js +1 -1
  52. package/src/consumers/declarativeMapper.js +1 -1
  53. package/src/consumers/handlers/apiHandler.js +1 -1
  54. package/src/consumers/handlers/consoleHandler.js +1 -1
  55. package/src/consumers/handlers/databaseHandler.js +1 -1
  56. package/src/consumers/handlers/index.js +1 -1
  57. package/src/consumers/handlers/kafkaHandler.js +1 -1
  58. package/src/consumers/index.js +1 -1
  59. package/src/consumers/messageTransformer.js +1 -1
  60. package/src/consumers/validator.js +1 -1
  61. package/src/core/db/dialect/base-dialect.js +1 -1
  62. package/src/core/db/dialect/index.js +1 -1
  63. package/src/core/db/dialect/mysql-dialect.js +1 -1
  64. package/src/core/db/dialect/oracle-dialect.js +1 -1
  65. package/src/core/db/dialect/postgres-dialect.js +1 -1
  66. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  67. package/src/core/db/flatten-helper.js +1 -1
  68. package/src/core/db/query-builder-error.js +1 -1
  69. package/src/core/db/query-builder.js +1 -1
  70. package/src/core/db/relation-helper.js +1 -1
  71. package/src/core/handlers/delete_handler.js +1 -1
  72. package/src/core/handlers/insert_handler.js +1 -1
  73. package/src/core/handlers/update_handler.js +1 -1
  74. package/src/core/models/base-model.js +1 -1
  75. package/src/core/utils/cache-manager.js +1 -1
  76. package/src/core/utils/component-engine.js +1 -1
  77. package/src/core/utils/context-builder.js +1 -1
  78. package/src/core/utils/datetime-formatter.js +1 -1
  79. package/src/core/utils/datetime-parser.js +1 -1
  80. package/src/core/utils/db.js +1 -1
  81. package/src/core/utils/logger.js +1 -1
  82. package/src/core/utils/payload-loader.js +1 -1
  83. package/src/core/utils/security-checks.js +1 -1
  84. package/src/middleware/body-options.js +1 -1
  85. package/src/middleware/cors.js +1 -1
  86. package/src/middleware/idempotency.js +1 -1
  87. package/src/middleware/rate-limiter.js +1 -1
  88. package/src/middleware/request-logger.js +1 -1
  89. package/src/middleware/security-headers.js +1 -1
  90. package/src/models/base-model-mysql.js +1 -1
  91. package/src/models/base-model-oracle.js +1 -1
  92. package/src/models/base-model-sqlite.js +1 -1
  93. package/src/models/base-model.js +1 -1
  94. package/src/pro/caching/redis-client.js +1 -1
  95. package/src/pro/caching/redis-helper.js +1 -1
  96. package/src/pro/consumers/baseConsumer.js +1 -1
  97. package/src/pro/consumers/declarativeMapper.js +1 -1
  98. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  99. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  100. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  101. package/src/pro/consumers/handlers/index.js +1 -1
  102. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  103. package/src/pro/consumers/index.js +1 -1
  104. package/src/pro/consumers/messageTransformer.js +1 -1
  105. package/src/pro/consumers/validator.js +1 -1
  106. package/src/pro/database/base-model-mysql.js +1 -1
  107. package/src/pro/database/base-model-oracle.js +1 -1
  108. package/src/pro/database/base-model-sqlite.js +1 -1
  109. package/src/pro/database/db-mysql.js +1 -1
  110. package/src/pro/database/db-oracle.js +1 -1
  111. package/src/pro/database/db-sqlite.js +1 -1
  112. package/src/pro/excel/excel-generator.js +1 -1
  113. package/src/pro/excel/excel-parser.js +1 -1
  114. package/src/pro/excel/export-service.js +1 -1
  115. package/src/pro/excel/export_handler.js +1 -1
  116. package/src/pro/excel/import-service.js +1 -1
  117. package/src/pro/excel/import-validator.js +1 -1
  118. package/src/pro/excel/import_handler.js +1 -1
  119. package/src/pro/excel/upsert-builder.js +1 -1
  120. package/src/pro/idgen/idgen-routes.js +1 -1
  121. package/src/pro/integrations/lookup-resolver.js +1 -1
  122. package/src/pro/integrations/upload-handler-v2.js +1 -1
  123. package/src/pro/integrations/upload-handler.js +1 -1
  124. package/src/pro/integrations/webhook.js +1 -1
  125. package/src/pro/locking/lock-routes.js +1 -1
  126. package/src/pro/locking/resource-lock-manager.js +1 -1
  127. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  128. package/src/pro/messaging/kafkaService.js +1 -1
  129. package/src/pro/messaging/messagehubService.js +1 -1
  130. package/src/pro/messaging/rabbitmqService.js +1 -1
  131. package/src/pro/scheduler/job-manager.js +1 -1
  132. package/src/pro/scheduler/job-routes.js +1 -1
  133. package/src/pro/scheduler/job-validator.js +1 -1
  134. package/src/pro/storage/base-storage-provider.js +1 -1
  135. package/src/pro/storage/file-metadata-helper.js +1 -1
  136. package/src/pro/storage/index.js +1 -1
  137. package/src/pro/storage/local-storage-provider.js +1 -1
  138. package/src/pro/storage/s3-storage-provider.js +1 -1
  139. package/src/pro/storage/upload-cleanup-job.js +1 -1
  140. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  141. package/src/pro/storage/upload-pending-tracker.js +1 -1
  142. package/src/pro/websocket/broadcast-helper.js +1 -1
  143. package/src/pro/websocket/index.js +1 -1
  144. package/src/pro/websocket/livesync-server.js +1 -1
  145. package/src/pro/websocket/ws-broadcaster.js +1 -1
  146. package/src/services/export-service.js +1 -1
  147. package/src/services/import-service.js +1 -1
  148. package/src/services/kafkaConsumerService.js +1 -1
  149. package/src/services/kafkaService.js +1 -1
  150. package/src/services/messagehubService.js +1 -1
  151. package/src/services/rabbitmqService.js +1 -1
  152. package/src/utils/cache-invalidation-registry.js +1 -1
  153. package/src/utils/cache-manager.js +1 -1
  154. package/src/utils/component-engine.js +1 -1
  155. package/src/utils/config-extractor.js +1 -1
  156. package/src/utils/consumerLogger.js +1 -1
  157. package/src/utils/context-builder.js +1 -1
  158. package/src/utils/dashboard-helpers.js +1 -1
  159. package/src/utils/dateHelper.js +1 -1
  160. package/src/utils/datetime-formatter.js +1 -1
  161. package/src/utils/datetime-parser.js +1 -1
  162. package/src/utils/db-bootstrap.js +1 -1
  163. package/src/utils/db-mysql.js +1 -1
  164. package/src/utils/db-oracle.js +1 -1
  165. package/src/utils/db-sqlite.js +1 -1
  166. package/src/utils/db.js +1 -1
  167. package/src/utils/demo-generator.js +1 -1
  168. package/src/utils/excel-generator.js +1 -1
  169. package/src/utils/excel-parser.js +1 -1
  170. package/src/utils/file-watcher.js +1 -1
  171. package/src/utils/id-generator.js +1 -1
  172. package/src/utils/idempotency-manager.js +1 -1
  173. package/src/utils/import-validator.js +1 -1
  174. package/src/utils/license-client.js +1 -1
  175. package/src/utils/lock-manager.js +1 -1
  176. package/src/utils/logger.js +1 -1
  177. package/src/utils/lookup-resolver.js +1 -1
  178. package/src/utils/payload-loader.js +1 -1
  179. package/src/utils/processor-response.js +1 -1
  180. package/src/utils/rabbitmq.js +1 -1
  181. package/src/utils/redis-client.js +1 -1
  182. package/src/utils/redis-helper.js +1 -1
  183. package/src/utils/request-scope.js +1 -1
  184. package/src/utils/security-checks.js +1 -1
  185. package/src/utils/service-resolver.js +1 -1
  186. package/src/utils/shutdown-coordinator.js +1 -1
  187. package/src/utils/trusted-keys.js +1 -1
  188. package/src/utils/upload-handler.js +1 -1
  189. package/src/utils/upsert-builder.js +1 -1
  190. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x3f83(){const _0x30842f=['nZHPv0jMtNy','zxHWB3j0CW','zM9YBwf0rgf0zq','z2v0vgLTzq','CgfKu3rHCNq','nZa0ndvrBen0Egy','BgvUz3rO','zMj2C1e','z2v0sg91CNm','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','rK5Nuge','nZy5nZa3Bw94DKD0','D2fYBG','z2v0rgf0zq','A1Pms2m','nteWoti2wfzfDNPb','qu9MDK4','mZiZmZm2ng55qvblDa','zgf0zq','zu9ZCKO','z2v0rNvSBfLLyxi','mJm4nJu4nfLfEfn5rG','mtqWntvczvH3sKe','mtboAvbLCNi','nJm2ode4ywjVuNjd','zxjYB3i','C3rYAw5N','zM9YBwf0vgLTzxn0yw1W','m2fbAwTxsa','C3bSAxq','zM9YBwf0'];a0_0x3f83=function(){return _0x30842f;};return a0_0x3f83();}const a0_0x256785=a0_0x8745;(function(_0x1e9f58,_0xf84a26){const _0x4b0f39=a0_0x8745,_0xe16bde=_0x1e9f58();while(!![]){try{const _0x5489cb=-parseInt(_0x4b0f39(0x101))/0x1+parseInt(_0x4b0f39(0x10b))/0x2*(-parseInt(_0x4b0f39(0x118))/0x3)+parseInt(_0x4b0f39(0x10d))/0x4+-parseInt(_0x4b0f39(0x112))/0x5*(-parseInt(_0x4b0f39(0xfc))/0x6)+-parseInt(_0x4b0f39(0x114))/0x7+parseInt(_0x4b0f39(0x111))/0x8+parseInt(_0x4b0f39(0x107))/0x9*(-parseInt(_0x4b0f39(0x113))/0xa);if(_0x5489cb===_0xf84a26)break;else _0xe16bde['push'](_0xe16bde['shift']());}catch(_0x5d8678){_0xe16bde['push'](_0xe16bde['shift']());}}}(a0_0x3f83,0x9c722));class DateTimeFormatter{static[a0_0x256785(0xfb)](_0x2b1817,_0x4ecc33,_0x2a9eaf){const _0x49f940=a0_0x256785,_0xff28b3={'dELRz':_0x49f940(0x10e),'SfPkr':'timestamp','kZLKc':'time'};if(!_0x2b1817)return null;try{if(_0x2a9eaf===_0xff28b3['dELRz'])return this[_0x49f940(0xfe)](_0x2b1817,_0x4ecc33);else{if(_0x2a9eaf===_0xff28b3['SfPkr'])return this['formatTimestamp'](_0x2b1817,_0x4ecc33);else{if(_0x2a9eaf===_0xff28b3[_0x49f940(0x10a)])return this['formatTime'](_0x2b1817,_0x4ecc33);}}return _0x2b1817;}catch(_0x27c536){return console[_0x49f940(0x115)](_0x49f940(0x105)+_0x27c536['message']),_0x2b1817;}}static[a0_0x256785(0xfe)](_0x460843,_0x6934e7){const _0x5aca3f=a0_0x256785,_0x27e055={'FNgPa':function(_0x35add1,_0x21349f){return _0x35add1(_0x21349f);}},_0x4c7042=new Date(_0x460843);if(isNaN(_0x4c7042['getTime']()))return console['warn']('Invalid\x20date\x20value:\x20'+_0x460843),_0x460843;const _0x3620f4=String(_0x4c7042[_0x5aca3f(0x109)]())['padStart'](0x2,'0'),_0x1d7b20=_0x27e055[_0x5aca3f(0x106)](String,_0x4c7042['getMonth']()+0x1)['padStart'](0x2,'0'),_0x205421=_0x4c7042[_0x5aca3f(0x110)](),_0x1e4bba={'dd/MM/yyyy':_0x3620f4+'/'+_0x1d7b20+'/'+_0x205421,'dd-MM-yyyy':_0x3620f4+'-'+_0x1d7b20+'-'+_0x205421,'MM/dd/yyyy':_0x1d7b20+'/'+_0x3620f4+'/'+_0x205421,'yyyy/MM/dd':_0x205421+'/'+_0x1d7b20+'/'+_0x3620f4,'yyyy-MM-dd':_0x205421+'-'+_0x1d7b20+'-'+_0x3620f4};return _0x1e4bba[_0x6934e7]||_0x205421+'-'+_0x1d7b20+'-'+_0x3620f4;}static[a0_0x256785(0x117)](_0x229e1d,_0x2767b8){const _0x3d1a21=a0_0x256785,_0x1bbcf6={'PzPHc':function(_0x234e03,_0x58c4a2){return _0x234e03(_0x58c4a2);},'fbvsQ':function(_0xaa4314,_0x13b415){return _0xaa4314(_0x13b415);},'AOfvN':function(_0x4ba6ac,_0x58e821){return _0x4ba6ac(_0x58e821);}},_0xc658bf=new Date(_0x229e1d);if(isNaN(_0xc658bf[_0x3d1a21(0xff)]()))return console['warn']('Invalid\x20timestamp\x20value:\x20'+_0x229e1d),_0x229e1d;const _0x486f1e=String(_0xc658bf[_0x3d1a21(0x109)]())['padStart'](0x2,'0'),_0x54df01=_0x1bbcf6['PzPHc'](String,_0xc658bf['getMonth']()+0x1)[_0x3d1a21(0x100)](0x2,'0'),_0x5befd7=_0xc658bf['getFullYear'](),_0x7b7266=_0x1bbcf6[_0x3d1a21(0x103)](String,_0xc658bf[_0x3d1a21(0x104)]())[_0x3d1a21(0x100)](0x2,'0'),_0x465de6=_0x1bbcf6[_0x3d1a21(0x10c)](String,_0xc658bf['getMinutes']())['padStart'](0x2,'0'),_0x1f2314=String(_0xc658bf['getSeconds']())[_0x3d1a21(0x100)](0x2,'0'),_0x32de10=_0x2767b8[_0x3d1a21(0xfa)]('\x20');if(_0x32de10[_0x3d1a21(0x102)]!==0x2)return _0x5befd7+'-'+_0x54df01+'-'+_0x486f1e+'\x20'+_0x7b7266+':'+_0x465de6+':'+_0x1f2314;const _0x57559e=_0x32de10[0x0],_0x11ed82=_0x32de10[0x1],_0x3510a4={'dd/MM/yyyy':_0x486f1e+'/'+_0x54df01+'/'+_0x5befd7,'dd-MM-yyyy':_0x486f1e+'-'+_0x54df01+'-'+_0x5befd7,'MM/dd/yyyy':_0x54df01+'/'+_0x486f1e+'/'+_0x5befd7,'yyyy/MM/dd':_0x5befd7+'/'+_0x54df01+'/'+_0x486f1e,'yyyy-MM-dd':_0x5befd7+'-'+_0x54df01+'-'+_0x486f1e},_0x212633={'HH:mm':_0x7b7266+':'+_0x465de6,'HH:mm:ss':_0x7b7266+':'+_0x465de6+':'+_0x1f2314,'hh:mm':_0x7b7266+':'+_0x465de6},_0x32330f=_0x3510a4[_0x57559e]||_0x5befd7+'-'+_0x54df01+'-'+_0x486f1e,_0x157263=_0x212633[_0x11ed82]||_0x7b7266+':'+_0x465de6+':'+_0x1f2314;return _0x32330f+'\x20'+_0x157263;}static['formatTime'](_0x5aa0ea,_0xd14f22){const _0x15e41c=a0_0x256785,_0x42c98c={'eOsrJ':function(_0x57fc51,_0x10a9cf){return _0x57fc51!==_0x10a9cf;},'qBAPz':_0x15e41c(0x116)};if(_0x42c98c[_0x15e41c(0x10f)](typeof _0x5aa0ea,_0x42c98c['qBAPz']))return _0x5aa0ea;const _0x49f9e2=_0x5aa0ea['split'](':');if(_0x49f9e2[_0x15e41c(0x102)]<0x2)return console[_0x15e41c(0x108)]('Invalid\x20time\x20value:\x20'+_0x5aa0ea),_0x5aa0ea;const _0x4be887=_0x49f9e2[0x0][_0x15e41c(0x100)](0x2,'0'),_0x3ddcc4=_0x49f9e2[0x1]['padStart'](0x2,'0'),_0x56f668=_0x49f9e2[0x2]?_0x49f9e2[0x2]['split']('.')[0x0][_0x15e41c(0x100)](0x2,'0'):'00',_0x5b2bb7={'HH:mm':_0x4be887+':'+_0x3ddcc4,'HH:mm:ss':_0x4be887+':'+_0x3ddcc4+':'+_0x56f668,'hh:mm':_0x4be887+':'+_0x3ddcc4};return _0x5b2bb7[_0xd14f22]||_0x4be887+':'+_0x3ddcc4+':'+_0x56f668;}}function a0_0x8745(_0x1e683c,_0x298612){_0x1e683c=_0x1e683c-0xfa;const _0x3f833f=a0_0x3f83();let _0x87457f=_0x3f833f[_0x1e683c];if(a0_0x8745['qaeWWt']===undefined){var _0xa4bb06=function(_0x17d615){const _0x122466='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x136e8e='',_0x679143='';for(let _0x5bd151=0x0,_0x44a672,_0x1ecd70,_0x316eb0=0x0;_0x1ecd70=_0x17d615['charAt'](_0x316eb0++);~_0x1ecd70&&(_0x44a672=_0x5bd151%0x4?_0x44a672*0x40+_0x1ecd70:_0x1ecd70,_0x5bd151++%0x4)?_0x136e8e+=String['fromCharCode'](0xff&_0x44a672>>(-0x2*_0x5bd151&0x6)):0x0){_0x1ecd70=_0x122466['indexOf'](_0x1ecd70);}for(let _0x5207ab=0x0,_0x233054=_0x136e8e['length'];_0x5207ab<_0x233054;_0x5207ab++){_0x679143+='%'+('00'+_0x136e8e['charCodeAt'](_0x5207ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x679143);};a0_0x8745['ldKeKD']=_0xa4bb06,a0_0x8745['iCAPJI']={},a0_0x8745['qaeWWt']=!![];}const _0x5e2801=_0x3f833f[0x0],_0xdb7d9d=_0x1e683c+_0x5e2801,_0x2ea60b=a0_0x8745['iCAPJI'][_0xdb7d9d];return!_0x2ea60b?(_0x87457f=a0_0x8745['ldKeKD'](_0x87457f),a0_0x8745['iCAPJI'][_0xdb7d9d]=_0x87457f):_0x87457f=_0x2ea60b,_0x87457f;}module[a0_0x256785(0xfd)]=DateTimeFormatter;
1
+ const a0_0x48aaab=a0_0x4e09;function a0_0x4e09(_0x420bac,_0x3795fc){_0x420bac=_0x420bac-0x1b4;const _0x90a3b0=a0_0x90a3();let _0x4e093f=_0x90a3b0[_0x420bac];if(a0_0x4e09['DknaLL']===undefined){var _0xc6e70=function(_0x3a07c3){const _0x367ff1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36d95d='',_0x113ac8='';for(let _0x3bebe8=0x0,_0x1c46f4,_0x5cce55,_0x3b8bc4=0x0;_0x5cce55=_0x3a07c3['charAt'](_0x3b8bc4++);~_0x5cce55&&(_0x1c46f4=_0x3bebe8%0x4?_0x1c46f4*0x40+_0x5cce55:_0x5cce55,_0x3bebe8++%0x4)?_0x36d95d+=String['fromCharCode'](0xff&_0x1c46f4>>(-0x2*_0x3bebe8&0x6)):0x0){_0x5cce55=_0x367ff1['indexOf'](_0x5cce55);}for(let _0x5f3120=0x0,_0x19068b=_0x36d95d['length'];_0x5f3120<_0x19068b;_0x5f3120++){_0x113ac8+='%'+('00'+_0x36d95d['charCodeAt'](_0x5f3120)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x113ac8);};a0_0x4e09['OydSxh']=_0xc6e70,a0_0x4e09['kHWkCf']={},a0_0x4e09['DknaLL']=!![];}const _0x3145c2=_0x90a3b0[0x0],_0x4951c6=_0x420bac+_0x3145c2,_0x19bfdd=a0_0x4e09['kHWkCf'][_0x4951c6];return!_0x19bfdd?(_0x4e093f=a0_0x4e09['OydSxh'](_0x4e093f),a0_0x4e09['kHWkCf'][_0x4951c6]=_0x4e093f):_0x4e093f=_0x19bfdd,_0x4e093f;}(function(_0x510efa,_0x44fd18){const _0xa44ce=a0_0x4e09,_0x15ce09=_0x510efa();while(!![]){try{const _0xac35a3=parseInt(_0xa44ce(0x1b7))/0x1*(-parseInt(_0xa44ce(0x1bb))/0x2)+-parseInt(_0xa44ce(0x1b8))/0x3+-parseInt(_0xa44ce(0x1bc))/0x4+-parseInt(_0xa44ce(0x1c5))/0x5*(-parseInt(_0xa44ce(0x1d3))/0x6)+-parseInt(_0xa44ce(0x1ba))/0x7+parseInt(_0xa44ce(0x1c8))/0x8*(parseInt(_0xa44ce(0x1cd))/0x9)+parseInt(_0xa44ce(0x1c2))/0xa*(parseInt(_0xa44ce(0x1ce))/0xb);if(_0xac35a3===_0x44fd18)break;else _0x15ce09['push'](_0x15ce09['shift']());}catch(_0x39442f){_0x15ce09['push'](_0x15ce09['shift']());}}}(a0_0x90a3,0xb4388));class DateTimeFormatter{static['format'](_0x5f4a9e,_0x555990,_0x433fc0){const _0x2ac850=a0_0x4e09,_0x384c68={'iShlV':function(_0x296893,_0x2fd026){return _0x296893===_0x2fd026;},'gWDgv':'timestamp','aStet':function(_0x3d3c12,_0x18220c){return _0x3d3c12===_0x18220c;},'VbSfO':'time'};if(!_0x5f4a9e)return null;try{if(_0x433fc0===_0x2ac850(0x1d1))return this[_0x2ac850(0x1d6)](_0x5f4a9e,_0x555990);else{if(_0x384c68[_0x2ac850(0x1be)](_0x433fc0,_0x384c68[_0x2ac850(0x1c6)]))return this['formatTimestamp'](_0x5f4a9e,_0x555990);else{if(_0x384c68[_0x2ac850(0x1bf)](_0x433fc0,_0x384c68[_0x2ac850(0x1b4)]))return this[_0x2ac850(0x1c0)](_0x5f4a9e,_0x555990);}}return _0x5f4a9e;}catch(_0xf070dc){return console[_0x2ac850(0x1d2)](_0x2ac850(0x1cf)+_0xf070dc[_0x2ac850(0x1c1)]),_0x5f4a9e;}}static[a0_0x48aaab(0x1d6)](_0x1055b2,_0x3d8966){const _0x3dbf66=a0_0x48aaab,_0x3be358={'GowXg':function(_0x3c4a69,_0x1b0efe){return _0x3c4a69(_0x1b0efe);},'KywJr':function(_0x473055,_0x2adb25){return _0x473055(_0x2adb25);},'ojioP':function(_0x445222,_0x35cf78){return _0x445222+_0x35cf78;}},_0x56155f=new Date(_0x1055b2);if(_0x3be358[_0x3dbf66(0x1c7)](isNaN,_0x56155f[_0x3dbf66(0x1bd)]()))return console[_0x3dbf66(0x1c4)]('Invalid\x20date\x20value:\x20'+_0x1055b2),_0x1055b2;const _0x347caf=_0x3be358['GowXg'](String,_0x56155f[_0x3dbf66(0x1d4)]())[_0x3dbf66(0x1cc)](0x2,'0'),_0x3852d4=_0x3be358['KywJr'](String,_0x3be358['ojioP'](_0x56155f[_0x3dbf66(0x1ca)](),0x1))[_0x3dbf66(0x1cc)](0x2,'0'),_0x4e131e=_0x56155f['getFullYear'](),_0x304faa={'dd/MM/yyyy':_0x347caf+'/'+_0x3852d4+'/'+_0x4e131e,'dd-MM-yyyy':_0x347caf+'-'+_0x3852d4+'-'+_0x4e131e,'MM/dd/yyyy':_0x3852d4+'/'+_0x347caf+'/'+_0x4e131e,'yyyy/MM/dd':_0x4e131e+'/'+_0x3852d4+'/'+_0x347caf,'yyyy-MM-dd':_0x4e131e+'-'+_0x3852d4+'-'+_0x347caf};return _0x304faa[_0x3d8966]||_0x4e131e+'-'+_0x3852d4+'-'+_0x347caf;}static[a0_0x48aaab(0x1d5)](_0x13bc30,_0x5d4334){const _0xb397ed=a0_0x48aaab,_0x3ff204={'BQJHS':function(_0x111a9e,_0x44afe8){return _0x111a9e(_0x44afe8);},'dYgzt':function(_0x863317,_0x311702){return _0x863317!==_0x311702;}},_0x52321d=new Date(_0x13bc30);if(_0x3ff204['BQJHS'](isNaN,_0x52321d['getTime']()))return console[_0xb397ed(0x1c4)]('Invalid\x20timestamp\x20value:\x20'+_0x13bc30),_0x13bc30;const _0x3ccbe8=String(_0x52321d['getDate']())[_0xb397ed(0x1cc)](0x2,'0'),_0x46a35c=String(_0x52321d['getMonth']()+0x1)['padStart'](0x2,'0'),_0x2f8f23=_0x52321d['getFullYear'](),_0x572b44=_0x3ff204[_0xb397ed(0x1cb)](String,_0x52321d['getHours']())['padStart'](0x2,'0'),_0x4b3cd1=String(_0x52321d[_0xb397ed(0x1c9)]())[_0xb397ed(0x1cc)](0x2,'0'),_0x57ac9c=String(_0x52321d['getSeconds']())[_0xb397ed(0x1cc)](0x2,'0'),_0x148018=_0x5d4334['split']('\x20');if(_0x3ff204[_0xb397ed(0x1b5)](_0x148018[_0xb397ed(0x1d0)],0x2))return _0x2f8f23+'-'+_0x46a35c+'-'+_0x3ccbe8+'\x20'+_0x572b44+':'+_0x4b3cd1+':'+_0x57ac9c;const _0x44aed5=_0x148018[0x0],_0x146487=_0x148018[0x1],_0x339768={'dd/MM/yyyy':_0x3ccbe8+'/'+_0x46a35c+'/'+_0x2f8f23,'dd-MM-yyyy':_0x3ccbe8+'-'+_0x46a35c+'-'+_0x2f8f23,'MM/dd/yyyy':_0x46a35c+'/'+_0x3ccbe8+'/'+_0x2f8f23,'yyyy/MM/dd':_0x2f8f23+'/'+_0x46a35c+'/'+_0x3ccbe8,'yyyy-MM-dd':_0x2f8f23+'-'+_0x46a35c+'-'+_0x3ccbe8},_0x29e25a={'HH:mm':_0x572b44+':'+_0x4b3cd1,'HH:mm:ss':_0x572b44+':'+_0x4b3cd1+':'+_0x57ac9c,'hh:mm':_0x572b44+':'+_0x4b3cd1},_0x49d53b=_0x339768[_0x44aed5]||_0x2f8f23+'-'+_0x46a35c+'-'+_0x3ccbe8,_0x461c90=_0x29e25a[_0x146487]||_0x572b44+':'+_0x4b3cd1+':'+_0x57ac9c;return _0x49d53b+'\x20'+_0x461c90;}static['formatTime'](_0x38af08,_0x2901fa){const _0x3cc620=a0_0x48aaab,_0x3e977d={'txmfq':function(_0x27bb37,_0x3331cf){return _0x27bb37!==_0x3331cf;},'zWtIg':_0x3cc620(0x1b9),'dKifx':function(_0x16e8e4,_0x3eee77){return _0x16e8e4<_0x3eee77;}};if(_0x3e977d[_0x3cc620(0x1b6)](typeof _0x38af08,_0x3e977d['zWtIg']))return _0x38af08;const _0x19509a=_0x38af08['split'](':');if(_0x3e977d['dKifx'](_0x19509a['length'],0x2))return console[_0x3cc620(0x1c4)]('Invalid\x20time\x20value:\x20'+_0x38af08),_0x38af08;const _0xd0adf6=_0x19509a[0x0][_0x3cc620(0x1cc)](0x2,'0'),_0x4ee59c=_0x19509a[0x1]['padStart'](0x2,'0'),_0x4b8101=_0x19509a[0x2]?_0x19509a[0x2]['split']('.')[0x0][_0x3cc620(0x1cc)](0x2,'0'):'00',_0x4fcdd4={'HH:mm':_0xd0adf6+':'+_0x4ee59c,'HH:mm:ss':_0xd0adf6+':'+_0x4ee59c+':'+_0x4b8101,'hh:mm':_0xd0adf6+':'+_0x4ee59c};return _0x4fcdd4[_0x2901fa]||_0xd0adf6+':'+_0x4ee59c+':'+_0x4b8101;}}module[a0_0x48aaab(0x1c3)]=DateTimeFormatter;function a0_0x90a3(){const _0x1d0d61=['mLn6t0XOta','ndm5nJq0mfbcwvP4Ba','z2v0vgLTzq','AvnOBfy','yvn0zxq','zM9YBwf0vgLTzq','BwvZC2fNzq','mtbwrfHdz28','zxHWB3j0CW','D2fYBG','mJvgtKDjzfO','z1Dez3y','r293wgC','mtG5mtjLzhDABve','z2v0twLUDxrLCW','z2v0tw9UDgG','qLfksfm','CgfKu3rHCNq','nJnQDNbbzw4','ntaZmJGYnJDQB2PVCMi','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','BgvUz3rO','zgf0zq','zxjYB3i','mte2ndzduuvxr3q','z2v0rgf0zq','zM9YBwf0vgLTzxn0yw1W','zM9YBwf0rgf0zq','vMjtzK8','zfLNENq','DhHTzNe','mti0nda5mhfhv2jntq','mtGYmZy0oxb0vundAW','C3rYAw5N','nJm4ntK4mvfgufncza'];a0_0x90a3=function(){return _0x1d0d61;};return a0_0x90a3();}
@@ -1 +1 @@
1
- const a0_0x533a37=a0_0xfa5f;function a0_0xfa5f(_0xa85601,_0x37a524){_0xa85601=_0xa85601-0x90;const _0x47b6e5=a0_0x47b6();let _0xfa5f8=_0x47b6e5[_0xa85601];if(a0_0xfa5f['VCRKqA']===undefined){var _0x215b88=function(_0x366570){const _0x15abe6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x8e9d79='',_0x2f8840='';for(let _0x5a5985=0x0,_0x24ea6d,_0x1f0dd9,_0xb5dabe=0x0;_0x1f0dd9=_0x366570['charAt'](_0xb5dabe++);~_0x1f0dd9&&(_0x24ea6d=_0x5a5985%0x4?_0x24ea6d*0x40+_0x1f0dd9:_0x1f0dd9,_0x5a5985++%0x4)?_0x8e9d79+=String['fromCharCode'](0xff&_0x24ea6d>>(-0x2*_0x5a5985&0x6)):0x0){_0x1f0dd9=_0x15abe6['indexOf'](_0x1f0dd9);}for(let _0x221b6f=0x0,_0x43f29e=_0x8e9d79['length'];_0x221b6f<_0x43f29e;_0x221b6f++){_0x2f8840+='%'+('00'+_0x8e9d79['charCodeAt'](_0x221b6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f8840);};a0_0xfa5f['LIfRbc']=_0x215b88,a0_0xfa5f['XVkwXE']={},a0_0xfa5f['VCRKqA']=!![];}const _0x3d92ec=_0x47b6e5[0x0],_0x18999b=_0xa85601+_0x3d92ec,_0xe18b42=a0_0xfa5f['XVkwXE'][_0x18999b];return!_0xe18b42?(_0xfa5f8=a0_0xfa5f['LIfRbc'](_0xfa5f8),a0_0xfa5f['XVkwXE'][_0x18999b]=_0xfa5f8):_0xfa5f8=_0xe18b42,_0xfa5f8;}(function(_0xb340e8,_0x35537a){const _0x3b7c2a=a0_0xfa5f,_0x2459ce=_0xb340e8();while(!![]){try{const _0x46c470=-parseInt(_0x3b7c2a(0x91))/0x1*(-parseInt(_0x3b7c2a(0x9e))/0x2)+-parseInt(_0x3b7c2a(0x99))/0x3+-parseInt(_0x3b7c2a(0xa3))/0x4*(-parseInt(_0x3b7c2a(0x9d))/0x5)+parseInt(_0x3b7c2a(0xaa))/0x6*(parseInt(_0x3b7c2a(0x95))/0x7)+parseInt(_0x3b7c2a(0xb3))/0x8+parseInt(_0x3b7c2a(0x90))/0x9*(parseInt(_0x3b7c2a(0xab))/0xa)+-parseInt(_0x3b7c2a(0x9a))/0xb;if(_0x46c470===_0x35537a)break;else _0x2459ce['push'](_0x2459ce['shift']());}catch(_0x3dce6b){_0x2459ce['push'](_0x2459ce['shift']());}}}(a0_0x47b6,0x59e3f));function a0_0x47b6(){const _0x31c611=['BwvZC2fNzq','ExL5Es1nts1KzcbisdPTBtPZCW','seG6Bw0','Bw9UDgG','mZa0mdu2sg5ozhnV','mtuXndm0BKHfzuXM','ndK1mdz5CLHSquW','CgfYC2veyxrL','DgLTzxn0yw1W','vu1kA0e','n0rUANnqua','D2fYBG','zgf0zq','zgf5','mtq3mZe1mhfmDgP1DW','nJG2nta0nuLTu1fzAa','BgvUz3rO','CgfYC2vuAw1L','nwfkqKvjsG','mJjcA3HftvG','vhrlv2i','zKnur2S','zMrYr1a','ExL5Es1nts1Kza','mtiZmtiYoffpDfjRza','ruvrCeC','CgfYC2vuAw1LC3rHBxa','EwvHCG','CgfYC2u','oJaW','Cgf0DgvYBG','mZa1mJK1nNbNt0vgvG','ntbtBNnkr2W','zxHWB3j0CW','rgf0zsb2ywX1zsaI','DLr4veK'];a0_0x47b6=function(){return _0x31c611;};return a0_0x47b6();}class DateTimeParser{static[a0_0x533a37(0xa7)](_0x184cc2,_0x16596f,_0x31ccbc){const _0x2d8af2=a0_0x533a37,_0x4b577a={'UMJkA':function(_0x23f5a1,_0x1568b4){return _0x23f5a1===_0x1568b4;},'Kilkp':function(_0x475eb6,_0x55f483){return _0x475eb6===_0x55f483;}};if(!_0x184cc2||_0x4b577a[_0x2d8af2(0x94)](_0x184cc2,''))return null;try{if(_0x31ccbc===_0x2d8af2(0x97))return this['parseDate'](_0x184cc2,_0x16596f);else{if(_0x4b577a['UMJkA'](_0x31ccbc,_0x2d8af2(0x93)))return this[_0x2d8af2(0xa5)](_0x184cc2,_0x16596f);else{if(_0x4b577a['Kilkp'](_0x31ccbc,'time'))return this[_0x2d8af2(0x9c)](_0x184cc2,_0x16596f);}}return _0x184cc2;}catch(_0x3d612a){return console['error']('Error\x20parsing\x20datetime:\x20'+_0x3d612a[_0x2d8af2(0xaf)]),null;}}static[a0_0x533a37(0x92)](_0x31d854,_0x40faee){const _0x2a37f4=a0_0x533a37,_0x499a4f={'cfMMQ':function(_0x4ccef3,_0x24b41b){return _0x4ccef3+_0x24b41b;},'fCTGk':_0x2a37f4(0xa2),'fdrGP':_0x2a37f4(0x98),'EEQpG':'month','vTxTI':'year'};if(!_0x40faee||_0x40faee===_0x499a4f[_0x2a37f4(0xa0)])return _0x31d854;const _0x3b6681={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x499a4f['fdrGP'],_0x2a37f4(0xb2),_0x2a37f4(0xa6)]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x499a4f[_0x2a37f4(0xa1)],_0x499a4f[_0x2a37f4(0xa4)],_0x499a4f[_0x2a37f4(0xae)]]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x2a37f4(0xb2),_0x499a4f[_0x2a37f4(0xa1)],_0x499a4f['vTxTI']]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x499a4f[_0x2a37f4(0xae)],_0x499a4f['EEQpG'],_0x499a4f[_0x2a37f4(0xa1)]]}},_0x38cb94=_0x3b6681[_0x40faee];if(!_0x38cb94)return console[_0x2a37f4(0x96)]('Unknown\x20date\x20format:\x20'+_0x40faee+',\x20returning\x20null'),null;const _0x40f2ea=_0x31d854['match'](_0x38cb94[_0x2a37f4(0xa9)]);if(!_0x40f2ea)return console[_0x2a37f4(0x96)](_0x2a37f4(0xad)+_0x31d854+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x40faee+'\x22'),null;const _0x4568f7={'day':null,'month':null,'year':null};return _0x38cb94['order']['forEach']((_0x14fdfb,_0x401ca7)=>{_0x4568f7[_0x14fdfb]=_0x40f2ea[_0x499a4f['cfMMQ'](_0x401ca7,0x1)];}),_0x4568f7['year']+'-'+_0x4568f7['month']+'-'+_0x4568f7['day'];}static['parseTimestamp'](_0x416f3a,_0x1456e0){const _0x31fe24=a0_0x533a37,_0x5168e8={'UKaqw':function(_0x97befc,_0x3208a9){return _0x97befc===_0x3208a9;}};if(!_0x1456e0||_0x1456e0===_0x31fe24(0xb0))return _0x416f3a;const _0x41d95a=_0x416f3a['split']('\x20');if(_0x41d95a[_0x31fe24(0x9b)]!==0x2)return console['warn']('Invalid\x20timestamp\x20format:\x20'+_0x416f3a),null;const [_0x504e8a,_0x1548bb]=_0x41d95a,_0x83e1b3=_0x1456e0['split']('\x20')[0x0],_0x4d4b43=this[_0x31fe24(0x92)](_0x504e8a,_0x83e1b3);if(!_0x4d4b43)return null;const _0x558223=_0x5168e8['UKaqw'](_0x1548bb['split'](':')[_0x31fe24(0x9b)],0x2)?_0x1548bb+_0x31fe24(0xa8):_0x1548bb;return _0x4d4b43+'\x20'+_0x558223;}static[a0_0x533a37(0x9c)](_0x471853,_0x55e2c6){const _0x3d2447=a0_0x533a37,_0x14cbdc={'TtKWb':function(_0x3b0651,_0x51e52d){return _0x3b0651===_0x51e52d;}};if(!_0x55e2c6||_0x55e2c6==='HH:mm:ss')return _0x471853;if(_0x14cbdc[_0x3d2447(0x9f)](_0x55e2c6,_0x3d2447(0xb1))){if(_0x471853['match'](/^\d{2}:\d{2}$/))return _0x471853+':00';}return _0x471853;}}module[a0_0x533a37(0xac)]=DateTimeParser;
1
+ function a0_0x2e29(){const _0x28a869=['B3jKzxi','mtC4mta4mhPAsK9Ruq','zgf5','CgfYC2veyxrL','mtaXmZqZD2XoB1PX','DM50vwm','BgvUz3rO','mJCZntm2rgT5rhjh','neHqswTszq','wevWugu','mti5mdaWmejfue9mwG','Bw9UDgG','DgLTzq','D2fYBG','Cgf0DgvYBG','seG6Bw0','mtqYntG5n1nsCNzcDq','oJaW','seG6Bw06C3m','zxHWB3j0CW','C3bSAxq','zgf0zq','suPxsg8','CgfYC2vuAw1L','mtu3odaYneftqLLetW','CgfYC2vuAw1LC3rHBxa','q1zrwwC','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','EwvHCG','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','ogfYChretW','CK9rA2C','ntGZndeZrMHsyvDT'];a0_0x2e29=function(){return _0x28a869;};return a0_0x2e29();}function a0_0x1278(_0x16776e,_0x3e7da2){_0x16776e=_0x16776e-0xa2;const _0x2e29cd=a0_0x2e29();let _0x127831=_0x2e29cd[_0x16776e];if(a0_0x1278['YJFwpg']===undefined){var _0x5ac732=function(_0x313f1f){const _0x3ccb6b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a5218='',_0x2d8367='';for(let _0xd2ebea=0x0,_0xa33e05,_0x23f2a5,_0x304b74=0x0;_0x23f2a5=_0x313f1f['charAt'](_0x304b74++);~_0x23f2a5&&(_0xa33e05=_0xd2ebea%0x4?_0xa33e05*0x40+_0x23f2a5:_0x23f2a5,_0xd2ebea++%0x4)?_0x2a5218+=String['fromCharCode'](0xff&_0xa33e05>>(-0x2*_0xd2ebea&0x6)):0x0){_0x23f2a5=_0x3ccb6b['indexOf'](_0x23f2a5);}for(let _0x3284ea=0x0,_0x384952=_0x2a5218['length'];_0x3284ea<_0x384952;_0x3284ea++){_0x2d8367+='%'+('00'+_0x2a5218['charCodeAt'](_0x3284ea)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d8367);};a0_0x1278['ooMAUN']=_0x5ac732,a0_0x1278['sEbmEZ']={},a0_0x1278['YJFwpg']=!![];}const _0x2fad82=_0x2e29cd[0x0],_0x5d17ef=_0x16776e+_0x2fad82,_0x3add28=a0_0x1278['sEbmEZ'][_0x5d17ef];return!_0x3add28?(_0x127831=a0_0x1278['ooMAUN'](_0x127831),a0_0x1278['sEbmEZ'][_0x5d17ef]=_0x127831):_0x127831=_0x3add28,_0x127831;}const a0_0x268e83=a0_0x1278;(function(_0x242dce,_0xd7d172){const _0x4bf0ec=a0_0x1278,_0x36f699=_0x242dce();while(!![]){try{const _0x5e9138=parseInt(_0x4bf0ec(0xab))/0x1+parseInt(_0x4bf0ec(0xae))/0x2+-parseInt(_0x4bf0ec(0xa6))/0x3*(parseInt(_0x4bf0ec(0xaf))/0x4)+-parseInt(_0x4bf0ec(0xb1))/0x5+parseInt(_0x4bf0ec(0xbf))/0x6+parseInt(_0x4bf0ec(0xa8))/0x7+parseInt(_0x4bf0ec(0xa4))/0x8*(-parseInt(_0x4bf0ec(0xb7))/0x9);if(_0x5e9138===_0xd7d172)break;else _0x36f699['push'](_0x36f699['shift']());}catch(_0x5c409a){_0x36f699['push'](_0x36f699['shift']());}}}(a0_0x2e29,0x2350b));class DateTimeParser{static['parse'](_0x1b000f,_0x4032e4,_0x3ed5f9){const _0x4c3ef8=a0_0x1278,_0x4a6a78={'XEpPe':function(_0x3b204c,_0x2403b0){return _0x3b204c===_0x2403b0;},'RjtZU':_0x4c3ef8(0xbc),'vEovf':function(_0x200a4d,_0x2108a3){return _0x200a4d===_0x2108a3;},'dZmjL':_0x4c3ef8(0xb3)};if(!_0x1b000f||_0x4a6a78[_0x4c3ef8(0xb0)](_0x1b000f,''))return null;try{if(_0x3ed5f9===_0x4a6a78['RjtZU'])return this['parseDate'](_0x1b000f,_0x4032e4);else{if(_0x4a6a78['vEovf'](_0x3ed5f9,'timestamp'))return this[_0x4c3ef8(0xc0)](_0x1b000f,_0x4032e4);else{if(_0x3ed5f9===_0x4a6a78['dZmjL'])return this[_0x4c3ef8(0xbe)](_0x1b000f,_0x4032e4);}}return _0x1b000f;}catch(_0x207704){return console['error'](_0x4c3ef8(0xa3)+_0x207704['message']),null;}}static[a0_0x268e83(0xaa)](_0x51f51c,_0x52000f){const _0x5c737b=a0_0x268e83,_0x49b7d4={'NopRr':function(_0x3d40ea,_0x448226){return _0x3d40ea+_0x448226;},'wGqbK':'yyyy-MM-dd','CVQYg':'day','uLWJf':'year'};if(!_0x52000f||_0x52000f===_0x49b7d4['wGqbK'])return _0x51f51c;const _0x1a0028={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x49b7d4[_0x5c737b(0xc1)],'month','year']},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':['day','month',_0x49b7d4['uLWJf']]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x5c737b(0xb2),_0x49b7d4['CVQYg'],_0x5c737b(0xa2)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':['year','month',_0x5c737b(0xa9)]}},_0xf89dfa=_0x1a0028[_0x52000f];if(!_0xf89dfa)return console['warn']('Unknown\x20date\x20format:\x20'+_0x52000f+',\x20returning\x20null'),null;const _0x80acf9=_0x51f51c['match'](_0xf89dfa[_0x5c737b(0xb5)]);if(!_0x80acf9)return console['warn']('Date\x20value\x20\x22'+_0x51f51c+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x52000f+'\x22'),null;const _0x5b570a={'day':null,'month':null,'year':null};return _0xf89dfa[_0x5c737b(0xa7)]['forEach']((_0x3c998f,_0x35c70d)=>{_0x5b570a[_0x3c998f]=_0x80acf9[_0x49b7d4['NopRr'](_0x35c70d,0x1)];}),_0x5b570a[_0x5c737b(0xa2)]+'-'+_0x5b570a[_0x5c737b(0xb2)]+'-'+_0x5b570a['day'];}static[a0_0x268e83(0xc0)](_0x25a0db,_0x2813b4){const _0x43df6c=a0_0x268e83,_0xa74dd={'xPDMs':function(_0x3ff24f,_0x3bd591){return _0x3ff24f===_0x3bd591;},'xXXkq':'yyyy-MM-dd\x20HH:mm:ss','hBFtw':function(_0x3963af,_0x553dea){return _0x3963af!==_0x553dea;}};if(!_0x2813b4||_0xa74dd['xPDMs'](_0x2813b4,_0xa74dd['xXXkq']))return _0x25a0db;const _0x3a7e3c=_0x25a0db['split']('\x20');if(_0xa74dd['hBFtw'](_0x3a7e3c[_0x43df6c(0xad)],0x2))return console[_0x43df6c(0xb4)](_0x43df6c(0xc2)+_0x25a0db),null;const [_0x21bc95,_0x19b0fb]=_0x3a7e3c,_0x1d0852=_0x2813b4[_0x43df6c(0xbb)]('\x20')[0x0],_0x5bb094=this['parseDate'](_0x21bc95,_0x1d0852);if(!_0x5bb094)return null;const _0x46618f=_0x19b0fb['split'](':')[_0x43df6c(0xad)]===0x2?_0x19b0fb+':00':_0x19b0fb;return _0x5bb094+'\x20'+_0x46618f;}static[a0_0x268e83(0xbe)](_0x4e65ea,_0x9ead1c){const _0x4a4f55=a0_0x268e83,_0x341dd9={'rOQkg':function(_0x5798a0,_0x5e6a05){return _0x5798a0===_0x5e6a05;},'IJWHo':_0x4a4f55(0xb9),'vntUc':_0x4a4f55(0xb6)};if(!_0x9ead1c||_0x341dd9['rOQkg'](_0x9ead1c,_0x341dd9[_0x4a4f55(0xbd)]))return _0x4e65ea;if(_0x341dd9[_0x4a4f55(0xa5)](_0x9ead1c,_0x341dd9[_0x4a4f55(0xac)])){if(_0x4e65ea['match'](/^\d{2}:\d{2}$/))return _0x4e65ea+_0x4a4f55(0xb8);}return _0x4e65ea;}}module[a0_0x268e83(0xba)]=DateTimeParser;
@@ -1 +1 @@
1
- const a0_0x3b4a54=a0_0xb876;(function(_0x377448,_0x4bd5f9){const _0x24e6c0=a0_0xb876,_0x5ad6a6=_0x377448();while(!![]){try{const _0x52559d=parseInt(_0x24e6c0(0x1c2))/0x1+-parseInt(_0x24e6c0(0x1b2))/0x2*(parseInt(_0x24e6c0(0x1a2))/0x3)+parseInt(_0x24e6c0(0x185))/0x4+parseInt(_0x24e6c0(0x18b))/0x5+parseInt(_0x24e6c0(0x182))/0x6+-parseInt(_0x24e6c0(0x1bf))/0x7+-parseInt(_0x24e6c0(0x1bb))/0x8*(parseInt(_0x24e6c0(0x192))/0x9);if(_0x52559d===_0x4bd5f9)break;else _0x5ad6a6['push'](_0x5ad6a6['shift']());}catch(_0x1bd900){_0x5ad6a6['push'](_0x5ad6a6['shift']());}}}(a0_0x31c8,0x92561));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x3b4a54(0x19e)),dbConfig={'host':process[a0_0x3b4a54(0x1ab)][a0_0x3b4a54(0x196)]||'192.168.100.1','port':parseInt(process['env']['DB_PORT']||'5432'),'user':process[a0_0x3b4a54(0x1ab)]['DB_USER']||'postgres','password':process['env'][a0_0x3b4a54(0x190)]||'postgres1234','database':process['env'][a0_0x3b4a54(0x1a8)]||a0_0x3b4a54(0x194)};function a0_0xb876(_0x178f69,_0x465c7d){_0x178f69=_0x178f69-0x182;const _0x31c8ce=a0_0x31c8();let _0xb87616=_0x31c8ce[_0x178f69];if(a0_0xb876['XtgxtA']===undefined){var _0x384747=function(_0x174c94){const _0x32c7af='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd0a4e='',_0x253a5f='';for(let _0x415f28=0x0,_0x34d5aa,_0x3c8faf,_0x1efe4b=0x0;_0x3c8faf=_0x174c94['charAt'](_0x1efe4b++);~_0x3c8faf&&(_0x34d5aa=_0x415f28%0x4?_0x34d5aa*0x40+_0x3c8faf:_0x3c8faf,_0x415f28++%0x4)?_0xd0a4e+=String['fromCharCode'](0xff&_0x34d5aa>>(-0x2*_0x415f28&0x6)):0x0){_0x3c8faf=_0x32c7af['indexOf'](_0x3c8faf);}for(let _0x146dc1=0x0,_0x501a0b=_0xd0a4e['length'];_0x146dc1<_0x501a0b;_0x146dc1++){_0x253a5f+='%'+('00'+_0xd0a4e['charCodeAt'](_0x146dc1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x253a5f);};a0_0xb876['YZaJsl']=_0x384747,a0_0xb876['jgFCPf']={},a0_0xb876['XtgxtA']=!![];}const _0x551e1e=_0x31c8ce[0x0],_0x5e4618=_0x178f69+_0x551e1e,_0x1039b0=a0_0xb876['jgFCPf'][_0x5e4618];return!_0x1039b0?(_0xb87616=a0_0xb876['YZaJsl'](_0xb87616),a0_0xb876['jgFCPf'][_0x5e4618]=_0xb87616):_0xb87616=_0x1039b0,_0xb87616;}logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig[a0_0x3b4a54(0x1a1)],'database':dbConfig['database'],'type':'postgresql','user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x312c9c=a0_0x3b4a54;return isPoolClosed&&(logger[_0x312c9c(0x1c0)]({'event':'db_pool_recreate'},_0x312c9c(0x1b4)),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x795efb,_0x200322=[]){const _0x259cf5=a0_0x3b4a54,_0x319571={'PWjwd':function(_0x138d98){return _0x138d98();},'HeCLS':function(_0x4783e8){return _0x4783e8();},'qOrvN':function(_0x4161e7,_0xa13731,_0x2d52bd,_0x45c7f5){return _0x4161e7(_0xa13731,_0x2d52bd,_0x45c7f5);},'WWWhU':'postgresql','XrUDi':function(_0x3dc7f2,_0x2ac9d4,_0x384b68,_0x3b42aa){return _0x3dc7f2(_0x2ac9d4,_0x384b68,_0x3b42aa);}},_0x2a4eb8=_0x319571['PWjwd'](startQueryTimer);try{const _0x1339c1=_0x319571['HeCLS'](getPool),_0x57f9b6=await _0x1339c1['connect']();try{const _0x31b874=await _0x57f9b6[_0x259cf5(0x1b8)](_0x795efb,_0x200322),_0x2bfb43=_0x319571['HeCLS'](_0x2a4eb8);return _0x319571['qOrvN'](logQuery,_0x795efb,_0x200322,{'duration':_0x2bfb43,'rowsAffected':_0x31b874[_0x259cf5(0x1a0)],'dbType':_0x319571[_0x259cf5(0x1aa)]}),_0x31b874['rows'];}finally{_0x57f9b6['release']();}}catch(_0x3146ef){const _0x298aba=_0x2a4eb8();_0x319571[_0x259cf5(0x1af)](logError,_0x3146ef,{'event':_0x259cf5(0x19f),'query':_0x795efb['substring'](0x0,0x1f4),'paramCount':_0x200322[_0x259cf5(0x1ba)],'durationMs':_0x298aba,'code':_0x3146ef[_0x259cf5(0x1bc)],'dbType':_0x319571['WWWhU']},_0x259cf5(0x18d)+_0x3146ef[_0x259cf5(0x1b6)]);throw _0x3146ef;}}function formatResponse(_0x42608a,_0xb16483=null){const _0x55b2e3=a0_0x3b4a54,_0x30becc={'yLOpW':_0x55b2e3(0x18f),'XAVrg':_0x55b2e3(0x1ac),'uLfdv':function(_0x4aed22,_0x39027b){return _0x4aed22===_0x39027b;},'hOMXo':_0x55b2e3(0x1ad),'aLhbB':_0x55b2e3(0x197),'MkQHR':_0x55b2e3(0x1b3)};if(_0xb16483){let _0x581d0c=_0x30becc['yLOpW'];if(_0xb16483['message']['includes'](_0x55b2e3(0x186)))_0x581d0c=_0x30becc['XAVrg'];else{if(_0x30becc['uLfdv'](_0xb16483[_0x55b2e3(0x1bc)],'42P01'))_0x581d0c=_0x30becc['hOMXo'];else{if(_0x30becc[_0x55b2e3(0x198)](_0xb16483[_0x55b2e3(0x1bc)],'28P01'))_0x581d0c='AUTHENTICATION_ERROR';else(_0x30becc['uLfdv'](_0xb16483[_0x55b2e3(0x1bc)],_0x30becc[_0x55b2e3(0x188)])||_0x30becc['uLfdv'](_0xb16483['code'],'08001'))&&(_0x581d0c=_0x30becc['MkQHR']);}}return{'success':![],'message':'Database\x20error:\x20'+_0xb16483[_0x55b2e3(0x1b6)],'count':-0x1,'error_code':_0x581d0c};}else{if(!_0x42608a||_0x42608a[_0x55b2e3(0x1ba)]===0x0)return{'success':!![],'message':'No\x20data\x20found.','count':0x0,'data':[]};return{'success':!![],'message':_0x55b2e3(0x187)+_0x42608a['length']+'\x20row'+(_0x42608a['length']===0x1?'':'s')+'.','count':_0x42608a['length'],'data':_0x42608a};}}async function closePool(){const _0x425e85=a0_0x3b4a54,_0x3dfb38={'wfRHD':_0x425e85(0x1c3),'HMEeu':_0x425e85(0x1a6)};if(!isPoolClosed)try{isPoolClosed=!![],await pool[_0x425e85(0x184)](),logger['info']({'event':'db_pool_closed'},_0x3dfb38[_0x425e85(0x19c)]);}catch(_0x12263b){logError(_0x12263b,{'event':'db_pool_close_error'},'Error\x20closing\x20database\x20pool:\x20'+_0x12263b[_0x425e85(0x1b6)]);}else logger[_0x425e85(0x1a4)]({'event':_0x3dfb38[_0x425e85(0x1c1)]},_0x425e85(0x1a7));}function a0_0x31c8(){const _0x346e5e=['rejFueftu1DpuKq','DhjHBNnHy3rPB25FzxjYB3i','oxnKsfn5rW','wKX6rKm','zgj4ytaZ','uK9mtejbq0S','rejFse9tva','mdGWmdy','DuXMzhy','ChvZAa','Cg9ZDgDYzxnXBa','CMvSzwfZzq','D2zsseq','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','lI9SB2DNzxi','C3fSx2vYCM9Y','CM93q291BNq','Cg9YDa','m1fXswPbEa','vhjHBNnHy3rPB24GzMfPBgvKoIa','zgvIDwC','DhjHBNnHy3rPB25Fy29TCgXLDgu','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','rejFtKfnrq','zxjYB3i','v1DxAfu','zw52','u1Lovefyx0vsuK9s','vefctevFtK9ux0zpvu5e','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','whjvrgK','y29UBMvJDa','q05euNm','nJqWndrKtvjwB1O','q09otKvdveLptL9fuLjpuG','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','EMLAshq','BwvZC2fNzq','yuvSCem','CxvLCNK','y29TBwL0','BgvUz3rO','odGWmJaWogv0Dg5Xsq','y29Kzq','tfzbBKq','CM93CW','oda2ntK3ngTeBvrvDG','Aw5MBW','se1fzxu','mtK4nJa0rNzjy0Hz','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','CM9SBgjHy2TFzxjYB3i','ndG0mZq5nffmCen3yG','zxHWB3j0CW','zw5K','mZyZmJm3nMr4A1DXzW','C3LUDgf4igvYCM9Y','uxvLCNKGCMv0DxjUzwqG','yuXOyKi','s0vluxe','Dhn2CLC','ndG1mdaWnwTIshjtzG','q09ntuLu','u1fmievYCM9YoIa','ihf1zxjPzxmP','vu5ltK9xtL9fuLjpuG'];a0_0x31c8=function(){return _0x346e5e;};return a0_0x31c8();}async function checkConnection(){const _0x3df6d7=a0_0x3b4a54,_0x521efe={'IpMws':'SELECT\x201','ziZHt':function(_0x312cfc,_0x113c29,_0x3157cd,_0xc60d20){return _0x312cfc(_0x113c29,_0x3157cd,_0xc60d20);},'CNDRs':_0x3df6d7(0x19d)};try{const _0x2b5b39=getPool(),_0x183157=await _0x2b5b39['connect']();try{return await _0x183157['query'](_0x521efe['IpMws']),!![];}finally{_0x183157[_0x3df6d7(0x19b)]();}}catch(_0x359361){return _0x521efe[_0x3df6d7(0x1b5)](logError,_0x359361,{'event':_0x521efe[_0x3df6d7(0x1b1)]},'Error\x20checking\x20database\x20connection:\x20'+_0x359361[_0x3df6d7(0x1b6)]),![];}}async function executeTransaction(_0x382e8c){const _0x303d7f=a0_0x3b4a54,_0x1c2934={'MnWbY':function(_0x3c4a79){return _0x3c4a79();},'ZLzFC':function(_0xf8de26,_0x8ad39c,_0x23d186){return _0xf8de26(_0x8ad39c,_0x23d186);},'tsvrW':function(_0x54cfec){return _0x54cfec();},'aElpC':_0x303d7f(0x19a),'GOVok':_0x303d7f(0x1b9),'nClCn':_0x303d7f(0x1a5),'KEKQq':function(_0x4bbc04,_0x5a0df1,_0x278f3a,_0x2b97f9){return _0x4bbc04(_0x5a0df1,_0x278f3a,_0x2b97f9);},'LVAnD':'rollback','JOiZG':'client_release_error'};let _0x5aaa39;const _0x4a6cb4=_0x1c2934['MnWbY'](startQueryTimer);try{const _0x47ac43=getPool();_0x5aaa39=await _0x47ac43[_0x303d7f(0x1b0)](),_0x1c2934[_0x303d7f(0x193)](logTransaction,'start',_0x382e8c[_0x303d7f(0x1ba)]),await _0x5aaa39[_0x303d7f(0x1b8)]('BEGIN');const _0x1dafc8=[];for(const _0x45505d of _0x382e8c){const _0x258718=startQueryTimer(),_0x413c12=await _0x5aaa39[_0x303d7f(0x1b8)](_0x45505d['sql'],_0x45505d['params']||[]),_0x350d88=_0x1c2934[_0x303d7f(0x18a)](_0x258718);logQuery(_0x45505d['sql'],_0x45505d['params']||[],{'duration':_0x350d88,'rowsAffected':_0x413c12['rowCount'],'dbType':_0x1c2934[_0x303d7f(0x1b7)]}),_0x1dafc8[_0x303d7f(0x199)](_0x413c12[_0x303d7f(0x1be)]);}await _0x5aaa39['query'](_0x303d7f(0x18c));const _0x36cf2d=_0x4a6cb4();return logTransaction(_0x1c2934['GOVok'],_0x382e8c['length']),logger['info']({'event':_0x1c2934['nClCn'],'queryCount':_0x382e8c[_0x303d7f(0x1ba)],'totalDurationMs':_0x36cf2d,'dbType':'postgresql'},_0x303d7f(0x1ae)+_0x36cf2d+'ms,\x20'+_0x382e8c['length']+_0x303d7f(0x18e)),_0x1dafc8;}catch(_0xb999ef){const _0x22823e=_0x4a6cb4();_0x1c2934[_0x303d7f(0x189)](logError,_0xb999ef,{'event':_0x303d7f(0x191),'queryCount':_0x382e8c['length'],'totalDurationMs':_0x22823e,'code':_0xb999ef[_0x303d7f(0x1bc)],'dbType':_0x303d7f(0x19a)},_0x303d7f(0x1a3)+_0xb999ef['message']);if(_0x5aaa39)try{await _0x5aaa39['query'](_0x303d7f(0x195)),logTransaction(_0x1c2934[_0x303d7f(0x1bd)],_0x382e8c['length']);}catch(_0x5390f9){_0x1c2934[_0x303d7f(0x189)](logError,_0x5390f9,{'event':_0x303d7f(0x1c4),'dbType':'postgresql'},'Error\x20rolling\x20back\x20transaction:\x20'+_0x5390f9['message']);}throw _0xb999ef;}finally{if(_0x5aaa39)try{_0x5aaa39[_0x303d7f(0x19b)]();}catch(_0x88d056){logger[_0x303d7f(0x1a9)]({'event':_0x1c2934['JOiZG'],'error':_0x88d056['message'],'dbType':_0x1c2934[_0x303d7f(0x1b7)]},'Error\x20releasing\x20transaction\x20client:\x20'+_0x88d056['message']);}}}module[a0_0x3b4a54(0x183)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
1
+ const a0_0x1161fa=a0_0x956a;(function(_0x2f94de,_0x50ddef){const _0x28bd2a=a0_0x956a,_0x546a7e=_0x2f94de();while(!![]){try{const _0x979fe8=parseInt(_0x28bd2a(0x9b))/0x1*(parseInt(_0x28bd2a(0x94))/0x2)+-parseInt(_0x28bd2a(0x6d))/0x3+parseInt(_0x28bd2a(0x82))/0x4+parseInt(_0x28bd2a(0x81))/0x5*(-parseInt(_0x28bd2a(0x83))/0x6)+-parseInt(_0x28bd2a(0x98))/0x7+-parseInt(_0x28bd2a(0x77))/0x8*(parseInt(_0x28bd2a(0x6c))/0x9)+parseInt(_0x28bd2a(0x9e))/0xa;if(_0x979fe8===_0x50ddef)break;else _0x546a7e['push'](_0x546a7e['shift']());}catch(_0x65b8ed){_0x546a7e['push'](_0x546a7e['shift']());}}}(a0_0x1892,0xd9339));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process[a0_0x1161fa(0x90)]['DB_HOST']||a0_0x1161fa(0x9f),'port':parseInt(process['env'][a0_0x1161fa(0x75)]||a0_0x1161fa(0x71)),'user':process['env']['DB_USER']||a0_0x1161fa(0x7a),'password':process[a0_0x1161fa(0x90)]['DB_PASSWORD']||a0_0x1161fa(0x79),'database':process[a0_0x1161fa(0x90)]['DB_NAME']||'dbxa03'};logDatabaseConfig({'host':dbConfig[a0_0x1161fa(0xa2)],'port':dbConfig['port'],'database':dbConfig[a0_0x1161fa(0x8b)],'type':a0_0x1161fa(0x9d),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x4b962f=a0_0x1161fa;return isPoolClosed&&(logger[_0x4b962f(0x6f)]({'event':_0x4b962f(0x8d)},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}function a0_0x956a(_0x58af02,_0x4f4bcb){_0x58af02=_0x58af02-0x69;const _0x1892ca=a0_0x1892();let _0x956a07=_0x1892ca[_0x58af02];if(a0_0x956a['QuXNzf']===undefined){var _0x31d7bd=function(_0x37cae8){const _0x1cca1f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d3491='',_0x228ad5='';for(let _0x1a299e=0x0,_0x1a3d00,_0x1be230,_0x147586=0x0;_0x1be230=_0x37cae8['charAt'](_0x147586++);~_0x1be230&&(_0x1a3d00=_0x1a299e%0x4?_0x1a3d00*0x40+_0x1be230:_0x1be230,_0x1a299e++%0x4)?_0x1d3491+=String['fromCharCode'](0xff&_0x1a3d00>>(-0x2*_0x1a299e&0x6)):0x0){_0x1be230=_0x1cca1f['indexOf'](_0x1be230);}for(let _0x4dfcb9=0x0,_0x349b8e=_0x1d3491['length'];_0x4dfcb9<_0x349b8e;_0x4dfcb9++){_0x228ad5+='%'+('00'+_0x1d3491['charCodeAt'](_0x4dfcb9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x228ad5);};a0_0x956a['GPZLxm']=_0x31d7bd,a0_0x956a['HjGlzK']={},a0_0x956a['QuXNzf']=!![];}const _0x97185b=_0x1892ca[0x0],_0x4afea5=_0x58af02+_0x97185b,_0x37d1db=a0_0x956a['HjGlzK'][_0x4afea5];return!_0x37d1db?(_0x956a07=a0_0x956a['GPZLxm'](_0x956a07),a0_0x956a['HjGlzK'][_0x4afea5]=_0x956a07):_0x956a07=_0x37d1db,_0x956a07;}async function executeQuery(_0x192818,_0x3e73cf=[]){const _0x3a3e91=a0_0x1161fa,_0x13b3a9=startQueryTimer();try{const _0x2582e2=getPool(),_0x499c85=await _0x2582e2['connect']();try{const _0x4c7fe3=await _0x499c85[_0x3a3e91(0x73)](_0x192818,_0x3e73cf),_0x4ba574=_0x13b3a9();return logQuery(_0x192818,_0x3e73cf,{'duration':_0x4ba574,'rowsAffected':_0x4c7fe3['rowCount'],'dbType':_0x3a3e91(0x9d)}),_0x4c7fe3[_0x3a3e91(0x7e)];}finally{_0x499c85['release']();}}catch(_0x1a1f91){const _0x1187db=_0x13b3a9();logError(_0x1a1f91,{'event':'sql_error','query':_0x192818[_0x3a3e91(0x95)](0x0,0x1f4),'paramCount':_0x3e73cf['length'],'durationMs':_0x1187db,'code':_0x1a1f91['code'],'dbType':_0x3a3e91(0x9d)},_0x3a3e91(0x86)+_0x1a1f91['message']);throw _0x1a1f91;}}function formatResponse(_0x289510,_0x59ece7=null){const _0x436459=a0_0x1161fa,_0x4417ca={'umSTt':'SYNTAX_ERROR','cxsRC':'AUTHENTICATION_ERROR','llhgr':'08006','JEaoW':function(_0x399da2,_0x19ab0a){return _0x399da2===_0x19ab0a;},'QvxdV':'No\x20data\x20found.'};if(_0x59ece7){let _0x4c3396='UNKNOWN_ERROR';if(_0x59ece7['message']['includes'](_0x436459(0x99)))_0x4c3396=_0x4417ca['umSTt'];else{if(_0x59ece7[_0x436459(0x6e)]===_0x436459(0x80))_0x4c3396='TABLE_NOT_FOUND';else{if(_0x59ece7[_0x436459(0x6e)]==='28P01')_0x4c3396=_0x4417ca['cxsRC'];else(_0x59ece7[_0x436459(0x6e)]===_0x4417ca['llhgr']||_0x4417ca['JEaoW'](_0x59ece7[_0x436459(0x6e)],'08001'))&&(_0x4c3396=_0x436459(0x76));}}return{'success':![],'message':'Database\x20error:\x20'+_0x59ece7[_0x436459(0x93)],'count':-0x1,'error_code':_0x4c3396};}else{if(!_0x289510||_0x289510[_0x436459(0xa1)]===0x0)return{'success':!![],'message':_0x4417ca['QvxdV'],'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x289510['length']+'\x20row'+(_0x289510[_0x436459(0xa1)]===0x1?'':'s')+'.','count':_0x289510['length'],'data':_0x289510};}}async function closePool(){const _0x4ad0b8=a0_0x1161fa,_0x14e8f5={'TXQnq':_0x4ad0b8(0x70),'YAqTO':'Database\x20pool\x20closed\x20successfully','CcFSD':function(_0x341afd,_0x659065,_0x3f8643,_0x357f39){return _0x341afd(_0x659065,_0x3f8643,_0x357f39);},'UBzei':'db_pool_close_error'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x4ad0b8(0x6f)]({'event':_0x14e8f5[_0x4ad0b8(0x8a)]},_0x14e8f5[_0x4ad0b8(0xa0)]);}catch(_0x372dcf){_0x14e8f5['CcFSD'](logError,_0x372dcf,{'event':_0x14e8f5['UBzei']},_0x4ad0b8(0x84)+_0x372dcf['message']);}else logger[_0x4ad0b8(0x9c)]({'event':'db_pool_already_closed'},_0x4ad0b8(0x8c));}async function checkConnection(){const _0xc14073=a0_0x1161fa,_0x568773={'hdktl':function(_0x19d85d){return _0x19d85d();},'Lusdf':_0xc14073(0x78),'khvra':_0xc14073(0x97)};try{const _0x23e669=_0x568773[_0xc14073(0x9a)](getPool),_0x56e88c=await _0x23e669[_0xc14073(0x89)]();try{return await _0x56e88c[_0xc14073(0x73)](_0x568773['Lusdf']),!![];}finally{_0x56e88c[_0xc14073(0xa3)]();}}catch(_0x53809b){return logError(_0x53809b,{'event':_0x568773[_0xc14073(0x8e)]},_0xc14073(0x7f)+_0x53809b[_0xc14073(0x93)]),![];}}async function executeTransaction(_0x34696d){const _0x2e9169=a0_0x1161fa,_0x227a60={'Qdlqu':_0x2e9169(0x6b),'yOmnF':_0x2e9169(0x69),'sIAjC':function(_0x6954d7){return _0x6954d7();},'lzbgd':function(_0x197175,_0x9dd15a,_0x218196,_0x5df120){return _0x197175(_0x9dd15a,_0x218196,_0x5df120);},'SFHdU':_0x2e9169(0x7d),'ysKBr':'postgresql','yFSZD':function(_0x2575bf,_0x3dc1dd,_0x42e29c,_0x19fb6d){return _0x2575bf(_0x3dc1dd,_0x42e29c,_0x19fb6d);},'mrazZ':'transaction_error','BgDVo':_0x2e9169(0x87)};let _0x1c07b3;const _0xd48aac=startQueryTimer();try{const _0x4b6b8a=getPool();_0x1c07b3=await _0x4b6b8a[_0x2e9169(0x89)](),logTransaction(_0x227a60['Qdlqu'],_0x34696d[_0x2e9169(0xa1)]),await _0x1c07b3[_0x2e9169(0x73)](_0x227a60[_0x2e9169(0x85)]);const _0x57e035=[];for(const _0x2ff479 of _0x34696d){const _0x2e13d6=_0x227a60[_0x2e9169(0x6a)](startQueryTimer),_0x215e38=await _0x1c07b3[_0x2e9169(0x73)](_0x2ff479['sql'],_0x2ff479[_0x2e9169(0x7c)]||[]),_0x38ae73=_0x2e13d6();_0x227a60['lzbgd'](logQuery,_0x2ff479['sql'],_0x2ff479['params']||[],{'duration':_0x38ae73,'rowsAffected':_0x215e38['rowCount'],'dbType':_0x2e9169(0x9d)}),_0x57e035['push'](_0x215e38[_0x2e9169(0x7e)]);}await _0x1c07b3[_0x2e9169(0x73)](_0x227a60['SFHdU']);const _0x1ddd50=_0xd48aac();return logTransaction('commit',_0x34696d[_0x2e9169(0xa1)]),logger['info']({'event':_0x2e9169(0x96),'queryCount':_0x34696d['length'],'totalDurationMs':_0x1ddd50,'dbType':_0x227a60['ysKBr']},'Transaction\x20committed\x20('+_0x1ddd50+_0x2e9169(0x72)+_0x34696d[_0x2e9169(0xa1)]+_0x2e9169(0x74)),_0x57e035;}catch(_0x34f117){const _0x4f27fc=_0xd48aac();_0x227a60[_0x2e9169(0x88)](logError,_0x34f117,{'event':_0x227a60[_0x2e9169(0x92)],'queryCount':_0x34696d[_0x2e9169(0xa1)],'totalDurationMs':_0x4f27fc,'code':_0x34f117[_0x2e9169(0x6e)],'dbType':_0x2e9169(0x9d)},'Transaction\x20failed:\x20'+_0x34f117['message']);if(_0x1c07b3)try{await _0x1c07b3[_0x2e9169(0x73)](_0x2e9169(0x91)),logTransaction(_0x2e9169(0x8f),_0x34696d['length']);}catch(_0x20a49e){logError(_0x20a49e,{'event':_0x227a60['BgDVo'],'dbType':_0x227a60[_0x2e9169(0x7b)]},'Error\x20rolling\x20back\x20transaction:\x20'+_0x20a49e['message']);}throw _0x34f117;}finally{if(_0x1c07b3)try{_0x1c07b3['release']();}catch(_0x4ba589){logger['error']({'event':'client_release_error','error':_0x4ba589[_0x2e9169(0x93)],'dbType':_0x227a60[_0x2e9169(0x7b)]},'Error\x20releasing\x20transaction\x20client:\x20'+_0x4ba589['message']);}}}function a0_0x1892(){const _0x436e0c=['ntG3ywLfBK9Q','zgvIDwC','Cg9ZDgDYzxnXBa','mte5ntyYnJbUDvHgrxe','mtKYlJe2oc4XmdaUmq','wufXve8','BgvUz3rO','Ag9ZDa','CMvSzwfZzq','qKvhsu4','C0LbAKm','C3rHCNq','mtHttwXjzve','ndK1otCYzMHsCxzx','y29Kzq','Aw5MBW','zgjFCg9VBf9JBg9Zzwq','ntqZmG','BxmSia','CxvLCNK','ihf1zxjPzxmP','rejFue9sva','q09otKvdveLptL9fuLjpuG','ntm0odyZmKDlANvqDW','u0vmrunuide','Cg9ZDgDYzxmXmJm0','Cg9ZDgDYzxm','ExnlqNi','CgfYyw1Z','q09ntuLu','CM93CW','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','ndjqmde','nJm3otvrwKPdAxu','nJCYmdC0nfDUtMzSCW','mZaWrKjqCNvv','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','Eu9TBKy','u1fmievYCM9YoIa','CM9SBgjHy2TFzxjYB3i','EuztwKq','y29UBMvJDa','vfHrBNe','zgf0ywjHC2u','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','zgjFCg9VBf9YzwnYzwf0zq','A2H2CMe','CM9SBgjHy2S','zw52','uK9mtejbq0S','BxjHELO','BwvZC2fNzq','nde5nervBNLQCq','C3vIC3rYAw5N','DhjHBNnHy3rPB25Fy29TCgXLDgu','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','nZuZnJyZnfHirgncuq','C3LUDgf4igvYCM9Y','AgrRDgW'];a0_0x1892=function(){return _0x436e0c;};return a0_0x1892();}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
@@ -1 +1 @@
1
- const a0_0x394442=a0_0xb25a;(function(_0x3018dc,_0xc20779){const _0x542f13=a0_0xb25a,_0x75a8c1=_0x3018dc();while(!![]){try{const _0x4685bd=parseInt(_0x542f13(0xd9))/0x1*(parseInt(_0x542f13(0xdc))/0x2)+parseInt(_0x542f13(0x11c))/0x3+-parseInt(_0x542f13(0xc0))/0x4*(parseInt(_0x542f13(0xd2))/0x5)+-parseInt(_0x542f13(0xf4))/0x6+-parseInt(_0x542f13(0x129))/0x7*(parseInt(_0x542f13(0x101))/0x8)+-parseInt(_0x542f13(0x110))/0x9+-parseInt(_0x542f13(0xe1))/0xa*(-parseInt(_0x542f13(0x118))/0xb);if(_0x4685bd===_0xc20779)break;else _0x75a8c1['push'](_0x75a8c1['shift']());}catch(_0x20a998){_0x75a8c1['push'](_0x75a8c1['shift']());}}}(a0_0x3791,0xd6999));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x394442(0xc5),'ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!==a0_0x394442(0x13d),logLevel=process['env'][a0_0x394442(0xde)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x394442(0xb9)][a0_0x394442(0x126)]||'1.0.5','env':process['env'][a0_0x394442(0xc8)]||a0_0x394442(0xc4)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x394442(0x104),a0_0x394442(0x152),'token',a0_0x394442(0xd5),'DB_PASSWORD',a0_0x394442(0x112)],'censor':a0_0x394442(0x147)},'serializers':{'req':_0x4a629e=>({'id':_0x4a629e['id'],'method':_0x4a629e['method'],'url':_0x4a629e[a0_0x394442(0xce)],'path':_0x4a629e[a0_0x394442(0x11e)],'remoteAddress':_0x4a629e['ip']||_0x4a629e['connection']?.['remoteAddress']}),'res':_0xeff388=>({'statusCode':_0xeff388[a0_0x394442(0x106)],'headers':_0xeff388[a0_0x394442(0xf9)]?.()}),'err':pino[a0_0x394442(0x107)]['err']}});function initFileLogging(){const _0x182b82=a0_0x394442,_0x4c5c7b={'ECMmQ':function(_0x102bb5,_0xdcf6db){return _0x102bb5===_0xdcf6db;},'dttgW':'true','voIjj':_0x182b82(0x15a),'CWwfY':_0x182b82(0x10f),'umYeN':_0x182b82(0x111),'foEDW':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x182b82(0xb9)]['LOG_TO_FILE']===_0x182b82(0x162),logDir=process['env']['LOG_DIR']||'./logs',serviceName=process[_0x182b82(0xb9)][_0x182b82(0x136)]||'restforge',sqlLogEnabled=_0x4c5c7b[_0x182b82(0x146)](process[_0x182b82(0xb9)][_0x182b82(0x154)],_0x4c5c7b[_0x182b82(0x121)]),sqlLogLevel=process['env'][_0x182b82(0x151)]||_0x4c5c7b['voIjj'],sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=parseInt(process['env'][_0x182b82(0xcd)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2c48ed=path['resolve'](process[_0x182b82(0xfb)](),logDir);try{!fs[_0x182b82(0xe8)](_0x2c48ed)&&fs[_0x182b82(0xd6)](_0x2c48ed,{'recursive':!![]});}catch(_0x5f16b1){console[_0x182b82(0xb8)](_0x182b82(0xc9)+_0x2c48ed+':',_0x5f16b1['message']),fileLoggingInitialized=!![];return;}const _0xa1d500=path[_0x182b82(0xd7)](_0x2c48ed,'app.log'),_0xc4d97a=path[_0x182b82(0xd7)](_0x2c48ed,_0x182b82(0x111));try{appLogStream=fs['createWriteStream'](_0xa1d500,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0xc4d97a,{'flags':'a'}),fileLoggingInitialized=!![];const _0x5241f9={'event':_0x4c5c7b[_0x182b82(0x15f)],'logDir':_0x2c48ed,'files':['app.log',_0x4c5c7b['umYeN']]},_0x558da8=_0x182b82(0x119)+_0x2c48ed;logger[_0x182b82(0x100)](_0x5241f9,_0x558da8),writeToFileLog({..._0x5241f9,'level':_0x4c5c7b[_0x182b82(0x133)],'msg':_0x558da8,'time':new Date()['toISOString']()},_0x182b82(0x100));}catch(_0x30b670){console[_0x182b82(0xb8)]('Failed\x20to\x20create\x20log\x20streams:',_0x30b670['message']),fileLoggingInitialized=!![];}}function a0_0x3791(){const _0x47e2bd=['zxjYB3i','zw52','rgf0ywjHC2u6ia','BgvUz3rO','svPgtgq','icbjBMzVoIaGia','B2jQzwn0','v2XArwm','mJiWnZe3nMnUs2nXBW','Bwf0y2G','BxmP','Dg9vChbLCKnHC2u','zgv2zwXVCg1LBNq','u1LtoKHioK1noNnZ','w09lxsbqCM9Qzwn0igXVywrLzdOG','Bwv0Ag9K','tK9erv9ftLy','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','rxjYB3i','qMXysfi','y3jLzgvUDgLHBa','u1fmx0Xpr19tte9xx1riuKvtse9mra','DxjS','u2vYDMvYihn0yxj0Aw5NoIa','icbvuKW6icaGia','rKHwtKy','mtblv2TAsKS','zw5KCg9PBNrFCMvNAxn0zxjLza','Ag9ZDa','yxbPs2v5','BwTKAxjtEw5J','AM9PBG','BMfTzq','nJKYndyYrhPdDwHn','D2fYBMLUzW','BwfW','mLHIzKTPyG','DxnLCG','te9hx0XfvKvm','Be9uteK','ChjVAMvJDf9SB2fKzwq','ndK3mhjcsMvNzW','vuv5rNq','AgvHBhrOq2HLy2S','sw50zxjUywWGC2vYDMvYigvYCM9Y','Dg9gAxHLza','iokvKqRILzeGifbYB2PLy3qGicaGidOG','Ahj0Aw1L','zxHPC3rZu3LUyW','C2vYDMLJzuLUzM8','v2PdvLa','uwTjveG','vfjbtLnbq1rjt05FqKvhsu4','rxvqwgS','Ce5wwei','Dw5RBM93BG','ChDK','Cg9YDa','C2vJCMv0','Dg9ju09tDhjPBMC','mtCYotGZnKvbyKPdva','C3rYAw5NAwz5','Dw5Oyw5KBgvKuMvQzwn0Aw9U','rermx0rst1a','u1rbuLqGvfjbtLnbq1rjt04','z2v0sgvHzgvYCW','y29Kzq','y3DK','zhvYyxrPB25nCW','u0vmrunu','yMfZzvvYBa','zgfyq1a','Aw5MBW','mZa2nJr0wu1jz2m','A3flA3K','q1H1sK4','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','zgjFCxvLCNK','C3rHDhvZq29Kzq','C3rKu2vYAwfSAxPLCNm','y2v1EMy','CMv5yuu','CgP6B0G','EeDhvwi','AufAzLy','ig9UihbVCNqG','yxbPA2v5','zMLSzv9SB2DNAw5Nx2vUywjSzwq','nZa0mJCYnur5r2HwEa','zxjYB3iUBg9N','sLDux1nfq1jfva','Cg9ZDgDYzxnXBa','D2fYBG','CxvLCNK','vvvLALm','rfjpua','mZC1ndnrAuDxt1y','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','CMvMCMvZAf90B2TLBG','A2v5DfK','mJq0mJu1mLfrvMDVua','CMvTB3rLqwrKCMvZCW','Cgf0Aa','CgfYyw1Z','revmrvrf','zhr0z1C','vvbeqvrf','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','Bhf0v1K','B3rW','qvbqx1zfuLnjt04','ChjPDMf0zwTLEq','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','mJCZzxbUANzT','zw52AxjVBM1LBNq','q09ntuLu','C3rHy2S','r1Dbwee','DgvZDa','zMf0ywW','CgfKrw5K','swvLrfm','DhjPBq','zM9frfC','rgvMyxvSDa','ChjVy2vZC193yxjUAw5N','u0vsvKLdrv9oqu1f','DhLWzq','De9yA0u','vfDHzgC','ChjVAMvJDa','Dw5JyxvNAhrfEgnLChrPB24','rxjYB3i6ia','ChjVzhvJDgLVBG','C29Tzq','yNnmthO','AwTJyNe','tK9uiefdveLwrq','BwvZC2fNzq','yxbPx2TLEq','y3jLzgL0y2fYza','AgvHzgvYCW','runnBve','w1jfrefdvevexq','zgf0ywjHC2u','ANnVBG','y3jLzgL0x2nHCMq','DxnLCI1Hz2vUDa','Dg9mB3DLCKnHC2u','ChjPDMf0zv9RzxK','Dg9Rzw4','zMf0ywXFzxjYB3i','Dxb0Aw1L','u1fmx0Xpr19mrvzfta','CgfZC3DVCMq','yM9KEq','u1fmx0Xpr19ftKfcteve','DvvAEe4','C3rHCNrZv2L0Aa','Bw9KDwXL','yxbPx3nLy3jLDa','uK9mtejbq0S','zgvIDwC','C3rHDhvZ','sMPdteu','yuDHrNe','y2HPBgq','q1D3zLK','CgfZC3DK','CgPcALm','Dhj1zq','q1jjveLdquW','tM9Kzs5QCW','yurivxK'];a0_0x3791=function(){return _0x47e2bd;};return a0_0x3791();}function writeToFileLog(_0x494a5d,_0x3c230d){const _0x4d7026=a0_0x394442,_0x4699c8={'fWhSn':function(_0x2a8be9,_0x3fa69e){return _0x2a8be9||_0x3fa69e;},'JjCLE':function(_0xea7b50,_0x160463){return _0xea7b50+_0x160463;},'EuPXk':function(_0xb18c8f,_0x27648c){return _0xb18c8f===_0x27648c;}};if(_0x4699c8['fWhSn'](!logToFile,!appLogStream))return;const _0x54af9d={'service':serviceName,..._0x494a5d},_0x5bf1f8=_0x4699c8[_0x4d7026(0x15c)](JSON[_0x4d7026(0xf5)](_0x54af9d),'\x0a');appLogStream['write'](_0x5bf1f8),(_0x3c230d===_0x4d7026(0xb8)||_0x4699c8[_0x4d7026(0xed)](_0x3c230d,'fatal'))&&(errorLogStream&&errorLogStream['write'](_0x5bf1f8));}function a0_0xb25a(_0x4c3a3a,_0x5bbde5){_0x4c3a3a=_0x4c3a3a-0xb6;const _0x379147=a0_0x3791();let _0xb25a99=_0x379147[_0x4c3a3a];if(a0_0xb25a['yubFZt']===undefined){var _0x2d0334=function(_0x5e7951){const _0x4929cf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x174135='',_0x337cbd='';for(let _0x4ab16a=0x0,_0x2cc8e5,_0x3e32d4,_0x40241d=0x0;_0x3e32d4=_0x5e7951['charAt'](_0x40241d++);~_0x3e32d4&&(_0x2cc8e5=_0x4ab16a%0x4?_0x2cc8e5*0x40+_0x3e32d4:_0x3e32d4,_0x4ab16a++%0x4)?_0x174135+=String['fromCharCode'](0xff&_0x2cc8e5>>(-0x2*_0x4ab16a&0x6)):0x0){_0x3e32d4=_0x4929cf['indexOf'](_0x3e32d4);}for(let _0x33c997=0x0,_0x4d4779=_0x174135['length'];_0x33c997<_0x4d4779;_0x33c997++){_0x337cbd+='%'+('00'+_0x174135['charCodeAt'](_0x33c997)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x337cbd);};a0_0xb25a['nyHvbo']=_0x2d0334,a0_0xb25a['PLoBKC']={},a0_0xb25a['yubFZt']=!![];}const _0x59369c=_0x379147[0x0],_0x23b7ad=_0x4c3a3a+_0x59369c,_0x22779c=a0_0xb25a['PLoBKC'][_0x23b7ad];return!_0x22779c?(_0xb25a99=a0_0xb25a['nyHvbo'](_0xb25a99),a0_0xb25a['PLoBKC'][_0x23b7ad]=_0xb25a99):_0xb25a99=_0x22779c,_0xb25a99;}const createRequestLogger=(_0x4eecd6={})=>{const _0x525dde=a0_0x394442;return logger[_0x525dde(0x15e)](_0x4eecd6);},logServerStart=_0x518e93=>{const _0x22851f=a0_0x394442,_0x539bd4={'GWAXA':_0x22851f(0xb6),'DxBDn':function(_0x255ef2,_0x597689){return _0x255ef2(_0x597689);},'kqKky':'ACTIVE','tFsFd':_0x22851f(0x141),'NaTxv':'server_starting','DrLdb':'info'},_0x309f2a='\x0a╔═══════════════════════════════════════════════════════╗\x0a║\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RESTFORGE\x20RUNTIME\x20SERVER\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x518e93[_0x22851f(0x12a)]||_0x539bd4[_0x22851f(0x12d)])['padEnd'](0x26)+_0x22851f(0xe6)+(_0x518e93[_0x22851f(0x13a)]||'N/A')[_0x22851f(0x130)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x539bd4['DxBDn'](String,_0x518e93['port']||0xbb8)[_0x22851f(0x130)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x518e93['configFile']||_0x22851f(0x134))['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x518e93[_0x22851f(0xd5)]?_0x539bd4[_0x22851f(0x102)]:_0x539bd4['tFsFd'])[_0x22851f(0x130)](0x26)+_0x22851f(0x128);console['log'](_0x309f2a);const _0x41a0ad={'event':_0x539bd4['NaTxv'],'project':_0x518e93['project'],'port':_0x518e93[_0x22851f(0xf1)],'config':_0x518e93['configFile'],'apiKeyEnabled':!!_0x518e93[_0x22851f(0xd5)]};logger['info'](_0x41a0ad),writeToFileLog({..._0x41a0ad,'level':'info','msg':_0x22851f(0xcf)+_0x518e93['project']+_0x22851f(0x10d)+_0x518e93[_0x22851f(0xf1)],'time':new Date()[_0x22851f(0xf3)]()},_0x539bd4['DrLdb']);},logServerReady=_0x57e32e=>{const _0x14cf66=a0_0x394442,_0x2c2cb7={'event':'server_ready','port':_0x57e32e[_0x14cf66(0xf1)],'module':_0x57e32e[_0x14cf66(0x157)],'healthCheck':_0x57e32e[_0x14cf66(0xe3)],'serviceInfo':_0x57e32e[_0x14cf66(0xe9)],'baseUrl':_0x57e32e['baseUrl']},_0x2ec3a8=_0x14cf66(0x123)+_0x57e32e[_0x14cf66(0xf1)];logger['info'](_0x2c2cb7,_0x2ec3a8),writeToFileLog({..._0x2c2cb7,'level':'info','msg':_0x2ec3a8,'time':new Date()['toISOString']()},_0x14cf66(0x100)),_0x57e32e[_0x14cf66(0xe3)]&&logger['info']('\x20\x20Health:\x20'+_0x57e32e['healthCheck']),_0x57e32e[_0x14cf66(0xe9)]&&logger[_0x14cf66(0x100)](_0x14cf66(0xbd)+_0x57e32e['serviceInfo']),_0x57e32e['baseUrl']&&logger[_0x14cf66(0x100)](_0x14cf66(0xd0)+_0x57e32e[_0x14cf66(0xfe)]);},logProjectLoaded=(_0x83a1d0,_0x384b95)=>{const _0x46fd13=a0_0x394442,_0x4bf569={'NCdUt':_0x46fd13(0xe0),'WwHyA':'info'},_0x3ddb83={'event':_0x4bf569['NCdUt'],'project':_0x83a1d0,'path':_0x384b95},_0x28f9dc=_0x46fd13(0xc6)+_0x83a1d0;logger[_0x46fd13(0x100)](_0x3ddb83,_0x28f9dc),writeToFileLog({..._0x3ddb83,'level':_0x4bf569['WwHyA'],'msg':_0x28f9dc,'time':new Date()[_0x46fd13(0xf3)]()},'info');},logEndpointRegistered=(_0x17243b,_0x5c10ad)=>{const _0x4b5b7c=a0_0x394442,_0x3bb2df={'wVWgz':_0x4b5b7c(0xd3),'cteAo':'debug'},_0x1d558c={'event':_0x3bb2df['wVWgz'],'endpoint':_0x17243b,'route':_0x5c10ad},_0x43e248='\x20\x20→\x20'+_0x17243b+':\x20'+_0x5c10ad;logger['debug'](_0x1d558c,_0x43e248),writeToFileLog({..._0x1d558c,'level':_0x3bb2df['cteAo'],'msg':_0x43e248,'time':new Date()[_0x4b5b7c(0xf3)]()},'debug');},logDatabaseConfig=_0x494819=>{const _0x5640a6=a0_0x394442,_0x55b4c3={'lvuFk':function(_0x24056d,_0x26f60d,_0x5b726c){return _0x24056d(_0x26f60d,_0x5b726c);},'IZFLd':'debug'},_0x5900f4={'event':'database_config','host':_0x494819['host'],'port':_0x494819['port'],'database':_0x494819[_0x5640a6(0x148)],'type':_0x494819[_0x5640a6(0x137)],'user':_0x494819[_0x5640a6(0xdd)]},_0x56a3c0=_0x5640a6(0xba)+_0x494819['type']+'://'+_0x494819[_0x5640a6(0xd4)]+':'+_0x494819[_0x5640a6(0xf1)]+'/'+_0x494819['database'];logger['debug'](_0x5900f4,_0x56a3c0),_0x55b4c3['lvuFk'](writeToFileLog,{..._0x5900f4,'level':_0x55b4c3[_0x5640a6(0xbc)],'msg':_0x56a3c0,'time':new Date()[_0x5640a6(0xf3)]()},_0x55b4c3[_0x5640a6(0xbc)]);},logRequest=(_0x5e4c09,_0x2604b3,_0x564fc3)=>{const _0x4ee765=a0_0x394442,_0x3cdd2f={'UiCjd':function(_0x490862,_0x4db12d){return _0x490862>=_0x4db12d;},'mvqBJ':_0x4ee765(0xb8),'UJgNE':function(_0x5bf8d2,_0x2b455e){return _0x5bf8d2>=_0x2b455e;},'VxdeO':function(_0x3ef7a7,_0x3a450c,_0x53c697){return _0x3ef7a7(_0x3a450c,_0x53c697);}},_0x1cc610={'event':'http_request','method':_0x5e4c09[_0x4ee765(0xc7)],'path':_0x5e4c09[_0x4ee765(0x11e)],'statusCode':_0x2604b3[_0x4ee765(0x106)],'durationMs':_0x564fc3,'ip':_0x5e4c09['ip']},_0x3517a2=_0x5e4c09['method']+'\x20'+_0x5e4c09[_0x4ee765(0x11e)]+'\x20-\x20'+_0x2604b3[_0x4ee765(0x106)]+'\x20('+_0x564fc3+_0x4ee765(0xc2);let _0x373cf5='info';if(_0x3cdd2f['UiCjd'](_0x2604b3[_0x4ee765(0x106)],0x1f4))_0x373cf5=_0x3cdd2f['mvqBJ'],logger[_0x4ee765(0xb8)](_0x1cc610,_0x3517a2);else _0x3cdd2f['UJgNE'](_0x2604b3['statusCode'],0x190)?(_0x373cf5=_0x4ee765(0x114),logger['warn'](_0x1cc610,_0x3517a2)):logger['info'](_0x1cc610,_0x3517a2);_0x3cdd2f['VxdeO'](writeToFileLog,{..._0x1cc610,'level':_0x373cf5,'msg':_0x3517a2,'time':new Date()['toISOString']()},_0x373cf5);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x394442(0x160),a0_0x394442(0xf0),'token','access_token',a0_0x394442(0x11a),a0_0x394442(0xf2),a0_0x394442(0x158),a0_0x394442(0x10e),'api_key',a0_0x394442(0xcc),'credentials','pin',a0_0x394442(0x125),'private_key',a0_0x394442(0x127)],redactSensitiveParams=(_0x546a86,_0x5162da)=>{const _0x133c56=a0_0x394442,_0x4b15d3={'WjCVP':'string','daXCP':function(_0x4d6f17,_0x372b3f){return _0x4d6f17>_0x372b3f;}};if(!_0x546a86||_0x546a86[_0x133c56(0xbb)]===0x0)return _0x546a86;const _0x370c8a=_0x5162da[_0x133c56(0x14c)](),_0x26bb1b=_0x370c8a['match'](/\(([^)]+)\)\s*values/i);let _0x461201=[];_0x26bb1b&&(_0x461201=_0x26bb1b[0x1]['split'](',')[_0x133c56(0xdb)](_0x48fceb=>_0x48fceb[_0x133c56(0x132)]()[_0x133c56(0x14c)]()));const _0x577f95=_0x370c8a[_0x133c56(0xc1)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x577f95){const _0xd94ee9=_0x577f95[0x1],_0x10ac6a=_0xd94ee9['match'](/(\w+)\s*=/g);_0x10ac6a&&(_0x461201=_0x10ac6a['map'](_0x3237a9=>_0x3237a9['replace'](/\s*=/,'')['trim']()[_0x133c56(0x14c)]()));}return _0x546a86['map']((_0x244656,_0x406d2b)=>{const _0x1c5abb=_0x133c56;if(_0x461201[_0x406d2b]){const _0xd0db70=_0x461201[_0x406d2b],_0x157185=SENSITIVE_PARAM_PATTERNS[_0x1c5abb(0x13e)](_0x369236=>_0xd0db70['includes'](_0x369236));if(_0x157185)return _0x1c5abb(0x147);}if(typeof _0x244656===_0x4b15d3[_0x1c5abb(0xea)]&&_0x4b15d3[_0x1c5abb(0xff)](_0x244656['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x1c5abb(0x12e)](_0x244656)&&_0x244656['includes']('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x244656))return'[REDACTED:hash]';}return _0x244656;});},parseQueryMetadata=_0x2d6881=>{const _0x1ee1f9=a0_0x394442,_0x1a94e8={'gQBNN':'INSERT','aDHUy':_0x1ee1f9(0x120),'UUejS':_0x1ee1f9(0xf8),'iAZfV':_0x1ee1f9(0xec),'IoCUa':'TRANSACTION_COMMIT','lOTLI':'TRANSACTION_ROLLBACK','OAAMJ':'DDL_CREATE','bQrQM':'ALTER'},_0x354f75=_0x2d6881['trim'](),_0x39ee3a=_0x354f75[_0x1ee1f9(0xc3)]();let _0x215be0='UNKNOWN',_0x271d0f=null;if(_0x39ee3a[_0x1ee1f9(0x156)](_0x1ee1f9(0xfd))){_0x215be0=_0x1ee1f9(0xfd);const _0x537286=_0x354f75['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x271d0f=_0x537286?_0x537286[0x1]:null;}else{if(_0x39ee3a['startsWith'](_0x1a94e8['gQBNN'])){_0x215be0='INSERT';const _0x2361c9=_0x354f75['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x271d0f=_0x2361c9?_0x2361c9[0x1]:null;}else{if(_0x39ee3a['startsWith'](_0x1ee1f9(0x122))){_0x215be0=_0x1ee1f9(0x122);const _0x3fb985=_0x354f75[_0x1ee1f9(0xc1)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x271d0f=_0x3fb985?_0x3fb985[0x1]:null;}else{if(_0x39ee3a['startsWith'](_0x1a94e8[_0x1ee1f9(0xb7)])){_0x215be0=_0x1ee1f9(0x120);const _0x4f8cdf=_0x354f75['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x271d0f=_0x4f8cdf?_0x4f8cdf[0x1]:null;}else{if(_0x39ee3a['startsWith']('BEGIN')||_0x39ee3a[_0x1ee1f9(0x156)](_0x1a94e8[_0x1ee1f9(0x116)]))_0x215be0=_0x1a94e8[_0x1ee1f9(0x10c)];else{if(_0x39ee3a['startsWith'](_0x1ee1f9(0x12b)))_0x215be0=_0x1a94e8['IoCUa'];else{if(_0x39ee3a['startsWith'](_0x1ee1f9(0x159)))_0x215be0=_0x1a94e8[_0x1ee1f9(0xdf)];else{if(_0x39ee3a['startsWith']('CREATE'))_0x215be0=_0x1a94e8['OAAMJ'];else{if(_0x39ee3a['startsWith'](_0x1a94e8['bQrQM']))_0x215be0='DDL_ALTER';else _0x39ee3a['startsWith'](_0x1ee1f9(0x117))&&(_0x215be0=_0x1ee1f9(0xf7));}}}}}}}}return{'type':_0x215be0,'table':_0x271d0f};},startQueryTimer=()=>{const _0x388707=process['hrtime']();return()=>{const _0x3b9f1c=a0_0xb25a,[_0xca49fc,_0x58745b]=process[_0x3b9f1c(0xe7)](_0x388707);return parseFloat((_0xca49fc*0x3e8+_0x58745b/0xf4240)[_0x3b9f1c(0xe5)](0x2));};},logQuery=(_0x201df6,_0x2da5db=[],_0x147d4e={})=>{const _0x25bab9=a0_0x394442,_0x2ff001={'ZNOee':_0x25bab9(0x105),'keytY':_0x25bab9(0x113),'aGaFq':function(_0x24a879,_0x4ed717){return _0x24a879(_0x4ed717);},'Rzale':'sql_query','UmPxW':function(_0x338b66,_0x3c15d4,_0x2aac4f){return _0x338b66(_0x3c15d4,_0x2aac4f);},'UEyFt':function(_0x5182c4,_0x393872){return _0x5182c4!==_0x393872;},'bsLLz':function(_0x3d685a,_0x3920ed){return _0x3d685a>_0x3920ed;},'rUreo':function(_0xd99ad9,_0x15aa86){return _0xd99ad9||_0x15aa86;},'PvdvG':_0x25bab9(0xef),'BlXHR':function(_0x3de881,_0x1401fd){return _0x3de881!==_0x1401fd;},'LhjtN':function(_0x689b8c,_0x2ed7b8){return _0x689b8c!==_0x2ed7b8;},'bMKWP':function(_0x1ba1cc,_0x37ada1){return _0x1ba1cc>_0x37ada1;},'ikcbq':function(_0x144502,_0x453764){return _0x144502===_0x453764;},'QkITH':_0x25bab9(0x100)};if(!sqlLogEnabled){logger[_0x25bab9(0x15a)]({'event':_0x2ff001['ZNOee'],'query':_0x201df6['substring'](0x0,0xc8),'paramCount':_0x2da5db['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2ff001[_0x25bab9(0x11b)]}=_0x147d4e,{type:_0x57d599,table:_0x14412e}=_0x2ff001[_0x25bab9(0x15d)](parseQueryMetadata,_0x201df6),_0x483075={'event':_0x2ff001['Rzale'],'queryType':_0x57d599,'table':_0x14412e,'query':_0x201df6,'paramCount':_0x2da5db['length'],'dbType':dbType};sqlLogParams&&_0x2da5db[_0x25bab9(0xbb)]>0x0&&(_0x483075[_0x25bab9(0x11f)]=_0x2ff001['UmPxW'](redactSensitiveParams,_0x2da5db,_0x201df6));_0x2ff001[_0x25bab9(0xe2)](duration,null)&&(_0x483075[_0x25bab9(0xfc)]=duration,_0x483075['isSlow']=_0x2ff001[_0x25bab9(0x13f)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x483075['rowsAffected']=rowsAffected);const _0x41fb13=_0x2ff001['rUreo'](_0x14412e,_0x2ff001['PvdvG']);let _0x49aadf='['+_0x57d599+']\x20'+_0x41fb13;_0x2ff001[_0x25bab9(0xcb)](duration,null)&&(_0x49aadf+='\x20('+duration+_0x25bab9(0xc2));const _0xa22f09=_0x2ff001['LhjtN'](duration,null)&&_0x2ff001['bMKWP'](duration,sqlLogSlowThreshold);let _0x12dc3d='debug';if(_0xa22f09)_0x49aadf+='\x20[SLOW]',_0x12dc3d='warn',logger[_0x25bab9(0x114)](_0x483075,_0x49aadf);else _0x2ff001[_0x25bab9(0x140)](sqlLogLevel,_0x2ff001['QkITH'])?(_0x12dc3d=_0x2ff001[_0x25bab9(0xeb)],logger['info'](_0x483075,_0x49aadf)):logger[_0x25bab9(0x15a)](_0x483075,_0x49aadf);writeToFileLog({..._0x483075,'level':_0x12dc3d,'msg':_0x49aadf,'time':new Date()[_0x25bab9(0xf3)]()},_0x12dc3d);},logTransaction=(_0x1462cc,_0x5268ea)=>{const _0x263293=a0_0x394442,_0x32d19d={'cEFVj':function(_0x452f06,_0xc83131,_0x5d95f2){return _0x452f06(_0xc83131,_0x5d95f2);},'XoNgP':'debug'},_0xdae5d5={'event':'db_transaction','status':_0x1462cc,'queryCount':_0x5268ea},_0xbdafd3='Transaction\x20'+_0x1462cc;logger['debug'](_0xdae5d5,_0xbdafd3),_0x32d19d['cEFVj'](writeToFileLog,{..._0xdae5d5,'level':_0x32d19d['XoNgP'],'msg':_0xbdafd3,'time':new Date()[_0x263293(0xf3)]()},_0x263293(0x15a));},redactObject=_0x52558=>{const _0x543549=a0_0x394442,_0x5cc62a={'weeMb':_0x543549(0x160),'Sekad':_0x543549(0xf0),'IeeDS':'apikey','wEvsl':'authorization','xGGUb':'cvv','Lxqvj':_0x543549(0x14d),'cogKa':'privatekey','TOUbj':function(_0x5f4b02,_0xd47dc0){return _0x5f4b02===_0xd47dc0;},'pjzoH':_0x543549(0xbe),'Jwijm':function(_0x4ee2ce,_0x3bde7c){return _0x4ee2ce!==_0x3bde7c;},'JKJov':function(_0x46f9d1,_0x460242){return _0x46f9d1(_0x460242);}};if(!_0x52558||typeof _0x52558!=='object')return _0x52558;const _0x259a3a=['password',_0x5cc62a['weeMb'],_0x5cc62a['Sekad'],_0x543549(0x14e),'secret',_0x5cc62a[_0x543549(0x131)],_0x543549(0x143),_0x5cc62a['wEvsl'],_0x543549(0x144),_0x543549(0x14a),_0x5cc62a[_0x543549(0x10b)],'ssn','pin',_0x5cc62a['Lxqvj'],_0x5cc62a['cogKa'],'refresh_token','access_token'],_0x29e39b=Array['isArray'](_0x52558)?[..._0x52558]:{..._0x52558};for(const _0x3497ec of Object['keys'](_0x29e39b)){const _0x5035ad=_0x3497ec['toLowerCase']();if(_0x259a3a['some'](_0x58a497=>_0x5035ad['includes'](_0x58a497)))_0x29e39b[_0x3497ec]='[REDACTED]';else _0x5cc62a['TOUbj'](typeof _0x29e39b[_0x3497ec],_0x5cc62a[_0x543549(0x10a)])&&_0x5cc62a['Jwijm'](_0x29e39b[_0x3497ec],null)&&(_0x29e39b[_0x3497ec]=_0x5cc62a['JKJov'](redactObject,_0x29e39b[_0x3497ec]));}return _0x29e39b;},logError=(_0x4d748e,_0x4a93fc={},_0x449924=null)=>{const _0x39a7f1=a0_0x394442,_0x5a4536={'tOXkE':'error','VnXiB':_0x39a7f1(0xca),'UkrFa':function(_0x3016f9,_0x4bb006,_0x1ccccf){return _0x3016f9(_0x4bb006,_0x1ccccf);}},_0x256f5e={'event':_0x5a4536[_0x39a7f1(0x138)],'errorName':_0x4d748e[_0x39a7f1(0xd8)]||_0x5a4536['VnXiB'],'errorMessage':_0x4d748e['message'],'errorCode':_0x4d748e[_0x39a7f1(0xfa)]||null,'stack':_0x4d748e['stack'],..._0x4a93fc},_0x530fde=_0x449924||_0x39a7f1(0x13c)+_0x4d748e[_0x39a7f1(0x142)];logger[_0x39a7f1(0xb8)](_0x256f5e,_0x530fde),_0x5a4536['UkrFa'](writeToFileLog,{..._0x256f5e,'level':_0x39a7f1(0xb8),'msg':_0x530fde,'time':new Date()['toISOString']()},_0x39a7f1(0xb8));},logFatalError=(_0xd834e1,_0x1df4e8={},_0x343d31=null)=>{const _0x3ddc15=a0_0x394442,_0x215109={'ruAnh':_0x3ddc15(0x14f),'dkLZj':_0x3ddc15(0xca),'WlZEc':_0x3ddc15(0x163),'XcJRz':function(_0x3101ed,_0x4946fb,_0xbe63e1){return _0x3101ed(_0x4946fb,_0xbe63e1);},'IZiYk':_0x3ddc15(0xb8)},_0x3531c7={'event':_0x215109['ruAnh'],'errorName':_0xd834e1[_0x3ddc15(0xd8)]||_0x215109['dkLZj'],'errorMessage':_0xd834e1[_0x3ddc15(0x142)],'errorCode':_0xd834e1['code']||null,'stack':_0xd834e1[_0x3ddc15(0x12c)],'severity':_0x215109[_0x3ddc15(0xbf)],..._0x1df4e8},_0x3eef92=_0x343d31||'FATAL:\x20'+_0xd834e1['message'];logger['fatal'](_0x3531c7,_0x3eef92),_0x215109['XcJRz'](writeToFileLog,{..._0x3531c7,'level':_0x3ddc15(0x12f),'msg':_0x3eef92,'time':new Date()[_0x3ddc15(0xf3)]()},_0x215109['IZiYk']);},logHttpError=(_0x1f9dbf,_0x25e374,_0x301885={})=>{const _0x1fc401=a0_0x394442,_0x42b01c={'cqKUY':'http_error','Rlkro':_0x1fc401(0x14b),'tUAJi':'x-request-id','pNVXB':function(_0xadc965,_0x5d1d7f){return _0xadc965>=_0x5d1d7f;},'uUZxN':function(_0x3805e5,_0x186834){return _0x3805e5>=_0x186834;},'ceuzf':'error','CXuJN':'warn'},_0x44e127={'event':_0x42b01c['cqKUY'],'errorName':_0x1f9dbf[_0x1fc401(0xd8)]||_0x1fc401(0xca),'errorMessage':_0x1f9dbf[_0x1fc401(0x142)],'errorCode':_0x1f9dbf['code']||_0x1f9dbf['statusCode']||0x1f4,'stack':_0x1f9dbf['stack'],'method':_0x25e374?.[_0x1fc401(0xc7)],'url':_0x25e374?.[_0x1fc401(0xce)]||_0x25e374?.['originalUrl'],'path':_0x25e374?.[_0x1fc401(0x11e)],'ip':_0x25e374?.['ip']||_0x25e374?.['connection']?.[_0x1fc401(0x11d)],'userAgent':_0x25e374?.['get']?.(_0x42b01c['Rlkro']),'requestId':_0x25e374?.['id']||_0x25e374?.[_0x1fc401(0x145)]?.[_0x42b01c['tUAJi']],'body':_0x25e374?.[_0x1fc401(0x153)]?redactObject(_0x25e374[_0x1fc401(0x153)]):undefined,'query':_0x25e374?.[_0x1fc401(0x115)],..._0x301885},_0x1f7729=_0x1f9dbf[_0x1fc401(0x106)]||_0x1f9dbf[_0x1fc401(0x15b)]||0x1f4,_0x477a3b='HTTP\x20'+_0x1f7729+':\x20'+_0x1f9dbf['message'];_0x42b01c[_0x1fc401(0xee)](_0x1f7729,0x1f4)?logger[_0x1fc401(0xb8)](_0x44e127,_0x477a3b):logger[_0x1fc401(0x114)](_0x44e127,_0x477a3b),writeToFileLog({..._0x44e127,'level':_0x42b01c[_0x1fc401(0x155)](_0x1f7729,0x1f4)?_0x42b01c[_0x1fc401(0x108)]:_0x42b01c[_0x1fc401(0x103)],'msg':_0x477a3b,'time':new Date()['toISOString']()},_0x1f7729>=0x1f4?'error':'warn');},logUncaughtError=(_0x291b64,_0x1e30de)=>{const _0x1ba5ba=a0_0x394442,_0xfede76={'FHVNF':function(_0xf5620b,_0x52dcff){return _0xf5620b(_0x52dcff);},'pjBjS':function(_0x3db789,_0x37e9aa,_0x400d5e){return _0x3db789(_0x37e9aa,_0x400d5e);},'NoECB':_0x1ba5ba(0x12f)},_0x30b308={'event':_0x291b64,'errorName':_0x1e30de?.['name']||'Error','errorMessage':_0x1e30de?.['message']||_0xfede76[_0x1ba5ba(0xd1)](String,_0x1e30de),'errorCode':_0x1e30de?.['code']||null,'stack':_0x1e30de?.['stack'],'severity':_0x1ba5ba(0x163),'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x1ba5ba(0x150)]()},_0x3b1758='['+_0x291b64[_0x1ba5ba(0xc3)]()+']\x20'+(_0x1e30de?.[_0x1ba5ba(0x142)]||_0x1e30de);logger[_0x1ba5ba(0x12f)](_0x30b308,_0x3b1758),_0xfede76[_0x1ba5ba(0x161)](writeToFileLog,{..._0x30b308,'level':_0xfede76['NoECB'],'msg':_0x3b1758,'time':new Date()[_0x1ba5ba(0xf3)]()},_0x1ba5ba(0xb8));},setupGlobalErrorHandlers=()=>{const _0x54f1dd=a0_0x394442,_0x4a6096={'dkmAp':function(_0x4ef91a,_0x247d1e,_0x5a546c){return _0x4ef91a(_0x247d1e,_0x5a546c);},'hjBKm':function(_0x1d5fe1,_0x26654e){return _0x1d5fe1(_0x26654e);},'reyaE':function(_0x572bba,_0x3f29b,_0x15ab08){return _0x572bba(_0x3f29b,_0x15ab08);},'lqtWY':'unhandledRejection','sfTLI':'global_error_handlers_setup'};process['on'](_0x54f1dd(0x13b),_0x56f46a=>{const _0x552e42=_0x54f1dd;logUncaughtError(_0x552e42(0x13b),_0x56f46a),_0x4a6096['dkmAp'](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x54f1dd(0xf6),(_0x4ead9d,_0xdbf83e)=>{const _0x19c85d=_0x54f1dd,_0x535af8=_0x4ead9d instanceof Error?_0x4ead9d:new Error(_0x4a6096['hjBKm'](String,_0x4ead9d));_0x4a6096[_0x19c85d(0x109)](logUncaughtError,_0x4a6096[_0x19c85d(0x124)],_0x535af8);}),process['on'](_0x54f1dd(0xda),_0x474791=>{const _0x44eb5f=_0x54f1dd;logger['warn']({'event':_0x44eb5f(0x135),'name':_0x474791[_0x44eb5f(0xd8)],'message':_0x474791[_0x44eb5f(0x142)],'stack':_0x474791['stack']},'Process\x20Warning:\x20'+_0x474791['message']);});const _0x368790={'event':_0x4a6096['sfTLI']},_0xde5505='Global\x20error\x20handlers\x20initialized';logger[_0x54f1dd(0x100)](_0x368790,_0xde5505),writeToFileLog({..._0x368790,'level':_0x54f1dd(0x100),'msg':_0xde5505,'time':new Date()[_0x54f1dd(0xf3)]()},_0x54f1dd(0x100));},createErrorHandlerMiddleware=()=>{const _0x81a015=a0_0x394442,_0x167a49={'TWadg':_0x81a015(0xe4)};return(_0x49b4aa,_0x592044,_0xc8767b,_0x216c45)=>{const _0x56d005=_0x81a015;logHttpError(_0x49b4aa,_0x592044);const _0x2f8e47=_0x49b4aa[_0x56d005(0x106)]||_0x49b4aa[_0x56d005(0x15b)]||0x1f4;_0xc8767b[_0x56d005(0x15b)](_0x2f8e47)[_0x56d005(0x149)]({'success':![],'error':_0x2f8e47>=0x1f4?_0x167a49[_0x56d005(0x139)]:_0x49b4aa['message'],'requestId':_0x592044['id']||_0x592044['headers']?.['x-request-id']||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
+ const a0_0x39fab0=a0_0x4b0d;(function(_0x177efd,_0x5d01f1){const _0x4c8c7a=a0_0x4b0d,_0x3f2a66=_0x177efd();while(!![]){try{const _0x457aa9=parseInt(_0x4c8c7a(0x1df))/0x1*(-parseInt(_0x4c8c7a(0x21e))/0x2)+-parseInt(_0x4c8c7a(0x253))/0x3*(parseInt(_0x4c8c7a(0x1c1))/0x4)+-parseInt(_0x4c8c7a(0x202))/0x5*(-parseInt(_0x4c8c7a(0x241))/0x6)+parseInt(_0x4c8c7a(0x1c2))/0x7+-parseInt(_0x4c8c7a(0x25e))/0x8+-parseInt(_0x4c8c7a(0x24a))/0x9*(-parseInt(_0x4c8c7a(0x211))/0xa)+parseInt(_0x4c8c7a(0x1e7))/0xb;if(_0x457aa9===_0x5d01f1)break;else _0x3f2a66['push'](_0x3f2a66['shift']());}catch(_0x344a9c){_0x3f2a66['push'](_0x3f2a66['shift']());}}}(a0_0x4856,0xd7895));const pino=require('pino'),fs=require('fs'),path=require(a0_0x39fab0(0x24b));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x39fab0(0x1ec),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x39fab0(0x21d),'hideObject':!![]},isDevelopment=process['env'][a0_0x39fab0(0x1e1)]!=='production',logLevel=process['env']['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x39fab0(0x1be),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x39fab0(0x21a),'version':process['env']['APP_VERSION']||a0_0x39fab0(0x267),'env':process['env'][a0_0x39fab0(0x1e1)]||a0_0x39fab0(0x231)},'timestamp':pino['stdTimeFunctions'][a0_0x39fab0(0x22a)],'redact':{'paths':[a0_0x39fab0(0x25c),'req.headers[\x22x-api-key\x22]','password',a0_0x39fab0(0x23b),'apiKey',a0_0x39fab0(0x25b),a0_0x39fab0(0x239)],'censor':a0_0x39fab0(0x1fd)},'serializers':{'req':_0x2be0a5=>({'id':_0x2be0a5['id'],'method':_0x2be0a5['method'],'url':_0x2be0a5[a0_0x39fab0(0x1c7)],'path':_0x2be0a5[a0_0x39fab0(0x24b)],'remoteAddress':_0x2be0a5['ip']||_0x2be0a5['connection']?.['remoteAddress']}),'res':_0x39d6f8=>({'statusCode':_0x39d6f8['statusCode'],'headers':_0x39d6f8['getHeaders']?.()}),'err':pino[a0_0x39fab0(0x261)][a0_0x39fab0(0x1d8)]}});function a0_0x4b0d(_0x6b13b1,_0x24f74d){_0x6b13b1=_0x6b13b1-0x1b6;const _0x48563c=a0_0x4856();let _0x4b0d53=_0x48563c[_0x6b13b1];if(a0_0x4b0d['cHMrQI']===undefined){var _0x4f64f3=function(_0x313ec3){const _0x51a53b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3eb852='',_0x594432='';for(let _0x3725fd=0x0,_0x167fe3,_0x3ae957,_0x3b17e0=0x0;_0x3ae957=_0x313ec3['charAt'](_0x3b17e0++);~_0x3ae957&&(_0x167fe3=_0x3725fd%0x4?_0x167fe3*0x40+_0x3ae957:_0x3ae957,_0x3725fd++%0x4)?_0x3eb852+=String['fromCharCode'](0xff&_0x167fe3>>(-0x2*_0x3725fd&0x6)):0x0){_0x3ae957=_0x51a53b['indexOf'](_0x3ae957);}for(let _0x1b4d9c=0x0,_0x1cebb4=_0x3eb852['length'];_0x1b4d9c<_0x1cebb4;_0x1b4d9c++){_0x594432+='%'+('00'+_0x3eb852['charCodeAt'](_0x1b4d9c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x594432);};a0_0x4b0d['HYXxkv']=_0x4f64f3,a0_0x4b0d['UqOURM']={},a0_0x4b0d['cHMrQI']=!![];}const _0x10235d=_0x48563c[0x0],_0x434fbc=_0x6b13b1+_0x10235d,_0x4d105f=a0_0x4b0d['UqOURM'][_0x434fbc];return!_0x4d105f?(_0x4b0d53=a0_0x4b0d['HYXxkv'](_0x4b0d53),a0_0x4b0d['UqOURM'][_0x434fbc]=_0x4b0d53):_0x4b0d53=_0x4d105f,_0x4b0d53;}function initFileLogging(){const _0x24987a=a0_0x39fab0,_0x3d6acf={'EhbVB':function(_0x2ad048,_0x2b2113){return _0x2ad048===_0x2b2113;},'YrtIh':'true','uviai':'./logs','UyGfJ':_0x24987a(0x21a),'BfmeP':'error.log','JfOcJ':'info'};if(fileLoggingInitialized)return;logToFile=_0x3d6acf['EhbVB'](process['env']['LOG_TO_FILE'],_0x3d6acf[_0x24987a(0x1e4)]),logDir=process['env']['LOG_DIR']||_0x3d6acf[_0x24987a(0x1cb)],serviceName=process[_0x24987a(0x1e6)]['SERVICE_NAME']||_0x3d6acf[_0x24987a(0x1ce)],sqlLogEnabled=_0x3d6acf[_0x24987a(0x269)](process[_0x24987a(0x1e6)]['SQL_LOG_ENABLED'],_0x24987a(0x228)),sqlLogLevel=process[_0x24987a(0x1e6)][_0x24987a(0x221)]||_0x24987a(0x227),sqlLogParams=process[_0x24987a(0x1e6)][_0x24987a(0x1d9)]!==_0x24987a(0x224),sqlLogSlowThreshold=parseInt(process[_0x24987a(0x1e6)][_0x24987a(0x1fc)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x31f32e=path['resolve'](process[_0x24987a(0x1bc)](),logDir);try{!fs[_0x24987a(0x26e)](_0x31f32e)&&fs[_0x24987a(0x216)](_0x31f32e,{'recursive':!![]});}catch(_0x660f68){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x31f32e+':',_0x660f68[_0x24987a(0x20f)]),fileLoggingInitialized=!![];return;}const _0x32901d=path[_0x24987a(0x1cc)](_0x31f32e,'app.log'),_0x27e644=path[_0x24987a(0x1cc)](_0x31f32e,_0x3d6acf['BfmeP']);try{appLogStream=fs['createWriteStream'](_0x32901d,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x27e644,{'flags':'a'}),fileLoggingInitialized=!![];const _0x1e6754={'event':_0x24987a(0x256),'logDir':_0x31f32e,'files':[_0x24987a(0x215),_0x3d6acf[_0x24987a(0x254)]]},_0x28fdc9=_0x24987a(0x1c5)+_0x31f32e;logger[_0x24987a(0x229)](_0x1e6754,_0x28fdc9),writeToFileLog({..._0x1e6754,'level':_0x3d6acf[_0x24987a(0x200)],'msg':_0x28fdc9,'time':new Date()[_0x24987a(0x214)]()},_0x24987a(0x229));}catch(_0x539ea3){console[_0x24987a(0x1eb)](_0x24987a(0x1da),_0x539ea3[_0x24987a(0x20f)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x4a6b4a,_0x16ced0){const _0x298e46=a0_0x39fab0,_0x2306e7={'WIdVZ':function(_0x39798e,_0x199bc9){return _0x39798e||_0x199bc9;}};if(_0x2306e7['WIdVZ'](!logToFile,!appLogStream))return;const _0x1d9728={'service':serviceName,..._0x4a6b4a},_0x5cf8e0=JSON['stringify'](_0x1d9728)+'\x0a';appLogStream[_0x298e46(0x260)](_0x5cf8e0),(_0x16ced0===_0x298e46(0x1eb)||_0x16ced0===_0x298e46(0x1e2))&&(errorLogStream&&errorLogStream['write'](_0x5cf8e0));}const createRequestLogger=(_0x175c34={})=>{const _0x1a3b64=a0_0x39fab0;return logger[_0x1a3b64(0x1d0)](_0x175c34);},logServerStart=_0x4b3611=>{const _0x41e01a=a0_0x39fab0,_0x2695d6={'YPobI':_0x41e01a(0x20a),'eDfNE':function(_0x4d54d5,_0x264486){return _0x4d54d5(_0x264486);},'JJiqH':_0x41e01a(0x266),'bxMEd':'server_starting','ZwbNY':function(_0xa825f0,_0x3fd536,_0xeb5188){return _0xa825f0(_0x3fd536,_0xeb5188);},'FCVGA':'info'},_0x211e8c=_0x41e01a(0x23c)+(_0x4b3611['environment']||_0x2695d6['YPobI'])['padEnd'](0x26)+_0x41e01a(0x24f)+(_0x4b3611[_0x41e01a(0x26a)]||'N/A')['padEnd'](0x26)+_0x41e01a(0x22e)+_0x2695d6['eDfNE'](String,_0x4b3611['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x4b3611['configFile']||_0x2695d6['JJiqH'])[_0x41e01a(0x265)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x4b3611[_0x41e01a(0x1de)]?_0x41e01a(0x270):'NOT\x20ACTIVE')[_0x41e01a(0x265)](0x26)+_0x41e01a(0x245);console[_0x41e01a(0x20d)](_0x211e8c);const _0x3f8b05={'event':_0x2695d6['bxMEd'],'project':_0x4b3611['project'],'port':_0x4b3611[_0x41e01a(0x20c)],'config':_0x4b3611['configFile'],'apiKeyEnabled':!!_0x4b3611[_0x41e01a(0x1de)]};logger[_0x41e01a(0x229)](_0x3f8b05),_0x2695d6[_0x41e01a(0x207)](writeToFileLog,{..._0x3f8b05,'level':_0x41e01a(0x229),'msg':'Server\x20starting:\x20'+_0x4b3611['project']+'\x20on\x20port\x20'+_0x4b3611[_0x41e01a(0x20c)],'time':new Date()['toISOString']()},_0x2695d6[_0x41e01a(0x1d2)]);},logServerReady=_0x4b54ef=>{const _0x100f65=a0_0x39fab0,_0x206b28={'oKCZW':function(_0x2b3df9,_0x22a516,_0x22e871){return _0x2b3df9(_0x22a516,_0x22e871);},'hQGiL':'info'},_0x220cb8={'event':'server_ready','port':_0x4b54ef['port'],'module':_0x4b54ef[_0x100f65(0x1e8)],'healthCheck':_0x4b54ef[_0x100f65(0x25a)],'serviceInfo':_0x4b54ef['serviceInfo'],'baseUrl':_0x4b54ef['baseUrl']},_0x4ee304=_0x100f65(0x1fb)+_0x4b54ef[_0x100f65(0x20c)];logger[_0x100f65(0x229)](_0x220cb8,_0x4ee304),_0x206b28['oKCZW'](writeToFileLog,{..._0x220cb8,'level':_0x206b28['hQGiL'],'msg':_0x4ee304,'time':new Date()['toISOString']()},_0x206b28[_0x100f65(0x1f4)]),_0x4b54ef['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x4b54ef['healthCheck']),_0x4b54ef[_0x100f65(0x1f8)]&&logger['info'](_0x100f65(0x1c4)+_0x4b54ef['serviceInfo']),_0x4b54ef[_0x100f65(0x1db)]&&logger[_0x100f65(0x229)]('\x20\x20URL:\x20\x20\x20\x20'+_0x4b54ef[_0x100f65(0x1db)]);},logProjectLoaded=(_0x5cb088,_0x5c0572)=>{const _0x389a78=a0_0x39fab0,_0x252608={'tRgZx':'info'},_0x3ef091={'event':'project_loaded','project':_0x5cb088,'path':_0x5c0572},_0x2f62f2='[OK]\x20Project\x20loaded:\x20'+_0x5cb088;logger[_0x389a78(0x229)](_0x3ef091,_0x2f62f2),writeToFileLog({..._0x3ef091,'level':_0x252608[_0x389a78(0x26b)],'msg':_0x2f62f2,'time':new Date()['toISOString']()},_0x252608[_0x389a78(0x26b)]);},logEndpointRegistered=(_0x33bd76,_0x425730)=>{const _0x30d08c=a0_0x39fab0,_0x217a73={'uxOWR':'endpoint_registered','wwQVF':function(_0x141e0c,_0x4442e5,_0xda5259){return _0x141e0c(_0x4442e5,_0xda5259);},'fpXuM':'debug'},_0xdfbdeb={'event':_0x217a73[_0x30d08c(0x1e3)],'endpoint':_0x33bd76,'route':_0x425730},_0x2dfe13=_0x30d08c(0x1f1)+_0x33bd76+':\x20'+_0x425730;logger['debug'](_0xdfbdeb,_0x2dfe13),_0x217a73[_0x30d08c(0x230)](writeToFileLog,{..._0xdfbdeb,'level':_0x217a73['fpXuM'],'msg':_0x2dfe13,'time':new Date()['toISOString']()},'debug');},logDatabaseConfig=_0x24110f=>{const _0xae6ed8=a0_0x39fab0,_0x5db2a0={'wjiUK':'database_config','zmUli':function(_0x278f17,_0x2c46a8,_0x349a07){return _0x278f17(_0x2c46a8,_0x349a07);},'lVKOQ':'debug'},_0x467459={'event':_0x5db2a0[_0xae6ed8(0x1f6)],'host':_0x24110f['host'],'port':_0x24110f['port'],'database':_0x24110f['database'],'type':_0x24110f[_0xae6ed8(0x1b7)],'user':_0x24110f[_0xae6ed8(0x219)]},_0x139717=_0xae6ed8(0x25f)+_0x24110f[_0xae6ed8(0x1b7)]+'://'+_0x24110f[_0xae6ed8(0x1bd)]+':'+_0x24110f[_0xae6ed8(0x20c)]+'/'+_0x24110f[_0xae6ed8(0x1f0)];logger[_0xae6ed8(0x227)](_0x467459,_0x139717),_0x5db2a0['zmUli'](writeToFileLog,{..._0x467459,'level':_0x5db2a0[_0xae6ed8(0x255)],'msg':_0x139717,'time':new Date()['toISOString']()},_0xae6ed8(0x227));},logRequest=(_0x7d8dc8,_0x3b39ef,_0x55c3da)=>{const _0x5ba58c=a0_0x39fab0,_0x41907e={'btlbQ':_0x5ba58c(0x259),'hCnmx':_0x5ba58c(0x229),'mVcKm':_0x5ba58c(0x1e9)},_0x267918={'event':_0x41907e['btlbQ'],'method':_0x7d8dc8[_0x5ba58c(0x21f)],'path':_0x7d8dc8[_0x5ba58c(0x24b)],'statusCode':_0x3b39ef['statusCode'],'durationMs':_0x55c3da,'ip':_0x7d8dc8['ip']},_0x4f1763=_0x7d8dc8['method']+'\x20'+_0x7d8dc8[_0x5ba58c(0x24b)]+'\x20-\x20'+_0x3b39ef['statusCode']+'\x20('+_0x55c3da+_0x5ba58c(0x233);let _0x4157ed=_0x41907e[_0x5ba58c(0x212)];if(_0x3b39ef['statusCode']>=0x1f4)_0x4157ed='error',logger[_0x5ba58c(0x1eb)](_0x267918,_0x4f1763);else _0x3b39ef[_0x5ba58c(0x1dc)]>=0x190?(_0x4157ed=_0x41907e['mVcKm'],logger['warn'](_0x267918,_0x4f1763)):logger['info'](_0x267918,_0x4f1763);writeToFileLog({..._0x267918,'level':_0x4157ed,'msg':_0x4f1763,'time':new Date()[_0x5ba58c(0x214)]()},_0x4157ed);},SENSITIVE_PARAM_PATTERNS=[a0_0x39fab0(0x222),'passwd',a0_0x39fab0(0x24c),a0_0x39fab0(0x23b),a0_0x39fab0(0x1d3),'refresh_token','secret',a0_0x39fab0(0x262),a0_0x39fab0(0x1ed),'api_key',a0_0x39fab0(0x1d5),a0_0x39fab0(0x1b9),a0_0x39fab0(0x1fe),a0_0x39fab0(0x20b),'private_key','privatekey'],redactSensitiveParams=(_0x39fde7,_0x45ee52)=>{const _0x44aeea=a0_0x39fab0,_0x5d6e23={'XLgki':'[REDACTED]','MBWEj':function(_0x2ace0b,_0x58c7ce){return _0x2ace0b>_0x58c7ce;},'nKsbR':_0x44aeea(0x23d)};if(!_0x39fde7||_0x39fde7['length']===0x0)return _0x39fde7;const _0x433e92=_0x45ee52[_0x44aeea(0x1f5)](),_0x269ab6=_0x433e92['match'](/\(([^)]+)\)\s*values/i);let _0x1b6e32=[];_0x269ab6&&(_0x1b6e32=_0x269ab6[0x1]['split'](',')['map'](_0x3d7a93=>_0x3d7a93['trim']()[_0x44aeea(0x1f5)]()));const _0x5dedb4=_0x433e92[_0x44aeea(0x244)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x5dedb4){const _0x4ca999=_0x5dedb4[0x1],_0x15321f=_0x4ca999['match'](/(\w+)\s*=/g);_0x15321f&&(_0x1b6e32=_0x15321f['map'](_0x3ec31b=>_0x3ec31b['replace'](/\s*=/,'')[_0x44aeea(0x1cd)]()[_0x44aeea(0x1f5)]()));}return _0x39fde7[_0x44aeea(0x1c0)]((_0x3ef875,_0x43bac8)=>{const _0x42d67a=_0x44aeea;if(_0x1b6e32[_0x43bac8]){const _0x481eeb=_0x1b6e32[_0x43bac8],_0x5c2491=SENSITIVE_PARAM_PATTERNS['some'](_0x4cfa02=>_0x481eeb['includes'](_0x4cfa02));if(_0x5c2491)return _0x5d6e23['XLgki'];}if(typeof _0x3ef875===_0x42d67a(0x252)&&_0x5d6e23[_0x42d67a(0x1d1)](_0x3ef875[_0x42d67a(0x1ea)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x3ef875)&&_0x3ef875['includes']('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x3ef875))return _0x5d6e23['nKsbR'];}return _0x3ef875;});},parseQueryMetadata=_0x218938=>{const _0x5dea63=a0_0x39fab0,_0x4f4d48={'zZdYt':'SELECT','QpTxp':_0x5dea63(0x21c),'gjPDI':'DELETE','jaFSg':_0x5dea63(0x26d),'xrBWY':'DROP','brBeA':'DDL_DROP'},_0x4ca472=_0x218938[_0x5dea63(0x1cd)](),_0x5a5819=_0x4ca472['toUpperCase']();let _0x4be61a='UNKNOWN',_0x4d4867=null;if(_0x5a5819['startsWith'](_0x4f4d48['zZdYt'])){_0x4be61a=_0x5dea63(0x210);const _0x1668a4=_0x4ca472[_0x5dea63(0x244)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4d4867=_0x1668a4?_0x1668a4[0x1]:null;}else{if(_0x5a5819['startsWith']('INSERT')){_0x4be61a='INSERT';const _0x22d338=_0x4ca472['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4d4867=_0x22d338?_0x22d338[0x1]:null;}else{if(_0x5a5819[_0x5dea63(0x1c6)]('UPDATE')){_0x4be61a=_0x4f4d48[_0x5dea63(0x268)];const _0x56b710=_0x4ca472[_0x5dea63(0x244)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4d4867=_0x56b710?_0x56b710[0x1]:null;}else{if(_0x5a5819['startsWith'](_0x4f4d48[_0x5dea63(0x258)])){_0x4be61a=_0x5dea63(0x206);const _0x25ba21=_0x4ca472['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4d4867=_0x25ba21?_0x25ba21[0x1]:null;}else{if(_0x5a5819['startsWith'](_0x5dea63(0x23a))||_0x5a5819['startsWith'](_0x5dea63(0x23e)))_0x4be61a=_0x5dea63(0x1bb);else{if(_0x5a5819[_0x5dea63(0x1c6)](_0x5dea63(0x25d)))_0x4be61a=_0x5dea63(0x201);else{if(_0x5a5819[_0x5dea63(0x1c6)]('ROLLBACK'))_0x4be61a=_0x4f4d48['jaFSg'];else{if(_0x5a5819[_0x5dea63(0x1c6)](_0x5dea63(0x1d4)))_0x4be61a='DDL_CREATE';else{if(_0x5a5819[_0x5dea63(0x1c6)]('ALTER'))_0x4be61a='DDL_ALTER';else _0x5a5819['startsWith'](_0x4f4d48[_0x5dea63(0x237)])&&(_0x4be61a=_0x4f4d48[_0x5dea63(0x1d7)]);}}}}}}}}return{'type':_0x4be61a,'table':_0x4d4867};},startQueryTimer=()=>{const _0x4936ca=a0_0x39fab0,_0xcc135d={'nRccF':function(_0x578b91,_0x1445ea){return _0x578b91(_0x1445ea);},'MCUed':function(_0x59c211,_0x4001de){return _0x59c211*_0x4001de;},'NFKQM':function(_0x223b0e,_0x202deb){return _0x223b0e/_0x202deb;}},_0x2f73f8=process[_0x4936ca(0x217)]();return()=>{const _0x4c973f=_0x4936ca,[_0x2fa629,_0x11d670]=process[_0x4c973f(0x217)](_0x2f73f8);return _0xcc135d[_0x4c973f(0x1ef)](parseFloat,(_0xcc135d['MCUed'](_0x2fa629,0x3e8)+_0xcc135d[_0x4c973f(0x1f9)](_0x11d670,0xf4240))['toFixed'](0x2));};},logQuery=(_0x5d1328,_0x2d4c27=[],_0x4cf88d={})=>{const _0x164430=a0_0x39fab0,_0x3ddf45={'mWOTm':'db_query','cduUI':function(_0x4b1f6d,_0x2a3e8d){return _0x4b1f6d(_0x2a3e8d);},'elrZO':'sql_query','manyx':function(_0x2cb2f4,_0x5d09bb){return _0x2cb2f4!==_0x5d09bb;},'YlIGr':_0x164430(0x227),'fRAuw':_0x164430(0x1e9),'jnwZB':function(_0x1580cf,_0x5ab166){return _0x1580cf===_0x5ab166;},'xJloB':'info','PniaF':function(_0x483508,_0x59cff0,_0x5cfb33){return _0x483508(_0x59cff0,_0x5cfb33);}};if(!sqlLogEnabled){logger[_0x164430(0x227)]({'event':_0x3ddf45['mWOTm'],'query':_0x5d1328['substring'](0x0,0xc8),'paramCount':_0x2d4c27[_0x164430(0x1ea)]},_0x164430(0x234));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x4cf88d,{type:_0x27a095,table:_0x530fc9}=_0x3ddf45['cduUI'](parseQueryMetadata,_0x5d1328),_0x68acbc={'event':_0x3ddf45['elrZO'],'queryType':_0x27a095,'table':_0x530fc9,'query':_0x5d1328,'paramCount':_0x2d4c27[_0x164430(0x1ea)],'dbType':dbType};sqlLogParams&&_0x2d4c27[_0x164430(0x1ea)]>0x0&&(_0x68acbc['params']=redactSensitiveParams(_0x2d4c27,_0x5d1328));_0x3ddf45['manyx'](duration,null)&&(_0x68acbc[_0x164430(0x1ff)]=duration,_0x68acbc['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x68acbc[_0x164430(0x242)]=rowsAffected);const _0xb73762=_0x530fc9||_0x164430(0x24e);let _0x14d742='['+_0x27a095+']\x20'+_0xb73762;duration!==null&&(_0x14d742+='\x20('+duration+_0x164430(0x233));const _0x22a052=duration!==null&&duration>sqlLogSlowThreshold;let _0x2379cd=_0x3ddf45['YlIGr'];if(_0x22a052)_0x14d742+='\x20[SLOW]',_0x2379cd=_0x3ddf45[_0x164430(0x1c9)],logger[_0x164430(0x1e9)](_0x68acbc,_0x14d742);else _0x3ddf45[_0x164430(0x1f2)](sqlLogLevel,_0x164430(0x229))?(_0x2379cd=_0x3ddf45[_0x164430(0x1fa)],logger[_0x164430(0x229)](_0x68acbc,_0x14d742)):logger['debug'](_0x68acbc,_0x14d742);_0x3ddf45['PniaF'](writeToFileLog,{..._0x68acbc,'level':_0x2379cd,'msg':_0x14d742,'time':new Date()['toISOString']()},_0x2379cd);},logTransaction=(_0x1f2df0,_0x216b43)=>{const _0x23656b=a0_0x39fab0,_0x210f63={'xcdcZ':function(_0x4287ae,_0x2c164e,_0x5f34f2){return _0x4287ae(_0x2c164e,_0x5f34f2);}},_0x429378={'event':'db_transaction','status':_0x1f2df0,'queryCount':_0x216b43},_0x1cd416=_0x23656b(0x226)+_0x1f2df0;logger['debug'](_0x429378,_0x1cd416),_0x210f63['xcdcZ'](writeToFileLog,{..._0x429378,'level':_0x23656b(0x227),'msg':_0x1cd416,'time':new Date()['toISOString']()},_0x23656b(0x227));},redactObject=_0x8edba0=>{const _0x3f44d3=a0_0x39fab0,_0x28ed81={'WXLCG':_0x3f44d3(0x21b),'dWZgP':'apikey','EFYXr':_0x3f44d3(0x225),'RvuXZ':_0x3f44d3(0x1cf),'gkJmP':_0x3f44d3(0x248),'pdKHv':_0x3f44d3(0x251),'zewuL':_0x3f44d3(0x1d3),'jfaGb':function(_0x36eff2,_0xfa2d6f){return _0x36eff2===_0xfa2d6f;}};if(!_0x8edba0||typeof _0x8edba0!==_0x28ed81[_0x3f44d3(0x1f3)])return _0x8edba0;const _0x54b88e=['password','passwd',_0x3f44d3(0x24c),'token','secret',_0x28ed81['dWZgP'],'api_key',_0x28ed81['EFYXr'],_0x3f44d3(0x249),_0x28ed81['RvuXZ'],_0x28ed81['gkJmP'],_0x28ed81[_0x3f44d3(0x26f)],'pin',_0x3f44d3(0x246),_0x3f44d3(0x264),_0x3f44d3(0x220),_0x28ed81['zewuL']],_0x37a3d9=Array[_0x3f44d3(0x238)](_0x8edba0)?[..._0x8edba0]:{..._0x8edba0};for(const _0x507ebe of Object['keys'](_0x37a3d9)){const _0x9e16c4=_0x507ebe[_0x3f44d3(0x1f5)]();if(_0x54b88e[_0x3f44d3(0x203)](_0x5456ae=>_0x9e16c4['includes'](_0x5456ae)))_0x37a3d9[_0x507ebe]='[REDACTED]';else _0x28ed81[_0x3f44d3(0x22d)](typeof _0x37a3d9[_0x507ebe],_0x28ed81[_0x3f44d3(0x1f3)])&&_0x37a3d9[_0x507ebe]!==null&&(_0x37a3d9[_0x507ebe]=redactObject(_0x37a3d9[_0x507ebe]));}return _0x37a3d9;},logError=(_0x25852f,_0x150a76={},_0x2571af=null)=>{const _0x187ebd=a0_0x39fab0,_0xb02924={'ycuhm':'error'},_0x56ad93={'event':_0xb02924['ycuhm'],'errorName':_0x25852f[_0x187ebd(0x23f)]||'Error','errorMessage':_0x25852f[_0x187ebd(0x20f)],'errorCode':_0x25852f['code']||null,'stack':_0x25852f['stack'],..._0x150a76},_0x23d814=_0x2571af||_0x187ebd(0x240)+_0x25852f[_0x187ebd(0x20f)];logger[_0x187ebd(0x1eb)](_0x56ad93,_0x23d814),writeToFileLog({..._0x56ad93,'level':_0x187ebd(0x1eb),'msg':_0x23d814,'time':new Date()[_0x187ebd(0x214)]()},_0xb02924[_0x187ebd(0x1b8)]);},logFatalError=(_0x2464d2,_0x4fc058={},_0x13339c=null)=>{const _0x272f4c=a0_0x39fab0,_0x14bb7c={'ByqGz':_0x272f4c(0x1bf),'QGBXz':_0x272f4c(0x213),'hyeif':function(_0x38b39e,_0x24676c,_0x578978){return _0x38b39e(_0x24676c,_0x578978);},'pfzww':'fatal'},_0x34f27c={'event':_0x14bb7c['ByqGz'],'errorName':_0x2464d2['name']||_0x272f4c(0x1d6),'errorMessage':_0x2464d2['message'],'errorCode':_0x2464d2[_0x272f4c(0x218)]||null,'stack':_0x2464d2['stack'],'severity':_0x14bb7c['QGBXz'],..._0x4fc058},_0x3739e6=_0x13339c||_0x272f4c(0x1ca)+_0x2464d2[_0x272f4c(0x20f)];logger['fatal'](_0x34f27c,_0x3739e6),_0x14bb7c['hyeif'](writeToFileLog,{..._0x34f27c,'level':_0x14bb7c['pfzww'],'msg':_0x3739e6,'time':new Date()[_0x272f4c(0x214)]()},_0x272f4c(0x1eb));},logHttpError=(_0x574538,_0x1b65f2,_0x528f46={})=>{const _0x19e544=a0_0x39fab0,_0x50c374={'rXSJg':'http_error','kRvWl':_0x19e544(0x1d6),'INKHI':_0x19e544(0x1dd),'mmEHc':function(_0x43af04,_0x38d9f6){return _0x43af04(_0x38d9f6);},'uVErS':function(_0x17bc88,_0x476d93){return _0x17bc88>=_0x476d93;},'RScgl':'error','gcsOk':_0x19e544(0x1e9),'ihEoN':function(_0x25a559,_0x320ef9){return _0x25a559>=_0x320ef9;}},_0x5e9185={'event':_0x50c374[_0x19e544(0x208)],'errorName':_0x574538[_0x19e544(0x23f)]||_0x50c374[_0x19e544(0x22f)],'errorMessage':_0x574538[_0x19e544(0x20f)],'errorCode':_0x574538[_0x19e544(0x218)]||_0x574538[_0x19e544(0x1dc)]||0x1f4,'stack':_0x574538['stack'],'method':_0x1b65f2?.[_0x19e544(0x21f)],'url':_0x1b65f2?.['url']||_0x1b65f2?.[_0x19e544(0x1ba)],'path':_0x1b65f2?.['path'],'ip':_0x1b65f2?.['ip']||_0x1b65f2?.['connection']?.[_0x19e544(0x257)],'userAgent':_0x1b65f2?.['get']?.(_0x19e544(0x236)),'requestId':_0x1b65f2?.['id']||_0x1b65f2?.[_0x19e544(0x1f7)]?.[_0x50c374[_0x19e544(0x1c3)]],'body':_0x1b65f2?.[_0x19e544(0x22c)]?_0x50c374['mmEHc'](redactObject,_0x1b65f2['body']):undefined,'query':_0x1b65f2?.['query'],..._0x528f46},_0x43f118=_0x574538[_0x19e544(0x1dc)]||_0x574538[_0x19e544(0x24d)]||0x1f4,_0x16e241='HTTP\x20'+_0x43f118+':\x20'+_0x574538[_0x19e544(0x20f)];_0x50c374[_0x19e544(0x235)](_0x43f118,0x1f4)?logger[_0x19e544(0x1eb)](_0x5e9185,_0x16e241):logger[_0x19e544(0x1e9)](_0x5e9185,_0x16e241),writeToFileLog({..._0x5e9185,'level':_0x43f118>=0x1f4?_0x50c374['RScgl']:_0x50c374[_0x19e544(0x232)],'msg':_0x16e241,'time':new Date()['toISOString']()},_0x50c374['ihEoN'](_0x43f118,0x1f4)?'error':'warn');},logUncaughtError=(_0x57cf97,_0x30d463)=>{const _0x4ec5bf=a0_0x39fab0,_0x408120={'HnllZ':_0x4ec5bf(0x1d6),'uZrie':'CRITICAL','omnXW':function(_0x4a1f14,_0x9ddacd,_0x2aa42a){return _0x4a1f14(_0x9ddacd,_0x2aa42a);}},_0xebefce={'event':_0x57cf97,'errorName':_0x30d463?.[_0x4ec5bf(0x23f)]||_0x408120[_0x4ec5bf(0x263)],'errorMessage':_0x30d463?.[_0x4ec5bf(0x20f)]||String(_0x30d463),'errorCode':_0x30d463?.[_0x4ec5bf(0x218)]||null,'stack':_0x30d463?.[_0x4ec5bf(0x209)],'severity':_0x408120[_0x4ec5bf(0x26c)],'processId':process['pid'],'memoryUsage':process[_0x4ec5bf(0x22b)](),'uptime':process['uptime']()},_0x660485='['+_0x57cf97[_0x4ec5bf(0x247)]()+']\x20'+(_0x30d463?.[_0x4ec5bf(0x20f)]||_0x30d463);logger['fatal'](_0xebefce,_0x660485),_0x408120['omnXW'](writeToFileLog,{..._0xebefce,'level':'fatal','msg':_0x660485,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x250a07=a0_0x39fab0,_0x4894fc={'NwdmR':'uncaughtException','qKSXI':function(_0x1c92b7,_0x5433d5,_0x3d1cb2){return _0x1c92b7(_0x5433d5,_0x3d1cb2);},'RBVng':function(_0x37f212,_0x4fa7f1){return _0x37f212 instanceof _0x4fa7f1;},'lykOn':function(_0x2bcdea,_0x3e8355){return _0x2bcdea(_0x3e8355);},'UvapB':_0x250a07(0x20e),'iGavU':'warning','fVeSB':_0x250a07(0x205),'aSPDH':_0x250a07(0x229)};process['on'](_0x4894fc[_0x250a07(0x1e5)],_0x25b55b=>{logUncaughtError(_0x4894fc['NwdmR'],_0x25b55b),_0x4894fc['qKSXI'](setTimeout,()=>{const _0x10d139=a0_0x4b0d;process[_0x10d139(0x243)](0x1);},0x3e8);}),process['on'](_0x250a07(0x20e),(_0x209ec2,_0x539e41)=>{const _0x210782=_0x250a07,_0x284745=_0x4894fc['RBVng'](_0x209ec2,Error)?_0x209ec2:new Error(_0x4894fc['lykOn'](String,_0x209ec2));logUncaughtError(_0x4894fc[_0x210782(0x250)],_0x284745);}),process['on'](_0x4894fc['iGavU'],_0x1149ca=>{const _0x37a4af=_0x250a07;logger[_0x37a4af(0x1e9)]({'event':'process_warning','name':_0x1149ca[_0x37a4af(0x23f)],'message':_0x1149ca['message'],'stack':_0x1149ca['stack']},'Process\x20Warning:\x20'+_0x1149ca[_0x37a4af(0x20f)]);});const _0x2c2117={'event':_0x4894fc[_0x250a07(0x1c8)]},_0x343357='Global\x20error\x20handlers\x20initialized';logger[_0x250a07(0x229)](_0x2c2117,_0x343357),writeToFileLog({..._0x2c2117,'level':_0x4894fc[_0x250a07(0x204)],'msg':_0x343357,'time':new Date()['toISOString']()},_0x250a07(0x229));},createErrorHandlerMiddleware=()=>{const _0x5b3608=a0_0x39fab0,_0x530223={'YogZJ':function(_0x15d69f,_0x205729){return _0x15d69f>=_0x205729;},'MdEgR':_0x5b3608(0x1ee)};return(_0x2dbb9b,_0x4e2c5a,_0x1b15f0,_0x45a782)=>{const _0x3d4842=_0x5b3608;logHttpError(_0x2dbb9b,_0x4e2c5a);const _0x4c92ba=_0x2dbb9b['statusCode']||_0x2dbb9b[_0x3d4842(0x24d)]||0x1f4;_0x1b15f0['status'](_0x4c92ba)[_0x3d4842(0x1e0)]({'success':![],'error':_0x530223[_0x3d4842(0x223)](_0x4c92ba,0x1f4)?_0x530223[_0x3d4842(0x1b6)]:_0x2dbb9b[_0x3d4842(0x20f)],'requestId':_0x4e2c5a['id']||_0x4e2c5a['headers']?.[_0x3d4842(0x1dd)]||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}};function a0_0x4856(){const _0x46067c=['D3DrvKy','zgv2zwXVCg1LBNq','z2nZt2S','BxmP','reiGuxvLCNK','DvzfCLm','DxnLCI1Hz2vUDa','Ehjcv1K','AxnbCNjHEq','sLDux1nfq1jfva','qKvhsu4','Dg9Rzw4','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','w1jfrefdveveoMHHC2HD','u1rbuLqGvfjbtLnbq1rjt04','BMfTzq','rxjYB3i6ia','nti5odzizM93DKC','CM93C0fMzMvJDgvK','zxHPDa','Bwf0y2G','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','ChjPDMf0zv9RzxK','Dg9vChbLCKnHC2u','y3z2','y3jLzgL0y2fYza','mtu0ndKWntHiExDiy0i','Cgf0Aa','ChDK','C3rHDhvZ','Dw5RBM93BG','iokvKqRILzeGifbYB2PLy3qGicaGidOG','vxzHCei','C3nU','C3rYAw5N','nJG3ndG5EhDlsMvx','qMzTzva','Bfzlt1e','zMLSzv9SB2DNAw5Nx2vUywjSzwq','CMvTB3rLqwrKCMvZCW','z2PqreK','Ahr0Cf9Yzxf1zxn0','AgvHBhrOq2HLy2S','rejFueftu1DpuKq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','q09ntuLu','odqZnZa0ogTAqwDdBq','rgf0ywjHC2u6ia','D3jPDgu','C3rKu2vYAwfSAxPLCNm','yxbPx3nLy3jLDa','sg5SBfO','ChjPDMf0zwTLEq','CgfKrw5K','rgvMyxvSDa','ms4WlJu','uxbuEha','rwHIvKi','ChjVAMvJDa','DfjNwNG','DvPYAwu','vfjbtLnbq1rjt05FuK9mtejbq0S','zxHPC3rZu3LUyW','Cgrlshy','qunusvzf','twrfz1i','DhLWzq','Ewn1Ag0','y3jLzgvUDgLHBhm','B3jPz2LUywXvCMW','vfjbtLnbq1rjt05FqKvhsu4','y3DK','Ag9ZDa','CgLUBY1WCMv0DhK','zMf0ywXFzxjYB3i','BwfW','mJbsrgjtENO','mZyXmZe4m0HHAwXQzq','su5lseK','icbjBMzVoIaGia','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','C3rHCNrZv2L0Aa','DxjS','zLzLu0i','zLjbDxC','rKfuquW6ia','DxzPywK','AM9PBG','DhjPBq','vxLhzKO','y3jLzgL0x2nHCMq','y2HPBgq','tujxrwO','rKnwr0e','ywnJzxnZx3rVA2vU','q1jfqvrf','y3jLzgvUDgLHBa','rxjYB3i','yNjczue','zxjY','u1fmx0Xpr19qqvjbtvm','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','yMfZzvvYBa','C3rHDhvZq29Kzq','Ec1Yzxf1zxn0lwLK','yxbPs2v5','odGZntfQt0zssuS','ANnVBG','tK9erv9ftLy','zMf0ywW','DxHpv1i','wxj0swG','tNDKBvi','zw52','mZGYmZK5nLPQD0PQEa','Bw9KDwXL','D2fYBG','BgvUz3rO','zxjYB3i','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','yxbPA2v5','sw50zxjUywWGC2vYDMvYigvYCM9Y','BLjJy0y','zgf0ywjHC2u','icdIHPiG','AM53wKi','v1Hmq0C','AffhAuW','Dg9mB3DLCKnHC2u','D2PPvuS','AgvHzgvYCW','C2vYDMLJzuLUzM8','tKzluu0','EePSB0i','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','u1fmx0Xpr19tte9xx1riuKvtse9mra','w1jfrefdvevexq','CgLU','zhvYyxrPB25nCW','sMzpy0O','vfjbtLnbq1rjt05Fq09ntuLu','odm1qwDAAMHj','C29Tzq','yvnqreG','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','revmrvrf','wNDItLK','CLHtsMC','C3rHy2S','tM9Kzs5QCW','B3rW','Cg9YDa','Bg9N','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BwvZC2fNzq','u0vmrunu','mtbeseHkDLe','AenUBxG','q1jjveLdquW','Dg9ju09tDhjPBMC','yxbWlMXVzW','BwTKAxjtEw5J','Ahj0Aw1L','y29Kzq','DxnLCG','CMvZDgzVCMDL','B2jQzwn0','vvbeqvrf','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','mJjPuMDbC0m','Bwv0Ag9K','CMvMCMvZAf90B2TLBG','u1fmx0Xpr19mrvzfta','CgfZC3DVCMq','ww9NwKO','zMfSC2u','yxv0Ag9YAxPHDgLVBG','vhjHBNnHy3rPB24G','zgvIDwC','Dhj1zq','Aw5MBW','AxnVvgLTzq','BwvTB3j5vxnHz2u','yM9KEq','AMzHr2i','iokvKqRILzeGifbVCNqGicaGicaGidOG','A1j2v2W'];a0_0x4856=function(){return _0x46067c;};return a0_0x4856();}
@@ -1 +1 @@
1
- const a0_0x2fa57e=a0_0x30cc;(function(_0xe6ad3a,_0x1e18f6){const _0x3deaa7=a0_0x30cc,_0x20aebb=_0xe6ad3a();while(!![]){try{const _0x2bd73c=parseInt(_0x3deaa7(0x145))/0x1+-parseInt(_0x3deaa7(0x14c))/0x2*(parseInt(_0x3deaa7(0x148))/0x3)+-parseInt(_0x3deaa7(0x140))/0x4+-parseInt(_0x3deaa7(0x12e))/0x5+-parseInt(_0x3deaa7(0x14b))/0x6*(parseInt(_0x3deaa7(0x147))/0x7)+parseInt(_0x3deaa7(0x136))/0x8+parseInt(_0x3deaa7(0x13a))/0x9;if(_0x2bd73c===_0x1e18f6)break;else _0x20aebb['push'](_0x20aebb['shift']());}catch(_0x1a8172){_0x20aebb['push'](_0x20aebb['shift']());}}}(a0_0x1642,0x7cdda));function a0_0x1642(){const _0x37414d=['lI4VlI4VCgf5Bg9Hza','DxrMoa','C2v0','mJaWmZq4oeHxChLACW','ugf5Bg9HzcbUB3qGzM91BMq6ia','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','y2fJAgu','mtuZmduXotnrB2rJqKO','AgfZ','ChjVBwLZzxm','z2v0','lI9SB2DNzxi','BwvZC2fNzq','mZu2ndK4mefduvzozq','rxbTs0y','CMvWBgfJzq','AejXtLi','zgvIDwC','nZe5mZe4tu5hsuzp','z2v0rxHWB3j0q29UzMLN','nde0otuZmgr0DvnWBW','ndGWmJDeyu13r3e','Axnby3rPB25fBMfIBgvK','Cgf5Bg9Hzf9SB2fKzwq','nK1dExLNzG','mtHRDe9vB2S','y2XLyxjdywnOzq','CgfYC2u','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','tfHYzgK','DgfIBgvoyw1L','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','ywn0Aw9U','zxjYB3i','Bg9HzfbHEwXVywq','zMLLBgrmywjLBhm','mJy1mZGYnwDjuMrZuq','Cgf0Aa','uu9zAwm','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5'];a0_0x1642=function(){return _0x37414d;};return a0_0x1642();}const fs=require('fs')[a0_0x2fa57e(0x13c)],path=require(a0_0x2fa57e(0x12f)),{logger}=require(a0_0x2fa57e(0x13e));class PayloadLoader{constructor(){const _0x1d7d81=a0_0x2fa57e,_0x41255f={'LXrdi':_0x1d7d81(0x133)};this['payloadDir']=path['join'](__dirname,_0x41255f[_0x1d7d81(0x127)]),this[_0x1d7d81(0x139)]=new Map();}async[a0_0x2fa57e(0x12c)](_0x5e9c76,_0x1acd67){const _0x2486b8=a0_0x2fa57e,_0x2a84f6={'hBqNR':_0x2486b8(0x134),'QOYic':_0x2486b8(0x138)},_0x5f236f=_0x5e9c76+':'+_0x1acd67;if(this['cache'][_0x2486b8(0x13b)](_0x5f236f))return this['cache'][_0x2486b8(0x13d)](_0x5f236f);const _0x291bc3=path['join'](this['payloadDir'],_0x5e9c76+'_'+_0x1acd67+'.json');try{const _0x4254fd=await fs['readFile'](_0x291bc3,_0x2a84f6[_0x2486b8(0x143)]),_0x4e16e9=JSON[_0x2486b8(0x14e)](_0x4254fd);return this[_0x2486b8(0x139)][_0x2486b8(0x135)](_0x5f236f,_0x4e16e9),logger[_0x2486b8(0x144)]({'event':'payload_loaded','project':_0x5e9c76,'resource':_0x1acd67},_0x2486b8(0x132)),_0x4e16e9;}catch(_0x459e48){logger[_0x2486b8(0x12b)]({'event':_0x2a84f6[_0x2486b8(0x130)],'project':_0x5e9c76,'resource':_0x1acd67,'error':_0x459e48['message']},_0x2486b8(0x131));throw new Error('Payload\x20not\x20found:\x20'+_0x5e9c76+'_'+_0x1acd67);}}async['loadPayloadByName'](_0x2f5128){const _0x4a0dd1=a0_0x2fa57e,_0x3d7bb7={'hXSwg':'utf8','hAfAK':_0x4a0dd1(0x14a),'EpmKF':'payload_load_error'},_0x2f67dc='payload:'+_0x2f5128;if(this[_0x4a0dd1(0x139)][_0x4a0dd1(0x13b)](_0x2f67dc))return this['cache']['get'](_0x2f67dc);const _0x223452=path['join'](this['payloadDir'],_0x2f5128+'.json');try{const _0x19b60b=await fs['readFile'](_0x223452,_0x3d7bb7['hXSwg']),_0x53b7ca=JSON['parse'](_0x19b60b);return this[_0x4a0dd1(0x139)][_0x4a0dd1(0x135)](_0x2f67dc,_0x53b7ca),logger[_0x4a0dd1(0x144)]({'event':_0x3d7bb7['hAfAK'],'payloadName':_0x2f5128},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x53b7ca;}catch(_0x1a1b21){logger[_0x4a0dd1(0x12b)]({'event':_0x3d7bb7[_0x4a0dd1(0x141)],'payloadName':_0x2f5128,'error':_0x1a1b21[_0x4a0dd1(0x13f)]},_0x4a0dd1(0x14f));throw new Error(_0x4a0dd1(0x137)+_0x2f5128);}}[a0_0x2fa57e(0x149)](_0x2560bf,_0x3dc372){const _0x50171d=a0_0x2fa57e;return _0x2560bf[_0x50171d(0x12a)]&&_0x2560bf['action'][_0x3dc372]===!![];}[a0_0x2fa57e(0x146)](_0x47e9fb){const _0x3d31cc=a0_0x2fa57e;return{'columns':_0x47e9fb['fieldName']||[],'filename':_0x47e9fb[_0x3d31cc(0x128)][_0x3d31cc(0x142)]('.','-')+'-export','datatablesQuery':_0x47e9fb['datatablesQuery']||null,'columnFormats':_0x47e9fb['columnFormats']||null,'fieldLabels':_0x47e9fb[_0x3d31cc(0x12d)]||null};}[a0_0x2fa57e(0x14d)](){const _0x15f805=a0_0x2fa57e,_0x23f8b7={'ZmJZw':'Payload\x20cache\x20cleared'};this['cache']['clear'](),logger['info']({'event':_0x15f805(0x129)},_0x23f8b7['ZmJZw']);}}function a0_0x30cc(_0x3eca6d,_0x2982a6){_0x3eca6d=_0x3eca6d-0x127;const _0x164273=a0_0x1642();let _0x30cc76=_0x164273[_0x3eca6d];if(a0_0x30cc['PAUllm']===undefined){var _0x3d520=function(_0x323ddc){const _0x5b2c19='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c07f1='',_0x3033d5='';for(let _0x9869a4=0x0,_0x4b64d0,_0x35c806,_0x1fe8df=0x0;_0x35c806=_0x323ddc['charAt'](_0x1fe8df++);~_0x35c806&&(_0x4b64d0=_0x9869a4%0x4?_0x4b64d0*0x40+_0x35c806:_0x35c806,_0x9869a4++%0x4)?_0x4c07f1+=String['fromCharCode'](0xff&_0x4b64d0>>(-0x2*_0x9869a4&0x6)):0x0){_0x35c806=_0x5b2c19['indexOf'](_0x35c806);}for(let _0x350065=0x0,_0x1f08ca=_0x4c07f1['length'];_0x350065<_0x1f08ca;_0x350065++){_0x3033d5+='%'+('00'+_0x4c07f1['charCodeAt'](_0x350065)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3033d5);};a0_0x30cc['TePDYT']=_0x3d520,a0_0x30cc['FHjePZ']={},a0_0x30cc['PAUllm']=!![];}const _0x3b2938=_0x164273[0x0],_0x4ad64f=_0x3eca6d+_0x3b2938,_0x378e27=a0_0x30cc['FHjePZ'][_0x4ad64f];return!_0x378e27?(_0x30cc76=a0_0x30cc['TePDYT'](_0x30cc76),a0_0x30cc['FHjePZ'][_0x4ad64f]=_0x30cc76):_0x30cc76=_0x378e27,_0x30cc76;}module['exports']=new PayloadLoader();
1
+ const a0_0x72dbf=a0_0x49cb;function a0_0x49cb(_0x404922,_0x1fad62){_0x404922=_0x404922-0x75;const _0x216e2a=a0_0x216e();let _0x49cb65=_0x216e2a[_0x404922];if(a0_0x49cb['LvJSMR']===undefined){var _0xa7cfd4=function(_0x324919){const _0x60f2af='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b44e2='',_0x35d965='';for(let _0x45033e=0x0,_0x5db35c,_0x1de8c0,_0x2cd84a=0x0;_0x1de8c0=_0x324919['charAt'](_0x2cd84a++);~_0x1de8c0&&(_0x5db35c=_0x45033e%0x4?_0x5db35c*0x40+_0x1de8c0:_0x1de8c0,_0x45033e++%0x4)?_0x4b44e2+=String['fromCharCode'](0xff&_0x5db35c>>(-0x2*_0x45033e&0x6)):0x0){_0x1de8c0=_0x60f2af['indexOf'](_0x1de8c0);}for(let _0x225ab4=0x0,_0x5041d4=_0x4b44e2['length'];_0x225ab4<_0x5041d4;_0x225ab4++){_0x35d965+='%'+('00'+_0x4b44e2['charCodeAt'](_0x225ab4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35d965);};a0_0x49cb['iLSDKc']=_0xa7cfd4,a0_0x49cb['sjoNpC']={},a0_0x49cb['LvJSMR']=!![];}const _0x9892d6=_0x216e2a[0x0],_0x58bf30=_0x404922+_0x9892d6,_0x1c0ae4=a0_0x49cb['sjoNpC'][_0x58bf30];return!_0x1c0ae4?(_0x49cb65=a0_0x49cb['iLSDKc'](_0x49cb65),a0_0x49cb['sjoNpC'][_0x58bf30]=_0x49cb65):_0x49cb65=_0x1c0ae4,_0x49cb65;}(function(_0x206d9f,_0x1a796d){const _0x21be9b=a0_0x49cb,_0x5834b6=_0x206d9f();while(!![]){try{const _0x5001c0=parseInt(_0x21be9b(0x81))/0x1+parseInt(_0x21be9b(0x78))/0x2*(parseInt(_0x21be9b(0x9b))/0x3)+-parseInt(_0x21be9b(0x95))/0x4+-parseInt(_0x21be9b(0x85))/0x5*(parseInt(_0x21be9b(0x97))/0x6)+-parseInt(_0x21be9b(0x7b))/0x7*(parseInt(_0x21be9b(0x96))/0x8)+-parseInt(_0x21be9b(0x93))/0x9*(-parseInt(_0x21be9b(0x91))/0xa)+parseInt(_0x21be9b(0x7c))/0xb;if(_0x5001c0===_0x1a796d)break;else _0x5834b6['push'](_0x5834b6['shift']());}catch(_0x873088){_0x5834b6['push'](_0x5834b6['shift']());}}}(a0_0x216e,0xe62bf));function a0_0x216e(){const _0x26ed0a=['z2v0rxHWB3j0q29UzMLN','t25mzNG','nMvHAuHJrW','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','Cgf5Bg9Hzf9SB2fKzwq','mJa2otLPt0TmvM4','mtqZota2ntfzrMPpvfa','CgfYC2u','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','AgfZ','y2XLyxi','mtiWntK5nevmu0rOvq','CMvWBgfJzq','CMvHzezPBgu','lI4VlI4VCgf5Bg9Hza','mJa1ywfwEMDt','Cgf5Bg9HzdO','C2v0','ugf5Bg9HzcbUB3qGzM91BMq6ia','ywn0Aw9U','qKD6wMu','DgfIBgvoyw1L','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','AM9PBG','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','y29SDw1UrM9YBwf0CW','mJiWuhrMAvP3','lI9SB2DNzxi','mtK3nZKZDM1rvxPV','zxjYB3i','mty2otq2oevfyNjXBa','mJG3mNnozxHYwa','mtq4nJaYwgXxBxjQ','Cgf0Aa','lMPZB24','y2fJAgu','ndm5ndmXrg1NC1PA','zgvIDwC','Cgf5Bg9HzerPCG'];a0_0x216e=function(){return _0x26ed0a;};return a0_0x216e();}const fs=require('fs')['promises'],path=require(a0_0x72dbf(0x98)),{logger}=require(a0_0x72dbf(0x92));class PayloadLoader{constructor(){const _0x14749c=a0_0x72dbf;this[_0x14749c(0x75)]=path[_0x14749c(0x8d)](__dirname,_0x14749c(0x84)),this[_0x14749c(0x9a)]=new Map();}async['loadPayload'](_0x410040,_0x1a94d9){const _0x35e647=a0_0x72dbf,_0x15cdaa={'BGzZe':'utf8'},_0x3d261b=_0x410040+':'+_0x1a94d9;if(this['cache']['has'](_0x3d261b))return this['cache']['get'](_0x3d261b);const _0x1ee2ae=path['join'](this['payloadDir'],_0x410040+'_'+_0x1a94d9+'.json');try{const _0x55ed9f=await fs['readFile'](_0x1ee2ae,_0x15cdaa[_0x35e647(0x8a)]),_0x2b5336=JSON['parse'](_0x55ed9f);return this[_0x35e647(0x9a)][_0x35e647(0x87)](_0x3d261b,_0x2b5336),logger[_0x35e647(0x9c)]({'event':_0x35e647(0x7a),'project':_0x410040,'resource':_0x1a94d9},_0x35e647(0x7e)),_0x2b5336;}catch(_0xa207d){logger[_0x35e647(0x94)]({'event':_0x35e647(0x8f),'project':_0x410040,'resource':_0x1a94d9,'error':_0xa207d['message']},'Failed\x20to\x20load\x20payload');throw new Error(_0x35e647(0x88)+_0x410040+'_'+_0x1a94d9);}}async['loadPayloadByName'](_0xa5c2d){const _0x4a9a6e=a0_0x72dbf,_0x2e25d9={'BHDMW':'utf8','RNmPH':'payload_loaded','MSKFs':_0x4a9a6e(0x8f),'OnLfx':_0x4a9a6e(0x8c)},_0x462032=_0x4a9a6e(0x86)+_0xa5c2d;if(this[_0x4a9a6e(0x9a)][_0x4a9a6e(0x7f)](_0x462032))return this[_0x4a9a6e(0x9a)]['get'](_0x462032);const _0x54cc63=path[_0x4a9a6e(0x8d)](this[_0x4a9a6e(0x75)],_0xa5c2d+_0x4a9a6e(0x99));try{const _0x3de166=await fs[_0x4a9a6e(0x83)](_0x54cc63,_0x2e25d9['BHDMW']),_0x495896=JSON[_0x4a9a6e(0x7d)](_0x3de166);return this[_0x4a9a6e(0x9a)]['set'](_0x462032,_0x495896),logger['debug']({'event':_0x2e25d9['RNmPH'],'payloadName':_0xa5c2d},_0x4a9a6e(0x79)),_0x495896;}catch(_0x205202){logger[_0x4a9a6e(0x94)]({'event':_0x2e25d9['MSKFs'],'payloadName':_0xa5c2d,'error':_0x205202['message']},_0x2e25d9[_0x4a9a6e(0x77)]);throw new Error('Payload\x20not\x20found:\x20'+_0xa5c2d);}}['isActionEnabled'](_0x5ad257,_0x1e42cf){const _0x2b2776=a0_0x72dbf;return _0x5ad257[_0x2b2776(0x89)]&&_0x5ad257[_0x2b2776(0x89)][_0x1e42cf]===!![];}[a0_0x72dbf(0x76)](_0x1af6c0){const _0x560a3c=a0_0x72dbf;return{'columns':_0x1af6c0['fieldName']||[],'filename':_0x1af6c0[_0x560a3c(0x8b)][_0x560a3c(0x82)]('.','-')+'-export','datatablesQuery':_0x1af6c0['datatablesQuery']||null,'columnFormats':_0x1af6c0[_0x560a3c(0x90)]||null,'fieldLabels':_0x1af6c0['fieldLabels']||null};}['clearCache'](){const _0xd527e6=a0_0x72dbf;this[_0xd527e6(0x9a)][_0xd527e6(0x80)](),logger['info']({'event':'payload_cache_cleared'},_0xd527e6(0x8e));}}module['exports']=new PayloadLoader();