@restforgejs/platform 5.1.7 → 5.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/restforge-hwinfo-linux +0 -0
- package/bin/restforge-hwinfo.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/catalog/dbschema.js +2 -1
- package/generators/cli/endpoint/list.js +264 -0
- package/generators/cli/fast-track.js +395 -37
- package/generators/cli/payload/generate.js +10 -2
- package/generators/cli/processor/create.js +7 -7
- package/generators/cli/processor/list.js +229 -0
- package/generators/cli/schema/apply.js +6 -1
- package/generators/cli/schema/diff.js +6 -1
- package/generators/cli/schema/introspect.js +32 -11
- package/generators/lib/data/db-executor.js +8 -8
- package/generators/lib/data/envelope.js +3 -3
- package/generators/lib/dbschema-kit/apply-engine.js +20 -0
- package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
- package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
- package/generators/lib/dbschema-kit/dialect/postgres.js +4 -0
- package/generators/lib/dbschema-kit/dialect/sqlite.js +5 -0
- package/generators/lib/dbschema-kit/diff-engine.js +22 -1
- package/generators/lib/dbschema-kit/diff-reporter.js +293 -272
- package/generators/lib/dbschema-kit/emitters/create-index.js +23 -1
- package/generators/lib/dbschema-kit/emitters/create-table.js +48 -0
- package/generators/lib/dbschema-kit/introspect-mapper.js +154 -2
- package/generators/lib/dbschema-kit/ir-builder.js +84 -1
- package/generators/lib/dbschema-kit/schema-printer.js +20 -0
- package/generators/lib/dbschema-kit/soft-delete-constants.js +111 -0
- package/generators/lib/dbschema-kit/validator/schema-validator.js +231 -0
- package/generators/lib/generators/dashboard-generator.js +5 -5
- package/generators/lib/generators/processor-validation-generator.js +16 -16
- package/generators/lib/payload/payload-runner.js +774 -1
- package/generators/lib/payload/schema-diff.js +7 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/database-introspector.js +48 -0
- package/generators/lib/utils/env-manager.js +4 -4
- package/generators/lib/utils/file-utils.js +6 -6
- package/generators/lib/utils/payload-processor.js +18 -2
- package/generators/lib/validators/argument-validator.js +2 -2
- package/generators/lib/validators/dashboard-validator.js +35 -1
- package/generators/lib/validators/payload-validator.js +460 -33
- package/integrity-manifest.json +20 -20
- package/package.json +2 -1
- package/scripts/check-install.js +8 -8
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -0
- package/src/utils/sql-table-extractor.js +1 -0
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
- package/generators/lib/utils/sql-table-extractor.js +0 -83
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a0_0x22054c=a0_0xd390;function a0_0x4f43(){const _0x393b49=['D2f0y2HLCNm','ndvpEhHQBwS','icbBv0fuq0HDifDHCM5PBMC6ifDHDgnOzxiGzxjYB3iGB24G','y3DK','mJe2nZmWsKrrD2jj','mte0ufrPBffj','Bg9N','ogDuAwTbDG','B25dAgfUz2u','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','C3bSAxq','lYaOCMvJDxjZAxzLkq','mteXnJCZmJrtyvLzwK4','mZaXmZG4mfzKC2vdzG','CMvSyxrPDMu','mJjJA01WvNa','C3rVCa','mZC2nJi1Cu1cu1zL','mhW0Fdf8mNW1Fdm','zxjYB3i','zgvIB3vUy2vnCW','yNPuAgq','zgLYzwn0B3jPzxm','D1rqCvO','zxH0zw5ZAw9UCW','ntGZnJuYnerTqu9VwG','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','x2rLyM91BMnL','zxHWB3j0CW','Dg9mB3DLCKnHC2u','D0HSDNO','lMPZ','BwvZC2fNzq','BgPxtKG','otC1nZq4mgHczhbQrq','mtq4mtDPuuvOqLu','zxHPC3rZu3LUyW','icbBv0fuq0HDifDHDgnOAw5NoIa','Aw5JBhvKzxm','oti4s2ntterM','s3rIAwq','zgvIB3vUy2vuAw1LCG'];a0_0x4f43=function(){return _0x393b49;};return a0_0x4f43();}(function(_0x471949,_0xc18fbf){const _0xf673b6=a0_0xd390,_0x5d3f5d=_0x471949();while(!![]){try{const _0x277e15=-parseInt(_0xf673b6(0x7a))/0x1*(-parseInt(_0xf673b6(0x70))/0x2)+-parseInt(_0xf673b6(0x8c))/0x3*(-parseInt(_0xf673b6(0x90))/0x4)+-parseInt(_0xf673b6(0x6d))/0x5*(parseInt(_0xf673b6(0x6e))/0x6)+-parseInt(_0xf673b6(0x75))/0x7+parseInt(_0xf673b6(0x8b))/0x8+parseInt(_0xf673b6(0x94))/0x9*(-parseInt(_0xf673b6(0x76))/0xa)+-parseInt(_0xf673b6(0x78))/0xb*(-parseInt(_0xf673b6(0x82))/0xc);if(_0x277e15===_0xc18fbf)break;else _0x5d3f5d['push'](_0x5d3f5d['shift']());}catch(_0x5ef611){_0x5d3f5d['push'](_0x5d3f5d['shift']());}}}(a0_0x4f43,0xe059d));function a0_0xd390(_0x59076e,_0x5c7ab7){_0x59076e=_0x59076e-0x6d;const _0x4f43c8=a0_0x4f43();let _0xd390d3=_0x4f43c8[_0x59076e];if(a0_0xd390['TKFtwb']===undefined){var _0x22a28f=function(_0x1cf3ec){const _0xda31a1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9d4fcb='',_0x3b1903='';for(let _0x4d3c9f=0x0,_0x351f20,_0x2d2533,_0x5812f6=0x0;_0x2d2533=_0x1cf3ec['charAt'](_0x5812f6++);~_0x2d2533&&(_0x351f20=_0x4d3c9f%0x4?_0x351f20*0x40+_0x2d2533:_0x2d2533,_0x4d3c9f++%0x4)?_0x9d4fcb+=String['fromCharCode'](0xff&_0x351f20>>(-0x2*_0x4d3c9f&0x6)):0x0){_0x2d2533=_0xda31a1['indexOf'](_0x2d2533);}for(let _0x158303=0x0,_0x2195e6=_0x9d4fcb['length'];_0x158303<_0x2195e6;_0x158303++){_0x3b1903+='%'+('00'+_0x9d4fcb['charCodeAt'](_0x158303)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b1903);};a0_0xd390['eRoUub']=_0x22a28f,a0_0xd390['dGrxyL']={},a0_0xd390['TKFtwb']=!![];}const _0x9bc5=_0x4f43c8[0x0],_0x2d50f2=_0x59076e+_0x9bc5,_0x61aeba=a0_0xd390['dGrxyL'][_0x2d50f2];return!_0x61aeba?(_0xd390d3=a0_0xd390['eRoUub'](_0xd390d3),a0_0xd390['dGrxyL'][_0x2d50f2]=_0xd390d3):_0xd390d3=_0x61aeba,_0xd390d3;}const fs=require('fs'),path=require('path');class FileWatcher{constructor(_0x40e97e={}){const _0x1637a8=a0_0xd390,_0x18a2c2={'UDKov':_0x1637a8(0x7b),'wTPqZ':_0x1637a8(0x88),'wHlvz':'.json'},_0x5c7c32=_0x18a2c2['UDKov'][_0x1637a8(0x73)]('|');let _0x29c9a1=0x0;while(!![]){switch(_0x5c7c32[_0x29c9a1++]){case'0':this['directories']=_0x40e97e[_0x1637a8(0x7f)]||[];continue;case'1':this[_0x1637a8(0x7d)]=_0x40e97e['debounceMs']||0x1f4;continue;case'2':this['onChange']=_0x40e97e[_0x1637a8(0x71)]||(()=>{});continue;case'3':this[_0x1637a8(0x92)]=null;continue;case'4':this[_0x1637a8(0x81)]=_0x40e97e[_0x1637a8(0x81)]||[_0x18a2c2[_0x1637a8(0x80)],_0x18a2c2[_0x1637a8(0x87)]];continue;case'5':this['watchers']=[];continue;}break;}}['start'](){const _0x1a011d=a0_0xd390,_0x210add={'ljWNH':_0x1a011d(0x7c)};for(const _0x160b5f of this['directories']){if(!fs[_0x1a011d(0x8d)](_0x160b5f)){console[_0x1a011d(0x6f)](_0x1a011d(0x83)+(path['relative'](process[_0x1a011d(0x96)](),_0x160b5f)||_0x160b5f));continue;}try{const _0x507c1a=fs['watch'](_0x160b5f,{'recursive':!![]},(_0x48a391,_0x3465cb)=>{const _0xb54dab=_0x1a011d;if(!_0x3465cb)return;const _0x25c1b6=path['extname'](_0x3465cb)[_0xb54dab(0x86)]();if(!this['extensions'][_0xb54dab(0x8f)](_0x25c1b6))return;this[_0xb54dab(0x84)](_0x3465cb);});_0x507c1a['on'](_0x210add[_0x1a011d(0x8a)],_0x166306=>{const _0x1a4cd3=_0x1a011d;console['log'](_0x1a4cd3(0x95)+path[_0x1a4cd3(0x77)](process[_0x1a4cd3(0x96)](),_0x160b5f)+':\x20'+_0x166306[_0x1a4cd3(0x89)]);}),this['watchers']['push'](_0x507c1a);const _0x4f07a3=path[_0x1a011d(0x77)](process[_0x1a011d(0x96)](),_0x160b5f)||_0x160b5f;console['log'](_0x1a011d(0x8e)+_0x4f07a3+_0x1a011d(0x74));}catch(_0x4b7b06){console[_0x1a011d(0x6f)](_0x1a011d(0x72)+path[_0x1a011d(0x77)](process[_0x1a011d(0x96)](),_0x160b5f)+':\x20'+_0x4b7b06[_0x1a011d(0x89)]);}}}[a0_0x22054c(0x79)](){const _0x395096=a0_0x22054c;for(const _0x390b7d of this[_0x395096(0x93)]){try{_0x390b7d['close']();}catch(_0x5db091){}}this[_0x395096(0x93)]=[],this[_0x395096(0x92)]&&(clearTimeout(this[_0x395096(0x92)]),this['debounceTimer']=null);}[a0_0x22054c(0x84)](_0x1a8182){const _0x463867=a0_0x22054c,_0x5df2d9={'bzThd':function(_0x302543,_0x2ad33b){return _0x302543(_0x2ad33b);},'Ktbid':function(_0x2c3a78,_0x4ed104,_0x52bb45){return _0x2c3a78(_0x4ed104,_0x52bb45);}};this['debounceTimer']&&_0x5df2d9[_0x463867(0x7e)](clearTimeout,this[_0x463867(0x92)]),this['debounceTimer']=_0x5df2d9[_0x463867(0x91)](setTimeout,()=>{this['debounceTimer']=null,this['onChange'](_0x1a8182);},this['debounceMs']);}}module[a0_0x22054c(0x85)]=FileWatcher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x2de2bd=a0_0x2bb0;function a0_0x3cab(){const _0x628e3=['AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','zgvS','r3n0BLG','qw1Qr0u','x2rLzMf1BhrdB2rLugf0DgvYBG','mdeYmZq1nJC4oufcq0rfrG','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','AwrLBuTLEq','Dhj0zwW','C3rVCMvK','CMvZzxj2zv9JB25MAxjT','CNrMywu','C3nPtxq','zgvMyxvSDe1HEfjLDhj5','AxnszxvZzwq','BNDVCxq','yM9VBgvHBG','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','D2nXA0W','x3zHBgLKyxrLuMvZzxj2zvruta','y2fUy2vSuMvZzxj2yxrPB24','zgvMyxvSDenVzgvqyxr0zxjU','AxnjBNrLz2vY','ExL5Eq','rK9WCLa','Chr0Ba','C2vX','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','ywn0AxzLoG','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','x3bHzdi','yxDeAu4','ignOyxjZicHNB3qGBgvUz3rOoIa','veHetgO','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','mtC5ntaYodrhwgXyvKG','zM9YBwf0','BwvZC2fNzq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CNn2swr4s2v5','C05vCem','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','nLj6q0X1ra','A0DTruq','y29UzMLYBvjLC2vYDMf0Aw9U','AuvKA0G','q3PyCfq','suqGr2vUzxjHDg9YihjLC2v0oIa','wLnqrgm','s1jstvO','wLvUswq','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','Ag1gwhG','CxLnzgG','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','x2nVDw50zxjuveXnyxa','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','zxHWB3j0CW','yLLtsMW','DuPrDMG','mty3mdiYswHhsfLW','ywXSB3DszxnLDa','x2j1AwXKswrLBuTLEq','t2XOv2u','sMDlwhm','DMfSDwu','y291BNrLCKLUDa','BLLts3C','wvnUqKq','CMvWzwf0','AwrLBvruta','zw5ZDxjLvw5PCxvL','ENfuB2S','vu9WAfG','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','zvPSrwW','BwfW','vw5RBM93BIbTB2rLoIa','D2LUBMvYuMvZDwX0','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','AwrNzw5Fy29UC3vTzwq','x3vWzgf0zu1LDge','BNvTyMvY','thD4zKy','nZe2mZKWt0zesNDP','DhrStxm','BgvUz3rO','AerpB3e','lcbLEhbLy3rLzca','ntu1odKZoeDuB3Dzva','zgLNAxrZ','vwLoDgG','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','Cg93','DhrS','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','Dg9ju09tDhjPBMC','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','surhru5Fsu5wquXjrf9ovu1crvi','Dhj1zq','CNn2x2LKEdO','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','yLb2r1q','Bw9Kzq','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','CM9fu08','z2v0q2XPzw50','x3jLC2vYDMvezwzHDwX0vfrm','zxzHBa','CMfUzg9Tvvvjra','CNzXvMW','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','surhru5Fsu5wquXjrf9quKvgsvG','AxnZDwvKoG','AwrNzw4','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','x2LUAxrPywXPEMvK','x3n0B3jLswrLBunHy2HL','x3vUzg9syw5KB21szxnLCNzHDgLVBG','x2j1AwXKtwv0yuTLEq','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','x3rLEhq','AhnLDa','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','A2v5uhjLzML4','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','zxHWAxjLC0f0','zw5HyMXLza','AgDLDgfSBa','ChvZAa','Cw9uswq','x2fSBg93uMvZzxq','CMvZB3vYy2u','surhru5FreLtqujmruq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','DMfSDwuGAxmGCMvXDwLYzwq','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','Aw5MBW','DKDnzNq','x2vUC3vYzuLUAxrPywXPEMvK','zenUAxa','xLXKEW','zw50CMLLCW','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x2j1AwXKqwn0AxzLs2v5','m0nLD1vUzG','x2j1AwXKrM9YBwf0s2v5','Cw9xyxi','sfffyui','y291BNrLCG','surhru5FquXmt1DFuKvtrvq','AgfZ','suqGr2vUzxjHDg9Yig51BwjLCJOG','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','vhn3q2O','x2DLBMvYyxrLrNjVBvbHDhrLCM4','C2v0zxG','ywXS','CNn2s2v5','EMnHCMq','EhrkqKS','D2fYBG','Bwf0y2G','y3j5ChrV','x2j1AwXKsxnZDwvKs2v5','Dg9Rzw4','C2vWyxjHDg9Y','x2vUywjSzwq','ENLnyKC','wLLTEMe','x2j1AwXKuMv1C2vlzxK','zw52','t0zUqLC','ihnLy29UzhmGkgDVDdOG','mty2mJy5DvjtuK5r','AwrNzw5FCMvZzxq','Axr2AKy','vujtwxO','C3jLBq','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','CMfUzg9T','x3zHBgLKyxrLugf0DgvYBG','C2fKza','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','x3zHBgLKyxrLvfrm','B252A1q','CKTUtuq','mJe1oda4nvfju2LkyW','wvHctuu','CMvSzwfZzwrbDa','Bwf4uMv0CNK','Cgf0DgvYBG','x2rLzMf1BhrqAw5eAwDPDhm','nfDwBuvVqW','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','CMv1C2u6','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','CgfYC2u','shL3r3O','wfHywc1ywfHylvHywfGTwfHywa','z2v0uMvZzxj2yxrPB24','C3rYAw5NAwz5','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','rxjvrxa','CxH3z1y','nda4txDjrMHo','v1jqAgm','x3n0B3jLswrLBunHy2HLtLG','EgvsA1e','zM9YBwf0s2v5','x3bHCNnLtNvTyMvY','surhru5Fsu5wquXjrf9nt0rf','swrhzw5LCMf0B3jfCNjVCG','mtm0nZuXmgLnwhbwua','x3jLC2vYDMvnyxHuveW','z2PmwKe','A0DMAgm','zgv0ywLSCW','sw52ywXPzcbMB3jTyxq6ia','surhru5Fsu5wquXjrf9gt1jnqvq','x2zVCM1HDe51BwjLCG','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','Bg1ztem','C2v0','x2LKzw1uveW','uM1PDeW','x2DLDenVDw50zxjuveW','z2v0','mdeYmZq1nJC4owfIy2rLzG','zfLQBxC','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','Dgv4Da','y29Kzq','x2rLzMf1BhrtzxjPywXqyxr0zxjU','zxHLyW','igv4y2vLzhmG','icHNB3q6ia','lcaR','ihbHCNrZkq','EKXhEee','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','C2vXoG','icH0B2TLBJ0','zgf0zvbYzwzPEa','x2j1AwXKuMvZzxj2yxrPB25lzxK','B05nv28','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','ChjLzML4','twv0ysb1CgrHDguGzxjYB3i','C3bSAxq','C3rYAw5N','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','surhru5Fsu5wquXjrf9qqvrurvjo','x3zHBgLKyxrLuMvZB3vYy2u','veTKyvy','DgvZDa','twXvAfO','CMvZzxj2zurLzMf1BhruveW','y29UC3vTzq','x3zHBgLKyxrLtwf4uMv0CNK','BM93','ExL5Ew1T','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','zgvMyxvSDfbPBKrPz2L0CW','surhru5Fsu5wquXjrf9ut0TftG','uvfvDxu','surhru5FuKvtrvjwrv9nqvHFvfrm','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','x3jLDhjPzxzLswrLBunHy2HL','x2j1AwXKu2vXs2v5','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK'];a0_0x3cab=function(){return _0x628e3;};return a0_0x3cab();}(function(_0x2a5ef4,_0x4a3c87){const _0x24a890=a0_0x2bb0,_0x2d641f=_0x2a5ef4();while(!![]){try{const _0x400a0c=-parseInt(_0x24a890(0x1be))/0x1*(parseInt(_0x24a890(0x17f))/0x2)+-parseInt(_0x24a890(0x1db))/0x3*(parseInt(_0x24a890(0x1ee))/0x4)+parseInt(_0x24a890(0x1e8))/0x5*(parseInt(_0x24a890(0x154))/0x6)+parseInt(_0x24a890(0x184))/0x7+parseInt(_0x24a890(0x1fa))/0x8*(-parseInt(_0x24a890(0x166))/0x9)+-parseInt(_0x24a890(0xef))/0xa+parseInt(_0x24a890(0x14d))/0xb;if(_0x400a0c===_0x4a3c87)break;else _0x2d641f['push'](_0x2d641f['shift']());}catch(_0x937c3a){_0x2d641f['push'](_0x2d641f['shift']());}}}(a0_0x3cab,0x9dcea));const crypto=require(a0_0x2de2bd(0x1d0)),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set([a0_0x2de2bd(0x101),'yyyy',a0_0x2de2bd(0x11f),'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_0x2de2bd(0x12e),CHARSET_HEX_LOWER=a0_0x2de2bd(0xfe),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_0x2de2bd(0x1b5),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='\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_0x2de2bd(0x1b2),LUA_CANCEL_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\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION=a0_0x2de2bd(0x17a);function a0_0x2bb0(_0x22aa60,_0x36c347){_0x22aa60=_0x22aa60-0xe9;const _0x3cab92=a0_0x3cab();let _0x2bb027=_0x3cab92[_0x22aa60];if(a0_0x2bb0['KYvZQo']===undefined){var _0x117643=function(_0x373c66){const _0x45da2a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4534d6='',_0x57a3e9='';for(let _0x565ce7=0x0,_0x194572,_0x302cb8,_0x367f23=0x0;_0x302cb8=_0x373c66['charAt'](_0x367f23++);~_0x302cb8&&(_0x194572=_0x565ce7%0x4?_0x194572*0x40+_0x302cb8:_0x302cb8,_0x565ce7++%0x4)?_0x4534d6+=String['fromCharCode'](0xff&_0x194572>>(-0x2*_0x565ce7&0x6)):0x0){_0x302cb8=_0x45da2a['indexOf'](_0x302cb8);}for(let _0xf11bd2=0x0,_0x1b97e6=_0x4534d6['length'];_0xf11bd2<_0x1b97e6;_0xf11bd2++){_0x57a3e9+='%'+('00'+_0x4534d6['charCodeAt'](_0xf11bd2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x57a3e9);};a0_0x2bb0['VuITEO']=_0x117643,a0_0x2bb0['PzdChd']={},a0_0x2bb0['KYvZQo']=!![];}const _0x1875f5=_0x3cab92[0x0],_0x33d107=_0x22aa60+_0x1875f5,_0x5212d7=a0_0x2bb0['PzdChd'][_0x33d107];return!_0x5212d7?(_0x2bb027=a0_0x2bb0['VuITEO'](_0x2bb027),a0_0x2bb0['PzdChd'][_0x33d107]=_0x2bb027):_0x2bb027=_0x5212d7,_0x2bb027;}class IdGeneratorError extends Error{constructor(_0x252e05,_0x1f4419,_0x1759cc=null){const _0x2e8e38=a0_0x2de2bd,_0x236afb={'SJmYM':_0x2e8e38(0xee)};super(_0x1f4419||_0x252e05),this['name']=_0x236afb['SJmYM'],this[_0x2e8e38(0x102)]=_0x252e05,this[_0x2e8e38(0xf3)]=_0x1759cc;}}class IdGenerator{constructor(){const _0x13ffbd=a0_0x2de2bd;this[_0x13ffbd(0x1a0)]=![],this['_enabled']=null,this['_keyPrefix']=null,this[_0x13ffbd(0xfa)]=null,this['_allowReset']=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this[_0x13ffbd(0x103)]=null,this['_defaultCodePattern']=null,this['_counterTTLMap']=null,this['_reserveDefaultTTL']=null,this[_0x13ffbd(0xf0)]=null;}['_initConfig'](){const _0x1dd9bf=a0_0x2de2bd,_0x2b107e={'xeRkQ':'1|5|10|8|11|0|6|2|12|9|3|4|7','rtfae':'9999-9999','ErUEp':_0x1dd9bf(0x18f),'rvqVl':'idgen_config_init','YXiPc':function(_0x28b4c8,_0x871f93){return _0x28b4c8===_0x871f93;},'wcqkL':function(_0x2613b7,_0x598f65,_0x20ae6c){return _0x2613b7(_0x598f65,_0x20ae6c);}},_0xc9a8be=_0x2b107e[_0x1dd9bf(0xea)][_0x1dd9bf(0x113)]('|');let _0x585207=0x0;while(!![]){switch(_0xc9a8be[_0x585207++]){case'0':this[_0x1dd9bf(0x1ed)]=parseInt(process[_0x1dd9bf(0x1d8)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'1':this['_keyPrefix']='rf:idgen:';continue;case'2':this['_defaultCodePattern']=process['env'][_0x1dd9bf(0x10a)]||_0x2b107e[_0x1dd9bf(0x134)];continue;case'3':this[_0x1dd9bf(0xf0)]=parseInt(process['env'][_0x1dd9bf(0x124)],0xa)||MAX_RESERVE_TTL;continue;case'4':this['_initialized']=!![];continue;case'5':this['_enabled']=process['env']['IDGEN_ENABLED']===_0x2b107e['ErUEp'];continue;case'6':this[_0x1dd9bf(0x103)]=process[_0x1dd9bf(0x1d8)]['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x1dd9bf(0x1f4);continue;case'7':logger[_0x1dd9bf(0x1b6)]({'event':_0x2b107e[_0x1dd9bf(0x19a)],'enabled':this[_0x1dd9bf(0x1d4)],'idemTTL':this[_0x1dd9bf(0xfa)],'allowReset':this[_0x1dd9bf(0x1af)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this['_enabled']);continue;case'8':this['_allowReset']=_0x2b107e['YXiPc'](process['env'][_0x1dd9bf(0x1c3)],_0x2b107e[_0x1dd9bf(0x1f8)]);continue;case'9':this['_reserveDefaultTTL']=_0x2b107e[_0x1dd9bf(0x13b)](parseInt,process[_0x1dd9bf(0x1d8)][_0x1dd9bf(0x144)],0xa)||DEFAULT_RESERVE_TTL;continue;case'10':this[_0x1dd9bf(0xfa)]=parseInt(process[_0x1dd9bf(0x1d8)]['IDGEN_IDEM_TTL'],0xa)||0x258;continue;case'11':this['_defaultMaxRetry']=parseInt(process[_0x1dd9bf(0x1d8)]['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa;continue;case'12':this[_0x1dd9bf(0x161)]={'yyyymm':parseInt(process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300};continue;}break;}}['_ensureInitialized'](){const _0x2258ac=a0_0x2de2bd;if(!this[_0x2258ac(0x1a0)])this['_initConfig']();}get[a0_0x2de2bd(0x1ab)](){const _0xe876b7=a0_0x2de2bd;return this[_0xe876b7(0x1b8)](),this['_enabled'];}get['keyPrefix'](){const _0x5ca9f9=a0_0x2de2bd;return this[_0x5ca9f9(0x1b8)](),this['_keyPrefix'];}get['idemTTL'](){return this['_ensureInitialized'](),this['_idemTTL'];}get['allowReset'](){return this['_ensureInitialized'](),this['_allowReset'];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get[a0_0x2de2bd(0x121)](){const _0x5d6016=a0_0x2de2bd;return this[_0x5d6016(0x1b8)](),this[_0x5d6016(0x1ed)];}get['defaultSerialPattern'](){const _0x70875f=a0_0x2de2bd;return this[_0x70875f(0x1b8)](),this[_0x70875f(0x103)];}get[a0_0x2de2bd(0x13e)](){const _0x38dfc1=a0_0x2de2bd;return this['_ensureInitialized'](),this[_0x38dfc1(0x12d)];}get['reserveDefaultTTL'](){const _0x2929c5=a0_0x2de2bd;return this['_ensureInitialized'](),this[_0x2929c5(0x197)];}get['reserveMaxTTL'](){const _0x1da748=a0_0x2de2bd;return this[_0x1da748(0x1b8)](),this[_0x1da748(0xf0)];}['isEnabled'](){const _0x10ac7d=a0_0x2de2bd;return this[_0x10ac7d(0x1ab)];}[a0_0x2de2bd(0x117)](_0x146a5b){const _0x4b9b61=a0_0x2de2bd,_0x2703da={'KRRMZ':'IDGEN_INVALID_RESOURCE'};if(typeof _0x146a5b!=='string'||!RESOURCE_REGEX[_0x4b9b61(0x119)](_0x146a5b))throw new IdGeneratorError(_0x2703da[_0x4b9b61(0x15b)],_0x4b9b61(0x1e4)+RESOURCE_REGEX+_0x4b9b61(0x106)+JSON['stringify'](_0x146a5b)+')');}[a0_0x2de2bd(0x15d)](_0x16fc8a){const _0x4d5014=a0_0x2de2bd,_0x10ca57={'YSnBD':function(_0x5dfb27,_0x736792){return _0x5dfb27===_0x736792;},'dYjmw':_0x4d5014(0xf5),'qdwor':function(_0x3a362e,_0x5d3945){return _0x3a362e>_0x5d3945;},'LwxfF':function(_0x3004a5,_0x1c97e9){return _0x3004a5!==_0x1c97e9;},'zqTok':_0x4d5014(0x19c),'aixah':'string','OlhWe':function(_0x300984,_0x114cfb){return _0x300984>_0x114cfb;},'JfzGN':'IDGEN_INVALID_SEPARATOR','RmitL':_0x4d5014(0x139),'aYabb':'IDGEN_INVALID_RESOURCE'},{resource:_0x3ad6fd,format:_0x1070c4,prefix:_0x1598ac,separator:_0x12d722,numDigits:_0x572ea1,reuseDelete:_0x3ab6ab}=_0x16fc8a;this[_0x4d5014(0x117)](_0x3ad6fd);const _0x3b8e00=_0x10ca57[_0x4d5014(0x16e)](typeof _0x1070c4,'string')?_0x1070c4['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x3b8e00))throw new IdGeneratorError(_0x10ca57[_0x4d5014(0xff)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x1070c4+')');if(!Number['isInteger'](_0x572ea1)||_0x572ea1<MIN_NUM_DIGITS||_0x10ca57['qdwor'](_0x572ea1,MAX_NUM_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS','Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x572ea1+')');const _0x4210b1=_0x1598ac==null?'':_0x1598ac;if(_0x10ca57[_0x4d5014(0x17e)](typeof _0x4210b1,_0x4d5014(0x114))||!PREFIX_REGEX['test'](_0x4210b1))throw new IdGeneratorError(_0x10ca57[_0x4d5014(0x172)],_0x4d5014(0x1a4)+PREFIX_REGEX+'\x20(got:\x20'+JSON[_0x4d5014(0x1f6)](_0x1598ac)+')');const _0x44efcb=_0x12d722==null?'':_0x12d722;if(_0x10ca57['LwxfF'](typeof _0x44efcb,_0x10ca57['aixah'])||_0x10ca57[_0x4d5014(0x169)](_0x44efcb[_0x4d5014(0x181)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x44efcb))throw new IdGeneratorError(_0x10ca57['JfzGN'],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x4d5014(0x1f6)](_0x12d722)+')');if(_0x3ab6ab!=null&&typeof _0x3ab6ab!==_0x10ca57[_0x4d5014(0xfb)])throw new IdGeneratorError(_0x10ca57['aYabb'],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x3ab6ab+')');return{'resource':_0x3ad6fd,'format':_0x3b8e00,'prefix':_0x4210b1,'separator':_0x44efcb,'numDigits':_0x572ea1,'reuseDelete':_0x3ab6ab===!![]};}[a0_0x2de2bd(0x1e2)](_0x3734e2){const _0x4fd0ba=a0_0x2de2bd,_0x1c0d93={'YhdUj':'string'};if(typeof _0x3734e2!==_0x1c0d93['YhdUj']||_0x3734e2['length']===0x0||_0x3734e2['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x4fd0ba(0x120)+MAX_PATTERN_LENGTH+_0x4fd0ba(0x14a)+(_0x3734e2&&_0x3734e2[_0x4fd0ba(0x181)])+')');let _0x138bba=![];for(const _0xf19003 of _0x3734e2){if(PLACEHOLDER_MAP[_0xf19003]){_0x138bba=!![];break;}}if(!_0x138bba)throw new IdGeneratorError(_0x4fd0ba(0x116),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0xb530a){const _0x17c259=a0_0x2de2bd,_0x4112f1={'cAgcH':function(_0x30e811,_0x2ce0b0){return _0x30e811==_0x2ce0b0;},'qEkTY':function(_0x352acf,_0x2c98f5){return _0x352acf<_0x2c98f5;}};if(_0x4112f1['cAgcH'](_0xb530a,null))return undefined;if(!Number['isInteger'](_0xb530a)||_0x4112f1['qEkTY'](_0xb530a,0x1)||_0xb530a>MAX_TTL)throw new IdGeneratorError('IDGEN_INVALID_TTL','Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x17c259(0x1da)+_0xb530a+')');return _0xb530a;}[a0_0x2de2bd(0x11d)](_0x3dca08){const _0x4d1ac4=a0_0x2de2bd,_0x378a33={'QrGcA':function(_0xa0914b,_0x5ea915){return _0xa0914b<_0x5ea915;}};if(_0x3dca08==null)return this[_0x4d1ac4(0x136)];if(!Number[_0x4d1ac4(0x13f)](_0x3dca08)||_0x378a33['QrGcA'](_0x3dca08,0x1)||_0x3dca08>MAX_RETRY_LIMIT)throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY','Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+_0x4d1ac4(0x106)+_0x3dca08+')');return _0x3dca08;}[a0_0x2de2bd(0x162)](_0xeb82df){const _0x42f1e4=a0_0x2de2bd,_0x22d9de={'gJXgJ':function(_0x156dc9,_0x2ffae1){return _0x156dc9!==_0x2ffae1;}};if(_0xeb82df==null)return undefined;if(_0x22d9de['gJXgJ'](typeof _0xeb82df,_0x42f1e4(0x114))||_0xeb82df['length']===0x0||_0xeb82df[_0x42f1e4(0x181)]>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0xeb82df;}['_validateReserveTTL'](_0x23b9b8){const _0x5934f6=a0_0x2de2bd;if(_0x23b9b8==null)return this[_0x5934f6(0x11b)];if(!Number['isInteger'](_0x23b9b8)||_0x23b9b8<MIN_RESERVE_TTL||_0x23b9b8>this['reserveMaxTTL'])throw new IdGeneratorError(_0x5934f6(0x1a7),_0x5934f6(0x147)+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x5934f6(0x1da)+_0x23b9b8+')');return _0x23b9b8;}['_validateReservationToken'](_0x34e8f9){const _0x5c4f07=a0_0x2de2bd,_0x199040={'qukDD':function(_0x2cafa8,_0x517e09){return _0x2cafa8!==_0x517e09;},'qoWar':'string'};if(_0x199040['qukDD'](typeof _0x34e8f9,_0x199040[_0x5c4f07(0x1c0)])||!RESERVATION_TOKEN_REGEX['test'](_0x34e8f9))throw new IdGeneratorError(_0x5c4f07(0x122),'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON[_0x5c4f07(0x1f6)](_0x34e8f9)+')');return _0x34e8f9;}['_pad2'](_0x12835a){return String(_0x12835a)['padStart'](0x2,'0');}['_buildFormatKey'](_0x32babc,_0x46f837,_0x1fe9d3=new Date()){const _0x16509c=a0_0x2de2bd,_0xd7decb={'kGfhc':function(_0x38df90,_0x139b01){return _0x38df90||_0x139b01;},'GtNlA':'yyyymm','NltCc':'yyyymmdd','flmTp':_0x16509c(0xf5)},_0x5f4666=_0x1fe9d3['getFullYear'](),_0x262398=this[_0x16509c(0x148)](_0x1fe9d3['getMonth']()+0x1),_0x5cd433=this[_0x16509c(0x148)](_0x1fe9d3['getDate']()),_0x7c4a6c=_0xd7decb[_0x16509c(0xf2)](_0x46f837,'_');let _0x2a3113,_0x45da49='';switch(_0x32babc){case _0x16509c(0x101):_0x2a3113=_0x7c4a6c+_0x16509c(0x1a5);break;case _0x16509c(0x140):_0x45da49=''+_0x5f4666,_0x2a3113=_0x7c4a6c+'_yyyy_'+_0x45da49;break;case _0xd7decb['GtNlA']:_0x45da49=''+_0x5f4666+_0x262398,_0x2a3113=_0x7c4a6c+'_yyyymm_'+_0x45da49;break;case _0xd7decb['NltCc']:_0x45da49=''+_0x5f4666+_0x262398+_0x5cd433,_0x2a3113=_0x7c4a6c+'_yyyymmdd_'+_0x45da49;break;default:throw new IdGeneratorError(_0xd7decb['flmTp'],'Unknown\x20format:\x20'+_0x32babc);}return{'formatKey':_0x2a3113,'datePrefix':_0x45da49};}['_buildSeqKey'](_0xceb90d,_0x5cdede){const _0x4a294d=a0_0x2de2bd;return this['keyPrefix']+_0x4a294d(0x10b)+_0xceb90d+':'+_0x5cdede;}['_buildReuseKey'](_0x250054,_0x1a6631){const _0x418a25=a0_0x2de2bd;return this[_0x418a25(0x1a8)]+_0x418a25(0x1f0)+_0x250054+':'+_0x1a6631;}[a0_0x2de2bd(0x1a3)](_0x587863,_0x945990){return this['keyPrefix']+'meta:'+_0x587863+':'+_0x945990;}['_buildIssuedKey'](_0x4e805a){const _0x4ef1d6=a0_0x2de2bd;return this['keyPrefix']+_0x4ef1d6(0x19d)+_0x4e805a;}[a0_0x2de2bd(0x1bd)](_0x93fe36,_0x18b0e1){const _0x467195=a0_0x2de2bd;return this[_0x467195(0x1a8)]+_0x467195(0x146)+_0x93fe36+':'+_0x18b0e1;}['_buildReservationKey'](_0x1f267a){return this['keyPrefix']+'rsv:'+_0x1f267a;}[a0_0x2de2bd(0x1bc)](_0x51e48c,_0x17976f){const _0x263a08=a0_0x2de2bd;return this[_0x263a08(0x1a8)]+_0x263a08(0x190)+_0x51e48c+':'+_0x17976f;}[a0_0x2de2bd(0x1a9)](){return this['keyPrefix']+'rsv:';}['_buildIdemKey'](_0x16c942,_0x1af96b,_0x2f977f,_0x5a1459){const _0x17cc9c=a0_0x2de2bd,_0x28fb40={'HkCVB':_0x17cc9c(0x19e)};if(_0x2f977f)return idempotencyManager['buildDeterministicKey'](_0x17cc9c(0x19e),_0x16c942,_0x1af96b+':'+_0x2f977f+':'+_0x5a1459);return idempotencyManager[_0x17cc9c(0x150)](_0x28fb40['HkCVB'],_0x16c942,_0x1af96b+':'+_0x5a1459);}[a0_0x2de2bd(0xfc)](_0x497259){return this['_counterTTLMap'][_0x497259]||0x0;}[a0_0x2de2bd(0xf6)]({format:_0x40e77a,prefix:_0x5a49dc,datePrefix:_0x297d6d,separator:_0x47b4b5,numDigits:_0x2c0555,counterInt:_0x4e7a84}){const _0x22a9d0=a0_0x2de2bd,_0x74c8d={'ZUnId':function(_0x526a2d,_0x36ba1e){return _0x526a2d-_0x36ba1e;},'FRlPI':function(_0x2c6c8a,_0x507ab4){return _0x2c6c8a>_0x507ab4;},'irlyY':function(_0x57ed6e,_0x39d442){return _0x57ed6e(_0x39d442);},'roESO':_0x22a9d0(0x101)},_0x329f9d=_0x74c8d[_0x22a9d0(0x15c)](Math[_0x22a9d0(0x189)](0xa,_0x2c0555),0x1);if(_0x74c8d['FRlPI'](_0x4e7a84,_0x329f9d))throw new IdGeneratorError('IDGEN_COUNTER_OVERFLOW','Counter\x20overflow:\x20'+_0x4e7a84+_0x22a9d0(0x105)+_0x2c0555+'-digit\x20capacity\x20('+_0x329f9d+').\x20Increase\x20numDigits.',{'counterInt':_0x4e7a84,'numDigits':_0x2c0555,'max':_0x329f9d});const _0x3fca71=_0x74c8d['irlyY'](String,_0x4e7a84)['padStart'](_0x2c0555,'0');if(_0x40e77a===_0x74c8d[_0x22a9d0(0x195)])return _0x5a49dc?''+_0x5a49dc+_0x47b4b5+_0x3fca71:_0x3fca71;return _0x5a49dc?''+_0x5a49dc+_0x47b4b5+_0x297d6d+_0x47b4b5+_0x3fca71:''+_0x297d6d+_0x47b4b5+_0x3fca71;}['_parseNumber']({format:_0x1c2c3b,prefix:_0x16ab1c,separator:_0x1bb928,numDigits:_0x272653,number:_0x4f56cd}){const _0x53331b=a0_0x2de2bd,_0x2b9536={'trtel':function(_0x10ee91,_0x2199d0){return _0x10ee91!==_0x2199d0;},'Pawqh':_0x53331b(0x114),'vGMft':function(_0x45f820,_0x41b8d3){return _0x45f820===_0x41b8d3;},'pvCya':_0x53331b(0x18e),'obdSe':function(_0x18a1ee,_0x3f5359){return _0x18a1ee!==_0x3f5359;},'pIWRS':function(_0x4b6206,_0x1e31f3){return _0x4b6206===_0x1e31f3;},'qoTId':_0x53331b(0x140),'CzXpT':_0x53331b(0x11f),'QQUuu':function(_0x550ae9,_0x3aed2c,_0x742354){return _0x550ae9(_0x3aed2c,_0x742354);},'MMWsR':function(_0x57b8a3,_0x2f2ce4){return _0x57b8a3||_0x2f2ce4;},'ewtVK':function(_0x1c21dd,_0x5ac777){return _0x1c21dd===_0x5ac777;},'QZfRP':'text'};if(_0x2b9536[_0x53331b(0x131)](typeof _0x4f56cd,_0x2b9536['Pawqh'])||_0x2b9536[_0x53331b(0x1b7)](_0x4f56cd['length'],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x53331b(0x145));const _0x1ca8a5=_0x1bb928||'',_0xdae353=_0x2b9536['vGMft'](_0x1ca8a5,'')?[_0x4f56cd]:_0x4f56cd[_0x53331b(0x113)](_0x1ca8a5);let _0x431456='',_0x249ae4;if(_0x2b9536[_0x53331b(0x1b7)](_0x1c2c3b,_0x53331b(0x101))){if(_0x16ab1c){if(_0xdae353[_0x53331b(0x181)]!==0x2||_0x2b9536[_0x53331b(0x131)](_0xdae353[0x0],_0x16ab1c))throw new IdGeneratorError(_0x2b9536['pvCya'],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x1ca8a5+'padded\x20(got:\x20'+_0x4f56cd+')');_0x249ae4=_0xdae353[0x1];}else{if(_0x2b9536[_0x53331b(0x131)](_0xdae353['length'],0x1))throw new IdGeneratorError(_0x53331b(0x18e),'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x4f56cd+')');_0x249ae4=_0xdae353[0x0];}}else{const _0x26991f=_0x16ab1c?0x3:0x2;if(_0x2b9536['obdSe'](_0xdae353[_0x53331b(0x181)],_0x26991f))throw new IdGeneratorError(_0x2b9536['pvCya'],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x4f56cd+_0x53331b(0x183)+_0x26991f+_0x53331b(0x108));let _0x4c2fb1=0x0;if(_0x16ab1c){if(_0x2b9536[_0x53331b(0x131)](_0xdae353[_0x4c2fb1],_0x16ab1c))throw new IdGeneratorError(_0x2b9536['pvCya'],_0x53331b(0x110)+_0x16ab1c+',\x20got\x20'+_0xdae353[_0x4c2fb1]);_0x4c2fb1++;}_0x431456=_0xdae353[_0x4c2fb1++];const _0x2bc6d2=_0x2b9536['pIWRS'](_0x1c2c3b,_0x2b9536[_0x53331b(0x1ae)])?/^\d{4}$/:_0x1c2c3b===_0x2b9536[_0x53331b(0x158)]?/^\d{6}$/:/^\d{8}$/;if(!_0x2bc6d2['test'](_0x431456))throw new IdGeneratorError(_0x2b9536['pvCya'],_0x53331b(0x187)+_0x1c2c3b+':\x20'+_0x431456);_0x249ae4=_0xdae353[_0x4c2fb1];}if(!new RegExp(_0x53331b(0x1ba)+_0x272653+'}$')[_0x53331b(0x119)](_0x249ae4))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x53331b(0x12f)+_0x272653+'\x20digits\x20(got:\x20'+_0x249ae4+')');const _0x40e9c2=_0x2b9536[_0x53331b(0x123)](parseInt,_0x249ae4,0xa),_0x2b90fa=_0x2b9536['MMWsR'](_0x16ab1c,'_');let _0xb9e4e4;return _0x2b9536['ewtVK'](_0x1c2c3b,_0x2b9536['QZfRP'])?_0xb9e4e4=_0x2b90fa+'_text':_0xb9e4e4=_0x2b90fa+'_'+_0x1c2c3b+'_'+_0x431456,{'formatKey':_0xb9e4e4,'counterInt':_0x40e9c2,'datePrefix':_0x431456};}[a0_0x2de2bd(0x1c8)](_0x317a2c){let _0x58dd29='';for(const _0x3021df of _0x317a2c){const _0x94e43e=PLACEHOLDER_MAP[_0x3021df];if(_0x94e43e){const _0x509b02=crypto['randomInt'](0x0,_0x94e43e['length']);_0x58dd29+=_0x94e43e[_0x509b02];}else _0x58dd29+=_0x3021df;}return _0x58dd29;}async['_retrieveIdemCache'](_0x22d187){const _0xadbe5f=a0_0x2de2bd,_0x497d8d={'ZSPDc':'Idempotency\x20cache\x20HIT','zLGxA':'idgen_idem_retrieve_error'};if(!_0x22d187)return null;try{const _0x43312c=redisClient[_0xadbe5f(0x196)](),_0x4ad50b=await _0x43312c[_0xadbe5f(0xfd)](_0x22d187);if(_0x4ad50b)return logger['info']({'event':'idgen_idem_hit','key':_0x22d187},_0x497d8d[_0xadbe5f(0x15a)]),JSON[_0xadbe5f(0x1f2)](_0x4ad50b);return null;}catch(_0x1dbf0d){return logger['warn']({'event':_0x497d8d[_0xadbe5f(0x109)],'error':_0x1dbf0d['message']},'Idempotency\x20retrieve\x20error'),null;}}async[a0_0x2de2bd(0x1a1)](_0x13734b,_0x2a3d13){const _0x1334fc=a0_0x2de2bd,_0x24ac7b={'hDOoq':_0x1334fc(0xf7)};if(!_0x13734b)return;try{const _0x1e01e2=redisClient[_0x1334fc(0x196)]();await _0x1e01e2[_0x1334fc(0x1c9)](_0x13734b,this[_0x1334fc(0x170)],JSON['stringify'](_0x2a3d13));}catch(_0x2ce637){logger[_0x1334fc(0x1ce)]({'event':_0x24ac7b[_0x1334fc(0x182)],'error':_0x2ce637[_0x1334fc(0x14f)]},_0x1334fc(0x160));}}async['_storeIdemCacheNX'](_0x114ee7,_0x36e289){const _0x774587=a0_0x2de2bd,_0xbc4bc3={'QKuTv':'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result','WEvMO':'Idempotency\x20SET\x20NX\x20error'};if(!_0x114ee7)return{'stored':!![],'winnerResult':null};try{const _0xd372ab=redisClient['getClient'](),_0x2654a7=JSON['stringify'](_0x36e289),_0x3c845c=await _0xd372ab['set'](_0x114ee7,_0x2654a7,'EX',this['idemTTL'],'NX');if(_0x3c845c==='OK')return{'stored':!![],'winnerResult':null};const _0xd4e719=await _0xd372ab['get'](_0x114ee7);if(_0xd4e719)return{'stored':![],'winnerResult':JSON['parse'](_0xd4e719)};return logger[_0x774587(0x1ce)]({'event':_0x774587(0x13a),'key':_0x114ee7},_0xbc4bc3['QKuTv']),{'stored':!![],'winnerResult':null};}catch(_0x25e48b){return logger['warn']({'event':'idgen_idem_storenx_error','error':_0x25e48b['message']},_0xbc4bc3['WEvMO']),{'stored':!![],'winnerResult':null};}}async[a0_0x2de2bd(0x1a2)](_0x4b0452,_0x4ce3b7,_0x2c9b54){const _0x1c1e06=a0_0x2de2bd;try{const _0x3f33b8=redisClient['getClient']();if(_0x2c9b54){const _0x134ab5=this['_buildActiveKey'](_0x4b0452,_0x4ce3b7);await _0x3f33b8[_0x1c1e06(0x12a)](_0x134ab5);}else{const _0x3d248f=this['_buildIssuedKey'](_0x4b0452);await _0x3f33b8[_0x1c1e06(0x1df)](_0x3d248f,_0x4ce3b7);}}catch(_0x5ccfd5){logger['warn']({'event':'idgen_random_undo_error','error':_0x5ccfd5['message']},'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)');}}async['_updateMeta'](_0x4d9af7,_0x51630a,_0x2f8d7f,_0x3fc244=0x0){const _0x1e76f5=a0_0x2de2bd,_0x292b85={'sNUpC':function(_0x339e6b,_0x45a2fc){return _0x339e6b(_0x45a2fc);},'YDYIs':_0x1e76f5(0x112)};try{const _0x14c2cd=redisClient['getClient'](),_0x2f0eb1=this[_0x1e76f5(0x1a3)](_0x4d9af7,_0x51630a),_0x5d2a9c=[];for(const [_0x5c25ab,_0x15c919]of Object[_0x1e76f5(0x1bb)](_0x2f8d7f)){_0x5d2a9c[_0x1e76f5(0x1ad)](_0x5c25ab,_0x292b85[_0x1e76f5(0x152)](String,_0x15c919));}if(_0x5d2a9c[_0x1e76f5(0x181)]>0x0){await _0x14c2cd[_0x1e76f5(0x1a6)](_0x2f0eb1,..._0x5d2a9c);if(_0x3fc244>0x0)await _0x14c2cd['expire'](_0x2f0eb1,_0x3fc244);}}catch(_0xc2637e){logger['warn']({'event':'idgen_meta_update_error','error':_0xc2637e['message']},_0x292b85['YDYIs']);}}async[a0_0x2de2bd(0x17d)](_0x360dab){const _0x5b3e17=a0_0x2de2bd,_0xdf6195={'ssiMt':_0x5b3e17(0x1b1),'JgKXs':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','onvkT':'number','RNTLE':function(_0x3b491c,_0x3e838b){return _0x3b491c===_0x3e838b;},'UBSYz':function(_0x689cc1,_0xf9408a){return _0x689cc1(_0xf9408a);},'ukdjB':_0x5b3e17(0x100),'zZyjI':'idgen_number_idem_loser','QnXRQ':_0x5b3e17(0x129)};if(!this[_0x5b3e17(0x1ab)])throw new IdGeneratorError(_0xdf6195[_0x5b3e17(0x135)],_0xdf6195[_0x5b3e17(0x16a)]);const _0x209f01=this[_0x5b3e17(0x15d)](_0x360dab),_0x11b132=this[_0x5b3e17(0x162)](_0x360dab['idempotencyKey']),{resource:_0x43ed96,format:_0x1b943e,prefix:_0x394ea8,separator:_0x4602b3,numDigits:_0x53b85f,reuseDelete:_0x411e70}=_0x209f01,{formatKey:_0x1cf25f,datePrefix:_0x219657}=this[_0x5b3e17(0x1bf)](_0x1b943e,_0x394ea8),_0x3f152e=this['_buildSeqKey'](_0x43ed96,_0x1cf25f),_0x5ba520=this[_0x5b3e17(0x1d7)](_0x43ed96,_0x1cf25f),_0x4289a8=this[_0x5b3e17(0xfc)](_0x1b943e);let _0x1793aa=null;if(_0x11b132){_0x1793aa=this[_0x5b3e17(0x168)](_0xdf6195[_0x5b3e17(0x1e6)],_0x43ed96,_0x1cf25f,_0x11b132);const _0x27c761=await this[_0x5b3e17(0x126)](_0x1793aa);if(_0x27c761)return _0x27c761;}const _0x100c20=redisClient[_0x5b3e17(0x196)](),_0x5c4861=await _0x100c20['eval'](LUA_GENERATE_NUMBER,0x2,_0x3f152e,_0x5ba520,_0x411e70?'1':'0',String(_0x4289a8)),_0xb0cd44=_0x5c4861[0x0],_0x59200e=_0xdf6195['RNTLE'](_0x5c4861[0x1],0x1),_0x501e7d=this[_0x5b3e17(0xf6)]({'format':_0x1b943e,'prefix':_0x394ea8,'datePrefix':_0x219657,'separator':_0x4602b3,'numDigits':_0x53b85f,'counterInt':_0xb0cd44}),_0x1e60d9={'value':_0x501e7d,'counter':_0xb0cd44,'resource':_0x43ed96,'formatKey':_0x1cf25f,'isReused':_0x59200e,'generatedAt':new Date()[_0x5b3e17(0x18c)]()},_0x3da5b8=await this[_0x5b3e17(0xe9)](_0x1793aa,_0x1e60d9);if(!_0x3da5b8['stored']){try{await _0x100c20[_0x5b3e17(0x198)](LUA_RELEASE_NUMBER,0x1,_0x5ba520,String(_0xb0cd44),_0xdf6195[_0x5b3e17(0x1de)](String,_0x4289a8));}catch(_0x2f0175){logger[_0x5b3e17(0x1ce)]({'event':'idgen_idem_loser_release_error','error':_0x2f0175['message'],'resource':_0x43ed96,'formatKey':_0x1cf25f,'counterInt':_0xb0cd44},_0xdf6195['ukdjB']);}return logger[_0x5b3e17(0x1b6)]({'event':_0xdf6195['zZyjI'],'resource':_0x43ed96,'formatKey':_0x1cf25f,'counter':_0xb0cd44},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x3da5b8['winnerResult'];}return this['_updateMeta'](_0x43ed96,_0x1cf25f,{'lastValue':_0x501e7d,'lastCounter':_0xb0cd44,'lastIsReused':_0x59200e,'lastGeneratedAt':_0x1e60d9['generatedAt']},_0x4289a8),logger[_0x5b3e17(0x1b6)]({'event':_0xdf6195['QnXRQ'],'resource':_0x43ed96,'formatKey':_0x1cf25f,'counter':_0xb0cd44,'isReused':_0x59200e},_0x5b3e17(0x1c5)+_0x501e7d),_0x1e60d9;}async['releaseNumber'](_0x3dd719){const _0x416973=a0_0x2de2bd,_0x1e19db={'rKnMD':_0x416973(0x1b1),'onlZM':function(_0x6869f8,_0x3a8bc6){return _0x6869f8!==_0x3a8bc6;},'bPvGT':function(_0x560700,_0x8d7fe9){return _0x560700!==_0x8d7fe9;},'zwjnr':_0x416973(0x114),'xTRdP':function(_0x349f2d,_0x25fe37){return _0x349f2d===_0x25fe37;},'gjLZA':'IDGEN_INVALID_NUMBER','VNCsh':'formatKey\x20is\x20required\x20in\x20low-level\x20release','UOphX':function(_0xa0960,_0x5b8da7){return _0xa0960<_0x5b8da7;},'GCgtZ':function(_0x30b9b9,_0x54d319){return _0x30b9b9(_0x54d319);}};if(!this[_0x416973(0x1ab)])throw new IdGeneratorError(_0x1e19db[_0x416973(0x1e7)],'ID\x20Generator\x20is\x20disabled');let _0x7c3ee,_0x304b72,_0x400888,_0x19064c;const _0x48eb0c=this[_0x416973(0x162)](_0x3dd719['idempotencyKey']);if(_0x1e19db['onlZM'](_0x3dd719['counterInt'],undefined)&&_0x3dd719[_0x416973(0x16c)]!==null){this['_validateResource'](_0x3dd719[_0x416973(0x1b0)]),_0x7c3ee=_0x3dd719['resource'];if(_0x1e19db[_0x416973(0x192)](typeof _0x3dd719['formatKey'],_0x1e19db['zwjnr'])||_0x1e19db['xTRdP'](_0x3dd719[_0x416973(0xeb)][_0x416973(0x181)],0x0))throw new IdGeneratorError(_0x1e19db[_0x416973(0xf1)],_0x1e19db['VNCsh']);_0x304b72=_0x3dd719[_0x416973(0xeb)];if(!Number['isInteger'](_0x3dd719[_0x416973(0x16c)])||_0x1e19db[_0x416973(0x173)](_0x3dd719[_0x416973(0x16c)],0x1))throw new IdGeneratorError(_0x416973(0x18e),'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x3dd719['counterInt']+')');_0x400888=_0x3dd719[_0x416973(0x16c)];const _0x31904f=_0x304b72[_0x416973(0x1cf)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x19064c=_0x31904f?_0x31904f[0x1]:_0x416973(0x101);}else{const _0x5bbebe=this['_validateNumberParams'](_0x3dd719),_0x1ffd74=this[_0x416973(0xec)]({'format':_0x5bbebe['format'],'prefix':_0x5bbebe['prefix'],'separator':_0x5bbebe[_0x416973(0x1d3)],'numDigits':_0x5bbebe['numDigits'],'number':_0x3dd719[_0x416973(0x17d)]});_0x7c3ee=_0x5bbebe['resource'],_0x304b72=_0x1ffd74[_0x416973(0xeb)],_0x400888=_0x1ffd74['counterInt'],_0x19064c=_0x5bbebe[_0x416973(0x14e)];}const _0xedd262=this[_0x416973(0x1d7)](_0x7c3ee,_0x304b72),_0x2f6e37=this['_getCounterTTL'](_0x19064c);let _0x1d12a4=null;if(_0x48eb0c){_0x1d12a4=this['_buildIdemKey']('release',_0x7c3ee,_0x304b72,_0x48eb0c);const _0x5240d5=await this['_retrieveIdemCache'](_0x1d12a4);if(_0x5240d5)return _0x5240d5;}const _0x1aa5f4=redisClient[_0x416973(0x196)]();await _0x1aa5f4['eval'](LUA_RELEASE_NUMBER,0x1,_0xedd262,_0x1e19db['GCgtZ'](String,_0x400888),String(_0x2f6e37));const _0x48c64e={'released':!![],'resource':_0x7c3ee,'formatKey':_0x304b72,'counter':_0x400888,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x1d12a4,_0x48c64e),this[_0x416973(0x17c)](_0x7c3ee,_0x304b72,{'lastReleasedCounter':_0x400888,'lastReleasedAt':_0x48c64e[_0x416973(0x1ea)]},_0x2f6e37),logger['info']({'event':'idgen_number_released','resource':_0x7c3ee,'formatKey':_0x304b72,'counter':_0x400888},'ID\x20Generator\x20number\x20released:\x20'+_0x400888),_0x48c64e;}async['reserveNumber'](_0x776622){const _0x25e1dc=a0_0x2de2bd,_0x4435cf={'OFnBW':_0x25e1dc(0x1b1),'HywGz':_0x25e1dc(0x125),'WNqoh':function(_0x2abc66,_0x3f323c){return _0x2abc66*_0x3f323c;},'SHnUo':_0x25e1dc(0x1b0),'AwPAj':_0x25e1dc(0x14e),'uJQvh':'prefix','jlogf':'createdAt','zgDDO':function(_0x416afc,_0x492fb2){return _0x416afc(_0x492fb2);},'YKJfQ':_0x25e1dc(0x18b),'buOxO':_0x25e1dc(0x16b),'gleIN':_0x25e1dc(0x188),'nYSKw':_0x25e1dc(0x1e0),'MZBVn':function(_0x16e675,_0xd19b8f){return _0x16e675(_0xd19b8f);},'itvjF':'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser','nwoqt':_0x25e1dc(0x1c6),'dCnip':_0x25e1dc(0x19b)};if(!this['enabled'])throw new IdGeneratorError(_0x4435cf[_0x25e1dc(0x1d9)],_0x4435cf[_0x25e1dc(0x1f3)]);const _0x15f001=this['_validateNumberParams'](_0x776622),_0x387e2d=this['_validateReserveTTL'](_0x776622[_0x25e1dc(0x18a)]),_0x1fddcd=this['_validateIdempotencyKey'](_0x776622['idempotencyKey']),{resource:_0x373213,format:_0x1fe3a2,prefix:_0x77c5c1,separator:_0x29b987,numDigits:_0x41ed1d,reuseDelete:_0x18c540}=_0x15f001,{formatKey:_0x49f880,datePrefix:_0x1f02bb}=this[_0x25e1dc(0x1bf)](_0x1fe3a2,_0x77c5c1),_0x1cfbcd=this['_buildSeqKey'](_0x373213,_0x49f880),_0x84f6ac=this[_0x25e1dc(0x1d7)](_0x373213,_0x49f880),_0x22e198=this[_0x25e1dc(0x1bc)](_0x373213,_0x49f880),_0x536a36=this['_getCounterTTL'](_0x1fe3a2);let _0x491626=null;if(_0x1fddcd){_0x491626=this['_buildIdemKey']('reserve',_0x373213,_0x49f880,_0x1fddcd);const _0x1b4e13=await this[_0x25e1dc(0x126)](_0x491626);if(_0x1b4e13)return _0x1b4e13;}const _0x7069d7=crypto[_0x25e1dc(0x199)](),_0x3c8ed6=this['_buildReservationKey'](_0x7069d7),_0x1ee82a=this[_0x25e1dc(0x1a9)](),_0x4c4a7d=Date[_0x25e1dc(0x11e)](),_0x55d3a4=_0x4c4a7d+_0x387e2d*0x3e8,_0x1ca187=_0x4435cf['WNqoh'](_0x387e2d,0x3e8),_0x315bb8=new Date(_0x4c4a7d)[_0x25e1dc(0x18c)](),_0x1535ef=new Date(_0x55d3a4)[_0x25e1dc(0x18c)](),_0x31eb0c=[_0x4435cf['SHnUo'],_0x373213,'formatKey',_0x49f880,_0x4435cf['AwPAj'],_0x1fe3a2,_0x4435cf[_0x25e1dc(0x165)],_0x77c5c1,_0x25e1dc(0x1d3),_0x29b987,'numDigits',String(_0x41ed1d),'datePrefix',_0x1f02bb||'',_0x4435cf['jlogf'],_0x315bb8,_0x25e1dc(0x1aa),_0x1535ef,_0x25e1dc(0x180),_0x4435cf['zgDDO'](String,_0x1ca187)];_0x1fddcd&&_0x31eb0c[_0x25e1dc(0x1ad)](_0x25e1dc(0x130),_0x1fddcd);const _0x1ef898=redisClient['getClient'](),_0x42f3a9=await _0x1ef898[_0x25e1dc(0x198)](LUA_RESERVE_NUMBER,0x3,_0x1cfbcd,_0x84f6ac,_0x22e198,_0x18c540?'1':'0',String(_0x536a36),_0x7069d7,_0x3c8ed6,_0x4435cf['zgDDO'](String,_0x1ca187),_0x4435cf['zgDDO'](String,_0x55d3a4),_0x4435cf['zgDDO'](String,_0x4c4a7d),_0x1ee82a,..._0x31eb0c),_0x317c65=_0x42f3a9[0x0],_0x438df2=_0x42f3a9[0x1]===0x1,_0x57458a=_0x42f3a9[0x2]||0x0;let _0x401771;try{_0x401771=this['_formatNumber']({'format':_0x1fe3a2,'prefix':_0x77c5c1,'datePrefix':_0x1f02bb,'separator':_0x29b987,'numDigits':_0x41ed1d,'counterInt':_0x317c65});}catch(_0x589ddb){try{await _0x1ef898[_0x25e1dc(0x198)](LUA_CANCEL_RESERVATION,0x3,_0x3c8ed6,_0x22e198,_0x84f6ac,_0x7069d7,String(_0x536a36));}catch(_0x11ccb2){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0x11ccb2[_0x25e1dc(0x14f)],'resource':_0x373213,'formatKey':_0x49f880,'counterInt':_0x317c65,'token':_0x7069d7},_0x4435cf['YKJfQ']);}throw _0x589ddb;}try{await _0x1ef898['hset'](_0x3c8ed6,_0x4435cf['buOxO'],_0x401771);}catch(_0x4f42e4){logger[_0x25e1dc(0x1ce)]({'event':_0x4435cf['gleIN'],'error':_0x4f42e4['message'],'resource':_0x373213,'formatKey':_0x49f880,'counterInt':_0x317c65,'token':_0x7069d7},_0x4435cf[_0x25e1dc(0x16d)]);}const _0x3fc3bc={'token':_0x7069d7,'value':_0x401771,'counter':_0x317c65,'resource':_0x373213,'formatKey':_0x49f880,'isReused':_0x438df2,'createdAt':_0x315bb8,'expiresAt':_0x1535ef,'reapedCount':_0x57458a},_0x62561e=await this[_0x25e1dc(0xe9)](_0x491626,_0x3fc3bc);if(!_0x62561e[_0x25e1dc(0x132)]){try{await _0x1ef898[_0x25e1dc(0x198)](LUA_CANCEL_RESERVATION,0x3,_0x3c8ed6,_0x22e198,_0x84f6ac,_0x7069d7,_0x4435cf['MZBVn'](String,_0x536a36));}catch(_0x23b7e6){logger[_0x25e1dc(0x1ce)]({'event':_0x25e1dc(0x14c),'error':_0x23b7e6[_0x25e1dc(0x14f)],'resource':_0x373213,'formatKey':_0x49f880,'counterInt':_0x317c65,'token':_0x7069d7},_0x4435cf[_0x25e1dc(0x1dd)]);}return logger['info']({'event':_0x4435cf[_0x25e1dc(0x138)],'resource':_0x373213,'formatKey':_0x49f880,'counter':_0x317c65,'token':_0x7069d7},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x62561e[_0x25e1dc(0x178)];}return this['_updateMeta'](_0x373213,_0x49f880,{'lastReservedCounter':_0x317c65,'lastReservedAt':_0x315bb8,'lastReapedCount':_0x57458a},_0x536a36),logger[_0x25e1dc(0x1b6)]({'event':_0x4435cf[_0x25e1dc(0x1b9)],'resource':_0x373213,'formatKey':_0x49f880,'counter':_0x317c65,'isReused':_0x438df2,'token':_0x7069d7,'ttl':_0x387e2d,'reapedCount':_0x57458a},'ID\x20Generator\x20number\x20reserved:\x20'+_0x401771+_0x25e1dc(0x10c)+_0x7069d7+')'),_0x3fc3bc;}async[a0_0x2de2bd(0x156)](_0x2fb444){const _0x8dbb76=a0_0x2de2bd,_0x3256c3={'lmYLC':'ID\x20Generator\x20is\x20disabled','oNMWo':_0x8dbb76(0x133),'WRPhc':_0x8dbb76(0x19f)};if(!this['enabled'])throw new IdGeneratorError(_0x8dbb76(0x1b1),_0x3256c3[_0x8dbb76(0xf8)]);const _0x29f920=this[_0x8dbb76(0x1ef)](_0x2fb444&&_0x2fb444[_0x8dbb76(0x1d2)]),_0xba4593=this[_0x8dbb76(0x162)](_0x2fb444&&_0x2fb444['idempotencyKey']);let _0x34c231=null;if(_0xba4593){_0x34c231=idempotencyManager[_0x8dbb76(0x150)]('idgen',_0x3256c3[_0x8dbb76(0x10f)],_0x29f920+':'+_0xba4593);const _0x58eba4=await this[_0x8dbb76(0x126)](_0x34c231);if(_0x58eba4)return _0x58eba4;}const _0x491472=await this['_getReservationContext'](_0x29f920),_0x4345a9=redisClient[_0x8dbb76(0x196)](),_0x446d2f=await _0x4345a9['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x491472['rsvKey'],_0x491472['rsvIdxKey'],_0x29f920);if(!_0x446d2f||_0x446d2f[0x0]!==0x1)throw new IdGeneratorError(_0x3256c3[_0x8dbb76(0x1fb)],_0x8dbb76(0x191)+_0x29f920,{'token':_0x29f920});const _0xff469e=parseInt(_0x446d2f[0x1],0xa),_0x466e8f=_0x446d2f[0x2],_0x39aa9c=_0x446d2f[0x3],_0x48c488=new Date()[_0x8dbb76(0x18c)](),_0x551560={'confirmed':!![],'token':_0x29f920,'value':_0x466e8f,'counter':_0xff469e,'resource':_0x491472['resource'],'formatKey':_0x39aa9c,'confirmedAt':_0x48c488};await this[_0x8dbb76(0x1a1)](_0x34c231,_0x551560);const _0x18559e=_0x39aa9c['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0xf098ba=_0x18559e?_0x18559e[0x1]:_0x8dbb76(0x101),_0x406552=this[_0x8dbb76(0xfc)](_0xf098ba);return this[_0x8dbb76(0x17c)](_0x491472[_0x8dbb76(0x1b0)],_0x39aa9c,{'lastConfirmedCounter':_0xff469e,'lastConfirmedAt':_0x48c488},_0x406552),logger['info']({'event':_0x8dbb76(0x1f7),'resource':_0x491472[_0x8dbb76(0x1b0)],'formatKey':_0x39aa9c,'counter':_0xff469e,'token':_0x29f920},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x466e8f+_0x8dbb76(0x10c)+_0x29f920+')'),_0x551560;}async[a0_0x2de2bd(0x13d)](_0x14e985){const _0x5cde66=a0_0x2de2bd,_0x1990e7={'Lykfr':_0x5cde66(0x19e),'UiNth':_0x5cde66(0x101),'lqOcv':function(_0x17ff8b,_0x36164c){return _0x17ff8b(_0x36164c);},'OGUyH':_0x5cde66(0x19f)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x4a5027=this[_0x5cde66(0x1ef)](_0x14e985&&_0x14e985['token']),_0x21e4f1=this[_0x5cde66(0x162)](_0x14e985&&_0x14e985['idempotencyKey']);let _0x1efd25=null;if(_0x21e4f1){_0x1efd25=idempotencyManager[_0x5cde66(0x150)](_0x1990e7['Lykfr'],'reserve_cancel',_0x4a5027+':'+_0x21e4f1);const _0x423990=await this['_retrieveIdemCache'](_0x1efd25);if(_0x423990)return _0x423990;}const _0xcad71b=await this[_0x5cde66(0x115)](_0x4a5027),_0x15f903=this['_buildReuseKey'](_0xcad71b['resource'],_0xcad71b[_0x5cde66(0xeb)]),_0x5020f8=_0xcad71b[_0x5cde66(0xeb)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x4defe3=_0x5020f8?_0x5020f8[0x1]:_0x1990e7[_0x5cde66(0x186)],_0x592fb8=this['_getCounterTTL'](_0x4defe3),_0x442c8b=redisClient['getClient'](),_0x3a0bf1=await _0x442c8b['eval'](LUA_CANCEL_RESERVATION,0x3,_0xcad71b[_0x5cde66(0x1cb)],_0xcad71b['rsvIdxKey'],_0x15f903,_0x4a5027,_0x1990e7['lqOcv'](String,_0x592fb8));if(!_0x3a0bf1||_0x3a0bf1[0x0]!==0x1)throw new IdGeneratorError(_0x1990e7['OGUyH'],_0x5cde66(0x191)+_0x4a5027,{'token':_0x4a5027});const _0x46d6af=parseInt(_0x3a0bf1[0x1],0xa),_0x148c27=_0x3a0bf1[0x2],_0x2b8494=_0x3a0bf1[0x3],_0x2ff8fe=new Date()[_0x5cde66(0x18c)](),_0x19f998={'cancelled':!![],'token':_0x4a5027,'value':_0x148c27,'counter':_0x46d6af,'resource':_0xcad71b['resource'],'formatKey':_0x2b8494,'releasedToReuse':!![],'cancelledAt':_0x2ff8fe};return await this[_0x5cde66(0x1a1)](_0x1efd25,_0x19f998),this[_0x5cde66(0x17c)](_0xcad71b[_0x5cde66(0x1b0)],_0x2b8494,{'lastCancelledCounter':_0x46d6af,'lastCancelledAt':_0x2ff8fe},_0x592fb8),logger['info']({'event':_0x5cde66(0x1f1),'resource':_0xcad71b[_0x5cde66(0x1b0)],'formatKey':_0x2b8494,'counter':_0x46d6af,'token':_0x4a5027},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x148c27+'\x20(token='+_0x4a5027+')'),_0x19f998;}async['extendReservation'](_0x49398b){const _0x323933=a0_0x2de2bd,_0x3c4af9={'qxwgV':_0x323933(0x1b1),'IQQDs':'ID\x20Generator\x20is\x20disabled','bYSJl':'idgen','hmFXx':function(_0x47be9f,_0x4aca71){return _0x47be9f+_0x4aca71;},'zvcky':'IDGEN_RESERVATION_NOT_FOUND','kGmED':function(_0x4d4182,_0xd75486,_0x3592ef){return _0x4d4182(_0xd75486,_0x3592ef);},'TKdaV':_0x323933(0x174)};if(!this['enabled'])throw new IdGeneratorError(_0x3c4af9[_0x323933(0x1f9)],_0x3c4af9['IQQDs']);const _0x47d701=this['_validateReservationToken'](_0x49398b&&_0x49398b[_0x323933(0x1d2)]),_0x127854=this[_0x323933(0x13c)](_0x49398b&&_0x49398b[_0x323933(0x18a)]),_0x11fada=this['_validateIdempotencyKey'](_0x49398b&&_0x49398b['idempotencyKey']);let _0x331117=null;if(_0x11fada){_0x331117=idempotencyManager[_0x323933(0x150)](_0x3c4af9[_0x323933(0x164)],'reserve_extend',_0x47d701+':'+_0x11fada);const _0x254a1e=await this[_0x323933(0x126)](_0x331117);if(_0x254a1e)return _0x254a1e;}const _0x6cb952=await this[_0x323933(0x115)](_0x47d701),_0x9c4ab2=Date[_0x323933(0x11e)](),_0x41c1ea=_0x3c4af9[_0x323933(0x15e)](_0x9c4ab2,_0x127854*0x3e8),_0x26718d=_0x127854*0x3e8,_0x3b483a=new Date(_0x41c1ea)['toISOString'](),_0x44adb8=redisClient[_0x323933(0x196)](),_0x2c3526=await _0x44adb8[_0x323933(0x198)](LUA_EXTEND_RESERVATION,0x2,_0x6cb952['rsvKey'],_0x6cb952[_0x323933(0x151)],_0x47d701,String(_0x26718d),String(_0x41c1ea),_0x3b483a);if(!_0x2c3526||_0x2c3526[0x0]!==0x1)throw new IdGeneratorError(_0x3c4af9['zvcky'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x47d701,{'token':_0x47d701});const _0x5235fd=_0x2c3526[0x1],_0x22b7fb=_0x3c4af9[_0x323933(0x155)](parseInt,_0x2c3526[0x2],0xa),_0x29b868=_0x2c3526[0x3],_0x3ac7f5=_0x2c3526[0x4],_0x451500=new Date(_0x9c4ab2)['toISOString'](),_0x311169={'extended':!![],'token':_0x47d701,'previousExpiresAt':_0x5235fd,'expiresAt':_0x3b483a,'ttlMs':_0x26718d,'resource':_0x6cb952[_0x323933(0x1b0)],'formatKey':_0x3ac7f5,'counter':_0x22b7fb,'value':_0x29b868,'extendedAt':_0x451500};await this[_0x323933(0x1a1)](_0x331117,_0x311169);const _0x2f74e1=_0x3ac7f5[_0x323933(0x1cf)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2d2239=_0x2f74e1?_0x2f74e1[0x1]:'text',_0x5bd0b4=this[_0x323933(0xfc)](_0x2d2239);return this[_0x323933(0x17c)](_0x6cb952['resource'],_0x3ac7f5,{'lastExtendedCounter':_0x22b7fb,'lastExtendedAt':_0x451500},_0x5bd0b4),logger['info']({'event':_0x3c4af9[_0x323933(0x118)],'resource':_0x6cb952['resource'],'formatKey':_0x3ac7f5,'counter':_0x22b7fb,'token':_0x47d701,'ttl':_0x127854},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x29b868+_0x323933(0x10c)+_0x47d701+_0x323933(0x107)+_0x127854+'s)'),_0x311169;}async[a0_0x2de2bd(0x1f5)](_0x4e17da){const _0x10dfab=a0_0x2de2bd,_0xe0fca9={'usMUn':'IDGEN_DISABLED','dQFxT':function(_0x4c4663,_0x55b8d4){return _0x4c4663===_0x55b8d4;},'cLOMJ':_0x10dfab(0x19f),'AmjGE':function(_0x2d6bda,_0x34a2d4,_0x150a39){return _0x2d6bda(_0x34a2d4,_0x150a39);},'FOprP':function(_0x240772,_0x1056ed){return _0x240772>=_0x1056ed;}};if(!this['enabled'])throw new IdGeneratorError(_0xe0fca9['usMUn'],_0x10dfab(0x128));const _0x150f48=this['_validateReservationToken'](_0x4e17da&&_0x4e17da[_0x10dfab(0x1d2)]),_0x2f1720=this[_0x10dfab(0x10e)](_0x150f48),_0x8bdec0=redisClient['getClient'](),_0x4b89fa=_0x8bdec0['pipeline']();_0x4b89fa[_0x10dfab(0x1ac)](_0x2f1720),_0x4b89fa[_0x10dfab(0x142)](_0x2f1720);const _0x122a7f=await _0x4b89fa[_0x10dfab(0x104)](),_0x4237bb=_0x122a7f&&_0x122a7f[0x0]&&_0x122a7f[0x0][0x1],_0x2a4417=_0x122a7f&&_0x122a7f[0x1]&&_0x122a7f[0x1][0x1];if(!_0x4237bb||_0xe0fca9['dQFxT'](Object['keys'](_0x4237bb)[_0x10dfab(0x181)],0x0))throw new IdGeneratorError(_0xe0fca9['cLOMJ'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x150f48,{'token':_0x150f48});return{'token':_0x150f48,'resource':_0x4237bb[_0x10dfab(0x1b0)]||null,'formatKey':_0x4237bb['formatKey']||null,'format':_0x4237bb['format']||null,'prefix':_0x4237bb['prefix']||'','separator':_0x4237bb[_0x10dfab(0x1d3)]||'','numDigits':_0x4237bb['numDigits']?_0xe0fca9[_0x10dfab(0x12c)](parseInt,_0x4237bb['numDigits'],0xa):null,'datePrefix':_0x4237bb[_0x10dfab(0x10d)]||'','counter':_0x4237bb[_0x10dfab(0x1c2)]?parseInt(_0x4237bb[_0x10dfab(0x1c2)],0xa):null,'value':_0x4237bb[_0x10dfab(0x16b)]||null,'isReused':_0x4237bb[_0x10dfab(0x137)]==='1'||_0x4237bb[_0x10dfab(0x137)]===0x1,'createdAt':_0x4237bb['createdAt']||null,'expiresAt':_0x4237bb[_0x10dfab(0x1aa)]||null,'ttlRemainingMs':typeof _0x2a4417===_0x10dfab(0x17d)&&_0xe0fca9[_0x10dfab(0x141)](_0x2a4417,0x0)?_0x2a4417:null};}async['_getReservationContext'](_0x56f155){const _0x335346=a0_0x2de2bd,_0x2f715f={'ZYmza':'resource','TswCj':'formatKey','THDLj':function(_0x640948,_0x559d5a){return _0x640948||_0x559d5a;},'WXssu':'IDGEN_RESERVATION_NOT_FOUND'},_0x25adda=this['_buildReservationKey'](_0x56f155),_0x364699=redisClient['getClient'](),_0x292246=await _0x364699['hmget'](_0x25adda,_0x2f715f[_0x335346(0x1d6)],_0x2f715f[_0x335346(0x1c7)]),_0x4fa415=_0x292246&&_0x292246[0x0],_0xe4f7fc=_0x292246&&_0x292246[0x1];if(_0x2f715f[_0x335346(0x14b)](!_0x4fa415,!_0xe4f7fc))throw new IdGeneratorError(_0x2f715f['WXssu'],_0x335346(0x191)+_0x56f155,{'token':_0x56f155});return{'resource':_0x4fa415,'formatKey':_0xe4f7fc,'rsvKey':_0x25adda,'rsvIdxKey':this[_0x335346(0x1bc)](_0x4fa415,_0xe4f7fc)};}async[a0_0x2de2bd(0x1e1)](_0x550fc6){const _0x74d639=a0_0x2de2bd,_0x549b54={'gLhHc':_0x74d639(0x128),'FrEJM':_0x74d639(0x1e1),'HQEaB':function(_0x52bf30,_0x5c6122){return _0x52bf30<_0x5c6122;},'vpFzU':function(_0x4b950e,_0x5b8e09){return _0x4b950e===_0x5b8e09;},'awDiN':'IDGEN_UNIQUE_RETRY_EXHAUSTED','azuLH':function(_0x11a37b,_0x5174bc){return _0x11a37b&&_0x5174bc;},'whjOc':_0x74d639(0x153)};if(!this[_0x74d639(0x1ab)])throw new IdGeneratorError('IDGEN_DISABLED',_0x549b54['gLhHc']);this['_validateResource'](_0x550fc6['resource']),this[_0x74d639(0x1e2)](_0x550fc6[_0x74d639(0x1ec)]);const _0x605310=this[_0x74d639(0x1e5)](_0x550fc6[_0x74d639(0x18a)]),_0x3afcc5=this['_validateMaxRetry'](_0x550fc6[_0x74d639(0x1eb)]),_0x5afefd=this['_validateIdempotencyKey'](_0x550fc6['idempotencyKey']),_0x37bb56=_0x550fc6[_0x74d639(0x171)]===!![],{resource:_0x329b69,pattern:_0x1cd984}=_0x550fc6;let _0x345573=null;if(_0x5afefd){_0x345573=this[_0x74d639(0x168)](_0x549b54['FrEJM'],_0x329b69,null,_0x5afefd);const _0x3f42dc=await this[_0x74d639(0x126)](_0x345573);if(_0x3f42dc)return _0x3f42dc;}const _0x1a713f=redisClient['getClient']();let _0x3e5983=null,_0x4f2d2d=0x0;if(!_0x37bb56)_0x3e5983=this[_0x74d639(0x1c8)](_0x1cd984),_0x4f2d2d=0x1;else{for(let _0x69ce73=0x0;_0x549b54[_0x74d639(0x1c1)](_0x69ce73,_0x3afcc5);_0x69ce73++){_0x4f2d2d++;const _0x29513f=this[_0x74d639(0x1c8)](_0x1cd984);if(_0x605310){const _0x5769f6=this[_0x74d639(0x1bd)](_0x329b69,_0x29513f),_0x219329=await _0x1a713f[_0x74d639(0xf9)](_0x5769f6,'1','EX',_0x605310,'NX');if(_0x219329==='OK'){_0x3e5983=_0x29513f;break;}}else{const _0x52d36f=this[_0x74d639(0x1d1)](_0x329b69),_0x5ead3=await _0x1a713f[_0x74d639(0x1e3)](_0x52d36f,_0x29513f);if(_0x549b54['vpFzU'](_0x5ead3,0x1)){_0x3e5983=_0x29513f;break;}}}if(_0x3e5983===null)throw new IdGeneratorError(_0x549b54[_0x74d639(0x149)],_0x74d639(0x179)+_0x3afcc5+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x329b69,'pattern':_0x1cd984,'maxRetry':_0x3afcc5});}const _0x4e69b7={'value':_0x3e5983,'resource':_0x329b69,'pattern':_0x1cd984,'attemptCount':_0x4f2d2d,'generatedAt':new Date()['toISOString']()};_0x549b54['azuLH'](_0x605310,_0x37bb56)&&(_0x4e69b7[_0x74d639(0x1aa)]=new Date(Date['now']()+_0x605310*0x3e8)['toISOString']());const _0xe75475=await this[_0x74d639(0xe9)](_0x345573,_0x4e69b7);if(!_0xe75475[_0x74d639(0x132)])return _0x37bb56&&await this[_0x74d639(0x1a2)](_0x329b69,_0x3e5983,_0x605310),logger[_0x74d639(0x1b6)]({'event':_0x74d639(0x194),'resource':_0x329b69,'pattern':_0x1cd984,'value':_0x3e5983},_0x74d639(0x1b4)),_0xe75475[_0x74d639(0x178)];return logger['info']({'event':_0x549b54['whjOc'],'resource':_0x329b69,'pattern':_0x1cd984,'attemptCount':_0x4f2d2d,'ensureUnique':_0x37bb56,'ttl':_0x605310||0x0},'ID\x20Generator\x20random:\x20'+_0x3e5983),_0x4e69b7;}async['pin'](_0x1cf6ab){const _0x51ae98=a0_0x2de2bd,_0x31245b={'PJnhr':function(_0x3ff526,_0xe5ef55){return _0x3ff526>_0xe5ef55;}},_0x243da9=_0x1cf6ab[_0x51ae98(0x185)]==null?this['defaultPinDigits']:_0x1cf6ab['digits'];if(!Number[_0x51ae98(0x13f)](_0x243da9)||_0x243da9<MIN_PIN_DIGITS||_0x31245b['PJnhr'](_0x243da9,MAX_PIN_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_DIGITS',_0x51ae98(0x18d)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x51ae98(0x106)+_0x243da9+')');const _0x3a8e07='9'[_0x51ae98(0x16f)](_0x243da9);return this[_0x51ae98(0x1e1)]({'resource':_0x1cf6ab['resource'],'pattern':_0x3a8e07,'ensureUnique':_0x1cf6ab[_0x51ae98(0x171)]===!![],'ttl':_0x1cf6ab[_0x51ae98(0x18a)],'maxRetry':_0x1cf6ab['maxRetry'],'idempotencyKey':_0x1cf6ab['idempotencyKey']});}async['serial'](_0x134437){const _0x257626=a0_0x2de2bd,_0x80f081={'iqZca':function(_0xd09bba,_0x8ce1b5){return _0xd09bba!==_0x8ce1b5;}},_0x543b66=_0x134437['pattern']||this['defaultSerialPattern'];return this['random']({'resource':_0x134437[_0x257626(0x1b0)],'pattern':_0x543b66,'ensureUnique':_0x80f081['iqZca'](_0x134437[_0x257626(0x171)],![]),'ttl':_0x134437[_0x257626(0x18a)],'maxRetry':_0x134437[_0x257626(0x1eb)],'idempotencyKey':_0x134437['idempotencyKey']});}async['code'](_0x3769c8){const _0x3e315c=a0_0x2de2bd,_0x35d5ca={'DKzcJ':function(_0x1ba4d1,_0x1d3cbb){return _0x1ba4d1!==_0x1d3cbb;}},_0x3969e9=_0x3769c8['pattern']||this['defaultCodePattern'];return this[_0x3e315c(0x1e1)]({'resource':_0x3769c8[_0x3e315c(0x1b0)],'pattern':_0x3969e9,'ensureUnique':_0x35d5ca['DKzcJ'](_0x3769c8[_0x3e315c(0x171)],![]),'ttl':_0x3769c8[_0x3e315c(0x18a)],'maxRetry':_0x3769c8['maxRetry'],'idempotencyKey':_0x3769c8['idempotencyKey']});}async[a0_0x2de2bd(0x11c)](_0x5c8806){const _0x41ffcf=a0_0x2de2bd,_0x13c32a={'FGVhH':_0x41ffcf(0x1b1),'xtJBK':function(_0x3d190d,_0x359002){return _0x3d190d===_0x359002;},'XipRL':_0x41ffcf(0x1b3),'zyMbG':function(_0x58a0c8,_0x330c46){return _0x58a0c8>_0x330c46;}};if(!this['enabled'])throw new IdGeneratorError(_0x13c32a['FGVhH'],_0x41ffcf(0x128));this['_validateResource'](_0x5c8806[_0x41ffcf(0x1b0)]);if(typeof _0x5c8806[_0x41ffcf(0x16b)]!==_0x41ffcf(0x114)||_0x13c32a[_0x41ffcf(0x1cd)](_0x5c8806[_0x41ffcf(0x16b)]['length'],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x13c32a['XipRL']);const {resource:_0x7b3716,value:_0x373a57}=_0x5c8806,_0x41b8b6=redisClient[_0x41ffcf(0x196)](),_0x44122a=this['_buildActiveKey'](_0x7b3716,_0x373a57),_0x593b5e=this['_buildIssuedKey'](_0x7b3716),[_0xd8497c,_0x53c01d]=await Promise['all']([_0x41b8b6['del'](_0x44122a),_0x41b8b6[_0x41ffcf(0x1df)](_0x593b5e,_0x373a57)]),_0x2e9b4f=_0x13c32a[_0x41ffcf(0x1d5)](_0xd8497c+_0x53c01d,0x0);return logger[_0x41ffcf(0x1b6)]({'event':_0x41ffcf(0x17b),'resource':_0x7b3716,'value':_0x373a57,'consumed':_0x2e9b4f},'ID\x20Generator\x20consumed:\x20'+_0x373a57),{'consumed':_0x2e9b4f,'resource':_0x7b3716,'value':_0x373a57,'consumedAt':new Date()[_0x41ffcf(0x18c)]()};}async['peek'](_0x2f2c8c){const _0x13c53d=a0_0x2de2bd,_0x20557f={'eZlEl':'text','PkFvQ':_0x13c53d(0xf5),'oCHMH':function(_0x164177,_0x48beff){return _0x164177===_0x48beff;},'qyMdh':'random','TlPgG':_0x13c53d(0xed)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x13c53d(0x128));this[_0x13c53d(0x117)](_0x2f2c8c[_0x13c53d(0x1b0)]);const _0x25a958=_0x2f2c8c['mode']||'number',_0x5cb19f=redisClient['getClient']();if(_0x25a958==='number'){const _0x321a2b=(_0x2f2c8c['format']||_0x20557f[_0x13c53d(0x175)])['toLowerCase']();if(!ALLOWED_FORMATS[_0x13c53d(0x1c4)](_0x321a2b))throw new IdGeneratorError(_0x20557f['PkFvQ'],'Invalid\x20format:\x20'+_0x2f2c8c[_0x13c53d(0x14e)]);const {formatKey:_0x159dee}=this[_0x13c53d(0x1bf)](_0x321a2b,_0x2f2c8c['prefix']||''),_0x1127b9=this[_0x13c53d(0x127)](_0x2f2c8c[_0x13c53d(0x1b0)],_0x159dee),_0x4d129d=this[_0x13c53d(0x1d7)](_0x2f2c8c['resource'],_0x159dee),[_0x3ff996,_0x3b16d5]=await Promise['all']([_0x5cb19f[_0x13c53d(0xfd)](_0x1127b9),_0x5cb19f[_0x13c53d(0x1cc)](_0x4d129d)]);return{'resource':_0x2f2c8c[_0x13c53d(0x1b0)],'mode':'number','formatKey':_0x159dee,'currentCounter':parseInt(_0x3ff996,0xa)||0x0,'reusePoolSize':_0x3b16d5||0x0};}if(_0x20557f['oCHMH'](_0x25a958,_0x13c53d(0x1e1))){const _0xaa0f50=this['_buildIssuedKey'](_0x2f2c8c[_0x13c53d(0x1b0)]),_0x17c08c=await _0x5cb19f['scard'](_0xaa0f50);return{'resource':_0x2f2c8c['resource'],'mode':_0x20557f[_0x13c53d(0x15f)],'issuedCount':_0x17c08c||0x0};}throw new IdGeneratorError(_0x20557f['TlPgG'],'Unknown\x20mode:\x20'+_0x25a958);}async['getInfo'](_0x30b997){const _0x3a98c7=a0_0x2de2bd,_0x41571f={'HgNsV':function(_0x52c021,_0x2f6c7f){return _0x52c021===_0x2f6c7f;}},_0x51f43=await this['peek'](_0x30b997);if(_0x41571f['HgNsV'](_0x51f43['mode'],'number')){const _0x50d4c1=redisClient['getClient'](),_0x2c8a05=this['_buildMetaKey'](_0x30b997['resource'],_0x51f43['formatKey']),_0x3c415b=this['_buildReuseKey'](_0x30b997[_0x3a98c7(0x1b0)],_0x51f43['formatKey']),[_0x395766,_0x5e0d62]=await Promise[_0x3a98c7(0x1ca)]([_0x50d4c1['hgetall'](_0x2c8a05),_0x50d4c1['zrange'](_0x3c415b,0x0,-0x1)]);return{..._0x51f43,'reusePoolValues':_0x5e0d62[_0x3a98c7(0x176)](_0x33dfdd=>parseInt(_0x33dfdd,0xa)),'meta':_0x395766&&Object['keys'](_0x395766)[_0x3a98c7(0x181)]>0x0?_0x395766:null};}return _0x51f43;}async['reset'](_0x284bf3){const _0x10b068=a0_0x2de2bd,_0x550b94={'YXBME':'IDGEN_DISABLED','OZVoS':_0x10b068(0x128),'MlUhZ':_0x10b068(0x17d),'Ayvuf':_0x10b068(0x143),'BWuSk':'reuse','AspoG':'meta','GstnX':function(_0x4300bf,_0x4cb996){return _0x4300bf===_0x4cb996;},'iEdkH':'random','lRbMO':_0x10b068(0x1dc)};if(!this[_0x10b068(0x1ab)])throw new IdGeneratorError(_0x550b94[_0x10b068(0x1e9)],_0x550b94['OZVoS']);if(!this[_0x10b068(0x167)])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED','Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this['_validateResource'](_0x284bf3[_0x10b068(0x1b0)]);const _0xe0f31a=_0x284bf3[_0x10b068(0x193)]||_0x550b94[_0x10b068(0x11a)],_0x153e35=redisClient[_0x10b068(0x196)]();if(_0xe0f31a===_0x10b068(0x17d)){const _0x4ec529=(_0x284bf3[_0x10b068(0x14e)]||'text')['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x4ec529))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x10b068(0xf4)+_0x284bf3[_0x10b068(0x14e)]);const {formatKey:_0x555751}=this['_buildFormatKey'](_0x4ec529,_0x284bf3[_0x10b068(0x111)]||''),_0xfd51=this['_buildSeqKey'](_0x284bf3[_0x10b068(0x1b0)],_0x555751),_0x220cfc=this['_buildReuseKey'](_0x284bf3['resource'],_0x555751),_0x569e36=this[_0x10b068(0x1a3)](_0x284bf3[_0x10b068(0x1b0)],_0x555751);return await _0x153e35['del'](_0xfd51,_0x220cfc,_0x569e36),logger[_0x10b068(0x1ce)]({'event':_0x10b068(0x1dc),'resource':_0x284bf3['resource'],'mode':_0x550b94[_0x10b068(0x11a)],'formatKey':_0x555751},_0x10b068(0x159)+_0x284bf3[_0x10b068(0x1b0)]+':'+_0x555751),{'reset':!![],'resource':_0x284bf3['resource'],'mode':'number','formatKey':_0x555751,'deletedKeys':[_0x550b94['Ayvuf'],_0x550b94['BWuSk'],_0x550b94['AspoG']]};}if(_0x550b94[_0x10b068(0x12b)](_0xe0f31a,_0x550b94['iEdkH'])){const _0x40e7d1=this['_buildIssuedKey'](_0x284bf3[_0x10b068(0x1b0)]);return await _0x153e35[_0x10b068(0x12a)](_0x40e7d1),logger[_0x10b068(0x1ce)]({'event':_0x550b94['lRbMO'],'resource':_0x284bf3[_0x10b068(0x1b0)],'mode':_0x550b94['iEdkH']},'ID\x20Generator\x20reset:\x20random:'+_0x284bf3[_0x10b068(0x1b0)]),{'reset':!![],'resource':_0x284bf3['resource'],'mode':_0x550b94[_0x10b068(0x157)],'deletedKeys':['issued']};}throw new IdGeneratorError('IDGEN_INVALID_MODE',_0x10b068(0x177)+_0xe0f31a);}}const instance=new IdGenerator();instance[a0_0x2de2bd(0xee)]=IdGeneratorError,module['exports']=instance,module[a0_0x2de2bd(0x163)]['IdGeneratorError']=IdGeneratorError;
|
|
1
|
+
'use strict';function a0_0x2dae(_0x33e530,_0x5a8370){_0x33e530=_0x33e530-0x101;const _0x5b293e=a0_0x5b29();let _0x2dae94=_0x5b293e[_0x33e530];if(a0_0x2dae['XFXZyF']===undefined){var _0x21e548=function(_0x3cebe0){const _0x2e9c14='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x582db6='',_0x18a492='';for(let _0xdc0133=0x0,_0x1f930f,_0x33cb3c,_0x2ba175=0x0;_0x33cb3c=_0x3cebe0['charAt'](_0x2ba175++);~_0x33cb3c&&(_0x1f930f=_0xdc0133%0x4?_0x1f930f*0x40+_0x33cb3c:_0x33cb3c,_0xdc0133++%0x4)?_0x582db6+=String['fromCharCode'](0xff&_0x1f930f>>(-0x2*_0xdc0133&0x6)):0x0){_0x33cb3c=_0x2e9c14['indexOf'](_0x33cb3c);}for(let _0x3c1009=0x0,_0x1fe966=_0x582db6['length'];_0x3c1009<_0x1fe966;_0x3c1009++){_0x18a492+='%'+('00'+_0x582db6['charCodeAt'](_0x3c1009)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18a492);};a0_0x2dae['tYVllb']=_0x21e548,a0_0x2dae['DWMCXR']={},a0_0x2dae['XFXZyF']=!![];}const _0x394715=_0x5b293e[0x0],_0x2edbc7=_0x33e530+_0x394715,_0x595c62=a0_0x2dae['DWMCXR'][_0x2edbc7];return!_0x595c62?(_0x2dae94=a0_0x2dae['tYVllb'](_0x2dae94),a0_0x2dae['DWMCXR'][_0x2edbc7]=_0x2dae94):_0x2dae94=_0x595c62,_0x2dae94;}function a0_0x5b29(){const _0x5a1c3d=['CMvZB3vYy2u','surhru5Fru5bqKXfra','DKDAugS','rgfyu3m','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','lcaR','uLLXyuC','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','vw5RBM93BIbTB2rLoIa','AwrNzw4','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','C3rVCMvK','x3jLC2vYDMvnyxHuveW','x2j1AwXKuMv1C2vlzxK','zMzoCeq','BgXTvui','ou9huxnVwa','tuzOA1C','swrhzw5LCMf0B3jfCNjVCG','BMfTzq','D2fcAgy','surhru5Fq09vtLrfuL9uveXFrefjtfK','qM52tue','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','C2vX','BgzcwxG','CffkDg0','ww1nrMC','ExL5Eq','uKfSwuS','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','tLftEvK','BNvTyMvY','Aw5MBW','DhrS','AgDLDgfSBa','CMy6AwrNzw46','zgvMyxvSDenVzgvqyxr0zxjU','Aw93suu','mti5mJeXogPhy1fhyW','C3jLBq','x2j1AwXKuMvZzxj2yxrPB25lzxK','surhru5Fsu5wquXjrf9quKvgsvG','y29Kzq','mZe5otK3meP4vxfJAW','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','ohrQAvrPAq','otK5os05otK5','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','x3zHBgLKyxrLvfrm','mtmWmdq5mJzmBLL1sMe','x3zHBgLKyxrLuMvZB3vYy2u','surhru5Fsu5wquXjrf9srvnpvvjdrq','x2TLEvbYzwzPEa','surhru5Fsu5wquXjrf9nt0rf','Dg9mB3DLCKnHC2u','CgLU','C3bSAxq','CMvZzxj2zv9Jyw5JzwW','swrLBxbVDgvUy3KGy2fJAguGseLu','u0rQzgi','CNn2x2LKEdO','CMvSzwfZzwrbDa','CMvZzxj2zu51BwjLCG','Dg9ju09tDhjPBMC','x3zHBgLKyxrLuMvZzxj2zvruta','Cfn2EfK','C3rYAw5NAwz5','vhL0CMC','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','CMvZzxj2zu1HEfruta','y29UzMLYBvjLC2vYDMf0Aw9U','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','BM93','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','surhru5Fsu5wquXjrf9qqvrurvjo','x2nVDw50zxjuveXnyxa','zuXftwy','CNn2s2v5','AerWwKS','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','A2v5uhjLzML4','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','surhru5Frevgqvvmvf9nqvHFuKvuuLK','u2rOEgy','zhbcsuC','CMnRyK0','qKPQANu','D2LUBMvYuMvZDwX0','vgLoEve','oxW4FdeWFdeXFdj8nxWWFdD8mxW2Fdr8mW','Aw9eCKG','qvfWt0W','vun5DM0','tg1fvue','z2v0','CMjUELK','AwrNzw5FAwrLBv9OAxq','ndjTDg1vsu8','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','CMfUzg9T','t2H6Due','y1LUq2e','x2vUC3vYzuLUAxrPywXPEMvK','CgfKu3rHCNq','AxnszxvZzwq','D2fYBG','ntDNuKTeDKu','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','mZaYotGZtwzWz3D2','x3bHzdi','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','zxHWAxjLC0f0','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','Bwf0y2G','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','AwrLBvruta','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','Bw9Kzq','x3n0B3jLswrLBunHy2HL','AhnLDa','yM9VBgvHBG','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','Cg5LqNi','tfzSCfC','ExL5Ew1Tzgq','zgvMyxvSDe1HEfjLDhj5','surhru5FreLtqujmruq','ENjHBMDL','nJq5otG1nLrtzM94EG','DhrStxm','x3jLC2vYDMvezwzHDwX0vfrm','rhn5s04','zw50CMLLCW','CNn2oG','ywn0AxzLoG','y3j5ChrV','x3bHCNnLtNvTyMvY','x2j1AwXKqwn0AxzLs2v5','sMLju1C','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','lcbNB3qG','q3znsw8','rwLqDfG','zgf0zvbYzwzPEa','Chr0Ba','wLbmC0u','C3rYAw5N','zw52','surhru5FuKvtrvrFtK9ux0fmte9xruq','EfPSA2O','wxvMzfe','AxnjBNrLz2vY','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','x2LKzw1uveW','vMHZuLi','whbvA2q','EwT4A2O','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','Dg12quC','BgvUz3rO','ywXSB3DszxnLDa','r0nUrxi','zM9YBwf0','CMfUzg9Tvvvjra','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','zgvMyxvSDfbPBKrPz2L0CW','x2rLzMf1BhrqAw5eAwDPDhm','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x2zVCM1HDe51BwjLCG','z2v0q2XPzw50','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','y3jLyxrLzef0','ExL5Ew1T','rwHzD1m','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','tgr0DuK','x3n0B3jLswrLBunHy2HLtLG','x3vUzg9syw5KB21szxnLCNzHDgLVBG','zgvS','CMvSzwfZzu51BwjLCG','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','x2DLDenVDw50zxjuveW','EgPmwfi','BMXyr2q','CNn2swr4s2v5','rxHoqNe','uLfRBeO','x3jLDhjPzxzLswrLBunHy2HL','wNz2r2K','D1nZsw0','x2rLzMf1BhrdB2rLugf0DgvYBG','Dg9Rzw4','AwrLBxbVDgvUy3LlzxK','tNDxsvO','AMvgr3y','icH0B2TLBJ0','x2j1AwXKsxnZDwvKs2v5','tff1vue','x2j1AwXKrM9YBwf0s2v5','tujps3y','x2LUAxrdB25MAwC','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','z0H1vvK','CMvZzxq','zgvMyxvSDfnLCMLHBfbHDhrLCM4','z2v0rNvSBfLLyxi','Bwv0ytO','zw5ZDxjLvw5PCxvL','CgfYC2u','lwrPz2L0ignHCgfJAxr5icG','DvvlrgO','CMv1C2u6','zgLNAxrZ','ChvZAa','wxzkvMG','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','z2v0uMvZzxj2yxrPB24','C2vWyxjHDg9Y','y29UC3vTzq','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','surhru5Fsu5wquXjrf9gt1jnqvq','BNvTrgLNAxrZ','zw5HyMXLza','CgfKzgvKicHNB3q6ia','Ag5ABLu','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','BxntBfu','q291BNrLCIbVDMvYzMXVDZOG','CMvWzwf0','wMf5uM4','wwvPy3i','q091whK','EgPjBxm','BwvZC2fNzq','x2vUywjSzwq','C2v0zxG','suqGr2vUzxjHDg9Yig51BwjLCJOG','x3rLEhq','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','nNWXmhW1FdeYFdb8nhWZFdj8mtf8oxW4FdD8mq','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','zvnqvMO','quz6s0W','DMfSDwu','surhru5Fsu5wquXjrf9ovu1crvi','AgfZ','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','x2fSBg93uMvZzxq','x2rLzMf1BhrtzxjPywXqyxr0zxjU','CMv1C2u','y291BNrLCKLUDa','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','mtu3odC2tNf6v3zL','yNvPBgrezxrLCM1PBMLZDgLJs2v5','AhrIvKe','mtmYnJiWmejQz1zRuW','zxzHBa','cMXVy2fSihvUCgSGpsb1BNbHy2SGB3iGDgfIBguUDw5WywnRcGOTlsbtDgvWide6igXHENKGCMvHCcbLEhbPCMvKihjLC2vYDMf0Aw9UCYaOy2fWifjfu0vsvKvFuKvbuf9cqvrdscKkBg9JywWGCMvHCgvKid0GmaPSB2nHBcbUB3DnCYa9iefsr1zBn10kBg9JywWGCNn2uhjLzML4id0GqvjhvLS4xqPSB2nHBcbLEhbPCMvKid0GCMvKAxmUy2fSBcGNwLjbtKDfqLLtq09srsCSieTfwvnBm10SicCTAw5MjYWGjYGNic4Uig5VD01ZlcaNteLnsvqNlcaWlca2ncKkzM9YigKGpsaXlcaJzxHWAxjLzcbKBWOGigXVy2fSigv4CfrVA2vUid0GzxHWAxjLzfTPxqOGigXVy2fSigv4CfjZDKTLEsa9ihjZDLbYzwzPEcaUlIbLEhbuB2TLBGOGigXVy2fSigv4CenVDw50zxiGpsbYzwrPCY5JywXSkcDir0vujYWGzxHWuNn2s2v5lcaNy291BNrLCICPcIaGAwyGzxHWq291BNrLCIb0AgvUcIaGicbYzwrPCY5JywXSkcDAqurejYWGs0vzu1SYxsWGzxHWq291BNrLCIWGzxHWq291BNrLCIKkicbLBMqkicbYzwrPCY5JywXSkcDeruWNlcbLEhbsC3zlzxKPcIaGCMvKAxmUy2fSBcGNwLjftsCSieTfwvnBm10Sigv4CfrVA2vUkqOGihjLyxbLzca9ihjLyxbLzcaRidekzw5KcGOTlsbtDgvWidi6igfSBg9JyxrLignVDw50zxiGkfPqt1bnsu4GCMv1C2uGyxrHDsbjtKnsihnLCsKkBg9JywWGy291BNrLCKLUDaPSB2nHBcbPC1jLDxnLzca9idakAwyGqvjhvLSXxsa9psaNmsCGDgHLBGOGigXVy2fSihiGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCIa+idaGDgHLBGOGicaGy291BNrLCKLUDca9ihrVBNvTyMvYkhjBmv0PcIaGicbPC1jLDxnLzca9idekicbLBMqkzw5KcMLMig5VDcbJB3vUDgvYsw50ihrOzw4kicbJB3vUDgvYsw50id0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcIaGBg9JywWGy3r0Bca9ihrVBNvTyMvYkefsr1zBmL0PcIaGAwyGy3r0Bca+idaGyw5KignVDw50zxjjBNqGpt0Gmsb0AgvUcIaGicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcbJDhrSkqOGigvUzaPLBMqkcI0Tifn0zxaGmZOGD3jPDguGCMvZzxj2yxrPB24GAgfZAcaRigLUzgv4icSGvfrmcMXVy2fSihjZDKTLEsa9iefsr1zBnf0kBg9JywWGCNn2vhrStxmGpsb0B251BwjLCIHbuKDwwZvDkqPSB2nHBcbLEhbPCMvZqxrnCYa9ihrVBNvTyMvYkefsr1zBnL0PcMXVy2fSig5HCMDZid0Gi0fsr1ykBg9JywWGzMLLBgrZid0GE30kzM9YigKGpsa5lcbUyxjNCYbKBWOGigzPzwXKC1SJzMLLBgrZicSGmv0GpsbbuKDww2LDcMvUzaPYzwrPCY5JywXSkcDiu0vujYWGCNn2s2v5lcaNy291BNrLCICSignVDw50zxjjBNqSicDPC1jLDxnLzcCSigLZuMv1C2vKlcb1BNbRkgzPzwXKCYKPcNjLzgLZlMnHBgWOj1bfwfbjuKuNlcbYC3zlzxKSihjZDLr0Be1ZkqPYzwrPCY5JywXSkcDAqurejYWGs0vzu1SZxsWGzxHWAxjLC0f0txmSiefsr1zBm10PcNjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sig1HDgGUzMXVB3iOCNn2vhrStxmGlYaXmdaWksaRidyWkqOkCMv0DxjUihSGy291BNrLCKLUDcWGAxnszxvZzwqSihjLyxbLzcb9cG','Cgf0DgvYBG','x2rLzMf1BhrnyxHszxrYEq','z2HpwgW','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','A1PMwgC','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','C2vXoG','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','ihnLy29UzhmGkgDVDdOG','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','ueftq3i','DgvZDa','EKjzswi','x2LUAxrPywXPEMvK','icHNB3q6ia','surhru5Fsu5wquXjrf9uveW','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','x2j1AwXKswrLBuTLEq','Dhj1zq','x3vWzgf0zu1LDge','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','AxnfBMfIBgvK','zM9YBwf0s2v5','uw1Iwvu','ywXS','surhru5Fsu5wquXjrf9ut0TftG','ChjLzML4','vMTNrwi','Dgv4Da','DxviBfe'];a0_0x5b29=function(){return _0x5a1c3d;};return a0_0x5b29();}const a0_0x44aa3e=a0_0x2dae;(function(_0x11a4fd,_0x47e39d){const _0x4d9db9=a0_0x2dae,_0x31acb0=_0x11a4fd();while(!![]){try{const _0x437b90=-parseInt(_0x4d9db9(0x212))/0x1*(-parseInt(_0x4d9db9(0x1d1))/0x2)+parseInt(_0x4d9db9(0x210))/0x3*(-parseInt(_0x4d9db9(0x17d))/0x4)+-parseInt(_0x4d9db9(0x180))/0x5+parseInt(_0x4d9db9(0x1ca))/0x6*(parseInt(_0x4d9db9(0x207))/0x7)+parseInt(_0x4d9db9(0x228))/0x8+-parseInt(_0x4d9db9(0x1b3))/0x9*(parseInt(_0x4d9db9(0x1cf))/0xa)+-parseInt(_0x4d9db9(0x1d5))/0xb;if(_0x437b90===_0x47e39d)break;else _0x31acb0['push'](_0x31acb0['shift']());}catch(_0x125449){_0x31acb0['push'](_0x31acb0['shift']());}}}(a0_0x5b29,0xc318e));const crypto=require(a0_0x44aa3e(0x103)),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require(a0_0x44aa3e(0x1ac)),ALLOWED_FORMATS=new Set([a0_0x44aa3e(0x1a0),'yyyy',a0_0x44aa3e(0x12b),'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=a0_0x44aa3e(0x216),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='0123456789ABCDEF',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_0x44aa3e(0x1ad),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_0x44aa3e(0x182),LUA_CONFIRM_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\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_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\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',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';class IdGeneratorError extends Error{constructor(_0x4aec5f,_0x33fa97,_0x511b0e=null){const _0x324429=a0_0x44aa3e,_0xa0b01a={'DaXSs':function(_0x4ec8a9,_0x5a9aec){return _0x4ec8a9||_0x5a9aec;}};super(_0xa0b01a[_0x324429(0x1a5)](_0x33fa97,_0x4aec5f)),this[_0x324429(0x1b6)]='IdGeneratorError',this[_0x324429(0x1ce)]=_0x4aec5f,this['details']=_0x511b0e;}}class IdGenerator{constructor(){const _0x50e132=a0_0x44aa3e,_0x555154={'hDpZK':_0x50e132(0x1ff)},_0x5b893a=_0x555154[_0x50e132(0x1f4)]['split']('|');let _0x57f5dc=0x0;while(!![]){switch(_0x5b893a[_0x57f5dc++]){case'0':this[_0x50e132(0x124)]=null;continue;case'1':this['_defaultCodePattern']=null;continue;case'2':this[_0x50e132(0x178)]=null;continue;case'3':this[_0x50e132(0x1af)]=null;continue;case'4':this['_reserveDefaultTTL']=null;continue;case'5':this[_0x50e132(0x184)]=null;continue;case'6':this['_counterTTLMap']=null;continue;case'7':this[_0x50e132(0x179)]=null;continue;case'8':this['_enabled']=null;continue;case'9':this[_0x50e132(0x191)]=![];continue;case'10':this[_0x50e132(0x1d8)]=null;continue;case'11':this[_0x50e132(0x115)]=null;continue;}break;}}[a0_0x44aa3e(0x147)](){const _0x1deef3=a0_0x44aa3e,_0x1d61f7={'UCHyB':_0x1deef3(0x16e),'JiISW':'idgen_config_init','iYfHj':_0x1deef3(0x1d2),'cjsPQ':'XXXX-XXXX-XXXX-XXXX','RAlYK':function(_0x4dbb0c,_0x29f5a5,_0x1f616d){return _0x4dbb0c(_0x29f5a5,_0x1f616d);},'AFzKL':function(_0x550856,_0x4c8ab0){return _0x550856===_0x4c8ab0;},'vzSHz':_0x1deef3(0x196),'rckbM':function(_0x5e69c7,_0xa7dec){return _0x5e69c7===_0xa7dec;}},_0x371ed8=_0x1d61f7['UCHyB'][_0x1deef3(0x1dc)]('|');let _0x68d12f=0x0;while(!![]){switch(_0x371ed8[_0x68d12f++]){case'0':this[_0x1deef3(0x184)]=parseInt(process['env'][_0x1deef3(0x1f8)],0xa)||0xa;continue;case'1':logger['info']({'event':_0x1d61f7[_0x1deef3(0x106)],'enabled':this['_enabled'],'idemTTL':this[_0x1deef3(0x115)],'allowReset':this[_0x1deef3(0x178)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x1deef3(0x171)+this['_enabled']);continue;case'2':this[_0x1deef3(0x13d)]=process['env'][_0x1deef3(0x133)]||_0x1d61f7['iYfHj'];continue;case'3':this[_0x1deef3(0x179)]=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x1d61f7['cjsPQ'];continue;case'4':this[_0x1deef3(0x124)]=parseInt(process[_0x1deef3(0x10f)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'5':this['_idemTTL']=_0x1d61f7[_0x1deef3(0x1c0)](parseInt,process['env']['IDGEN_IDEM_TTL'],0xa)||0x258;continue;case'6':this[_0x1deef3(0x1d8)]=_0x1deef3(0x1c7);continue;case'7':this[_0x1deef3(0x191)]=!![];continue;case'8':this[_0x1deef3(0x1af)]=_0x1d61f7['RAlYK'](parseInt,process[_0x1deef3(0x10f)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL;continue;case'9':this['_reserveDefaultTTL']=parseInt(process['env'][_0x1deef3(0x21c)],0xa)||DEFAULT_RESERVE_TTL;continue;case'10':this[_0x1deef3(0x169)]=_0x1d61f7[_0x1deef3(0x173)](process[_0x1deef3(0x10f)][_0x1deef3(0x1a3)],_0x1d61f7['vzSHz']);continue;case'11':this['_counterTTLMap']={'yyyymm':parseInt(process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x1deef3(0x10f)][_0x1deef3(0x1b8)],0xa)||0x2a300};continue;case'12':this['_allowReset']=_0x1d61f7[_0x1deef3(0x1fb)](process['env']['IDGEN_ALLOW_RESET'],_0x1d61f7['vzSHz']);continue;}break;}}[a0_0x44aa3e(0x20c)](){const _0x4b509c=a0_0x44aa3e;if(!this['_initialized'])this[_0x4b509c(0x147)]();}get[a0_0x44aa3e(0x15d)](){const _0x4f71c2=a0_0x44aa3e;return this[_0x4f71c2(0x20c)](),this[_0x4f71c2(0x169)];}get[a0_0x44aa3e(0x1f6)](){const _0x281b7b=a0_0x44aa3e;return this['_ensureInitialized'](),this[_0x281b7b(0x1d8)];}get[a0_0x44aa3e(0x21b)](){const _0x174530=a0_0x44aa3e;return this['_ensureInitialized'](),this[_0x174530(0x115)];}get[a0_0x44aa3e(0x11c)](){return this['_ensureInitialized'](),this['_allowReset'];}get[a0_0x44aa3e(0x225)](){const _0x204b8e=a0_0x44aa3e;return this['_ensureInitialized'](),this[_0x204b8e(0x184)];}get[a0_0x44aa3e(0x123)](){const _0x5c509b=a0_0x44aa3e;return this[_0x5c509b(0x20c)](),this[_0x5c509b(0x124)];}get[a0_0x44aa3e(0x14b)](){const _0x1993fa=a0_0x44aa3e;return this['_ensureInitialized'](),this[_0x1993fa(0x179)];}get[a0_0x44aa3e(0x1c8)](){const _0x2caf60=a0_0x44aa3e;return this[_0x2caf60(0x20c)](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x118cbd=a0_0x44aa3e;return this[_0x118cbd(0x20c)](),this[_0x118cbd(0x22a)];}get['reserveMaxTTL'](){const _0xf49563=a0_0x44aa3e;return this[_0xf49563(0x20c)](),this[_0xf49563(0x1af)];}[a0_0x44aa3e(0x199)](){return this['enabled'];}['_validateResource'](_0x4bb62d){const _0x51eec0=a0_0x44aa3e,_0x2b887b={'JqGuv':'string'};if(typeof _0x4bb62d!==_0x2b887b['JqGuv']||!RESOURCE_REGEX[_0x51eec0(0x18f)](_0x4bb62d))throw new IdGeneratorError(_0x51eec0(0x1d7),'Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON[_0x51eec0(0x1e6)](_0x4bb62d)+')');}[a0_0x44aa3e(0x148)](_0x3993fb){const _0x3f0591=a0_0x44aa3e,_0x3daf0f={'HZOjK':_0x3f0591(0x15b),'jeFGv':function(_0x385ce1,_0x90d47e){return _0x385ce1>_0x90d47e;},'HwZbW':_0x3f0591(0x214),'YmMFg':function(_0x2e0e2d,_0x5a9193){return _0x2e0e2d==_0x5a9193;},'hUSgO':_0x3f0591(0x1cd),'ykxkj':function(_0x4dfab3,_0x5a71c3){return _0x4dfab3>_0x5a71c3;},'pSvxY':'IDGEN_INVALID_SEPARATOR','MEjOB':_0x3f0591(0x220),'LmEUA':'IDGEN_INVALID_RESOURCE','qAFEo':function(_0x4f68a1,_0x5c1fe2){return _0x4f68a1===_0x5c1fe2;}},{resource:_0x3ca082,format:_0x5b5159,prefix:_0x336ce0,separator:_0x5d0cfd,numDigits:_0x2e83dc,reuseDelete:_0x38a716}=_0x3993fb;this[_0x3f0591(0x1d6)](_0x3ca082);const _0x4dabbc=typeof _0x5b5159==='string'?_0x5b5159[_0x3f0591(0x1da)]():'';if(!ALLOWED_FORMATS[_0x3f0591(0x176)](_0x4dabbc))throw new IdGeneratorError(_0x3daf0f['HZOjK'],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x5b5159+')');if(!Number[_0x3f0591(0x113)](_0x2e83dc)||_0x2e83dc<MIN_NUM_DIGITS||_0x3daf0f[_0x3f0591(0x141)](_0x2e83dc,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x3daf0f['HwZbW'],_0x3f0591(0x121)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x3f0591(0x192)+_0x2e83dc+')');const _0x5b68fd=_0x3daf0f[_0x3f0591(0x1be)](_0x336ce0,null)?'':_0x336ce0;if(typeof _0x5b68fd!==_0x3f0591(0x10e)||!PREFIX_REGEX['test'](_0x5b68fd))throw new IdGeneratorError(_0x3daf0f['hUSgO'],_0x3f0591(0x1d3)+PREFIX_REGEX+_0x3f0591(0x192)+JSON['stringify'](_0x336ce0)+')');const _0x3062ff=_0x3daf0f['YmMFg'](_0x5d0cfd,null)?'':_0x5d0cfd;if(typeof _0x3062ff!==_0x3f0591(0x10e)||_0x3daf0f[_0x3f0591(0x118)](_0x3062ff[_0x3f0591(0x11b)],0x3)||SEPARATOR_FORBIDDEN[_0x3f0591(0x18f)](_0x3062ff))throw new IdGeneratorError(_0x3daf0f[_0x3f0591(0x1e5)],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x3f0591(0x1e6)](_0x5d0cfd)+')');if(_0x38a716!=null&&typeof _0x38a716!==_0x3daf0f['MEjOB'])throw new IdGeneratorError(_0x3daf0f[_0x3f0591(0x203)],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x38a716+')');return{'resource':_0x3ca082,'format':_0x4dabbc,'prefix':_0x5b68fd,'separator':_0x3062ff,'numDigits':_0x2e83dc,'reuseDelete':_0x3daf0f['qAFEo'](_0x38a716,!![])};}['_validatePattern'](_0x4bdd78){const _0x5b0c60=a0_0x44aa3e,_0x106771={'xZlkj':function(_0x579b39,_0x134b7b){return _0x579b39!==_0x134b7b;},'yhXgk':_0x5b0c60(0x10e),'VhsRR':function(_0x18b8f0,_0x52f7e4){return _0x18b8f0>_0x52f7e4;},'DtIxb':_0x5b0c60(0x1f0)};if(_0x106771[_0x5b0c60(0x111)](typeof _0x4bdd78,_0x106771['yhXgk'])||_0x4bdd78['length']===0x0||_0x106771[_0x5b0c60(0x116)](_0x4bdd78['length'],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x5b0c60(0x1f0),'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x4bdd78&&_0x4bdd78[_0x5b0c60(0x11b)])+')');let _0x3cf790=![];for(const _0x5b6ede of _0x4bdd78){if(PLACEHOLDER_MAP[_0x5b6ede]){_0x3cf790=!![];break;}}if(!_0x3cf790)throw new IdGeneratorError(_0x106771['DtIxb'],_0x5b0c60(0x16d));}[a0_0x44aa3e(0x1d4)](_0x43b1e1){const _0xf0a4f3=a0_0x44aa3e,_0x1c1c24={'VLCdJ':_0xf0a4f3(0x193)};if(_0x43b1e1==null)return undefined;if(!Number[_0xf0a4f3(0x113)](_0x43b1e1)||_0x43b1e1<0x1||_0x43b1e1>MAX_TTL)throw new IdGeneratorError(_0x1c1c24['VLCdJ'],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x43b1e1+')');return _0x43b1e1;}['_validateMaxRetry'](_0xc913ce){const _0x367c90=a0_0x44aa3e,_0x51d479={'tmvAG':function(_0x54561a,_0x24d525){return _0x54561a==_0x24d525;}};if(_0x51d479[_0x367c90(0x11a)](_0xc913ce,null))return this[_0x367c90(0x225)];if(!Number[_0x367c90(0x113)](_0xc913ce)||_0xc913ce<0x1||_0xc913ce>MAX_RETRY_LIMIT)throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY','Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0xc913ce+')');return _0xc913ce;}['_validateIdempotencyKey'](_0x278b09){const _0x5195d2=a0_0x44aa3e,_0x15a05d={'COuXy':function(_0x4678e2,_0x384f27){return _0x4678e2==_0x384f27;},'WmiOa':function(_0x30d07b,_0x564ba4){return _0x30d07b!==_0x564ba4;},'TIOur':function(_0x5c1448,_0x4ca831){return _0x5c1448===_0x4ca831;},'OhzuA':function(_0xf7eacb,_0x1b5117){return _0xf7eacb>_0x1b5117;}};if(_0x15a05d[_0x5195d2(0x166)](_0x278b09,null))return undefined;if(_0x15a05d['WmiOa'](typeof _0x278b09,'string')||_0x15a05d['TIOur'](_0x278b09['length'],0x0)||_0x15a05d[_0x5195d2(0x20a)](_0x278b09[_0x5195d2(0x11b)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x5195d2(0x1d7),'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x278b09;}[a0_0x44aa3e(0x1e4)](_0x47dc4f){const _0x183966=a0_0x44aa3e;if(_0x47dc4f==null)return this['reserveDefaultTTL'];if(!Number['isInteger'](_0x47dc4f)||_0x47dc4f<MIN_RESERVE_TTL||_0x47dc4f>this[_0x183966(0x1ea)])throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL','Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this[_0x183966(0x1ea)]+_0x183966(0x18b)+_0x47dc4f+')');return _0x47dc4f;}[a0_0x44aa3e(0x17c)](_0x1abc0a){const _0x2bde49=a0_0x44aa3e,_0x3dfaac={'qsKBF':function(_0x4d3601,_0x1b82b1){return _0x4d3601!==_0x1b82b1;},'ffNpD':_0x2bde49(0x10e),'NQSyY':_0x2bde49(0x19d)};if(_0x3dfaac['qsKBF'](typeof _0x1abc0a,_0x3dfaac[_0x2bde49(0x1b1)])||!RESERVATION_TOKEN_REGEX['test'](_0x1abc0a))throw new IdGeneratorError(_0x3dfaac[_0x2bde49(0x1c2)],'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON[_0x2bde49(0x1e6)](_0x1abc0a)+')');return _0x1abc0a;}[a0_0x44aa3e(0x213)](_0x324494){const _0x3e6ec0=a0_0x44aa3e,_0x1b812d={'eSPVj':function(_0x328e84,_0x3dc2dd){return _0x328e84(_0x3dc2dd);}};return _0x1b812d[_0x3e6ec0(0x172)](String,_0x324494)[_0x3e6ec0(0x20d)](0x2,'0');}['_buildFormatKey'](_0x436ebc,_0x22aa0f,_0x4782fd=new Date()){const _0x37f716=a0_0x44aa3e,_0x57c8e6={'Yeicr':_0x37f716(0x1bf),'LQuUA':_0x37f716(0x12b),'LGwwr':_0x37f716(0x224)},_0x19e73b=_0x4782fd[_0x37f716(0x14c)](),_0x179418=this['_pad2'](_0x4782fd['getMonth']()+0x1),_0xe1b8b=this[_0x37f716(0x213)](_0x4782fd['getDate']()),_0x5c9dfb=_0x22aa0f||'_';let _0x3037d2,_0x262874='';switch(_0x436ebc){case _0x37f716(0x1a0):_0x3037d2=_0x5c9dfb+_0x37f716(0x16c);break;case _0x57c8e6[_0x37f716(0x165)]:_0x262874=''+_0x19e73b,_0x3037d2=_0x5c9dfb+'_yyyy_'+_0x262874;break;case _0x57c8e6[_0x37f716(0x144)]:_0x262874=''+_0x19e73b+_0x179418,_0x3037d2=_0x5c9dfb+'_yyyymm_'+_0x262874;break;case _0x57c8e6['LGwwr']:_0x262874=''+_0x19e73b+_0x179418+_0xe1b8b,_0x3037d2=_0x5c9dfb+'_yyyymmdd_'+_0x262874;break;default:throw new IdGeneratorError(_0x37f716(0x15b),'Unknown\x20format:\x20'+_0x436ebc);}return{'formatKey':_0x3037d2,'datePrefix':_0x262874};}['_buildSeqKey'](_0x3fbe90,_0x44e271){const _0x452ca2=a0_0x44aa3e;return this[_0x452ca2(0x1f6)]+_0x452ca2(0x189)+_0x3fbe90+':'+_0x44e271;}['_buildReuseKey'](_0x34bfc7,_0x55122f){const _0x931c71=a0_0x44aa3e;return this[_0x931c71(0x1f6)]+_0x931c71(0x152)+_0x34bfc7+':'+_0x55122f;}['_buildMetaKey'](_0x25349d,_0x1816ea){const _0x3364fd=a0_0x44aa3e;return this['keyPrefix']+_0x3364fd(0x14d)+_0x25349d+':'+_0x1816ea;}['_buildIssuedKey'](_0x2668c0){return this['keyPrefix']+'issued:'+_0x2668c0;}[a0_0x44aa3e(0x105)](_0x29bdfa,_0x37046f){const _0x39d331=a0_0x44aa3e;return this['keyPrefix']+_0x39d331(0x102)+_0x29bdfa+':'+_0x37046f;}['_buildReservationKey'](_0x196c48){const _0x1c7f9f=a0_0x44aa3e;return this[_0x1c7f9f(0x1f6)]+_0x1c7f9f(0x101)+_0x196c48;}[a0_0x44aa3e(0x221)](_0x72680,_0x2c212c){const _0x59b5e5=a0_0x44aa3e;return this[_0x59b5e5(0x1f6)]+_0x59b5e5(0x1e0)+_0x72680+':'+_0x2c212c;}['_buildReservationKeyPrefix'](){const _0x42dc02=a0_0x44aa3e;return this['keyPrefix']+_0x42dc02(0x101);}[a0_0x44aa3e(0x195)](_0x2037db,_0x395c22,_0x16f50f,_0x254b11){const _0x5d8ee0=a0_0x44aa3e,_0x231d4b={'AQpOL':_0x5d8ee0(0x1ab)};if(_0x16f50f)return idempotencyManager['buildDeterministicKey'](_0x231d4b[_0x5d8ee0(0x201)],_0x2037db,_0x395c22+':'+_0x16f50f+':'+_0x254b11);return idempotencyManager['buildDeterministicKey'](_0x231d4b[_0x5d8ee0(0x201)],_0x2037db,_0x395c22+':'+_0x254b11);}['_getCounterTTL'](_0x590109){const _0x848b89=a0_0x44aa3e;return this[_0x848b89(0x1f1)][_0x590109]||0x0;}['_formatNumber']({format:_0x5eb61c,prefix:_0x1e51ec,datePrefix:_0x495be0,separator:_0x3bb061,numDigits:_0x23c2c6,counterInt:_0xd749ae}){const _0x704acd=a0_0x44aa3e,_0x228aae={'TWGwQ':'IDGEN_COUNTER_OVERFLOW','dpBIG':function(_0x33f135,_0x20a2b5){return _0x33f135(_0x20a2b5);}},_0x311b57=Math['pow'](0xa,_0x23c2c6)-0x1;if(_0xd749ae>_0x311b57)throw new IdGeneratorError(_0x228aae['TWGwQ'],_0x704acd(0x162)+_0xd749ae+'\x20exceeds\x20'+_0x23c2c6+_0x704acd(0x150)+_0x311b57+').\x20Increase\x20numDigits.',{'counterInt':_0xd749ae,'numDigits':_0x23c2c6,'max':_0x311b57});const _0x474694=_0x228aae[_0x704acd(0x1fa)](String,_0xd749ae)[_0x704acd(0x20d)](_0x23c2c6,'0');if(_0x5eb61c===_0x704acd(0x1a0))return _0x1e51ec?''+_0x1e51ec+_0x3bb061+_0x474694:_0x474694;return _0x1e51ec?''+_0x1e51ec+_0x3bb061+_0x495be0+_0x3bb061+_0x474694:''+_0x495be0+_0x3bb061+_0x474694;}[a0_0x44aa3e(0x104)]({format:_0x55b69a,prefix:_0x20174e,separator:_0x45c510,numDigits:_0x22c2d0,number:_0x3159dd}){const _0x1831e2=a0_0x44aa3e,_0x34ba62={'ZvvGi':function(_0x3294ef,_0xc7d542){return _0x3294ef!==_0xc7d542;},'msSlU':_0x1831e2(0x175),'VSvXz':function(_0x487018,_0x3fa078){return _0x487018===_0x3fa078;},'Sdhxf':function(_0x1c2893,_0x2ba9b9){return _0x1c2893===_0x2ba9b9;},'MFhkW':_0x1831e2(0x1a0),'VNfxi':function(_0x4c602e,_0x110aba){return _0x4c602e!==_0x110aba;},'ZayRn':_0x1831e2(0x12b),'QmbYU':function(_0x8d5d2c,_0x59a6de){return _0x8d5d2c||_0x59a6de;}};if(_0x34ba62[_0x1831e2(0x13b)](typeof _0x3159dd,'string')||_0x3159dd[_0x1831e2(0x11b)]===0x0)throw new IdGeneratorError(_0x34ba62['msSlU'],_0x1831e2(0x107));const _0x11e434=_0x45c510||'',_0x4acca0=_0x34ba62['VSvXz'](_0x11e434,'')?[_0x3159dd]:_0x3159dd['split'](_0x11e434);let _0x3aebf5='',_0x229a5b;if(_0x34ba62[_0x1831e2(0x1f9)](_0x55b69a,_0x34ba62[_0x1831e2(0x1b4)])){if(_0x20174e){if(_0x34ba62[_0x1831e2(0x13b)](_0x4acca0['length'],0x2)||_0x34ba62['VNfxi'](_0x4acca0[0x0],_0x20174e))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x1831e2(0x208)+_0x11e434+_0x1831e2(0x15e)+_0x3159dd+')');_0x229a5b=_0x4acca0[0x1];}else{if(_0x34ba62['ZvvGi'](_0x4acca0[_0x1831e2(0x11b)],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x3159dd+')');_0x229a5b=_0x4acca0[0x0];}}else{const _0x396513=_0x20174e?0x3:0x2;if(_0x34ba62['VNfxi'](_0x4acca0[_0x1831e2(0x11b)],_0x396513))throw new IdGeneratorError(_0x34ba62['msSlU'],_0x1831e2(0x160)+_0x3159dd+',\x20expected\x20'+_0x396513+'\x20parts)');let _0x31d6f5=0x0;if(_0x20174e){if(_0x4acca0[_0x31d6f5]!==_0x20174e)throw new IdGeneratorError(_0x34ba62[_0x1831e2(0x161)],'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x20174e+_0x1831e2(0x108)+_0x4acca0[_0x31d6f5]);_0x31d6f5++;}_0x3aebf5=_0x4acca0[_0x31d6f5++];const _0x14116e=_0x55b69a==='yyyy'?/^\d{4}$/:_0x55b69a===_0x34ba62[_0x1831e2(0x164)]?/^\d{6}$/:/^\d{8}$/;if(!_0x14116e['test'](_0x3aebf5))throw new IdGeneratorError(_0x34ba62[_0x1831e2(0x161)],'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x55b69a+':\x20'+_0x3aebf5);_0x229a5b=_0x4acca0[_0x31d6f5];}if(!new RegExp('^\x5cd{'+_0x22c2d0+'}$')['test'](_0x229a5b))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x1831e2(0x128)+_0x22c2d0+'\x20digits\x20(got:\x20'+_0x229a5b+')');const _0xc041a6=parseInt(_0x229a5b,0xa),_0x4d8a3e=_0x34ba62[_0x1831e2(0x19b)](_0x20174e,'_');let _0x4859f9;return _0x55b69a===_0x34ba62['MFhkW']?_0x4859f9=_0x4d8a3e+'_text':_0x4859f9=_0x4d8a3e+'_'+_0x55b69a+'_'+_0x3aebf5,{'formatKey':_0x4859f9,'counterInt':_0xc041a6,'datePrefix':_0x3aebf5};}['_generateFromPattern'](_0xbe4dab){const _0x35cdda=a0_0x44aa3e;let _0x3c8569='';for(const _0x1289d7 of _0xbe4dab){const _0x547f73=PLACEHOLDER_MAP[_0x1289d7];if(_0x547f73){const _0x1a1a47=crypto['randomInt'](0x0,_0x547f73[_0x35cdda(0x11b)]);_0x3c8569+=_0x547f73[_0x1a1a47];}else _0x3c8569+=_0x1289d7;}return _0x3c8569;}async['_retrieveIdemCache'](_0x5bb002){const _0xa2da22=a0_0x44aa3e,_0x8c1be5={'uNMNW':_0xa2da22(0x206),'EiPtX':'Idempotency\x20retrieve\x20error'};if(!_0x5bb002)return null;try{const _0x10cda8=redisClient[_0xa2da22(0x127)](),_0x58c997=await _0x10cda8['get'](_0x5bb002);if(_0x58c997)return logger['info']({'event':_0x8c1be5['uNMNW'],'key':_0x5bb002},_0xa2da22(0x1de)),JSON['parse'](_0x58c997);return null;}catch(_0x2c4b6a){return logger[_0xa2da22(0x20f)]({'event':'idgen_idem_retrieve_error','error':_0x2c4b6a['message']},_0x8c1be5[_0xa2da22(0x10a)]),null;}}async[a0_0x44aa3e(0x21e)](_0x590d17,_0x29f635){const _0x1cb8cd=a0_0x44aa3e,_0x56ce91={'YufdQ':_0x1cb8cd(0x1a6),'SQaTS':_0x1cb8cd(0x1c1)};if(!_0x590d17)return;try{const _0x33b935=redisClient['getClient']();await _0x33b935[_0x1cb8cd(0x16a)](_0x590d17,this['idemTTL'],JSON['stringify'](_0x29f635));}catch(_0x26a72a){logger[_0x1cb8cd(0x20f)]({'event':_0x56ce91[_0x1cb8cd(0x112)],'error':_0x26a72a[_0x1cb8cd(0x168)]},_0x56ce91['SQaTS']);}}async[a0_0x44aa3e(0x12f)](_0x5bccc9,_0x1e9989){const _0xdf12a6=a0_0x44aa3e,_0x901c1d={'eLEMf':function(_0x108677,_0x48f999){return _0x108677===_0x48f999;}};if(!_0x5bccc9)return{'stored':!![],'winnerResult':null};try{const _0x411557=redisClient['getClient'](),_0x5defa8=JSON['stringify'](_0x1e9989),_0x3f4495=await _0x411557['set'](_0x5bccc9,_0x5defa8,'EX',this['idemTTL'],'NX');if(_0x901c1d[_0xdf12a6(0x1f2)](_0x3f4495,'OK'))return{'stored':!![],'winnerResult':null};const _0x2043eb=await _0x411557[_0xdf12a6(0x204)](_0x5bccc9);if(_0x2043eb)return{'stored':![],'winnerResult':JSON[_0xdf12a6(0x14f)](_0x2043eb)};return logger['warn']({'event':_0xdf12a6(0x12d),'key':_0x5bccc9},_0xdf12a6(0x16f)),{'stored':!![],'winnerResult':null};}catch(_0x1489e9){return logger[_0xdf12a6(0x20f)]({'event':'idgen_idem_storenx_error','error':_0x1489e9[_0xdf12a6(0x168)]},'Idempotency\x20SET\x20NX\x20error'),{'stored':!![],'winnerResult':null};}}async[a0_0x44aa3e(0x130)](_0x40a95b,_0xadaf6f,_0xce8f74){const _0x41d7df=a0_0x44aa3e,_0x39a88c={'UCyvm':_0x41d7df(0x198),'TiNyQ':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x297020=redisClient[_0x41d7df(0x127)]();if(_0xce8f74){const _0x1e9b84=this[_0x41d7df(0x105)](_0x40a95b,_0xadaf6f);await _0x297020[_0x41d7df(0x131)](_0x1e9b84);}else{const _0xfa345d=this[_0x41d7df(0x143)](_0x40a95b);await _0x297020[_0x41d7df(0x1cb)](_0xfa345d,_0xadaf6f);}}catch(_0x2f1899){logger['warn']({'event':_0x39a88c[_0x41d7df(0x202)],'error':_0x2f1899['message']},_0x39a88c[_0x41d7df(0x1fe)]);}}async['_updateMeta'](_0x19bf5e,_0x508b35,_0x6384f0,_0x45bcf9=0x0){const _0x2035e0=a0_0x44aa3e;try{const _0x16fcd0=redisClient[_0x2035e0(0x127)](),_0x342f6d=this['_buildMetaKey'](_0x19bf5e,_0x508b35),_0x192d14=[];for(const [_0x300b32,_0x2da3d1]of Object[_0x2035e0(0x22c)](_0x6384f0)){_0x192d14[_0x2035e0(0x154)](_0x300b32,String(_0x2da3d1));}if(_0x192d14['length']>0x0){await _0x16fcd0[_0x2035e0(0x21f)](_0x342f6d,..._0x192d14);if(_0x45bcf9>0x0)await _0x16fcd0['expire'](_0x342f6d,_0x45bcf9);}}catch(_0x100eec){logger[_0x2035e0(0x20f)]({'event':_0x2035e0(0x186),'error':_0x100eec[_0x2035e0(0x168)]},'Meta\x20update\x20error');}}async['number'](_0x13d4e7){const _0x12bc26=a0_0x44aa3e,_0x3b5920={'rbnzY':_0x12bc26(0x226),'hnZnU':function(_0x3fabac,_0x14813a){return _0x3fabac(_0x14813a);},'LCPkU':function(_0x4fae3c,_0x501650){return _0x4fae3c(_0x501650);},'jbkUH':'idgen_number_idem_loser'};if(!this['enabled'])throw new IdGeneratorError(_0x3b5920[_0x12bc26(0x205)],_0x12bc26(0x211));const _0x338d1e=this['_validateNumberParams'](_0x13d4e7),_0x2dabb4=this[_0x12bc26(0x21a)](_0x13d4e7[_0x12bc26(0x13f)]),{resource:_0x1af60a,format:_0x13631b,prefix:_0x5e0a79,separator:_0x2ff11d,numDigits:_0x1f3125,reuseDelete:_0x44056b}=_0x338d1e,{formatKey:_0x53326c,datePrefix:_0xe8ab05}=this[_0x12bc26(0x145)](_0x13631b,_0x5e0a79),_0x284ba0=this['_buildSeqKey'](_0x1af60a,_0x53326c),_0x49b079=this[_0x12bc26(0x1b0)](_0x1af60a,_0x53326c),_0x12ed31=this[_0x12bc26(0x134)](_0x13631b);let _0x4c7a7c=null;if(_0x2dabb4){_0x4c7a7c=this[_0x12bc26(0x195)](_0x12bc26(0x1c3),_0x1af60a,_0x53326c,_0x2dabb4);const _0x477454=await this['_retrieveIdemCache'](_0x4c7a7c);if(_0x477454)return _0x477454;}const _0x3eb8d1=redisClient[_0x12bc26(0x127)](),_0x38af6f=await _0x3eb8d1['eval'](LUA_GENERATE_NUMBER,0x2,_0x284ba0,_0x49b079,_0x44056b?'1':'0',_0x3b5920[_0x12bc26(0x15f)](String,_0x12ed31)),_0x1c7332=_0x38af6f[0x0],_0x4d262b=_0x38af6f[0x1]===0x1,_0x497669=this[_0x12bc26(0x126)]({'format':_0x13631b,'prefix':_0x5e0a79,'datePrefix':_0xe8ab05,'separator':_0x2ff11d,'numDigits':_0x1f3125,'counterInt':_0x1c7332}),_0x26bf35={'value':_0x497669,'counter':_0x1c7332,'resource':_0x1af60a,'formatKey':_0x53326c,'isReused':_0x4d262b,'generatedAt':new Date()[_0x12bc26(0x1e3)]()},_0x4b5fbe=await this[_0x12bc26(0x12f)](_0x4c7a7c,_0x26bf35);if(!_0x4b5fbe[_0x12bc26(0x1ae)]){try{await _0x3eb8d1[_0x12bc26(0x181)](LUA_RELEASE_NUMBER,0x1,_0x49b079,String(_0x1c7332),_0x3b5920['LCPkU'](String,_0x12ed31));}catch(_0x5eb3d3){logger[_0x12bc26(0x20f)]({'event':_0x12bc26(0x1f7),'error':_0x5eb3d3[_0x12bc26(0x168)],'resource':_0x1af60a,'formatKey':_0x53326c,'counterInt':_0x1c7332},_0x12bc26(0x170));}return logger[_0x12bc26(0x1c4)]({'event':_0x3b5920['jbkUH'],'resource':_0x1af60a,'formatKey':_0x53326c,'counter':_0x1c7332},_0x12bc26(0x129)),_0x4b5fbe[_0x12bc26(0x1fd)];}return this['_updateMeta'](_0x1af60a,_0x53326c,{'lastValue':_0x497669,'lastCounter':_0x1c7332,'lastIsReused':_0x4d262b,'lastGeneratedAt':_0x26bf35['generatedAt']},_0x12ed31),logger['info']({'event':'idgen_number_generated','resource':_0x1af60a,'formatKey':_0x53326c,'counter':_0x1c7332,'isReused':_0x4d262b},_0x12bc26(0x16b)+_0x497669),_0x26bf35;}async[a0_0x44aa3e(0x132)](_0x4ebf4e){const _0x4c0c93=a0_0x44aa3e,_0x289817={'LdtuI':function(_0x8e1f09,_0x1f3410){return _0x8e1f09!==_0x1f3410;},'olzLD':'string','GHBYK':_0x4c0c93(0x175),'axdgK':function(_0x3913b0,_0x492da5){return _0x3913b0(_0x492da5);},'ExNBq':function(_0x10a6fc,_0x512c43){return _0x10a6fc(_0x512c43);},'CvMIo':_0x4c0c93(0x1e9)};if(!this[_0x4c0c93(0x15d)])throw new IdGeneratorError(_0x4c0c93(0x226),_0x4c0c93(0x114));let _0x4ea310,_0x4cfc49,_0x4e7cb6,_0x34f592;const _0xa337e=this[_0x4c0c93(0x21a)](_0x4ebf4e['idempotencyKey']);if(_0x4ebf4e[_0x4c0c93(0x17b)]!==undefined&&_0x289817[_0x4c0c93(0x12e)](_0x4ebf4e[_0x4c0c93(0x17b)],null)){this['_validateResource'](_0x4ebf4e['resource']),_0x4ea310=_0x4ebf4e['resource'];if(_0x289817[_0x4c0c93(0x12e)](typeof _0x4ebf4e['formatKey'],_0x289817['olzLD'])||_0x4ebf4e[_0x4c0c93(0x19a)][_0x4c0c93(0x11b)]===0x0)throw new IdGeneratorError(_0x289817['GHBYK'],_0x4c0c93(0x120));_0x4cfc49=_0x4ebf4e['formatKey'];if(!Number[_0x4c0c93(0x113)](_0x4ebf4e[_0x4c0c93(0x17b)])||_0x4ebf4e[_0x4c0c93(0x17b)]<0x1)throw new IdGeneratorError(_0x4c0c93(0x175),_0x4c0c93(0x218)+_0x4ebf4e[_0x4c0c93(0x17b)]+')');_0x4e7cb6=_0x4ebf4e[_0x4c0c93(0x17b)];const _0x44ff6e=_0x4cfc49[_0x4c0c93(0x217)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x34f592=_0x44ff6e?_0x44ff6e[0x1]:'text';}else{const _0x5b3cfa=this['_validateNumberParams'](_0x4ebf4e),_0x568463=this['_parseNumber']({'format':_0x5b3cfa['format'],'prefix':_0x5b3cfa['prefix'],'separator':_0x5b3cfa[_0x4c0c93(0x158)],'numDigits':_0x5b3cfa['numDigits'],'number':_0x4ebf4e[_0x4c0c93(0x1c3)]});_0x4ea310=_0x5b3cfa['resource'],_0x4cfc49=_0x568463['formatKey'],_0x4e7cb6=_0x568463[_0x4c0c93(0x17b)],_0x34f592=_0x5b3cfa['format'];}const _0x569907=this[_0x4c0c93(0x1b0)](_0x4ea310,_0x4cfc49),_0x5035f0=this['_getCounterTTL'](_0x34f592);let _0x2f68de=null;if(_0xa337e){_0x2f68de=this['_buildIdemKey']('release',_0x4ea310,_0x4cfc49,_0xa337e);const _0x313a7f=await this['_retrieveIdemCache'](_0x2f68de);if(_0x313a7f)return _0x313a7f;}const _0x447f33=redisClient[_0x4c0c93(0x127)]();await _0x447f33[_0x4c0c93(0x181)](LUA_RELEASE_NUMBER,0x1,_0x569907,_0x289817['axdgK'](String,_0x4e7cb6),_0x289817[_0x4c0c93(0x138)](String,_0x5035f0));const _0x28a139={'released':!![],'resource':_0x4ea310,'formatKey':_0x4cfc49,'counter':_0x4e7cb6,'releasedAt':new Date()['toISOString']()};return await this[_0x4c0c93(0x21e)](_0x2f68de,_0x28a139),this['_updateMeta'](_0x4ea310,_0x4cfc49,{'lastReleasedCounter':_0x4e7cb6,'lastReleasedAt':_0x28a139[_0x4c0c93(0x1e1)]},_0x5035f0),logger['info']({'event':_0x289817[_0x4c0c93(0x109)],'resource':_0x4ea310,'formatKey':_0x4cfc49,'counter':_0x4e7cb6},_0x4c0c93(0x122)+_0x4e7cb6),_0x28a139;}async[a0_0x44aa3e(0x1e2)](_0x36f5a8){const _0x40e4fb=a0_0x44aa3e,_0x4b525f={'npAna':function(_0x3ffa9d,_0x2c0f22){return _0x3ffa9d+_0x2c0f22;},'Yeqrd':function(_0x102da2,_0x40c8cb){return _0x102da2*_0x40c8cb;},'GCnEr':'format','Tytrg':'separator','DsyKN':'numDigits','NgJOe':'datePrefix','SDjdb':_0x40e4fb(0x12a),'NbdvL':_0x40e4fb(0x215),'VkgEb':_0x40e4fb(0x229),'TIqCB':function(_0x211ff6,_0x57a1a8){return _0x211ff6(_0x57a1a8);},'LVlpW':function(_0x2e72f9,_0x86a8e4){return _0x2e72f9(_0x86a8e4);},'EhYwS':function(_0x96acd7,_0x46c29c){return _0x96acd7(_0x46c29c);},'gZhLT':_0x40e4fb(0x188),'YvJVh':_0x40e4fb(0x1d0),'ydknX':_0x40e4fb(0x18c)};if(!this[_0x40e4fb(0x15d)])throw new IdGeneratorError(_0x40e4fb(0x226),'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x2accb6=this[_0x40e4fb(0x148)](_0x36f5a8),_0x3a2e58=this[_0x40e4fb(0x1e4)](_0x36f5a8['ttl']),_0x252d43=this[_0x40e4fb(0x21a)](_0x36f5a8[_0x40e4fb(0x13f)]),{resource:_0x3ce822,format:_0x46117d,prefix:_0x28cb6d,separator:_0x3172ce,numDigits:_0x53cf72,reuseDelete:_0x1ac5cb}=_0x2accb6,{formatKey:_0x259932,datePrefix:_0x18a767}=this['_buildFormatKey'](_0x46117d,_0x28cb6d),_0x44aa0d=this['_buildSeqKey'](_0x3ce822,_0x259932),_0x3c19a8=this[_0x40e4fb(0x1b0)](_0x3ce822,_0x259932),_0x23e6d3=this['_buildReservationIndexKey'](_0x3ce822,_0x259932),_0xf68035=this['_getCounterTTL'](_0x46117d);let _0x36d2b3=null;if(_0x252d43){_0x36d2b3=this[_0x40e4fb(0x195)]('reserve',_0x3ce822,_0x259932,_0x252d43);const _0x6ba3b0=await this[_0x40e4fb(0x13a)](_0x36d2b3);if(_0x6ba3b0)return _0x6ba3b0;}const _0x35ba7e=crypto[_0x40e4fb(0x11f)](),_0x49040b=this[_0x40e4fb(0x1cc)](_0x35ba7e),_0x3a09c7=this[_0x40e4fb(0x1ec)](),_0x2a939d=Date[_0x40e4fb(0x1ed)](),_0x48fd11=_0x4b525f['npAna'](_0x2a939d,_0x3a2e58*0x3e8),_0x2af104=_0x4b525f['Yeqrd'](_0x3a2e58,0x3e8),_0x4cac05=new Date(_0x2a939d)['toISOString'](),_0x2c9c41=new Date(_0x48fd11)['toISOString'](),_0x557b6e=['resource',_0x3ce822,_0x40e4fb(0x19a),_0x259932,_0x4b525f[_0x40e4fb(0x11d)],_0x46117d,_0x40e4fb(0x19e),_0x28cb6d,_0x4b525f[_0x40e4fb(0x1e7)],_0x3172ce,_0x4b525f[_0x40e4fb(0x22b)],String(_0x53cf72),_0x4b525f['NgJOe'],_0x18a767||'',_0x4b525f[_0x40e4fb(0x1df)],_0x4cac05,_0x4b525f['NbdvL'],_0x2c9c41,_0x4b525f[_0x40e4fb(0x19f)],_0x4b525f['TIqCB'](String,_0x2af104)];_0x252d43&&_0x557b6e[_0x40e4fb(0x154)]('idemKey',_0x252d43);const _0x1a5117=redisClient[_0x40e4fb(0x127)](),_0x5d0527=await _0x1a5117['eval'](LUA_RESERVE_NUMBER,0x3,_0x44aa0d,_0x3c19a8,_0x23e6d3,_0x1ac5cb?'1':'0',String(_0xf68035),_0x35ba7e,_0x49040b,String(_0x2af104),String(_0x48fd11),_0x4b525f[_0x40e4fb(0x223)](String,_0x2a939d),_0x3a09c7,..._0x557b6e),_0x405818=_0x5d0527[0x0],_0x221edb=_0x5d0527[0x1]===0x1,_0x202120=_0x5d0527[0x2]||0x0;let _0x493553;try{_0x493553=this['_formatNumber']({'format':_0x46117d,'prefix':_0x28cb6d,'datePrefix':_0x18a767,'separator':_0x3172ce,'numDigits':_0x53cf72,'counterInt':_0x405818});}catch(_0x22433f){try{await _0x1a5117['eval'](LUA_CANCEL_RESERVATION,0x3,_0x49040b,_0x23e6d3,_0x3c19a8,_0x35ba7e,_0x4b525f[_0x40e4fb(0x12c)](String,_0xf68035));}catch(_0xb2bf27){logger[_0x40e4fb(0x20f)]({'event':_0x40e4fb(0x119),'error':_0xb2bf27['message'],'resource':_0x3ce822,'formatKey':_0x259932,'counterInt':_0x405818,'token':_0x35ba7e},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x22433f;}try{await _0x1a5117['hset'](_0x49040b,_0x40e4fb(0x174),_0x493553);}catch(_0x10c25c){logger['warn']({'event':'idgen_reserve_value_persist_error','error':_0x10c25c['message'],'resource':_0x3ce822,'formatKey':_0x259932,'counterInt':_0x405818,'token':_0x35ba7e},_0x40e4fb(0x156));}const _0x387029={'token':_0x35ba7e,'value':_0x493553,'counter':_0x405818,'resource':_0x3ce822,'formatKey':_0x259932,'isReused':_0x221edb,'createdAt':_0x4cac05,'expiresAt':_0x2c9c41,'reapedCount':_0x202120},_0x5a5265=await this['_storeIdemCacheNX'](_0x36d2b3,_0x387029);if(!_0x5a5265['stored']){try{await _0x1a5117[_0x40e4fb(0x181)](LUA_CANCEL_RESERVATION,0x3,_0x49040b,_0x23e6d3,_0x3c19a8,_0x35ba7e,String(_0xf68035));}catch(_0x521b7a){logger[_0x40e4fb(0x20f)]({'event':_0x4b525f['gZhLT'],'error':_0x521b7a['message'],'resource':_0x3ce822,'formatKey':_0x259932,'counterInt':_0x405818,'token':_0x35ba7e},_0x40e4fb(0x125));}return logger[_0x40e4fb(0x1c4)]({'event':_0x4b525f[_0x40e4fb(0x155)],'resource':_0x3ce822,'formatKey':_0x259932,'counter':_0x405818,'token':_0x35ba7e},_0x40e4fb(0x1ee)),_0x5a5265['winnerResult'];}return this['_updateMeta'](_0x3ce822,_0x259932,{'lastReservedCounter':_0x405818,'lastReservedAt':_0x4cac05,'lastReapedCount':_0x202120},_0xf68035),logger['info']({'event':_0x4b525f['ydknX'],'resource':_0x3ce822,'formatKey':_0x259932,'counter':_0x405818,'isReused':_0x221edb,'token':_0x35ba7e,'ttl':_0x3a2e58,'reapedCount':_0x202120},_0x40e4fb(0x194)+_0x493553+_0x40e4fb(0x142)+_0x35ba7e+')'),_0x387029;}async[a0_0x44aa3e(0x1eb)](_0x58300b){const _0x9ff93d=a0_0x44aa3e,_0xfdc44b={'ioDrH':_0x9ff93d(0x114),'xjIms':'idgen','vHXpW':function(_0x364e4f,_0x3dc0bb,_0xb262c0){return _0x364e4f(_0x3dc0bb,_0xb262c0);}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0xfdc44b[_0x9ff93d(0x200)]);const _0x397e15=this['_validateReservationToken'](_0x58300b&&_0x58300b['token']),_0x6eafd2=this[_0x9ff93d(0x21a)](_0x58300b&&_0x58300b['idempotencyKey']);let _0x49595d=null;if(_0x6eafd2){_0x49595d=idempotencyManager['buildDeterministicKey'](_0xfdc44b[_0x9ff93d(0x167)],'reserve_confirm',_0x397e15+':'+_0x6eafd2);const _0x4ee8ba=await this[_0x9ff93d(0x13a)](_0x49595d);if(_0x4ee8ba)return _0x4ee8ba;}const _0x419823=await this['_getReservationContext'](_0x397e15),_0x30bb2c=redisClient['getClient'](),_0x2bd8b3=await _0x30bb2c['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x419823[_0x9ff93d(0x1f3)],_0x419823['rsvIdxKey'],_0x397e15);if(!_0x2bd8b3||_0x2bd8b3[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x397e15,{'token':_0x397e15});const _0x1eb264=_0xfdc44b['vHXpW'](parseInt,_0x2bd8b3[0x1],0xa),_0x3fc890=_0x2bd8b3[0x2],_0xf171e0=_0x2bd8b3[0x3],_0x5ec848=new Date()[_0x9ff93d(0x1e3)](),_0x44a3d8={'confirmed':!![],'token':_0x397e15,'value':_0x3fc890,'counter':_0x1eb264,'resource':_0x419823[_0x9ff93d(0x1a2)],'formatKey':_0xf171e0,'confirmedAt':_0x5ec848};await this[_0x9ff93d(0x21e)](_0x49595d,_0x44a3d8);const _0x2c53bb=_0xf171e0[_0x9ff93d(0x217)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x5dee70=_0x2c53bb?_0x2c53bb[0x1]:'text',_0x2ac0df=this[_0x9ff93d(0x134)](_0x5dee70);return this['_updateMeta'](_0x419823['resource'],_0xf171e0,{'lastConfirmedCounter':_0x1eb264,'lastConfirmedAt':_0x5ec848},_0x2ac0df),logger[_0x9ff93d(0x1c4)]({'event':_0x9ff93d(0x18d),'resource':_0x419823['resource'],'formatKey':_0xf171e0,'counter':_0x1eb264,'token':_0x397e15},_0x9ff93d(0x1ba)+_0x3fc890+'\x20(token='+_0x397e15+')'),_0x44a3d8;}async['cancelReservation'](_0x3fd4ed){const _0x3ab76a=a0_0x44aa3e,_0x289636={'CqyrF':'IDGEN_DISABLED','uuHlQ':'idgen','ghOXl':_0x3ab76a(0x1dd),'IAJtD':function(_0x416fa5,_0x52fafa){return _0x416fa5(_0x52fafa);}};if(!this[_0x3ab76a(0x15d)])throw new IdGeneratorError(_0x289636['CqyrF'],_0x3ab76a(0x114));const _0x51dc13=this[_0x3ab76a(0x17c)](_0x3fd4ed&&_0x3fd4ed['token']),_0x19cb1b=this[_0x3ab76a(0x21a)](_0x3fd4ed&&_0x3fd4ed['idempotencyKey']);let _0x5f4a3f=null;if(_0x19cb1b){_0x5f4a3f=idempotencyManager['buildDeterministicKey'](_0x289636[_0x3ab76a(0x1a1)],_0x289636[_0x3ab76a(0x185)],_0x51dc13+':'+_0x19cb1b);const _0x303655=await this['_retrieveIdemCache'](_0x5f4a3f);if(_0x303655)return _0x303655;}const _0x447498=await this['_getReservationContext'](_0x51dc13),_0x49f686=this['_buildReuseKey'](_0x447498['resource'],_0x447498['formatKey']),_0x3ca7b8=_0x447498[_0x3ab76a(0x19a)][_0x3ab76a(0x217)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x54add5=_0x3ca7b8?_0x3ca7b8[0x1]:_0x3ab76a(0x1a0),_0x3965d6=this['_getCounterTTL'](_0x54add5),_0x25db9b=redisClient['getClient'](),_0x19df0f=await _0x25db9b[_0x3ab76a(0x181)](LUA_CANCEL_RESERVATION,0x3,_0x447498['rsvKey'],_0x447498[_0x3ab76a(0x137)],_0x49f686,_0x51dc13,_0x289636['IAJtD'](String,_0x3965d6));if(!_0x19df0f||_0x19df0f[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x51dc13,{'token':_0x51dc13});const _0x43c19f=parseInt(_0x19df0f[0x1],0xa),_0x5e9b15=_0x19df0f[0x2],_0x537ebf=_0x19df0f[0x3],_0x3536a1=new Date()[_0x3ab76a(0x1e3)](),_0x353947={'cancelled':!![],'token':_0x51dc13,'value':_0x5e9b15,'counter':_0x43c19f,'resource':_0x447498[_0x3ab76a(0x1a2)],'formatKey':_0x537ebf,'releasedToReuse':!![],'cancelledAt':_0x3536a1};return await this[_0x3ab76a(0x21e)](_0x5f4a3f,_0x353947),this[_0x3ab76a(0x197)](_0x447498[_0x3ab76a(0x1a2)],_0x537ebf,{'lastCancelledCounter':_0x43c19f,'lastCancelledAt':_0x3536a1},_0x3965d6),logger['info']({'event':'idgen_reservation_cancelled','resource':_0x447498['resource'],'formatKey':_0x537ebf,'counter':_0x43c19f,'token':_0x51dc13},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x5e9b15+'\x20(token='+_0x51dc13+')'),_0x353947;}async['extendReservation'](_0x6767c8){const _0x42aa8e=a0_0x44aa3e,_0x355529={'RQklJ':_0x42aa8e(0x226),'uUKDj':'idgen','wSsIm':function(_0x33ab4e,_0x17c987){return _0x33ab4e+_0x17c987;},'llmUB':function(_0x23a768,_0x256eba){return _0x23a768*_0x256eba;},'gHuUY':function(_0x193831,_0x5dafad){return _0x193831(_0x5dafad);},'kZfXg':function(_0x2e6335,_0x1ffa16){return _0x2e6335!==_0x1ffa16;},'SGqSA':function(_0x3afe32,_0x134325,_0x324dfb){return _0x3afe32(_0x134325,_0x324dfb);}};if(!this['enabled'])throw new IdGeneratorError(_0x355529[_0x42aa8e(0x139)],'ID\x20Generator\x20is\x20disabled');const _0xd44b2a=this[_0x42aa8e(0x17c)](_0x6767c8&&_0x6767c8['token']),_0x51f130=this['_validateReserveTTL'](_0x6767c8&&_0x6767c8['ttl']),_0x51e0e1=this['_validateIdempotencyKey'](_0x6767c8&&_0x6767c8['idempotencyKey']);let _0x2bf523=null;if(_0x51e0e1){_0x2bf523=idempotencyManager[_0x42aa8e(0x17e)](_0x355529[_0x42aa8e(0x151)],'reserve_extend',_0xd44b2a+':'+_0x51e0e1);const _0x5b08b4=await this['_retrieveIdemCache'](_0x2bf523);if(_0x5b08b4)return _0x5b08b4;}const _0x24a2ba=await this['_getReservationContext'](_0xd44b2a),_0x2b8c25=Date[_0x42aa8e(0x1ed)](),_0x1e555c=_0x355529[_0x42aa8e(0x13c)](_0x2b8c25,_0x51f130*0x3e8),_0x1614ea=_0x355529[_0x42aa8e(0x1b2)](_0x51f130,0x3e8),_0x432529=new Date(_0x1e555c)['toISOString'](),_0x3f8f7f=redisClient[_0x42aa8e(0x127)](),_0x2833e2=await _0x3f8f7f[_0x42aa8e(0x181)](LUA_EXTEND_RESERVATION,0x2,_0x24a2ba[_0x42aa8e(0x1f3)],_0x24a2ba['rsvIdxKey'],_0xd44b2a,_0x355529[_0x42aa8e(0x149)](String,_0x1614ea),_0x355529['gHuUY'](String,_0x1e555c),_0x432529);if(!_0x2833e2||_0x355529[_0x42aa8e(0x187)](_0x2833e2[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x42aa8e(0x15a)+_0xd44b2a,{'token':_0xd44b2a});const _0x31b6b6=_0x2833e2[0x1],_0x521211=_0x355529['SGqSA'](parseInt,_0x2833e2[0x2],0xa),_0xe5804c=_0x2833e2[0x3],_0x38d0bc=_0x2833e2[0x4],_0x390a25=new Date(_0x2b8c25)['toISOString'](),_0x245f8f={'extended':!![],'token':_0xd44b2a,'previousExpiresAt':_0x31b6b6,'expiresAt':_0x432529,'ttlMs':_0x1614ea,'resource':_0x24a2ba['resource'],'formatKey':_0x38d0bc,'counter':_0x521211,'value':_0xe5804c,'extendedAt':_0x390a25};await this[_0x42aa8e(0x21e)](_0x2bf523,_0x245f8f);const _0x50c96f=_0x38d0bc[_0x42aa8e(0x217)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1c9071=_0x50c96f?_0x50c96f[0x1]:'text',_0x26c31a=this[_0x42aa8e(0x134)](_0x1c9071);return this['_updateMeta'](_0x24a2ba['resource'],_0x38d0bc,{'lastExtendedCounter':_0x521211,'lastExtendedAt':_0x390a25},_0x26c31a),logger[_0x42aa8e(0x1c4)]({'event':'idgen_reservation_extended','resource':_0x24a2ba[_0x42aa8e(0x1a2)],'formatKey':_0x38d0bc,'counter':_0x521211,'token':_0xd44b2a,'ttl':_0x51f130},'ID\x20Generator\x20reservation\x20extended:\x20'+_0xe5804c+'\x20(token='+_0xd44b2a+_0x42aa8e(0x1a7)+_0x51f130+'s)'),_0x245f8f;}async[a0_0x44aa3e(0x157)](_0x5afca2){const _0x428762=a0_0x44aa3e,_0x37eec7={'DKhpp':function(_0x421f05,_0x32f77d,_0x70a2fb){return _0x421f05(_0x32f77d,_0x70a2fb);},'htbVA':function(_0x501111,_0x8fbfac,_0x3ced5b){return _0x501111(_0x8fbfac,_0x3ced5b);},'TLxVz':function(_0x219490,_0xfd845a){return _0x219490===_0xfd845a;},'GJyfl':function(_0x169085,_0x3e6dd3){return _0x169085>=_0x3e6dd3;}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x4fa13b=this['_validateReservationToken'](_0x5afca2&&_0x5afca2[_0x428762(0x13e)]),_0x2be859=this['_buildReservationKey'](_0x4fa13b),_0x388e38=redisClient[_0x428762(0x127)](),_0x43822f=_0x388e38['pipeline']();_0x43822f['hgetall'](_0x2be859),_0x43822f[_0x428762(0x10c)](_0x2be859);const _0x5c80e3=await _0x43822f['exec'](),_0x4fda8e=_0x5c80e3&&_0x5c80e3[0x0]&&_0x5c80e3[0x0][0x1],_0x354706=_0x5c80e3&&_0x5c80e3[0x1]&&_0x5c80e3[0x1][0x1];if(!_0x4fda8e||Object['keys'](_0x4fda8e)[_0x428762(0x11b)]===0x0)throw new IdGeneratorError(_0x428762(0x1ef),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4fa13b,{'token':_0x4fa13b});return{'token':_0x4fa13b,'resource':_0x4fda8e['resource']||null,'formatKey':_0x4fda8e[_0x428762(0x19a)]||null,'format':_0x4fda8e[_0x428762(0x11e)]||null,'prefix':_0x4fda8e[_0x428762(0x19e)]||'','separator':_0x4fda8e['separator']||'','numDigits':_0x4fda8e[_0x428762(0x15c)]?_0x37eec7['DKhpp'](parseInt,_0x4fda8e['numDigits'],0xa):null,'datePrefix':_0x4fda8e[_0x428762(0x10b)]||'','counter':_0x4fda8e['counter']?_0x37eec7[_0x428762(0x17f)](parseInt,_0x4fda8e['counter'],0xa):null,'value':_0x4fda8e[_0x428762(0x174)]||null,'isReused':_0x37eec7['TLxVz'](_0x4fda8e[_0x428762(0x20e)],'1')||_0x4fda8e['isReused']===0x1,'createdAt':_0x4fda8e['createdAt']||null,'expiresAt':_0x4fda8e[_0x428762(0x215)]||null,'ttlRemainingMs':typeof _0x354706===_0x428762(0x1c3)&&_0x37eec7['GJyfl'](_0x354706,0x0)?_0x354706:null};}async[a0_0x44aa3e(0x1e8)](_0x302a3d){const _0x4eb970=a0_0x44aa3e,_0x3bb511={'nfDjw':'resource','pneBr':'formatKey','nlXGd':function(_0xa112fc,_0xe27906){return _0xa112fc||_0xe27906;}},_0x3882f3=this['_buildReservationKey'](_0x302a3d),_0xf647ed=redisClient[_0x4eb970(0x127)](),_0x3c70b8=await _0xf647ed['hmget'](_0x3882f3,_0x3bb511['nfDjw'],_0x3bb511[_0x4eb970(0x222)]),_0x258cd2=_0x3c70b8&&_0x3c70b8[0x0],_0x32cc5d=_0x3c70b8&&_0x3c70b8[0x1];if(_0x3bb511[_0x4eb970(0x136)](!_0x258cd2,!_0x32cc5d))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x4eb970(0x15a)+_0x302a3d,{'token':_0x302a3d});return{'resource':_0x258cd2,'formatKey':_0x32cc5d,'rsvKey':_0x3882f3,'rsvIdxKey':this[_0x4eb970(0x221)](_0x258cd2,_0x32cc5d)};}async['random'](_0x449419){const _0x34593d=a0_0x44aa3e,_0x23778a={'vGZPk':_0x34593d(0x114),'XeZDx':_0x34593d(0x209),'pADLR':function(_0x33e622,_0x3584b6){return _0x33e622===_0x3584b6;},'gBSCZ':function(_0x495248,_0x5e4002){return _0x495248===_0x5e4002;},'RznOS':function(_0x33e875,_0x582cc0){return _0x33e875===_0x582cc0;},'zYNlk':_0x34593d(0x219),'PASCr':function(_0x242d51,_0x25f9d6){return _0x242d51&&_0x25f9d6;},'ZYRKL':function(_0x3a013a,_0x5990e6){return _0x3a013a+_0x5990e6;},'VVaWh':function(_0x586b1a,_0x3bcfa8){return _0x586b1a||_0x3bcfa8;}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x23778a[_0x34593d(0x1a4)]);this['_validateResource'](_0x449419[_0x34593d(0x1a2)]),this['_validatePattern'](_0x449419['pattern']);const _0x5e8969=this['_validateTTL'](_0x449419[_0x34593d(0x1c5)]),_0x12c164=this['_validateMaxRetry'](_0x449419['maxRetry']),_0x6fa2cd=this[_0x34593d(0x21a)](_0x449419['idempotencyKey']),_0x32a454=_0x449419[_0x34593d(0x14e)]===!![],{resource:_0x586e97,pattern:_0x22170c}=_0x449419;let _0x3f6556=null;if(_0x6fa2cd){_0x3f6556=this['_buildIdemKey'](_0x23778a['XeZDx'],_0x586e97,null,_0x6fa2cd);const _0x19fa92=await this[_0x34593d(0x13a)](_0x3f6556);if(_0x19fa92)return _0x19fa92;}const _0x59a1a8=redisClient[_0x34593d(0x127)]();let _0x36ba91=null,_0x3277be=0x0;if(!_0x32a454)_0x36ba91=this['_generateFromPattern'](_0x22170c),_0x3277be=0x1;else{for(let _0x51d0c1=0x0;_0x51d0c1<_0x12c164;_0x51d0c1++){_0x3277be++;const _0x530d20=this['_generateFromPattern'](_0x22170c);if(_0x5e8969){const _0x1fd51a=this[_0x34593d(0x105)](_0x586e97,_0x530d20),_0xefb407=await _0x59a1a8['set'](_0x1fd51a,'1','EX',_0x5e8969,'NX');if(_0x23778a['pADLR'](_0xefb407,'OK')){_0x36ba91=_0x530d20;break;}}else{const _0x41a42e=this['_buildIssuedKey'](_0x586e97),_0x29c756=await _0x59a1a8['sadd'](_0x41a42e,_0x530d20);if(_0x23778a['gBSCZ'](_0x29c756,0x1)){_0x36ba91=_0x530d20;break;}}}if(_0x23778a['RznOS'](_0x36ba91,null))throw new IdGeneratorError(_0x23778a['zYNlk'],_0x34593d(0x18a)+_0x12c164+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x586e97,'pattern':_0x22170c,'maxRetry':_0x12c164});}const _0x416035={'value':_0x36ba91,'resource':_0x586e97,'pattern':_0x22170c,'attemptCount':_0x3277be,'generatedAt':new Date()['toISOString']()};_0x23778a[_0x34593d(0x18e)](_0x5e8969,_0x32a454)&&(_0x416035['expiresAt']=new Date(_0x23778a['ZYRKL'](Date[_0x34593d(0x1ed)](),_0x5e8969*0x3e8))['toISOString']());const _0x4e588b=await this['_storeIdemCacheNX'](_0x3f6556,_0x416035);if(!_0x4e588b[_0x34593d(0x1ae)])return _0x32a454&&await this[_0x34593d(0x130)](_0x586e97,_0x36ba91,_0x5e8969),logger[_0x34593d(0x1c4)]({'event':'idgen_random_idem_loser','resource':_0x586e97,'pattern':_0x22170c,'value':_0x36ba91},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x4e588b['winnerResult'];return logger[_0x34593d(0x1c4)]({'event':_0x34593d(0x177),'resource':_0x586e97,'pattern':_0x22170c,'attemptCount':_0x3277be,'ensureUnique':_0x32a454,'ttl':_0x23778a['VVaWh'](_0x5e8969,0x0)},'ID\x20Generator\x20random:\x20'+_0x36ba91),_0x416035;}async[a0_0x44aa3e(0x1db)](_0x1b9fca){const _0x264f6f=a0_0x44aa3e,_0x5653de={'JZbVG':function(_0x101675,_0x53c8bb){return _0x101675==_0x53c8bb;},'lfBYx':function(_0x2a383b,_0x431513){return _0x2a383b>_0x431513;},'iowIE':'IDGEN_INVALID_DIGITS','NwWIZ':function(_0x3d067e,_0x20edc3){return _0x3d067e===_0x20edc3;}},_0x1b7921=_0x5653de['JZbVG'](_0x1b9fca[_0x264f6f(0x153)],null)?this[_0x264f6f(0x123)]:_0x1b9fca[_0x264f6f(0x153)];if(!Number['isInteger'](_0x1b7921)||_0x1b7921<MIN_PIN_DIGITS||_0x5653de[_0x264f6f(0x1bc)](_0x1b7921,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x5653de[_0x264f6f(0x1c9)],'Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x1b7921+')');const _0xfe87fd='9'[_0x264f6f(0x163)](_0x1b7921);return this['random']({'resource':_0x1b9fca[_0x264f6f(0x1a2)],'pattern':_0xfe87fd,'ensureUnique':_0x5653de[_0x264f6f(0x140)](_0x1b9fca['ensureUnique'],!![]),'ttl':_0x1b9fca[_0x264f6f(0x1c5)],'maxRetry':_0x1b9fca['maxRetry'],'idempotencyKey':_0x1b9fca['idempotencyKey']});}async['serial'](_0x1de6a7){const _0x408c0c=a0_0x44aa3e,_0x4e7de5=_0x1de6a7[_0x408c0c(0x183)]||this[_0x408c0c(0x14b)];return this['random']({'resource':_0x1de6a7['resource'],'pattern':_0x4e7de5,'ensureUnique':_0x1de6a7[_0x408c0c(0x14e)]!==![],'ttl':_0x1de6a7[_0x408c0c(0x1c5)],'maxRetry':_0x1de6a7['maxRetry'],'idempotencyKey':_0x1de6a7[_0x408c0c(0x13f)]});}async[a0_0x44aa3e(0x1ce)](_0x283611){const _0x1b30f1=a0_0x44aa3e,_0xe5ced5=_0x283611[_0x1b30f1(0x183)]||this[_0x1b30f1(0x1c8)];return this['random']({'resource':_0x283611['resource'],'pattern':_0xe5ced5,'ensureUnique':_0x283611[_0x1b30f1(0x14e)]!==![],'ttl':_0x283611[_0x1b30f1(0x1c5)],'maxRetry':_0x283611['maxRetry'],'idempotencyKey':_0x283611['idempotencyKey']});}async[a0_0x44aa3e(0x159)](_0x3b4611){const _0x354daf=a0_0x44aa3e,_0x21e669={'BJjju':'IDGEN_DISABLED','pkEJR':function(_0xb442b0,_0x1d8127){return _0xb442b0!==_0x1d8127;},'XpUkd':function(_0x48bd7f,_0x4a7cb6){return _0x48bd7f+_0x4a7cb6;}};if(!this[_0x354daf(0x15d)])throw new IdGeneratorError(_0x21e669[_0x354daf(0x1fc)],_0x354daf(0x114));this[_0x354daf(0x1d6)](_0x3b4611[_0x354daf(0x1a2)]);if(_0x21e669['pkEJR'](typeof _0x3b4611['value'],_0x354daf(0x10e))||_0x3b4611['value']['length']===0x0)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','value\x20is\x20required');const {resource:_0x303316,value:_0x5b63a5}=_0x3b4611,_0x56d3f7=redisClient[_0x354daf(0x127)](),_0x2a448d=this[_0x354daf(0x105)](_0x303316,_0x5b63a5),_0x18b946=this['_buildIssuedKey'](_0x303316),[_0x335f75,_0xc1af76]=await Promise['all']([_0x56d3f7[_0x354daf(0x131)](_0x2a448d),_0x56d3f7['srem'](_0x18b946,_0x5b63a5)]),_0x379f37=_0x21e669[_0x354daf(0x117)](_0x335f75,_0xc1af76)>0x0;return logger['info']({'event':'idgen_consumed','resource':_0x303316,'value':_0x5b63a5,'consumed':_0x379f37},_0x354daf(0x1a9)+_0x5b63a5),{'consumed':_0x379f37,'resource':_0x303316,'value':_0x5b63a5,'consumedAt':new Date()[_0x354daf(0x1e3)]()};}async['peek'](_0x5b7ad6){const _0x23ba44=a0_0x44aa3e,_0x550a61={'MBOKv':'ID\x20Generator\x20is\x20disabled','waBhf':function(_0x473396,_0x170eac){return _0x473396===_0x170eac;},'zBYIb':'number','BZwkT':function(_0x188d55,_0x2a093f){return _0x188d55||_0x2a093f;}};if(!this['enabled'])throw new IdGeneratorError(_0x23ba44(0x226),_0x550a61[_0x23ba44(0x146)]);this[_0x23ba44(0x1d6)](_0x5b7ad6['resource']);const _0x1feb0f=_0x5b7ad6[_0x23ba44(0x21d)]||_0x23ba44(0x1c3),_0x66c633=redisClient[_0x23ba44(0x127)]();if(_0x550a61[_0x23ba44(0x1b7)](_0x1feb0f,_0x550a61[_0x23ba44(0x190)])){const _0xc68a09=(_0x5b7ad6['format']||'text')[_0x23ba44(0x1da)]();if(!ALLOWED_FORMATS['has'](_0xc68a09))throw new IdGeneratorError(_0x23ba44(0x15b),'Invalid\x20format:\x20'+_0x5b7ad6[_0x23ba44(0x11e)]);const {formatKey:_0x5df384}=this['_buildFormatKey'](_0xc68a09,_0x5b7ad6['prefix']||''),_0x11f222=this['_buildSeqKey'](_0x5b7ad6['resource'],_0x5df384),_0x5c1cf8=this[_0x23ba44(0x1b0)](_0x5b7ad6[_0x23ba44(0x1a2)],_0x5df384),[_0x53f448,_0x2c1aa0]=await Promise[_0x23ba44(0x19c)]([_0x66c633[_0x23ba44(0x204)](_0x11f222),_0x66c633['zcard'](_0x5c1cf8)]);return{'resource':_0x5b7ad6['resource'],'mode':'number','formatKey':_0x5df384,'currentCounter':parseInt(_0x53f448,0xa)||0x0,'reusePoolSize':_0x2c1aa0||0x0};}if(_0x1feb0f===_0x23ba44(0x209)){const _0x25f134=this[_0x23ba44(0x143)](_0x5b7ad6[_0x23ba44(0x1a2)]),_0x4dc476=await _0x66c633['scard'](_0x25f134);return{'resource':_0x5b7ad6['resource'],'mode':'random','issuedCount':_0x550a61['BZwkT'](_0x4dc476,0x0)};}throw new IdGeneratorError(_0x23ba44(0x1d9),_0x23ba44(0x1aa)+_0x1feb0f);}async['getInfo'](_0x1171f3){const _0x44743b=a0_0x44aa3e,_0x25f0ff=await this['peek'](_0x1171f3);if(_0x25f0ff[_0x44743b(0x21d)]===_0x44743b(0x1c3)){const _0x2a09bf=redisClient[_0x44743b(0x127)](),_0x5677ce=this['_buildMetaKey'](_0x1171f3['resource'],_0x25f0ff['formatKey']),_0x290bf0=this['_buildReuseKey'](_0x1171f3[_0x44743b(0x1a2)],_0x25f0ff[_0x44743b(0x19a)]),[_0x20dd8b,_0x567976]=await Promise[_0x44743b(0x19c)]([_0x2a09bf[_0x44743b(0x1c6)](_0x5677ce),_0x2a09bf[_0x44743b(0x227)](_0x290bf0,0x0,-0x1)]);return{..._0x25f0ff,'reusePoolValues':_0x567976['map'](_0x14cf99=>parseInt(_0x14cf99,0xa)),'meta':_0x20dd8b&&Object['keys'](_0x20dd8b)[_0x44743b(0x11b)]>0x0?_0x20dd8b:null};}return _0x25f0ff;}async[a0_0x44aa3e(0x14a)](_0x2fe3a0){const _0x1ab616=a0_0x44aa3e,_0x212b8d={'xjLXR':_0x1ab616(0x110),'ZPLsE':'number','BnvMA':'idgen_reset','cYnCa':_0x1ab616(0x1bb),'pQJtm':_0x1ab616(0x17a),'tIPJF':'meta','RYqaG':'random'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');if(!this['allowReset'])throw new IdGeneratorError(_0x212b8d[_0x1ab616(0x135)],'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this[_0x1ab616(0x1d6)](_0x2fe3a0['resource']);const _0x3afd3e=_0x2fe3a0[_0x1ab616(0x21d)]||_0x212b8d[_0x1ab616(0x10d)],_0x1d9fc3=redisClient['getClient']();if(_0x3afd3e==='number'){const _0x1ebc24=(_0x2fe3a0['format']||_0x1ab616(0x1a0))['toLowerCase']();if(!ALLOWED_FORMATS[_0x1ab616(0x176)](_0x1ebc24))throw new IdGeneratorError(_0x1ab616(0x15b),'Invalid\x20format:\x20'+_0x2fe3a0[_0x1ab616(0x11e)]);const {formatKey:_0x32b0f1}=this[_0x1ab616(0x145)](_0x1ebc24,_0x2fe3a0[_0x1ab616(0x19e)]||''),_0x31003c=this['_buildSeqKey'](_0x2fe3a0['resource'],_0x32b0f1),_0x22eb6c=this[_0x1ab616(0x1b0)](_0x2fe3a0[_0x1ab616(0x1a2)],_0x32b0f1),_0x185398=this['_buildMetaKey'](_0x2fe3a0[_0x1ab616(0x1a2)],_0x32b0f1);return await _0x1d9fc3[_0x1ab616(0x131)](_0x31003c,_0x22eb6c,_0x185398),logger[_0x1ab616(0x20f)]({'event':_0x212b8d[_0x1ab616(0x1b9)],'resource':_0x2fe3a0['resource'],'mode':_0x212b8d['ZPLsE'],'formatKey':_0x32b0f1},'ID\x20Generator\x20reset:\x20'+_0x2fe3a0[_0x1ab616(0x1a2)]+':'+_0x32b0f1),{'reset':!![],'resource':_0x2fe3a0['resource'],'mode':_0x212b8d[_0x1ab616(0x10d)],'formatKey':_0x32b0f1,'deletedKeys':[_0x212b8d[_0x1ab616(0x20b)],_0x212b8d[_0x1ab616(0x1bd)],_0x212b8d['tIPJF']]};}if(_0x3afd3e==='random'){const _0xfc417c=this['_buildIssuedKey'](_0x2fe3a0['resource']);return await _0x1d9fc3['del'](_0xfc417c),logger[_0x1ab616(0x20f)]({'event':_0x212b8d['BnvMA'],'resource':_0x2fe3a0['resource'],'mode':_0x212b8d[_0x1ab616(0x1a8)]},_0x1ab616(0x1f5)+_0x2fe3a0[_0x1ab616(0x1a2)]),{'reset':!![],'resource':_0x2fe3a0['resource'],'mode':_0x212b8d['RYqaG'],'deletedKeys':['issued']};}throw new IdGeneratorError(_0x1ab616(0x1d9),'Unknown\x20mode:\x20'+_0x3afd3e);}}const instance=new IdGenerator();instance[a0_0x44aa3e(0x1b5)]=IdGeneratorError,module['exports']=instance,module['exports'][a0_0x44aa3e(0x1b5)]=IdGeneratorError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';function a0_0x23c7(_0x166c4b,_0x4daa6a){_0x166c4b=_0x166c4b-0x1c8;const _0x5a5eef=a0_0x5a5e();let _0x23c79a=_0x5a5eef[_0x166c4b];if(a0_0x23c7['aJpSmx']===undefined){var _0x204947=function(_0x4f2aed){const _0x284a36='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ea7b2='',_0x104417='';for(let _0x546ffd=0x0,_0x29b7cd,_0x4d8c50,_0x476bed=0x0;_0x4d8c50=_0x4f2aed['charAt'](_0x476bed++);~_0x4d8c50&&(_0x29b7cd=_0x546ffd%0x4?_0x29b7cd*0x40+_0x4d8c50:_0x4d8c50,_0x546ffd++%0x4)?_0x4ea7b2+=String['fromCharCode'](0xff&_0x29b7cd>>(-0x2*_0x546ffd&0x6)):0x0){_0x4d8c50=_0x284a36['indexOf'](_0x4d8c50);}for(let _0x1f94ff=0x0,_0x38ce37=_0x4ea7b2['length'];_0x1f94ff<_0x38ce37;_0x1f94ff++){_0x104417+='%'+('00'+_0x4ea7b2['charCodeAt'](_0x1f94ff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x104417);};a0_0x23c7['tQcUGG']=_0x204947,a0_0x23c7['ktapPH']={},a0_0x23c7['aJpSmx']=!![];}const _0x4c060d=_0x5a5eef[0x0],_0x4d6860=_0x166c4b+_0x4c060d,_0x21c2dd=a0_0x23c7['ktapPH'][_0x4d6860];return!_0x21c2dd?(_0x23c79a=a0_0x23c7['tQcUGG'](_0x23c79a),a0_0x23c7['ktapPH'][_0x4d6860]=_0x23c79a):_0x23c79a=_0x21c2dd,_0x23c79a;}const a0_0x136e8c=a0_0x23c7;(function(_0xe51fa2,_0x400080){const _0x5cabf3=a0_0x23c7,_0x405e4e=_0xe51fa2();while(!![]){try{const _0x1c4f53=parseInt(_0x5cabf3(0x1e4))/0x1+-parseInt(_0x5cabf3(0x1e7))/0x2*(-parseInt(_0x5cabf3(0x1ee))/0x3)+-parseInt(_0x5cabf3(0x1d3))/0x4+parseInt(_0x5cabf3(0x1d6))/0x5+parseInt(_0x5cabf3(0x1ef))/0x6+-parseInt(_0x5cabf3(0x1de))/0x7+-parseInt(_0x5cabf3(0x1d7))/0x8;if(_0x1c4f53===_0x400080)break;else _0x405e4e['push'](_0x405e4e['shift']());}catch(_0x4d30c9){_0x405e4e['push'](_0x405e4e['shift']());}}}(a0_0x5a5e,0xd3bfc));function a0_0x5a5e(){const _0x73b9eb=['swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','swrLBxbVDgvUy3KGy2fJAguGseLu','DhrS','mZGZnJK4BKr4rfDH','z2v0q2XPzw50','yNvPBgrlzxK','nhzlENrAyG','zw5HyMXLza','lI9SB2DNzxi','zw52','A2foAxi','x2LUAxrdB25MAwC','lcbuveW6ia','mte2nZqYC2D1Dufj','mJC3odCWmLn3AvziEq','CMy6AwrLBtO','zMLSDgvY','zxjYB3i','C3bSAxq','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','AwrLBxbVDgvUy3LFC3rVCMu','su9fwNy','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','AwrLBxbVDgvUy3LFAgL0','surftvbpvevoq1LFru5bqKXfra','lI9YzwrPCY1JBgLLBNq','Cgf0Aa','rLvTDgu','AxnfBMfIBgvK','x2LUAxrPywXPEMvK','Dw5RBM93BG','mZuXnZK5nKj4tNr6wa','AwrLBxbVDgvUy3LFBwLZCW','wKvRtLq','odi5mtK3mfjrBwrMyW','mtCXnJy5nMnNvunytq','C3rHDhvZq29Kzq','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','zgvIDwC','Aw5MBW','x3r0Ba','BwvZC2fNzq','ndm1mtm4ouDQC1Hnwa','wNv0uxq','y3j5ChrV'];a0_0x5a5e=function(){return _0x73b9eb;};return a0_0x5a5e();}const redisClient=require(a0_0x136e8c(0x1cd)),{logger}=require(a0_0x136e8c(0x1e9)),crypto=require(a0_0x136e8c(0x1e0));class IdempotencyManager{constructor(){const _0x5b1118=a0_0x136e8c;this['_enabled']=null,this[_0x5b1118(0x1dc)]=null,this['_initialized']=![];}[a0_0x136e8c(0x1ec)](){const _0x5beccc=a0_0x136e8c;this['_enabled']=process['env'][_0x5beccc(0x1cc)]==='true',this[_0x5beccc(0x1dc)]=parseInt(process[_0x5beccc(0x1ea)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger[_0x5beccc(0x1db)]({'event':'idempotency_config_init','enabled':this['_enabled'],'ttl':this[_0x5beccc(0x1dc)]},_0x5beccc(0x1f4)+this['_enabled']+_0x5beccc(0x1ed)+this['_ttl']+'s');}['_ensureInitialized'](){const _0xf3d61a=a0_0x136e8c;!this[_0xf3d61a(0x1d1)]&&this['_initConfig']();}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x136e8c(0x1e3)](){return this['_ensureInitialized'](),this['_ttl'];}[a0_0x136e8c(0x1d0)](){const _0x36dc76=a0_0x136e8c;return this[_0x36dc76(0x1e8)];}[a0_0x136e8c(0x1e6)](_0x50d675,_0x3851b3){const _0x22a619=a0_0x136e8c,_0x3725a0={'ZEkNT':'default','IOEZv':_0x22a619(0x1d2)},_0x23ce3a=_0x3851b3[_0x22a619(0x1ce)][_0x22a619(0x1f3)]('/')[_0x22a619(0x1f1)](Boolean),_0x307953=_0x23ce3a[0x0]||_0x3725a0[_0x22a619(0x1d5)],_0x85820b=_0x23ce3a[0x1]||_0x3725a0[_0x22a619(0x1c9)],_0x30cafa=_0x23ce3a[0x2]||_0x22a619(0x1d2);return _0x22a619(0x1f0)+_0x307953+':'+_0x85820b+':'+_0x30cafa+':'+_0x50d675;}async['store'](_0x217d01,_0x2020ae){const _0x97e313=a0_0x136e8c,_0x36d0f9={'FUmte':_0x97e313(0x1c8),'ARVYb':'idempotency_store_error'};if(!this[_0x97e313(0x1e8)])return![];try{const _0x30da35=redisClient[_0x97e313(0x1e5)]();return await _0x30da35['setex'](_0x217d01,this['ttl'],JSON['stringify'](_0x2020ae)),logger[_0x97e313(0x1da)]({'event':_0x36d0f9[_0x97e313(0x1cf)],'key':_0x217d01,'ttl':this['ttl'],'statusCode':_0x2020ae[_0x97e313(0x1d8)]},_0x97e313(0x1e1)),!![];}catch(_0x12929e){return logger[_0x97e313(0x1f2)]({'event':_0x36d0f9['ARVYb'],'key':_0x217d01,'error':_0x12929e['message']},_0x97e313(0x1ca)+_0x12929e[_0x97e313(0x1dd)]),![];}}async['retrieve'](_0x40b92e){const _0xf45ae=a0_0x136e8c,_0x388c0a={'zCcMs':_0xf45ae(0x1e2),'kaNir':_0xf45ae(0x1d4),'wmvte':_0xf45ae(0x1d9),'ZutQt':'idempotency_retrieve_error'};if(!this[_0xf45ae(0x1e8)])return null;try{const _0x4d7f9e=redisClient['getClient'](),_0x490a8d=await _0x4d7f9e['get'](_0x40b92e);if(_0x490a8d)return logger['info']({'event':_0xf45ae(0x1cb),'key':_0x40b92e},_0x388c0a['zCcMs']),JSON['parse'](_0x490a8d);return logger[_0xf45ae(0x1da)]({'event':_0x388c0a[_0xf45ae(0x1eb)],'key':_0x40b92e},_0x388c0a['wmvte']),null;}catch(_0x495975){return logger[_0xf45ae(0x1f2)]({'event':_0x388c0a[_0xf45ae(0x1df)],'key':_0x40b92e,'error':_0x495975[_0xf45ae(0x1dd)]},'Idempotency\x20retrieve\x20error:\x20'+_0x495975['message']),null;}}['generateKey'](_0x3af227='req'){return _0x3af227+'_'+crypto['randomUUID']();}['buildDeterministicKey'](_0x259176,_0x93c8c9,_0x36a1b9){return _0x259176+':'+_0x93c8c9+':'+_0x36a1b9;}}module['exports']=new IdempotencyManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x5941e0=a0_0x5327;function a0_0x5327(_0x31e47f,_0x21155e){_0x31e47f=_0x31e47f-0x1d5;const _0x329bb1=a0_0x329b();let _0x53279a=_0x329bb1[_0x31e47f];if(a0_0x5327['ICLhbV']===undefined){var _0xbe5af=function(_0x196ef5){const _0x39c8e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31f39d='',_0x1ac904='';for(let _0x372816=0x0,_0x19b9f6,_0x5b197a,_0x4a253c=0x0;_0x5b197a=_0x196ef5['charAt'](_0x4a253c++);~_0x5b197a&&(_0x19b9f6=_0x372816%0x4?_0x19b9f6*0x40+_0x5b197a:_0x5b197a,_0x372816++%0x4)?_0x31f39d+=String['fromCharCode'](0xff&_0x19b9f6>>(-0x2*_0x372816&0x6)):0x0){_0x5b197a=_0x39c8e7['indexOf'](_0x5b197a);}for(let _0x544b9f=0x0,_0x5ad7df=_0x31f39d['length'];_0x544b9f<_0x5ad7df;_0x544b9f++){_0x1ac904+='%'+('00'+_0x31f39d['charCodeAt'](_0x544b9f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ac904);};a0_0x5327['rqwpoo']=_0xbe5af,a0_0x5327['KHKDYM']={},a0_0x5327['ICLhbV']=!![];}const _0x295533=_0x329bb1[0x0],_0x33c5b4=_0x31e47f+_0x295533,_0x26c761=a0_0x5327['KHKDYM'][_0x33c5b4];return!_0x26c761?(_0x53279a=a0_0x5327['rqwpoo'](_0x53279a),a0_0x5327['KHKDYM'][_0x33c5b4]=_0x53279a):_0x53279a=_0x26c761,_0x53279a;}(function(_0x533f19,_0x437d97){const _0xf31c10=a0_0x5327,_0x405d4c=_0x533f19();while(!![]){try{const _0x3aa4ee=-parseInt(_0xf31c10(0x1e6))/0x1*(parseInt(_0xf31c10(0x1d5))/0x2)+-parseInt(_0xf31c10(0x1e4))/0x3+parseInt(_0xf31c10(0x1e9))/0x4*(parseInt(_0xf31c10(0x1d6))/0x5)+-parseInt(_0xf31c10(0x1f3))/0x6*(parseInt(_0xf31c10(0x1e3))/0x7)+-parseInt(_0xf31c10(0x1f9))/0x8*(-parseInt(_0xf31c10(0x1e0))/0x9)+parseInt(_0xf31c10(0x1f6))/0xa*(-parseInt(_0xf31c10(0x1da))/0xb)+parseInt(_0xf31c10(0x1eb))/0xc;if(_0x3aa4ee===_0x437d97)break;else _0x405d4c['push'](_0x405d4c['shift']());}catch(_0x51a119){_0x405d4c['push'](_0x405d4c['shift']());}}}(a0_0x329b,0xee377));function a0_0x329b(){const _0x7672b7=['AM9PBG','AfLhyNe','nJm1mtK4mfLJzwTSuW','Agnhvfe','ChvZAa','ohz2sfLiyG','CgHVBMu','BgvUz3rO','mLrgrwfSBa','odbptMjNv2i','DMfSAwrHDgvsB3C','rwnLDwS','DMfSAwrHDgvoDw1Izxi','mtfPD3fKC2u','sw52ywXPzcbUDw1IzxiGzM9YBwf0','DNnzv2i','BwfW','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','sw52ywXPzcbLBwfPBcbMB3jTyxq','mte2ntm1odDvt2n6ruG','sw52ywXPzcbWAg9UzsbMB3jTyxq','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','odaXnZeWBM1gwg1p','mJi2mdC0owTKAujAvW','A2v5CW','mte5nZa2n29dCLLMqq','sw52ywXPzcbvuKWGzM9YBwf0','CMvWBgfJzq','mZK3odmYsLbwywzv','zM9YBwf0','mJe4ndG1ndrZy1zIALq','zw1HAwW','CMvXDwLYzwq','zM9YrwfJAa','C2v0','DxjS','yKnJB1i','Aw5MBW','nJbyt0PcEeG'];a0_0x329b=function(){return _0x7672b7;};return a0_0x329b();}const {logger}=require('./logger');class ImportValidator{[a0_0x5941e0(0x1d7)](_0x59c99e,_0x5557dd=[],_0x56e9ca={}){const _0x3b6df1=a0_0x5941e0,_0x4255cc={'Eceuk':function(_0x430b6d,_0x6004cb){return _0x430b6d===_0x6004cb;},'vsYWb':_0x3b6df1(0x1ed)},_0x6ab2cb=[];return _0x5557dd['forEach'](_0x594ff9=>{const _0x156afa=_0x3b6df1,_0x3f19f6=_0x59c99e[_0x594ff9];(_0x4255cc['Eceuk'](_0x3f19f6,null)||_0x3f19f6===undefined||_0x4255cc[_0x156afa(0x1d8)](_0x3f19f6,''))&&_0x6ab2cb[_0x156afa(0x1f8)]({'field':_0x594ff9,'type':_0x4255cc[_0x156afa(0x1dc)],'message':_0x156afa(0x1de)});}),Object[_0x3b6df1(0x1e5)](_0x56e9ca)[_0x3b6df1(0x1ee)](_0x5b5e4d=>{const _0x215b97=_0x3b6df1,_0x4bc815=_0x59c99e[_0x5b5e4d],_0x5c3f07=_0x56e9ca[_0x5b5e4d];if(_0x4bc815===null||_0x4255cc[_0x215b97(0x1d8)](_0x4bc815,undefined)||_0x4255cc['Eceuk'](_0x4bc815,''))return;const _0x276f37=this['validateFieldFormat'](_0x5b5e4d,_0x4bc815,_0x5c3f07);_0x276f37&&_0x6ab2cb[_0x215b97(0x1f8)](_0x276f37);}),_0x6ab2cb;}['validateFieldFormat'](_0x428338,_0x3d4648,_0x4b7d8b){const _0x105997=a0_0x5941e0,_0xdb94e7={'hGZBM':'number'};switch(_0x4b7d8b){case _0x105997(0x1ec):return this['validateEmail'](_0x428338,_0x3d4648);case _0x105997(0x1fa):return this['validatePhone'](_0x428338,_0x3d4648);case _0x105997(0x1f0):return this['validateUrl'](_0x428338,_0x3d4648);case _0xdb94e7['hGZBM']:return this[_0x105997(0x1d9)](_0x428338,_0x3d4648);default:return null;}}['validateEmail'](_0x146b87,_0x2d026f){const _0x53ceab=a0_0x5941e0,_0x24dff9={'nMbUg':_0x53ceab(0x1df)},_0xef131b=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0xef131b['test'](String(_0x2d026f)))return{'field':_0x146b87,'type':'format','message':_0x24dff9['nMbUg']};return null;}['validatePhone'](_0xd61167,_0x3fc9c4){const _0x16a9b9=a0_0x5941e0,_0xc571a1={'iHzWy':_0x16a9b9(0x1ea)},_0x7412c9=String(_0x3fc9c4)[_0x16a9b9(0x1e8)](/\s+/g,''),_0x49d959=/^[\d\+\-\(\)]+$/;if(!_0x49d959['test'](_0x7412c9)||_0x7412c9['length']<0x8)return{'field':_0xd61167,'type':_0xc571a1['iHzWy'],'message':_0x16a9b9(0x1e1)};return null;}['validateUrl'](_0x25d371,_0x1c2d86){const _0x542a4b=a0_0x5941e0,_0x2195b2={'hcGTQ':function(_0x1c5f69,_0xc84ba3){return _0x1c5f69(_0xc84ba3);},'bCcoR':_0x542a4b(0x1e7)};try{return new URL(_0x2195b2[_0x542a4b(0x1f7)](String,_0x1c2d86)),null;}catch(_0x15cdbe){return{'field':_0x25d371,'type':_0x542a4b(0x1ea),'message':_0x2195b2[_0x542a4b(0x1f1)]};}}[a0_0x5941e0(0x1d9)](_0x488b26,_0x434080){const _0x1baf30=a0_0x5941e0,_0x16fbed={'OIeMP':_0x1baf30(0x1ea),'fuXeP':_0x1baf30(0x1db)};if(isNaN(_0x434080))return{'field':_0x488b26,'type':_0x16fbed['OIeMP'],'message':_0x16fbed['fuXeP']};return null;}['detectDuplicatesInFile'](_0x4d94f7,_0x382c5e){const _0x48fcff=a0_0x5941e0,_0xf937b7=new Map(),_0x4e0e08=[];return _0x4d94f7[_0x48fcff(0x1ee)]((_0x5ea9da,_0x215461)=>{const _0x361611=_0x48fcff,_0x1df159=_0x382c5e[_0x361611(0x1dd)](_0x42ff9b=>_0x5ea9da[_0x42ff9b])[_0x361611(0x1f4)]('|');_0xf937b7['has'](_0x1df159)?_0x4e0e08['push']({'rowIndex':_0x215461,'duplicateOf':_0xf937b7['get'](_0x1df159),'key':_0x1df159}):_0xf937b7[_0x361611(0x1ef)](_0x1df159,_0x215461);}),_0x4e0e08;}['batchValidateRows'](_0x293b5a,_0x52c72f,_0x5df7b9){const _0x15a3bc=a0_0x5941e0,_0x4aeae4={'hYGbq':_0x15a3bc(0x1e2)},_0x453df1=[];return _0x293b5a[_0x15a3bc(0x1ee)]((_0x4ae6c4,_0x49cd30)=>{const _0x5a3c9e=_0x15a3bc,_0x33d99c=this['validateRow'](_0x4ae6c4,_0x52c72f,_0x5df7b9);_0x33d99c['length']>0x0&&_0x453df1[_0x5a3c9e(0x1f8)]({'rowIndex':_0x49cd30,'rowData':_0x4ae6c4,'errors':_0x33d99c});}),logger[_0x15a3bc(0x1f2)]({'event':_0x4aeae4[_0x15a3bc(0x1f5)],'totalRows':_0x293b5a[_0x15a3bc(0x1fb)],'errorCount':_0x453df1[_0x15a3bc(0x1fb)]},'Batch\x20validation\x20completed'),_0x453df1;}}module['exports']=new ImportValidator();
|