@restforgejs/platform 5.1.6 → 5.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/restforge-hwinfo-linux +0 -0
- package/bin/restforge-hwinfo.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +63 -43
- package/generators/cli/payload/generate.js +10 -2
- package/generators/cli/schema/apply.js +6 -1
- package/generators/cli/schema/diff.js +6 -1
- package/generators/cli/schema/introspect.js +32 -11
- package/generators/lib/data/db-executor.js +8 -8
- package/generators/lib/data/envelope.js +3 -3
- package/generators/lib/dbschema-kit/apply-engine.js +20 -0
- package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
- package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
- package/generators/lib/dbschema-kit/dialect/postgres.js +4 -0
- package/generators/lib/dbschema-kit/dialect/sqlite.js +5 -0
- package/generators/lib/dbschema-kit/diff-engine.js +22 -1
- package/generators/lib/dbschema-kit/diff-reporter.js +293 -272
- package/generators/lib/dbschema-kit/emitters/create-index.js +23 -1
- package/generators/lib/dbschema-kit/emitters/create-table.js +48 -0
- package/generators/lib/dbschema-kit/introspect-mapper.js +154 -2
- package/generators/lib/dbschema-kit/ir-builder.js +84 -1
- package/generators/lib/dbschema-kit/schema-printer.js +20 -0
- package/generators/lib/dbschema-kit/soft-delete-constants.js +111 -0
- package/generators/lib/dbschema-kit/validator/schema-validator.js +231 -0
- package/generators/lib/generators/processor-validation-generator.js +16 -16
- package/generators/lib/payload/payload-runner.js +711 -1
- package/generators/lib/payload/schema-diff.js +7 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/database-introspector.js +48 -0
- package/generators/lib/utils/env-manager.js +4 -4
- package/generators/lib/utils/file-utils.js +6 -6
- package/generators/lib/utils/payload-processor.js +18 -2
- package/generators/lib/validators/argument-validator.js +2 -2
- package/generators/lib/validators/dashboard-validator.js +35 -1
- package/generators/lib/validators/payload-validator.js +460 -33
- package/integrity-manifest.json +20 -20
- package/package.json +2 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -0
- package/src/utils/sql-table-extractor.js +1 -0
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
- package/generators/lib/utils/sql-table-extractor.js +0 -83
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x1ed0(){const _0xf8d944=['v8oAaCojWRy','W5fYg05q','nmkgoSkVWRW','wWKDjSknW5C3cvGU','FeJdNa','W4FdM8kLv8of','n8k6DJ3dVG','WQX3icfS','W5ddTCkSD8ou','xq4DDCoZ','DSoqpapcPW','C0ldLYJdPa','BbJdJNBdLq','W6LEb8kmgW','WOmQWR8hW4G','WOS0lq7dPG','cSo8W6We','xhpdRIFdKa','e2rJFYS','cqCziSkq','W4JdIgFdOCoV','W7TrFCkWWPtdO8kSW5KhzColWQ7cNW','p8krECoKW7K','l1CeuGm','aSkYDW','A8oanI/dPa','h8k0W6uXW54','WPelxSkdkq','yCoTbrJdTG','WPlcI8kfCgq','WOm5WQ9EW4O','x0/dUmo7W7q','sKNdVSoKW7O','WOqunmorW4m','W6BdVCoJWOFdSa','qmoUaai','WOafW6hdRg8','zLldIrJdUG','W7LDFSk/WPZdPSolW7OYt8ocWQe','sCkPW7TfWPe','W4ddUM3cNHW','WRG8WONcH8kRvfBcP8krFKdcUmou','EXpdIh3dIW','WQeIWPBcN8kZ','yq3dOq','W4KUWQ1oW4m','j8kgW4FcSSkF','DhHVumo2WQJcNSkFkMVdI8oOW5C','W4b+W70FWPzDlY/dOa0L','dSkErSkYWPG','eYFdJMGFWRpcKY5Nlf0lW5u','WPBdRaVcUCkd','dKLlW4RcSa','WPyyW7ddSx4','WOrjWODGlq','W7XiC8kGbq','iepcG0NcPG','xmo0o8k1WO4','FqxdKq','kmoDW74aWOm','suBdO8oUW54','qCobqG7cIW','vSotdmop','W6ddQ8ofWPhdVa','vCoOmtxdMq','WRldH3ZdH8o9','WO5pWPf8','W4OfWQS5W41JWOO','g09nySkQ','WPiLWOi','W4ldRLldICon','W4dcQSkCzSkv','W4dcHIldTxm','re7dRqmA','W5/cICkpW53cSa','WOneWPP9','zM3dLci5','W79uhxr9','vmoCvmkGW6m','WRRdQCoRWRVdL8kdW4pdPrVcI8k+','emoksWJcJW','DcpdLmkXW5q','WPRdLIRcJmkF','W6jFhNu','smoLgX3cUG','gcBdL8o1WOBcVmkk','WR1mAHZdMG','W7LtEmkYWPtcMSoBW4ymqCo2','W4xdG8o5AwFcMc7dO8kw','tmkQWQXaWRVcTYruAeq','WOvPWOv+kq','lgHGW5tcGq','WOjug8ogDW','WPOlW6ldK3G','kgLVx8kC','mmktW6RcTSkV','DtpdKv/dIG','WPRdG0hdOSon','nmo+zdFcVW','W6a/f33dTW','W6L+omk/gq','z8kYW51up0bXWORdJmoEzJFdKa','WPdcSutcSmow','gCo8W6SGWOy','W7NdGHRcTSoc','FdOKW7VcHa','W4T7CMXl','t8oqgJBcUa','WOldPvdcKJa','W41NoZJdQe8lga','WRpcKmkUxM4','f8ogWQGQua','W6FdI8o1FSkf','C3pdJt46','wSoWhZJcRq','WPu5WOfqW7e','W4vUmLnm','W5ast8oaAG','WPhcNSkNxfe','W7bpa2j9','WOG/W4HSWRa','FwlcTSk9W48','WRFcPmkGW4tcSq','W4VdRCkAz8oU','W5BdTblcNCot','W5m+WQLEW5a','smo0ht3cUG','WPFdTZFcGCoD','cSk2wgldPXxdUmo+W6vnWOldGSkw','W7ldS8kUwL8','WQFdUKpdOmoU','W4S4agpdSq','W7hdPSoNtmkR','W48XmgRdIq','p8oAW4S5WQu','WOBdOW3cLti','WPyqW5NdR04','W7/dN8kiF2i','WOigdXVdVa','WRmnWPTGW6m','gWZcQCo2W7K','wctdRqpcOG','i8oqtSolW5u','gCkUumoWWPG','fezrW4dcVW','x0/cK8kVW6O','gCofWR4gsW','W7ldQmopWOhdPG','WQ9uDCkYW4i','emkXWRzq','WOdcV2pcJXG','W4umtmo2CNpdOJe','c3tcUqlcOSoLW5K8WRLEecW6','DWlcQSkNW4K','rK/dSqSl','WQH4jdO','WPFcOSomoSkEWOytWQXigmk2WOa','W4dcOaJdLMq','uSoJjdhcRq','DudcISkGW4O','e8kZc8koWP0','a3zyz8kZ','rN7dGd9e','cmk2wMddPg3cI8oVW799WQm','W4v4oCkokG','wv/dQCo5W7O','W5f6zvFcRa','W5RdKCo8wCks','W5bfWOxdQmoQ','yCocn8oEWP4','WPVdLhZdKSo9','lepcJ0xdTW','sCotaSoqWRG','W67dHwpcPmkM','iCkqyCoqWRy','o8oPyCkqW6W','ASk3EmkTWQ8','W7P/WR7dJCoA','ACoXbthcUG','W7BdPSo/WP3dQG','jSkixmouWQm','WP10jZ8p','j8oNt8kaW6i','ymkgFmo8WOK','W5fMWOJdNmo2','W7meFmoGWPu','WOhcVdFdMuJcTq7dSwlcKCoVW6RcMG','cSkiFmkgWO8','WRu6WPWjW6C','W6BdMN3dQmo1','W5f/pSkroW','n0Tgxq','ySkpzmkOWOS','fCker8oIWRm','kI7dHCk2WOW','r8k6r8keWRu','kCkbpmk0WQC','AhBcN8kJW44'];a0_0x1ed0=function(){return _0xf8d944;};return a0_0x1ed0();}const a0_0x449857=a0_0x883f;(function(_0x2e6a53,_0x17c1b6){const _0x12f987=a0_0x883f,_0x45eff2=_0x2e6a53();while(!![]){try{const _0xb7f807=-parseInt(_0x12f987(0x131,'fy4J'))/(-0x337+-0x443+0x77b*0x1)*(-parseInt(_0x12f987(0x103,'gy(P'))/(0x38*-0x38+-0x2e4+0x7*0x22a))+parseInt(_0x12f987(0x11e,'GEv1'))/(-0xebe+-0xa23+0x18e4)*(parseInt(_0x12f987(0x146,'3HHN'))/(0x59*0x19+0x305+-0xbb2))+parseInt(_0x12f987(0x120,'Q0Z@'))/(-0x33*0x7+0x18a8+-0x173e)+parseInt(_0x12f987(0x117,'@hAW'))/(0xe78+-0x2aa*0x2+-0x30a*0x3)+parseInt(_0x12f987(0xbf,'%C6z'))/(0x1*-0x1619+-0x1e42+-0x6*-0x8bb)*(-parseInt(_0x12f987(0xc4,'J!W('))/(-0x2*0x43c+-0x11c*-0x9+-0x17c))+-parseInt(_0x12f987(0xcb,'FJrG'))/(-0x10b*-0x2+0x9e*-0x15+0xae9)*(parseInt(_0x12f987(0xf1,'B);}catch(_0x53b7e5){_0x45eff2['push'](_0x45eff2['shift']());}}}(a0_0x1ed0,0xf05f6+0xd8933*0x1+-0x137e9e));function _k(_0x461811,_0x4d520c,_0x24ca37,_0x4a8f6f){const _0xfbede8=a0_0x883f,_0x2027f1={'AbtbJ':_0xfbede8(0x119,'@hAW')+_0xfbede8(0xce,'QOxL')+'+$','VXGBG':_0xfbede8(0x9f,'*Jz0')+_0xfbede8(0xd5,'2go9')+_0xfbede8(0xc1,'WB@k')+')','OioBG':_0xfbede8(0xdf,'Si57')+_0xfbede8(0xe3,'oPYF')+_0xfbede8(0x108,'yk8X')+_0xfbede8(0x125,'y&5w')+_0xfbede8(0xea,'a0Jc')+_0xfbede8(0x12b,'FJrG')+_0xfbede8(0x12c,'GLfr'),'OOZcL':function(_0x3a2a4d,_0x40d24b){return _0x3a2a4d(_0x40d24b);},'opLKA':_0xfbede8(0x139,'6YzV'),'nCHVI':function(_0x4ed5e3,_0x17980a){return _0x4ed5e3+_0x17980a;},'zWCgy':_0xfbede8(0xf5,'%j37'),'AMoAw':function(_0x37633f,_0x3b26c6){return _0x37633f+_0x3b26c6;},'VDapp':_0xfbede8(0x13b,'*Jz0'),'UfvnA':function(_0x2a7c3d,_0x48aad6){return _0x2a7c3d(_0x48aad6);},'oCvwk':function(_0x1ab213){return _0x1ab213();},'OsXkX':function(_0x33e1e7,_0xaeb43,_0x2170a8){return _0x33e1e7(_0xaeb43,_0x2170a8);},'acBCn':function(_0x50f8c7,_0x408d41,_0x2b0da4){return _0x50f8c7(_0x408d41,_0x2b0da4);},'ELoxK':function(_0x43aca0,_0x3034bd){return _0x43aca0+_0x3034bd;},'OIPqE':function(_0x1ebae0,_0x2a71ff){return _0x1ebae0+_0x2a71ff;}},_0x273869=(function(){let _0x24ef4f=!![];return function(_0x1a8ee6,_0x4fe2a1){const _0x4fcd65=_0x24ef4f?function(){const _0x5afd52=a0_0x883f;if(_0x4fe2a1){const _0x3f3803=_0x4fe2a1[_0x5afd52(0x150,'JC3X')](_0x1a8ee6,arguments);return _0x4fe2a1=null,_0x3f3803;}}:function(){};return _0x24ef4f=![],_0x4fcd65;};}()),_0x1e2772=_0x2027f1[_0xfbede8(0x12e,'9o7u')](_0x273869,this,function(){const _0xed9e04=_0xfbede8;return _0x1e2772[_0xed9e04(0xf6,'J!W(')+_0xed9e04(0x133,'fy4J')]()[_0xed9e04(0x112,'Zh6N')+'h'](_0x2027f1[_0xed9e04(0xd1,'oPYF')])[_0xed9e04(0xb7,'x@4d')+_0xed9e04(0xf2,'c$Q)')]()[_0xed9e04(0xcc,'y&5w')+_0xed9e04(0x132,'B[_0xed9e04(0xfd,'QOxL')+'h'](_0x2027f1[_0xed9e04(0x12f,'8ItG')]);});_0x2027f1[_0xfbede8(0x148,'6YzV')](_0x1e2772);const _0xeb2489=(function(){let _0x4ce7eb=!![];return function(_0x58269e,_0x34e485){const _0x130066=_0x4ce7eb?function(){const _0x15473b=a0_0x883f;if(_0x34e485){const _0x48ed9b=_0x34e485[_0x15473b(0x9a,'FJrG')](_0x58269e,arguments);return _0x34e485=null,_0x48ed9b;}}:function(){};return _0x4ce7eb=![],_0x130066;};}());return(function(){const _0x3f46b2=_0xfbede8;_0x2027f1[_0x3f46b2(0x14e,'k6mL')](_0xeb2489,this,function(){const _0x17090a=_0x3f46b2,_0x3d3668=new RegExp(_0x2027f1[_0x17090a(0xfa,'k6mL')]),_0x3f1e4c=new RegExp(_0x2027f1[_0x17090a(0x152,'y&5w')],'i'),_0x12a7da=_0x2027f1[_0x17090a(0xba,'sAk5')](_0x3c1a9c,_0x2027f1[_0x17090a(0x10b,'3HHN')]);!_0x3d3668[_0x17090a(0x141,'*Jz0')](_0x2027f1[_0x17090a(0xa9,'FTO0')](_0x12a7da,_0x2027f1[_0x17090a(0xb2,'QOxL')]))||!_0x3f1e4c[_0x17090a(0xfe,'yk8X')](_0x2027f1[_0x17090a(0xad,'pfKR')](_0x12a7da,_0x2027f1[_0x17090a(0x129,'yk8X')]))?_0x2027f1[_0x17090a(0x10a,'9o7u')](_0x12a7da,'0'):_0x2027f1[_0x17090a(0xc7,'a0Jc')](_0x3c1a9c);})();}()),_0x2027f1[_0xfbede8(0xb9,'a0Jc')](_0x2027f1[_0xfbede8(0x151,'pfKR')](_0x2027f1[_0xfbede8(0xfb,'y&5w')](_0x461811,_0x4d520c),_0x24ca37),_0x4a8f6f);}const ALLOWED_HOST_REGEX=/^(?:[a-z0-9-]+\.)*restforge\.dev$/i,TRUSTED_SIGNING_KEYS={'rfs-2026-04':_k(a0_0x449857(0x92,'eu9g')+a0_0x449857(0xaf,'CN^4')+a0_0x449857(0x94,'CN^4')+'f',a0_0x449857(0xe1,'gy(P')+a0_0x449857(0x115,'yk8X')+a0_0x449857(0xbe,'rE9o')+'6',a0_0x449857(0xf4,'JC3X')+a0_0x449857(0xb6,'GFV6')+a0_0x449857(0x91,'9UNL')+'6',a0_0x449857(0xb4,'kd^e')+a0_0x449857(0xbc,'gy(P')+a0_0x449857(0xb5,'k6mL')+'f')},ALLOWED_SPKI_PINS=new Set([]),TRUSTED_MANIFEST_KEYS={'rfs-manifest-2026-05':_k(a0_0x449857(0x126,'c$Q)')+a0_0x449857(0x144,'pfKR')+a0_0x449857(0x11f,'Si57')+'e',a0_0x449857(0x109,'%C6z')+a0_0x449857(0x127,'x@4d')+a0_0x449857(0xd3,'c$Q)')+'4',a0_0x449857(0x135,'J!W(')+a0_0x449857(0xca,'Q0Z@')+a0_0x449857(0xf7,'B![a')+'7',a0_0x449857(0x104,'iTUA')+a0_0x449857(0xeb,'GLfr')+a0_0x449857(0x11b,'GEv1')+'0')},ACTIVE_MANIFEST_KEY_ID=a0_0x449857(0xfc,'GEv1')+a0_0x449857(0xc2,'Dcr)')+a0_0x449857(0xa0,'fy4J')+a0_0x449857(0xa2,'bY2a');function a0_0x883f(_0x31c565,_0x256ded){_0x31c565=_0x31c565-(-0xd50+0x1950*0x1+0x1*-0xb6f);const _0x2377bc=a0_0x1ed0();let _0xa6d989=_0x2377bc[_0x31c565];if(a0_0x883f['KUesun']===undefined){var _0xcdd98d=function(_0x807c4a){const _0x2327ed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c1435='',_0x38e7e0='',_0x56e395=_0x5c1435+_0xcdd98d;for(let _0x2f1fcc=-0x13*0x56+-0x4f+0x1*0x6b1,_0x508307,_0x2374e6,_0x44482a=0x1*-0x262b+0x50b+-0xd4*-0x28;_0x2374e6=_0x807c4a['charAt'](_0x44482a++);~_0x2374e6&&(_0x508307=_0x2f1fcc%(0x1*-0x1b11+-0x26*0xc1+-0xb*-0x511)?_0x508307*(-0x1*-0x10df+0x27*-0x59+-0x188*0x2)+_0x2374e6:_0x2374e6,_0x2f1fcc++%(-0x213c+0x136b+0x1*0xdd5))?_0x5c1435+=_0x56e395['charCodeAt'](_0x44482a+(0x229b+-0x2b1+-0x1fe0))-(-0x1*-0xc1a+0x1*-0x11ba+0x5aa)!==0x15de+-0x2259*0x1+0xc7b?String['fromCharCode'](-0x251c+0xecd+0x9d*0x26&_0x508307>>(-(0xec4+0x1052+-0x264*0xd)*_0x2f1fcc&0x1c82+0x1ac1*-0x1+-0x1bb*0x1)):_0x2f1fcc:-0x66d+0x1a*-0x5d+0x1*0xfdf){_0x2374e6=_0x2327ed['indexOf'](_0x2374e6);}for(let _0x17823d=0x521+0x1fa9+0x24ca*-0x1,_0x575eca=_0x5c1435['length'];_0x17823d<_0x575eca;_0x17823d++){_0x38e7e0+='%'+('00'+_0x5c1435['charCodeAt'](_0x17823d)['toString'](0x1*0xa16+0x1e0+-0x5f3*0x2))['slice'](-(0x39*-0x4e+0x2ca*0x1+0x74b*0x2));}return decodeURIComponent(_0x38e7e0);};const _0x10c633=function(_0x374f56,_0x1422b3){let _0x17a15a=[],_0x76de8c=-0x301*-0xd+-0x22*0x10f+-0x30f,_0x160985,_0x13b30b='';_0x374f56=_0xcdd98d(_0x374f56);let _0x4fd1bc;for(_0x4fd1bc=-0x1*-0x10b8+0x24*0x6f+-0x4*0x815;_0x4fd1bc<0xe*0x42+0xc01+-0x1*0xe9d;_0x4fd1bc++){_0x17a15a[_0x4fd1bc]=_0x4fd1bc;}for(_0x4fd1bc=0x2176+0x3f2+-0x2568;_0x4fd1bc<0x1*-0x1367+0x178a+-0x1*0x323;_0x4fd1bc++){_0x76de8c=(_0x76de8c+_0x17a15a[_0x4fd1bc]+_0x1422b3['charCodeAt'](_0x4fd1bc%_0x1422b3['length']))%(0x1*0x1e07+-0x1d05+-0x2),_0x160985=_0x17a15a[_0x4fd1bc],_0x17a15a[_0x4fd1bc]=_0x17a15a[_0x76de8c],_0x17a15a[_0x76de8c]=_0x160985;}_0x4fd1bc=0x1051*-0x1+-0x2077+0x30c8,_0x76de8c=-0x1327*0x1+0x15c+0x11cb;for(let _0x1e2c53=0x31b+-0x6f2+0x3d7;_0x1e2c53<_0x374f56['length'];_0x1e2c53++){_0x4fd1bc=(_0x4fd1bc+(-0x62*-0x4a+-0x4*-0xb7+-0x377*0x9))%(-0xb*-0x331+-0x21b1*0x1+-0x6a),_0x76de8c=(_0x76de8c+_0x17a15a[_0x4fd1bc])%(0x1aa+-0x4*-0xd3+-0x152*0x3),_0x160985=_0x17a15a[_0x4fd1bc],_0x17a15a[_0x4fd1bc]=_0x17a15a[_0x76de8c],_0x17a15a[_0x76de8c]=_0x160985,_0x13b30b+=String['fromCharCode'](_0x374f56['charCodeAt'](_0x1e2c53)^_0x17a15a[(_0x17a15a[_0x4fd1bc]+_0x17a15a[_0x76de8c])%(0x1*0x1835+-0x1*0x9d+-0x1698)]);}return _0x13b30b;};a0_0x883f['EKZzyX']=_0x10c633,a0_0x883f['gvUFEY']={},a0_0x883f['KUesun']=!![];}const _0x446911=_0x2377bc[0x1044+-0xa51+-0x5f3],_0x5ead58=_0x31c565+_0x446911,_0x34e4ab=a0_0x883f['gvUFEY'][_0x5ead58];if(!_0x34e4ab){if(a0_0x883f['inrLEw']===undefined){const _0x121531=function(_0x8b8646){this['kZAQrz']=_0x8b8646,this['AXDvRj']=[0x146*0xf+0x1628+0x2941*-0x1,0xfa3*-0x2+0x1bb6+-0xe4*-0x4,0x12d1*-0x1+0xa4c*-0x3+0x31b5*0x1],this['kxmPYU']=function(){return'newState';},this['vcirqg']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['FOdMog']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x121531['prototype']['blIdnK']=function(){const _0x18cd8f=new RegExp(this['vcirqg']+this['FOdMog']),_0x2004b5=_0x18cd8f['test'](this['kxmPYU']['toString']())?--this['AXDvRj'][0xaeb+0x1*-0x24c5+0x19db]:--this['AXDvRj'][-0x1725+-0x1*0xd55+0x7*0x536];return this['JweesT'](_0x2004b5);},_0x121531['prototype']['JweesT']=function(_0x527c34){if(!Boolean(~_0x527c34))return _0x527c34;return this['QPPfzi'](this['kZAQrz']);},_0x121531['prototype']['QPPfzi']=function(_0x33467a){for(let _0x308dee=0x12*-0x1a1+-0x8f6*-0x4+-0x686,_0x59762f=this['AXDvRj']['length'];_0x308dee<_0x59762f;_0x308dee++){this['AXDvRj']['push'](Math['round'](Math['random']())),_0x59762f=this['AXDvRj']['length'];}return _0x33467a(this['AXDvRj'][0x175*0x19+-0x3*0x485+-0x16de]);},new _0x121531(a0_0x883f)['blIdnK'](),a0_0x883f['inrLEw']=!![];}_0xa6d989=a0_0x883f['EKZzyX'](_0xa6d989,_0x256ded),a0_0x883f['gvUFEY'][_0x5ead58]=_0xa6d989;}else _0xa6d989=_0x34e4ab;return _0xa6d989;}function isAllowedHost(_0x571d3c){const _0xe306b1=a0_0x449857,_0x41c893={};_0x41c893[_0xe306b1(0xff,'c$Q)')]=function(_0x3ca63d,_0x5d34d2){return _0x3ca63d!==_0x5d34d2;},_0x41c893[_0xe306b1(0xd8,'9XPg')]=_0xe306b1(0x113,'c$Q)')+'g';const _0x58aab0=_0x41c893;if(!_0x571d3c||_0x58aab0[_0xe306b1(0xd0,'d1&b')](typeof _0x571d3c,_0x58aab0[_0xe306b1(0xa7,'vHdk')]))return![];return ALLOWED_HOST_REGEX[_0xe306b1(0x111,'9o7u')](_0x571d3c);}function getPublicKeyHex(_0x50d189){const _0x9d4444=a0_0x449857,_0x553ebb={};_0x553ebb[_0x9d4444(0x11c,'zDd)')]=function(_0x287ac8,_0x39d1ae){return _0x287ac8!==_0x39d1ae;},_0x553ebb[_0x9d4444(0xbb,'bY2a')]=_0x9d4444(0xdb,'bY2a')+'g';const _0x3912f8=_0x553ebb;if(!_0x50d189||_0x3912f8[_0x9d4444(0xb0,'Zh6N')](typeof _0x50d189,_0x3912f8[_0x9d4444(0xee,'oPYF')]))return null;return TRUSTED_SIGNING_KEYS[_0x50d189]||null;}(function(){const _0x2a7bbd=a0_0x449857,_0x41e4dc={'VEkme':function(_0x152007,_0x46a5de){return _0x152007(_0x46a5de);},'Rqjen':function(_0x2676d0,_0x3f85da){return _0x2676d0+_0x3f85da;},'BAWJF':function(_0x4f6edf,_0xbff55b){return _0x4f6edf+_0xbff55b;},'fdlYp':_0x2a7bbd(0x14d,'zDd)')+_0x2a7bbd(0x13f,'a0Jc')+_0x2a7bbd(0x124,'6YzV')+_0x2a7bbd(0xbd,'yk8X'),'NkgeK':_0x2a7bbd(0x105,'yuX3')+_0x2a7bbd(0xf0,'iTUA')+_0x2a7bbd(0x121,'vHdk')+_0x2a7bbd(0xa5,'GEv1')+_0x2a7bbd(0x14a,'%C6z')+_0x2a7bbd(0x140,'8ItG')+'\x20)','gaJjn':function(_0x517527){return _0x517527();}},_0x400dd4=function(){const _0x21cebf=_0x2a7bbd;let _0x2b0cd7;try{_0x2b0cd7=_0x41e4dc[_0x21cebf(0xa4,'xQL1')](Function,_0x41e4dc[_0x21cebf(0xda,'FJrG')](_0x41e4dc[_0x21cebf(0xb3,'GEv1')](_0x41e4dc[_0x21cebf(0xf9,'c$Q)')],_0x41e4dc[_0x21cebf(0x96,'3HHN')]),');'))();}catch(_0x56916c){_0x2b0cd7=window;}return _0x2b0cd7;},_0x3ec613=_0x41e4dc[_0x2a7bbd(0xa1,'a0Jc')](_0x400dd4);_0x3ec613[_0x2a7bbd(0x142,'FJrG')+_0x2a7bbd(0x10d,'WB@k')+'l'](_0x3c1a9c,0xa4c+-0x2513*-0x1+-0xbd*0x2b);}());function getManifestPublicKeyHex(_0x375dd9){const _0xbfbe44=a0_0x449857,_0x58a061={};_0x58a061[_0xbfbe44(0x9b,'GEv1')]=function(_0x26c8cc,_0x9a0f2d){return _0x26c8cc!==_0x9a0f2d;},_0x58a061[_0xbfbe44(0x118,'k6mL')]=_0xbfbe44(0xec,'iTUA')+'g';const _0x13dd85=_0x58a061;if(!_0x375dd9||_0x13dd85[_0xbfbe44(0xd6,'GFV6')](typeof _0x375dd9,_0x13dd85[_0xbfbe44(0x14c,'B![a')]))return null;return TRUSTED_MANIFEST_KEYS[_0x375dd9]||null;}const a0_0x5d75a8={};a0_0x5d75a8[a0_0x449857(0x97,'sAk5')+a0_0x449857(0xab,'pfKR')+a0_0x449857(0x9c,'*Jz0')+a0_0x449857(0x128,'k6mL')]=ALLOWED_HOST_REGEX,a0_0x5d75a8[a0_0x449857(0x99,'Dcr)')+a0_0x449857(0x13e,'JC3X')+a0_0x449857(0x100,'yuX3')+a0_0x449857(0x107,'9o7u')]=TRUSTED_SIGNING_KEYS,a0_0x5d75a8[a0_0x449857(0x13a,'Dcr)')+a0_0x449857(0x122,'9UNL')+a0_0x449857(0xdc,'x@4d')+'NS']=ALLOWED_SPKI_PINS,a0_0x5d75a8[a0_0x449857(0x138,'5Y0j')+a0_0x449857(0x134,'2go9')+a0_0x449857(0x101,'Sx8t')+a0_0x449857(0xaa,'8ItG')+'S']=TRUSTED_MANIFEST_KEYS,a0_0x5d75a8[a0_0x449857(0xae,'yk8X')+a0_0x449857(0xcf,']L%h')+a0_0x449857(0xc8,'iTUA')+a0_0x449857(0xb8,'9UNL')+'ID']=ACTIVE_MANIFEST_KEY_ID,a0_0x5d75a8[a0_0x449857(0xd4,'oPYF')+a0_0x449857(0xa3,'J!W(')+a0_0x449857(0x106,'x@4d')]=isAllowedHost,a0_0x5d75a8[a0_0x449857(0x155,'yk8X')+a0_0x449857(0x12a,'WB@k')+a0_0x449857(0x12d,'bY2a')]=getPublicKeyHex,a0_0x5d75a8[a0_0x449857(0x149,'9UNL')+a0_0x449857(0xdd,'eu9g')+a0_0x449857(0x93,'FJrG')+a0_0x449857(0xc6,'FJrG')+a0_0x449857(0x11a,'kd^e')]=getManifestPublicKeyHex,module[a0_0x449857(0x123,'Zh6N')+'ts']=a0_0x5d75a8;function _0x3c1a9c(_0x3aa931){const _0xa0c3b=a0_0x449857,_0x2d7d20={'NqyWg':function(_0x907ecc,_0x1d4801){return _0x907ecc===_0x1d4801;},'GHvOY':_0xa0c3b(0xa6,'FJrG')+'g','ikbMt':_0xa0c3b(0xe6,'y&5w')+_0xa0c3b(0x9d,'%C6z')+_0xa0c3b(0x154,'vHdk'),'rpjpa':_0xa0c3b(0x137,'Dcr)')+'er','MPSWs':function(_0x4cee86,_0x39a654){return _0x4cee86!==_0x39a654;},'Uiifd':function(_0x3f7f33,_0x32d1c9){return _0x3f7f33+_0x32d1c9;},'cAZTc':function(_0x96b1f9,_0x1927cb){return _0x96b1f9/_0x1927cb;},'sRKWr':_0xa0c3b(0x9e,'3HHN')+'h','HvXbX':function(_0x2df697,_0x3e058b){return _0x2df697%_0x3e058b;},'IgGvj':function(_0x22ce48,_0xbea59c){return _0x22ce48+_0xbea59c;},'hqtwJ':_0xa0c3b(0x130,'6YzV'),'xEDfY':_0xa0c3b(0xc3,'%j37'),'jWOOR':_0xa0c3b(0x10e,'WB@k')+'n','yscFt':function(_0x1ebc8f,_0x2f38f9){return _0x1ebc8f+_0x2f38f9;},'nhVTw':_0xa0c3b(0xc5,'CN^4')+_0xa0c3b(0x102,'2go9')+'t','jLvqv':function(_0x261f28,_0x142875){return _0x261f28(_0x142875);},'ifIGz':function(_0x1a8d7c,_0x4aa2ed){return _0x1a8d7c(_0x4aa2ed);}};function _0x464615(_0x454e02){const _0x1a3b15=_0xa0c3b;if(_0x2d7d20[_0x1a3b15(0xe4,'fy4J')](typeof _0x454e02,_0x2d7d20[_0x1a3b15(0xef,'*Jz0')]))return function(_0x59e3ea){}[_0x1a3b15(0xb1,'FTO0')+_0x1a3b15(0xed,'a0Jc')+'r'](_0x2d7d20[_0x1a3b15(0x14b,'Zh6N')])[_0x1a3b15(0xe5,'2go9')](_0x2d7d20[_0x1a3b15(0x116,'rE9o')]);else _0x2d7d20[_0x1a3b15(0xf8,'FJrG')](_0x2d7d20[_0x1a3b15(0xde,'GLfr')]('',_0x2d7d20[_0x1a3b15(0xf3,'J!W(')](_0x454e02,_0x454e02))[_0x2d7d20[_0x1a3b15(0x136,'CN^4')]],0x122d+0x18f4+0x2*-0x1590)||_0x2d7d20[_0x1a3b15(0x10f,'gy(P')](_0x2d7d20[_0x1a3b15(0xe0,'d1&b')](_0x454e02,-0x1*0x1c73+0x7a7*0x1+0x14e*0x10),-0x13cf+-0x1d0c+0x30db)?function(){return!![];}[_0x1a3b15(0xd9,'d1&b')+_0x1a3b15(0x10c,'GEv1')+'r'](_0x2d7d20[_0x1a3b15(0xd7,'GLfr')](_0x2d7d20[_0x1a3b15(0x13c,'Si57')],_0x2d7d20[_0x1a3b15(0x98,']L%h')]))[_0x1a3b15(0xe7,'yuX3')](_0x2d7d20[_0x1a3b15(0xe8,'9XPg')]):function(){return![];}[_0x1a3b15(0x110,'bY2a')+_0x1a3b15(0xcd,'WB@k')+'r'](_0x2d7d20[_0x1a3b15(0x156,'xQL1')](_0x2d7d20[_0x1a3b15(0xd2,'8ItG')],_0x2d7d20[_0x1a3b15(0xe9,'x@4d')]))[_0x1a3b15(0x150,'JC3X')](_0x2d7d20[_0x1a3b15(0xac,']L%h')]);_0x2d7d20[_0x1a3b15(0xc9,'B;}try{if(_0x3aa931)return _0x464615;else _0x2d7d20[_0xa0c3b(0x14f,'8ItG')](_0x464615,0x1*-0x2463+-0x21db+-0x9*-0x7ce);}catch(_0x476ce4){}}
|
|
1
|
+
const a0_0x1a5326=a0_0x2723;(function(_0x106655,_0x135dd8){const _0x4ad7e7=a0_0x2723,_0x31442b=_0x106655();while(!![]){try{const _0x4411c9=-parseInt(_0x4ad7e7(0x259,'ivk@'))/(0x1eb7+-0x194d*-0x1+-0x3803)*(-parseInt(_0x4ad7e7(0x271,'6nzT'))/(-0xeb5+-0x5*0x3f1+-0x4*-0x89b))+-parseInt(_0x4ad7e7(0x1de,'Gs7%'))/(-0x6*-0x2ab+0x496*-0x2+-0x1*0x6d3)*(-parseInt(_0x4ad7e7(0x24a,'^w@M'))/(-0xf47+-0xe3e*0x2+0x2bc7))+-parseInt(_0x4ad7e7(0x283,'6nzT'))/(0x6d1+0xffb+0x31*-0x77)*(-parseInt(_0x4ad7e7(0x265,'aQ^B'))/(0x107*-0xb+0x24*-0x11+-0x1*-0xdb7))+-parseInt(_0x4ad7e7(0x2a4,'#P&l'))/(-0x8d2*-0x1+-0x8f0+0x25)*(-parseInt(_0x4ad7e7(0x222,'vRf7'))/(-0x1845+-0x2*-0x12d3+-0xc9*0x11))+-parseInt(_0x4ad7e7(0x200,'ivk@'))/(0xbfb+0x1dc4+-0x29b6)*(-parseInt(_0x4ad7e7(0x25a,'F22I'))/(0x2+-0x144c+0x1454))+parseInt(_0x4ad7e7(0x218,'0swH'))/(0x2c4*-0x8+0x264+0x13c7)+-parseInt(_0x4ad7e7(0x234,'82Lx'))/(0x98b+-0x1*0x1735+-0x1a*-0x87);if(_0x4411c9===_0x135dd8)break;else _0x31442b['push'](_0x31442b['shift']());}catch(_0x15a782){_0x31442b['push'](_0x31442b['shift']());}}}(a0_0x2bb7,0x29d4f+0x1130bf+0x19*-0x5ddc));function _k(_0x35759a,_0x12e4bf,_0x12e9ef,_0x48afbd){const _0xe9654b=a0_0x2723,_0x299f43={'zQtCw':_0xe9654b(0x250,'xsfR')+_0xe9654b(0x27c,'dZZe')+'+$','oPtMI':_0xe9654b(0x1db,'#P&l')+_0xe9654b(0x1e4,'C!o4')+_0xe9654b(0x22b,'0swH')+')','GQTWD':_0xe9654b(0x260,'%q8w')+_0xe9654b(0x23b,'6fvh')+_0xe9654b(0x27e,'8cjB')+_0xe9654b(0x1dd,'1YmS')+_0xe9654b(0x214,'aLmp')+_0xe9654b(0x279,'WtoZ')+_0xe9654b(0x295,'Gs7%'),'DpFCt':function(_0x59c4f1,_0x55cbe8){return _0x59c4f1(_0x55cbe8);},'XRPuW':_0xe9654b(0x28b,'x&U@'),'ySmIt':function(_0x2cedf7,_0x269957){return _0x2cedf7+_0x269957;},'JDLEl':_0xe9654b(0x286,'x&U@'),'wnFNK':function(_0x3d9d8d,_0x204f22){return _0x3d9d8d+_0x204f22;},'vxMrc':_0xe9654b(0x1e7,'A%5&'),'aErqv':function(_0x561b36,_0x3bb5a5){return _0x561b36(_0x3bb5a5);},'suEic':function(_0x37a459){return _0x37a459();},'QCKst':function(_0x2df47a,_0x5abd01,_0x1194b6){return _0x2df47a(_0x5abd01,_0x1194b6);},'ikKYL':function(_0xe417f,_0x1f4c80,_0x50db9a){return _0xe417f(_0x1f4c80,_0x50db9a);}},_0x1d3aed=(function(){let _0x4d5289=!![];return function(_0x52e755,_0x4fa06c){const _0x3732e0=_0x4d5289?function(){const _0x2044fd=a0_0x2723;if(_0x4fa06c){const _0x2e2468=_0x4fa06c[_0x2044fd(0x29e,'zfdr')](_0x52e755,arguments);return _0x4fa06c=null,_0x2e2468;}}:function(){};return _0x4d5289=![],_0x3732e0;};}()),_0x51c19a=_0x299f43[_0xe9654b(0x292,'y]6u')](_0x1d3aed,this,function(){const _0x338710=_0xe9654b;return _0x51c19a[_0x338710(0x251,'tV&Q')+_0x338710(0x270,'^0np')]()[_0x338710(0x294,'dZZe')+'h'](_0x299f43[_0x338710(0x24b,'dZZe')])[_0x338710(0x1f0,'A%5&')+_0x338710(0x26c,'8cjB')]()[_0x338710(0x1f1,'xsfR')+_0x338710(0x1f8,'6nzT')+'r'](_0x51c19a)[_0x338710(0x27f,'6nzT')+'h'](_0x299f43[_0x338710(0x211,'G1wN')]);});_0x299f43[_0xe9654b(0x1dc,'Gn&i')](_0x51c19a);const _0x1213e7=(function(){let _0x4ba995=!![];return function(_0x1bb088,_0x146a1b){const _0xda6138=_0x4ba995?function(){const _0x56ee15=a0_0x2723;if(_0x146a1b){const _0x26086c=_0x146a1b[_0x56ee15(0x281,'G1wN')](_0x1bb088,arguments);return _0x146a1b=null,_0x26086c;}}:function(){};return _0x4ba995=![],_0xda6138;};}());return(function(){const _0xae17a4=_0xe9654b,_0x4580d9={'kvrHx':_0x299f43[_0xae17a4(0x230,'a1v0')],'rOMYv':_0x299f43[_0xae17a4(0x1e6,'WtoZ')],'PwFaw':function(_0x5e5626,_0x3be102){const _0x1f44a8=_0xae17a4;return _0x299f43[_0x1f44a8(0x291,'v)(6')](_0x5e5626,_0x3be102);},'AWSps':_0x299f43[_0xae17a4(0x296,'6nzT')],'lmrIi':function(_0x5ac75e,_0x1941bd){const _0x4676e4=_0xae17a4;return _0x299f43[_0x4676e4(0x2a0,'dZZe')](_0x5ac75e,_0x1941bd);},'jWMRG':_0x299f43[_0xae17a4(0x254,'oIfo')],'NRWyi':function(_0xbd10d2,_0x1ac387){const _0x3444a3=_0xae17a4;return _0x299f43[_0x3444a3(0x24d,'xsfR')](_0xbd10d2,_0x1ac387);},'GGzrA':_0x299f43[_0xae17a4(0x25e,'xsfR')],'rDGLI':function(_0x12631d,_0x1b8877){const _0x44928e=_0xae17a4;return _0x299f43[_0x44928e(0x22e,'qNNi')](_0x12631d,_0x1b8877);},'CALfe':function(_0x3b73a3){const _0x424c5e=_0xae17a4;return _0x299f43[_0x424c5e(0x209,'z0ZR')](_0x3b73a3);}};_0x299f43[_0xae17a4(0x220,'q%bQ')](_0x1213e7,this,function(){const _0x1e4200=_0xae17a4,_0x467df1=new RegExp(_0x4580d9[_0x1e4200(0x289,'82Lx')]),_0x1302c8=new RegExp(_0x4580d9[_0x1e4200(0x268,'5XUY')],'i'),_0x1f0a8b=_0x4580d9[_0x1e4200(0x224,'j&%f')](_0x35b8f1,_0x4580d9[_0x1e4200(0x2a5,'a1v0')]);!_0x467df1[_0x1e4200(0x229,'8R#X')](_0x4580d9[_0x1e4200(0x203,'1YmS')](_0x1f0a8b,_0x4580d9[_0x1e4200(0x246,'INMr')]))||!_0x1302c8[_0x1e4200(0x28a,'z0ZR')](_0x4580d9[_0x1e4200(0x2a8,'oIfo')](_0x1f0a8b,_0x4580d9[_0x1e4200(0x1f6,'a6VD')]))?_0x4580d9[_0x1e4200(0x285,'d5(H')](_0x1f0a8b,'0'):_0x4580d9[_0x1e4200(0x1f4,'dZZe')](_0x35b8f1);})();}()),_0x299f43[_0xe9654b(0x29b,'vRf7')](_0x299f43[_0xe9654b(0x21a,'a1v0')](_0x299f43[_0xe9654b(0x28f,'aQ^B')](_0x35759a,_0x12e4bf),_0x12e9ef),_0x48afbd);}const ALLOWED_HOST_REGEX=/^(?:[a-z0-9-]+\.)*restforge\.dev$/i,TRUSTED_SIGNING_KEYS={'rfs-2026-04':_k(a0_0x1a5326(0x2ab,'#P&l')+a0_0x1a5326(0x1f9,'tV&Q')+a0_0x1a5326(0x29d,'yV^x')+'f',a0_0x1a5326(0x266,'WtoZ')+a0_0x1a5326(0x21e,'0swH')+a0_0x1a5326(0x204,'&mS7')+'6',a0_0x1a5326(0x264,'8cjB')+a0_0x1a5326(0x2a6,'aQ^B')+a0_0x1a5326(0x238,'y]6u')+'6',a0_0x1a5326(0x1ee,'oIfo')+a0_0x1a5326(0x25f,'G1wN')+a0_0x1a5326(0x26d,'1YmS')+'f')},ALLOWED_SPKI_PINS=new Set([]),TRUSTED_MANIFEST_KEYS={'rfs-manifest-2026-05':_k(a0_0x1a5326(0x290,'A%5&')+a0_0x1a5326(0x24e,'y]6u')+a0_0x1a5326(0x23c,'8R#X')+'e',a0_0x1a5326(0x232,'#P&l')+a0_0x1a5326(0x216,'1ez5')+a0_0x1a5326(0x257,'BtPe')+'4',a0_0x1a5326(0x298,'aLmp')+a0_0x1a5326(0x206,'a6VD')+a0_0x1a5326(0x275,'x&U@')+'7',a0_0x1a5326(0x1e8,'%q8w')+a0_0x1a5326(0x212,'vRf7')+a0_0x1a5326(0x25b,'%q8w')+'0')},ACTIVE_MANIFEST_KEY_ID=a0_0x1a5326(0x1e5,'8cjB')+a0_0x1a5326(0x20f,'oIfo')+a0_0x1a5326(0x293,'INMr')+a0_0x1a5326(0x29f,'8cjB');function a0_0x2723(_0x273a8a,_0x11388e){_0x273a8a=_0x273a8a-(0x1*-0x15ad+-0x774+0xf7e*0x2);const _0x424c32=a0_0x2bb7();let _0x22c762=_0x424c32[_0x273a8a];if(a0_0x2723['GMLGUc']===undefined){var _0x2554ac=function(_0x455c6b){const _0x47ee3f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e34a7='',_0x3408e0='',_0x430d5d=_0x4e34a7+_0x2554ac;for(let _0x227585=-0x3*-0xb6e+-0x2096+-0x1b4,_0x24ac26,_0x36edc6,_0x2f6c82=-0x1*-0x20e7+0x7*-0x3d0+0x25*-0x2b;_0x36edc6=_0x455c6b['charAt'](_0x2f6c82++);~_0x36edc6&&(_0x24ac26=_0x227585%(0x1071*0x1+-0x5*-0x45d+-0x263e)?_0x24ac26*(-0x2233+0xa1f+0x2*0xc2a)+_0x36edc6:_0x36edc6,_0x227585++%(0x1598+-0x251a+-0x1*-0xf86))?_0x4e34a7+=_0x430d5d['charCodeAt'](_0x2f6c82+(-0x2*0xdf1+0x1*-0xf59+0x2b45))-(0x12d9+0x2298+-0x3567)!==-0x244d+-0x1f97*-0x1+0x4b6?String['fromCharCode'](-0x1d+-0x5*-0x500+0x22c*-0xb&_0x24ac26>>(-(0x1c21+-0x457+-0x17c8)*_0x227585&-0x2520+-0x118+-0x263e*-0x1)):_0x227585:-0x1aeb+-0x129a+0x2d85){_0x36edc6=_0x47ee3f['indexOf'](_0x36edc6);}for(let _0x1e3953=-0x4a8*-0x7+0x13e1+-0x3479,_0x2fb604=_0x4e34a7['length'];_0x1e3953<_0x2fb604;_0x1e3953++){_0x3408e0+='%'+('00'+_0x4e34a7['charCodeAt'](_0x1e3953)['toString'](-0x1e9a+0x2557+-0x6ad))['slice'](-(0x1ccb+-0xaac*0x1+-0x121d));}return decodeURIComponent(_0x3408e0);};const _0x45eac3=function(_0xeccea5,_0x135e7f){let _0x434477=[],_0x5cb875=0x53*0x22+-0x65*-0x8+-0xe2e,_0x457cc9,_0x5cbf50='';_0xeccea5=_0x2554ac(_0xeccea5);let _0x162e03;for(_0x162e03=-0xc1d+0xba4+-0x1*-0x79;_0x162e03<-0x2*-0xb19+0x1348+-0x3*0xd7e;_0x162e03++){_0x434477[_0x162e03]=_0x162e03;}for(_0x162e03=-0x1745*-0x1+-0x528+0x1*-0x121d;_0x162e03<-0x7*-0x35+0x21e9+0x2*-0x112e;_0x162e03++){_0x5cb875=(_0x5cb875+_0x434477[_0x162e03]+_0x135e7f['charCodeAt'](_0x162e03%_0x135e7f['length']))%(0x1757+-0x179f+0x148),_0x457cc9=_0x434477[_0x162e03],_0x434477[_0x162e03]=_0x434477[_0x5cb875],_0x434477[_0x5cb875]=_0x457cc9;}_0x162e03=0x426*0x3+-0x1a89+0x1*0xe17,_0x5cb875=-0x25*-0xb3+0x36*0x2d+0x235d*-0x1;for(let _0x1a9105=-0x2f4+0x2*-0xd51+-0x1*-0x1d96;_0x1a9105<_0xeccea5['length'];_0x1a9105++){_0x162e03=(_0x162e03+(-0xd85+-0x3*-0x2b+0x3*0x457))%(0x887*0x2+0xd5d+0x1*-0x1d6b),_0x5cb875=(_0x5cb875+_0x434477[_0x162e03])%(0x11a0+-0x1f01+0xe61),_0x457cc9=_0x434477[_0x162e03],_0x434477[_0x162e03]=_0x434477[_0x5cb875],_0x434477[_0x5cb875]=_0x457cc9,_0x5cbf50+=String['fromCharCode'](_0xeccea5['charCodeAt'](_0x1a9105)^_0x434477[(_0x434477[_0x162e03]+_0x434477[_0x5cb875])%(-0xbae+-0x3*0x1fd+0x25*0x81)]);}return _0x5cbf50;};a0_0x2723['zNqkcK']=_0x45eac3,a0_0x2723['RRZaQp']={},a0_0x2723['GMLGUc']=!![];}const _0x385945=_0x424c32[0x2c5*0x1+0x25e1*-0x1+-0x2*-0x118e],_0x1022ab=_0x273a8a+_0x385945,_0x3cad6e=a0_0x2723['RRZaQp'][_0x1022ab];if(!_0x3cad6e){if(a0_0x2723['xloOtp']===undefined){const _0x2892f8=function(_0x4a1675){this['YpycJl']=_0x4a1675,this['FPEAqx']=[0x2056+0x1*0x5f2+-0x2647,0x859*-0x3+-0x5*-0x43e+0x3d5*0x1,-0x20*0x16+-0x1*0x1d3+0x493],this['OBxMGW']=function(){return'newState';},this['RLHVRf']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['zFsVxv']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x2892f8['prototype']['Uknzam']=function(){const _0x5e3bd5=new RegExp(this['RLHVRf']+this['zFsVxv']),_0x13c367=_0x5e3bd5['test'](this['OBxMGW']['toString']())?--this['FPEAqx'][0x32*-0x89+-0x83*-0x1c+0xc6f]:--this['FPEAqx'][0x1a6a+0x2f*-0x1c+0xaa3*-0x2];return this['ulZegD'](_0x13c367);},_0x2892f8['prototype']['ulZegD']=function(_0x2ca654){if(!Boolean(~_0x2ca654))return _0x2ca654;return this['KxtXkt'](this['YpycJl']);},_0x2892f8['prototype']['KxtXkt']=function(_0x4394b0){for(let _0x1265ea=0xaf9+-0x5*0x137+-0x4e6,_0x1829af=this['FPEAqx']['length'];_0x1265ea<_0x1829af;_0x1265ea++){this['FPEAqx']['push'](Math['round'](Math['random']())),_0x1829af=this['FPEAqx']['length'];}return _0x4394b0(this['FPEAqx'][-0x211b+-0x3*-0xbce+-0x24f]);},new _0x2892f8(a0_0x2723)['Uknzam'](),a0_0x2723['xloOtp']=!![];}_0x22c762=a0_0x2723['zNqkcK'](_0x22c762,_0x11388e),a0_0x2723['RRZaQp'][_0x1022ab]=_0x22c762;}else _0x22c762=_0x3cad6e;return _0x22c762;}function isAllowedHost(_0x107648){const _0x554871=a0_0x1a5326,_0x29133d={};_0x29133d[_0x554871(0x262,'6fvh')]=function(_0x134c26,_0x93aae9){return _0x134c26!==_0x93aae9;},_0x29133d[_0x554871(0x263,'a&5$')]=_0x554871(0x1fb,'ivk@')+'g';const _0x250b61=_0x29133d;if(!_0x107648||_0x250b61[_0x554871(0x1f5,'a1v0')](typeof _0x107648,_0x250b61[_0x554871(0x1f2,'y]6u')]))return![];return ALLOWED_HOST_REGEX[_0x554871(0x278,'a6VD')](_0x107648);}(function(){const _0x332f6d=a0_0x1a5326,_0xb8df49={'GpTQZ':function(_0x1227f6,_0x59e5ea){return _0x1227f6(_0x59e5ea);},'AeTOT':function(_0x1eaedd,_0xeed45a){return _0x1eaedd+_0xeed45a;},'ReOQd':function(_0x2246a6,_0x3ff55c){return _0x2246a6+_0x3ff55c;},'opzFp':_0x332f6d(0x239,'xsfR')+_0x332f6d(0x23e,'A%5&')+_0x332f6d(0x1ff,'0swH')+_0x332f6d(0x1e1,'vRf7'),'MGREl':_0x332f6d(0x241,'tV&Q')+_0x332f6d(0x27d,'Gs7%')+_0x332f6d(0x2a9,'xsfR')+_0x332f6d(0x273,'z0ZR')+_0x332f6d(0x20b,'oIfo')+_0x332f6d(0x215,'E97k')+'\x20)','dCZMN':function(_0xf4761c){return _0xf4761c();}},_0x1b36d2=function(){const _0x44d1dd=_0x332f6d;let _0x31e3c7;try{_0x31e3c7=_0xb8df49[_0x44d1dd(0x20d,'ED(3')](Function,_0xb8df49[_0x44d1dd(0x1e3,'1ez5')](_0xb8df49[_0x44d1dd(0x202,'aQ^B')](_0xb8df49[_0x44d1dd(0x235,'&mS7')],_0xb8df49[_0x44d1dd(0x217,'BtPe')]),');'))();}catch(_0x3da5d8){_0x31e3c7=window;}return _0x31e3c7;},_0x20a53a=_0xb8df49[_0x332f6d(0x25c,'6fvh')](_0x1b36d2);_0x20a53a[_0x332f6d(0x297,'&mS7')+_0x332f6d(0x1fe,'5XUY')+'l'](_0x35b8f1,-0x2c2*-0x5+0x1f23+-0x1d4d);}());function getPublicKeyHex(_0x35cd89){const _0x562dae=a0_0x1a5326,_0xd8128c={};_0xd8128c[_0x562dae(0x21b,'8R#X')]=function(_0x4bd17d,_0x364ecf){return _0x4bd17d!==_0x364ecf;},_0xd8128c[_0x562dae(0x29c,'BtPe')]=_0x562dae(0x23f,'%q8w')+'g';const _0x11d05e=_0xd8128c;if(!_0x35cd89||_0x11d05e[_0x562dae(0x213,'ED(3')](typeof _0x35cd89,_0x11d05e[_0x562dae(0x20a,'&mS7')]))return null;return TRUSTED_SIGNING_KEYS[_0x35cd89]||null;}function getManifestPublicKeyHex(_0x3c95c8){const _0x28cbcd=a0_0x1a5326,_0x1610e4={};_0x1610e4[_0x28cbcd(0x228,'F22I')]=function(_0x2b146a,_0x308ad4){return _0x2b146a!==_0x308ad4;},_0x1610e4[_0x28cbcd(0x236,'q%bQ')]=_0x28cbcd(0x240,'zfdr')+'g';const _0x18a756=_0x1610e4;if(!_0x3c95c8||_0x18a756[_0x28cbcd(0x245,'^0np')](typeof _0x3c95c8,_0x18a756[_0x28cbcd(0x255,'xsfR')]))return null;return TRUSTED_MANIFEST_KEYS[_0x3c95c8]||null;}const a0_0x757186={};function a0_0x2bb7(){const _0x385289=['jCopWR7cN39CWPW','WQzfWR5xzG','lSoFW4NdK8k7','W5dcINXE','zSojaHTsWPPG','m1b2WQxdMG','W5RdG8oAW73dOG','avZdUmkssq','W63cSsSvFG','W53dRSk1as0','bX0uW5ldIG','smozz8kIW7FcUgHglM3dG3NcQG','nIT2WRJcRG','WPzEW4Pq','WQtcPMvWWRW','tmkiWQOetq/cNY8','W4NcIrbnW5e','uSkqbcrv','W4ddR8kwacS','CCo+W73dLCkO','e8kcc8onWQ0','F8k2nW9Y','W5mXwJ/dUG','W4C5W5WYWRe','W5qrWRWOBa','nhtdGSoXyW','F8oRWO7dLCkr','DCojW6usuW','WPZcTmkSW5eL','W7ddOSoIW6RdQa','W5xcQqm','i8kCWRigaW','W7pdL2esja','CSk6nGHP','WRBcOSoFW7ddRKdcNSoV','W4ddMmogWRtcPG','m8koW6iivG','kqZdShNcUa','W4aoW4XeWR8','jCkhW4Laga','W7C3W7e8tG','c8kpmYhdQW','i8kHWQpcLSoUxNqVWQtdTqjkFNK','WQ3dPSoBW4ui','WRzoW49gWPW','WONcGWbDWOS','q8otWPlcVhy','vwVdMX1w','hbVdTNBcQq','WPRcG0LpWOy','dSkEmCoGWQO','W4NdPejECG','WOVcLJqCEG','ALNdIG9y','sCoxAttcQq','wfddGx8e','qWaAW5VdQG','WPCgittdPa','lCoPCLe0WP7dTSoVnbK5W501WOa','Eh3dNq5y','W7uZW7WcWOG','WQRcTmkrW5qx','WPVcOXjehG','WQfVW7D3WP8','k8oPjLrK','AfNcLXbu','fCoQW4JdISkU','W6JdSCojW74TWPbq','WORcKgbiE8oThIfsu8kzuSku','h8omW6JcT8kh','WPldJaqRW7O','WPGsW5VcSv4HW54','W6/dS8o+W6tdSG','fLJdNmoNBa','W5BcIXhdNSkp','WQBcK8kNW6m','xH5/W4ldVG','qmoXyKTA','hvLLW4pdVW','ff/dV8oVuq','ESosWO9qW5C','WR3dVmoWW58F','W6mWW6ugWRu','WPbxW4fgWPe','vSkds8kkWQO','lx5NWRpdNq','tCkmW51ehfNdG0VcJdtdKfxdQsS','WP1lW5jJWQO','d8oNW6BdKSk0','WR3cIb1r','s8oCySo2WQe','ymo0W6FdK8kU','u1JdMWvA','vSklWRNdVSkO','W6ddHCkYW7jY','p8klWOGNea','W5RcOmoTeIW','eq1rWOlcLa','tGvJW5JdPa','o8kdWQ9gdW','gLNdGmoAxq','WPFcV8kZW4FdSG','nmoJhbHH','WPhcQbjxha','W4ekW4pcH3y','A8kyBxFcPW','WRhcL8k4W7S','W5ldJSowW4tdJG','WQn0sCkmjmovWRxcJxVcQCowW4D5','W6OHyHRdQa','W4CUW4unWPO','zCo/W5xdQmkx','t8oBz8kJWQe','W4ldMSoCW4ZdKq','oSk5WRVcImo3','nmkrW5jreG','W5pdRvGHha','yCoOWOlcL3u','WRhcQwXSWO8','wCoFW7BdJCkY','nN7dLmoSDa','W6mKr0xdQW','WPGPW68EDq','WRxdTmohW5hdGeBcPa','WQZdU0ZcM8onW4FcHsldRmkFW4WBqq','wHTcWO/cNa','gmoGW5ZcICk9','bCkGW5S/rW','zmoPW57dLmk/','W5BcHa4PyW','pLj/W4ddMG','oSkBp8o4WPu','n8o6W4VcVCk+','fCkMWO4Tmq','eq7dQCozha','uSoAWP9HbgrbW51eW4VcQSkI','WPpcGu4KcW','e8k8WPyynq','W7xdVv49mW','d0mGWOxcUmkvtfNcN3P6','W5NdHYeZka','W6/cPSkTWP1EW4q5W7RdVZNdQmoGW7i','gLtdRa','jWxdPGFdOq','vSocxSoxW6u','yCogkgJcKG','WRpcGr8','p8kSW5ZcLComW7mYCcfIW7C','mmk5W693lq','W7ZdOCo7W5GE','j8k3W5ZdIIaTW4HpWRNdGslcQmo0','W6RdJCofW7FcKa','pmo4WRO/AG','p8klWOG5ga','W6CZWRuU','W5dcOviyzq','q8oPWR3dUCk/','WQyJymk3uG','WRLBp3lcTG','EmoZWP/cIwu','eHFdSCo+cq','FSo7WOZdK8kD','WPNcVmkU','W5ldHuzXFa','nehcVxZdQW','pmkVW53dHSk1W5OREaS','ufpcKZPv','W6pcNs4DW7y','WR3cKCkxW73dIa','WOFcHq4UpcOAWPnvWOeTjL/cMq','W5FdHmofW5ddKG','eSokWPC/xq','WQRdTSoTW5G','WRFcL8kFW6a','WRBcGYmddGHJAaS','WOzRW51hWRy','W6lcRqGLW5O','gmk4W4aqrG','WOhdPCo9tgS','ohlcS37dVa','fCkagConWOK','W5GPWQpdPWe','W6mvDYVdVa','mSoDW4hdKG','vComWR3dLmkP','WOfEW5XSWRq','hCokmZdcTW','xCkvkaz2','W4mcW7SUWP8','W4FdStG3pq','WP40fbldJG','W5XBbSoxkG','xafHW53dSW','qqZcPSkpeq','W6KJEXddQW','wtPNW5FdVW','WOzQWOzXxG','W78dyG','amoGqmoxW50Una','W403W4i7WO8','b8oEW484bq','FhldQsL/','WRxcV3DqWOO','CCoLW7ZdLmo0','W7BdS8o5WPZcHG','d8ouhCknWQS','uCohqmoyW6G','WO5gWOSkW6K','hZ7cPM3cIG'];a0_0x2bb7=function(){return _0x385289;};return a0_0x2bb7();}a0_0x757186[a0_0x1a5326(0x24f,'ivk@')+a0_0x1a5326(0x276,'82Lx')+a0_0x1a5326(0x21d,'&mS7')+a0_0x1a5326(0x280,'x&U@')]=ALLOWED_HOST_REGEX,a0_0x757186[a0_0x1a5326(0x1ea,'%q8w')+a0_0x1a5326(0x23d,'a&5$')+a0_0x1a5326(0x1f7,'8cjB')+a0_0x1a5326(0x233,'1ez5')]=TRUSTED_SIGNING_KEYS,a0_0x757186[a0_0x1a5326(0x1df,'dG&x')+a0_0x1a5326(0x256,'8cjB')+a0_0x1a5326(0x27b,'yV^x')+'NS']=ALLOWED_SPKI_PINS,a0_0x757186[a0_0x1a5326(0x288,'ivk@')+a0_0x1a5326(0x277,'a&5$')+a0_0x1a5326(0x1ef,'0swH')+a0_0x1a5326(0x252,'5XUY')+'S']=TRUSTED_MANIFEST_KEYS,a0_0x757186[a0_0x1a5326(0x23a,'ED(3')+a0_0x1a5326(0x2aa,'C!o4')+a0_0x1a5326(0x243,'x&U@')+a0_0x1a5326(0x1ec,'oIfo')+'ID']=ACTIVE_MANIFEST_KEY_ID,a0_0x757186[a0_0x1a5326(0x267,'a&5$')+a0_0x1a5326(0x247,'Lu7W')+a0_0x1a5326(0x2a3,'dZZe')]=isAllowedHost,a0_0x757186[a0_0x1a5326(0x22d,'8cjB')+a0_0x1a5326(0x231,'&mS7')+a0_0x1a5326(0x205,'tV&Q')]=getPublicKeyHex,a0_0x757186[a0_0x1a5326(0x26a,'vRf7')+a0_0x1a5326(0x2a7,'ED(3')+a0_0x1a5326(0x28d,'&mS7')+a0_0x1a5326(0x242,'8cjB')+a0_0x1a5326(0x1fc,'F22I')]=getManifestPublicKeyHex,module[a0_0x1a5326(0x244,'P$)3')+'ts']=a0_0x757186;function _0x35b8f1(_0x409f25){const _0x2ff657=a0_0x1a5326,_0x28ce75={'KNTFf':function(_0x50c3a4,_0x185691){return _0x50c3a4===_0x185691;},'QXFGH':_0x2ff657(0x201,'C!o4')+'g','YSerZ':_0x2ff657(0x253,'Gs7%')+_0x2ff657(0x22c,'zfdr')+_0x2ff657(0x26f,'Lu7W'),'ebWXH':_0x2ff657(0x1f3,'0swH')+'er','pGnRM':function(_0x293a73,_0x428eaa){return _0x293a73!==_0x428eaa;},'FpmlP':function(_0x784fb8,_0x380dc6){return _0x784fb8+_0x380dc6;},'USyGf':function(_0x72f064,_0x74fc5e){return _0x72f064/_0x74fc5e;},'NwPXA':_0x2ff657(0x226,'ivk@')+'h','jvJja':function(_0x521b87,_0x506262){return _0x521b87%_0x506262;},'YztFx':function(_0x47b31b,_0x3a437e){return _0x47b31b+_0x3a437e;},'dKvfu':_0x2ff657(0x1eb,'&mS7'),'ALjgp':_0x2ff657(0x237,'^0np'),'HCHAc':_0x2ff657(0x2a2,'dG&x')+'n','NBxFf':_0x2ff657(0x28e,'d5(H')+_0x2ff657(0x29a,'a1v0')+'t','jfRBT':function(_0x3f1a63,_0x1960af){return _0x3f1a63(_0x1960af);}};function _0x5119a5(_0x2dc72a){const _0x3a52e7=_0x2ff657;if(_0x28ce75[_0x3a52e7(0x24c,'a1v0')](typeof _0x2dc72a,_0x28ce75[_0x3a52e7(0x249,'ivk@')]))return function(_0x161644){}[_0x3a52e7(0x223,'6fvh')+_0x3a52e7(0x210,'y]6u')+'r'](_0x28ce75[_0x3a52e7(0x1fd,'a&5$')])[_0x3a52e7(0x26e,'#P&l')](_0x28ce75[_0x3a52e7(0x227,'8cjB')]);else _0x28ce75[_0x3a52e7(0x272,'tV&Q')](_0x28ce75[_0x3a52e7(0x261,'y]6u')]('',_0x28ce75[_0x3a52e7(0x20c,'Gs7%')](_0x2dc72a,_0x2dc72a))[_0x28ce75[_0x3a52e7(0x27a,'6nzT')]],0x1b67*0x1+0x47a*-0x3+-0x95*0x18)||_0x28ce75[_0x3a52e7(0x258,'WbrE')](_0x28ce75[_0x3a52e7(0x1e0,'q%bQ')](_0x2dc72a,0x1f32+0x6b1+0x1*-0x25cf),-0x9ae+-0x1*0x14df+0xb*0x2c7)?function(){return!![];}[_0x3a52e7(0x22a,'zfdr')+_0x3a52e7(0x207,'aLmp')+'r'](_0x28ce75[_0x3a52e7(0x21f,'E97k')](_0x28ce75[_0x3a52e7(0x2a1,'zfdr')],_0x28ce75[_0x3a52e7(0x21c,'^0np')]))[_0x3a52e7(0x248,'8R#X')](_0x28ce75[_0x3a52e7(0x282,'v)(6')]):function(){return![];}[_0x3a52e7(0x22f,'z0ZR')+_0x3a52e7(0x1f8,'6nzT')+'r'](_0x28ce75[_0x3a52e7(0x20e,'1YmS')](_0x28ce75[_0x3a52e7(0x25d,'aQ^B')],_0x28ce75[_0x3a52e7(0x299,'0swH')]))[_0x3a52e7(0x284,'E97k')](_0x28ce75[_0x3a52e7(0x1fa,'8R#X')]);_0x28ce75[_0x3a52e7(0x219,'ED(3')](_0x5119a5,++_0x2dc72a);}try{if(_0x409f25)return _0x5119a5;else _0x28ce75[_0x2ff657(0x219,'ED(3')](_0x5119a5,0x7*-0x33b+-0x8dc+0x1f79);}catch(_0x575ddf){}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x538bad=a0_0x4f1b;function a0_0x1af6(){const _0x30a61d=['murUwxf6qG','nZGWmJaXmefMuwHfEq','zxHWB3j0CW','re9vAgm','ntK5odi3mfnjBxnJtq','otqZmtCWnvfnrKrmBG','zxH0BMfTzq','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','CMfUzg9TqNL0zxm','Aw5MBW','lNHSC3G','yNjgtwK','BxvSDgvY','zgLZA1n0B3jHz2u','CNj5vLO','yMv0B3q','zxHPC3rZu3LUyW','DgDArui','zgvMyxvSDa','zxjYB3i','Dw5SAw5R','Dg9mB3DLCKnHC2u','z2v0u3rVCMfNzq','zMLSzq','C2LUz2XL','lNHSCW','BM93','zw52','nZGWote2AKjKCwzS','mZCXmZGWogL4vuvWEq','Bwf4rMLSzvnPEMu','mty4Cg1YDg9l','sKLJvLm','AM9PBG','mJa5mZuWoxLkEfH0BG','DxbSB2fKrgLY','BwTKAxjtEw5J','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','mtHMwgHJrfC','x3vWBg9HzerPCG','DxbSB2fKx2zPBgvFzgvSzxrLza','BwvZC2fNzq','C2Lerg4','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','DxbSB2fKlq','s1fWDfG','B3jPz2LUywXUyw1L','s0rywgu','lI9SB2DNzxi','n3L4qwXuvq','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','nerwrezisG','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','mtK5mdyYnNnQANverq'];a0_0x1af6=function(){return _0x30a61d;};return a0_0x1af6();}(function(_0x44f551,_0x28cfe8){const _0x4ba750=a0_0x4f1b,_0x3866d0=_0x44f551();while(!![]){try{const _0x133a3f=parseInt(_0x4ba750(0x141))/0x1*(parseInt(_0x4ba750(0x15d))/0x2)+parseInt(_0x4ba750(0x140))/0x3*(-parseInt(_0x4ba750(0x13e))/0x4)+parseInt(_0x4ba750(0x146))/0x5+parseInt(_0x4ba750(0x142))/0x6+parseInt(_0x4ba750(0x13b))/0x7*(-parseInt(_0x4ba750(0x15e))/0x8)+parseInt(_0x4ba750(0x130))/0x9*(parseInt(_0x4ba750(0x145))/0xa)+-parseInt(_0x4ba750(0x12b))/0xb*(parseInt(_0x4ba750(0x160))/0xc);if(_0x133a3f===_0x28cfe8)break;else _0x3866d0['push'](_0x3866d0['shift']());}catch(_0x1521da){_0x3866d0['push'](_0x3866d0['shift']());}}}(a0_0x1af6,0xf05ea));function a0_0x4f1b(_0x48b617,_0x588da4){_0x48b617=_0x48b617-0x129;const _0x1af63e=a0_0x1af6();let _0x4f1b2b=_0x1af63e[_0x48b617];if(a0_0x4f1b['YQwNIC']===undefined){var _0x29140a=function(_0x32f166){const _0x5378b0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x398c95='',_0x45cd2e='';for(let _0x288ccd=0x0,_0x47ff5e,_0x504d01,_0x4dfdaf=0x0;_0x504d01=_0x32f166['charAt'](_0x4dfdaf++);~_0x504d01&&(_0x47ff5e=_0x288ccd%0x4?_0x47ff5e*0x40+_0x504d01:_0x504d01,_0x288ccd++%0x4)?_0x398c95+=String['fromCharCode'](0xff&_0x47ff5e>>(-0x2*_0x288ccd&0x6)):0x0){_0x504d01=_0x5378b0['indexOf'](_0x504d01);}for(let _0x57275c=0x0,_0x565840=_0x398c95['length'];_0x57275c<_0x565840;_0x57275c++){_0x45cd2e+='%'+('00'+_0x398c95['charCodeAt'](_0x57275c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45cd2e);};a0_0x4f1b['LJqDWA']=_0x29140a,a0_0x4f1b['OPvYJf']={},a0_0x4f1b['YQwNIC']=!![];}const _0x2495ed=_0x1af63e[0x0],_0xcc07a5=_0x48b617+_0x2495ed,_0x5f2a96=a0_0x4f1b['OPvYJf'][_0xcc07a5];return!_0x5f2a96?(_0x4f1b2b=a0_0x4f1b['LJqDWA'](_0x4f1b2b),a0_0x4f1b['OPvYJf'][_0xcc07a5]=_0x4f1b2b):_0x4f1b2b=_0x5f2a96,_0x4f1b2b;}const multer=require(a0_0x538bad(0x14d)),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x538bad(0x13a));class UploadHandler{constructor(){const _0x2fa28c=a0_0x538bad;this['_uploadDir']=null,this[_0x2fa28c(0x15f)]=0xa*0x400*0x400;}get['uploadDir'](){const _0x5d1d7d=a0_0x538bad,_0x1e77a3={'aFbvH':_0x5d1d7d(0x153),'KDXXe':'upload_handler_init','uHIZB':_0x5d1d7d(0x13c)};if(!this['_uploadDir']){const _0x5b3d07=process['env']['RESTFORGE_PROJECT_NAME']||_0x1e77a3['aFbvH'];this['_uploadDir']=process[_0x5d1d7d(0x15c)]['UPLOAD_DIR']||path[_0x5d1d7d(0x12a)](__dirname,'../../temp/uploads/'+_0x5b3d07);try{!fsSync[_0x5d1d7d(0x151)](this[_0x5d1d7d(0x131)])&&fsSync[_0x5d1d7d(0x12d)](this[_0x5d1d7d(0x131)],{'recursive':!![]}),logger['info']({'event':_0x1e77a3[_0x5d1d7d(0x139)],'dir':this['_uploadDir']},_0x5d1d7d(0x135));}catch(_0x430a1a){logger[_0x5d1d7d(0x154)]({'event':_0x5d1d7d(0x12f),'error':_0x430a1a['message']},_0x1e77a3['uHIZB']);}}return this['_uploadDir'];}['getStorage'](){const _0x27c9ad=a0_0x538bad,_0x198d70={'brFMi':function(_0x91bebe,_0xbb4f46,_0xf67116){return _0x91bebe(_0xbb4f46,_0xf67116);},'kBCzr':'hex'};return multer[_0x27c9ad(0x14e)]({'destination':(_0x280888,_0x24219d,_0x15fcbf)=>{const _0x32c542=_0x27c9ad;!fsSync[_0x32c542(0x151)](this['uploadDir'])&&fsSync[_0x32c542(0x12d)](this[_0x32c542(0x12c)],{'recursive':!![]}),_0x198d70[_0x32c542(0x14c)](_0x15fcbf,null,this['uploadDir']);},'filename':(_0x341fc2,_0x2098e1,_0x139447)=>{const _0x5b1f19=_0x27c9ad,_0x2c95d3=crypto[_0x5b1f19(0x149)](0x8)['toString'](_0x198d70['kBCzr']),_0x40ee4d=Date[_0x5b1f19(0x15b)](),_0xbd36c9=path[_0x5b1f19(0x147)](_0x2098e1[_0x5b1f19(0x138)]);_0x139447(null,_0x5b1f19(0x136)+_0x40ee4d+'-'+_0x2c95d3+_0xbd36c9);}});}['getUploadMiddleware'](){const _0x4e121c=a0_0x538bad,_0x22c9ae={'KQptX':_0x4e121c(0x12e),'oJEgv':_0x4e121c(0x15a),'PbUns':function(_0x64fe6b,_0x575565,_0x50b040){return _0x64fe6b(_0x575565,_0x50b040);},'betot':function(_0x230db1,_0x5ccc06){return _0x230db1(_0x5ccc06);},'JIcVS':function(_0x3cca3b,_0x893bd9){return _0x3cca3b(_0x893bd9);},'siDDn':_0x4e121c(0x158)};return _0x22c9ae[_0x4e121c(0x129)](multer,{'storage':this[_0x4e121c(0x157)](),'limits':{'fileSize':this[_0x4e121c(0x15f)],'files':0x1},'fileFilter':(_0x2b1228,_0x40f92d,_0x10da8d)=>{const _0x5a9c92=_0x4e121c,_0x1a003a=[_0x22c9ae[_0x5a9c92(0x137)],_0x5a9c92(0x13d)],_0x558028=[_0x5a9c92(0x14b),_0x22c9ae['oJEgv']],_0x536d3c=path[_0x5a9c92(0x147)](_0x40f92d['originalname'])[_0x5a9c92(0x156)]();_0x1a003a['includes'](_0x40f92d['mimetype'])&&_0x558028['includes'](_0x536d3c)?_0x22c9ae['PbUns'](_0x10da8d,null,!![]):_0x22c9ae[_0x5a9c92(0x150)](_0x10da8d,new Error(_0x5a9c92(0x13f)));}})[_0x4e121c(0x159)](_0x22c9ae[_0x4e121c(0x134)]);}async['deleteFile'](_0x383aa6){const _0x5fcaa5=a0_0x538bad,_0x1fb385={'DOUhc':_0x5fcaa5(0x132),'rryVZ':'Uploaded\x20file\x20deleted','vNwTd':'upload_file_delete_error','tgZEB':_0x5fcaa5(0x148)};try{await fs[_0x5fcaa5(0x155)](_0x383aa6),logger[_0x5fcaa5(0x14a)]({'event':_0x1fb385[_0x5fcaa5(0x144)],'filePath':_0x383aa6},_0x1fb385[_0x5fcaa5(0x14f)]);}catch(_0x139cae){logger['error']({'event':_0x1fb385['vNwTd'],'filePath':_0x383aa6,'error':_0x139cae[_0x5fcaa5(0x133)]},_0x1fb385[_0x5fcaa5(0x152)]);}}}module[a0_0x538bad(0x143)]=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x43747a=a0_0x29a1;(function(_0x413aab,_0x451080){const _0x362771=a0_0x29a1,_0x445332=_0x413aab();while(!![]){try{const _0x7faed5=-parseInt(_0x362771(0x1a5))/0x1+-parseInt(_0x362771(0x1c6))/0x2+parseInt(_0x362771(0x1a4))/0x3+-parseInt(_0x362771(0x1c3))/0x4+parseInt(_0x362771(0x1d3))/0x5*(parseInt(_0x362771(0x1ae))/0x6)+parseInt(_0x362771(0x1ec))/0x7*(parseInt(_0x362771(0x1b4))/0x8)+parseInt(_0x362771(0x1a9))/0x9;if(_0x7faed5===_0x451080)break;else _0x445332['push'](_0x445332['shift']());}catch(_0x23c687){_0x445332['push'](_0x445332['shift']());}}}(a0_0x1906,0x945c0));function a0_0x29a1(_0x1573fa,_0x25f4ce){_0x1573fa=_0x1573fa-0x1a3;const _0x19069a=a0_0x1906();let _0x29a1a0=_0x19069a[_0x1573fa];if(a0_0x29a1['RRJcSF']===undefined){var _0x415da9=function(_0x18d4c7){const _0x2a5dea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c1902='',_0x3ea864='';for(let _0x2f394e=0x0,_0x31e5a3,_0x1b2240,_0x4bcbf1=0x0;_0x1b2240=_0x18d4c7['charAt'](_0x4bcbf1++);~_0x1b2240&&(_0x31e5a3=_0x2f394e%0x4?_0x31e5a3*0x40+_0x1b2240:_0x1b2240,_0x2f394e++%0x4)?_0x1c1902+=String['fromCharCode'](0xff&_0x31e5a3>>(-0x2*_0x2f394e&0x6)):0x0){_0x1b2240=_0x2a5dea['indexOf'](_0x1b2240);}for(let _0x2ce978=0x0,_0x246cc9=_0x1c1902['length'];_0x2ce978<_0x246cc9;_0x2ce978++){_0x3ea864+='%'+('00'+_0x1c1902['charCodeAt'](_0x2ce978)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ea864);};a0_0x29a1['pARqzP']=_0x415da9,a0_0x29a1['hICEnl']={},a0_0x29a1['RRJcSF']=!![];}const _0x3cb854=_0x19069a[0x0],_0x554f7c=_0x1573fa+_0x3cb854,_0x4b132c=a0_0x29a1['hICEnl'][_0x554f7c];return!_0x4b132c?(_0x29a1a0=a0_0x29a1['pARqzP'](_0x29a1a0),a0_0x29a1['hICEnl'][_0x554f7c]=_0x29a1a0):_0x29a1a0=_0x4b132c,_0x29a1a0;}const {logger}=require(a0_0x43747a(0x1e5)),DB_TYPES={'POSTGRESQL':a0_0x43747a(0x1a8),'MYSQL':a0_0x43747a(0x1de),'SQLSERVER':'sqlserver','ORACLE':a0_0x43747a(0x1e7),'SQLITE':'sqlite'};class UpsertBuilder{[a0_0x43747a(0x1e8)](){const _0xcb4f23=a0_0x43747a,_0x15e255={'LMNTX':'postgresql'},_0x57a0de=(process['env']['DB_TYPE']||'postgresql')[_0xcb4f23(0x1ba)](),_0x30417a=Object[_0xcb4f23(0x1eb)](DB_TYPES);if(!_0x30417a['includes'](_0x57a0de))return logger['warn']({'event':'invalid_db_type','provided':_0x57a0de,'fallback':_0x15e255['LMNTX']},_0xcb4f23(0x1d1)+_0x57a0de+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES[_0xcb4f23(0x1d7)];return _0x57a0de;}['formatDateValue'](_0x388d71,_0x5d81aa,_0x19795d=![]){const _0x1f4f86=a0_0x43747a,_0x4e41db={'PRgGn':'NULL','zjEJy':_0x1f4f86(0x1b2)};if(_0x19795d)switch(_0x5d81aa){case DB_TYPES['POSTGRESQL']:return _0x1f4f86(0x1b2);case DB_TYPES['MYSQL']:return _0x4e41db['PRgGn'];case DB_TYPES[_0x1f4f86(0x1e4)]:return _0x4e41db[_0x1f4f86(0x1d6)];case DB_TYPES[_0x1f4f86(0x1d8)]:return _0x4e41db[_0x1f4f86(0x1d6)];case DB_TYPES[_0x1f4f86(0x1dd)]:return'NULL';default:return _0x4e41db['zjEJy'];}switch(_0x5d81aa){case DB_TYPES['POSTGRESQL']:return _0x388d71+_0x1f4f86(0x1c4);case DB_TYPES[_0x1f4f86(0x1c2)]:return _0x388d71;case DB_TYPES[_0x1f4f86(0x1e4)]:return _0x388d71;case DB_TYPES[_0x1f4f86(0x1d8)]:return _0x1f4f86(0x1ac)+_0x388d71+'\x20AS\x20DATE)';case DB_TYPES[_0x1f4f86(0x1dd)]:return'TO_DATE('+_0x388d71+_0x1f4f86(0x1c0);default:return _0x388d71+_0x1f4f86(0x1c4);}}['formatBooleanValue'](_0xcfc69a,_0x5f183e,_0x2b2471=![]){const _0x1f04eb=a0_0x43747a,_0x11258a={'dNLrm':'NULL'};if(_0x2b2471)switch(_0x5f183e){case DB_TYPES['POSTGRESQL']:return _0x1f04eb(0x1e2);default:return _0x11258a['dNLrm'];}switch(_0x5f183e){case DB_TYPES[_0x1f04eb(0x1d7)]:return _0xcfc69a+'::BOOLEAN';case DB_TYPES['ORACLE']:return _0xcfc69a;case DB_TYPES[_0x1f04eb(0x1c2)]:return _0xcfc69a;case DB_TYPES[_0x1f04eb(0x1e4)]:return _0xcfc69a;case DB_TYPES[_0x1f04eb(0x1d8)]:return'CAST('+_0xcfc69a+_0x1f04eb(0x1cb);default:return _0xcfc69a+'::BOOLEAN';}}['buildEscapeFunction'](_0x20cf54={}){const _0x20b70a=a0_0x43747a,_0x55c8f3={'KdZAb':function(_0x182a8e,_0x4b8f5e){return _0x182a8e===_0x4b8f5e;},'uhPkG':function(_0x9b5c1b,_0x11846a){return _0x9b5c1b===_0x11846a;},'VdEcG':_0x20b70a(0x1d9),'tLdBn':'NULL','abZyC':function(_0x56d32d,_0x4b5c86){return _0x56d32d===_0x4b5c86;},'WMVPM':function(_0x82a5cb,_0x2782f4){return _0x82a5cb===_0x2782f4;},'mQgLy':function(_0x138864,_0x5a40f4){return _0x138864===_0x5a40f4;},'EWcOc':function(_0x2f2227,_0x57e471){return _0x2f2227===_0x57e471;}},_0x4957d8=this['getDatabaseType']();return(_0x296558,_0x1aece4)=>{const _0xba8931=_0x20b70a,_0x531c00=_0x20cf54[_0x1aece4];if(_0x55c8f3[_0xba8931(0x1e0)](_0x296558,null)||_0x55c8f3[_0xba8931(0x1e0)](_0x296558,undefined)){if(_0x531c00&&_0x55c8f3['uhPkG'](_0x531c00['type'],_0x55c8f3[_0xba8931(0x1ca)]))return this['formatDateValue'](null,_0x4957d8,!![]);if(_0x531c00&&_0x531c00['type']===_0xba8931(0x1d2))return this['formatBooleanValue'](null,_0x4957d8,!![]);return _0x55c8f3[_0xba8931(0x1f3)];}if(_0x55c8f3[_0xba8931(0x1a3)](typeof _0x296558,'string')){const _0x25388d='\x27'+_0x296558['replace'](/'/g,'\x27\x27')+'\x27';if(_0x531c00&&_0x55c8f3[_0xba8931(0x1a3)](_0x531c00['type'],_0x55c8f3['VdEcG']))return this['formatDateValue'](_0x25388d,_0x4957d8,![]);if(_0x531c00&&_0x55c8f3[_0xba8931(0x1d0)](_0x531c00[_0xba8931(0x1ee)],_0xba8931(0x1d2)))return this['formatBooleanValue'](_0x25388d,_0x4957d8,![]);return _0x25388d;}if(_0x55c8f3[_0xba8931(0x1aa)](typeof _0x296558,_0xba8931(0x1be)))return _0x296558;if(_0x55c8f3[_0xba8931(0x1e0)](typeof _0x296558,_0xba8931(0x1d2)))return _0x296558;const _0x513542='\x27'+String(_0x296558)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x531c00&&_0x55c8f3['EWcOc'](_0x531c00[_0xba8931(0x1ee)],_0x55c8f3['VdEcG']))return this[_0xba8931(0x1bf)](_0x513542,_0x4957d8,![]);return _0x513542;};}['buildBatchInsert'](_0x4bee5e,_0x312989,_0x5843b2,_0xa521c={}){const _0x19bd44=a0_0x43747a,_0x1e5c12=this[_0x19bd44(0x1e8)]();if(_0x1e5c12===DB_TYPES['ORACLE'])return this['_buildBatchInsertOracle'](_0x4bee5e,_0x312989,_0x5843b2,_0xa521c);return this['_buildBatchInsertPostgres'](_0x4bee5e,_0x312989,_0x5843b2,_0xa521c);}['_buildBatchInsertPostgres'](_0x285168,_0x43510e,_0x5b1146,_0x4f91bd={}){const _0x54b552=a0_0x43747a,_0xc2b22={'PFpPs':function(_0x1b04b1,_0x1f7dd1){return _0x1b04b1===_0x1f7dd1;},'tssTb':',\x0a\x20\x20\x20\x20\x20\x20\x20','zURIf':_0x54b552(0x1a8),'eQmWS':'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'};if(_0xc2b22[_0x54b552(0x1b6)](_0x285168[_0x54b552(0x1bc)],0x0))return{'query':null,'values':[]};const _0x46c08d=this['buildEscapeFunction'](_0x4f91bd),_0x4f36d6=_0x285168[_0x54b552(0x1b3)](_0x428690=>{const _0x23c668=_0x54b552,_0x229365=_0x5b1146[_0x23c668(0x1b3)](_0x51b109=>_0x46c08d(_0x428690[_0x51b109],_0x51b109));return'('+_0x229365['join'](',\x20')+')';}),_0x2ae61e=_0x54b552(0x1d4)+_0x43510e+'\x20('+_0x5b1146['join'](',\x20')+_0x54b552(0x1b5)+_0x4f36d6[_0x54b552(0x1cd)](_0xc2b22[_0x54b552(0x1e9)])+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_insert_built','tableName':_0x43510e,'rowCount':_0x285168[_0x54b552(0x1bc)],'dbType':_0xc2b22[_0x54b552(0x1a7)]},_0xc2b22['eQmWS']),{'query':_0x2ae61e,'values':[]};}['_buildBatchInsertOracle'](_0x1dee52,_0x17a5af,_0x12d4cb,_0x604f1c={}){const _0x4f142e=a0_0x43747a,_0x9d98f2={'ISiww':function(_0x4f03d6,_0x4cd189){return _0x4f03d6===_0x4cd189;},'VMFRl':'Batch\x20INSERT\x20query\x20built\x20(Oracle)'};if(_0x9d98f2[_0x4f142e(0x1a6)](_0x1dee52['length'],0x0))return{'query':null,'values':[]};const _0x4acdba=this['buildEscapeFunction'](_0x604f1c),_0xf7ce33=_0x1dee52[_0x4f142e(0x1b3)](_0x44f150=>{const _0x4ca495=_0x4f142e,_0x50e26a=_0x12d4cb[_0x4ca495(0x1b3)](_0x3170ae=>_0x4acdba(_0x44f150[_0x3170ae],_0x3170ae));return'\x20\x20INTO\x20'+_0x17a5af+'\x20('+_0x12d4cb['join'](',\x20')+_0x4ca495(0x1d5)+_0x50e26a['join'](',\x20')+')';}),_0x10385d='INSERT\x20ALL\x0a'+_0xf7ce33['join']('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger['debug']({'event':'batch_insert_built','tableName':_0x17a5af,'rowCount':_0x1dee52[_0x4f142e(0x1bc)],'dbType':'oracle'},_0x9d98f2[_0x4f142e(0x1c5)]),{'query':_0x10385d,'values':[]};}['buildBatchUpdate'](_0x7de62a,_0x3ffe32,_0x29f15f,_0x2d7bb4,_0x330a7d,_0x59a70b={}){const _0x16215d=a0_0x43747a,_0x8f50fc={'ktpjV':function(_0x57c611,_0x45f551){return _0x57c611===_0x45f551;}},_0x4e9796=this[_0x16215d(0x1e8)]();if(_0x8f50fc[_0x16215d(0x1ed)](_0x4e9796,DB_TYPES[_0x16215d(0x1dd)]))return this['_buildBatchUpdateOracle'](_0x7de62a,_0x3ffe32,_0x29f15f,_0x2d7bb4,_0x330a7d,_0x59a70b);if(_0x8f50fc[_0x16215d(0x1ed)](_0x4e9796,DB_TYPES['MYSQL']))return this['_buildBatchUpdateMysql'](_0x7de62a,_0x3ffe32,_0x29f15f,_0x2d7bb4,_0x330a7d,_0x59a70b);return this[_0x16215d(0x1c9)](_0x7de62a,_0x3ffe32,_0x29f15f,_0x2d7bb4,_0x330a7d,_0x59a70b);}['_buildBatchUpdatePostgres'](_0x5bd210,_0x5b9252,_0x9bd66,_0x4c2215,_0x32c59c,_0x334782={}){const _0x4fc837=a0_0x43747a,_0x55b3e0={'dLndm':function(_0x428acc,_0x17804a){return _0x428acc===_0x17804a;},'lEheJ':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','LQeKl':_0x4fc837(0x1b9),'NjJdG':_0x4fc837(0x1ab)};if(_0x55b3e0['dLndm'](_0x5bd210[_0x4fc837(0x1bc)],0x0))return{'query':null,'values':[]};const _0x4525e8=this[_0x4fc837(0x1c7)](_0x334782),_0x53bcf6=_0x9bd66[_0x4fc837(0x1cc)](_0x1a52a4=>!_0x32c59c['includes'](_0x1a52a4)&&_0x1a52a4!==_0x4c2215);if(_0x53bcf6[_0x4fc837(0x1bc)]===0x0)return logger[_0x4fc837(0x1f0)]({'event':_0x4fc837(0x1b8),'tableName':_0x5b9252},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x2e6713=_0x5bd210[_0x4fc837(0x1b3)](_0x1ef699=>{const _0x56918a=_0x4fc837,_0x2c7876=[..._0x32c59c,..._0x53bcf6],_0x277254=_0x2c7876[_0x56918a(0x1b3)](_0xd49bc3=>_0x4525e8(_0x1ef699[_0xd49bc3],_0xd49bc3));return'('+_0x277254['join'](',\x20')+')';}),_0x38bdea=_0x53bcf6['map'](_0x3fa4a1=>_0x3fa4a1+_0x4fc837(0x1b7)+_0x3fa4a1)[_0x4fc837(0x1cd)](_0x55b3e0[_0x4fc837(0x1bb)]),_0x11977b=_0x32c59c['map'](_0xa96d4a=>'t.'+_0xa96d4a+'\x20=\x20v.'+_0xa96d4a)[_0x4fc837(0x1cd)](_0x55b3e0['LQeKl']),_0x13d095='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x5b9252+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x38bdea+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2e6713[_0x4fc837(0x1cd)](_0x55b3e0['NjJdG'])+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x32c59c,..._0x53bcf6][_0x4fc837(0x1cd)](',\x20')+_0x4fc837(0x1ad)+_0x11977b+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_update_built','tableName':_0x5b9252,'rowCount':_0x5bd210['length'],'updateColumns':_0x53bcf6['length'],'dbType':'postgresql'},'Batch\x20UPDATE\x20query\x20built\x20(PostgreSQL)'),{'query':_0x13d095,'values':[]};}[a0_0x43747a(0x1ef)](_0x501aa9,_0x3923b4,_0x26e075,_0x3be8fa,_0xda322a,_0x432cc2={}){const _0x407c89=a0_0x43747a,_0x335226={'YwtBJ':function(_0x11a07b,_0x3bef07,_0x2b330d){return _0x11a07b(_0x3bef07,_0x2b330d);},'fVLdy':function(_0x4101d3,_0xd5ece3){return _0x4101d3===_0xd5ece3;},'hpqQT':function(_0x34d781,_0x5e750d){return _0x34d781===_0x5e750d;},'kxJJu':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','kiLXR':_0x407c89(0x1b9),'PyXsb':'\x0a\x20\x20\x20\x20UNION\x20ALL\x0a','LMtCr':'batch_update_built'};if(_0x335226[_0x407c89(0x1f1)](_0x501aa9[_0x407c89(0x1bc)],0x0))return{'query':null,'values':[]};const _0x541730=this['buildEscapeFunction'](_0x432cc2),_0x4feb22=_0x26e075[_0x407c89(0x1cc)](_0x5db558=>!_0xda322a['includes'](_0x5db558)&&_0x5db558!==_0x3be8fa);if(_0x335226[_0x407c89(0x1bd)](_0x4feb22[_0x407c89(0x1bc)],0x0))return logger['warn']({'event':_0x407c89(0x1b8),'tableName':_0x3923b4},_0x407c89(0x1e6)),{'query':null,'values':[]};const _0x806423=[..._0xda322a,..._0x4feb22],_0xefb75a=_0x501aa9[_0x407c89(0x1b3)]((_0x1b3e12,_0x10ba37)=>{const _0x4fdb88=_0x407c89,_0x309e0d=_0x806423['map'](_0x2f8aa6=>{const _0x3e6391=a0_0x29a1,_0x21b5d3=_0x335226['YwtBJ'](_0x541730,_0x1b3e12[_0x2f8aa6],_0x2f8aa6);return _0x10ba37===0x0?_0x21b5d3+_0x3e6391(0x1af)+_0x2f8aa6:_0x21b5d3;});return _0x4fdb88(0x1b1)+_0x309e0d['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x32eabe=_0x4feb22[_0x407c89(0x1b3)](_0x2dd87c=>'t.'+_0x2dd87c+_0x407c89(0x1b7)+_0x2dd87c)[_0x407c89(0x1cd)](_0x335226[_0x407c89(0x1e3)]),_0x20734a=_0xda322a[_0x407c89(0x1b3)](_0x5715b2=>'t.'+_0x5715b2+_0x407c89(0x1b7)+_0x5715b2)[_0x407c89(0x1cd)](_0x335226['kiLXR']),_0x135f73=_0x407c89(0x1c8)+_0x3923b4+_0x407c89(0x1da)+_0xefb75a['join'](_0x335226[_0x407c89(0x1dc)])+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x20734a+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x32eabe+_0x407c89(0x1cf);return logger['debug']({'event':_0x335226['LMtCr'],'tableName':_0x3923b4,'rowCount':_0x501aa9['length'],'updateColumns':_0x4feb22['length'],'dbType':_0x407c89(0x1e7)},'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'),{'query':_0x135f73,'values':[]};}['_buildBatchUpdateMysql'](_0x206ce2,_0x23ab22,_0x5883c5,_0x55b916,_0x35959b,_0x42e090={}){const _0x5e68aa=a0_0x43747a,_0x51e876={'cFDwU':_0x5e68aa(0x1e6),'PYltF':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','MoyPP':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20'};if(_0x206ce2['length']===0x0)return{'query':null,'values':[]};const _0x611428=this[_0x5e68aa(0x1c7)](_0x42e090),_0x1e057e=_0x5883c5[_0x5e68aa(0x1cc)](_0x3de640=>!_0x35959b[_0x5e68aa(0x1b0)](_0x3de640)&&_0x3de640!==_0x55b916);if(_0x1e057e['length']===0x0)return logger['warn']({'event':'batch_update_no_columns','tableName':_0x23ab22},_0x51e876[_0x5e68aa(0x1f2)]),{'query':null,'values':[]};const _0x4ac9f5=[...new Set([..._0x35959b,..._0x1e057e])],_0x2de213=_0x206ce2[_0x5e68aa(0x1b3)](_0x658721=>{const _0x2249ed=_0x5e68aa,_0x4b5f43=_0x4ac9f5[_0x2249ed(0x1b3)](_0x480445=>_0x611428(_0x658721[_0x480445],_0x480445));return'('+_0x4b5f43[_0x2249ed(0x1cd)](',\x20')+')';}),_0x415fc9=_0x1e057e['map'](_0x493eb7=>_0x493eb7+'\x20=\x20VALUES('+_0x493eb7+')')[_0x5e68aa(0x1cd)](_0x51e876['PYltF']),_0x1f6be7=_0x5e68aa(0x1d4)+_0x23ab22+'\x20('+_0x4ac9f5['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x2de213[_0x5e68aa(0x1cd)](_0x51e876['MoyPP'])+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x415fc9+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x5e68aa(0x1df),'tableName':_0x23ab22,'rowCount':_0x206ce2['length'],'updateColumns':_0x1e057e['length'],'dbType':'mysql'},_0x5e68aa(0x1e1)),{'query':_0x1f6be7,'values':[]};}[a0_0x43747a(0x1ea)](_0x846d5b,_0x4c7763=0x64){const _0x49ae5f=a0_0x43747a,_0x67fb3={'ksyfP':function(_0x5eab93,_0x2bbbd4){return _0x5eab93<_0x2bbbd4;}},_0x252dc9=[];for(let _0xe472cf=0x0;_0x67fb3[_0x49ae5f(0x1ce)](_0xe472cf,_0x846d5b['length']);_0xe472cf+=_0x4c7763){_0x252dc9[_0x49ae5f(0x1db)](_0x846d5b['slice'](_0xe472cf,_0xe472cf+_0x4c7763));}return _0x252dc9;}}function a0_0x1906(){const _0x533652=['t1jbq0Xf','BxLZCwW','yMf0y2HFDxbKyxrLx2j1AwX0','s2rAqwi','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','tLvmtdO6qK9ptevbtG','A3HksNu','u1fmsvrf','lI9SB2DNzxi','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','B3jHy2XL','z2v0rgf0ywjHC2vuExbL','DhnZvgi','y2H1BMTsB3DZ','DMfSDwvZ','n2XkvfnPuW','A3rWALy','DhLWzq','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','D2fYBG','zLzmzhK','y0zeD1u','DeXKqM4','ywjAEum','mJq4mJmYnNfoB2Lysa','ntC3mZyXtgPgvKvw','svnPD3C','ELvsswy','Cg9ZDgDYzxnXBa','otyXmte5oundzMzLrG','BvfNthK','laOGicaGicaGia','q0ftvcG','kqOGicaGicbxsevsrsa','mJuXmtC4qunLAfrN','ieftia','Aw5JBhvKzxm','icaGifnftevdvca','tLvmtdO6refurq','BwfW','otmWnte0neLWAgPuDW','kqOGicaGicbwquXvrvmG','uezWuhm','id0GDI4','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','ieforca','Dg9mB3DLCKnHC2u','BevOzuO','BgvUz3rO','AhbXuvq','BNvTyMvY','zM9YBwf0rgf0zvzHBhvL','lcaNwvLzws1nts1ercCP','zxHWB3j0CW','tvLtuuW','mZm1mtm5nMPNveTVyW','oJPeqvrf','vK1guMW','mJqWnJeXnNffCMn5Dq','yNvPBgrfC2nHCgvgDw5JDgLVBG','cIaGicaGie1fuKDfieLove8G','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','vMrfy0C','ieftiejjvcK','zMLSDgvY','AM9PBG','A3n5zLa','cIaGica','v01wue0','sw52ywXPzcbeqL9uwvbfoIa','yM9VBgvHBG','mJbyueT4r3i','cIaGicaGieLou0vsvcbjtLrpia','ksbwquXvrvmGka','ufjNr24','ue9tveDsrvnrta','u1fmu0vsvKvs','zgf0zq','ihqkicaGicaGvvnjtKCGkaO','ChvZAa','uhLyC2i'];a0_0x1906=function(){return _0x533652;};return a0_0x1906();}module[a0_0x43747a(0x1c1)]=new UpsertBuilder();
|
|
1
|
+
const a0_0x5951f5=a0_0x16d5;(function(_0x5868d1,_0x5be3bd){const _0x16b4d3=a0_0x16d5,_0x4ab6fe=_0x5868d1();while(!![]){try{const _0x48432c=parseInt(_0x16b4d3(0xdd))/0x1*(-parseInt(_0x16b4d3(0xc6))/0x2)+-parseInt(_0x16b4d3(0x107))/0x3+-parseInt(_0x16b4d3(0xfe))/0x4+-parseInt(_0x16b4d3(0xe3))/0x5*(-parseInt(_0x16b4d3(0xfa))/0x6)+parseInt(_0x16b4d3(0x11a))/0x7*(-parseInt(_0x16b4d3(0xd0))/0x8)+parseInt(_0x16b4d3(0x106))/0x9+parseInt(_0x16b4d3(0x108))/0xa*(parseInt(_0x16b4d3(0xf2))/0xb);if(_0x48432c===_0x5be3bd)break;else _0x4ab6fe['push'](_0x4ab6fe['shift']());}catch(_0x9990fe){_0x4ab6fe['push'](_0x4ab6fe['shift']());}}}(a0_0x35af,0xe7cd0));const {logger}=require(a0_0x5951f5(0xc9)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':a0_0x5951f5(0xe0),'SQLSERVER':'sqlserver','ORACLE':'oracle','SQLITE':'sqlite'};function a0_0x35af(){const _0x3b7d28=['laOGicaGicaGica','mZaWodiXweXiuufU','qw5hugq','oJPct09mrufo','BxLZCwW','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','DhLWzq','mtaWmtm3nvrpveHptW','yNvPBgrcyxrJAeLUC2vYDa','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','u1fmsvrf','kqOGicaGicbxsevsrsa','EKXWChC','yMf0y2HFDxbKyxrLx2j1AwX0','AM9PBG','y2H1BMTsB3DZ','cIaGicbvtKLptIbbteWk','Cg9ZDgDYzxnXBa','yNvPBgrfC2nHCgvgDw5JDgLVBG','yM9VBgvHBG','sfH5weO','C2XPy2u','mtiYode0odLnD3b2uhq','txzYv3i','sw52ywXPzcbeqL9uwvbfoIa','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','ihqkicaGicaGvvnjtKCGkaO','ksbwquXvrvmGka','q0ftvcG','kqOGicaGicbwquXvrvmG','mZzVqw5LzeG','id0GvKfmvuvtka','uvLNyK8','u0Tevvy','nJi1otKWohjpCwD6DG','Aw52ywXPzf9KyL90ExbL','ALDQq2y','Aw5JBhvKzxm','z3fvuey','zM9YBwf0rgf0zvzHBhvL','ieftierbveuP','oJPeqvrf','mtiZndCYotHTvfrLte0','mZy5mJKXEhLItKHO','mtbiwfDuCuu','tvLtuuW','D2fYBG','BwfW','cIaGicaGicKGqvmGDIG','te9ru1O','B3jHy2XL','ieftia','icbjtLrpia','r1HjC1m','cIaGicaGieLou0vsvcbjtLrpia','BgvUz3rO','tLHhB3y','rejFvfLqrq','zMLSDgvY','cIaGica','zgf0zq','id0GDI4','n1zMvMnTsG','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','s3beBe0','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','nfb4tfnvAG','t1jbq0Xf','C3PoDfa','lI9SB2DNzxi','tLvmta','tuTRB1O','z2v0rgf0ywjHC2vuExbL','iezst00Grfvbta','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','DMfSDwvZ','mZyWnZe5mNvLEgjisW','Dg9mB3DLCKnHC2u','ieftiejjvcK','BLPSC2y','zgvIDwC','su5trvjuiefmtaO','lcaNwvLzws1nts1ercCP','zM9YBwf0qM9VBgvHBLzHBhvL','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','laOGicaGicaGia','cIaGicaGie1fuKDfieLove8G','ue9tveDsrvnrta'];a0_0x35af=function(){return _0x3b7d28;};return a0_0x35af();}function a0_0x16d5(_0x31c0eb,_0x1c61a9){_0x31c0eb=_0x31c0eb-0xc6;const _0x35af51=a0_0x35af();let _0x16d5db=_0x35af51[_0x31c0eb];if(a0_0x16d5['dfhPrY']===undefined){var _0x2f1047=function(_0x59ce3f){const _0x544d3e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a6c9f='',_0x29c4fa='';for(let _0x523b0e=0x0,_0xbc2931,_0x18ca0b,_0x511142=0x0;_0x18ca0b=_0x59ce3f['charAt'](_0x511142++);~_0x18ca0b&&(_0xbc2931=_0x523b0e%0x4?_0xbc2931*0x40+_0x18ca0b:_0x18ca0b,_0x523b0e++%0x4)?_0x3a6c9f+=String['fromCharCode'](0xff&_0xbc2931>>(-0x2*_0x523b0e&0x6)):0x0){_0x18ca0b=_0x544d3e['indexOf'](_0x18ca0b);}for(let _0x2d9c2b=0x0,_0x3a3e42=_0x3a6c9f['length'];_0x2d9c2b<_0x3a3e42;_0x2d9c2b++){_0x29c4fa+='%'+('00'+_0x3a6c9f['charCodeAt'](_0x2d9c2b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29c4fa);};a0_0x16d5['UjAwAU']=_0x2f1047,a0_0x16d5['WCIIea']={},a0_0x16d5['dfhPrY']=!![];}const _0x564398=_0x35af51[0x0],_0x1ebb60=_0x31c0eb+_0x564398,_0x10eccf=a0_0x16d5['WCIIea'][_0x1ebb60];return!_0x10eccf?(_0x16d5db=a0_0x16d5['UjAwAU'](_0x16d5db),a0_0x16d5['WCIIea'][_0x1ebb60]=_0x16d5db):_0x16d5db=_0x10eccf,_0x16d5db;}class UpsertBuilder{['getDatabaseType'](){const _0x2d9b10=a0_0x5951f5,_0x1fa8c1={'HXyXJ':'postgresql'},_0x1a1529=(process['env'][_0x2d9b10(0x115)]||_0x1fa8c1[_0x2d9b10(0xf0)])[_0x2d9b10(0xd1)](),_0x393090=Object[_0x2d9b10(0xcf)](DB_TYPES);if(!_0x393090['includes'](_0x1a1529))return logger['warn']({'event':_0x2d9b10(0xff),'provided':_0x1a1529,'fallback':_0x2d9b10(0xed)},_0x2d9b10(0xf4)+_0x1a1529+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES[_0x2d9b10(0xdb)];return _0x1a1529;}['formatDateValue'](_0x1bac5f,_0x26666f,_0xcce313=![]){const _0x6a93d3=a0_0x5951f5,_0x122efa={'IvQNH':'NULL::DATE','LOQSZ':'NULL'};if(_0xcce313)switch(_0x26666f){case DB_TYPES[_0x6a93d3(0xdb)]:return _0x122efa['IvQNH'];case DB_TYPES[_0x6a93d3(0x109)]:return _0x6a93d3(0xca);case DB_TYPES[_0x6a93d3(0xe6)]:return _0x122efa['LOQSZ'];case DB_TYPES['SQLSERVER']:return _0x122efa[_0x6a93d3(0x10d)];case DB_TYPES['ORACLE']:return _0x122efa[_0x6a93d3(0x10d)];default:return'NULL::DATE';}switch(_0x26666f){case DB_TYPES[_0x6a93d3(0xdb)]:return _0x1bac5f+'::DATE';case DB_TYPES['MYSQL']:return _0x1bac5f;case DB_TYPES['SQLITE']:return _0x1bac5f;case DB_TYPES['SQLSERVER']:return _0x6a93d3(0xf8)+_0x1bac5f+_0x6a93d3(0x104);case DB_TYPES[_0x6a93d3(0xc7)]:return'TO_DATE('+_0x1bac5f+_0x6a93d3(0xd6);default:return _0x1bac5f+_0x6a93d3(0x105);}}['formatBooleanValue'](_0x3b2c80,_0x94050f,_0x297c07=![]){const _0x23870e=a0_0x5951f5,_0x5d52f7={'gqUPF':'NULL::BOOLEAN','SKDUV':_0x23870e(0xca)};if(_0x297c07)switch(_0x94050f){case DB_TYPES['POSTGRESQL']:return _0x5d52f7[_0x23870e(0x102)];default:return _0x5d52f7[_0x23870e(0xfd)];}switch(_0x94050f){case DB_TYPES[_0x23870e(0xdb)]:return _0x3b2c80+_0x23870e(0xdf);case DB_TYPES[_0x23870e(0xc7)]:return _0x3b2c80;case DB_TYPES['MYSQL']:return _0x3b2c80;case DB_TYPES['SQLITE']:return _0x3b2c80;case DB_TYPES['SQLSERVER']:return _0x23870e(0xf8)+_0x3b2c80+_0x23870e(0xd2);default:return _0x3b2c80+_0x23870e(0xdf);}}['buildEscapeFunction'](_0x48de82={}){const _0xdfad49=a0_0x5951f5,_0x3995a2={'jWjCf':function(_0x2d37ec,_0x51fa81){return _0x2d37ec===_0x51fa81;},'tLkae':function(_0x38b830,_0x27fa44){return _0x38b830===_0x27fa44;},'NXGov':'string','tINPz':_0xdfad49(0x118),'zLppw':_0xdfad49(0xef),'JtncQ':function(_0x5bf514,_0x18e4b){return _0x5bf514===_0x18e4b;}},_0x5b3f2f=this[_0xdfad49(0xcc)]();return(_0x311f82,_0x2b554d)=>{const _0x39e9e3=_0xdfad49,_0x9f0d7a=_0x48de82[_0x2b554d];if(_0x311f82===null||_0x311f82===undefined){if(_0x9f0d7a&&_0x9f0d7a[_0x39e9e3(0xe2)]===_0x39e9e3(0x118))return this['formatDateValue'](null,_0x5b3f2f,!![]);if(_0x9f0d7a&&_0x3995a2['jWjCf'](_0x9f0d7a['type'],'boolean'))return this[_0x39e9e3(0xd7)](null,_0x5b3f2f,!![]);return _0x39e9e3(0xca);}if(_0x3995a2['tLkae'](typeof _0x311f82,_0x3995a2[_0x39e9e3(0x114)])){const _0x3607e6='\x27'+_0x311f82['replace'](/'/g,'\x27\x27')+'\x27';if(_0x9f0d7a&&_0x9f0d7a[_0x39e9e3(0xe2)]===_0x3995a2['tINPz'])return this[_0x39e9e3(0x103)](_0x3607e6,_0x5b3f2f,![]);if(_0x9f0d7a&&_0x9f0d7a['type']===_0x3995a2[_0x39e9e3(0xe8)])return this[_0x39e9e3(0xd7)](_0x3607e6,_0x5b3f2f,![]);return _0x3607e6;}if(_0x3995a2['JtncQ'](typeof _0x311f82,'number'))return _0x311f82;if(_0x3995a2[_0x39e9e3(0x100)](typeof _0x311f82,_0x39e9e3(0xef)))return _0x311f82;const _0x18756f='\x27'+String(_0x311f82)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x9f0d7a&&_0x3995a2[_0x39e9e3(0x100)](_0x9f0d7a[_0x39e9e3(0xe2)],_0x3995a2['tINPz']))return this['formatDateValue'](_0x18756f,_0x5b3f2f,![]);return _0x18756f;};}[a0_0x5951f5(0xe4)](_0x1fddd2,_0x187a1f,_0x4c83d1,_0x155c60={}){const _0x21953d=a0_0x5951f5,_0x36c62a=this['getDatabaseType']();if(_0x36c62a===DB_TYPES[_0x21953d(0xc7)])return this['_buildBatchInsertOracle'](_0x1fddd2,_0x187a1f,_0x4c83d1,_0x155c60);return this[_0x21953d(0x11d)](_0x1fddd2,_0x187a1f,_0x4c83d1,_0x155c60);}['_buildBatchInsertPostgres'](_0x20a692,_0x297815,_0x5bf4e7,_0x4805fa={}){const _0x398c68=a0_0x5951f5,_0x3f1cd7={'BiqTP':function(_0x46575e,_0x26df92){return _0x46575e===_0x26df92;},'szNtP':',\x0a\x20\x20\x20\x20\x20\x20\x20'};if(_0x3f1cd7['BiqTP'](_0x20a692[_0x398c68(0x113)],0x0))return{'query':null,'values':[]};const _0x365acd=this['buildEscapeFunction'](_0x4805fa),_0x3e7211=_0x20a692[_0x398c68(0x10b)](_0x50a553=>{const _0x113bbe=_0x398c68,_0xc3d738=_0x5bf4e7[_0x113bbe(0x10b)](_0x2c2684=>_0x365acd(_0x50a553[_0x2c2684],_0x2c2684));return'('+_0xc3d738['join'](',\x20')+')';}),_0x55cf1e='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x297815+'\x20('+_0x5bf4e7[_0x398c68(0xea)](',\x20')+_0x398c68(0xf9)+_0x3e7211[_0x398c68(0xea)](_0x3f1cd7[_0x398c68(0xc8)])+_0x398c68(0x117);return logger[_0x398c68(0xd4)]({'event':'batch_insert_built','tableName':_0x297815,'rowCount':_0x20a692[_0x398c68(0x113)],'dbType':_0x398c68(0xed)},_0x398c68(0x11b)),{'query':_0x55cf1e,'values':[]};}[a0_0x5951f5(0xce)](_0x314b19,_0x467378,_0x5ae879,_0x368493={}){const _0x1090f0=a0_0x5951f5,_0x5ded39={'lVkJR':'batch_insert_built'};if(_0x314b19['length']===0x0)return{'query':null,'values':[]};const _0xb1f020=this['buildEscapeFunction'](_0x368493),_0x8f3163=_0x314b19[_0x1090f0(0x10b)](_0xae5107=>{const _0x5d441f=_0x1090f0,_0x53fc01=_0x5ae879['map'](_0x4c8a40=>_0xb1f020(_0xae5107[_0x4c8a40],_0x4c8a40));return _0x5d441f(0x110)+_0x467378+'\x20('+_0x5ae879[_0x5d441f(0xea)](',\x20')+_0x5d441f(0xf7)+_0x53fc01['join'](',\x20')+')';}),_0x579fdf=_0x1090f0(0xd5)+_0x8f3163[_0x1090f0(0xea)]('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger['debug']({'event':_0x5ded39['lVkJR'],'tableName':_0x467378,'rowCount':_0x314b19['length'],'dbType':_0x1090f0(0x10e)},_0x1090f0(0xf5)),{'query':_0x579fdf,'values':[]};}['buildBatchUpdate'](_0x2ceee2,_0x33edd4,_0x5e45ec,_0x5adf37,_0xa46145,_0x52ea1f={}){const _0x1e9ca8=a0_0x5951f5,_0x24ad27={'MvrWr':function(_0x2e1bd2,_0x374d67){return _0x2e1bd2===_0x374d67;}},_0x29034e=this[_0x1e9ca8(0xcc)]();if(_0x29034e===DB_TYPES[_0x1e9ca8(0xc7)])return this['_buildBatchUpdateOracle'](_0x2ceee2,_0x33edd4,_0x5e45ec,_0x5adf37,_0xa46145,_0x52ea1f);if(_0x24ad27[_0x1e9ca8(0xf3)](_0x29034e,DB_TYPES[_0x1e9ca8(0x109)]))return this['_buildBatchUpdateMysql'](_0x2ceee2,_0x33edd4,_0x5e45ec,_0x5adf37,_0xa46145,_0x52ea1f);return this['_buildBatchUpdatePostgres'](_0x2ceee2,_0x33edd4,_0x5e45ec,_0x5adf37,_0xa46145,_0x52ea1f);}['_buildBatchUpdatePostgres'](_0x33c3a7,_0x3eb869,_0x5b76ab,_0x2eb33c,_0x3f60dc,_0x3ecbd9={}){const _0x297b72=a0_0x5951f5,_0x238aab={'zMrKI':'\x20AND\x20','KpDlM':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','NgcMz':_0x297b72(0xed)};if(_0x33c3a7[_0x297b72(0x113)]===0x0)return{'query':null,'values':[]};const _0x222e13=this['buildEscapeFunction'](_0x3ecbd9),_0x37d4da=_0x5b76ab['filter'](_0x4a8d60=>!_0x3f60dc[_0x297b72(0x101)](_0x4a8d60)&&_0x4a8d60!==_0x2eb33c);if(_0x37d4da['length']===0x0)return logger['warn']({'event':'batch_update_no_columns','tableName':_0x3eb869},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x685db=_0x33c3a7[_0x297b72(0x10b)](_0xf0e6fe=>{const _0x9f0847=[..._0x3f60dc,..._0x37d4da],_0x10b1fb=_0x9f0847['map'](_0x2390a5=>_0x222e13(_0xf0e6fe[_0x2390a5],_0x2390a5));return'('+_0x10b1fb['join'](',\x20')+')';}),_0x2756e3=_0x37d4da[_0x297b72(0x10b)](_0x2c943d=>_0x2c943d+_0x297b72(0x119)+_0x2c943d)['join'](_0x297b72(0xdc)),_0x168ef3=_0x3f60dc['map'](_0x5ca537=>'t.'+_0x5ca537+'\x20=\x20v.'+_0x5ca537)['join'](_0x238aab['zMrKI']),_0x1065f3='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x3eb869+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x2756e3+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x685db[_0x297b72(0xea)](_0x238aab[_0x297b72(0x11c)])+_0x297b72(0x10c)+[..._0x3f60dc,..._0x37d4da]['join'](',\x20')+_0x297b72(0xe7)+_0x168ef3+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_update_built','tableName':_0x3eb869,'rowCount':_0x33c3a7['length'],'updateColumns':_0x37d4da[_0x297b72(0x113)],'dbType':_0x238aab['NgcMz']},'Batch\x20UPDATE\x20query\x20built\x20(PostgreSQL)'),{'query':_0x1065f3,'values':[]};}[a0_0x5951f5(0xe5)](_0x129b1d,_0x32ec47,_0x2fac4c,_0x11550b,_0x6e37c0,_0x312194={}){const _0x3ebc50=a0_0x5951f5,_0x33caa6={'GimGP':function(_0x2911ae,_0x4b7348){return _0x2911ae===_0x4b7348;},'rnuwD':'batch_update_no_columns','MKkoZ':'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'};if(_0x33caa6['GimGP'](_0x129b1d['length'],0x0))return{'query':null,'values':[]};const _0x252968=this['buildEscapeFunction'](_0x312194),_0x54c9dd=_0x2fac4c[_0x3ebc50(0x116)](_0x5ad620=>!_0x6e37c0['includes'](_0x5ad620)&&_0x5ad620!==_0x11550b);if(_0x33caa6['GimGP'](_0x54c9dd[_0x3ebc50(0x113)],0x0))return logger[_0x3ebc50(0x10a)]({'event':_0x33caa6['rnuwD'],'tableName':_0x32ec47},_0x3ebc50(0xe1)),{'query':null,'values':[]};const _0xa03052=[..._0x6e37c0,..._0x54c9dd],_0x4a1b41=_0x129b1d[_0x3ebc50(0x10b)]((_0xc1ac8d,_0x3b8dfa)=>{const _0x22bf49=_0x3ebc50,_0x2bab22=_0xa03052['map'](_0x581bb7=>{const _0x475c01=a0_0x16d5,_0x45d07b=_0x252968(_0xc1ac8d[_0x581bb7],_0x581bb7);return _0x3b8dfa===0x0?_0x45d07b+_0x475c01(0x10f)+_0x581bb7:_0x45d07b;});return'\x20\x20\x20\x20SELECT\x20'+_0x2bab22['join'](',\x20')+_0x22bf49(0xcd);}),_0x30e1ad=_0x54c9dd['map'](_0x2934f6=>'t.'+_0x2934f6+'\x20=\x20v.'+_0x2934f6)['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x3b28d1=_0x6e37c0[_0x3ebc50(0x10b)](_0x2e3862=>'t.'+_0x2e3862+_0x3ebc50(0x119)+_0x2e3862)[_0x3ebc50(0xea)]('\x20AND\x20'),_0x172bff=_0x3ebc50(0xda)+_0x32ec47+_0x3ebc50(0xf6)+_0x4a1b41['join'](_0x3ebc50(0xec))+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x3b28d1+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x30e1ad+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x3ebc50(0xe9),'tableName':_0x32ec47,'rowCount':_0x129b1d['length'],'updateColumns':_0x54c9dd['length'],'dbType':'oracle'},_0x33caa6[_0x3ebc50(0xcb)]),{'query':_0x172bff,'values':[]};}['_buildBatchUpdateMysql'](_0x4a76a8,_0x3acac2,_0x5d7184,_0x457817,_0x1ea9e2,_0x4d7d67={}){const _0xce431e=a0_0x5951f5,_0xcac51b={'AnGPd':function(_0x189e44,_0x42b556){return _0x189e44===_0x42b556;},'QYgbO':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'};if(_0xcac51b['AnGPd'](_0x4a76a8['length'],0x0))return{'query':null,'values':[]};const _0x19f0b9=this[_0xce431e(0xee)](_0x4d7d67),_0x3639d9=_0x5d7184[_0xce431e(0x116)](_0x2aae5d=>!_0x1ea9e2[_0xce431e(0x101)](_0x2aae5d)&&_0x2aae5d!==_0x457817);if(_0xcac51b[_0xce431e(0xde)](_0x3639d9[_0xce431e(0x113)],0x0))return logger['warn']({'event':_0xce431e(0xd8),'tableName':_0x3acac2},_0xcac51b[_0xce431e(0xfc)]),{'query':null,'values':[]};const _0x168038=[...new Set([..._0x1ea9e2,..._0x3639d9])],_0x54ba6c=_0x4a76a8['map'](_0x1d901d=>{const _0x222b15=_0xce431e,_0x127311=_0x168038[_0x222b15(0x10b)](_0x350d12=>_0x19f0b9(_0x1d901d[_0x350d12],_0x350d12));return'('+_0x127311['join'](',\x20')+')';}),_0x117cc5=_0x3639d9['map'](_0x54319f=>_0x54319f+_0xce431e(0xfb)+_0x54319f+')')[_0xce431e(0xea)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x56519d=_0xce431e(0x112)+_0x3acac2+'\x20('+_0x168038[_0xce431e(0xea)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x54ba6c['join'](_0xce431e(0xd9))+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x117cc5+_0xce431e(0x117);return logger['debug']({'event':_0xce431e(0xe9),'tableName':_0x3acac2,'rowCount':_0x4a76a8[_0xce431e(0x113)],'updateColumns':_0x3639d9[_0xce431e(0x113)],'dbType':'mysql'},'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'),{'query':_0x56519d,'values':[]};}[a0_0x5951f5(0xeb)](_0x9c2570,_0x331345=0x64){const _0x3a47fe=a0_0x5951f5,_0x48e2fc={'GXIsS':function(_0x5b15b8,_0x331889){return _0x5b15b8<_0x331889;},'nZlsf':function(_0x3a47c5,_0x17d83f){return _0x3a47c5+_0x17d83f;}},_0x6c8df8=[];for(let _0x5c9eea=0x0;_0x48e2fc[_0x3a47fe(0x111)](_0x5c9eea,_0x9c2570[_0x3a47fe(0x113)]);_0x5c9eea+=_0x331345){_0x6c8df8['push'](_0x9c2570[_0x3a47fe(0xf1)](_0x5c9eea,_0x48e2fc[_0x3a47fe(0xd3)](_0x5c9eea,_0x331345)));}return _0x6c8df8;}}module['exports']=new UpsertBuilder();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x70e5(){const _0x3ed69b=['B2jQzwn0','odu5mJa4tuXNC21b','sNPTt1C','qMXVy2TPBMCGAg9VAYbMywLSzwq6ia','C3LZDgvT','v29YA2zSB3CGAg9VAYbLEgvJDxrLzdOG','C3rYAw5N','mteXnZq5vhDos01x','uMvZDezVCMDLlvDVCMTMBg93lZeUma','yxv0AeHLywrLCG','sfruuca','mte5otm4mNrHvMzbrW','v29YA2zSB3CGAg9VAYbMywLSzwq6ia','rKH6u28','qun4suC','otmYnJeWzwnTCMzY','DujREwy','C3vJy2vZCW','yxbWBgLJyxrPB24VANnVBG','yxbP','B2XKu3rHDhvZ','CMvZCg9UC2u','D2fYBG','AgvHzgvYCW','ue9tva','yMXVy2TPBMC','BwvZC2fNzq','C3rHDhvZ','yM9KEq','DgfIBgvoyw1L','Bg9N','AxHswhi','mteWnZyXnxDgC2jNrq','ndGYvvDmvg1X','BgvUz3rO','AxnbCNjHEq','C3rYAw5NAwz5','ChvZAa','Ahr0Chm6lY8','zw52','CMvJB3jK','ntG0nZq3ohLpqLjSAW','BMv3u3rHDhvZ','u3bItNy','CMvKDwnL','C3rHCNrZv2L0Aa','CMvWBgfJzq'];a0_0x70e5=function(){return _0x3ed69b;};return a0_0x70e5();}const a0_0x53c7fd=a0_0x113f;(function(_0x3372eb,_0x2233e5){const _0x4f599d=a0_0x113f,_0x5bba1c=_0x3372eb();while(!![]){try{const _0x4fe2c1=-parseInt(_0x4f599d(0x147))/0x1+parseInt(_0x4f599d(0x161))/0x2+-parseInt(_0x4f599d(0x14f))/0x3+-parseInt(_0x4f599d(0x170))/0x4+-parseInt(_0x4f599d(0x160))/0x5+parseInt(_0x4f599d(0x14b))/0x6+parseInt(_0x4f599d(0x169))/0x7;if(_0x4fe2c1===_0x2233e5)break;else _0x5bba1c['push'](_0x5bba1c['shift']());}catch(_0x591f0e){_0x5bba1c['push'](_0x5bba1c['shift']());}}}(a0_0x70e5,0x2b1a4));const axios=require('axios'),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD=a0_0x53c7fd(0x158),DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x11fccf,_0x2f01d5){const _0x52d53f=a0_0x53c7fd,_0x42ba6f={'sjQRN':function(_0x401b5c,_0x535238,_0x108b43){return _0x401b5c(_0x535238,_0x108b43);},'QsRhq':function(_0xffb21d,_0x440816){return _0xffb21d!==_0x440816;},'AjqPj':function(_0x4a3694,_0x199c3e){return _0x4a3694!==_0x199c3e;},'ajmxH':'object','JzmOW':_0x52d53f(0x146)};if(typeof _0x11fccf!==_0x42ba6f[_0x52d53f(0x171)])return _0x11fccf;return _0x11fccf[_0x52d53f(0x16e)](/\{\{([^}]+)\}\}/g,(_0x151788,_0x3f6be8)=>{const _0x5e6524=_0x52d53f,_0x381d66=_0x3f6be8['trim'](),_0x448a75=_0x42ba6f['sjQRN'](getNestedValue,_0x2f01d5,_0x381d66);if(_0x42ba6f['QsRhq'](_0x448a75,undefined)&&_0x42ba6f['AjqPj'](_0x448a75,null))return typeof _0x448a75===_0x42ba6f['ajmxH']?JSON[_0x5e6524(0x164)](_0x448a75):String(_0x448a75);return _0x151788;});}function resolveTemplateVariables(_0x57733b,_0x2dca0c){const _0x1c9b93=a0_0x53c7fd,_0x2a6592={'dfWem':function(_0x2bde8a,_0x453146){return _0x2bde8a!==_0x453146;}};if(typeof _0x57733b===_0x1c9b93(0x146))return resolveTemplateString(_0x57733b,_0x2dca0c);if(Array[_0x1c9b93(0x163)](_0x57733b))return _0x57733b['map'](_0x55116f=>resolveTemplateVariables(_0x55116f,_0x2dca0c));if(_0x2a6592['dfWem'](_0x57733b,null)&&typeof _0x57733b===_0x1c9b93(0x16f)){const _0x304bf4={};for(const [_0x3ac293,_0x2dd851]of Object['entries'](_0x57733b)){_0x304bf4[_0x3ac293]=resolveTemplateVariables(_0x2dd851,_0x2dca0c);}return _0x304bf4;}return _0x57733b;}function getNestedValue(_0x5317df,_0x1a4e01){const _0x4efead=a0_0x53c7fd,_0x4cbe4d={'ixRXr':function(_0x47d454,_0x5b5481){return _0x47d454!==_0x5b5481;}};return _0x1a4e01['split']('.')[_0x4efead(0x16c)]((_0x4eb7c0,_0x484e68)=>{const _0x2a7977=_0x4efead;return _0x4eb7c0&&_0x4cbe4d[_0x2a7977(0x15f)](_0x4eb7c0[_0x484e68],undefined)?_0x4eb7c0[_0x484e68]:undefined;},_0x5317df);}function resolveUrl(_0x4cdb5c,_0x151b5b){const _0xf50f8f=a0_0x53c7fd,_0x4c8177={'ACxIG':'http://','dndXy':_0xf50f8f(0x166)};if(!_0x4cdb5c||typeof _0x4cdb5c!=='string')return _0x4cdb5c;if(_0x4cdb5c[_0xf50f8f(0x16d)](_0x4c8177[_0xf50f8f(0x14e)])||_0x4cdb5c[_0xf50f8f(0x16d)](_0x4c8177['dndXy']))return _0x4cdb5c;const _0x4c3f81=process[_0xf50f8f(0x167)]['SERVER_ADDRESS']||process[_0xf50f8f(0x167)]['HOST']||DEFAULT_HOST,_0x52d2ee=process['env']['PORT']||DEFAULT_PORT,_0x4f409d='http://'+_0x4c3f81+':'+_0x52d2ee;if(_0x4cdb5c['startsWith']('/api/'))return''+_0x4f409d+_0x4cdb5c;if(_0x4cdb5c['startsWith']('/')){const _0x36b72a=_0x151b5b&&_0x151b5b['project']||'';if(_0x36b72a)return _0x4f409d+'/api/'+_0x36b72a+_0x4cdb5c;return''+_0x4f409d+_0x4cdb5c;}return _0x4cdb5c;}function buildHookContext(_0x3a35f4){const _0x434294=a0_0x53c7fd;return{'id':_0x3a35f4['id']||'','newStatus':_0x3a35f4[_0x434294(0x16a)]||'','oldStatus':_0x3a35f4[_0x434294(0x154)]||'','remarks':_0x3a35f4['remarks']||'','tableName':_0x3a35f4[_0x434294(0x15d)]||'','user_id':_0x3a35f4['userId']||_0x434294(0x173),'timestamp':new Date()['toISOString'](),'record':_0x3a35f4[_0x434294(0x168)]||{},'requestData':_0x3a35f4['requestData']||{},'project':_0x3a35f4['project']||'','authHeader':_0x3a35f4['authHeader']||null};}function a0_0x113f(_0x2ab124,_0x2ff4fd){_0x2ab124=_0x2ab124-0x146;const _0x70e5ff=a0_0x70e5();let _0x113f44=_0x70e5ff[_0x2ab124];if(a0_0x113f['QIriPT']===undefined){var _0x5835b0=function(_0x506596){const _0x3de317='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a8003='',_0x24c771='';for(let _0x5343fc=0x0,_0x293798,_0x37dd92,_0x57d8b6=0x0;_0x37dd92=_0x506596['charAt'](_0x57d8b6++);~_0x37dd92&&(_0x293798=_0x5343fc%0x4?_0x293798*0x40+_0x37dd92:_0x37dd92,_0x5343fc++%0x4)?_0x3a8003+=String['fromCharCode'](0xff&_0x293798>>(-0x2*_0x5343fc&0x6)):0x0){_0x37dd92=_0x3de317['indexOf'](_0x37dd92);}for(let _0xc8390=0x0,_0x519c00=_0x3a8003['length'];_0xc8390<_0x519c00;_0xc8390++){_0x24c771+='%'+('00'+_0x3a8003['charCodeAt'](_0xc8390)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x24c771);};a0_0x113f['XiKFXd']=_0x5835b0,a0_0x113f['MCqLwU']={},a0_0x113f['QIriPT']=!![];}const _0x5b534b=_0x70e5ff[0x0],_0x13f4a9=_0x2ab124+_0x5b534b,_0x325a5b=a0_0x113f['MCqLwU'][_0x13f4a9];return!_0x325a5b?(_0x113f44=a0_0x113f['XiKFXd'](_0x113f44),a0_0x113f['MCqLwU'][_0x13f4a9]=_0x113f44):_0x113f44=_0x325a5b,_0x113f44;}async function executeHook(_0x28e7f6,_0x48114c){const _0x44d4fa=a0_0x53c7fd,_0x3aef93={'kwReZ':_0x44d4fa(0x153),'dXEkD':'Hook\x20skipped:\x20unsupported\x20type','yGhAp':function(_0x54a5dc,_0x2fff6c){return _0x54a5dc===_0x2fff6c;},'SpbNv':function(_0x54bfad,_0x258e24,_0x3e9d5f){return _0x54bfad(_0x258e24,_0x3e9d5f);},'uBkyf':function(_0x3c1de2,_0x13e63f){return _0x3c1de2!==_0x13e63f;},'FHzSo':_0x44d4fa(0x152)};if(!_0x28e7f6||_0x28e7f6['type']!==_0x3aef93['kwReZ'])return{'success':!![],'message':_0x3aef93['dXEkD']};const _0x3cd2b3=_0x3aef93['yGhAp'](_0x28e7f6[_0x44d4fa(0x159)],!![]),_0x429023=(_0x28e7f6['method']||DEFAULT_METHOD)['toUpperCase'](),_0x21cbaf=_0x28e7f6['timeout']||DEFAULT_TIMEOUT,_0x167083=resolveTemplateString(_0x28e7f6['url'],_0x48114c),_0x24c5e8=_0x3aef93[_0x44d4fa(0x16b)](resolveUrl,_0x167083,_0x48114c),_0x32a426=_0x28e7f6[_0x44d4fa(0x15c)]?resolveTemplateVariables(_0x28e7f6['body'],_0x48114c):{},_0x3c9e33=_0x28e7f6['headers']?resolveTemplateVariables(_0x28e7f6[_0x44d4fa(0x157)],_0x48114c):{},_0x3ae676=_0x3c9e33&&(_0x3aef93[_0x44d4fa(0x150)](_0x3c9e33['Authorization'],undefined)||_0x3c9e33['authorization']!==undefined),_0x5992fa=!_0x3ae676&&_0x48114c&&_0x48114c['authHeader']?{'Authorization':_0x48114c[_0x44d4fa(0x149)]}:{};try{const _0x47e163=await axios({'method':_0x429023['toLowerCase'](),'url':_0x24c5e8,'data':_0x32a426,'headers':{'Content-Type':_0x3aef93[_0x44d4fa(0x14d)],'User-Agent':_0x44d4fa(0x148),..._0x5992fa,..._0x3c9e33},'timeout':_0x21cbaf});return console[_0x44d4fa(0x15e)](_0x44d4fa(0x174)+_0x429023+'\x20'+_0x24c5e8+'\x20→\x20'+_0x47e163['status']),{'success':!![],'message':'Hook\x20executed\x20successfully','status':_0x47e163[_0x44d4fa(0x15b)],'url':_0x24c5e8};}catch(_0x89e3bc){const _0x1fc6b3=_0x89e3bc[_0x44d4fa(0x155)]?_0x44d4fa(0x14a)+_0x89e3bc['response'][_0x44d4fa(0x15b)]+':\x20'+_0x89e3bc['response']['statusText']:_0x89e3bc[_0x44d4fa(0x15a)];console['error'](_0x44d4fa(0x14c)+_0x429023+'\x20'+_0x24c5e8+'\x20→\x20'+_0x1fc6b3);if(_0x3cd2b3)return{'success':![],'message':_0x44d4fa(0x172)+_0x1fc6b3,'error':_0x1fc6b3,'url':_0x24c5e8};return console[_0x44d4fa(0x156)]('Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x1fc6b3),{'success':!![],'message':'Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x1fc6b3,'warning':_0x1fc6b3,'url':_0x24c5e8};}}async function executeHooks(_0x5e9ab6,_0x516dad){const _0x4fcd55=a0_0x53c7fd,_0x1e3469={'NBZAb':function(_0x3467d5,_0x581ec2){return _0x3467d5===_0x581ec2;},'LDLRJ':function(_0x47ff50,_0xe22d97,_0x5aa46c){return _0x47ff50(_0xe22d97,_0x5aa46c);}};if(!_0x5e9ab6||!Array[_0x4fcd55(0x163)](_0x5e9ab6)||_0x1e3469['NBZAb'](_0x5e9ab6[_0x4fcd55(0x162)],0x0))return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x5d07e1=[];for(const _0x13ef90 of _0x5e9ab6){const _0x730cec=await _0x1e3469['LDLRJ'](executeHook,_0x13ef90,_0x516dad);_0x5d07e1[_0x4fcd55(0x165)](_0x730cec);if(!_0x730cec[_0x4fcd55(0x151)])return{'success':![],'error':_0x730cec['message']||'Hook\x20execution\x20failed','results':_0x5d07e1,'hooksExecuted':_0x5d07e1['length']};}return{'success':!![],'results':_0x5d07e1,'hooksExecuted':_0x5d07e1['length']};}module['exports']={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQL Table Extractor
|
|
3
|
-
*
|
|
4
|
-
* Extract candidate table names from SQL string using regex on FROM/JOIN clauses.
|
|
5
|
-
* Returns lowercase, schema-stripped names. Comments dan literal string di-strip
|
|
6
|
-
* sebelum scan untuk mengurangi false positive.
|
|
7
|
-
*
|
|
8
|
-
* Pattern yang ditangkap:
|
|
9
|
-
* - FROM table_name
|
|
10
|
-
* - FROM schema.table_name
|
|
11
|
-
* - JOIN table_name (semua varian: INNER/LEFT/RIGHT/FULL/CROSS)
|
|
12
|
-
* - WITH cte_name AS (...) — terdeteksi tapi caller bertanggung jawab
|
|
13
|
-
* filter via cross-reference metadata
|
|
14
|
-
*
|
|
15
|
-
* Tidak menangani:
|
|
16
|
-
* - Function-as-table seperti unnest(...) atau LATERAL
|
|
17
|
-
* - Subquery alias (akan tertangkap sebagai candidate, di-filter caller)
|
|
18
|
-
*
|
|
19
|
-
* @module lib/utils/sql-table-extractor
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
// Strip single-line dan multi-line SQL comments + literal strings agar regex
|
|
23
|
-
// tidak match di dalam komentar atau string literal.
|
|
24
|
-
function stripCommentsAndStrings(sql) {
|
|
25
|
-
return sql
|
|
26
|
-
.replace(/--[^\n]*/g, ' ')
|
|
27
|
-
.replace(/\/\*[\s\S]*?\*\//g, ' ')
|
|
28
|
-
.replace(/'(?:[^']|'')*'/g, "''")
|
|
29
|
-
.replace(/"(?:[^"]|"")*"/g, '""');
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const FROM_REGEX = /\bFROM\s+([a-zA-Z_][\w]*(?:\.[a-zA-Z_][\w]*)?)/gi;
|
|
33
|
-
const JOIN_REGEX = /\bJOIN\s+([a-zA-Z_][\w]*(?:\.[a-zA-Z_][\w]*)?)/gi;
|
|
34
|
-
|
|
35
|
-
function stripSchema(name) {
|
|
36
|
-
const dot = name.indexOf('.');
|
|
37
|
-
return dot === -1 ? name : name.substring(dot + 1);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Extract candidate table names from a SQL string.
|
|
42
|
-
*
|
|
43
|
-
* @param {string} sqlText - SQL query string (single statement or multi-CTE)
|
|
44
|
-
* @returns {Set<string>} - lowercase candidate table names
|
|
45
|
-
*/
|
|
46
|
-
function extractTables(sqlText) {
|
|
47
|
-
if (typeof sqlText !== 'string' || sqlText.trim() === '') {
|
|
48
|
-
return new Set();
|
|
49
|
-
}
|
|
50
|
-
const cleaned = stripCommentsAndStrings(sqlText);
|
|
51
|
-
const candidates = new Set();
|
|
52
|
-
let m;
|
|
53
|
-
FROM_REGEX.lastIndex = 0;
|
|
54
|
-
while ((m = FROM_REGEX.exec(cleaned)) !== null) {
|
|
55
|
-
candidates.add(stripSchema(m[1]).toLowerCase());
|
|
56
|
-
}
|
|
57
|
-
JOIN_REGEX.lastIndex = 0;
|
|
58
|
-
while ((m = JOIN_REGEX.exec(cleaned)) !== null) {
|
|
59
|
-
candidates.add(stripSchema(m[1]).toLowerCase());
|
|
60
|
-
}
|
|
61
|
-
return candidates;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Extract candidate table names from multiple SQL strings, returning the union set.
|
|
66
|
-
*
|
|
67
|
-
* @param {string[]} sqlTexts
|
|
68
|
-
* @returns {Set<string>}
|
|
69
|
-
*/
|
|
70
|
-
function extractTablesUnion(sqlTexts) {
|
|
71
|
-
const all = new Set();
|
|
72
|
-
for (const sql of sqlTexts) {
|
|
73
|
-
for (const t of extractTables(sql)) all.add(t);
|
|
74
|
-
}
|
|
75
|
-
return all;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
module.exports = {
|
|
79
|
-
extractTables,
|
|
80
|
-
extractTablesUnion,
|
|
81
|
-
// exposed untuk testing edge case
|
|
82
|
-
_stripCommentsAndStrings: stripCommentsAndStrings
|
|
83
|
-
};
|