@restforgejs/platform 4.1.1 → 4.3.1
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/SECURITY.md +83 -4
- package/bin/sdf-tools.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/dashboard/create.js +4 -1
- package/generators/cli/endpoint/create.js +43 -4
- package/generators/cli/key/generate.js +2 -1
- package/generators/cli/key/revoke.js +2 -1
- package/generators/cli/payload/diff.js +3 -2
- package/generators/cli/payload/generate.js +3 -2
- package/generators/cli/payload/sync.js +3 -2
- package/generators/cli/payload/validate.js +3 -2
- package/generators/cli/processor/create.js +14 -3
- package/generators/cli/project/delete.js +2 -1
- package/generators/cli/query/validate.js +3 -2
- package/generators/cli/schema/apply.js +526 -0
- package/generators/cli/schema/describe.js +3 -2
- package/generators/cli/schema/diff.js +322 -0
- package/generators/cli/schema/generate-ddl.js +7 -10
- package/generators/cli/schema/init.js +95 -172
- package/generators/cli/schema/introspect.js +3 -2
- package/generators/cli/schema/list.js +3 -2
- package/generators/cli/schema/migrate.js +13 -18
- package/generators/cli/schema/models.js +8 -12
- package/generators/cli/schema/template.js +222 -0
- package/generators/cli/schema/validate.js +8 -12
- package/generators/cli-entry.js +17 -2
- package/generators/lib/dbschema-kit/apply-engine.js +582 -0
- package/generators/lib/dbschema-kit/diff-engine.js +703 -0
- package/generators/lib/dbschema-kit/diff-reporter.js +272 -0
- package/generators/lib/dbschema-kit/emitters/alter-table.js +275 -0
- package/generators/lib/migration/audit-table-runner.js +213 -215
- package/generators/lib/payload/endpoint-schema-validator.js +171 -0
- package/generators/lib/payload/payload-runner.js +137 -220
- package/generators/lib/payload/schema-diff.js +277 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -437
- package/generators/lib/templates/db-connection-env.js +1 -212
- package/generators/lib/templates/dbschema-catalog.js +1 -489
- package/generators/lib/templates/field-validation-catalog.js +1 -531
- package/generators/lib/templates/mysql-template.js +1 -3863
- package/generators/lib/templates/oracle-template.js +1 -3915
- package/generators/lib/templates/postgres-template.js +1 -5838
- package/generators/lib/templates/query-declarative-catalog.js +1 -199
- package/generators/lib/templates/sqlite-template.js +1 -3440
- package/generators/lib/utils/audit-columns.js +181 -0
- package/generators/lib/utils/cli-output.js +17 -0
- package/generators/lib/utils/database-introspector.js +16 -13
- package/generators/lib/utils/env-manager.js +6 -0
- package/generators/lib/utils/path-validator.js +71 -0
- package/generators/lib/validators/payload-validator.js +1 -2
- package/integrity-manifest.json +28 -10
- package/package.json +11 -3
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
- package/generators/metadata/global.json +0 -58
- package/generators/metadata/test-mysql-workbench.json +0 -118
- package/generators/metadata/test-mysql.json +0 -56
- package/generators/metadata/test-oracle-workbench.json +0 -118
- package/generators/metadata/test-oracle.json +0 -56
- package/generators/metadata/test-pg-workbench.json +0 -118
- package/generators/metadata/test-pg.json +0 -56
- package/generators/scripts/obfuscate-source.js +0 -356
- package/generators/scripts/validate-catalog.js +0 -430
- package/generators/scripts/validate-dbschema-catalog.js +0 -708
- package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
- package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
- package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
- package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
- package/generators/tests/fixtures/payloads/order-process.json +0 -52
- package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
- package/generators/tests/integration-tahap4b/README.md +0 -145
- package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
- package/generators/tests/integration-tahap4b/seed.sql +0 -53
- package/generators/tests/integration-tahap4b/verify.sql +0 -110
- package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
- package/generators/tests/unit/cli/create-processor.test.js +0 -319
- package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
- package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
- package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
- package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
- package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
- package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
- package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
- package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
- package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
- package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
- package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
- package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
- package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
- package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
- package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
- package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
- package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
- package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
- package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
- package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
- package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
- package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
- package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
- package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
- package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
- package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
- package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
- package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
- package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
- package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
- package/scripts/generate-integrity-manifest.js +0 -124
- package/scripts/snapshot-cli-contracts.js +0 -194
- package/scripts/verify-publish.js +0 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x4b7b0d=a0_0x5e0c;function a0_0x5e0c(_0x5ec0b1,_0x24222a){_0x5ec0b1=_0x5ec0b1-0xd1;const _0x3b0d3e=a0_0x3b0d();let _0x5e0ca9=_0x3b0d3e[_0x5ec0b1];if(a0_0x5e0c['nzQCUF']===undefined){var _0x4dadf5=function(_0x477a0c){const _0x32f2d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x185232='',_0x227654='';for(let _0x52d9fd=0x0,_0x2f6980,_0x3be788,_0x3eb8e0=0x0;_0x3be788=_0x477a0c['charAt'](_0x3eb8e0++);~_0x3be788&&(_0x2f6980=_0x52d9fd%0x4?_0x2f6980*0x40+_0x3be788:_0x3be788,_0x52d9fd++%0x4)?_0x185232+=String['fromCharCode'](0xff&_0x2f6980>>(-0x2*_0x52d9fd&0x6)):0x0){_0x3be788=_0x32f2d0['indexOf'](_0x3be788);}for(let _0x461c27=0x0,_0x5a21ea=_0x185232['length'];_0x461c27<_0x5a21ea;_0x461c27++){_0x227654+='%'+('00'+_0x185232['charCodeAt'](_0x461c27)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x227654);};a0_0x5e0c['arZTex']=_0x4dadf5,a0_0x5e0c['evLtar']={},a0_0x5e0c['nzQCUF']=!![];}const _0x31ac54=_0x3b0d3e[0x0],_0x699d36=_0x5ec0b1+_0x31ac54,_0x1323da=a0_0x5e0c['evLtar'][_0x699d36];return!_0x1323da?(_0x5e0ca9=a0_0x5e0c['arZTex'](_0x5e0ca9),a0_0x5e0c['evLtar'][_0x699d36]=_0x5e0ca9):_0x5e0ca9=_0x1323da,_0x5e0ca9;}(function(_0x564cba,_0x1ba8f7){const _0x4415ae=a0_0x5e0c,_0x17276c=_0x564cba();while(!![]){try{const _0x5ce8b5=-parseInt(_0x4415ae(0x1dc))/0x1*(-parseInt(_0x4415ae(0x127))/0x2)+-parseInt(_0x4415ae(0x1d4))/0x3*(-parseInt(_0x4415ae(0x158))/0x4)+parseInt(_0x4415ae(0x1e5))/0x5+-parseInt(_0x4415ae(0x140))/0x6+parseInt(_0x4415ae(0xe8))/0x7*(-parseInt(_0x4415ae(0x19d))/0x8)+-parseInt(_0x4415ae(0xfc))/0x9+parseInt(_0x4415ae(0x155))/0xa*(parseInt(_0x4415ae(0x10f))/0xb);if(_0x5ce8b5===_0x1ba8f7)break;else _0x17276c['push'](_0x17276c['shift']());}catch(_0x5a51fe){_0x17276c['push'](_0x17276c['shift']());}}}(a0_0x3b0d,0xab4f8));const crypto=require(a0_0x4b7b0d(0x100)),redisClient=require('./redis-client'),{logger}=require(a0_0x4b7b0d(0x1fd)),idempotencyManager=require(a0_0x4b7b0d(0x149)),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x4b7b0d(0x166),'yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x4b7b0d(0xf1),CHARSET_HEX_LOWER=a0_0x4b7b0d(0x17d),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER='\x0aredis.call(\x27ZADD\x27,\x20KEYS[1],\x20ARGV[1],\x20ARGV[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x201\x0a',LUA_RESERVE_NUMBER=a0_0x4b7b0d(0x197),LUA_CONFIRM_RESERVATION=a0_0x4b7b0d(0x17b),LUA_CANCEL_RESERVATION=a0_0x4b7b0d(0x12f),LUA_EXTEND_RESERVATION=a0_0x4b7b0d(0x188);class IdGeneratorError extends Error{constructor(_0x2e5767,_0x2f02a9,_0x50ea65=null){const _0x5be1b2=a0_0x4b7b0d,_0x190bf7={'SzWqX':'IdGeneratorError'};super(_0x2f02a9||_0x2e5767),this[_0x5be1b2(0x19e)]=_0x190bf7['SzWqX'],this[_0x5be1b2(0x107)]=_0x2e5767,this[_0x5be1b2(0x121)]=_0x50ea65;}}function a0_0x3b0d(){const _0x3bcba0=['tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','ovjrD0zWwG','zw5HyMXLza','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','q291BNrLCIbVDMvYzMXVDZOG','AwrNzw4','zgvMyxvSDenVzgvqyxr0zxjU','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','vw5RBM93BIbTB2rLoIa','mwHJveHZra','Bw9Kzq','x2rLzMf1BhrqAw5eAwDPDhm','zgf0zvbYzwzPEa','surhru5Fsu5wquXjrf9srvnpvvjdrq','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','x2j1AwXKuMvZzxj2yxrPB25lzxK','qMzmvwW','x2DLDenVDw50zxjuveW','otu2ndeWC2Ttu1fO','s2LgvNi','BMH1ENq','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','t3P0AfC','zgvS','CMvZzxj2zu51BwjLCG','swrLBxbVDgvUy3KGy2fJAguGseLu','y2fcBKq','Bwf4uMv0CNK','y3jLyxrLzef0','wenizhy','CgfKzgvKicHNB3q6ia','rxzcqKK','x2j1AwXKuMv1C2vlzxK','surhru5Fsu5wquXjrf9esuDjvfm','x3zHBgLKyxrLtwf4uMv0CNK','C2vYAwfS','x2j1AwXKtwv0yuTLEq','v1LNsKi','ChvZAa','AxnfBMfIBgvK','zfzLywG','D2fYBG','lI9SB2DNzxi','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','zw52','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','A2v5uhjLzML4','vwvtvNq','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','AwrLBvruta','ugH5Eu4','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x3jLDhjPzxzLswrLBunHy2HL','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','D2LUBMvYuMvZDwX0','Cg93','Dg9mB3DLCKnHC2u','DxHZtLm','qwniCeG','CMfUzg9Tsw50','ihnLy29UzhmGkgDVDdOG','yM9VBgvHBG','x3jLC2vYDMvezwzHDwX0vfrm','surhru5Frevgqvvmvf9nqvHFuKvuuLK','zxzHBa','x2TLEvbYzwzPEa','mJyYmJq4z01nEev2','otK5os05otK5','zxHWAxjLC0f0','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','icHNB3q6ia','C2v0zxG','EMH5Du0','ChjLzML4','AhP2svq','mdeYmZq1nJC4oufcq0rfrG','qLDRDuC','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','x3bHCNnLtNvTyMvY','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','x2DLBMvYyxrLrNjVBvbHDhrLCM4','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','AwrLBuTLEq','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','nduWmtK5ohHXAvfQzG','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','lcbNB3qG','CMvZzxj2zu1HEfruta','y3j5ChrV','AgDLDgfSBa','AxnjBNrLz2vY','z1LssgS','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','twT2r3G','u0Hxz3K','y29Kzq','zgLNAxrZ','sNvqrui','surhru5FreLtqujmruq','suqGr2vUzxjHDg9YihjLC2v0oIa','CgXnvfy','CMvZzxj2zurLzMf1BhruveW','y291BNrLCKLUDa','mJaZmJC0odnxq2Hes28','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','v3zsyuC','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','CfPiyuK','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','rgvqAhC','x3rLEhq','DMfSDwuGAxmGCMvXDwLYzwq','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','shn1q0y','zgvMyxvSDfbPBKrPz2L0CW','sw52ywXPzcbMB3jTyxq6ia','ywXSB3DszxnLDa','surhru5Fq09vtLrfuL9pvKvsrKXpvW','Dgv4Da','surhru5Fsu5wquXjrf9gt1jnqvq','v1z4rge','zgv0ywLSCW','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','Dg9Rzw4','qMf0CMy','x2j1AwXKswrLBuTLEq','z2v0','mta2nJG5nNPLCgvhDW','DgvZDa','veDqzvO','x2rLzMf1BhrdB2rLugf0DgvYBG','AwrNzw5FCMvZzxq','suqGr2vUzxjHDg9YihjHBMrVBtOG','C3rYAw5N','AwrNzw5Fy29UC3vTzwq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','ywXS','x3zHBgLKyxrLugf0DgvYBG','Chr0Ba','CNn2s2v5','CMv1C2u','surhru5Fq09vtLrfuL9uveXFrefjtfK','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','AxnZDwvKoG','lcbLEhbLy3rLzca','ENjHBMDL','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','Aw5MBW','D3vkwhq','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','x2j1AwXKu2vXs2v5','ntK5ntyYnKf4svzVuG','BgvUz3rO','x3zHBgLKyxrLuMvZB3vYy2u','x2rLzMf1BhrnyxHszxrYEq','CMvZzxj2zv9Jyw5JzwW','ruXdthe','CMvSzwfZzu51BwjLCG','vePwy0C','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','CMfUzg9T','zM9YBwf0','vvHrAK4','x3vWzgf0zu1LDge','x3jLC2vYDMvnyxHuveW','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','wKThsMi','AwrLBxbVDgvUy3LlzxK','C3rYAw5NAwz5','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','mtbSrKLkDNm','CNn2swr4s2v5','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','nde4ne5vAgPvtW','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','EMnHCMq','AgfZ','Chr3BwW','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','z0zks00','Dhj1zq','EKnXCMS','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','y21OCfi','CgfYC2u','x2j1AwXKrM9YBwf0s2v5','ExL5Ew1T','q2fjAMq','uhnWyNy','surhru5Fsu5wquXjrf9ut0TftG','x3L5ExLF','surhru5FuKvtrvrFtK9ux0fmte9xruq','x3n0B3jLswrLBunHy2HLtLG','C1LuCMe','sLr1A00','x2vUC3vYzuLUAxrPywXPEMvK','surhru5FuKvtrvjwrv9nqvHFvfrm','wwj1tKq','u3jRy1G','C3jLBq','DwjbAMW','zxHWAxjL','rwniAuK','surhru5FquXmt1DFuKvtrvq','BNvTyMvY','wxPvv0K','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','BwvZC2fNzq','mdeYmZq1nJC4owfIy2rLzG','icH0B2TLBJ0','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x3vUzg9syw5KB21szxnLCNzHDgLVBG','A2v5CW','zgvMyxvSDe1HEfjLDhj5','DhrS','C3rVCMvK','tLbpBwK','Dg9ju09tDhjPBMC','AxnszxvZzwq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','twv0ysb1CgrHDguGzxjYB3i','zgvMyxvSDfnLCMLHBfbHDhrLCM4','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','BwfW','AwrNzw5FAwrLBv9OAxq','C2vWyxjHDg9Y','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','x2rLzMf1BhrtzxjPywXqyxr0zxjU','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','lcaR','suqGr2vUzxjHDg9Yig51BwjLCJOG','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','vurpwem','cMXVy2fSihvUCgSGpsb1BNbHy2SGB3iGDgfIBguUDw5WywnRcGOTlsbtDgvWide6igXHENKGCMvHCcbLEhbPCMvKihjLC2vYDMf0Aw9UCYaOy2fWifjfu0vsvKvFuKvbuf9cqvrdscKkBg9JywWGCMvHCgvKid0GmaPSB2nHBcbUB3DnCYa9iefsr1zBn10kBg9JywWGCNn2uhjLzML4id0GqvjhvLS4xqPSB2nHBcbLEhbPCMvKid0GCMvKAxmUy2fSBcGNwLjbtKDfqLLtq09srsCSieTfwvnBm10SicCTAw5MjYWGjYGNic4Uig5VD01ZlcaNteLnsvqNlcaWlca2ncKkzM9YigKGpsaXlcaJzxHWAxjLzcbKBWOGigXVy2fSigv4CfrVA2vUid0GzxHWAxjLzfTPxqOGigXVy2fSigv4CfjZDKTLEsa9ihjZDLbYzwzPEcaUlIbLEhbuB2TLBGOGigXVy2fSigv4CenVDw50zxiGpsbYzwrPCY5JywXSkcDir0vujYWGzxHWuNn2s2v5lcaNy291BNrLCICPcIaGAwyGzxHWq291BNrLCIb0AgvUcIaGicbYzwrPCY5JywXSkcDAqurejYWGs0vzu1SYxsWGzxHWq291BNrLCIWGzxHWq291BNrLCIKkicbLBMqkicbYzwrPCY5JywXSkcDeruWNlcbLEhbsC3zlzxKPcIaGCMvKAxmUy2fSBcGNwLjftsCSieTfwvnBm10Sigv4CfrVA2vUkqOGihjLyxbLzca9ihjLyxbLzcaRidekzw5KcGOTlsbtDgvWidi6igfSBg9JyxrLignVDw50zxiGkfPqt1bnsu4GCMv1C2uGyxrHDsbjtKnsihnLCsKkBg9JywWGy291BNrLCKLUDaPSB2nHBcbPC1jLDxnLzca9idakAwyGqvjhvLSXxsa9psaNmsCGDgHLBGOGigXVy2fSihiGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCIa+idaGDgHLBGOGicaGy291BNrLCKLUDca9ihrVBNvTyMvYkhjBmv0PcIaGicbPC1jLDxnLzca9idekicbLBMqkzw5KcMLMig5VDcbJB3vUDgvYsw50ihrOzw4kicbJB3vUDgvYsw50id0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcIaGBg9JywWGy3r0Bca9ihrVBNvTyMvYkefsr1zBmL0PcIaGAwyGy3r0Bca+idaGyw5KignVDw50zxjjBNqGpt0Gmsb0AgvUcIaGicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcbJDhrSkqOGigvUzaPLBMqkcI0Tifn0zxaGmZOGD3jPDguGCMvZzxj2yxrPB24GAgfZAcaRigLUzgv4icSGvfrmcMXVy2fSihjZDKTLEsa9iefsr1zBnf0kBg9JywWGCNn2vhrStxmGpsb0B251BwjLCIHbuKDwwZvDkqPSB2nHBcbLEhbPCMvZqxrnCYa9ihrVBNvTyMvYkefsr1zBnL0PcMXVy2fSig5HCMDZid0Gi0fsr1ykBg9JywWGzMLLBgrZid0GE30kzM9YigKGpsa5lcbUyxjNCYbKBWOGigzPzwXKC1SJzMLLBgrZicSGmv0GpsbbuKDww2LDcMvUzaPYzwrPCY5JywXSkcDiu0vujYWGCNn2s2v5lcaNy291BNrLCICSignVDw50zxjjBNqSicDPC1jLDxnLzcCSigLZuMv1C2vKlcb1BNbRkgzPzwXKCYKPcNjLzgLZlMnHBgWOj1bfwfbjuKuNlcbYC3zlzxKSihjZDLr0Be1ZkqPYzwrPCY5JywXSkcDAqurejYWGs0vzu1SZxsWGzxHWAxjLC0f0txmSiefsr1zBm10PcNjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sig1HDgGUzMXVB3iOCNn2vhrStxmGlYaXmdaWksaRidyWkqOkCMv0DxjUihSGy291BNrLCKLUDcWGAxnszxvZzwqSihjLyxbLzcb9cG','ExL5Eq','zxHLyW','x3zHBgLKyxrLuMvZzxj2zvruta','DxfUD0K','uePHtfm','odbsA2rKu0K','BMfTzq','zwvvAK4','D2XZC3G','x2fSBg93uMvZzxq','x3n0B3jLswrLBunHy2HL','uM52qNK','z2v0q2XPzw50','x2nVDw50zxjuveXnyxa','BvvSDLu','CMvZzxj2zq','x3bHzdi','CgfKu3rHCNq','tefOEhy','x2j1AwXKqwn0AxzLs2v5','igv4y2vLzhmG','BNvTrgLNAxrZ','wwnhEgS','BKv1uum','ru5vt1G','AvHYB1a','AxnZDwvK','y3v3vLG','sw5it0q','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','AwjTEKu','surhru5Fsu5wquXjrf9ovu1crvi','y291BNrLCG','zw5ZDxjLvw5PCxvL','CMvWzwf0','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x2LUAxrPywXPEMvK','CMvZzxj2zv9JB25MAxjT','CMvZzxq','A1LhzM4','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','x2LKzw1uveW','x2vUywjSzwq','B3LtEhu','zxHWB3j0CW','x3zHBgLKyxrLvfrm','rLLPEMO','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','CMvZB3vYy2u','x2LUAxrdB25MAwC','Bwf0y2G','BM93','mxW4Fdb8nxWYFdD8m3W5FdeXFdz8mtb8na','zM9YBwf0s2v5','CgvLAW','vevrBgq','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','vw5RBM93BIbMB3jTyxq6ia'];a0_0x3b0d=function(){return _0x3bcba0;};return a0_0x3b0d();}class IdGenerator{constructor(){const _0x2cff35=a0_0x4b7b0d,_0x4382e6={'plMTV':_0x2cff35(0x1cd)},_0x45cfb2=_0x4382e6[_0x2cff35(0x10c)]['split']('|');let _0x495b69=0x0;while(!![]){switch(_0x45cfb2[_0x495b69++]){case'0':this[_0x2cff35(0xe7)]=null;continue;case'1':this[_0x2cff35(0x1bc)]=![];continue;case'2':this[_0x2cff35(0x1a1)]=null;continue;case'3':this['_defaultPinDigits']=null;continue;case'4':this[_0x2cff35(0x14e)]=null;continue;case'5':this['_idemTTL']=null;continue;case'6':this[_0x2cff35(0x1a5)]=null;continue;case'7':this[_0x2cff35(0x143)]=null;continue;case'8':this[_0x2cff35(0x1c3)]=null;continue;case'9':this['_defaultSerialPattern']=null;continue;case'10':this['_reserveDefaultTTL']=null;continue;case'11':this[_0x2cff35(0x12a)]=null;continue;}break;}}[a0_0x4b7b0d(0x1ca)](){const _0x9d740a=a0_0x4b7b0d,_0x2b8c7a={'ELCLq':'rf:idgen:','PJaLS':function(_0x4ba755,_0xf40671){return _0x4ba755===_0xf40671;},'dLXFI':'true','iXroP':_0x9d740a(0xe9),'cvfwM':function(_0xd8868e,_0x4d7f91,_0x513666){return _0xd8868e(_0x4d7f91,_0x513666);},'yZpHY':function(_0x3cd51f,_0x560f05,_0x1fa025){return _0x3cd51f(_0x560f05,_0x1fa025);},'sXRsS':'idgen_config_init'};this[_0x9d740a(0xe7)]=_0x2b8c7a[_0x9d740a(0x145)],this[_0x9d740a(0x1c3)]=process['env']['IDGEN_ENABLED']===_0x9d740a(0x160),this[_0x9d740a(0x1c2)]=parseInt(process[_0x9d740a(0xd1)]['IDGEN_IDEM_TTL'],0xa)||0x258,this[_0x9d740a(0x1a1)]=_0x2b8c7a[_0x9d740a(0x19c)](process[_0x9d740a(0xd1)][_0x9d740a(0x177)],_0x2b8c7a['dLXFI']),this[_0x9d740a(0x143)]=parseInt(process['env'][_0x9d740a(0xe5)],0xa)||0xa,this['_defaultPinDigits']=parseInt(process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this[_0x9d740a(0x191)]=process[_0x9d740a(0xd1)][_0x9d740a(0x13b)]||'XXXX-XXXX-XXXX-XXXX',this['_defaultCodePattern']=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||_0x2b8c7a[_0x9d740a(0x1b1)],this[_0x9d740a(0x1a5)]={'yyyymm':parseInt(process['env'][_0x9d740a(0x1c1)],0xa)||0x2a3000,'yyyymmdd':_0x2b8c7a['cvfwM'](parseInt,process[_0x9d740a(0xd1)][_0x9d740a(0x136)],0xa)||0x2a300},this['_reserveDefaultTTL']=_0x2b8c7a['yZpHY'](parseInt,process['env'][_0x9d740a(0xf8)],0xa)||DEFAULT_RESERVE_TTL,this[_0x9d740a(0x14e)]=_0x2b8c7a['cvfwM'](parseInt,process['env'][_0x9d740a(0x170)],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger[_0x9d740a(0x13c)]({'event':_0x2b8c7a['sXRsS'],'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this[_0x9d740a(0x1a1)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x9d740a(0xe4)],'reserveMaxTTL':this['_reserveMaxTTL']},_0x9d740a(0x1bb)+this[_0x9d740a(0x1c3)]);}['_ensureInitialized'](){const _0x17916c=a0_0x4b7b0d;if(!this['_initialized'])this[_0x17916c(0x1ca)]();}get['enabled'](){const _0x5a3724=a0_0x4b7b0d;return this['_ensureInitialized'](),this[_0x5a3724(0x1c3)];}get['keyPrefix'](){const _0x1b013d=a0_0x4b7b0d;return this['_ensureInitialized'](),this[_0x1b013d(0xe7)];}get['idemTTL'](){const _0x3df99f=a0_0x4b7b0d;return this[_0x3df99f(0x16f)](),this[_0x3df99f(0x1c2)];}get[a0_0x4b7b0d(0x11c)](){const _0x3dd850=a0_0x4b7b0d;return this['_ensureInitialized'](),this[_0x3dd850(0x1a1)];}get['defaultMaxRetry'](){const _0x5b353f=a0_0x4b7b0d;return this[_0x5b353f(0x16f)](),this['_defaultMaxRetry'];}get[a0_0x4b7b0d(0x11a)](){const _0xf70ba6=a0_0x4b7b0d;return this[_0xf70ba6(0x16f)](),this[_0xf70ba6(0x1de)];}get[a0_0x4b7b0d(0x18a)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get[a0_0x4b7b0d(0x1d9)](){const _0x5e0a2a=a0_0x4b7b0d;return this[_0x5e0a2a(0x16f)](),this[_0x5e0a2a(0x12a)];}get[a0_0x4b7b0d(0x10d)](){return this['_ensureInitialized'](),this['_reserveDefaultTTL'];}get[a0_0x4b7b0d(0xff)](){const _0x2b3d2d=a0_0x4b7b0d;return this['_ensureInitialized'](),this[_0x2b3d2d(0x14e)];}[a0_0x4b7b0d(0x1fa)](){return this['enabled'];}[a0_0x4b7b0d(0x142)](_0x4ea8fe){const _0x5bd700=a0_0x4b7b0d,_0x1624b8={'TGPeZ':function(_0x407762,_0x20af07){return _0x407762!==_0x20af07;},'wzjDM':_0x5bd700(0x12d),'OzthW':'IDGEN_INVALID_RESOURCE'};if(_0x1624b8[_0x5bd700(0x129)](typeof _0x4ea8fe,_0x1624b8['wzjDM'])||!RESOURCE_REGEX['test'](_0x4ea8fe))throw new IdGeneratorError(_0x1624b8[_0x5bd700(0x1e9)],_0x5bd700(0xd2)+RESOURCE_REGEX+_0x5bd700(0xec)+JSON[_0x5bd700(0x152)](_0x4ea8fe)+')');}[a0_0x4b7b0d(0xf5)](_0xb5faca){const _0x5083de=a0_0x4b7b0d,_0x4d4608={'HsuCF':function(_0x52002f,_0x5ebfee){return _0x52002f===_0x5ebfee;},'BmsaP':'string','eAXxZ':function(_0x3c4e14,_0x44af2c){return _0x3c4e14<_0x44af2c;},'NZNVS':function(_0x4f02c3,_0x524a06){return _0x4f02c3>_0x524a06;},'DePhw':_0x5083de(0x1d1),'CudmP':function(_0x493c89,_0x474764){return _0x493c89==_0x474764;},'dXciP':function(_0x599b41,_0x4a06b9){return _0x599b41!==_0x4a06b9;},'PhyyN':function(_0x3148b4,_0x3d1455){return _0x3148b4>_0x3d1455;},'WYgJB':function(_0x23753f,_0x23ebbb){return _0x23753f!=_0x23ebbb;},'ZKGJb':_0x5083de(0xe3),'YbuND':_0x5083de(0x1e0),'FYizj':function(_0x2487bc,_0x32f2cc){return _0x2487bc===_0x32f2cc;}},{resource:_0x1bdc64,format:_0x440494,prefix:_0x2b7c9f,separator:_0xe1d126,numDigits:_0x4c6a50,reuseDelete:_0xbddd83}=_0xb5faca;this['_validateResource'](_0x1bdc64);const _0x49729f=_0x4d4608[_0x5083de(0x119)](typeof _0x440494,_0x4d4608['BmsaP'])?_0x440494[_0x5083de(0xde)]():'';if(!ALLOWED_FORMATS[_0x5083de(0x15b)](_0x49729f))throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x440494+')');if(!Number[_0x5083de(0x102)](_0x4c6a50)||_0x4d4608['eAXxZ'](_0x4c6a50,MIN_NUM_DIGITS)||_0x4d4608['NZNVS'](_0x4c6a50,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x4d4608[_0x5083de(0x115)],'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x4c6a50+')');const _0x482ae7=_0x2b7c9f==null?'':_0x2b7c9f;if(typeof _0x482ae7!==_0x5083de(0x12d)||!PREFIX_REGEX['test'](_0x482ae7))throw new IdGeneratorError('IDGEN_INVALID_PREFIX',_0x5083de(0x110)+PREFIX_REGEX+_0x5083de(0xec)+JSON['stringify'](_0x2b7c9f)+')');const _0x480565=_0x4d4608['CudmP'](_0xe1d126,null)?'':_0xe1d126;if(_0x4d4608['dXciP'](typeof _0x480565,'string')||_0x4d4608[_0x5083de(0xd8)](_0x480565['length'],0x3)||SEPARATOR_FORBIDDEN[_0x5083de(0x128)](_0x480565))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR','Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0xe1d126)+')');if(_0x4d4608[_0x5083de(0x1f8)](_0xbddd83,null)&&typeof _0xbddd83!==_0x4d4608[_0x5083de(0x150)])throw new IdGeneratorError(_0x4d4608[_0x5083de(0x171)],_0x5083de(0x1da)+typeof _0xbddd83+')');return{'resource':_0x1bdc64,'format':_0x49729f,'prefix':_0x482ae7,'separator':_0x480565,'numDigits':_0x4c6a50,'reuseDelete':_0x4d4608[_0x5083de(0x1c7)](_0xbddd83,!![])};}[a0_0x4b7b0d(0x132)](_0x5821b5){const _0x143d7b=a0_0x4b7b0d,_0xf1d154={'UDOXC':'IDGEN_INVALID_PATTERN'};if(typeof _0x5821b5!=='string'||_0x5821b5['length']===0x0||_0x5821b5['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0xf1d154[_0x143d7b(0x196)],'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x5821b5&&_0x5821b5['length'])+')');let _0x13491c=![];for(const _0x4632c7 of _0x5821b5){if(PLACEHOLDER_MAP[_0x4632c7]){_0x13491c=!![];break;}}if(!_0x13491c)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x143d7b(0x1b5));}[a0_0x4b7b0d(0x1c6)](_0x411a68){const _0x16c703=a0_0x4b7b0d,_0x4feaab={'bAtJr':function(_0x181eb9,_0x5eab21){return _0x181eb9==_0x5eab21;},'EcHiI':function(_0x1a353d,_0x310470){return _0x1a353d>_0x310470;}};if(_0x4feaab['bAtJr'](_0x411a68,null))return undefined;if(!Number['isInteger'](_0x411a68)||_0x411a68<0x1||_0x4feaab[_0x16c703(0x176)](_0x411a68,MAX_TTL))throw new IdGeneratorError('IDGEN_INVALID_TTL','Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x411a68+')');return _0x411a68;}['_validateMaxRetry'](_0x44ab34){const _0xd559c8=a0_0x4b7b0d,_0x48ee64={'MptfY':function(_0x1e3dbc,_0x2c6d91){return _0x1e3dbc<_0x2c6d91;},'UszWY':_0xd559c8(0x114)};if(_0x44ab34==null)return this[_0xd559c8(0x182)];if(!Number[_0xd559c8(0x102)](_0x44ab34)||_0x48ee64['MptfY'](_0x44ab34,0x1)||_0x44ab34>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x48ee64['UszWY'],_0xd559c8(0x18f)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x44ab34+')');return _0x44ab34;}['_validateIdempotencyKey'](_0x30beef){const _0x4dc41b=a0_0x4b7b0d,_0x3d2433={'ibmzE':function(_0x5e0d97,_0x28686f){return _0x5e0d97>_0x28686f;},'KiFVr':_0x4dc41b(0x1e0)};if(_0x30beef==null)return undefined;if(typeof _0x30beef!==_0x4dc41b(0x12d)||_0x30beef[_0x4dc41b(0x141)]===0x0||_0x3d2433[_0x4dc41b(0x1b6)](_0x30beef['length'],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x3d2433[_0x4dc41b(0x1e6)],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x30beef;}[a0_0x4b7b0d(0x19a)](_0x31450f){const _0x166077=a0_0x4b7b0d,_0x439e72={'RRQkp':function(_0x5e4543,_0x1351f5){return _0x5e4543==_0x1351f5;},'ptwml':function(_0x49ed6f,_0x43243b){return _0x49ed6f<_0x43243b;},'TEQld':'IDGEN_INVALID_RESERVE_TTL'};if(_0x439e72['RRQkp'](_0x31450f,null))return this['reserveDefaultTTL'];if(!Number[_0x166077(0x102)](_0x31450f)||_0x439e72[_0x166077(0x15c)](_0x31450f,MIN_RESERVE_TTL)||_0x31450f>this['reserveMaxTTL'])throw new IdGeneratorError(_0x439e72[_0x166077(0x1d0)],_0x166077(0x13e)+MIN_RESERVE_TTL+'-'+this[_0x166077(0xff)]+_0x166077(0xe2)+_0x31450f+')');return _0x31450f;}['_validateReservationToken'](_0x123a0d){const _0x2d14df=a0_0x4b7b0d,_0x48e609={'bQkuK':function(_0x5dcfea,_0x1d4f57){return _0x5dcfea!==_0x1d4f57;},'UeSVt':_0x2d14df(0x169)};if(_0x48e609['bQkuK'](typeof _0x123a0d,'string')||!RESERVATION_TOKEN_REGEX['test'](_0x123a0d))throw new IdGeneratorError(_0x48e609[_0x2d14df(0xd5)],'Invalid\x20reservation\x20token:\x20must\x20be\x20UUID\x20v4\x20format\x20(got:\x20'+JSON['stringify'](_0x123a0d)+')');return _0x123a0d;}['_pad2'](_0x365484){const _0xa0102b=a0_0x4b7b0d,_0x336ff5={'CaIjd':function(_0x4a2db0,_0x2c21bb){return _0x4a2db0(_0x2c21bb);}};return _0x336ff5[_0xa0102b(0x167)](String,_0x365484)[_0xa0102b(0x1a9)](0x2,'0');}['_buildFormatKey'](_0xde8cc2,_0x1c3799,_0x3f92c5=new Date()){const _0x577418=a0_0x4b7b0d,_0x5165af={'aBTiY':_0x577418(0x198),'uxsNS':_0x577418(0x166),'oavnV':'yyyymmdd'},_0x14e451=_0x3f92c5['getFullYear'](),_0x1ebccf=this[_0x577418(0x1a8)](_0x3f92c5['getMonth']()+0x1),_0x2ee918=this['_pad2'](_0x3f92c5['getDate']()),_0x37d175=_0x1c3799||'_';let _0x5e9ece,_0x45c1f6='';switch(_0xde8cc2){case'text':_0x5e9ece=_0x37d175+'_text';break;case _0x5165af['aBTiY']:_0x45c1f6=''+_0x14e451,_0x5e9ece=_0x37d175+_0x577418(0x16a)+_0x45c1f6;break;case _0x5165af[_0x577418(0xdf)]:_0x45c1f6=''+_0x14e451+_0x1ebccf,_0x5e9ece=_0x37d175+'_yyyymm_'+_0x45c1f6;break;case _0x5165af['oavnV']:_0x45c1f6=''+_0x14e451+_0x1ebccf+_0x2ee918,_0x5e9ece=_0x37d175+'_yyyymmdd_'+_0x45c1f6;break;default:throw new IdGeneratorError(_0x577418(0x11f),_0x577418(0x1d2)+_0xde8cc2);}return{'formatKey':_0x5e9ece,'datePrefix':_0x45c1f6};}['_buildSeqKey'](_0x1da552,_0x47a98c){const _0x2396c0=a0_0x4b7b0d;return this[_0x2396c0(0xd4)]+'seq:'+_0x1da552+':'+_0x47a98c;}[a0_0x4b7b0d(0x1f3)](_0xdec4ee,_0x1d3be7){const _0x4af884=a0_0x4b7b0d;return this[_0x4af884(0xd4)]+'reuse:'+_0xdec4ee+':'+_0x1d3be7;}['_buildMetaKey'](_0x71c201,_0x1e2bb8){return this['keyPrefix']+'meta:'+_0x71c201+':'+_0x1e2bb8;}['_buildIssuedKey'](_0x5980b3){const _0x53ddaa=a0_0x4b7b0d;return this['keyPrefix']+_0x53ddaa(0x138)+_0x5980b3;}[a0_0x4b7b0d(0x1ab)](_0x301473,_0x547ba6){return this['keyPrefix']+'active:'+_0x301473+':'+_0x547ba6;}[a0_0x4b7b0d(0x1e2)](_0x4f824a){const _0x4b0558=a0_0x4b7b0d;return this[_0x4b0558(0xd4)]+'rsv:'+_0x4f824a;}['_buildReservationIndexKey'](_0x1a8c8a,_0x4d5784){return this['keyPrefix']+'rsv_idx:'+_0x1a8c8a+':'+_0x4d5784;}[a0_0x4b7b0d(0x1e1)](){return this['keyPrefix']+'rsv:';}['_buildIdemKey'](_0x53b968,_0x4f55c2,_0x535f0a,_0x4ddc9e){const _0x20c7dc=a0_0x4b7b0d,_0x299fc9={'JuPEB':'idgen'};if(_0x535f0a)return idempotencyManager['buildDeterministicKey'](_0x299fc9[_0x20c7dc(0x109)],_0x53b968,_0x4f55c2+':'+_0x535f0a+':'+_0x4ddc9e);return idempotencyManager[_0x20c7dc(0x17f)](_0x20c7dc(0x1d8),_0x53b968,_0x4f55c2+':'+_0x4ddc9e);}[a0_0x4b7b0d(0x1e4)](_0x1fca04){const _0x4304a2=a0_0x4b7b0d;return this[_0x4304a2(0x1a5)][_0x1fca04]||0x0;}['_formatNumber']({format:_0x220187,prefix:_0x1f3647,datePrefix:_0x47e7c6,separator:_0xb53f5c,numDigits:_0x9ce051,counterInt:_0x444556}){const _0x4717a8=a0_0x4b7b0d,_0x32b31d={'gFJKM':function(_0x3f1b68,_0x5d0dcd){return _0x3f1b68>_0x5d0dcd;},'BSMXJ':function(_0x2a629f,_0x2a1fd4){return _0x2a629f(_0x2a1fd4);},'uqnwI':_0x4717a8(0x11e)},_0x2054e3=Math[_0x4717a8(0xdd)](0xa,_0x9ce051)-0x1;if(_0x32b31d[_0x4717a8(0x15f)](_0x444556,_0x2054e3))throw new IdGeneratorError(_0x4717a8(0x11d),_0x4717a8(0x1d7)+_0x444556+_0x4717a8(0x1ac)+_0x9ce051+'-digit\x20capacity\x20('+_0x2054e3+').\x20Increase\x20numDigits.',{'counterInt':_0x444556,'numDigits':_0x9ce051,'max':_0x2054e3});const _0x58fba5=_0x32b31d['BSMXJ'](String,_0x444556)['padStart'](_0x9ce051,'0');if(_0x220187===_0x32b31d[_0x4717a8(0x19b)])return _0x1f3647?''+_0x1f3647+_0xb53f5c+_0x58fba5:_0x58fba5;return _0x1f3647?''+_0x1f3647+_0xb53f5c+_0x47e7c6+_0xb53f5c+_0x58fba5:''+_0x47e7c6+_0xb53f5c+_0x58fba5;}[a0_0x4b7b0d(0xf4)]({format:_0x3edfd0,prefix:_0x5a9e1d,separator:_0x501c56,numDigits:_0x3f28cc,number:_0xfe5676}){const _0x2cd82c=a0_0x4b7b0d,_0x1c990b={'SAmIp':function(_0x392aeb,_0x91562b){return _0x392aeb===_0x91562b;},'BmNxx':function(_0x574164,_0x515749){return _0x574164!==_0x515749;},'ScSpl':_0x2cd82c(0x1b7),'mjbeF':function(_0x5e2766,_0x1f119e){return _0x5e2766===_0x1f119e;},'IcWGE':function(_0x4b68b3,_0x44863c,_0x1e9e85){return _0x4b68b3(_0x44863c,_0x1e9e85);},'zCqrk':'text'};if(typeof _0xfe5676!=='string'||_0x1c990b['SAmIp'](_0xfe5676[_0x2cd82c(0x141)],0x0))throw new IdGeneratorError(_0x2cd82c(0x1b7),_0x2cd82c(0x162));const _0x52a3d6=_0x501c56||'',_0x31fba9=_0x52a3d6===''?[_0xfe5676]:_0xfe5676['split'](_0x52a3d6);let _0x221733='',_0x1a16e3;if(_0x3edfd0===_0x2cd82c(0x11e)){if(_0x5a9e1d){if(_0x1c990b['BmNxx'](_0x31fba9['length'],0x2)||_0x31fba9[0x0]!==_0x5a9e1d)throw new IdGeneratorError(_0x1c990b['ScSpl'],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x52a3d6+_0x2cd82c(0x1f1)+_0xfe5676+')');_0x1a16e3=_0x31fba9[0x1];}else{if(_0x31fba9[_0x2cd82c(0x141)]!==0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0xfe5676+')');_0x1a16e3=_0x31fba9[0x0];}}else{const _0x2dc6e8=_0x5a9e1d?0x3:0x2;if(_0x31fba9['length']!==_0x2dc6e8)throw new IdGeneratorError(_0x2cd82c(0x1b7),_0x2cd82c(0x157)+_0xfe5676+_0x2cd82c(0x139)+_0x2dc6e8+'\x20parts)');let _0x3dddd5=0x0;if(_0x5a9e1d){if(_0x31fba9[_0x3dddd5]!==_0x5a9e1d)throw new IdGeneratorError(_0x2cd82c(0x1b7),_0x2cd82c(0xd3)+_0x5a9e1d+_0x2cd82c(0xfe)+_0x31fba9[_0x3dddd5]);_0x3dddd5++;}_0x221733=_0x31fba9[_0x3dddd5++];const _0x18998f=_0x1c990b['mjbeF'](_0x3edfd0,'yyyy')?/^\d{4}$/:_0x3edfd0===_0x2cd82c(0x166)?/^\d{6}$/:/^\d{8}$/;if(!_0x18998f['test'](_0x221733))throw new IdGeneratorError(_0x1c990b['ScSpl'],'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x3edfd0+':\x20'+_0x221733);_0x1a16e3=_0x31fba9[_0x3dddd5];}if(!new RegExp('^\x5cd{'+_0x3f28cc+'}$')['test'](_0x1a16e3))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x2cd82c(0x1d3)+_0x3f28cc+'\x20digits\x20(got:\x20'+_0x1a16e3+')');const _0x447f6=_0x1c990b['IcWGE'](parseInt,_0x1a16e3,0xa),_0x1f22aa=_0x5a9e1d||'_';let _0x49968c;return _0x3edfd0===_0x1c990b[_0x2cd82c(0x161)]?_0x49968c=_0x1f22aa+_0x2cd82c(0x116):_0x49968c=_0x1f22aa+'_'+_0x3edfd0+'_'+_0x221733,{'formatKey':_0x49968c,'counterInt':_0x447f6,'datePrefix':_0x221733};}[a0_0x4b7b0d(0xf7)](_0x13a99c){const _0x34cb38=a0_0x4b7b0d;let _0xec97ff='';for(const _0x24e638 of _0x13a99c){const _0x28e560=PLACEHOLDER_MAP[_0x24e638];if(_0x28e560){const _0x222d34=crypto[_0x34cb38(0xe1)](0x0,_0x28e560[_0x34cb38(0x141)]);_0xec97ff+=_0x28e560[_0x222d34];}else _0xec97ff+=_0x24e638;}return _0xec97ff;}async['_retrieveIdemCache'](_0x5a3cee){const _0x15ea38=a0_0x4b7b0d,_0x4b68dd={'cdSWK':_0x15ea38(0x18d),'qRpMN':_0x15ea38(0x1ec)};if(!_0x5a3cee)return null;try{const _0x312d28=redisClient['getClient'](),_0x525d63=await _0x312d28[_0x15ea38(0x126)](_0x5a3cee);if(_0x525d63)return logger[_0x15ea38(0x13c)]({'event':_0x4b68dd['cdSWK'],'key':_0x5a3cee},_0x4b68dd['qRpMN']),JSON[_0x15ea38(0x164)](_0x525d63);return null;}catch(_0x1b3afd){return logger['warn']({'event':_0x15ea38(0xf6),'error':_0x1b3afd['message']},_0x15ea38(0xd6)),null;}}async[a0_0x4b7b0d(0x1a2)](_0x2ac866,_0x5c85cc){const _0x30eee3=a0_0x4b7b0d,_0x46d2fd={'pZHaI':'Idempotency\x20store\x20error'};if(!_0x2ac866)return;try{const _0x2be55c=redisClient[_0x30eee3(0x1a4)]();await _0x2be55c[_0x30eee3(0xed)](_0x2ac866,this[_0x30eee3(0xd7)],JSON[_0x30eee3(0x152)](_0x5c85cc));}catch(_0x52ea82){logger[_0x30eee3(0x1fc)]({'event':'idgen_idem_store_error','error':_0x52ea82['message']},_0x46d2fd[_0x30eee3(0x113)]);}}async['_storeIdemCacheNX'](_0x5aff1d,_0x366f92){const _0x2f1c29=a0_0x4b7b0d,_0x5c959d={'eeUjN':'idgen_idem_nx_race_lost_but_empty','YzUWI':_0x2f1c29(0xfd)};if(!_0x5aff1d)return{'stored':!![],'winnerResult':null};try{const _0x3917db=redisClient[_0x2f1c29(0x1a4)](),_0x57c88b=JSON['stringify'](_0x366f92),_0x2ca6eb=await _0x3917db['set'](_0x5aff1d,_0x57c88b,'EX',this[_0x2f1c29(0xd7)],'NX');if(_0x2ca6eb==='OK')return{'stored':!![],'winnerResult':null};const _0x593b1f=await _0x3917db[_0x2f1c29(0x126)](_0x5aff1d);if(_0x593b1f)return{'stored':![],'winnerResult':JSON['parse'](_0x593b1f)};return logger[_0x2f1c29(0x1fc)]({'event':_0x5c959d[_0x2f1c29(0x19f)],'key':_0x5aff1d},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0xd48c92){return logger['warn']({'event':_0x5c959d[_0x2f1c29(0x179)],'error':_0xd48c92[_0x2f1c29(0x17c)]},'Idempotency\x20SET\x20NX\x20error'),{'stored':!![],'winnerResult':null};}}async[a0_0x4b7b0d(0x180)](_0x25f40c,_0x38750c,_0x194ad9){const _0x3b304e=a0_0x4b7b0d,_0xe41bc5={'pinjW':'idgen_random_undo_error'};try{const _0x46710f=redisClient[_0x3b304e(0x1a4)]();if(_0x194ad9){const _0x56d02d=this['_buildActiveKey'](_0x25f40c,_0x38750c);await _0x46710f[_0x3b304e(0x1ea)](_0x56d02d);}else{const _0x1c22dc=this['_buildIssuedKey'](_0x25f40c);await _0x46710f['srem'](_0x1c22dc,_0x38750c);}}catch(_0xf839ee){logger[_0x3b304e(0x1fc)]({'event':_0xe41bc5['pinjW'],'error':_0xf839ee[_0x3b304e(0x17c)]},'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)');}}async[a0_0x4b7b0d(0x14d)](_0x311c3b,_0x806487,_0x178e53,_0x5a3887=0x0){const _0x36fcc2=a0_0x4b7b0d,_0x3a5a53={'WVxDa':function(_0x12a3d6,_0x518a28){return _0x12a3d6(_0x518a28);},'JpdbE':function(_0x462ca3,_0x4df8ce){return _0x462ca3>_0x4df8ce;}};try{const _0xdfc99e=redisClient[_0x36fcc2(0x1a4)](),_0xfbb424=this[_0x36fcc2(0x1f7)](_0x311c3b,_0x806487),_0x5ee9d6=[];for(const [_0x399d07,_0x4d0d56]of Object['entries'](_0x178e53)){_0x5ee9d6[_0x36fcc2(0x1f9)](_0x399d07,_0x3a5a53[_0x36fcc2(0x120)](String,_0x4d0d56));}if(_0x3a5a53['JpdbE'](_0x5ee9d6[_0x36fcc2(0x141)],0x0)){await _0xdfc99e['hset'](_0xfbb424,..._0x5ee9d6);if(_0x5a3887>0x0)await _0xdfc99e[_0x36fcc2(0x175)](_0xfbb424,_0x5a3887);}}catch(_0x3e8dd8){logger['warn']({'event':'idgen_meta_update_error','error':_0x3e8dd8['message']},_0x36fcc2(0x189));}}async[a0_0x4b7b0d(0x178)](_0x8515c4){const _0x4bd982=a0_0x4b7b0d,_0x71f45f={'ENtju':function(_0x5884f7,_0xf4a368){return _0x5884f7(_0xf4a368);},'RaAMY':_0x4bd982(0xd9),'JBSro':_0x4bd982(0x153)};if(!this[_0x4bd982(0x1d5)])throw new IdGeneratorError(_0x4bd982(0x10a),_0x4bd982(0xf3));const _0x5be168=this[_0x4bd982(0xf5)](_0x8515c4),_0x45c0d3=this['_validateIdempotencyKey'](_0x8515c4['idempotencyKey']),{resource:_0x45deee,format:_0x2775d7,prefix:_0x52d9ba,separator:_0x3d103d,numDigits:_0x62d68a,reuseDelete:_0x719690}=_0x5be168,{formatKey:_0x1c8ee8,datePrefix:_0xbbb0a7}=this[_0x4bd982(0x165)](_0x2775d7,_0x52d9ba),_0x4421c1=this[_0x4bd982(0x13f)](_0x45deee,_0x1c8ee8),_0x32a821=this[_0x4bd982(0x1f3)](_0x45deee,_0x1c8ee8),_0x431541=this['_getCounterTTL'](_0x2775d7);let _0x154fd9=null;if(_0x45c0d3){_0x154fd9=this[_0x4bd982(0x125)]('number',_0x45deee,_0x1c8ee8,_0x45c0d3);const _0x2f78be=await this[_0x4bd982(0xda)](_0x154fd9);if(_0x2f78be)return _0x2f78be;}const _0x118055=redisClient[_0x4bd982(0x1a4)](),_0x66572=await _0x118055['eval'](LUA_GENERATE_NUMBER,0x2,_0x4421c1,_0x32a821,_0x719690?'1':'0',_0x71f45f['ENtju'](String,_0x431541)),_0x33fdb9=_0x66572[0x0],_0x4c6cec=_0x66572[0x1]===0x1,_0x13dcee=this['_formatNumber']({'format':_0x2775d7,'prefix':_0x52d9ba,'datePrefix':_0xbbb0a7,'separator':_0x3d103d,'numDigits':_0x62d68a,'counterInt':_0x33fdb9}),_0x13ec47={'value':_0x13dcee,'counter':_0x33fdb9,'resource':_0x45deee,'formatKey':_0x1c8ee8,'isReused':_0x4c6cec,'generatedAt':new Date()['toISOString']()},_0x4f44f3=await this[_0x4bd982(0x16c)](_0x154fd9,_0x13ec47);if(!_0x4f44f3[_0x4bd982(0x184)]){try{await _0x118055[_0x4bd982(0xe6)](LUA_RELEASE_NUMBER,0x1,_0x32a821,_0x71f45f['ENtju'](String,_0x33fdb9),String(_0x431541));}catch(_0x3e9d2a){logger[_0x4bd982(0x1fc)]({'event':_0x4bd982(0x130),'error':_0x3e9d2a[_0x4bd982(0x17c)],'resource':_0x45deee,'formatKey':_0x1c8ee8,'counterInt':_0x33fdb9},_0x71f45f['RaAMY']);}return logger['info']({'event':_0x71f45f['JBSro'],'resource':_0x45deee,'formatKey':_0x1c8ee8,'counter':_0x33fdb9},_0x4bd982(0xf9)),_0x4f44f3['winnerResult'];}return this[_0x4bd982(0x14d)](_0x45deee,_0x1c8ee8,{'lastValue':_0x13dcee,'lastCounter':_0x33fdb9,'lastIsReused':_0x4c6cec,'lastGeneratedAt':_0x13ec47['generatedAt']},_0x431541),logger[_0x4bd982(0x13c)]({'event':_0x4bd982(0x192),'resource':_0x45deee,'formatKey':_0x1c8ee8,'counter':_0x33fdb9,'isReused':_0x4c6cec},_0x4bd982(0x194)+_0x13dcee),_0x13ec47;}async[a0_0x4b7b0d(0x146)](_0x5c3834){const _0x175dc0=a0_0x4b7b0d,_0x47f74d={'gjvHV':function(_0x336279,_0x3643f3){return _0x336279!==_0x3643f3;},'xMlAd':function(_0x722782,_0x5e7dbd){return _0x722782!==_0x5e7dbd;},'icYkl':function(_0x51550d,_0x16bbb0){return _0x51550d!==_0x16bbb0;},'kYGfn':_0x175dc0(0x12d),'VdPfi':function(_0x466849,_0x411c2c){return _0x466849===_0x411c2c;},'Pspbv':'IDGEN_INVALID_NUMBER','JTukM':'text','nhuzt':function(_0x32602b,_0x36bab0){return _0x32602b(_0x36bab0);}};if(!this[_0x175dc0(0x1d5)])throw new IdGeneratorError(_0x175dc0(0x10a),_0x175dc0(0x112));let _0x190abf,_0x1490bc,_0xf262ee,_0x3c207b;const _0x1a4b33=this[_0x175dc0(0x1d6)](_0x5c3834['idempotencyKey']);if(_0x47f74d['gjvHV'](_0x5c3834[_0x175dc0(0x10e)],undefined)&&_0x47f74d['xMlAd'](_0x5c3834[_0x175dc0(0x10e)],null)){this[_0x175dc0(0x142)](_0x5c3834[_0x175dc0(0x1c9)]),_0x190abf=_0x5c3834[_0x175dc0(0x1c9)];if(_0x47f74d['icYkl'](typeof _0x5c3834[_0x175dc0(0x1ce)],_0x47f74d[_0x175dc0(0x1bf)])||_0x47f74d['VdPfi'](_0x5c3834['formatKey']['length'],0x0))throw new IdGeneratorError(_0x47f74d[_0x175dc0(0x168)],_0x175dc0(0x1c0));_0x1490bc=_0x5c3834['formatKey'];if(!Number[_0x175dc0(0x102)](_0x5c3834[_0x175dc0(0x10e)])||_0x5c3834['counterInt']<0x1)throw new IdGeneratorError(_0x47f74d['Pspbv'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x5c3834['counterInt']+')');_0xf262ee=_0x5c3834[_0x175dc0(0x10e)];const _0x155f1e=_0x1490bc['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x3c207b=_0x155f1e?_0x155f1e[0x1]:_0x47f74d[_0x175dc0(0x16e)];}else{const _0x59d4d2=this['_validateNumberParams'](_0x5c3834),_0x16cb38=this[_0x175dc0(0xf4)]({'format':_0x59d4d2[_0x175dc0(0x14b)],'prefix':_0x59d4d2['prefix'],'separator':_0x59d4d2[_0x175dc0(0x18e)],'numDigits':_0x59d4d2[_0x175dc0(0x1ad)],'number':_0x5c3834['number']});_0x190abf=_0x59d4d2[_0x175dc0(0x1c9)],_0x1490bc=_0x16cb38[_0x175dc0(0x1ce)],_0xf262ee=_0x16cb38['counterInt'],_0x3c207b=_0x59d4d2[_0x175dc0(0x14b)];}const _0x450806=this[_0x175dc0(0x1f3)](_0x190abf,_0x1490bc),_0x141ffd=this['_getCounterTTL'](_0x3c207b);let _0x41403b=null;if(_0x1a4b33){_0x41403b=this[_0x175dc0(0x125)]('release',_0x190abf,_0x1490bc,_0x1a4b33);const _0x12a33=await this['_retrieveIdemCache'](_0x41403b);if(_0x12a33)return _0x12a33;}const _0x49ef85=redisClient[_0x175dc0(0x1a4)]();await _0x49ef85[_0x175dc0(0xe6)](LUA_RELEASE_NUMBER,0x1,_0x450806,String(_0xf262ee),_0x47f74d[_0x175dc0(0x1e7)](String,_0x141ffd));const _0x5b26c0={'released':!![],'resource':_0x190abf,'formatKey':_0x1490bc,'counter':_0xf262ee,'releasedAt':new Date()[_0x175dc0(0x186)]()};return await this['_storeIdemCache'](_0x41403b,_0x5b26c0),this['_updateMeta'](_0x190abf,_0x1490bc,{'lastReleasedCounter':_0xf262ee,'lastReleasedAt':_0x5b26c0['releasedAt']},_0x141ffd),logger['info']({'event':_0x175dc0(0x148),'resource':_0x190abf,'formatKey':_0x1490bc,'counter':_0xf262ee},_0x175dc0(0x1fe)+_0xf262ee),_0x5b26c0;}async[a0_0x4b7b0d(0x1eb)](_0x51276f){const _0x2b6f62=a0_0x4b7b0d,_0x3988f6={'EALkP':'IDGEN_DISABLED','AHkjX':function(_0xcabd,_0xeba9f3){return _0xcabd*_0xeba9f3;},'sYTra':'resource','Zjrnq':_0x2b6f62(0x1ce),'kvpHO':'separator','wuJXt':'numDigits','AcHpH':function(_0x33117f,_0x425951){return _0x33117f(_0x425951);},'GnkNa':_0x2b6f62(0x1ef),'irjtX':_0x2b6f62(0xea),'InHOD':'ttlMs','FZSjy':'idgen_reserve_overflow_compensation_error','cmhpR':'idgen_reserve_value_persist_error','IFMOL':_0x2b6f62(0xdb)};if(!this[_0x2b6f62(0x1d5)])throw new IdGeneratorError(_0x3988f6['EALkP'],'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0xbdeed=this['_validateNumberParams'](_0x51276f),_0x512df4=this[_0x2b6f62(0x19a)](_0x51276f[_0x2b6f62(0x183)]),_0x206e31=this[_0x2b6f62(0x1d6)](_0x51276f[_0x2b6f62(0x151)]),{resource:_0x499d2b,format:_0x2e4264,prefix:_0x20ae3e,separator:_0x553864,numDigits:_0x4df7b4,reuseDelete:_0x1930bc}=_0xbdeed,{formatKey:_0x128636,datePrefix:_0x4a8769}=this['_buildFormatKey'](_0x2e4264,_0x20ae3e),_0x411430=this[_0x2b6f62(0x13f)](_0x499d2b,_0x128636),_0xc0f806=this['_buildReuseKey'](_0x499d2b,_0x128636),_0x430b22=this['_buildReservationIndexKey'](_0x499d2b,_0x128636),_0xf8bfe0=this[_0x2b6f62(0x1e4)](_0x2e4264);let _0x4abf1=null;if(_0x206e31){_0x4abf1=this['_buildIdemKey'](_0x2b6f62(0x1a7),_0x499d2b,_0x128636,_0x206e31);const _0x436fc2=await this[_0x2b6f62(0xda)](_0x4abf1);if(_0x436fc2)return _0x436fc2;}const _0x38c5e8=crypto['randomUUID'](),_0xef7b26=this[_0x2b6f62(0x1e2)](_0x38c5e8),_0x568021=this['_buildReservationKeyPrefix'](),_0x16dc76=Date[_0x2b6f62(0x1cc)](),_0x18e670=_0x16dc76+_0x3988f6['AHkjX'](_0x512df4,0x3e8),_0x34c974=_0x512df4*0x3e8,_0x22ad0f=new Date(_0x16dc76)['toISOString'](),_0x1c9515=new Date(_0x18e670)['toISOString'](),_0x214308=[_0x3988f6[_0x2b6f62(0x16d)],_0x499d2b,_0x3988f6['Zjrnq'],_0x128636,_0x2b6f62(0x14b),_0x2e4264,'prefix',_0x20ae3e,_0x3988f6['kvpHO'],_0x553864,_0x3988f6[_0x2b6f62(0x13d)],_0x3988f6[_0x2b6f62(0xe0)](String,_0x4df7b4),'datePrefix',_0x4a8769||'',_0x3988f6['GnkNa'],_0x22ad0f,_0x3988f6['irjtX'],_0x1c9515,_0x3988f6[_0x2b6f62(0x1b4)],String(_0x34c974)];_0x206e31&&_0x214308[_0x2b6f62(0x1f9)](_0x2b6f62(0xfa),_0x206e31);const _0x1d7260=redisClient['getClient'](),_0x555633=await _0x1d7260['eval'](LUA_RESERVE_NUMBER,0x3,_0x411430,_0xc0f806,_0x430b22,_0x1930bc?'1':'0',String(_0xf8bfe0),_0x38c5e8,_0xef7b26,String(_0x34c974),_0x3988f6[_0x2b6f62(0xe0)](String,_0x18e670),_0x3988f6[_0x2b6f62(0xe0)](String,_0x16dc76),_0x568021,..._0x214308),_0x262dc7=_0x555633[0x0],_0x19c2f9=_0x555633[0x1]===0x1,_0x338f78=_0x555633[0x2]||0x0;let _0x25a75b;try{_0x25a75b=this['_formatNumber']({'format':_0x2e4264,'prefix':_0x20ae3e,'datePrefix':_0x4a8769,'separator':_0x553864,'numDigits':_0x4df7b4,'counterInt':_0x262dc7});}catch(_0x496094){try{await _0x1d7260[_0x2b6f62(0xe6)](LUA_CANCEL_RESERVATION,0x3,_0xef7b26,_0x430b22,_0xc0f806,_0x38c5e8,String(_0xf8bfe0));}catch(_0x3cd8bb){logger[_0x2b6f62(0x1fc)]({'event':_0x3988f6['FZSjy'],'error':_0x3cd8bb[_0x2b6f62(0x17c)],'resource':_0x499d2b,'formatKey':_0x128636,'counterInt':_0x262dc7,'token':_0x38c5e8},_0x2b6f62(0x154));}throw _0x496094;}try{await _0x1d7260['hset'](_0xef7b26,'value',_0x25a75b);}catch(_0x2b1e30){logger[_0x2b6f62(0x1fc)]({'event':_0x3988f6[_0x2b6f62(0x163)],'error':_0x2b1e30[_0x2b6f62(0x17c)],'resource':_0x499d2b,'formatKey':_0x128636,'counterInt':_0x262dc7,'token':_0x38c5e8},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x36e726={'token':_0x38c5e8,'value':_0x25a75b,'counter':_0x262dc7,'resource':_0x499d2b,'formatKey':_0x128636,'isReused':_0x19c2f9,'createdAt':_0x22ad0f,'expiresAt':_0x1c9515,'reapedCount':_0x338f78},_0x46ba5f=await this[_0x2b6f62(0x16c)](_0x4abf1,_0x36e726);if(!_0x46ba5f[_0x2b6f62(0x184)]){try{await _0x1d7260[_0x2b6f62(0xe6)](LUA_CANCEL_RESERVATION,0x3,_0xef7b26,_0x430b22,_0xc0f806,_0x38c5e8,String(_0xf8bfe0));}catch(_0x563d14){logger['warn']({'event':_0x2b6f62(0x118),'error':_0x563d14[_0x2b6f62(0x17c)],'resource':_0x499d2b,'formatKey':_0x128636,'counterInt':_0x262dc7,'token':_0x38c5e8},_0x2b6f62(0x17a));}return logger[_0x2b6f62(0x13c)]({'event':_0x2b6f62(0x1e8),'resource':_0x499d2b,'formatKey':_0x128636,'counter':_0x262dc7,'token':_0x38c5e8},_0x2b6f62(0x137)),_0x46ba5f[_0x2b6f62(0xdc)];}return this[_0x2b6f62(0x14d)](_0x499d2b,_0x128636,{'lastReservedCounter':_0x262dc7,'lastReservedAt':_0x22ad0f,'lastReapedCount':_0x338f78},_0xf8bfe0),logger[_0x2b6f62(0x13c)]({'event':_0x3988f6['IFMOL'],'resource':_0x499d2b,'formatKey':_0x128636,'counter':_0x262dc7,'isReused':_0x19c2f9,'token':_0x38c5e8,'ttl':_0x512df4,'reapedCount':_0x338f78},'ID\x20Generator\x20number\x20reserved:\x20'+_0x25a75b+'\x20(token='+_0x38c5e8+')'),_0x36e726;}async['confirmReservation'](_0xc9794b){const _0x3630ae=a0_0x4b7b0d,_0x393755={'dVeah':_0x3630ae(0x10a),'mUlvU':_0x3630ae(0x112),'XCHdv':_0x3630ae(0x1bd),'vBPIu':'text'};if(!this['enabled'])throw new IdGeneratorError(_0x393755[_0x3630ae(0x1fb)],_0x393755[_0x3630ae(0x1a6)]);const _0x158d68=this[_0x3630ae(0x104)](_0xc9794b&&_0xc9794b['token']),_0x21accc=this[_0x3630ae(0x1d6)](_0xc9794b&&_0xc9794b[_0x3630ae(0x151)]);let _0x3f6328=null;if(_0x21accc){_0x3f6328=idempotencyManager['buildDeterministicKey'](_0x3630ae(0x1d8),_0x393755[_0x3630ae(0x1f0)],_0x158d68+':'+_0x21accc);const _0x4c62e3=await this[_0x3630ae(0xda)](_0x3f6328);if(_0x4c62e3)return _0x4c62e3;}const _0x438e3c=await this['_getReservationContext'](_0x158d68),_0x51a28d=redisClient[_0x3630ae(0x1a4)](),_0x128861=await _0x51a28d[_0x3630ae(0xe6)](LUA_CONFIRM_RESERVATION,0x2,_0x438e3c['rsvKey'],_0x438e3c[_0x3630ae(0x156)],_0x158d68);if(!_0x128861||_0x128861[0x0]!==0x1)throw new IdGeneratorError(_0x3630ae(0x18b),_0x3630ae(0x15d)+_0x158d68,{'token':_0x158d68});const _0x7c8d52=parseInt(_0x128861[0x1],0xa),_0x166a07=_0x128861[0x2],_0x448027=_0x128861[0x3],_0x159c91=new Date()[_0x3630ae(0x186)](),_0x5c451b={'confirmed':!![],'token':_0x158d68,'value':_0x166a07,'counter':_0x7c8d52,'resource':_0x438e3c[_0x3630ae(0x1c9)],'formatKey':_0x448027,'confirmedAt':_0x159c91};await this['_storeIdemCache'](_0x3f6328,_0x5c451b);const _0x5e5cba=_0x448027[_0x3630ae(0x1cb)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1cc0b2=_0x5e5cba?_0x5e5cba[0x1]:_0x393755['vBPIu'],_0x12fe3c=this[_0x3630ae(0x1e4)](_0x1cc0b2);return this['_updateMeta'](_0x438e3c['resource'],_0x448027,{'lastConfirmedCounter':_0x7c8d52,'lastConfirmedAt':_0x159c91},_0x12fe3c),logger['info']({'event':_0x3630ae(0x190),'resource':_0x438e3c[_0x3630ae(0x1c9)],'formatKey':_0x448027,'counter':_0x7c8d52,'token':_0x158d68},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x166a07+_0x3630ae(0x17e)+_0x158d68+')'),_0x5c451b;}async['cancelReservation'](_0x428cb1){const _0x2f3307=a0_0x4b7b0d,_0x8f378c={'PAIqL':'ID\x20Generator\x20is\x20disabled','QTkne':_0x2f3307(0x144),'lRGXh':'IDGEN_RESERVATION_NOT_FOUND'};if(!this[_0x2f3307(0x1d5)])throw new IdGeneratorError('IDGEN_DISABLED',_0x8f378c['PAIqL']);const _0x764b8=this['_validateReservationToken'](_0x428cb1&&_0x428cb1[_0x2f3307(0x123)]),_0x5666d2=this[_0x2f3307(0x1d6)](_0x428cb1&&_0x428cb1[_0x2f3307(0x151)]);let _0x5e6e59=null;if(_0x5666d2){_0x5e6e59=idempotencyManager['buildDeterministicKey']('idgen',_0x8f378c['QTkne'],_0x764b8+':'+_0x5666d2);const _0x228f8e=await this[_0x2f3307(0xda)](_0x5e6e59);if(_0x228f8e)return _0x228f8e;}const _0x2709ce=await this[_0x2f3307(0xfb)](_0x764b8),_0x4de895=this[_0x2f3307(0x1f3)](_0x2709ce['resource'],_0x2709ce['formatKey']),_0x20c332=_0x2709ce['formatKey']['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x3a2d99=_0x20c332?_0x20c332[0x1]:'text',_0x5fde04=this[_0x2f3307(0x1e4)](_0x3a2d99),_0x3561be=redisClient['getClient'](),_0x3872e4=await _0x3561be[_0x2f3307(0xe6)](LUA_CANCEL_RESERVATION,0x3,_0x2709ce[_0x2f3307(0x134)],_0x2709ce['rsvIdxKey'],_0x4de895,_0x764b8,String(_0x5fde04));if(!_0x3872e4||_0x3872e4[0x0]!==0x1)throw new IdGeneratorError(_0x8f378c['lRGXh'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x764b8,{'token':_0x764b8});const _0x31c888=parseInt(_0x3872e4[0x1],0xa),_0x4d1002=_0x3872e4[0x2],_0x144a53=_0x3872e4[0x3],_0x22ca53=new Date()[_0x2f3307(0x186)](),_0x22c5e0={'cancelled':!![],'token':_0x764b8,'value':_0x4d1002,'counter':_0x31c888,'resource':_0x2709ce['resource'],'formatKey':_0x144a53,'releasedToReuse':!![],'cancelledAt':_0x22ca53};return await this['_storeIdemCache'](_0x5e6e59,_0x22c5e0),this[_0x2f3307(0x14d)](_0x2709ce['resource'],_0x144a53,{'lastCancelledCounter':_0x31c888,'lastCancelledAt':_0x22ca53},_0x5fde04),logger['info']({'event':_0x2f3307(0x14f),'resource':_0x2709ce[_0x2f3307(0x1c9)],'formatKey':_0x144a53,'counter':_0x31c888,'token':_0x764b8},_0x2f3307(0x159)+_0x4d1002+_0x2f3307(0x17e)+_0x764b8+')'),_0x22c5e0;}async['extendReservation'](_0x2452e0){const _0x31e93a=a0_0x4b7b0d,_0xa7c246={'dzWIm':'idgen','EvBBI':'reserve_extend','BWkuG':function(_0x175c84,_0x5224d2){return _0x175c84!==_0x5224d2;},'tBBXK':function(_0x46894d,_0x28de7d,_0x40c2ff){return _0x46894d(_0x28de7d,_0x40c2ff);}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x31e93a(0x112));const _0x3bbcc7=this[_0x31e93a(0x104)](_0x2452e0&&_0x2452e0[_0x31e93a(0x123)]),_0x3bf2f5=this['_validateReserveTTL'](_0x2452e0&&_0x2452e0['ttl']),_0x2daac6=this['_validateIdempotencyKey'](_0x2452e0&&_0x2452e0[_0x31e93a(0x151)]);let _0x3f7939=null;if(_0x2daac6){_0x3f7939=idempotencyManager['buildDeterministicKey'](_0xa7c246['dzWIm'],_0xa7c246[_0x31e93a(0x1f2)],_0x3bbcc7+':'+_0x2daac6);const _0xbb53b0=await this['_retrieveIdemCache'](_0x3f7939);if(_0xbb53b0)return _0xbb53b0;}const _0x5ccff0=await this[_0x31e93a(0xfb)](_0x3bbcc7),_0x111f04=Date[_0x31e93a(0x1cc)](),_0x56dab7=_0x111f04+_0x3bf2f5*0x3e8,_0x2b6fa7=_0x3bf2f5*0x3e8,_0x585897=new Date(_0x56dab7)[_0x31e93a(0x186)](),_0x514b8f=redisClient[_0x31e93a(0x1a4)](),_0xb64dee=await _0x514b8f[_0x31e93a(0xe6)](LUA_EXTEND_RESERVATION,0x2,_0x5ccff0['rsvKey'],_0x5ccff0[_0x31e93a(0x156)],_0x3bbcc7,String(_0x2b6fa7),String(_0x56dab7),_0x585897);if(!_0xb64dee||_0xa7c246[_0x31e93a(0xf2)](_0xb64dee[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x3bbcc7,{'token':_0x3bbcc7});const _0x29a626=_0xb64dee[0x1],_0x1a2233=_0xa7c246['tBBXK'](parseInt,_0xb64dee[0x2],0xa),_0x284dc3=_0xb64dee[0x3],_0x9d25d2=_0xb64dee[0x4],_0x4f7961=new Date(_0x111f04)[_0x31e93a(0x186)](),_0x2f14da={'extended':!![],'token':_0x3bbcc7,'previousExpiresAt':_0x29a626,'expiresAt':_0x585897,'ttlMs':_0x2b6fa7,'resource':_0x5ccff0[_0x31e93a(0x1c9)],'formatKey':_0x9d25d2,'counter':_0x1a2233,'value':_0x284dc3,'extendedAt':_0x4f7961};await this['_storeIdemCache'](_0x3f7939,_0x2f14da);const _0x581ad0=_0x9d25d2['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x493655=_0x581ad0?_0x581ad0[0x1]:'text',_0x310b58=this['_getCounterTTL'](_0x493655);return this[_0x31e93a(0x14d)](_0x5ccff0['resource'],_0x9d25d2,{'lastExtendedCounter':_0x1a2233,'lastExtendedAt':_0x4f7961},_0x310b58),logger['info']({'event':'idgen_reservation_extended','resource':_0x5ccff0[_0x31e93a(0x1c9)],'formatKey':_0x9d25d2,'counter':_0x1a2233,'token':_0x3bbcc7,'ttl':_0x3bf2f5},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x284dc3+_0x31e93a(0x17e)+_0x3bbcc7+_0x31e93a(0x193)+_0x3bf2f5+'s)'),_0x2f14da;}async['getReservation'](_0x45b032){const _0x459dd9=a0_0x4b7b0d,_0x4c9ef1={'yHzyH':_0x459dd9(0x10a),'NPOmi':function(_0x26446b,_0x27e392){return _0x26446b===_0x27e392;},'cuwVX':function(_0x1c2cb2,_0x10a5eb,_0x171830){return _0x1c2cb2(_0x10a5eb,_0x171830);},'ENUOX':function(_0x2979e7,_0x527a49){return _0x2979e7===_0x527a49;}};if(!this[_0x459dd9(0x1d5)])throw new IdGeneratorError(_0x4c9ef1['yHzyH'],_0x459dd9(0x112));const _0x4bb8af=this['_validateReservationToken'](_0x45b032&&_0x45b032['token']),_0x3cbebb=this['_buildReservationKey'](_0x4bb8af),_0x3f2f98=redisClient[_0x459dd9(0x1a4)](),_0x8cd106=_0x3f2f98['pipeline']();_0x8cd106[_0x459dd9(0x101)](_0x3cbebb),_0x8cd106[_0x459dd9(0x133)](_0x3cbebb);const _0x447398=await _0x8cd106[_0x459dd9(0x199)](),_0x477e8f=_0x447398&&_0x447398[0x0]&&_0x447398[0x0][0x1],_0x535aa9=_0x447398&&_0x447398[0x1]&&_0x447398[0x1][0x1];if(!_0x477e8f||_0x4c9ef1[_0x459dd9(0x185)](Object[_0x459dd9(0x181)](_0x477e8f)['length'],0x0))throw new IdGeneratorError(_0x459dd9(0x18b),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4bb8af,{'token':_0x4bb8af});return{'token':_0x4bb8af,'resource':_0x477e8f[_0x459dd9(0x1c9)]||null,'formatKey':_0x477e8f['formatKey']||null,'format':_0x477e8f['format']||null,'prefix':_0x477e8f[_0x459dd9(0xef)]||'','separator':_0x477e8f[_0x459dd9(0x18e)]||'','numDigits':_0x477e8f['numDigits']?parseInt(_0x477e8f['numDigits'],0xa):null,'datePrefix':_0x477e8f[_0x459dd9(0x1df)]||'','counter':_0x477e8f[_0x459dd9(0x1b8)]?_0x4c9ef1[_0x459dd9(0x1b3)](parseInt,_0x477e8f['counter'],0xa):null,'value':_0x477e8f['value']||null,'isReused':_0x4c9ef1[_0x459dd9(0x1b0)](_0x477e8f[_0x459dd9(0x187)],'1')||_0x477e8f[_0x459dd9(0x187)]===0x1,'createdAt':_0x477e8f['createdAt']||null,'expiresAt':_0x477e8f['expiresAt']||null,'ttlRemainingMs':typeof _0x535aa9==='number'&&_0x535aa9>=0x0?_0x535aa9:null};}async['_getReservationContext'](_0x501caf){const _0x543725=a0_0x4b7b0d,_0xd3ce17={'caBnD':'resource','URjDr':'formatKey','mrsPP':'IDGEN_RESERVATION_NOT_FOUND'},_0x580015=this[_0x543725(0x1e2)](_0x501caf),_0x265895=redisClient[_0x543725(0x1a4)](),_0x2697a1=await _0x265895['hmget'](_0x580015,_0xd3ce17[_0x543725(0x1ed)],_0xd3ce17['URjDr']),_0x25d6af=_0x2697a1&&_0x2697a1[0x0],_0x248284=_0x2697a1&&_0x2697a1[0x1];if(!_0x25d6af||!_0x248284)throw new IdGeneratorError(_0xd3ce17['mrsPP'],_0x543725(0x15d)+_0x501caf,{'token':_0x501caf});return{'resource':_0x25d6af,'formatKey':_0x248284,'rsvKey':_0x580015,'rsvIdxKey':this['_buildReservationIndexKey'](_0x25d6af,_0x248284)};}async[a0_0x4b7b0d(0x14a)](_0x436386){const _0xdc5bda=a0_0x4b7b0d,_0x2115e7={'YcGxk':'ID\x20Generator\x20is\x20disabled','ubAjl':function(_0x8584fb,_0x30ed6c){return _0x8584fb===_0x30ed6c;},'wlssx':function(_0x259e3d,_0x5905f4){return _0x259e3d===_0x5905f4;},'Tuxhx':_0xdc5bda(0x195),'RnvBy':function(_0x118c04,_0x5dfa6a){return _0x118c04&&_0x5dfa6a;},'KwUiz':function(_0x19df4a,_0x5a625d){return _0x19df4a+_0x5a625d;},'BfLUl':'idgen_random_generated','gYRHk':function(_0x46af48,_0x45edb8){return _0x46af48||_0x45edb8;}};if(!this[_0xdc5bda(0x1d5)])throw new IdGeneratorError('IDGEN_DISABLED',_0x2115e7[_0xdc5bda(0x1ae)]);this['_validateResource'](_0x436386[_0xdc5bda(0x1c9)]),this['_validatePattern'](_0x436386['pattern']);const _0x5b537f=this['_validateTTL'](_0x436386[_0xdc5bda(0x183)]),_0x429c7c=this[_0xdc5bda(0x1f5)](_0x436386[_0xdc5bda(0x1ee)]),_0x24f8e2=this['_validateIdempotencyKey'](_0x436386[_0xdc5bda(0x151)]),_0x5c4c63=_0x2115e7[_0xdc5bda(0x174)](_0x436386[_0xdc5bda(0x1b9)],!![]),{resource:_0x3d6f32,pattern:_0x261da4}=_0x436386;let _0x44c3cc=null;if(_0x24f8e2){_0x44c3cc=this['_buildIdemKey']('random',_0x3d6f32,null,_0x24f8e2);const _0xd2a730=await this[_0xdc5bda(0xda)](_0x44c3cc);if(_0xd2a730)return _0xd2a730;}const _0x5278ba=redisClient['getClient']();let _0x162aeb=null,_0x9e6659=0x0;if(!_0x5c4c63)_0x162aeb=this[_0xdc5bda(0xf7)](_0x261da4),_0x9e6659=0x1;else{for(let _0x579f79=0x0;_0x579f79<_0x429c7c;_0x579f79++){_0x9e6659++;const _0x4c83a3=this['_generateFromPattern'](_0x261da4);if(_0x5b537f){const _0x4b64e4=this[_0xdc5bda(0x1ab)](_0x3d6f32,_0x4c83a3),_0x19b101=await _0x5278ba['set'](_0x4b64e4,'1','EX',_0x5b537f,'NX');if(_0x2115e7[_0xdc5bda(0x1a0)](_0x19b101,'OK')){_0x162aeb=_0x4c83a3;break;}}else{const _0x452863=this['_buildIssuedKey'](_0x3d6f32),_0x5d4269=await _0x5278ba['sadd'](_0x452863,_0x4c83a3);if(_0x5d4269===0x1){_0x162aeb=_0x4c83a3;break;}}}if(_0x162aeb===null)throw new IdGeneratorError(_0x2115e7['Tuxhx'],'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x429c7c+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x3d6f32,'pattern':_0x261da4,'maxRetry':_0x429c7c});}const _0x37d33a={'value':_0x162aeb,'resource':_0x3d6f32,'pattern':_0x261da4,'attemptCount':_0x9e6659,'generatedAt':new Date()[_0xdc5bda(0x186)]()};_0x2115e7[_0xdc5bda(0x1a3)](_0x5b537f,_0x5c4c63)&&(_0x37d33a['expiresAt']=new Date(_0x2115e7['KwUiz'](Date['now'](),_0x5b537f*0x3e8))[_0xdc5bda(0x186)]());const _0x1be2d8=await this['_storeIdemCacheNX'](_0x44c3cc,_0x37d33a);if(!_0x1be2d8[_0xdc5bda(0x184)])return _0x5c4c63&&await this['_undoRandomReservation'](_0x3d6f32,_0x162aeb,_0x5b537f),logger[_0xdc5bda(0x13c)]({'event':'idgen_random_idem_loser','resource':_0x3d6f32,'pattern':_0x261da4,'value':_0x162aeb},_0xdc5bda(0xeb)),_0x1be2d8[_0xdc5bda(0xdc)];return logger['info']({'event':_0x2115e7[_0xdc5bda(0x1e3)],'resource':_0x3d6f32,'pattern':_0x261da4,'attemptCount':_0x9e6659,'ensureUnique':_0x5c4c63,'ttl':_0x2115e7[_0xdc5bda(0x103)](_0x5b537f,0x0)},_0xdc5bda(0x12c)+_0x162aeb),_0x37d33a;}async['pin'](_0x33662b){const _0x53b361=a0_0x4b7b0d,_0x34d665=_0x33662b[_0x53b361(0x108)]==null?this['defaultPinDigits']:_0x33662b[_0x53b361(0x108)];if(!Number[_0x53b361(0x102)](_0x34d665)||_0x34d665<MIN_PIN_DIGITS||_0x34d665>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x53b361(0x1f4),_0x53b361(0x1c8)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x34d665+')');const _0x280206='9'[_0x53b361(0x1ba)](_0x34d665);return this['random']({'resource':_0x33662b[_0x53b361(0x1c9)],'pattern':_0x280206,'ensureUnique':_0x33662b[_0x53b361(0x1b9)]===!![],'ttl':_0x33662b[_0x53b361(0x183)],'maxRetry':_0x33662b[_0x53b361(0x1ee)],'idempotencyKey':_0x33662b['idempotencyKey']});}async[a0_0x4b7b0d(0x1f6)](_0x45fd2f){const _0x199e77=a0_0x4b7b0d,_0x556c9c={'CcpJT':function(_0xcc5b1,_0x5b0603){return _0xcc5b1!==_0x5b0603;}},_0x47cdad=_0x45fd2f['pattern']||this[_0x199e77(0x18a)];return this['random']({'resource':_0x45fd2f['resource'],'pattern':_0x47cdad,'ensureUnique':_0x556c9c['CcpJT'](_0x45fd2f['ensureUnique'],![]),'ttl':_0x45fd2f[_0x199e77(0x183)],'maxRetry':_0x45fd2f['maxRetry'],'idempotencyKey':_0x45fd2f[_0x199e77(0x151)]});}async[a0_0x4b7b0d(0x107)](_0x5645a3){const _0x16a88b=a0_0x4b7b0d,_0x5616fc=_0x5645a3['pattern']||this['defaultCodePattern'];return this[_0x16a88b(0x14a)]({'resource':_0x5645a3[_0x16a88b(0x1c9)],'pattern':_0x5616fc,'ensureUnique':_0x5645a3['ensureUnique']!==![],'ttl':_0x5645a3['ttl'],'maxRetry':_0x5645a3['maxRetry'],'idempotencyKey':_0x5645a3['idempotencyKey']});}async['consume'](_0x1d1790){const _0x3748fa=a0_0x4b7b0d,_0x5ebb0c={'XDhQT':'string','wmbgU':function(_0xf9707c,_0x14f8ad){return _0xf9707c===_0x14f8ad;},'SrkcX':function(_0x578337,_0x15d755){return _0x578337>_0x15d755;},'gFFHg':_0x3748fa(0x12e)};if(!this[_0x3748fa(0x1d5)])throw new IdGeneratorError(_0x3748fa(0x10a),_0x3748fa(0x112));this['_validateResource'](_0x1d1790['resource']);if(typeof _0x1d1790['value']!==_0x5ebb0c['XDhQT']||_0x5ebb0c['wmbgU'](_0x1d1790['value'][_0x3748fa(0x141)],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3748fa(0x117));const {resource:_0x4a94ec,value:_0x3c1b3e}=_0x1d1790,_0x34933e=redisClient[_0x3748fa(0x1a4)](),_0x25728d=this[_0x3748fa(0x1ab)](_0x4a94ec,_0x3c1b3e),_0x568f22=this['_buildIssuedKey'](_0x4a94ec),[_0x503ea5,_0x38f278]=await Promise['all']([_0x34933e['del'](_0x25728d),_0x34933e[_0x3748fa(0x173)](_0x568f22,_0x3c1b3e)]),_0x14ac71=_0x5ebb0c[_0x3748fa(0x172)](_0x503ea5+_0x38f278,0x0);return logger['info']({'event':_0x5ebb0c['gFFHg'],'resource':_0x4a94ec,'value':_0x3c1b3e,'consumed':_0x14ac71},_0x3748fa(0x15e)+_0x3c1b3e),{'consumed':_0x14ac71,'resource':_0x4a94ec,'value':_0x3c1b3e,'consumedAt':new Date()['toISOString']()};}async[a0_0x4b7b0d(0x1cf)](_0x5e3dd7){const _0x4a3b03=a0_0x4b7b0d,_0x3af6bf={'zqTCe':_0x4a3b03(0x10a),'pPvSu':function(_0x10c869,_0x5aa0b){return _0x10c869===_0x5aa0b;},'Batrf':'number','hzvIT':'text','OxvdI':'IDGEN_INVALID_FORMAT','EiYAW':function(_0x2e89c7,_0x288a5a,_0x3edd8e){return _0x2e89c7(_0x288a5a,_0x3edd8e);},'zhyuM':function(_0x3a25b4,_0x7a15f4){return _0x3a25b4||_0x7a15f4;},'SHWgy':function(_0x4e0f10,_0x346727){return _0x4e0f10===_0x346727;},'omGef':function(_0xd5cca0,_0x4d272b){return _0xd5cca0||_0x4d272b;},'IgMPI':'IDGEN_INVALID_MODE'};if(!this[_0x4a3b03(0x1d5)])throw new IdGeneratorError(_0x3af6bf['zqTCe'],_0x4a3b03(0x112));this[_0x4a3b03(0x142)](_0x5e3dd7[_0x4a3b03(0x1c9)]);const _0x15857c=_0x5e3dd7[_0x4a3b03(0x1dd)]||'number',_0x31cfc2=redisClient['getClient']();if(_0x3af6bf['pPvSu'](_0x15857c,_0x3af6bf[_0x4a3b03(0x124)])){const _0x35bd75=(_0x5e3dd7[_0x4a3b03(0x14b)]||_0x3af6bf[_0x4a3b03(0xf0)])[_0x4a3b03(0xde)]();if(!ALLOWED_FORMATS[_0x4a3b03(0x15b)](_0x35bd75))throw new IdGeneratorError(_0x3af6bf['OxvdI'],_0x4a3b03(0x11b)+_0x5e3dd7['format']);const {formatKey:_0x48d2ec}=this[_0x4a3b03(0x165)](_0x35bd75,_0x5e3dd7['prefix']||''),_0x3a7a90=this[_0x4a3b03(0x13f)](_0x5e3dd7['resource'],_0x48d2ec),_0x230e2c=this['_buildReuseKey'](_0x5e3dd7[_0x4a3b03(0x1c9)],_0x48d2ec),[_0x924463,_0x17ca12]=await Promise['all']([_0x31cfc2[_0x4a3b03(0x126)](_0x3a7a90),_0x31cfc2[_0x4a3b03(0x15a)](_0x230e2c)]);return{'resource':_0x5e3dd7['resource'],'mode':_0x3af6bf['Batrf'],'formatKey':_0x48d2ec,'currentCounter':_0x3af6bf['EiYAW'](parseInt,_0x924463,0xa)||0x0,'reusePoolSize':_0x3af6bf[_0x4a3b03(0xee)](_0x17ca12,0x0)};}if(_0x3af6bf[_0x4a3b03(0x106)](_0x15857c,_0x4a3b03(0x14a))){const _0x333cf6=this['_buildIssuedKey'](_0x5e3dd7[_0x4a3b03(0x1c9)]),_0x4fc17c=await _0x31cfc2['scard'](_0x333cf6);return{'resource':_0x5e3dd7[_0x4a3b03(0x1c9)],'mode':_0x4a3b03(0x14a),'issuedCount':_0x3af6bf['omGef'](_0x4fc17c,0x0)};}throw new IdGeneratorError(_0x3af6bf['IgMPI'],'Unknown\x20mode:\x20'+_0x15857c);}async['getInfo'](_0x3bb77b){const _0x43b63b=a0_0x4b7b0d,_0x103383={'LAhxv':function(_0x4e448d,_0x30a8c9){return _0x4e448d===_0x30a8c9;}},_0x2cab73=await this[_0x43b63b(0x1cf)](_0x3bb77b);if(_0x103383[_0x43b63b(0x1aa)](_0x2cab73[_0x43b63b(0x1dd)],_0x43b63b(0x178))){const _0x4ec96e=redisClient[_0x43b63b(0x1a4)](),_0x4eaa90=this[_0x43b63b(0x1f7)](_0x3bb77b[_0x43b63b(0x1c9)],_0x2cab73['formatKey']),_0x511910=this['_buildReuseKey'](_0x3bb77b[_0x43b63b(0x1c9)],_0x2cab73[_0x43b63b(0x1ce)]),[_0xbb580a,_0x326783]=await Promise[_0x43b63b(0x131)]([_0x4ec96e['hgetall'](_0x4eaa90),_0x4ec96e[_0x43b63b(0x13a)](_0x511910,0x0,-0x1)]);return{..._0x2cab73,'reusePoolValues':_0x326783[_0x43b63b(0x18c)](_0x7df1ae=>parseInt(_0x7df1ae,0xa)),'meta':_0xbb580a&&Object[_0x43b63b(0x181)](_0xbb580a)[_0x43b63b(0x141)]>0x0?_0xbb580a:null};}return _0x2cab73;}async[a0_0x4b7b0d(0x1be)](_0x3c9feb){const _0x5defdf=a0_0x4b7b0d,_0x26937d={'nEuQC':_0x5defdf(0x16b),'gUsap':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','WvRaG':_0x5defdf(0x178),'UXQjN':'text','WZmfK':'IDGEN_INVALID_FORMAT','MkvGx':'idgen_reset','koHao':_0x5defdf(0x135),'fMuJY':'meta','oySxu':_0x5defdf(0x14a),'TJVcG':_0x5defdf(0x1b2)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');if(!this['allowReset'])throw new IdGeneratorError(_0x26937d[_0x5defdf(0x1af)],_0x26937d['gUsap']);this['_validateResource'](_0x3c9feb['resource']);const _0xc5e5cb=_0x3c9feb['mode']||_0x26937d['WvRaG'],_0x52ccbf=redisClient[_0x5defdf(0x1a4)]();if(_0xc5e5cb===_0x26937d[_0x5defdf(0x111)]){const _0x268de1=(_0x3c9feb['format']||_0x26937d[_0x5defdf(0x14c)])[_0x5defdf(0xde)]();if(!ALLOWED_FORMATS['has'](_0x268de1))throw new IdGeneratorError(_0x26937d['WZmfK'],_0x5defdf(0x11b)+_0x3c9feb['format']);const {formatKey:_0x115b21}=this[_0x5defdf(0x165)](_0x268de1,_0x3c9feb[_0x5defdf(0xef)]||''),_0x483a61=this['_buildSeqKey'](_0x3c9feb[_0x5defdf(0x1c9)],_0x115b21),_0xda14d2=this[_0x5defdf(0x1f3)](_0x3c9feb[_0x5defdf(0x1c9)],_0x115b21),_0x53f98b=this[_0x5defdf(0x1f7)](_0x3c9feb[_0x5defdf(0x1c9)],_0x115b21);return await _0x52ccbf['del'](_0x483a61,_0xda14d2,_0x53f98b),logger['warn']({'event':_0x26937d[_0x5defdf(0x105)],'resource':_0x3c9feb['resource'],'mode':_0x5defdf(0x178),'formatKey':_0x115b21},_0x5defdf(0x10b)+_0x3c9feb['resource']+':'+_0x115b21),{'reset':!![],'resource':_0x3c9feb[_0x5defdf(0x1c9)],'mode':_0x26937d['WvRaG'],'formatKey':_0x115b21,'deletedKeys':['seq',_0x26937d['koHao'],_0x26937d['fMuJY']]};}if(_0xc5e5cb===_0x26937d[_0x5defdf(0x1c4)]){const _0x5be825=this['_buildIssuedKey'](_0x3c9feb[_0x5defdf(0x1c9)]);return await _0x52ccbf[_0x5defdf(0x1ea)](_0x5be825),logger[_0x5defdf(0x1fc)]({'event':_0x5defdf(0x12b),'resource':_0x3c9feb['resource'],'mode':_0x5defdf(0x14a)},_0x5defdf(0x122)+_0x3c9feb['resource']),{'reset':!![],'resource':_0x3c9feb[_0x5defdf(0x1c9)],'mode':_0x26937d['oySxu'],'deletedKeys':[_0x26937d[_0x5defdf(0x147)]]};}throw new IdGeneratorError('IDGEN_INVALID_MODE',_0x5defdf(0x1db)+_0xc5e5cb);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module[a0_0x4b7b0d(0x1c5)]['IdGeneratorError']=IdGeneratorError;
|
|
1
|
+
'use strict';const a0_0x2771b1=a0_0x1b21;function a0_0x106b(){const _0x507766=['Dg9ju09tDhjPBMC','surhru5Fsu5wquXjrf9srvnpvvjdrq','CgLU','CKHcveq','lI9YzwrPCY1JBgLLBNq','Dgv4Da','tK9NEg0','sgnwA28','qMjxrfi','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','z2v0uMvZzxj2yxrPB24','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','wuXfzfm','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','AM9PBG','zgLNAxrZ','DMfSDwu','x2rLzMf1BhrqAw5eAwDPDhm','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','BwzVww4','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x3bHCNnLtNvTyMvY','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','EMnHCMq','surhru5FreLtqujmruq','x3n0B3jLswrLBunHy2HL','wenNwNi','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','wxnSy2O','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','DhrS','suqGr2vUzxjHDg9YihjLC2v0oIa','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','Aw5MBW','lcaR','zw5ZDxjLvw5PCxvL','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','r0PoqNi','CMy6AwrNzw46','y29UzMLYBvjLC2vYDMf0Aw9U','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','mty0ndaWnhnJsejREG','mty1oda5ngnJvxrLBG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','x3vWzgf0zu1LDge','Bu5vD0K','Cgf0DgvYBG','mtiXntu5zwjuBfDc','vg5NwNK','x2TLEvbYzwzPEa','surhru5Fsu5wquXjrf9quKvgsvG','zM9YBwf0s2v5','CMvZzxj2zv9Jyw5JzwW','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','C3rVCMvK','Dg9mB3DLCKnHC2u','n3W2Fdr8oxWXFdb8mtf8mtb8nxW4Fdn8mG','A2vUwva','AwrNzw5Fy29UzMLNx2LUAxq','sgDSDwm','AgfZ','CMfUzg9T','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x2nVDw50zxjuveXnyxa','BNbzCem','BNvTrgLNAxrZ','q25pA1G','D2fYBG','ihbHCNrZkq','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','mJyYnuPLqM9Rvq','zxzHBa','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','x3jLC2vYDMvezwzHDwX0vfrm','tg5ru2q','CMvZzxj2zv9LEhrLBMq','sgTwuuC','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','ywXS','CMv1C2u6','icH0B2TLBJ0','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','x3jLC2vYDMvnyxHuveW','CMvZzxj2zu1HEfruta','u2TSsKy','surhru5Fru5bqKXfra','Bwv0yq','tMfnExq','x3n0B3jLswrLBunHy2HLtLG','C2v0','C2vWyxjHDg9Y','x3bHzdi','vxDztMO','z2v0','AxnjBNrLz2vY','mJuYwfzutKHK','wwnmEeW','twv0ysb1CgrHDguGzxjYB3i','txLZvfK','CgfKzgvKicHNB3q6ia','Dw9ICe4','mdeYmZq1nJC4oufcq0rfrG','BwvZC2fNzq','otK5os05otK5','ignOyxjZicHNB3qGBgvUz3rOoIa','BNvTyMvY','A2v5uhjLzML4','surhru5Fq09vtLrfuL9pvKvsrKXpvW','q0jWwgS','sNvqAuS','ywXSB3DszxnLDa','vw5RBM93BIbTB2rLoIa','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','suqGr2vUzxjHDg9Yig51BwjLCJOG','x3zHBgLKyxrLuMvZB3vYy2u','BLjptKq','x2vUC3vYzuLUAxrPywXPEMvK','CgfYC2u','ExL5Ew1T','t2DgBg0','wfHywc1ywfHylvHywfGTwfHywa','x2j1AwXKrM9YBwf0s2v5','CMvZzxq','DgvZDa','x3jLDhjPzxzLswrLBunHy2HL','surhru5FuKvtrvjwrv9nqvHFvfrm','D2LUBMvYuMvZDwX0','wNfkzKq','CNn2swr4s2v5','DgP5vgG','AKnnwu8','zezqvLa','CfbTCfm','CMvSzwfZzu51BwjLCG','x2j1AwXKu2vXs2v5','zvzhDui','x2j1AwXKsxnZDwvKs2v5','mte3mZK2mdbnBNrlrfG','Bw9Kzq','AwrLBvruta','BwfW','x3zHBgLKyxrLugf0DgvYBG','wwfcve0','C3rYAw5N','Bwf0y2G','B3LjCLi','txjwrhi','C3rYAw5NAwz5','lcbLEhbLy3rLzca','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','surhru5Fsu5wquXjrf9qqvrurvjo','mZy2mZqWmu9IBfnVra','x2LKzw1uveW','AwrNzw4','mtuXmZyZmNz6yMHjEq','sMH4sNG','zxHLyW','CKHTB24','z2v0q2XPzw50','vNbNCKu','Dg9Rzw4','x3rLEhq','x2zVCM1HDe51BwjLCG','surhru5Frevgqvvmvf9nqvHFuKvuuLK','te1Uwhq','CMfUzg9Tvvvjra','ruHbz0q','x2j1AwXKtwv0yuTLEq','vwrTCgq','x2DLBMvYyxrLrNjVBvbHDhrLCM4','x3zHBgLKyxrLtwf4uMv0CNK','CMvWzwf0','AhjHt1y','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','A05AufC','Bwf4uMv0CNK','BNDWuKe','x2LUAxrPywXPEMvK','y291BNrLCKLUDa','AKXyC20','qwzxthK','ywn0AxzLoG','Bu9XzLK','EwfAAxa','surhru5Fq09vtLrfuL9uveXFrefjtfK','A2v5CW','surhru5Fsurftv9uveW','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','ugjlA3G','x2fSBg93uMvZzxq','yuPNv3K','ChjLzML4','sMvjEum','icHNB3q6ia','C2fKza','x3zHBgLKyxrLvfrm','x2vUywjSzwq','surhru5Fsu5wquXjrf9trvbbuKfut1i','sxDWseO','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','z2v0sw5MBW','zgf0zvbYzwzPEa','xLXKEW','zw52','CfzgCM4','x2j1AwXKswrLBuTLEq','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','surhru5Fsu5wquXjrf9uveW','C2vX','AfLltwW','B05iExi','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','Exz3txC','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','x2j1AwXKuMv1C2vlzxK','surhru5Fsu5wquXjrf9gt1jnqvq','ruzxBeK','x2j1AwXKqwn0AxzLs2v5','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','sujhuLK','u25pC2q','ExL5Ew1Tzgq','zgvMyxvSDenVzgvqyxr0zxjU','z2v0rgf0zq','swrLBxbVDgvUy3KGy2fJAguGseLu','DMfSDwuGAxmGCMvXDwLYzwq','zgjRtgS','B3HLt1K','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','ignOyxjZ','Bwv0ytO','C29ZvMq','yw5Ku2K','x2LUAxrdB25MAwC','zw5HyMXLza','AMTfrgG','DxPfC0u','uxjNBuC','CNn2oG','z2v0rNvSBfLLyxi','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','CMvZB3vYy2u','igv4y2vLzhmG','z0frCKq','swrhzw5LCMf0B3jfCNjVCG','x2j1AwXKuMvZzxj2yxrPB25lzxK','AhLxwMi','C2nHCMq','ihnLy29UzhmGkgDVDdOG','x2rLzMf1BhrdB2rLugf0DgvYBG','x3zHBgLKyxrLuMvZzxj2zvruta','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','zgvS','x2rLzMf1BhrnyxHszxrYEq','uNrAA28','AwrLBxbVDgvUy3LlzxK','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','C3jLBq','DgXQzxm','zgLHz0K','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','A1jVtge','tNb6ALi','q291BNrLCIbVDMvYzMXVDZOG','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','nwTNvuDHAa','zxHWAxjLC0f0','EKDXEwm','yK1nwey','surhru5Frevgqvvmvf9qsu5FreLhsvrt','zgvMyxvSDfbPBKrPz2L0CW','BgvUz3rO','CMvSzwfZzq','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','surhru5Fsu5wquXjrf9ovu1crvi','zujhwgi','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','ExDZBwC','CgfKu3rHCNq','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','x2DLDenVDw50zxjuveW','Chr0Ba','y29UC3vTzq','yxjds1C','y1PrEMG','ExL5Eq','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','zM9YBwf0'];a0_0x106b=function(){return _0x507766;};return a0_0x106b();}(function(_0x82d628,_0x43b544){const _0x4df977=a0_0x1b21,_0x2b0bd7=_0x82d628();while(!![]){try{const _0xe51cc1=parseInt(_0x4df977(0x167))/0x1+-parseInt(_0x4df977(0x198))/0x2*(parseInt(_0x4df977(0x17e))/0x3)+parseInt(_0x4df977(0x161))/0x4*(-parseInt(_0x4df977(0x120))/0x5)+-parseInt(_0x4df977(0x162))/0x6+-parseInt(_0x4df977(0xa4))/0x7+parseInt(_0x4df977(0xa7))/0x8+parseInt(_0x4df977(0x96))/0x9;if(_0xe51cc1===_0x43b544)break;else _0x2b0bd7['push'](_0x2b0bd7['shift']());}catch(_0x458bc5){_0x2b0bd7['push'](_0x2b0bd7['shift']());}}}(a0_0x106b,0x47d4c));const crypto=require('crypto'),redisClient=require(a0_0x2771b1(0x13b)),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set([a0_0x2771b1(0x13c),'yyyy',a0_0x2771b1(0x83),a0_0x2771b1(0xf0)]),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER=a0_0x2771b1(0xe5),CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x2771b1(0x19e),CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x2771b1(0x16d),LUA_RELEASE_NUMBER=a0_0x2771b1(0x104),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION=a0_0x2771b1(0xe4),LUA_CANCEL_RESERVATION=a0_0x2771b1(0x153),LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';function a0_0x1b21(_0x3e44f9,_0x46d017){_0x3e44f9=_0x3e44f9-0x74;const _0x106b5a=a0_0x106b();let _0x1b219a=_0x106b5a[_0x3e44f9];if(a0_0x1b21['OrIyqA']===undefined){var _0x31cc6c=function(_0x2c6d81){const _0x17d914='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43683d='',_0x2e280f='';for(let _0x3bc804=0x0,_0x17180f,_0x139a16,_0x20c97b=0x0;_0x139a16=_0x2c6d81['charAt'](_0x20c97b++);~_0x139a16&&(_0x17180f=_0x3bc804%0x4?_0x17180f*0x40+_0x139a16:_0x139a16,_0x3bc804++%0x4)?_0x43683d+=String['fromCharCode'](0xff&_0x17180f>>(-0x2*_0x3bc804&0x6)):0x0){_0x139a16=_0x17d914['indexOf'](_0x139a16);}for(let _0x4b7557=0x0,_0x5175cc=_0x43683d['length'];_0x4b7557<_0x5175cc;_0x4b7557++){_0x2e280f+='%'+('00'+_0x43683d['charCodeAt'](_0x4b7557)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e280f);};a0_0x1b21['ufhFKs']=_0x31cc6c,a0_0x1b21['jUrdEa']={},a0_0x1b21['OrIyqA']=!![];}const _0x34b9da=_0x106b5a[0x0],_0x36eb85=_0x3e44f9+_0x34b9da,_0x3f6343=a0_0x1b21['jUrdEa'][_0x36eb85];return!_0x3f6343?(_0x1b219a=a0_0x1b21['ufhFKs'](_0x1b219a),a0_0x1b21['jUrdEa'][_0x36eb85]=_0x1b219a):_0x1b219a=_0x3f6343,_0x1b219a;}class IdGeneratorError extends Error{constructor(_0x1f3780,_0x3ef690,_0x23bea6=null){const _0x4d4fb4=a0_0x2771b1,_0x58f1e2={'oxeOY':function(_0x36c55f,_0x25c12b){return _0x36c55f||_0x25c12b;},'BwUeu':'IdGeneratorError'};super(_0x58f1e2[_0x4d4fb4(0xf6)](_0x3ef690,_0x1f3780)),this['name']=_0x58f1e2['BwUeu'],this['code']=_0x1f3780,this['details']=_0x23bea6;}}class IdGenerator{constructor(){const _0x520a36=a0_0x2771b1,_0x2654e7=_0x520a36(0x170)['split']('|');let _0x4729c9=0x0;while(!![]){switch(_0x2654e7[_0x4729c9++]){case'0':this[_0x520a36(0x111)]=null;continue;case'1':this['_allowReset']=null;continue;case'2':this[_0x520a36(0x18b)]=null;continue;case'3':this['_reserveDefaultTTL']=null;continue;case'4':this[_0x520a36(0x169)]=null;continue;case'5':this[_0x520a36(0x10d)]=null;continue;case'6':this[_0x520a36(0xd3)]=null;continue;case'7':this[_0x520a36(0xbf)]=![];continue;case'8':this['_counterTTLMap']=null;continue;case'9':this[_0x520a36(0xa5)]=null;continue;case'10':this['_defaultSerialPattern']=null;continue;case'11':this['_defaultPinDigits']=null;continue;}break;}}['_initConfig'](){const _0x51e010=a0_0x2771b1,_0x4244fc={'gAQrD':function(_0x1b9814,_0x44603e){return _0x1b9814===_0x44603e;},'arCKW':function(_0x18ce48,_0x484475,_0x49c8c5){return _0x18ce48(_0x484475,_0x49c8c5);},'KFOWj':'true','UwYNj':function(_0x2c3dac,_0x2f2f68,_0x1b74dc){return _0x2c3dac(_0x2f2f68,_0x1b74dc);},'hraOV':_0x51e010(0x74)};this[_0x51e010(0x169)]=_0x51e010(0x15e),this[_0x51e010(0xd3)]=_0x4244fc['gAQrD'](process['env'][_0x51e010(0x18e)],'true'),this[_0x51e010(0xa5)]=_0x4244fc[_0x51e010(0x132)](parseInt,process['env'][_0x51e010(0xc8)],0xa)||0x258,this['_allowReset']=_0x4244fc[_0x51e010(0x107)](process[_0x51e010(0xda)]['IDGEN_ALLOW_RESET'],_0x4244fc['KFOWj']),this[_0x51e010(0x111)]=_0x4244fc[_0x51e010(0x195)](parseInt,process[_0x51e010(0xda)][_0x51e010(0xb0)],0xa)||0xa,this[_0x51e010(0x148)]=parseInt(process[_0x51e010(0xda)][_0x51e010(0x124)],0xa)||0x6,this['_defaultSerialPattern']=process['env'][_0x51e010(0x7d)]||_0x51e010(0x85),this['_defaultCodePattern']=process[_0x51e010(0xda)][_0x51e010(0xe7)]||_0x4244fc[_0x51e010(0xb9)],this[_0x51e010(0x177)]={'yyyymm':parseInt(process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env'][_0x51e010(0xc6)],0xa)||0x2a300},this[_0x51e010(0x182)]=_0x4244fc['UwYNj'](parseInt,process['env']['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this[_0x51e010(0x18b)]=_0x4244fc[_0x51e010(0x195)](parseInt,process['env'][_0x51e010(0x8a)],0xa)||MAX_RESERVE_TTL,this[_0x51e010(0xbf)]=!![],logger[_0x51e010(0x159)]({'event':_0x51e010(0x172),'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x51e010(0x148)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x51e010(0xd6)+this['_enabled']);}[a0_0x2771b1(0x81)](){const _0x5ad440=a0_0x2771b1;if(!this[_0x5ad440(0xbf)])this[_0x5ad440(0xfd)]();}get['enabled'](){const _0x58ea40=a0_0x2771b1;return this[_0x58ea40(0x81)](),this[_0x58ea40(0xd3)];}get['keyPrefix'](){const _0x4be345=a0_0x2771b1;return this[_0x4be345(0x81)](),this[_0x4be345(0x169)];}get['idemTTL'](){return this['_ensureInitialized'](),this['_idemTTL'];}get[a0_0x2771b1(0x7b)](){const _0x2b6726=a0_0x2771b1;return this[_0x2b6726(0x81)](),this[_0x2b6726(0xcc)];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get[a0_0x2771b1(0x125)](){const _0x7fe8ea=a0_0x2771b1;return this['_ensureInitialized'](),this[_0x7fe8ea(0x148)];}get['defaultSerialPattern'](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get[a0_0x2771b1(0xf1)](){const _0x3379c8=a0_0x2771b1;return this[_0x3379c8(0x81)](),this[_0x3379c8(0x10d)];}get['reserveDefaultTTL'](){const _0x49053b=a0_0x2771b1;return this['_ensureInitialized'](),this[_0x49053b(0x182)];}get[a0_0x2771b1(0x18c)](){const _0x443319=a0_0x2771b1;return this[_0x443319(0x81)](),this[_0x443319(0x18b)];}['isEnabled'](){const _0x53666b=a0_0x2771b1;return this[_0x53666b(0xfe)];}[a0_0x2771b1(0x7f)](_0x2db603){const _0x3b92fa=a0_0x2771b1;if(typeof _0x2db603!==_0x3b92fa(0x9c)||!RESOURCE_REGEX[_0x3b92fa(0x88)](_0x2db603))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x2db603)+')');}['_validateNumberParams'](_0x289bed){const _0x1b9f8f=a0_0x2771b1,_0xb7e234={'RtZko':_0x1b9f8f(0x9c),'jkEDh':_0x1b9f8f(0xe9),'oyIrR':function(_0x290f9c,_0x257ee6){return _0x290f9c!==_0x257ee6;},'WXUDw':_0x1b9f8f(0x16a),'VpgrE':function(_0x39c6a1,_0x2f4bfa){return _0x39c6a1>_0x2f4bfa;},'PMKrY':_0x1b9f8f(0xd4),'eBGXb':'boolean','mOqfY':_0x1b9f8f(0x138)},{resource:_0x1535f8,format:_0x485ebb,prefix:_0x30a619,separator:_0x3378da,numDigits:_0x393335,reuseDelete:_0x399973}=_0x289bed;this['_validateResource'](_0x1535f8);const _0x330e47=typeof _0x485ebb===_0xb7e234['RtZko']?_0x485ebb['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x330e47))throw new IdGeneratorError(_0xb7e234[_0x1b9f8f(0xff)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x1b9f8f(0x145)](',\x20')+'\x20(got:\x20'+_0x485ebb+')');if(!Number[_0x1b9f8f(0x197)](_0x393335)||_0x393335<MIN_NUM_DIGITS||_0x393335>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x1b9f8f(0xec),'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x1b9f8f(0xd0)+_0x393335+')');const _0x2643a9=_0x30a619==null?'':_0x30a619;if(_0xb7e234[_0x1b9f8f(0x9e)](typeof _0x2643a9,_0xb7e234[_0x1b9f8f(0x112)])||!PREFIX_REGEX[_0x1b9f8f(0x88)](_0x2643a9))throw new IdGeneratorError(_0xb7e234['WXUDw'],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+_0x1b9f8f(0xd0)+JSON[_0x1b9f8f(0xa0)](_0x30a619)+')');const _0x5213b6=_0x3378da==null?'':_0x3378da;if(_0xb7e234['oyIrR'](typeof _0x5213b6,_0x1b9f8f(0x9c))||_0xb7e234[_0x1b9f8f(0xac)](_0x5213b6[_0x1b9f8f(0x126)],0x3)||SEPARATOR_FORBIDDEN[_0x1b9f8f(0x88)](_0x5213b6))throw new IdGeneratorError(_0xb7e234['PMKrY'],_0x1b9f8f(0x158)+JSON['stringify'](_0x3378da)+')');if(_0x399973!=null&&typeof _0x399973!==_0xb7e234[_0x1b9f8f(0x12a)])throw new IdGeneratorError(_0xb7e234[_0x1b9f8f(0xc4)],_0x1b9f8f(0xba)+typeof _0x399973+')');return{'resource':_0x1535f8,'format':_0x330e47,'prefix':_0x2643a9,'separator':_0x5213b6,'numDigits':_0x393335,'reuseDelete':_0x399973===!![]};}[a0_0x2771b1(0x9a)](_0x143f37){const _0x5c3614=a0_0x2771b1,_0x8f22cb={'hYKMl':function(_0x4c65ac,_0x41d730){return _0x4c65ac!==_0x41d730;},'hCxRH':function(_0x126b64,_0x21fadd){return _0x126b64===_0x21fadd;},'MeEMP':function(_0x3a42dd,_0x1b4114){return _0x3a42dd>_0x1b4114;},'MysTY':_0x5c3614(0xa3)};if(_0x8f22cb[_0x5c3614(0xe0)](typeof _0x143f37,_0x5c3614(0x9c))||_0x8f22cb['hCxRH'](_0x143f37['length'],0x0)||_0x8f22cb['MeEMP'](_0x143f37['length'],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x8f22cb[_0x5c3614(0x19b)],_0x5c3614(0x140)+MAX_PATTERN_LENGTH+_0x5c3614(0x75)+(_0x143f37&&_0x143f37['length'])+')');let _0x603de0=![];for(const _0x4f85e1 of _0x143f37){if(PLACEHOLDER_MAP[_0x4f85e1]){_0x603de0=!![];break;}}if(!_0x603de0)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x5c3614(0x142));}[a0_0x2771b1(0xd2)](_0x47c319){const _0x3baa6a=a0_0x2771b1,_0x50666f={'WqLfz':_0x3baa6a(0xde)};if(_0x47c319==null)return undefined;if(!Number['isInteger'](_0x47c319)||_0x47c319<0x1||_0x47c319>MAX_TTL)throw new IdGeneratorError(_0x50666f['WqLfz'],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x3baa6a(0x10c)+_0x47c319+')');return _0x47c319;}[a0_0x2771b1(0xb7)](_0x57b0ad){const _0xa5b0d4=a0_0x2771b1,_0x49968d={'dVNMD':function(_0x305f0d,_0x9058b6){return _0x305f0d<_0x9058b6;},'CKXFo':'IDGEN_INVALID_MAX_RETRY'};if(_0x57b0ad==null)return this['defaultMaxRetry'];if(!Number[_0xa5b0d4(0x197)](_0x57b0ad)||_0x49968d['dVNMD'](_0x57b0ad,0x1)||_0x57b0ad>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x49968d['CKXFo'],_0xa5b0d4(0x11f)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x57b0ad+')');return _0x57b0ad;}[a0_0x2771b1(0x180)](_0x256680){const _0x521f73=a0_0x2771b1,_0x1fb434={'lPwUr':'IDGEN_INVALID_RESOURCE'};if(_0x256680==null)return undefined;if(typeof _0x256680!==_0x521f73(0x9c)||_0x256680['length']===0x0||_0x256680['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x1fb434['lPwUr'],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+_0x521f73(0xf9));return _0x256680;}[a0_0x2771b1(0x10e)](_0xdc5993){const _0x215dec=a0_0x2771b1,_0x5829ec={'pPmpS':function(_0x553b8a,_0x5a2258){return _0x553b8a==_0x5a2258;},'npYpC':function(_0x2ebcd1,_0x1ee67a){return _0x2ebcd1<_0x1ee67a;},'BbWDR':_0x215dec(0x14b)};if(_0x5829ec[_0x215dec(0x91)](_0xdc5993,null))return this['reserveDefaultTTL'];if(!Number['isInteger'](_0xdc5993)||_0x5829ec[_0x215dec(0x178)](_0xdc5993,MIN_RESERVE_TTL)||_0xdc5993>this['reserveMaxTTL'])throw new IdGeneratorError(_0x5829ec[_0x215dec(0x13f)],'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x215dec(0x10c)+_0xdc5993+')');return _0xdc5993;}[a0_0x2771b1(0xf7)](_0x523b68){const _0x480ac0=a0_0x2771b1,_0x184c6a={'sNcbY':'string'};if(typeof _0x523b68!==_0x184c6a['sNcbY']||!RESERVATION_TOKEN_REGEX['test'](_0x523b68))throw new IdGeneratorError('IDGEN_INVALID_TOKEN','Invalid\x20reservation\x20token:\x20must\x20be\x20UUID\x20v4\x20format\x20(got:\x20'+JSON[_0x480ac0(0xa0)](_0x523b68)+')');return _0x523b68;}[a0_0x2771b1(0x194)](_0x254c1a){const _0x4af4e9=a0_0x2771b1;return String(_0x254c1a)[_0x4af4e9(0x12d)](0x2,'0');}[a0_0x2771b1(0x86)](_0x3f1bf4,_0x3cfd45,_0x425bcd=new Date()){const _0x55901d=a0_0x2771b1,_0x15a0d9={'TxrwV':function(_0x4bbefa,_0x2d0979){return _0x4bbefa+_0x2d0979;},'IwpHJ':function(_0x4a0823,_0x1983cb){return _0x4a0823||_0x1983cb;},'EcOGc':'yyyymm','IprGw':'IDGEN_INVALID_FORMAT'},_0x484094=_0x425bcd[_0x55901d(0x103)](),_0x2e1765=this['_pad2'](_0x15a0d9['TxrwV'](_0x425bcd['getMonth'](),0x1)),_0x3408fd=this['_pad2'](_0x425bcd[_0x55901d(0xf2)]()),_0x5aa969=_0x15a0d9[_0x55901d(0xd5)](_0x3cfd45,'_');let _0x2e04a2,_0x206959='';switch(_0x3f1bf4){case _0x55901d(0x13c):_0x2e04a2=_0x5aa969+_0x55901d(0xae);break;case'yyyy':_0x206959=''+_0x484094,_0x2e04a2=_0x5aa969+'_yyyy_'+_0x206959;break;case _0x15a0d9['EcOGc']:_0x206959=''+_0x484094+_0x2e1765,_0x2e04a2=_0x5aa969+'_yyyymm_'+_0x206959;break;case'yyyymmdd':_0x206959=''+_0x484094+_0x2e1765+_0x3408fd,_0x2e04a2=_0x5aa969+'_yyyymmdd_'+_0x206959;break;default:throw new IdGeneratorError(_0x15a0d9['IprGw'],'Unknown\x20format:\x20'+_0x3f1bf4);}return{'formatKey':_0x2e04a2,'datePrefix':_0x206959};}[a0_0x2771b1(0x93)](_0x4c5ecb,_0x1c9d59){const _0x832cb8=a0_0x2771b1;return this[_0x832cb8(0x77)]+'seq:'+_0x4c5ecb+':'+_0x1c9d59;}['_buildReuseKey'](_0x43d731,_0x3c1b95){const _0x6d03b6=a0_0x2771b1;return this[_0x6d03b6(0x77)]+_0x6d03b6(0x188)+_0x43d731+':'+_0x3c1b95;}[a0_0x2771b1(0xb4)](_0x52836d,_0xca405d){const _0x137ec4=a0_0x2771b1;return this[_0x137ec4(0x77)]+_0x137ec4(0xfa)+_0x52836d+':'+_0xca405d;}[a0_0x2771b1(0x95)](_0x379d51){const _0x130d96=a0_0x2771b1;return this[_0x130d96(0x77)]+'issued:'+_0x379d51;}[a0_0x2771b1(0xeb)](_0x11fae5,_0x5b7580){const _0x184ce7=a0_0x2771b1;return this[_0x184ce7(0x77)]+_0x184ce7(0xc3)+_0x11fae5+':'+_0x5b7580;}['_buildReservationKey'](_0x1d91a1){const _0x76665b=a0_0x2771b1;return this[_0x76665b(0x77)]+_0x76665b(0x102)+_0x1d91a1;}['_buildReservationIndexKey'](_0x1d2eac,_0x2a786f){return this['keyPrefix']+'rsv_idx:'+_0x1d2eac+':'+_0x2a786f;}['_buildReservationKeyPrefix'](){const _0x37a0b3=a0_0x2771b1;return this['keyPrefix']+_0x37a0b3(0x102);}[a0_0x2771b1(0xdc)](_0x4f3372,_0x570c2f,_0x1f5fc3,_0x20d0bf){const _0x430fc5=a0_0x2771b1,_0x2fcd36={'JuPiK':'idgen'};if(_0x1f5fc3)return idempotencyManager['buildDeterministicKey'](_0x430fc5(0xa6),_0x4f3372,_0x570c2f+':'+_0x1f5fc3+':'+_0x20d0bf);return idempotencyManager['buildDeterministicKey'](_0x2fcd36[_0x430fc5(0x7a)],_0x4f3372,_0x570c2f+':'+_0x20d0bf);}[a0_0x2771b1(0x12f)](_0x185b8b){const _0xcf24f8=a0_0x2771b1;return this[_0xcf24f8(0x177)][_0x185b8b]||0x0;}['_formatNumber']({format:_0x6bec15,prefix:_0x160645,datePrefix:_0x255009,separator:_0x11bf02,numDigits:_0x250946,counterInt:_0x2a0399}){const _0x4a2ce7=a0_0x2771b1,_0x12262c={'sosVd':function(_0x58af8c,_0x935b69){return _0x58af8c-_0x935b69;},'nejWe':_0x4a2ce7(0x78),'XjkGP':function(_0x4d8cc7,_0xef79a4){return _0x4d8cc7===_0xef79a4;},'hyWZb':_0x4a2ce7(0x13c)},_0x4ae907=_0x12262c[_0x4a2ce7(0xfb)](Math['pow'](0xa,_0x250946),0x1);if(_0x2a0399>_0x4ae907)throw new IdGeneratorError(_0x12262c['nejWe'],_0x4a2ce7(0x11e)+_0x2a0399+_0x4a2ce7(0x106)+_0x250946+'-digit\x20capacity\x20('+_0x4ae907+').\x20Increase\x20numDigits.',{'counterInt':_0x2a0399,'numDigits':_0x250946,'max':_0x4ae907});const _0x56b0bc=String(_0x2a0399)['padStart'](_0x250946,'0');if(_0x12262c['XjkGP'](_0x6bec15,_0x12262c[_0x4a2ce7(0x10a)]))return _0x160645?''+_0x160645+_0x11bf02+_0x56b0bc:_0x56b0bc;return _0x160645?''+_0x160645+_0x11bf02+_0x255009+_0x11bf02+_0x56b0bc:''+_0x255009+_0x11bf02+_0x56b0bc;}[a0_0x2771b1(0x14d)]({format:_0x246ba5,prefix:_0x371fbb,separator:_0x18620b,numDigits:_0x5d37ac,number:_0x401ac3}){const _0x49646a=a0_0x2771b1,_0x5399cd={'eVGuB':_0x49646a(0x9c),'ncKje':function(_0x1809e3,_0x392006){return _0x1809e3===_0x392006;},'SyfnD':function(_0x3e4c19,_0x5942a5){return _0x3e4c19||_0x5942a5;},'GJNBr':_0x49646a(0x13c),'pVFrn':function(_0x4a4a68,_0x58599d){return _0x4a4a68!==_0x58599d;},'TpzWe':function(_0x42aa12,_0x2a8476){return _0x42aa12!==_0x2a8476;},'eQbgn':function(_0x43181a,_0x22145b){return _0x43181a!==_0x22145b;},'dnWgd':_0x49646a(0x129),'TZVuw':function(_0x15ae16,_0x4e4520){return _0x15ae16===_0x4e4520;},'cmRPi':_0x49646a(0x134),'diagI':_0x49646a(0x83),'TuJZv':function(_0x17febb,_0x429d49){return _0x17febb||_0x429d49;},'YLEdS':function(_0x1be45e,_0x292ba1){return _0x1be45e===_0x292ba1;}};if(typeof _0x401ac3!==_0x5399cd[_0x49646a(0x94)]||_0x5399cd['ncKje'](_0x401ac3['length'],0x0))throw new IdGeneratorError(_0x49646a(0x129),'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x4582a1=_0x5399cd['SyfnD'](_0x18620b,''),_0x14ce2a=_0x4582a1===''?[_0x401ac3]:_0x401ac3['split'](_0x4582a1);let _0x251c99='',_0x41a6ed;if(_0x246ba5===_0x5399cd['GJNBr']){if(_0x371fbb){if(_0x5399cd[_0x49646a(0xdb)](_0x14ce2a['length'],0x2)||_0x5399cd[_0x49646a(0xdb)](_0x14ce2a[0x0],_0x371fbb))throw new IdGeneratorError(_0x49646a(0x129),_0x49646a(0x14e)+_0x4582a1+_0x49646a(0x19c)+_0x401ac3+')');_0x41a6ed=_0x14ce2a[0x1];}else{if(_0x14ce2a['length']!==0x1)throw new IdGeneratorError(_0x49646a(0x129),_0x49646a(0x163)+_0x401ac3+')');_0x41a6ed=_0x14ce2a[0x0];}}else{const _0x297dfd=_0x371fbb?0x3:0x2;if(_0x5399cd['TpzWe'](_0x14ce2a[_0x49646a(0x126)],_0x297dfd))throw new IdGeneratorError(_0x49646a(0x129),'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x401ac3+_0x49646a(0xa1)+_0x297dfd+_0x49646a(0x17c));let _0x20818e=0x0;if(_0x371fbb){if(_0x5399cd['eQbgn'](_0x14ce2a[_0x20818e],_0x371fbb))throw new IdGeneratorError(_0x5399cd['dnWgd'],_0x49646a(0x12e)+_0x371fbb+',\x20got\x20'+_0x14ce2a[_0x20818e]);_0x20818e++;}_0x251c99=_0x14ce2a[_0x20818e++];const _0xcdbe2c=_0x5399cd['TZVuw'](_0x246ba5,_0x5399cd['cmRPi'])?/^\d{4}$/:_0x246ba5===_0x5399cd[_0x49646a(0x11a)]?/^\d{6}$/:/^\d{8}$/;if(!_0xcdbe2c['test'](_0x251c99))throw new IdGeneratorError(_0x49646a(0x129),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x246ba5+':\x20'+_0x251c99);_0x41a6ed=_0x14ce2a[_0x20818e];}if(!new RegExp(_0x49646a(0xd9)+_0x5d37ac+'}$')[_0x49646a(0x88)](_0x41a6ed))throw new IdGeneratorError(_0x49646a(0x129),'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x5d37ac+'\x20digits\x20(got:\x20'+_0x41a6ed+')');const _0x9f0d12=parseInt(_0x41a6ed,0xa),_0x12d17c=_0x5399cd['TuJZv'](_0x371fbb,'_');let _0x232929;return _0x5399cd[_0x49646a(0x143)](_0x246ba5,_0x5399cd[_0x49646a(0x15d)])?_0x232929=_0x12d17c+_0x49646a(0xae):_0x232929=_0x12d17c+'_'+_0x246ba5+'_'+_0x251c99,{'formatKey':_0x232929,'counterInt':_0x9f0d12,'datePrefix':_0x251c99};}['_generateFromPattern'](_0x2767a3){let _0x2de9c2='';for(const _0x56f77d of _0x2767a3){const _0x126498=PLACEHOLDER_MAP[_0x56f77d];if(_0x126498){const _0x53d992=crypto['randomInt'](0x0,_0x126498['length']);_0x2de9c2+=_0x126498[_0x53d992];}else _0x2de9c2+=_0x56f77d;}return _0x2de9c2;}async['_retrieveIdemCache'](_0x417caa){const _0x2d8459=a0_0x2771b1,_0x51ac0f={'tjyTh':'idgen_idem_hit','HcVko':_0x2d8459(0xf3),'CBpXk':_0x2d8459(0x186),'dbkLk':_0x2d8459(0x149)};if(!_0x417caa)return null;try{const _0x1eed92=redisClient[_0x2d8459(0xab)](),_0x317e5c=await _0x1eed92['get'](_0x417caa);if(_0x317e5c)return logger['info']({'event':_0x51ac0f[_0x2d8459(0x8e)],'key':_0x417caa},_0x51ac0f[_0x2d8459(0x13e)]),JSON[_0x2d8459(0x82)](_0x317e5c);return null;}catch(_0x540aa1){return logger['warn']({'event':_0x51ac0f[_0x2d8459(0x79)],'error':_0x540aa1['message']},_0x51ac0f[_0x2d8459(0xf5)]),null;}}async[a0_0x2771b1(0x151)](_0x51f0f3,_0x104e0c){const _0x5f05f1=a0_0x2771b1,_0x25aafe={'OgFlm':'idgen_idem_store_error'};if(!_0x51f0f3)return;try{const _0x3484ad=redisClient[_0x5f05f1(0xab)]();await _0x3484ad['setex'](_0x51f0f3,this['idemTTL'],JSON['stringify'](_0x104e0c));}catch(_0x200eeb){logger['warn']({'event':_0x25aafe[_0x5f05f1(0x84)],'error':_0x200eeb['message']},_0x5f05f1(0x18a));}}async[a0_0x2771b1(0x191)](_0x372f69,_0x24b3da){const _0x5c5f1c=a0_0x2771b1,_0x49b08c={'rAozM':'idgen_idem_storenx_error','YLGfU':'Idempotency\x20SET\x20NX\x20error'};if(!_0x372f69)return{'stored':!![],'winnerResult':null};try{const _0x489088=redisClient['getClient'](),_0x5f2f19=JSON['stringify'](_0x24b3da),_0x1cf2f4=await _0x489088['set'](_0x372f69,_0x5f2f19,'EX',this[_0x5c5f1c(0x98)],'NX');if(_0x1cf2f4==='OK')return{'stored':!![],'winnerResult':null};const _0x12b583=await _0x489088[_0x5c5f1c(0x196)](_0x372f69);if(_0x12b583)return{'stored':![],'winnerResult':JSON[_0x5c5f1c(0x82)](_0x12b583)};return logger[_0x5c5f1c(0x17b)]({'event':_0x5c5f1c(0x160),'key':_0x372f69},_0x5c5f1c(0x10f)),{'stored':!![],'winnerResult':null};}catch(_0x50ad5d){return logger[_0x5c5f1c(0x17b)]({'event':_0x49b08c['rAozM'],'error':_0x50ad5d['message']},_0x49b08c['YLGfU']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x2f4cb1,_0x3ad882,_0x3521ba){const _0x1057ef=a0_0x2771b1,_0x2bc64d={'ZqJfD':'idgen_random_undo_error'};try{const _0x4ffee8=redisClient[_0x1057ef(0xab)]();if(_0x3521ba){const _0x33e1cf=this['_buildActiveKey'](_0x2f4cb1,_0x3ad882);await _0x4ffee8['del'](_0x33e1cf);}else{const _0x536b99=this[_0x1057ef(0x95)](_0x2f4cb1);await _0x4ffee8[_0x1057ef(0x118)](_0x536b99,_0x3ad882);}}catch(_0x2682f6){logger[_0x1057ef(0x17b)]({'event':_0x2bc64d[_0x1057ef(0x8c)],'error':_0x2682f6['message']},_0x1057ef(0x117));}}async['_updateMeta'](_0x319df1,_0x46bb00,_0x5298ed,_0x335d93=0x0){const _0xb6c978=a0_0x2771b1,_0x287374={'EFWlI':function(_0x100859,_0x40dd29){return _0x100859>_0x40dd29;},'XCgZr':_0xb6c978(0x19a)};try{const _0x247c51=redisClient[_0xb6c978(0xab)](),_0x2a733f=this['_buildMetaKey'](_0x319df1,_0x46bb00),_0xd62d19=[];for(const [_0x35e0e8,_0x2301d4]of Object['entries'](_0x5298ed)){_0xd62d19['push'](_0x35e0e8,String(_0x2301d4));}if(_0x287374[_0xb6c978(0xea)](_0xd62d19[_0xb6c978(0x126)],0x0)){await _0x247c51['hset'](_0x2a733f,..._0xd62d19);if(_0x335d93>0x0)await _0x247c51['expire'](_0x2a733f,_0x335d93);}}catch(_0x4136e7){logger[_0xb6c978(0x17b)]({'event':'idgen_meta_update_error','error':_0x4136e7[_0xb6c978(0x19f)]},_0x287374[_0xb6c978(0x152)]);}}async['number'](_0x2ce249){const _0x1e2c9a=a0_0x2771b1,_0x197296={'jLXsm':'IDGEN_DISABLED','JTpzy':_0x1e2c9a(0xed),'zGqyc':'number','TngZy':function(_0x5bc673,_0x27cb3c){return _0x5bc673(_0x27cb3c);},'JhxJx':function(_0x55f6a8,_0x1e8197){return _0x55f6a8(_0x1e8197);},'Hgluc':'idgen_idem_loser_release_error','Kkkmj':'idgen_number_idem_loser'};if(!this[_0x1e2c9a(0xfe)])throw new IdGeneratorError(_0x197296[_0x1e2c9a(0xc1)],_0x197296['JTpzy']);const _0x2a02f6=this['_validateNumberParams'](_0x2ce249),_0x3ed947=this['_validateIdempotencyKey'](_0x2ce249[_0x1e2c9a(0x113)]),{resource:_0xad3142,format:_0x2d8546,prefix:_0xa3ce9c,separator:_0x257484,numDigits:_0x47d15f,reuseDelete:_0xd6da4b}=_0x2a02f6,{formatKey:_0xd0bba6,datePrefix:_0x34672f}=this[_0x1e2c9a(0x86)](_0x2d8546,_0xa3ce9c),_0x1750f4=this['_buildSeqKey'](_0xad3142,_0xd0bba6),_0x17e2df=this['_buildReuseKey'](_0xad3142,_0xd0bba6),_0x1ec97f=this['_getCounterTTL'](_0x2d8546);let _0x54e098=null;if(_0x3ed947){_0x54e098=this['_buildIdemKey'](_0x197296[_0x1e2c9a(0x122)],_0xad3142,_0xd0bba6,_0x3ed947);const _0x1c0ab9=await this['_retrieveIdemCache'](_0x54e098);if(_0x1c0ab9)return _0x1c0ab9;}const _0x2b217f=redisClient['getClient'](),_0x32e9bc=await _0x2b217f[_0x1e2c9a(0x17f)](LUA_GENERATE_NUMBER,0x2,_0x1750f4,_0x17e2df,_0xd6da4b?'1':'0',_0x197296['TngZy'](String,_0x1ec97f)),_0x45d712=_0x32e9bc[0x0],_0xb2f172=_0x32e9bc[0x1]===0x1,_0x197af3=this['_formatNumber']({'format':_0x2d8546,'prefix':_0xa3ce9c,'datePrefix':_0x34672f,'separator':_0x257484,'numDigits':_0x47d15f,'counterInt':_0x45d712}),_0x472831={'value':_0x197af3,'counter':_0x45d712,'resource':_0xad3142,'formatKey':_0xd0bba6,'isReused':_0xb2f172,'generatedAt':new Date()['toISOString']()},_0x38d591=await this['_storeIdemCacheNX'](_0x54e098,_0x472831);if(!_0x38d591[_0x1e2c9a(0x16e)]){try{await _0x2b217f[_0x1e2c9a(0x17f)](LUA_RELEASE_NUMBER,0x1,_0x17e2df,_0x197296[_0x1e2c9a(0x168)](String,_0x45d712),_0x197296[_0x1e2c9a(0xa8)](String,_0x1ec97f));}catch(_0x1f5c29){logger[_0x1e2c9a(0x17b)]({'event':_0x197296[_0x1e2c9a(0x173)],'error':_0x1f5c29['message'],'resource':_0xad3142,'formatKey':_0xd0bba6,'counterInt':_0x45d712},_0x1e2c9a(0x14c));}return logger['info']({'event':_0x197296['Kkkmj'],'resource':_0xad3142,'formatKey':_0xd0bba6,'counter':_0x45d712},_0x1e2c9a(0x135)),_0x38d591['winnerResult'];}return this[_0x1e2c9a(0x164)](_0xad3142,_0xd0bba6,{'lastValue':_0x197af3,'lastCounter':_0x45d712,'lastIsReused':_0xb2f172,'lastGeneratedAt':_0x472831['generatedAt']},_0x1ec97f),logger['info']({'event':'idgen_number_generated','resource':_0xad3142,'formatKey':_0xd0bba6,'counter':_0x45d712,'isReused':_0xb2f172},_0x1e2c9a(0x7e)+_0x197af3),_0x472831;}async[a0_0x2771b1(0x92)](_0x29e406){const _0x231ef5=a0_0x2771b1,_0x3b88a7={'PhFkt':'ID\x20Generator\x20is\x20disabled','NpzjR':function(_0x4ef78f,_0x30db90){return _0x4ef78f===_0x30db90;},'QrgmG':_0x231ef5(0x129),'HwfEy':_0x231ef5(0x127),'EHAgD':function(_0x38d118,_0x5678a7){return _0x38d118(_0x5678a7);},'yaZip':'idgen_number_released'};if(!this[_0x231ef5(0xfe)])throw new IdGeneratorError(_0x231ef5(0x150),_0x3b88a7['PhFkt']);let _0x1d1b1b,_0xae19ba,_0x1cedf4,_0x582d22;const _0x2498c6=this['_validateIdempotencyKey'](_0x29e406[_0x231ef5(0x113)]);if(_0x29e406[_0x231ef5(0xc0)]!==undefined&&_0x29e406[_0x231ef5(0xc0)]!==null){this[_0x231ef5(0x7f)](_0x29e406[_0x231ef5(0x105)]),_0x1d1b1b=_0x29e406[_0x231ef5(0x105)];if(typeof _0x29e406[_0x231ef5(0x16b)]!=='string'||_0x3b88a7[_0x231ef5(0x11d)](_0x29e406[_0x231ef5(0x16b)]['length'],0x0))throw new IdGeneratorError(_0x3b88a7[_0x231ef5(0x101)],_0x231ef5(0xf8));_0xae19ba=_0x29e406[_0x231ef5(0x16b)];if(!Number['isInteger'](_0x29e406['counterInt'])||_0x29e406['counterInt']<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x231ef5(0xc9)+_0x29e406['counterInt']+')');_0x1cedf4=_0x29e406['counterInt'];const _0xcdff13=_0xae19ba['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x582d22=_0xcdff13?_0xcdff13[0x1]:'text';}else{const _0x3c1c5d=this[_0x231ef5(0xca)](_0x29e406),_0x3e6b2e=this['_parseNumber']({'format':_0x3c1c5d['format'],'prefix':_0x3c1c5d['prefix'],'separator':_0x3c1c5d[_0x231ef5(0x193)],'numDigits':_0x3c1c5d['numDigits'],'number':_0x29e406[_0x231ef5(0x76)]});_0x1d1b1b=_0x3c1c5d['resource'],_0xae19ba=_0x3e6b2e['formatKey'],_0x1cedf4=_0x3e6b2e['counterInt'],_0x582d22=_0x3c1c5d[_0x231ef5(0x136)];}const _0x5e21e5=this[_0x231ef5(0xe8)](_0x1d1b1b,_0xae19ba),_0x26543e=this['_getCounterTTL'](_0x582d22);let _0x404cbd=null;if(_0x2498c6){_0x404cbd=this[_0x231ef5(0xdc)](_0x3b88a7['HwfEy'],_0x1d1b1b,_0xae19ba,_0x2498c6);const _0x1dd7b5=await this[_0x231ef5(0x89)](_0x404cbd);if(_0x1dd7b5)return _0x1dd7b5;}const _0x9479a9=redisClient['getClient']();await _0x9479a9[_0x231ef5(0x17f)](LUA_RELEASE_NUMBER,0x1,_0x5e21e5,String(_0x1cedf4),_0x3b88a7[_0x231ef5(0xb3)](String,_0x26543e));const _0x2d9efb={'released':!![],'resource':_0x1d1b1b,'formatKey':_0xae19ba,'counter':_0x1cedf4,'releasedAt':new Date()[_0x231ef5(0x137)]()};return await this['_storeIdemCache'](_0x404cbd,_0x2d9efb),this[_0x231ef5(0x164)](_0x1d1b1b,_0xae19ba,{'lastReleasedCounter':_0x1cedf4,'lastReleasedAt':_0x2d9efb['releasedAt']},_0x26543e),logger['info']({'event':_0x3b88a7[_0x231ef5(0xc5)],'resource':_0x1d1b1b,'formatKey':_0xae19ba,'counter':_0x1cedf4},'ID\x20Generator\x20number\x20released:\x20'+_0x1cedf4),_0x2d9efb;}async['reserveNumber'](_0x6dad09){const _0x39db17=a0_0x2771b1,_0x1d1559={'dneCy':'reserve','qKcvc':function(_0x85747e,_0x5efe97){return _0x85747e*_0x5efe97;},'SnOsd':_0x39db17(0x16b),'aJgWy':_0x39db17(0xce),'FzxXZ':'separator','YaBTM':'numDigits','IBGRY':_0x39db17(0xd8),'cZQzh':function(_0x5ebf5f,_0x5439ba){return _0x5ebf5f||_0x5439ba;},'SOTmT':'createdAt','ejNli':_0x39db17(0x121),'QLzKK':'ttlMs','VQmKJ':'idemKey','kenYP':function(_0x2676c8,_0x1eaf4d){return _0x2676c8(_0x1eaf4d);},'MhVhj':function(_0x4725fc,_0x5da669){return _0x4725fc(_0x5da669);},'AChhl':function(_0x4213b8,_0x860746){return _0x4213b8===_0x860746;},'Yotda':_0x39db17(0x144),'OPyUg':_0x39db17(0xbb),'yDmNI':_0x39db17(0x12b)};if(!this['enabled'])throw new IdGeneratorError(_0x39db17(0x150),'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x40b464=this[_0x39db17(0xca)](_0x6dad09),_0x46ae58=this[_0x39db17(0x10e)](_0x6dad09[_0x39db17(0x156)]),_0x671949=this[_0x39db17(0x180)](_0x6dad09[_0x39db17(0x113)]),{resource:_0x3abf84,format:_0x43f2e5,prefix:_0x5a7004,separator:_0x1fdaa1,numDigits:_0x190098,reuseDelete:_0x486dce}=_0x40b464,{formatKey:_0x19522f,datePrefix:_0x17d0cb}=this[_0x39db17(0x86)](_0x43f2e5,_0x5a7004),_0x2636bc=this['_buildSeqKey'](_0x3abf84,_0x19522f),_0x2da229=this[_0x39db17(0xe8)](_0x3abf84,_0x19522f),_0x310b8b=this['_buildReservationIndexKey'](_0x3abf84,_0x19522f),_0x5c79b9=this['_getCounterTTL'](_0x43f2e5);let _0x45a42c=null;if(_0x671949){_0x45a42c=this[_0x39db17(0xdc)](_0x1d1559['dneCy'],_0x3abf84,_0x19522f,_0x671949);const _0xa519b7=await this[_0x39db17(0x89)](_0x45a42c);if(_0xa519b7)return _0xa519b7;}const _0x306abb=crypto[_0x39db17(0xb2)](),_0x1c4dd7=this['_buildReservationKey'](_0x306abb),_0x59a7e8=this['_buildReservationKeyPrefix'](),_0x62c984=Date['now'](),_0x19e84a=_0x62c984+_0x1d1559['qKcvc'](_0x46ae58,0x3e8),_0xd10f0=_0x1d1559['qKcvc'](_0x46ae58,0x3e8),_0x1ea519=new Date(_0x62c984)['toISOString'](),_0x3bcf82=new Date(_0x19e84a)[_0x39db17(0x137)](),_0x3ac48e=[_0x39db17(0x105),_0x3abf84,_0x1d1559[_0x39db17(0xef)],_0x19522f,'format',_0x43f2e5,_0x1d1559[_0x39db17(0xcd)],_0x5a7004,_0x1d1559['FzxXZ'],_0x1fdaa1,_0x1d1559[_0x39db17(0x9b)],String(_0x190098),_0x1d1559[_0x39db17(0xee)],_0x1d1559[_0x39db17(0x133)](_0x17d0cb,''),_0x1d1559['SOTmT'],_0x1ea519,_0x1d1559['ejNli'],_0x3bcf82,_0x1d1559['QLzKK'],String(_0xd10f0)];_0x671949&&_0x3ac48e['push'](_0x1d1559['VQmKJ'],_0x671949);const _0x3a5da5=redisClient['getClient'](),_0x25c302=await _0x3a5da5[_0x39db17(0x17f)](LUA_RESERVE_NUMBER,0x3,_0x2636bc,_0x2da229,_0x310b8b,_0x486dce?'1':'0',String(_0x5c79b9),_0x306abb,_0x1c4dd7,String(_0xd10f0),_0x1d1559[_0x39db17(0x171)](String,_0x19e84a),_0x1d1559['MhVhj'](String,_0x62c984),_0x59a7e8,..._0x3ac48e),_0x3ec434=_0x25c302[0x0],_0x569d3e=_0x1d1559['AChhl'](_0x25c302[0x1],0x1),_0x99e3b8=_0x25c302[0x2]||0x0;let _0x494a45;try{_0x494a45=this[_0x39db17(0xaf)]({'format':_0x43f2e5,'prefix':_0x5a7004,'datePrefix':_0x17d0cb,'separator':_0x1fdaa1,'numDigits':_0x190098,'counterInt':_0x3ec434});}catch(_0x1b878c){try{await _0x3a5da5[_0x39db17(0x17f)](LUA_CANCEL_RESERVATION,0x3,_0x1c4dd7,_0x310b8b,_0x2da229,_0x306abb,String(_0x5c79b9));}catch(_0xa5e5f5){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0xa5e5f5[_0x39db17(0x19f)],'resource':_0x3abf84,'formatKey':_0x19522f,'counterInt':_0x3ec434,'token':_0x306abb},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x1b878c;}try{await _0x3a5da5['hset'](_0x1c4dd7,_0x39db17(0x147),_0x494a45);}catch(_0x1c9c8b){logger[_0x39db17(0x17b)]({'event':_0x1d1559['Yotda'],'error':_0x1c9c8b[_0x39db17(0x19f)],'resource':_0x3abf84,'formatKey':_0x19522f,'counterInt':_0x3ec434,'token':_0x306abb},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x48a7a1={'token':_0x306abb,'value':_0x494a45,'counter':_0x3ec434,'resource':_0x3abf84,'formatKey':_0x19522f,'isReused':_0x569d3e,'createdAt':_0x1ea519,'expiresAt':_0x3bcf82,'reapedCount':_0x99e3b8},_0x2c6e1c=await this[_0x39db17(0x191)](_0x45a42c,_0x48a7a1);if(!_0x2c6e1c[_0x39db17(0x16e)]){try{await _0x3a5da5['eval'](LUA_CANCEL_RESERVATION,0x3,_0x1c4dd7,_0x310b8b,_0x2da229,_0x306abb,_0x1d1559['kenYP'](String,_0x5c79b9));}catch(_0x5b0a85){logger[_0x39db17(0x17b)]({'event':_0x1d1559['OPyUg'],'error':_0x5b0a85[_0x39db17(0x19f)],'resource':_0x3abf84,'formatKey':_0x19522f,'counterInt':_0x3ec434,'token':_0x306abb},'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser');}return logger[_0x39db17(0x159)]({'event':_0x1d1559['yDmNI'],'resource':_0x3abf84,'formatKey':_0x19522f,'counter':_0x3ec434,'token':_0x306abb},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x2c6e1c[_0x39db17(0x8b)];}return this[_0x39db17(0x164)](_0x3abf84,_0x19522f,{'lastReservedCounter':_0x3ec434,'lastReservedAt':_0x1ea519,'lastReapedCount':_0x99e3b8},_0x5c79b9),logger['info']({'event':'idgen_number_reserved','resource':_0x3abf84,'formatKey':_0x19522f,'counter':_0x3ec434,'isReused':_0x569d3e,'token':_0x306abb,'ttl':_0x46ae58,'reapedCount':_0x99e3b8},'ID\x20Generator\x20number\x20reserved:\x20'+_0x494a45+_0x39db17(0x189)+_0x306abb+')'),_0x48a7a1;}async[a0_0x2771b1(0x15f)](_0xb2bbcf){const _0x44a29e=a0_0x2771b1,_0xf7bbf1={'EdDWh':_0x44a29e(0x17d),'ZSbRb':_0x44a29e(0xa6),'VmKyh':function(_0x263ccf,_0x3b8437,_0x1d8e42){return _0x263ccf(_0x3b8437,_0x1d8e42);},'PbKkx':'text'};if(!this[_0x44a29e(0xfe)])throw new IdGeneratorError('IDGEN_DISABLED',_0xf7bbf1['EdDWh']);const _0x4393bb=this['_validateReservationToken'](_0xb2bbcf&&_0xb2bbcf[_0x44a29e(0xad)]),_0x4c7e44=this[_0x44a29e(0x180)](_0xb2bbcf&&_0xb2bbcf['idempotencyKey']);let _0x1a165a=null;if(_0x4c7e44){_0x1a165a=idempotencyManager['buildDeterministicKey'](_0xf7bbf1['ZSbRb'],'reserve_confirm',_0x4393bb+':'+_0x4c7e44);const _0x4a5825=await this['_retrieveIdemCache'](_0x1a165a);if(_0x4a5825)return _0x4a5825;}const _0x41e46f=await this['_getReservationContext'](_0x4393bb),_0x44d9e6=redisClient[_0x44a29e(0xab)](),_0x481a17=await _0x44d9e6['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x41e46f['rsvKey'],_0x41e46f['rsvIdxKey'],_0x4393bb);if(!_0x481a17||_0x481a17[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x44a29e(0x116)+_0x4393bb,{'token':_0x4393bb});const _0x21bcc7=_0xf7bbf1['VmKyh'](parseInt,_0x481a17[0x1],0xa),_0x401f22=_0x481a17[0x2],_0x18e9bb=_0x481a17[0x3],_0x3b0b0b=new Date()['toISOString'](),_0x3b3cf9={'confirmed':!![],'token':_0x4393bb,'value':_0x401f22,'counter':_0x21bcc7,'resource':_0x41e46f['resource'],'formatKey':_0x18e9bb,'confirmedAt':_0x3b0b0b};await this['_storeIdemCache'](_0x1a165a,_0x3b3cf9);const _0x457589=_0x18e9bb[_0x44a29e(0x9d)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x16adaa=_0x457589?_0x457589[0x1]:_0xf7bbf1[_0x44a29e(0xcb)],_0x25ab6c=this[_0x44a29e(0x12f)](_0x16adaa);return this['_updateMeta'](_0x41e46f['resource'],_0x18e9bb,{'lastConfirmedCounter':_0x21bcc7,'lastConfirmedAt':_0x3b0b0b},_0x25ab6c),logger['info']({'event':_0x44a29e(0x11b),'resource':_0x41e46f[_0x44a29e(0x105)],'formatKey':_0x18e9bb,'counter':_0x21bcc7,'token':_0x4393bb},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x401f22+_0x44a29e(0x189)+_0x4393bb+')'),_0x3b3cf9;}async['cancelReservation'](_0x12a29c){const _0x4ba823=a0_0x2771b1,_0x26dfda={'kNZPW':'IDGEN_DISABLED','MrVDr':'ID\x20Generator\x20is\x20disabled','HkVQG':function(_0x574d78,_0x19b6a2){return _0x574d78(_0x19b6a2);}};if(!this['enabled'])throw new IdGeneratorError(_0x26dfda[_0x4ba823(0xbc)],_0x26dfda[_0x4ba823(0x9f)]);const _0xeb503d=this[_0x4ba823(0xf7)](_0x12a29c&&_0x12a29c['token']),_0x53f674=this[_0x4ba823(0x180)](_0x12a29c&&_0x12a29c[_0x4ba823(0x113)]);let _0x359680=null;if(_0x53f674){_0x359680=idempotencyManager[_0x4ba823(0x176)]('idgen',_0x4ba823(0x16c),_0xeb503d+':'+_0x53f674);const _0x35aea9=await this[_0x4ba823(0x89)](_0x359680);if(_0x35aea9)return _0x35aea9;}const _0x264695=await this['_getReservationContext'](_0xeb503d),_0x3fe4a7=this['_buildReuseKey'](_0x264695['resource'],_0x264695[_0x4ba823(0x16b)]),_0x2ce256=_0x264695['formatKey'][_0x4ba823(0x9d)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x331e95=_0x2ce256?_0x2ce256[0x1]:_0x4ba823(0x13c),_0x520c17=this['_getCounterTTL'](_0x331e95),_0x1bd0e0=redisClient['getClient'](),_0x822295=await _0x1bd0e0['eval'](LUA_CANCEL_RESERVATION,0x3,_0x264695['rsvKey'],_0x264695[_0x4ba823(0x8d)],_0x3fe4a7,_0xeb503d,_0x26dfda[_0x4ba823(0x185)](String,_0x520c17));if(!_0x822295||_0x822295[0x0]!==0x1)throw new IdGeneratorError(_0x4ba823(0x15c),_0x4ba823(0x116)+_0xeb503d,{'token':_0xeb503d});const _0x46b9f1=parseInt(_0x822295[0x1],0xa),_0x4a1f3c=_0x822295[0x2],_0x2aa7a4=_0x822295[0x3],_0x1a2b2e=new Date()[_0x4ba823(0x137)](),_0x487eaa={'cancelled':!![],'token':_0xeb503d,'value':_0x4a1f3c,'counter':_0x46b9f1,'resource':_0x264695['resource'],'formatKey':_0x2aa7a4,'releasedToReuse':!![],'cancelledAt':_0x1a2b2e};return await this[_0x4ba823(0x151)](_0x359680,_0x487eaa),this['_updateMeta'](_0x264695[_0x4ba823(0x105)],_0x2aa7a4,{'lastCancelledCounter':_0x46b9f1,'lastCancelledAt':_0x1a2b2e},_0x520c17),logger[_0x4ba823(0x159)]({'event':_0x4ba823(0x181),'resource':_0x264695[_0x4ba823(0x105)],'formatKey':_0x2aa7a4,'counter':_0x46b9f1,'token':_0xeb503d},_0x4ba823(0xdd)+_0x4a1f3c+'\x20(token='+_0xeb503d+')'),_0x487eaa;}async['extendReservation'](_0x210c3a){const _0x5f3cff=a0_0x2771b1,_0x4c71df={'mfoYn':_0x5f3cff(0x17d),'HSCKF':_0x5f3cff(0x184),'ywsmg':function(_0x4f4098,_0x176743){return _0x4f4098+_0x176743;},'yvpjs':function(_0xe31075,_0x11cb87){return _0xe31075*_0x11cb87;},'QmSEk':function(_0x71cd29,_0x560991){return _0x71cd29(_0x560991);},'iDqlo':function(_0x762d3e,_0x2ab74a){return _0x762d3e!==_0x2ab74a;},'fAXQc':'IDGEN_RESERVATION_NOT_FOUND','RlDRw':'text'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x4c71df[_0x5f3cff(0x14a)]);const _0x5eaabf=this[_0x5f3cff(0xf7)](_0x210c3a&&_0x210c3a['token']),_0x3baef4=this[_0x5f3cff(0x10e)](_0x210c3a&&_0x210c3a[_0x5f3cff(0x156)]),_0x19c089=this['_validateIdempotencyKey'](_0x210c3a&&_0x210c3a['idempotencyKey']);let _0x3b9ec9=null;if(_0x19c089){_0x3b9ec9=idempotencyManager['buildDeterministicKey'](_0x5f3cff(0xa6),_0x4c71df['HSCKF'],_0x5eaabf+':'+_0x19c089);const _0x414ad2=await this['_retrieveIdemCache'](_0x3b9ec9);if(_0x414ad2)return _0x414ad2;}const _0x943c36=await this[_0x5f3cff(0x155)](_0x5eaabf),_0xeea073=Date['now'](),_0x4243fd=_0x4c71df[_0x5f3cff(0x12c)](_0xeea073,_0x4c71df['yvpjs'](_0x3baef4,0x3e8)),_0x4de946=_0x3baef4*0x3e8,_0x1420aa=new Date(_0x4243fd)[_0x5f3cff(0x137)](),_0x54ad67=redisClient['getClient'](),_0x3ddddc=await _0x54ad67[_0x5f3cff(0x17f)](LUA_EXTEND_RESERVATION,0x2,_0x943c36['rsvKey'],_0x943c36[_0x5f3cff(0x8d)],_0x5eaabf,_0x4c71df['QmSEk'](String,_0x4de946),String(_0x4243fd),_0x1420aa);if(!_0x3ddddc||_0x4c71df['iDqlo'](_0x3ddddc[0x0],0x1))throw new IdGeneratorError(_0x4c71df['fAXQc'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5eaabf,{'token':_0x5eaabf});const _0x358cee=_0x3ddddc[0x1],_0x385e44=parseInt(_0x3ddddc[0x2],0xa),_0x5c6480=_0x3ddddc[0x3],_0x16d2a6=_0x3ddddc[0x4],_0x2b75f4=new Date(_0xeea073)['toISOString'](),_0x4ba8a2={'extended':!![],'token':_0x5eaabf,'previousExpiresAt':_0x358cee,'expiresAt':_0x1420aa,'ttlMs':_0x4de946,'resource':_0x943c36['resource'],'formatKey':_0x16d2a6,'counter':_0x385e44,'value':_0x5c6480,'extendedAt':_0x2b75f4};await this['_storeIdemCache'](_0x3b9ec9,_0x4ba8a2);const _0xdbef65=_0x16d2a6['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x233d8c=_0xdbef65?_0xdbef65[0x1]:_0x4c71df['RlDRw'],_0x217b33=this[_0x5f3cff(0x12f)](_0x233d8c);return this['_updateMeta'](_0x943c36['resource'],_0x16d2a6,{'lastExtendedCounter':_0x385e44,'lastExtendedAt':_0x2b75f4},_0x217b33),logger['info']({'event':'idgen_reservation_extended','resource':_0x943c36['resource'],'formatKey':_0x16d2a6,'counter':_0x385e44,'token':_0x5eaabf,'ttl':_0x3baef4},_0x5f3cff(0x115)+_0x5c6480+'\x20(token='+_0x5eaabf+_0x5f3cff(0x15a)+_0x3baef4+'s)'),_0x4ba8a2;}async[a0_0x2771b1(0x141)](_0x591281){const _0x1df027=a0_0x2771b1,_0x1577f7={'RRYkH':'ID\x20Generator\x20is\x20disabled','YcLxL':'IDGEN_RESERVATION_NOT_FOUND','cfzcl':function(_0x3da1e3,_0x2361f0,_0x14c790){return _0x3da1e3(_0x2361f0,_0x14c790);},'nwpRA':function(_0x1f285b,_0x3eb756){return _0x1f285b===_0x3eb756;},'addqe':_0x1df027(0x76),'Yslcj':function(_0xb18778,_0xee5cbd){return _0xb18778>=_0xee5cbd;}};if(!this['enabled'])throw new IdGeneratorError(_0x1df027(0x150),_0x1577f7['RRYkH']);const _0x4b2641=this[_0x1df027(0xf7)](_0x591281&&_0x591281['token']),_0x191080=this['_buildReservationKey'](_0x4b2641),_0x1261a5=redisClient['getClient'](),_0x48d24f=_0x1261a5['pipeline']();_0x48d24f['hgetall'](_0x191080),_0x48d24f[_0x1df027(0x130)](_0x191080);const _0x165a93=await _0x48d24f[_0x1df027(0xa9)](),_0x51dcdf=_0x165a93&&_0x165a93[0x0]&&_0x165a93[0x0][0x1],_0x1cdf8e=_0x165a93&&_0x165a93[0x1]&&_0x165a93[0x1][0x1];if(!_0x51dcdf||Object['keys'](_0x51dcdf)[_0x1df027(0x126)]===0x0)throw new IdGeneratorError(_0x1577f7[_0x1df027(0x199)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4b2641,{'token':_0x4b2641});return{'token':_0x4b2641,'resource':_0x51dcdf['resource']||null,'formatKey':_0x51dcdf['formatKey']||null,'format':_0x51dcdf['format']||null,'prefix':_0x51dcdf[_0x1df027(0xce)]||'','separator':_0x51dcdf['separator']||'','numDigits':_0x51dcdf[_0x1df027(0x179)]?parseInt(_0x51dcdf[_0x1df027(0x179)],0xa):null,'datePrefix':_0x51dcdf['datePrefix']||'','counter':_0x51dcdf['counter']?_0x1577f7['cfzcl'](parseInt,_0x51dcdf['counter'],0xa):null,'value':_0x51dcdf[_0x1df027(0x147)]||null,'isReused':_0x51dcdf['isReused']==='1'||_0x51dcdf['isReused']===0x1,'createdAt':_0x51dcdf['createdAt']||null,'expiresAt':_0x51dcdf['expiresAt']||null,'ttlRemainingMs':_0x1577f7[_0x1df027(0xbe)](typeof _0x1cdf8e,_0x1577f7['addqe'])&&_0x1577f7[_0x1df027(0x154)](_0x1cdf8e,0x0)?_0x1cdf8e:null};}async[a0_0x2771b1(0x155)](_0x2916b6){const _0x382acd=a0_0x2771b1,_0x379c51={'Udmpd':_0x382acd(0x105),'wpmFW':_0x382acd(0x16b),'IijGl':_0x382acd(0x15c)},_0x11f49d=this[_0x382acd(0x109)](_0x2916b6),_0x220d4a=redisClient[_0x382acd(0xab)](),_0x1d81f9=await _0x220d4a['hmget'](_0x11f49d,_0x379c51[_0x382acd(0xb5)],_0x379c51['wpmFW']),_0x51c616=_0x1d81f9&&_0x1d81f9[0x0],_0xc00227=_0x1d81f9&&_0x1d81f9[0x1];if(!_0x51c616||!_0xc00227)throw new IdGeneratorError(_0x379c51['IijGl'],_0x382acd(0x116)+_0x2916b6,{'token':_0x2916b6});return{'resource':_0x51c616,'formatKey':_0xc00227,'rsvKey':_0x11f49d,'rsvIdxKey':this[_0x382acd(0x128)](_0x51c616,_0xc00227)};}async['random'](_0x35faf3){const _0x178af5=a0_0x2771b1,_0x13cc85={'uzEsE':function(_0x489e0b,_0x1ac138){return _0x489e0b===_0x1ac138;},'uobpN':'random','fBbdP':function(_0x408a4d,_0x378526){return _0x408a4d<_0x378526;},'siyMk':function(_0x184c8d,_0x25c144){return _0x184c8d===_0x25c144;},'andSi':function(_0x172ba6,_0x33489c){return _0x172ba6+_0x33489c;},'rHmon':function(_0x2548a9,_0x1302f2){return _0x2548a9*_0x1302f2;},'SklJF':function(_0x2e1fd8,_0x3cad1c){return _0x2e1fd8||_0x3cad1c;}};if(!this[_0x178af5(0xfe)])throw new IdGeneratorError('IDGEN_DISABLED',_0x178af5(0x17d));this['_validateResource'](_0x35faf3['resource']),this[_0x178af5(0x9a)](_0x35faf3[_0x178af5(0x166)]);const _0x328b4a=this['_validateTTL'](_0x35faf3[_0x178af5(0x156)]),_0x116ca9=this['_validateMaxRetry'](_0x35faf3[_0x178af5(0xbd)]),_0x48ce6b=this['_validateIdempotencyKey'](_0x35faf3[_0x178af5(0x113)]),_0x2d4926=_0x13cc85['uzEsE'](_0x35faf3['ensureUnique'],!![]),{resource:_0x579db9,pattern:_0x5ee2e4}=_0x35faf3;let _0x8687ec=null;if(_0x48ce6b){_0x8687ec=this[_0x178af5(0xdc)](_0x13cc85[_0x178af5(0x19d)],_0x579db9,null,_0x48ce6b);const _0x3bbcad=await this['_retrieveIdemCache'](_0x8687ec);if(_0x3bbcad)return _0x3bbcad;}const _0x2f5104=redisClient[_0x178af5(0xab)]();let _0x2cafa7=null,_0x15ab68=0x0;if(!_0x2d4926)_0x2cafa7=this[_0x178af5(0xb6)](_0x5ee2e4),_0x15ab68=0x1;else{for(let _0x116722=0x0;_0x13cc85['fBbdP'](_0x116722,_0x116ca9);_0x116722++){_0x15ab68++;const _0x35d8bc=this[_0x178af5(0xb6)](_0x5ee2e4);if(_0x328b4a){const _0x38c699=this[_0x178af5(0xeb)](_0x579db9,_0x35d8bc),_0x441808=await _0x2f5104[_0x178af5(0x192)](_0x38c699,'1','EX',_0x328b4a,'NX');if(_0x13cc85[_0x178af5(0x100)](_0x441808,'OK')){_0x2cafa7=_0x35d8bc;break;}}else{const _0x247317=this[_0x178af5(0x95)](_0x579db9),_0x5dedf3=await _0x2f5104[_0x178af5(0xd1)](_0x247317,_0x35d8bc);if(_0x13cc85['uzEsE'](_0x5dedf3,0x1)){_0x2cafa7=_0x35d8bc;break;}}}if(_0x13cc85['siyMk'](_0x2cafa7,null))throw new IdGeneratorError(_0x178af5(0xa2),'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x116ca9+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x579db9,'pattern':_0x5ee2e4,'maxRetry':_0x116ca9});}const _0x53b9bc={'value':_0x2cafa7,'resource':_0x579db9,'pattern':_0x5ee2e4,'attemptCount':_0x15ab68,'generatedAt':new Date()['toISOString']()};_0x328b4a&&_0x2d4926&&(_0x53b9bc[_0x178af5(0x121)]=new Date(_0x13cc85[_0x178af5(0xfc)](Date['now'](),_0x13cc85[_0x178af5(0xaa)](_0x328b4a,0x3e8)))['toISOString']());const _0x5e1363=await this[_0x178af5(0x191)](_0x8687ec,_0x53b9bc);if(!_0x5e1363['stored'])return _0x2d4926&&await this['_undoRandomReservation'](_0x579db9,_0x2cafa7,_0x328b4a),logger['info']({'event':'idgen_random_idem_loser','resource':_0x579db9,'pattern':_0x5ee2e4,'value':_0x2cafa7},_0x178af5(0xe3)),_0x5e1363['winnerResult'];return logger['info']({'event':'idgen_random_generated','resource':_0x579db9,'pattern':_0x5ee2e4,'attemptCount':_0x15ab68,'ensureUnique':_0x2d4926,'ttl':_0x13cc85[_0x178af5(0x18d)](_0x328b4a,0x0)},'ID\x20Generator\x20random:\x20'+_0x2cafa7),_0x53b9bc;}async[a0_0x2771b1(0x139)](_0xe3567c){const _0x47062c=a0_0x2771b1,_0x488fd8={'jCMYO':function(_0x16b8bd,_0x50f92f){return _0x16b8bd==_0x50f92f;},'mivXI':'IDGEN_INVALID_DIGITS','oNHyr':function(_0x161afb,_0x40dc93){return _0x161afb===_0x40dc93;}},_0x214dd5=_0x488fd8[_0x47062c(0x8f)](_0xe3567c[_0x47062c(0x146)],null)?this[_0x47062c(0x125)]:_0xe3567c[_0x47062c(0x146)];if(!Number['isInteger'](_0x214dd5)||_0x214dd5<MIN_PIN_DIGITS||_0x214dd5>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x488fd8['mivXI'],'Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x47062c(0xd0)+_0x214dd5+')');const _0xf37fcb='9'[_0x47062c(0xb8)](_0x214dd5);return this['random']({'resource':_0xe3567c[_0x47062c(0x105)],'pattern':_0xf37fcb,'ensureUnique':_0x488fd8[_0x47062c(0xe1)](_0xe3567c['ensureUnique'],!![]),'ttl':_0xe3567c['ttl'],'maxRetry':_0xe3567c[_0x47062c(0xbd)],'idempotencyKey':_0xe3567c['idempotencyKey']});}async['serial'](_0x45b4e5){const _0x5a185c=a0_0x2771b1,_0x55f1ea={'bDnvM':function(_0x350062,_0x100990){return _0x350062!==_0x100990;}},_0x471cbb=_0x45b4e5[_0x5a185c(0x166)]||this['defaultSerialPattern'];return this[_0x5a185c(0x175)]({'resource':_0x45b4e5['resource'],'pattern':_0x471cbb,'ensureUnique':_0x55f1ea['bDnvM'](_0x45b4e5[_0x5a185c(0x15b)],![]),'ttl':_0x45b4e5[_0x5a185c(0x156)],'maxRetry':_0x45b4e5['maxRetry'],'idempotencyKey':_0x45b4e5['idempotencyKey']});}async['code'](_0x4cf0ae){const _0xae118c=a0_0x2771b1,_0x3eaaec={'wJPgf':function(_0x1c9544,_0x2a2c04){return _0x1c9544!==_0x2a2c04;}},_0x41ee03=_0x4cf0ae[_0xae118c(0x166)]||this['defaultCodePattern'];return this[_0xae118c(0x175)]({'resource':_0x4cf0ae[_0xae118c(0x105)],'pattern':_0x41ee03,'ensureUnique':_0x3eaaec['wJPgf'](_0x4cf0ae[_0xae118c(0x15b)],![]),'ttl':_0x4cf0ae[_0xae118c(0x156)],'maxRetry':_0x4cf0ae[_0xae118c(0xbd)],'idempotencyKey':_0x4cf0ae['idempotencyKey']});}async[a0_0x2771b1(0x131)](_0x41c3af){const _0x4193a5=a0_0x2771b1,_0x22c631={'InuPI':_0x4193a5(0x17d),'NaMyt':'idgen_consumed'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x22c631['InuPI']);this['_validateResource'](_0x41c3af['resource']);if(typeof _0x41c3af[_0x4193a5(0x147)]!==_0x4193a5(0x9c)||_0x41c3af['value'][_0x4193a5(0x126)]===0x0)throw new IdGeneratorError(_0x4193a5(0x129),_0x4193a5(0xf4));const {resource:_0xfa4784,value:_0x70e177}=_0x41c3af,_0x4d2ced=redisClient['getClient'](),_0xb6a636=this['_buildActiveKey'](_0xfa4784,_0x70e177),_0x592d6e=this[_0x4193a5(0x95)](_0xfa4784),[_0x1f4421,_0x2ded9d]=await Promise[_0x4193a5(0x187)]([_0x4d2ced['del'](_0xb6a636),_0x4d2ced[_0x4193a5(0x118)](_0x592d6e,_0x70e177)]),_0x5c40bb=_0x1f4421+_0x2ded9d>0x0;return logger[_0x4193a5(0x159)]({'event':_0x22c631[_0x4193a5(0x190)],'resource':_0xfa4784,'value':_0x70e177,'consumed':_0x5c40bb},_0x4193a5(0x114)+_0x70e177),{'consumed':_0x5c40bb,'resource':_0xfa4784,'value':_0x70e177,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x284b48){const _0x1656d3=a0_0x2771b1,_0x1c9c1b={'ZUPXX':'IDGEN_DISABLED','rHBTD':'ID\x20Generator\x20is\x20disabled','LMnXt':_0x1656d3(0x76),'AfWLy':function(_0x370128,_0x29b0d1){return _0x370128===_0x29b0d1;},'mNUwI':_0x1656d3(0xe9),'dFPVP':function(_0x3065af,_0x1626d7,_0x33273f){return _0x3065af(_0x1626d7,_0x33273f);},'yvwMw':function(_0x1fc18a,_0x51fc0e){return _0x1fc18a||_0x51fc0e;},'zXqAQ':'random','OkjKs':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x1c9c1b['ZUPXX'],_0x1c9c1b[_0x1656d3(0x13a)]);this['_validateResource'](_0x284b48[_0x1656d3(0x105)]);const _0x3c49b3=_0x284b48[_0x1656d3(0x97)]||_0x1c9c1b[_0x1656d3(0xb1)],_0x2d4edf=redisClient['getClient']();if(_0x1c9c1b[_0x1656d3(0xc2)](_0x3c49b3,_0x1656d3(0x76))){const _0x5d2603=(_0x284b48['format']||'text')[_0x1656d3(0x16f)]();if(!ALLOWED_FORMATS[_0x1656d3(0x174)](_0x5d2603))throw new IdGeneratorError(_0x1c9c1b[_0x1656d3(0x165)],'Invalid\x20format:\x20'+_0x284b48[_0x1656d3(0x136)]);const {formatKey:_0x2e6b98}=this['_buildFormatKey'](_0x5d2603,_0x284b48['prefix']||''),_0x59a6b0=this['_buildSeqKey'](_0x284b48[_0x1656d3(0x105)],_0x2e6b98),_0xc86d73=this['_buildReuseKey'](_0x284b48['resource'],_0x2e6b98),[_0x5e5c9e,_0x44fad2]=await Promise['all']([_0x2d4edf[_0x1656d3(0x196)](_0x59a6b0),_0x2d4edf[_0x1656d3(0x14f)](_0xc86d73)]);return{'resource':_0x284b48[_0x1656d3(0x105)],'mode':_0x1c9c1b['LMnXt'],'formatKey':_0x2e6b98,'currentCounter':_0x1c9c1b[_0x1656d3(0x90)](parseInt,_0x5e5c9e,0xa)||0x0,'reusePoolSize':_0x1c9c1b[_0x1656d3(0xe6)](_0x44fad2,0x0)};}if(_0x3c49b3===_0x1c9c1b['zXqAQ']){const _0x1e25a3=this['_buildIssuedKey'](_0x284b48[_0x1656d3(0x105)]),_0x3fc171=await _0x2d4edf[_0x1656d3(0x10b)](_0x1e25a3);return{'resource':_0x284b48[_0x1656d3(0x105)],'mode':_0x1c9c1b['zXqAQ'],'issuedCount':_0x3fc171||0x0};}throw new IdGeneratorError(_0x1c9c1b['OkjKs'],_0x1656d3(0x7c)+_0x3c49b3);}async[a0_0x2771b1(0xd7)](_0x6a9584){const _0xf22d2a=a0_0x2771b1,_0x2dcd4e={'bMMXF':'number'},_0x37156b=await this['peek'](_0x6a9584);if(_0x37156b['mode']===_0x2dcd4e[_0xf22d2a(0x123)]){const _0x515e1b=redisClient[_0xf22d2a(0xab)](),_0x35af8e=this['_buildMetaKey'](_0x6a9584['resource'],_0x37156b[_0xf22d2a(0x16b)]),_0x225513=this[_0xf22d2a(0xe8)](_0x6a9584[_0xf22d2a(0x105)],_0x37156b[_0xf22d2a(0x16b)]),[_0x1e3205,_0x4a5430]=await Promise[_0xf22d2a(0x187)]([_0x515e1b['hgetall'](_0x35af8e),_0x515e1b['zrange'](_0x225513,0x0,-0x1)]);return{..._0x37156b,'reusePoolValues':_0x4a5430[_0xf22d2a(0x99)](_0x141d2d=>parseInt(_0x141d2d,0xa)),'meta':_0x1e3205&&Object[_0xf22d2a(0xc7)](_0x1e3205)[_0xf22d2a(0x126)]>0x0?_0x1e3205:null};}return _0x37156b;}async[a0_0x2771b1(0x87)](_0x1a4c5b){const _0x2c4f0a=a0_0x2771b1,_0x4b1746={'jQfXV':_0x2c4f0a(0x17d),'LnQSd':_0x2c4f0a(0xe2),'kRoLa':'number','JeIyC':_0x2c4f0a(0x13c),'NOgxm':'IDGEN_INVALID_FORMAT','CnOkX':'idgen_reset','YJYFr':_0x2c4f0a(0xdf),'IhfnP':'reuse','tljes':_0x2c4f0a(0x18f),'nROND':'random','dJyVQ':'issued','VZXAS':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x2c4f0a(0x150),_0x4b1746['jQfXV']);if(!this['allowReset'])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED',_0x4b1746[_0x2c4f0a(0x183)]);this['_validateResource'](_0x1a4c5b['resource']);const _0x5cff26=_0x1a4c5b['mode']||_0x4b1746['kRoLa'],_0x446957=redisClient['getClient']();if(_0x5cff26===_0x4b1746[_0x2c4f0a(0x11c)]){const _0xa23db=(_0x1a4c5b[_0x2c4f0a(0x136)]||_0x4b1746[_0x2c4f0a(0xcf)])[_0x2c4f0a(0x16f)]();if(!ALLOWED_FORMATS[_0x2c4f0a(0x174)](_0xa23db))throw new IdGeneratorError(_0x4b1746[_0x2c4f0a(0x13d)],'Invalid\x20format:\x20'+_0x1a4c5b[_0x2c4f0a(0x136)]);const {formatKey:_0x24539c}=this['_buildFormatKey'](_0xa23db,_0x1a4c5b[_0x2c4f0a(0xce)]||''),_0x9c1964=this['_buildSeqKey'](_0x1a4c5b[_0x2c4f0a(0x105)],_0x24539c),_0xa1b4e7=this['_buildReuseKey'](_0x1a4c5b[_0x2c4f0a(0x105)],_0x24539c),_0x1316c1=this['_buildMetaKey'](_0x1a4c5b[_0x2c4f0a(0x105)],_0x24539c);return await _0x446957['del'](_0x9c1964,_0xa1b4e7,_0x1316c1),logger['warn']({'event':_0x4b1746[_0x2c4f0a(0x17a)],'resource':_0x1a4c5b['resource'],'mode':_0x4b1746['kRoLa'],'formatKey':_0x24539c},_0x2c4f0a(0x157)+_0x1a4c5b['resource']+':'+_0x24539c),{'reset':!![],'resource':_0x1a4c5b[_0x2c4f0a(0x105)],'mode':_0x4b1746['kRoLa'],'formatKey':_0x24539c,'deletedKeys':[_0x4b1746['YJYFr'],_0x4b1746['IhfnP'],_0x4b1746[_0x2c4f0a(0x119)]]};}if(_0x5cff26===_0x4b1746[_0x2c4f0a(0x80)]){const _0xe0166=this[_0x2c4f0a(0x95)](_0x1a4c5b['resource']);return await _0x446957[_0x2c4f0a(0x110)](_0xe0166),logger[_0x2c4f0a(0x17b)]({'event':_0x4b1746[_0x2c4f0a(0x17a)],'resource':_0x1a4c5b['resource'],'mode':_0x2c4f0a(0x175)},'ID\x20Generator\x20reset:\x20random:'+_0x1a4c5b['resource']),{'reset':!![],'resource':_0x1a4c5b[_0x2c4f0a(0x105)],'mode':_0x2c4f0a(0x175),'deletedKeys':[_0x4b1746['dJyVQ']]};}throw new IdGeneratorError(_0x4b1746['VZXAS'],'Unknown\x20mode:\x20'+_0x5cff26);}}const instance=new IdGenerator();instance[a0_0x2771b1(0x108)]=IdGeneratorError,module['exports']=instance,module['exports']['IdGeneratorError']=IdGeneratorError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';const a0_0x813f6d=a0_0x50cc;(function(_0x375336,_0x206319){const _0x2f8c61=a0_0x50cc,_0x114943=_0x375336();while(!![]){try{const _0x1a4fd7=-parseInt(_0x2f8c61(0x204))/0x1*(-parseInt(_0x2f8c61(0x206))/0x2)+-parseInt(_0x2f8c61(0x208))/0x3+parseInt(_0x2f8c61(0x214))/0x4+-parseInt(_0x2f8c61(0x209))/0x5+parseInt(_0x2f8c61(0x213))/0x6*(parseInt(_0x2f8c61(0x21a))/0x7)+parseInt(_0x2f8c61(0x201))/0x8+-parseInt(_0x2f8c61(0x218))/0x9;if(_0x1a4fd7===_0x206319)break;else _0x114943['push'](_0x114943['shift']());}catch(_0x3a9314){_0x114943['push'](_0x114943['shift']());}}}(a0_0x2e44,0xc4679));function a0_0x50cc(_0x1670db,_0x5d9598){_0x1670db=_0x1670db-0x1f0;const _0x2e44e0=a0_0x2e44();let _0x50cc24=_0x2e44e0[_0x1670db];if(a0_0x50cc['kYXQTl']===undefined){var _0xb8ce64=function(_0x4d5316){const _0x28da2a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c4efb='',_0x55e340='';for(let _0x47a949=0x0,_0x2d5bac,_0x128108,_0x5aadf5=0x0;_0x128108=_0x4d5316['charAt'](_0x5aadf5++);~_0x128108&&(_0x2d5bac=_0x47a949%0x4?_0x2d5bac*0x40+_0x128108:_0x128108,_0x47a949++%0x4)?_0x5c4efb+=String['fromCharCode'](0xff&_0x2d5bac>>(-0x2*_0x47a949&0x6)):0x0){_0x128108=_0x28da2a['indexOf'](_0x128108);}for(let _0x2e376d=0x0,_0x4eb47d=_0x5c4efb['length'];_0x2e376d<_0x4eb47d;_0x2e376d++){_0x55e340+='%'+('00'+_0x5c4efb['charCodeAt'](_0x2e376d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55e340);};a0_0x50cc['ZRWcqI']=_0xb8ce64,a0_0x50cc['rFojAS']={},a0_0x50cc['kYXQTl']=!![];}const _0x470414=_0x2e44e0[0x0],_0x30bea3=_0x1670db+_0x470414,_0x1071ce=a0_0x50cc['rFojAS'][_0x30bea3];return!_0x1071ce?(_0x50cc24=a0_0x50cc['ZRWcqI'](_0x50cc24),a0_0x50cc['rFojAS'][_0x30bea3]=_0x50cc24):_0x50cc24=_0x1071ce,_0x50cc24;}const redisClient=require(a0_0x813f6d(0x217)),{logger}=require(a0_0x813f6d(0x1f5)),crypto=require('crypto');function a0_0x2e44(){const _0xebd36c=['x2vUywjSzwq','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','mJe5mfrmr1LuDa','mZG0mZm4menHBMX4uG','z2v0q2XPzw50','C3bSAxq','lI9YzwrPCY1JBgLLBNq','nJm3mteWmeDPzuTzqW','Dhj1zq','mtK2odrWENzOvxa','x2LUAxrdB25MAwC','CMvX','x2LUAxrPywXPEMvK','surftvbpvevoq1LFvfrm','zw52','lI9SB2DNzxi','BevJCeO','x2vUC3vYzuLUAxrPywXPEMvK','DhrS','Cgf0Aa','C3rVCMu','D2HfrvG','C3rHDhvZq29Kzq','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','z2vUzxjHDgvlzxK','CvDbr1O','zw5HyMXLza','otmWmJmWneT5sgTnqW','zgvIDwC','BwvZC2fNzq','mtCZy2DryM1i','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','mJe4mNzQExDIzG','AwrLBxbVDgvUy3LFC3rVCMu','nZG2mdCYvgLJtxzs','nZGYmtC5nuL0CujICG','D3DIuwS','CgfYC2u','x3r0Ba','zxHWB3j0CW','AwrLBxbVDgvUy3LFAgL0','CMy6AwrLBtO'];a0_0x2e44=function(){return _0xebd36c;};return a0_0x2e44();}class IdempotencyManager{constructor(){const _0x547cd0=a0_0x813f6d;this[_0x547cd0(0x210)]=null,this['_ttl']=null,this['_initialized']=![];}['_initConfig'](){const _0x26cfbb=a0_0x813f6d,_0x157b67={'qWAGZ':function(_0x32965f,_0x22e942){return _0x32965f===_0x22e942;},'XiXMh':_0x26cfbb(0x219),'AOnQP':'idempotency_config_init'};this[_0x26cfbb(0x210)]=_0x157b67[_0x26cfbb(0x1ff)](process[_0x26cfbb(0x1f4)]['IDEMPOTENCY_ENABLED'],_0x157b67['XiXMh']),this['_ttl']=parseInt(process['env'][_0x26cfbb(0x1f3)],0xa)||0x12c,this[_0x26cfbb(0x1f2)]=!![],logger['info']({'event':_0x157b67['AOnQP'],'enabled':this['_enabled'],'ttl':this['_ttl']},_0x26cfbb(0x211)+this['_enabled']+',\x20TTL:\x20'+this['_ttl']+'s');}[a0_0x813f6d(0x1f7)](){const _0x1fee01=a0_0x813f6d;!this['_initialized']&&this[_0x1fee01(0x1f0)]();}get[a0_0x813f6d(0x200)](){const _0x4158f4=a0_0x813f6d;return this[_0x4158f4(0x1f7)](),this[_0x4158f4(0x210)];}get[a0_0x813f6d(0x1f8)](){const _0x4f4b21=a0_0x813f6d;return this[_0x4f4b21(0x1f7)](),this[_0x4f4b21(0x20c)];}['isEnabled'](){const _0x36dd62=a0_0x813f6d;return this[_0x36dd62(0x200)];}['buildKey'](_0x4e582e,_0x52a608){const _0x4d52e1=a0_0x813f6d,_0x546da9={'iFAKK':'unknown'},_0x4bce4f=_0x52a608[_0x4d52e1(0x1f9)][_0x4d52e1(0x216)]('/')['filter'](Boolean),_0x1ef653=_0x4bce4f[0x0]||'default',_0x256e74=_0x4bce4f[0x1]||_0x546da9['iFAKK'],_0x24a842=_0x4bce4f[0x2]||_0x546da9['iFAKK'];return _0x4d52e1(0x20f)+_0x1ef653+':'+_0x256e74+':'+_0x24a842+':'+_0x4e582e;}async[a0_0x813f6d(0x1fa)](_0xab1dc,_0x268766){const _0x3a0d4b=a0_0x813f6d;if(!this['enabled'])return![];try{const _0x22cafc=redisClient[_0x3a0d4b(0x215)]();return await _0x22cafc['setex'](_0xab1dc,this[_0x3a0d4b(0x1f8)],JSON['stringify'](_0x268766)),logger['debug']({'event':_0x3a0d4b(0x207),'key':_0xab1dc,'ttl':this[_0x3a0d4b(0x1f8)],'statusCode':_0x268766[_0x3a0d4b(0x1fc)]},'Idempotency\x20response\x20stored'),!![];}catch(_0x1287df){return logger['error']({'event':_0x3a0d4b(0x1fd),'key':_0xab1dc,'error':_0x1287df['message']},_0x3a0d4b(0x212)+_0x1287df[_0x3a0d4b(0x203)]),![];}}async['retrieve'](_0x3e5727){const _0x34c404=a0_0x813f6d,_0x3ed4bb={'aIuxQ':_0x34c404(0x20e),'wwbQk':'idempotency_miss','whEEX':_0x34c404(0x205),'lEcpJ':'idempotency_retrieve_error'};if(!this[_0x34c404(0x200)])return null;try{const _0x209c77=redisClient[_0x34c404(0x215)](),_0x5c06ec=await _0x209c77['get'](_0x3e5727);if(_0x5c06ec)return logger['info']({'event':_0x3ed4bb['aIuxQ'],'key':_0x3e5727},'Idempotency\x20cache\x20HIT'),JSON[_0x34c404(0x20b)](_0x5c06ec);return logger[_0x34c404(0x202)]({'event':_0x3ed4bb[_0x34c404(0x20a)],'key':_0x3e5727},_0x3ed4bb[_0x34c404(0x1fb)]),null;}catch(_0x3aa6f6){return logger['error']({'event':_0x3ed4bb[_0x34c404(0x1f6)],'key':_0x3e5727,'error':_0x3aa6f6['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x3aa6f6['message']),null;}}[a0_0x813f6d(0x1fe)](_0x2ee8d8=a0_0x813f6d(0x1f1)){return _0x2ee8d8+'_'+crypto['randomUUID']();}['buildDeterministicKey'](_0xd9718a,_0x17f4db,_0x455480){return _0xd9718a+':'+_0x17f4db+':'+_0x455480;}}module[a0_0x813f6d(0x20d)]=new IdempotencyManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2d53fe=a0_0xa32b;(function(_0x3a427d,_0x3965c6){const _0xb571c=a0_0xa32b,_0x1b5bc7=_0x3a427d();while(!![]){try{const _0xc995f0=-parseInt(_0xb571c(0x216))/0x1+parseInt(_0xb571c(0x20b))/0x2*(parseInt(_0xb571c(0x1f4))/0x3)+parseInt(_0xb571c(0x1f9))/0x4+parseInt(_0xb571c(0x1ff))/0x5+parseInt(_0xb571c(0x20e))/0x6+-parseInt(_0xb571c(0x209))/0x7+parseInt(_0xb571c(0x210))/0x8;if(_0xc995f0===_0x3965c6)break;else _0x1b5bc7['push'](_0x1b5bc7['shift']());}catch(_0x378476){_0x1b5bc7['push'](_0x1b5bc7['shift']());}}}(a0_0xd6c8,0xc7d83));function a0_0xa32b(_0x4d7cd2,_0x4f37ec){_0x4d7cd2=_0x4d7cd2-0x1f3;const _0xd6c850=a0_0xd6c8();let _0xa32bd4=_0xd6c850[_0x4d7cd2];if(a0_0xa32b['tNrRmF']===undefined){var _0x50c8e6=function(_0x50e1c6){const _0x47ad85='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2478ce='',_0x790a5c='';for(let _0x5c9a82=0x0,_0x3018ea,_0x5650be,_0xa53cf5=0x0;_0x5650be=_0x50e1c6['charAt'](_0xa53cf5++);~_0x5650be&&(_0x3018ea=_0x5c9a82%0x4?_0x3018ea*0x40+_0x5650be:_0x5650be,_0x5c9a82++%0x4)?_0x2478ce+=String['fromCharCode'](0xff&_0x3018ea>>(-0x2*_0x5c9a82&0x6)):0x0){_0x5650be=_0x47ad85['indexOf'](_0x5650be);}for(let _0x1032bf=0x0,_0x126dbb=_0x2478ce['length'];_0x1032bf<_0x126dbb;_0x1032bf++){_0x790a5c+='%'+('00'+_0x2478ce['charCodeAt'](_0x1032bf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x790a5c);};a0_0xa32b['rzlcJA']=_0x50c8e6,a0_0xa32b['oAIdbR']={},a0_0xa32b['tNrRmF']=!![];}const _0x2103ff=_0xd6c850[0x0],_0x34431e=_0x4d7cd2+_0x2103ff,_0x422262=a0_0xa32b['oAIdbR'][_0x34431e];return!_0x422262?(_0xa32bd4=a0_0xa32b['rzlcJA'](_0xa32bd4),a0_0xa32b['oAIdbR'][_0x34431e]=_0xa32bd4):_0xa32bd4=_0x422262,_0xa32bd4;}const {logger}=require('./logger');function a0_0xd6c8(){const _0x45df14=['vLLXwK8','mte0otiXmLnAqwnkvG','BgvUz3rO','DMfSAwrHDgvvCMW','mJe1nZC0nfLss3flEa','AM9PBG','mZGZntq0zgzZsNnS','A2v5CW','DMfSAwrHDgvoDw1Izxi','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','sw52ywXPzcbUDw1IzxiGzM9YBwf0','ChvZAa','mtm5mdqZn0T4teHzsW','yMnSAgK','Aw5MBW','nM9rD21HuW','sw52ywXPzcbvuKWGzM9YBwf0','rvLWrgC','BLHAwMW','AgfZ','mZK0odqXmNH1zu5ADq','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','sw52ywXPzcbLBwfPBcbMB3jTyxq','DMfSAwrHDgvgAwvSzezVCM1HDa','zM9YrwfJAa','DgvZDa','mZuXotK4nwXrAMX6za','DMfSAwrHDgvqAg9Uzq','y011ugq','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','z2v0','sw52ywXPzcbWAg9UzsbMB3jTyxq','CMvWBgfJzq','zw1HAwW','zM9YBwf0','DMfSAwrHDgvfBwfPBa','nZi3mJe1m1HZuKDSzG'];a0_0xd6c8=function(){return _0x45df14;};return a0_0xd6c8();}class ImportValidator{['validateRow'](_0x3b62f4,_0x26f847=[],_0x540fc3={}){const _0x46a26f=a0_0xa32b,_0x39d218={'lyhIX':function(_0x6d2b47,_0x225da1){return _0x6d2b47===_0x225da1;},'hrtal':function(_0x56e8cd,_0x3a5902){return _0x56e8cd===_0x3a5902;},'VYqZO':function(_0x268a42,_0x3d0799){return _0x268a42===_0x3d0799;}},_0x372208=[];return _0x26f847[_0x46a26f(0x1fd)](_0x46eb2e=>{const _0xcdee46=_0x46a26f,_0x57c873=_0x3b62f4[_0x46eb2e];(_0x39d218['lyhIX'](_0x57c873,null)||_0x39d218['hrtal'](_0x57c873,undefined)||_0x57c873==='')&&_0x372208[_0xcdee46(0x215)]({'field':_0x46eb2e,'type':'required','message':_0xcdee46(0x202)});}),Object[_0x46a26f(0x211)](_0x540fc3)[_0x46a26f(0x1fd)](_0x4f4673=>{const _0x76ea56=_0x46a26f,_0x1455ba=_0x3b62f4[_0x4f4673],_0x3f62d5=_0x540fc3[_0x4f4673];if(_0x1455ba===null||_0x39d218[_0x76ea56(0x20a)](_0x1455ba,undefined)||_0x1455ba==='')return;const _0x585acc=this[_0x76ea56(0x1fc)](_0x4f4673,_0x1455ba,_0x3f62d5);_0x585acc&&_0x372208['push'](_0x585acc);}),_0x372208;}['validateFieldFormat'](_0x1d59ff,_0x5a8b26,_0x17284b){const _0x39da5e=a0_0xa32b,_0x2ddb26={'zzbha':'number'};switch(_0x17284b){case _0x39da5e(0x206):return this['validateEmail'](_0x1d59ff,_0x5a8b26);case'phone':return this[_0x39da5e(0x200)](_0x1d59ff,_0x5a8b26);case'url':return this['validateUrl'](_0x1d59ff,_0x5a8b26);case _0x2ddb26['zzbha']:return this['validateNumber'](_0x1d59ff,_0x5a8b26);default:return null;}}[a0_0x2d53fe(0x208)](_0x5b877d,_0x29f695){const _0x11bc8e=a0_0x2d53fe,_0x338cca={'AdpNr':function(_0x1f3c4c,_0x2a857d){return _0x1f3c4c(_0x2a857d);},'bclhi':_0x11bc8e(0x1fb)},_0x442db4=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x442db4[_0x11bc8e(0x1fe)](_0x338cca['AdpNr'](String,_0x29f695)))return{'field':_0x5b877d,'type':'format','message':_0x338cca[_0x11bc8e(0x217)]};return null;}['validatePhone'](_0x437dc1,_0x56749d){const _0x5c19eb=a0_0x2d53fe,_0x44c014={'nXZZl':function(_0x3dc674,_0x5974f5){return _0x3dc674<_0x5974f5;},'EyaYi':_0x5c19eb(0x204)},_0x415eb0=String(_0x56749d)[_0x5c19eb(0x205)](/\s+/g,''),_0x5bdd7f=/^[\d\+\-\(\)]+$/;if(!_0x5bdd7f['test'](_0x415eb0)||_0x44c014[_0x5c19eb(0x1f7)](_0x415eb0['length'],0x8))return{'field':_0x437dc1,'type':'format','message':_0x44c014['EyaYi']};return null;}[a0_0x2d53fe(0x20d)](_0x5c2368,_0xc8926d){const _0x24b582=a0_0x2d53fe,_0x54e6cc={'vNubA':function(_0x435131,_0x38928f){return _0x435131(_0x38928f);}};try{return new URL(_0x54e6cc['vNubA'](String,_0xc8926d)),null;}catch(_0xfbde3c){return{'field':_0x5c2368,'type':'format','message':_0x24b582(0x1f5)};}}[a0_0x2d53fe(0x212)](_0x5586ae,_0x38eeeb){const _0x326454=a0_0x2d53fe,_0xa87f13={'JkdfO':_0x326454(0x207),'RrsdJ':_0x326454(0x214)};if(isNaN(_0x38eeeb))return{'field':_0x5586ae,'type':_0xa87f13['JkdfO'],'message':_0xa87f13['RrsdJ']};return null;}[a0_0x2d53fe(0x213)](_0x4c56f7,_0x2ffcdc){const _0xbf9e48=a0_0x2d53fe,_0x482d3d=new Map(),_0x1fcf83=[];return _0x4c56f7[_0xbf9e48(0x1fd)]((_0x46826e,_0x5ad8f7)=>{const _0x58ae77=_0xbf9e48,_0x690f9=_0x2ffcdc['map'](_0x23434b=>_0x46826e[_0x23434b])[_0x58ae77(0x20f)]('|');_0x482d3d[_0x58ae77(0x1f8)](_0x690f9)?_0x1fcf83[_0x58ae77(0x215)]({'rowIndex':_0x5ad8f7,'duplicateOf':_0x482d3d[_0x58ae77(0x203)](_0x690f9),'key':_0x690f9}):_0x482d3d['set'](_0x690f9,_0x5ad8f7);}),_0x1fcf83;}['batchValidateRows'](_0x842e27,_0x2deafc,_0x4ce36a){const _0x2ff3b1=a0_0x2d53fe,_0x26bd81={'EYpDg':function(_0x3d4b6e,_0x54b379){return _0x3d4b6e>_0x54b379;},'cMuPd':_0x2ff3b1(0x1fa)},_0x427918=[];return _0x842e27[_0x2ff3b1(0x1fd)]((_0x125f6a,_0x58e132)=>{const _0x4e8310=_0x2ff3b1,_0x51a76f=this['validateRow'](_0x125f6a,_0x2deafc,_0x4ce36a);_0x26bd81[_0x4e8310(0x1f6)](_0x51a76f[_0x4e8310(0x20c)],0x0)&&_0x427918[_0x4e8310(0x215)]({'rowIndex':_0x58e132,'rowData':_0x125f6a,'errors':_0x51a76f});}),logger[_0x2ff3b1(0x1f3)]({'event':'batch_validation_complete','totalRows':_0x842e27[_0x2ff3b1(0x20c)],'errorCount':_0x427918[_0x2ff3b1(0x20c)]},_0x26bd81[_0x2ff3b1(0x201)]),_0x427918;}}module['exports']=new ImportValidator();
|