react-native-nitro-storage 0.4.5 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +235 -960
- package/SECURITY.md +26 -0
- package/docs/api-reference.md +217 -0
- package/docs/batch-transactions-migrations.md +186 -0
- package/docs/benchmarks.md +37 -0
- package/docs/mmkv-migration.md +80 -0
- package/docs/react-hooks.md +113 -0
- package/docs/recipes.md +281 -0
- package/docs/secure-storage.md +171 -0
- package/docs/web-backends.md +141 -0
- package/lib/commonjs/index.js +51 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +54 -0
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/storage-runtime.js.map +1 -1
- package/lib/module/index.js +51 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +54 -0
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/storage-runtime.js.map +1 -1
- package/lib/typescript/index.d.ts +5 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +5 -2
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/storage-runtime.d.ts +32 -0
- package/lib/typescript/storage-runtime.d.ts.map +1 -1
- package/package.json +21 -8
- package/src/index.ts +67 -1
- package/src/index.web.ts +76 -0
- package/src/storage-runtime.ts +35 -0
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","decodeNativeBatchValue","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","toVersionToken","prefixKey","isNamespaced","getStorageErrorCode","isLockedStorageErrorCode","migrateFromMMKV","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","_storageModule","getStorageModule","createHybridObject","memoryStore","memoryListeners","scopedListeners","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","WhenUnlocked","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","getScopedListeners","getScopeRawCache","cacheRawValue","key","value","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","listeners","listener","notifyAllListeners","values","addKeyListener","Set","add","delete","size","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","keysToSet","valuesToSet","keysToRemove","forEach","undefined","push","storageModule","length","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","getRawValue","Memory","setRawValue","removeRawValue","remove","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","storage","clearAll","clearNamespace","namespace","keyPrefix","scopeCache","removeByPrefix","clearBiometric","clearSecureBiometric","getAllKeys","getKeysByPrefix","prefix","filter","startsWith","getByPrefix","result","getBatch","idx","getAll","val","setAccessControl","level","setSecureWritesAsync","enabled","setDiskWritesAsync","setKeychainAccessGroup","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getCapabilities","platform","backend","disk","secure","writeBuffering","errorClassification","getString","setString","deleteString","import","data","map","k","index","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","BiometryOnly","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometricWithLevel","removeStoredRaw","deleteSecureBiometric","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","newValue","setIfVersion","currentVersion","deleteItem","hasItem","hasSecureBiometric","subscribe","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_defaultValue","useStorage","useStorageSelector","useSetStorage","createIndexedDBBackend","items","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","NOT_SET","Symbol","rollback","rememberRollback","tx","getItem","setItem","removeItem","error","rollbackEntries","entries","reverse","previousValue","isKeychainLockedError","err","createSecureAuthStorage","options","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAEzD,SAASC,YAAY,EAAEC,aAAa,EAAEC,cAAc,QAAQ,iBAAiB;AAC7E,SACEC,qBAAqB,EAErBC,gBAAgB,EAChBC,gBAAgB,EAChBC,gBAAgB,EAChBC,sBAAsB,EACtBC,8BAA8B,EAC9BC,gCAAgC,EAChCC,cAAc,EACdC,SAAS,EACTC,YAAY,QACP,YAAY;AAKnB,SACEC,mBAAmB,EACnBC,wBAAwB,QAGnB,mBAAmB;AAE1B,SAASd,YAAY,EAAEC,aAAa,EAAEC,cAAc,QAAQ,iBAAiB;AAE7E,SAASa,eAAe,QAAQ,aAAa;AAC7C,SACEF,mBAAmB,QAGd,mBAAmB;AA6D1B,SAASG,UAAUA,CAAIC,IAAoB,EAA0B;EACnE,OAAOA,IAAI;AACb;AAEA,SAASC,SAASA,CAChBC,SAA+B,EACF;EAC7B,OAAO,OAAOA,SAAS,KAAK,UAAU;AACxC;AAEA,SAASC,SAASA,CAAsBC,MAAoB,EAAO;EACjE,OAAOC,MAAM,CAACC,IAAI,CAACF,MAAM,CAAC;AAC5B;AAYA,MAAMG,oBAAoB,GAAG,IAAIC,GAAG,CAAoB,CAAC;AACzD,MAAMC,YAAY,GAChB,OAAOC,cAAc,KAAK,UAAU,GAChCA,cAAc,GACbC,IAAgB,IAAK;EACpBC,OAAO,CAACC,OAAO,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC;AAC9B,CAAC;AACP,MAAMI,GAAG,GACP,OAAOC,WAAW,KAAK,WAAW,IAAI,OAAOA,WAAW,CAACD,GAAG,KAAK,UAAU,GACvE,MAAMC,WAAW,CAACD,GAAG,CAAC,CAAC,GACvB,MAAME,IAAI,CAACF,GAAG,CAAC,CAAC;AAEtB,IAAIG,cAA8B,GAAG,IAAI;AAEzC,SAASC,gBAAgBA,CAAA,EAAY;EACnC,IAAI,CAACD,cAAc,EAAE;IACnBA,cAAc,GAAGpC,YAAY,CAACsC,kBAAkB,CAAU,SAAS,CAAC;EACtE;EACA,OAAOF,cAAc;AACvB;AAEA,MAAMG,WAAW,GAAG,IAAIb,GAAG,CAAkB,CAAC;AAC9C,MAAMc,eAAoC,GAAG,IAAId,GAAG,CAAC,CAAC;AACtD,MAAMe,eAAe,GAAG,IAAIf,GAAG,CAAsC,CACnE,CAACzB,YAAY,CAACyC,IAAI,EAAE,IAAIhB,GAAG,CAAC,CAAC,CAAC,EAC9B,CAACzB,YAAY,CAAC0C,MAAM,EAAE,IAAIjB,GAAG,CAAC,CAAC,CAAC,CACjC,CAAC;AACF,MAAMkB,mBAAmB,GAAG,IAAIlB,GAAG,CAA6B,CAAC;AACjE,MAAMmB,cAAc,GAAG,IAAInB,GAAG,CAC5B,CACE,CAACzB,YAAY,CAACyC,IAAI,EAAE,IAAIhB,GAAG,CAAC,CAAC,CAAC,EAC9B,CAACzB,YAAY,CAAC0C,MAAM,EAAE,IAAIjB,GAAG,CAAC,CAAC,CAAC,CAEpC,CAAC;AACD,MAAMoB,iBAAiB,GAAG,IAAIpB,GAAG,CAA2B,CAAC;AAC7D,IAAIqB,kBAAkB,GAAG,KAAK;AAC9B,IAAIC,eAAe,GAAG,KAAK;AAC3B,MAAMC,mBAAmB,GAAG,IAAIvB,GAAG,CAA6B,CAAC;AACjE,IAAIwB,oBAAoB,GAAG,KAAK;AAChC,IAAIC,0BAAyC,GAAGjD,aAAa,CAACkD,YAAY;AAC1E,IAAIC,eAAmD;AACvD,MAAMC,eAAe,GAAG,IAAI5B,GAAG,CAG7B,CAAC;AAEH,SAAS6B,YAAYA,CACnBC,SAAiB,EACjBC,KAAmB,EACnBC,UAAkB,EAClBC,SAAS,GAAG,CAAC,EACP;EACN,MAAMC,QAAQ,GAAGN,eAAe,CAACO,GAAG,CAACL,SAAS,CAAC;EAC/C,IAAI,CAACI,QAAQ,EAAE;IACbN,eAAe,CAACQ,GAAG,CAACN,SAAS,EAAE;MAC7BO,KAAK,EAAE,CAAC;MACRC,eAAe,EAAEN,UAAU;MAC3BO,aAAa,EAAEP;IACjB,CAAC,CAAC;EACJ,CAAC,MAAM;IACLE,QAAQ,CAACG,KAAK,IAAI,CAAC;IACnBH,QAAQ,CAACI,eAAe,IAAIN,UAAU;IACtCE,QAAQ,CAACK,aAAa,GAAGC,IAAI,CAACC,GAAG,CAACP,QAAQ,CAACK,aAAa,EAAEP,UAAU,CAAC;EACvE;EAEAL,eAAe,GAAG;IAChBG,SAAS;IACTC,KAAK;IACLC,UAAU;IACVC;EACF,CAAC,CAAC;AACJ;AAEA,SAASS,gBAAgBA,CACvBZ,SAAiB,EACjBC,KAAmB,EACnBY,EAAW,EACXV,SAAS,GAAG,CAAC,EACV;EACH,IAAI,CAACN,eAAe,EAAE;IACpB,OAAOgB,EAAE,CAAC,CAAC;EACb;EACA,MAAMC,KAAK,GAAGrC,GAAG,CAAC,CAAC;EACnB,IAAI;IACF,OAAOoC,EAAE,CAAC,CAAC;EACb,CAAC,SAAS;IACRd,YAAY,CAACC,SAAS,EAAEC,KAAK,EAAExB,GAAG,CAAC,CAAC,GAAGqC,KAAK,EAAEX,SAAS,CAAC;EAC1D;AACF;AAEA,SAASY,kBAAkBA,CAACd,KAAqB,EAAuB;EACtE,OAAOhB,eAAe,CAACoB,GAAG,CAACJ,KAAK,CAAC;AACnC;AAEA,SAASe,gBAAgBA,CACvBf,KAAqB,EACY;EACjC,OAAOZ,cAAc,CAACgB,GAAG,CAACJ,KAAK,CAAC;AAClC;AAEA,SAASgB,aAAaA,CACpBhB,KAAqB,EACrBiB,GAAW,EACXC,KAAyB,EACnB;EACNH,gBAAgB,CAACf,KAAK,CAAC,CAACK,GAAG,CAACY,GAAG,EAAEC,KAAK,CAAC;AACzC;AAEA,SAASC,kBAAkBA,CACzBnB,KAAqB,EACrBiB,GAAW,EACS;EACpB,OAAOF,gBAAgB,CAACf,KAAK,CAAC,CAACI,GAAG,CAACa,GAAG,CAAC;AACzC;AAEA,SAASG,iBAAiBA,CAACpB,KAAqB,EAAEiB,GAAW,EAAW;EACtE,OAAOF,gBAAgB,CAACf,KAAK,CAAC,CAACqB,GAAG,CAACJ,GAAG,CAAC;AACzC;AAEA,SAASK,kBAAkBA,CAACtB,KAAqB,EAAQ;EACvDe,gBAAgB,CAACf,KAAK,CAAC,CAACuB,KAAK,CAAC,CAAC;AACjC;AAEA,SAASC,kBAAkBA,CAACC,QAA6B,EAAER,GAAW,EAAQ;EAC5E,MAAMS,SAAS,GAAGD,QAAQ,CAACrB,GAAG,CAACa,GAAG,CAAC;EACnC,IAAIS,SAAS,EAAE;IACb,KAAK,MAAMC,QAAQ,IAAID,SAAS,EAAE;MAChCC,QAAQ,CAAC,CAAC;IACZ;EACF;AACF;AAEA,SAASC,kBAAkBA,CAACH,QAA6B,EAAQ;EAC/D,KAAK,MAAMC,SAAS,IAAID,QAAQ,CAACI,MAAM,CAAC,CAAC,EAAE;IACzC,KAAK,MAAMF,QAAQ,IAAID,SAAS,EAAE;MAChCC,QAAQ,CAAC,CAAC;IACZ;EACF;AACF;AAEA,SAASG,cAAcA,CACrBL,QAA6B,EAC7BR,GAAW,EACXU,QAAoB,EACR;EACZ,IAAID,SAAS,GAAGD,QAAQ,CAACrB,GAAG,CAACa,GAAG,CAAC;EACjC,IAAI,CAACS,SAAS,EAAE;IACdA,SAAS,GAAG,IAAIK,GAAG,CAAC,CAAC;IACrBN,QAAQ,CAACpB,GAAG,CAACY,GAAG,EAAES,SAAS,CAAC;EAC9B;EACAA,SAAS,CAACM,GAAG,CAACL,QAAQ,CAAC;EAEvB,OAAO,MAAM;IACX,MAAM3C,eAAe,GAAGyC,QAAQ,CAACrB,GAAG,CAACa,GAAG,CAAC;IACzC,IAAI,CAACjC,eAAe,EAAE;MACpB;IACF;IACAA,eAAe,CAACiD,MAAM,CAACN,QAAQ,CAAC;IAChC,IAAI3C,eAAe,CAACkD,IAAI,KAAK,CAAC,EAAE;MAC9BT,QAAQ,CAACQ,MAAM,CAAChB,GAAG,CAAC;IACtB;EACF,CAAC;AACH;AAEA,SAASkB,sBAAsBA,CAAClB,GAAW,EAAsB;EAC/D,OAAOzB,mBAAmB,CAACY,GAAG,CAACa,GAAG,CAAC,EAAEC,KAAK;AAC5C;AAEA,SAASkB,oBAAoBA,CAACnB,GAAW,EAAsB;EAC7D,OAAO5B,iBAAiB,CAACe,GAAG,CAACa,GAAG,CAAC,EAAEC,KAAK;AAC1C;AAEA,SAASmB,mBAAmBA,CAACpB,GAAW,EAAW;EACjD,OAAO5B,iBAAiB,CAACgC,GAAG,CAACJ,GAAG,CAAC;AACnC;AAEA,SAASqB,qBAAqBA,CAACrB,GAAW,EAAW;EACnD,OAAOzB,mBAAmB,CAAC6B,GAAG,CAACJ,GAAG,CAAC;AACrC;AAEA,SAASsB,qBAAqBA,CAACtB,GAAW,EAAQ;EAChD5B,iBAAiB,CAAC4C,MAAM,CAAChB,GAAG,CAAC;AAC/B;AAEA,SAASuB,uBAAuBA,CAACvB,GAAW,EAAQ;EAClDzB,mBAAmB,CAACyC,MAAM,CAAChB,GAAG,CAAC;AACjC;AAEA,SAASwB,eAAeA,CAAA,EAAS;EAC/BnD,kBAAkB,GAAG,KAAK;EAE1B,IAAID,iBAAiB,CAAC6C,IAAI,KAAK,CAAC,EAAE;IAChC;EACF;EAEA,MAAMQ,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACvD,iBAAiB,CAACwC,MAAM,CAAC,CAAC,CAAC;EACrDxC,iBAAiB,CAACkC,KAAK,CAAC,CAAC;EAEzB,MAAMsB,SAAmB,GAAG,EAAE;EAC9B,MAAMC,WAAqB,GAAG,EAAE;EAChC,MAAMC,YAAsB,GAAG,EAAE;EAEjCL,MAAM,CAACM,OAAO,CAAC,CAAC;IAAE/B,GAAG;IAAEC;EAAM,CAAC,KAAK;IACjC,IAAIA,KAAK,KAAK+B,SAAS,EAAE;MACvBF,YAAY,CAACG,IAAI,CAACjC,GAAG,CAAC;MACtB;IACF;IAEA4B,SAAS,CAACK,IAAI,CAACjC,GAAG,CAAC;IACnB6B,WAAW,CAACI,IAAI,CAAChC,KAAK,CAAC;EACzB,CAAC,CAAC;EAEF,MAAMiC,aAAa,GAAGvE,gBAAgB,CAAC,CAAC;EACxC,IAAIiE,SAAS,CAACO,MAAM,GAAG,CAAC,EAAE;IACxBD,aAAa,CAACE,QAAQ,CAACR,SAAS,EAAEC,WAAW,EAAEtG,YAAY,CAACyC,IAAI,CAAC;EACnE;EACA,IAAI8D,YAAY,CAACK,MAAM,GAAG,CAAC,EAAE;IAC3BD,aAAa,CAACG,WAAW,CAACP,YAAY,EAAEvG,YAAY,CAACyC,IAAI,CAAC;EAC5D;AACF;AAEA,SAASsE,iBAAiBA,CAAA,EAAS;EACjC9D,oBAAoB,GAAG,KAAK;EAE5B,IAAID,mBAAmB,CAAC0C,IAAI,KAAK,CAAC,EAAE;IAClC;EACF;EAEA,MAAMQ,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACpD,mBAAmB,CAACqC,MAAM,CAAC,CAAC,CAAC;EACvDrC,mBAAmB,CAAC+B,KAAK,CAAC,CAAC;EAE3B,MAAMiC,gBAAgB,GAAG,IAAIvF,GAAG,CAG9B,CAAC;EACH,MAAM8E,YAAsB,GAAG,EAAE;EAEjCL,MAAM,CAACM,OAAO,CAAC,CAAC;IAAE/B,GAAG;IAAEC,KAAK;IAAEuC;EAAc,CAAC,KAAK;IAChD,IAAIvC,KAAK,KAAK+B,SAAS,EAAE;MACvBF,YAAY,CAACG,IAAI,CAACjC,GAAG,CAAC;IACxB,CAAC,MAAM;MACL,MAAMyC,qBAAqB,GAAGD,aAAa,IAAI/D,0BAA0B;MACzE,MAAMiE,aAAa,GAAGH,gBAAgB,CAACpD,GAAG,CAACsD,qBAAqB,CAAC;MACjE,MAAME,KAAK,GAAGD,aAAa,IAAI;QAAE5F,IAAI,EAAE,EAAE;QAAE8D,MAAM,EAAE;MAAG,CAAC;MACvD+B,KAAK,CAAC7F,IAAI,CAACmF,IAAI,CAACjC,GAAG,CAAC;MACpB2C,KAAK,CAAC/B,MAAM,CAACqB,IAAI,CAAChC,KAAK,CAAC;MACxB,IAAI,CAACyC,aAAa,EAAE;QAClBH,gBAAgB,CAACnD,GAAG,CAACqD,qBAAqB,EAAEE,KAAK,CAAC;MACpD;IACF;EACF,CAAC,CAAC;EAEF,MAAMT,aAAa,GAAGvE,gBAAgB,CAAC,CAAC;EACxC4E,gBAAgB,CAACR,OAAO,CAAC,CAACY,KAAK,EAAEH,aAAa,KAAK;IACjDN,aAAa,CAACU,sBAAsB,CAACJ,aAAa,CAAC;IACnDN,aAAa,CAACE,QAAQ,CAACO,KAAK,CAAC7F,IAAI,EAAE6F,KAAK,CAAC/B,MAAM,EAAErF,YAAY,CAAC0C,MAAM,CAAC;EACvE,CAAC,CAAC;EACF,IAAI6D,YAAY,CAACK,MAAM,GAAG,CAAC,EAAE;IAC3BD,aAAa,CAACG,WAAW,CAACP,YAAY,EAAEvG,YAAY,CAAC0C,MAAM,CAAC;EAC9D;AACF;AAEA,SAAS4E,iBAAiBA,CAAC7C,GAAW,EAAEC,KAAyB,EAAQ;EACvE7B,iBAAiB,CAACgB,GAAG,CAACY,GAAG,EAAE;IAAEA,GAAG;IAAEC;EAAM,CAAC,CAAC;EAC1C,IAAI5B,kBAAkB,EAAE;IACtB;EACF;EACAA,kBAAkB,GAAG,IAAI;EACzBpB,YAAY,CAACuE,eAAe,CAAC;AAC/B;AAEA,SAASsB,mBAAmBA,CAC1B9C,GAAW,EACXC,KAAyB,EACzBuC,aAA6B,EACvB;EACN,MAAMO,YAAgC,GAAG;IAAE/C,GAAG;IAAEC;EAAM,CAAC;EACvD,IAAIuC,aAAa,KAAKR,SAAS,EAAE;IAC/Be,YAAY,CAACP,aAAa,GAAGA,aAAa;EAC5C;EACAjE,mBAAmB,CAACa,GAAG,CAACY,GAAG,EAAE+C,YAAY,CAAC;EAC1C,IAAIvE,oBAAoB,EAAE;IACxB;EACF;EACAA,oBAAoB,GAAG,IAAI;EAC3BvB,YAAY,CAACqF,iBAAiB,CAAC;AACjC;AAEA,SAASU,6BAA6BA,CAACjE,KAAqB,EAAQ;EAClE,IAAIb,mBAAmB,CAACkC,GAAG,CAACrB,KAAK,CAAC,EAAE;IAClC;EACF;EAEA,MAAMkE,WAAW,GAAGtF,gBAAgB,CAAC,CAAC,CAACuF,WAAW,CAACnE,KAAK,EAAE,CAACiB,GAAG,EAAEC,KAAK,KAAK;IACxE,IAAIlB,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;MAC/B,IAAIgC,GAAG,KAAK,EAAE,EAAE;QACd5B,iBAAiB,CAACkC,KAAK,CAAC,CAAC;MAC3B,CAAC,MAAM;QACLgB,qBAAqB,CAACtB,GAAG,CAAC;MAC5B;IACF;IAEA,IAAIjB,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;MACjC,IAAI+B,GAAG,KAAK,EAAE,EAAE;QACdzB,mBAAmB,CAAC+B,KAAK,CAAC,CAAC;MAC7B,CAAC,MAAM;QACLiB,uBAAuB,CAACvB,GAAG,CAAC;MAC9B;IACF;IAEA,IAAIA,GAAG,KAAK,EAAE,EAAE;MACdK,kBAAkB,CAACtB,KAAK,CAAC;MACzB4B,kBAAkB,CAACd,kBAAkB,CAACd,KAAK,CAAC,CAAC;MAC7C;IACF;IAEAgB,aAAa,CAAChB,KAAK,EAAEiB,GAAG,EAAEC,KAAK,CAAC;IAChCM,kBAAkB,CAACV,kBAAkB,CAACd,KAAK,CAAC,EAAEiB,GAAG,CAAC;EACpD,CAAC,CAAC;EACF9B,mBAAmB,CAACkB,GAAG,CAACL,KAAK,EAAEkE,WAAW,CAAC;AAC7C;AAEA,SAASE,mCAAmCA,CAACpE,KAAqB,EAAQ;EACxE,MAAM0B,SAAS,GAAGZ,kBAAkB,CAACd,KAAK,CAAC;EAC3C,IAAI0B,SAAS,CAACQ,IAAI,GAAG,CAAC,EAAE;IACtB;EACF;EAEA,MAAMgC,WAAW,GAAG/E,mBAAmB,CAACiB,GAAG,CAACJ,KAAK,CAAC;EAClD,IAAI,CAACkE,WAAW,EAAE;IAChB;EACF;EAEAA,WAAW,CAAC,CAAC;EACb/E,mBAAmB,CAAC8C,MAAM,CAACjC,KAAK,CAAC;AACnC;AAEA,SAASqE,WAAWA,CAACpD,GAAW,EAAEjB,KAAmB,EAAsB;EACzElD,gBAAgB,CAACkD,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;IACjC,MAAMpD,KAAK,GAAGpC,WAAW,CAACsB,GAAG,CAACa,GAAG,CAAC;IAClC,OAAO,OAAOC,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG+B,SAAS;EACtD;EAEA,IAAIjD,KAAK,KAAKxD,YAAY,CAACyC,IAAI,IAAIoD,mBAAmB,CAACpB,GAAG,CAAC,EAAE;IAC3D,OAAOmB,oBAAoB,CAACnB,GAAG,CAAC;EAClC;EAEA,IAAIjB,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,IAAIoD,qBAAqB,CAACrB,GAAG,CAAC,EAAE;IAC/D,OAAOkB,sBAAsB,CAAClB,GAAG,CAAC;EACpC;EAEA,OAAOrC,gBAAgB,CAAC,CAAC,CAACwB,GAAG,CAACa,GAAG,EAAEjB,KAAK,CAAC;AAC3C;AAEA,SAASuE,WAAWA,CAACtD,GAAW,EAAEC,KAAa,EAAElB,KAAmB,EAAQ;EAC1ElD,gBAAgB,CAACkD,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;IACjCxF,WAAW,CAACuB,GAAG,CAACY,GAAG,EAAEC,KAAK,CAAC;IAC3BM,kBAAkB,CAACzC,eAAe,EAAEkC,GAAG,CAAC;IACxC;EACF;EAEA,IAAIjB,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;IAC/B+B,aAAa,CAAChB,KAAK,EAAEiB,GAAG,EAAEC,KAAK,CAAC;IAChC,IAAI3B,eAAe,EAAE;MACnBuE,iBAAiB,CAAC7C,GAAG,EAAEC,KAAK,CAAC;MAC7B;IACF;IAEAuB,eAAe,CAAC,CAAC;IACjBF,qBAAqB,CAACtB,GAAG,CAAC;EAC5B;EAEA,IAAIjB,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;IACjCqE,iBAAiB,CAAC,CAAC;IACnBf,uBAAuB,CAACvB,GAAG,CAAC;IAC5BrC,gBAAgB,CAAC,CAAC,CAACiF,sBAAsB,CAACnE,0BAA0B,CAAC;EACvE;EAEAd,gBAAgB,CAAC,CAAC,CAACyB,GAAG,CAACY,GAAG,EAAEC,KAAK,EAAElB,KAAK,CAAC;EACzCgB,aAAa,CAAChB,KAAK,EAAEiB,GAAG,EAAEC,KAAK,CAAC;AAClC;AAEA,SAASsD,cAAcA,CAACvD,GAAW,EAAEjB,KAAmB,EAAQ;EAC9DlD,gBAAgB,CAACkD,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;IACjCxF,WAAW,CAACmD,MAAM,CAAChB,GAAG,CAAC;IACvBO,kBAAkB,CAACzC,eAAe,EAAEkC,GAAG,CAAC;IACxC;EACF;EAEA,IAAIjB,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;IAC/B+B,aAAa,CAAChB,KAAK,EAAEiB,GAAG,EAAEgC,SAAS,CAAC;IACpC,IAAI1D,eAAe,EAAE;MACnBuE,iBAAiB,CAAC7C,GAAG,EAAEgC,SAAS,CAAC;MACjC;IACF;IAEAR,eAAe,CAAC,CAAC;IACjBF,qBAAqB,CAACtB,GAAG,CAAC;EAC5B;EAEA,IAAIjB,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;IACjCqE,iBAAiB,CAAC,CAAC;IACnBf,uBAAuB,CAACvB,GAAG,CAAC;EAC9B;EAEArC,gBAAgB,CAAC,CAAC,CAAC6F,MAAM,CAACxD,GAAG,EAAEjB,KAAK,CAAC;EACrCgB,aAAa,CAAChB,KAAK,EAAEiB,GAAG,EAAEgC,SAAS,CAAC;AACtC;AAEA,SAASyB,oBAAoBA,CAAC1E,KAAmB,EAAU;EACzD,MAAM2E,GAAG,GAAGN,WAAW,CAAC1H,qBAAqB,EAAEqD,KAAK,CAAC;EACrD,IAAI2E,GAAG,KAAK1B,SAAS,EAAE;IACrB,OAAO,CAAC;EACV;EAEA,MAAM2B,MAAM,GAAGC,MAAM,CAACC,QAAQ,CAACH,GAAG,EAAE,EAAE,CAAC;EACvC,OAAOE,MAAM,CAACE,QAAQ,CAACH,MAAM,CAAC,IAAIA,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC;AAC3D;AAEA,SAASI,qBAAqBA,CAAChF,KAAmB,EAAEiF,OAAe,EAAQ;EACzEV,WAAW,CAAC5H,qBAAqB,EAAEuI,MAAM,CAACD,OAAO,CAAC,EAAEjF,KAAK,CAAC;AAC5D;AAEA,OAAO,MAAMmF,OAAO,GAAG;EACrB5D,KAAK,EAAGvB,KAAmB,IAAK;IAC9BW,gBAAgB,CAAC,eAAe,EAAEX,KAAK,EAAE,MAAM;MAC7C,IAAIA,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;QACjCxF,WAAW,CAACyC,KAAK,CAAC,CAAC;QACnBK,kBAAkB,CAAC7C,eAAe,CAAC;QACnC;MACF;MAEA,IAAIiB,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;QAC/BwD,eAAe,CAAC,CAAC;QACjBpD,iBAAiB,CAACkC,KAAK,CAAC,CAAC;MAC3B;MAEA,IAAIvB,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;QACjCqE,iBAAiB,CAAC,CAAC;QACnB/D,mBAAmB,CAAC+B,KAAK,CAAC,CAAC;MAC7B;MAEAD,kBAAkB,CAACtB,KAAK,CAAC;MACzBpB,gBAAgB,CAAC,CAAC,CAAC2C,KAAK,CAACvB,KAAK,CAAC;IACjC,CAAC,CAAC;EACJ,CAAC;EACDoF,QAAQ,EAAEA,CAAA,KAAM;IACdzE,gBAAgB,CACd,kBAAkB,EAClBnE,YAAY,CAAC8H,MAAM,EACnB,MAAM;MACJa,OAAO,CAAC5D,KAAK,CAAC/E,YAAY,CAAC8H,MAAM,CAAC;MAClCa,OAAO,CAAC5D,KAAK,CAAC/E,YAAY,CAACyC,IAAI,CAAC;MAChCkG,OAAO,CAAC5D,KAAK,CAAC/E,YAAY,CAAC0C,MAAM,CAAC;IACpC,CAAC,EACD,CACF,CAAC;EACH,CAAC;EACDmG,cAAc,EAAEA,CAACC,SAAiB,EAAEtF,KAAmB,KAAK;IAC1DW,gBAAgB,CAAC,wBAAwB,EAAEX,KAAK,EAAE,MAAM;MACtDlD,gBAAgB,CAACkD,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;QACjC,KAAK,MAAMrD,GAAG,IAAInC,WAAW,CAACf,IAAI,CAAC,CAAC,EAAE;UACpC,IAAIX,YAAY,CAAC6D,GAAG,EAAEqE,SAAS,CAAC,EAAE;YAChCxG,WAAW,CAACmD,MAAM,CAAChB,GAAG,CAAC;UACzB;QACF;QACAW,kBAAkB,CAAC7C,eAAe,CAAC;QACnC;MACF;MAEA,MAAMwG,SAAS,GAAGpI,SAAS,CAACmI,SAAS,EAAE,EAAE,CAAC;MAC1C,IAAItF,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;QAC/BwD,eAAe,CAAC,CAAC;MACnB;MACA,IAAIzC,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;QACjCqE,iBAAiB,CAAC,CAAC;MACrB;MAEA,MAAMiC,UAAU,GAAGzE,gBAAgB,CAACf,KAAK,CAAC;MAC1C,KAAK,MAAMiB,GAAG,IAAIuE,UAAU,CAACzH,IAAI,CAAC,CAAC,EAAE;QACnC,IAAIX,YAAY,CAAC6D,GAAG,EAAEqE,SAAS,CAAC,EAAE;UAChCE,UAAU,CAACvD,MAAM,CAAChB,GAAG,CAAC;QACxB;MACF;MACArC,gBAAgB,CAAC,CAAC,CAAC6G,cAAc,CAACF,SAAS,EAAEvF,KAAK,CAAC;IACrD,CAAC,CAAC;EACJ,CAAC;EACD0F,cAAc,EAAEA,CAAA,KAAM;IACpB/E,gBAAgB,CAAC,wBAAwB,EAAEnE,YAAY,CAAC0C,MAAM,EAAE,MAAM;MACpEN,gBAAgB,CAAC,CAAC,CAAC+G,oBAAoB,CAAC,CAAC;IAC3C,CAAC,CAAC;EACJ,CAAC;EACDtE,GAAG,EAAEA,CAACJ,GAAW,EAAEjB,KAAmB,KAAc;IAClD,OAAOW,gBAAgB,CAAC,aAAa,EAAEX,KAAK,EAAE,MAAM;MAClDlD,gBAAgB,CAACkD,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;QACjC,OAAOxF,WAAW,CAACuC,GAAG,CAACJ,GAAG,CAAC;MAC7B;MACA,IAAIjB,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;QAC/BwD,eAAe,CAAC,CAAC;MACnB;MACA,IAAIzC,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;QACjCqE,iBAAiB,CAAC,CAAC;MACrB;MACA,OAAO3E,gBAAgB,CAAC,CAAC,CAACyC,GAAG,CAACJ,GAAG,EAAEjB,KAAK,CAAC;IAC3C,CAAC,CAAC;EACJ,CAAC;EACD4F,UAAU,EAAG5F,KAAmB,IAAe;IAC7C,OAAOW,gBAAgB,CAAC,oBAAoB,EAAEX,KAAK,EAAE,MAAM;MACzDlD,gBAAgB,CAACkD,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;QACjC,OAAO3B,KAAK,CAACC,IAAI,CAAC9D,WAAW,CAACf,IAAI,CAAC,CAAC,CAAC;MACvC;MACA,IAAIiC,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;QAC/BwD,eAAe,CAAC,CAAC;MACnB;MACA,IAAIzC,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;QACjCqE,iBAAiB,CAAC,CAAC;MACrB;MACA,OAAO3E,gBAAgB,CAAC,CAAC,CAACgH,UAAU,CAAC5F,KAAK,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC;EACD6F,eAAe,EAAEA,CAACC,MAAc,EAAE9F,KAAmB,KAAe;IAClE,OAAOW,gBAAgB,CAAC,yBAAyB,EAAEX,KAAK,EAAE,MAAM;MAC9DlD,gBAAgB,CAACkD,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;QACjC,OAAO3B,KAAK,CAACC,IAAI,CAAC9D,WAAW,CAACf,IAAI,CAAC,CAAC,CAAC,CAACgI,MAAM,CAAE9E,GAAG,IAC/CA,GAAG,CAAC+E,UAAU,CAACF,MAAM,CACvB,CAAC;MACH;MACA,IAAI9F,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;QAC/BwD,eAAe,CAAC,CAAC;MACnB;MACA,IAAIzC,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;QACjCqE,iBAAiB,CAAC,CAAC;MACrB;MACA,OAAO3E,gBAAgB,CAAC,CAAC,CAACiH,eAAe,CAACC,MAAM,EAAE9F,KAAK,CAAC;IAC1D,CAAC,CAAC;EACJ,CAAC;EACDiG,WAAW,EAAEA,CACXH,MAAc,EACd9F,KAAmB,KACQ;IAC3B,OAAOW,gBAAgB,CAAC,qBAAqB,EAAEX,KAAK,EAAE,MAAM;MAC1D,MAAMkG,MAA8B,GAAG,CAAC,CAAC;MACzC,MAAMnI,IAAI,GAAGoH,OAAO,CAACU,eAAe,CAACC,MAAM,EAAE9F,KAAK,CAAC;MACnD,IAAIjC,IAAI,CAACqF,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO8C,MAAM;MACf;MAEA,IAAIlG,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;QACjCvG,IAAI,CAACiF,OAAO,CAAE/B,GAAG,IAAK;UACpB,MAAMC,KAAK,GAAGpC,WAAW,CAACsB,GAAG,CAACa,GAAG,CAAC;UAClC,IAAI,OAAOC,KAAK,KAAK,QAAQ,EAAE;YAC7BgF,MAAM,CAACjF,GAAG,CAAC,GAAGC,KAAK;UACrB;QACF,CAAC,CAAC;QACF,OAAOgF,MAAM;MACf;MAEA,IAAIlG,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;QAC/BwD,eAAe,CAAC,CAAC;MACnB;MACA,IAAIzC,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;QACjCqE,iBAAiB,CAAC,CAAC;MACrB;MACA,MAAM1B,MAAM,GAAGjD,gBAAgB,CAAC,CAAC,CAACuH,QAAQ,CAACpI,IAAI,EAAEiC,KAAK,CAAC;MACvDjC,IAAI,CAACiF,OAAO,CAAC,CAAC/B,GAAG,EAAEmF,GAAG,KAAK;QACzB,MAAMlF,KAAK,GAAGnE,sBAAsB,CAAC8E,MAAM,CAACuE,GAAG,CAAC,CAAC;QACjD,IAAIlF,KAAK,KAAK+B,SAAS,EAAE;UACvBiD,MAAM,CAACjF,GAAG,CAAC,GAAGC,KAAK;QACrB;MACF,CAAC,CAAC;MACF,OAAOgF,MAAM;IACf,CAAC,CAAC;EACJ,CAAC;EACDG,MAAM,EAAGrG,KAAmB,IAA6B;IACvD,OAAOW,gBAAgB,CAAC,gBAAgB,EAAEX,KAAK,EAAE,MAAM;MACrDlD,gBAAgB,CAACkD,KAAK,CAAC;MACvB,MAAMkG,MAA8B,GAAG,CAAC,CAAC;MACzC,IAAIlG,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;QACjCxF,WAAW,CAACkE,OAAO,CAAC,CAAC9B,KAAK,EAAED,GAAG,KAAK;UAClC,IAAI,OAAOC,KAAK,KAAK,QAAQ,EAAEgF,MAAM,CAACjF,GAAG,CAAC,GAAGC,KAAK;QACpD,CAAC,CAAC;QACF,OAAOgF,MAAM;MACf;MACA,IAAIlG,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;QAC/BwD,eAAe,CAAC,CAAC;MACnB;MACA,IAAIzC,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;QACjCqE,iBAAiB,CAAC,CAAC;MACrB;MACA,MAAMxF,IAAI,GAAGa,gBAAgB,CAAC,CAAC,CAACgH,UAAU,CAAC5F,KAAK,CAAC;MACjD,IAAIjC,IAAI,CAACqF,MAAM,KAAK,CAAC,EAAE,OAAO8C,MAAM;MACpC,MAAMrE,MAAM,GAAGjD,gBAAgB,CAAC,CAAC,CAACuH,QAAQ,CAACpI,IAAI,EAAEiC,KAAK,CAAC;MACvDjC,IAAI,CAACiF,OAAO,CAAC,CAAC/B,GAAG,EAAEmF,GAAG,KAAK;QACzB,MAAME,GAAG,GAAGvJ,sBAAsB,CAAC8E,MAAM,CAACuE,GAAG,CAAC,CAAC;QAC/C,IAAIE,GAAG,KAAKrD,SAAS,EAAEiD,MAAM,CAACjF,GAAG,CAAC,GAAGqF,GAAG;MAC1C,CAAC,CAAC;MACF,OAAOJ,MAAM;IACf,CAAC,CAAC;EACJ,CAAC;EACDhE,IAAI,EAAGlC,KAAmB,IAAa;IACrC,OAAOW,gBAAgB,CAAC,cAAc,EAAEX,KAAK,EAAE,MAAM;MACnDlD,gBAAgB,CAACkD,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;QACjC,OAAOxF,WAAW,CAACoD,IAAI;MACzB;MACA,IAAIlC,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;QAC/BwD,eAAe,CAAC,CAAC;MACnB;MACA,IAAIzC,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;QACjCqE,iBAAiB,CAAC,CAAC;MACrB;MACA,OAAO3E,gBAAgB,CAAC,CAAC,CAACsD,IAAI,CAAClC,KAAK,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC;EACDuG,gBAAgB,EAAGC,KAAoB,IAAK;IAC1C7F,gBAAgB,CAAC,0BAA0B,EAAEnE,YAAY,CAAC0C,MAAM,EAAE,MAAM;MACtEQ,0BAA0B,GAAG8G,KAAK;MAClC5H,gBAAgB,CAAC,CAAC,CAACiF,sBAAsB,CAAC2C,KAAK,CAAC;IAClD,CAAC,CAAC;EACJ,CAAC;EACDC,oBAAoB,EAAGC,OAAgB,IAAK;IAC1C/F,gBAAgB,CACd,8BAA8B,EAC9BnE,YAAY,CAAC0C,MAAM,EACnB,MAAM;MACJN,gBAAgB,CAAC,CAAC,CAAC6H,oBAAoB,CAACC,OAAO,CAAC;IAClD,CACF,CAAC;EACH,CAAC;EACDC,kBAAkB,EAAGD,OAAgB,IAAK;IACxC/F,gBAAgB,CAAC,4BAA4B,EAAEnE,YAAY,CAACyC,IAAI,EAAE,MAAM;MACtEM,eAAe,GAAGmH,OAAO;MACzB,IAAI,CAACA,OAAO,EAAE;QACZjE,eAAe,CAAC,CAAC;MACnB;IACF,CAAC,CAAC;EACJ,CAAC;EACDA,eAAe,EAAEA,CAAA,KAAM;IACrB9B,gBAAgB,CAAC,yBAAyB,EAAEnE,YAAY,CAACyC,IAAI,EAAE,MAAM;MACnEwD,eAAe,CAAC,CAAC;IACnB,CAAC,CAAC;EACJ,CAAC;EACDc,iBAAiB,EAAEA,CAAA,KAAM;IACvB5C,gBAAgB,CAAC,2BAA2B,EAAEnE,YAAY,CAAC0C,MAAM,EAAE,MAAM;MACvEqE,iBAAiB,CAAC,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC;EACDqD,sBAAsB,EAAGhD,KAAa,IAAK;IACzCjD,gBAAgB,CACd,gCAAgC,EAChCnE,YAAY,CAAC0C,MAAM,EACnB,MAAM;MACJN,gBAAgB,CAAC,CAAC,CAACgI,sBAAsB,CAAChD,KAAK,CAAC;IAClD,CACF,CAAC;EACH,CAAC;EACDiD,kBAAkB,EAAGC,QAAiC,IAAK;IACzDlH,eAAe,GAAGkH,QAAQ;EAC5B,CAAC;EACDC,kBAAkB,EAAEA,CAAA,KAA4C;IAC9D,MAAMC,QAA8C,GAAG,CAAC,CAAC;IACzDnH,eAAe,CAACmD,OAAO,CAAC,CAAC9B,KAAK,EAAED,GAAG,KAAK;MACtC+F,QAAQ,CAAC/F,GAAG,CAAC,GAAG;QACdX,KAAK,EAAEY,KAAK,CAACZ,KAAK;QAClBC,eAAe,EAAEW,KAAK,CAACX,eAAe;QACtC0G,aAAa,EACX/F,KAAK,CAACZ,KAAK,KAAK,CAAC,GAAG,CAAC,GAAGY,KAAK,CAACX,eAAe,GAAGW,KAAK,CAACZ,KAAK;QAC7DE,aAAa,EAAEU,KAAK,CAACV;MACvB,CAAC;IACH,CAAC,CAAC;IACF,OAAOwG,QAAQ;EACjB,CAAC;EACDE,YAAY,EAAEA,CAAA,KAAM;IAClBrH,eAAe,CAAC0B,KAAK,CAAC,CAAC;EACzB,CAAC;EACD4F,eAAe,EAAEA,CAAA,MAA4B;IAC3CC,QAAQ,EAAE,QAAQ;IAClBC,OAAO,EAAE;MACPC,IAAI,EAAE,sBAAsB;MAC5BC,MAAM,EAAE;IACV,CAAC;IACDC,cAAc,EAAE;MACdF,IAAI,EAAE,IAAI;MACVC,MAAM,EAAE;IACV,CAAC;IACDE,mBAAmB,EAAE;EACvB,CAAC,CAAC;EACFC,SAAS,EAAEA,CAACzG,GAAW,EAAEjB,KAAmB,KAAyB;IACnE,OAAOW,gBAAgB,CAAC,mBAAmB,EAAEX,KAAK,EAAE,MAAM;MACxD,OAAOqE,WAAW,CAACpD,GAAG,EAAEjB,KAAK,CAAC;IAChC,CAAC,CAAC;EACJ,CAAC;EACD2H,SAAS,EAAEA,CAAC1G,GAAW,EAAEC,KAAa,EAAElB,KAAmB,KAAW;IACpEW,gBAAgB,CAAC,mBAAmB,EAAEX,KAAK,EAAE,MAAM;MACjDuE,WAAW,CAACtD,GAAG,EAAEC,KAAK,EAAElB,KAAK,CAAC;IAChC,CAAC,CAAC;EACJ,CAAC;EACD4H,YAAY,EAAEA,CAAC3G,GAAW,EAAEjB,KAAmB,KAAW;IACxDW,gBAAgB,CAAC,sBAAsB,EAAEX,KAAK,EAAE,MAAM;MACpDwE,cAAc,CAACvD,GAAG,EAAEjB,KAAK,CAAC;IAC5B,CAAC,CAAC;EACJ,CAAC;EACD6H,MAAM,EAAEA,CAACC,IAA4B,EAAE9H,KAAmB,KAAW;IACnE,MAAMjC,IAAI,GAAGD,MAAM,CAACC,IAAI,CAAC+J,IAAI,CAAC;IAC9BnH,gBAAgB,CACd,gBAAgB,EAChBX,KAAK,EACL,MAAM;MACJlD,gBAAgB,CAACkD,KAAK,CAAC;MACvB,IAAIjC,IAAI,CAACqF,MAAM,KAAK,CAAC,EAAE;MACvB,MAAMvB,MAAM,GAAG9D,IAAI,CAACgK,GAAG,CAAEC,CAAC,IAAKF,IAAI,CAACE,CAAC,CAAE,CAAC;MAExC,IAAIhI,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;QACjCvG,IAAI,CAACiF,OAAO,CAAC,CAAC/B,GAAG,EAAEgH,KAAK,KAAK;UAC3BnJ,WAAW,CAACuB,GAAG,CAACY,GAAG,EAAEY,MAAM,CAACoG,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC;QACFlK,IAAI,CAACiF,OAAO,CAAE/B,GAAG,IAAKO,kBAAkB,CAACzC,eAAe,EAAEkC,GAAG,CAAC,CAAC;QAC/D;MACF;MAEA,IAAIjB,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;QACjCqE,iBAAiB,CAAC,CAAC;QACnB3E,gBAAgB,CAAC,CAAC,CAACiF,sBAAsB,CAACnE,0BAA0B,CAAC;MACvE;MAEAd,gBAAgB,CAAC,CAAC,CAACyE,QAAQ,CAACtF,IAAI,EAAE8D,MAAM,EAAE7B,KAAK,CAAC;MAChDjC,IAAI,CAACiF,OAAO,CAAC,CAAC/B,GAAG,EAAEgH,KAAK,KAAKjH,aAAa,CAAChB,KAAK,EAAEiB,GAAG,EAAEY,MAAM,CAACoG,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC,EACDlK,IAAI,CAACqF,MACP,CAAC;EACH;AACF,CAAC;AAED,OAAO,SAAS8E,0BAA0BA,CACxCC,QAAkC,EAC5B;EACN;AAAA;AAGF,OAAO,SAASC,0BAA0BA,CAAA,EAE5B;EACZ,OAAOnF,SAAS;AAClB;AAEA,OAAO,SAASoF,wBAAwBA,CACtCF,QAAgC,EAC1B;EACN;AAAA;AAGF,OAAO,SAASG,wBAAwBA,CAAA,EAAsC;EAC5E,OAAOrF,SAAS;AAClB;AAEA,OAAO,eAAesF,uBAAuBA,CAAA,EAAkB;EAC7D;AAAA;AAkDF,SAASC,kBAAkBA,CAAC/K,IAAsB,EAAW;EAC3D,OACEA,IAAI,CAACgL,cAAc,KAAK,KAAK,IAC7BhL,IAAI,CAACiL,cAAc,KAAK,KAAK,IAC7BjL,IAAI,CAACkL,YAAY,KAAK,IAAI,IAC1BlL,IAAI,CAACmL,oBAAoB,KAAK3F,SAAS;AAE3C;AAEA,SAAS4F,wBAAwBA,CAACpL,IAAsB,EAAW;EACjE,OACEA,IAAI,CAACgL,cAAc,KAAK,KAAK,IAC7BhL,IAAI,CAACiL,cAAc,KAAK,KAAK,IAC7BjL,IAAI,CAACkL,YAAY,KAAK,IAAI;AAE9B;AAEA,SAASG,gBAAgBA,CAAI5H,KAAQ,EAAU;EAC7C,OAAOlE,8BAA8B,CAACkE,KAAK,CAAC;AAC9C;AAEA,SAAS6H,kBAAkBA,CAAI7H,KAAa,EAAK;EAC/C,OAAOjE,gCAAgC,CAACiE,KAAK,CAAC;AAChD;AAEA,OAAO,SAAS8H,iBAAiBA,CAC/BC,MAA4B,EACZ;EAChB,MAAMC,UAAU,GAAG/L,SAAS,CAAC8L,MAAM,CAAC3D,SAAS,EAAE2D,MAAM,CAAChI,GAAG,CAAC;EAC1D,MAAMkI,SAAS,GAAGF,MAAM,CAACE,SAAS,IAAIL,gBAAgB;EACtD,MAAMM,WAAW,GAAGH,MAAM,CAACG,WAAW,IAAIL,kBAAkB;EAC5D,MAAMM,QAAQ,GAAGJ,MAAM,CAACjJ,KAAK,KAAKxD,YAAY,CAAC8H,MAAM;EACrD,MAAMgF,sBAAsB,GAC1BL,MAAM,CAACjJ,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,GAC/B+J,MAAM,CAACM,cAAc,KACrBN,MAAM,CAACO,SAAS,KAAK,IAAI,GACtB9M,cAAc,CAAC+M,YAAY,GAC3B/M,cAAc,CAACgN,IAAI,CAAC,GACxBhN,cAAc,CAACgN,IAAI;EACzB,MAAMC,WAAW,GAAGL,sBAAsB,KAAK5M,cAAc,CAACgN,IAAI;EAClE,MAAME,mBAAmB,GAAGX,MAAM,CAACxF,aAAa;EAChD,MAAMoG,QAAQ,GAAGZ,MAAM,CAACY,QAAQ;EAChC,MAAMC,iBAAiB,GAAGb,MAAM,CAACa,iBAAiB;EAClD,MAAMC,UAAU,GAAGd,MAAM,CAACc,UAAU;EACpC,MAAMC,SAAS,GAAGf,MAAM,CAACe,SAAS;EAClC,MAAMC,eAAe,GAAGF,UAAU,EAAEG,KAAK;EACzC,MAAMC,gBAAgB,GACpBJ,UAAU,IAAIV,QAAQ,GAAG,IAAIpL,GAAG,CAAiB,CAAC,GAAG,IAAI;EAC3D,MAAMmM,SAAS,GAAG,CAACf,QAAQ,IAAIJ,MAAM,CAACmB,SAAS,KAAK,IAAI;EACxD,MAAMC,kBAAkB,GACtBpB,MAAM,CAACjJ,KAAK,KAAKxD,YAAY,CAACyC,IAAI,IAAIgK,MAAM,CAACoB,kBAAkB,KAAK,IAAI;EAC1E,MAAMC,oBAAoB,GACxBrB,MAAM,CAACjJ,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,IACpC+J,MAAM,CAACqB,oBAAoB,KAAK,IAAI,IACpC,CAACX,WAAW;EACd,MAAMY,YAAY,GAAGtB,MAAM,CAACsB,YAAiB;EAC7C,MAAMC,cAAqC,GACzCvB,MAAM,CAACjJ,KAAK,KAAKxD,YAAY,CAACyC,IAAI,GAC9BzC,YAAY,CAACyC,IAAI,GACjBgK,MAAM,CAACjJ,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,GAClC1C,YAAY,CAAC0C,MAAM,GACnB,IAAI;EAEZ,IAAI6K,UAAU,IAAIA,UAAU,CAACG,KAAK,IAAI,CAAC,EAAE;IACvC,MAAM,IAAIO,KAAK,CAAC,0CAA0C,CAAC;EAC7D;EAEA,MAAM/I,SAAS,GAAG,IAAIK,GAAG,CAAa,CAAC;EACvC,IAAImC,WAAgC,GAAG,IAAI;EAC3C,IAAIwG,OAAgB,GAAGzH,SAAS;EAChC,IAAI0H,SAAwB;EAC5B,IAAIC,YAAY,GAAG,KAAK;EACxB,IAAIC,aAAwC,GAAG5H,SAAS;EAExD,MAAM6H,qBAAqB,GAAGA,CAAA,KAAM;IAClCJ,OAAO,GAAGzH,SAAS;IACnB0H,SAAS,GAAG1H,SAAS;IACrB2H,YAAY,GAAG,KAAK;IACpBC,aAAa,GAAG5H,SAAS;EAC3B,CAAC;EAED,MAAM8H,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,IAAI7G,WAAW,EAAE;MACf;IACF;IAEA,MAAMvC,QAAQ,GAAGA,CAAA,KAAM;MACrBmJ,qBAAqB,CAAC,CAAC;MACvBpJ,SAAS,CAACsB,OAAO,CAAEgI,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI3B,QAAQ,EAAE;MACZnF,WAAW,GAAGpC,cAAc,CAAC/C,eAAe,EAAEmK,UAAU,EAAEvH,QAAQ,CAAC;MACnE;IACF;IAEAsC,6BAA6B,CAACuG,cAAe,CAAC;IAC9CtG,WAAW,GAAGpC,cAAc,CAC1BhB,kBAAkB,CAAC0J,cAAe,CAAC,EACnCtB,UAAU,EACVvH,QACF,CAAC;EACH,CAAC;EAED,MAAMsJ,aAAa,GAAGA,CAAA,KAAe;IACnC,IAAI5B,QAAQ,EAAE;MACZ,IAAIc,gBAAgB,EAAE;QACpB,MAAMe,SAAS,GAAGf,gBAAgB,CAAC/J,GAAG,CAAC8I,UAAU,CAAC;QAClD,IAAIgC,SAAS,KAAKjI,SAAS,IAAIiI,SAAS,IAAIxM,IAAI,CAACF,GAAG,CAAC,CAAC,EAAE;UACtD2L,gBAAgB,CAAClI,MAAM,CAACiH,UAAU,CAAC;UACnCpK,WAAW,CAACmD,MAAM,CAACiH,UAAU,CAAC;UAC9B1H,kBAAkB,CAACzC,eAAe,EAAEmK,UAAU,CAAC;UAC/Cc,SAAS,GAAGd,UAAU,CAAC;UACvB,OAAOjG,SAAS;QAClB;MACF;MACA,OAAOnE,WAAW,CAACsB,GAAG,CAAC8I,UAAU,CAAC;IACpC;IAEA,IAAIsB,cAAc,KAAKhO,YAAY,CAACyC,IAAI,EAAE;MACxC,MAAMkM,OAAO,GAAG9L,iBAAiB,CAACe,GAAG,CAAC8I,UAAU,CAAC;MACjD,IAAIiC,OAAO,KAAKlI,SAAS,EAAE;QACzB,OAAOkI,OAAO,CAACjK,KAAK;MACtB;IACF;IAEA,IAAIsJ,cAAc,KAAKhO,YAAY,CAAC0C,MAAM,IAAI,CAACyK,WAAW,EAAE;MAC1D,MAAMwB,OAAO,GAAG3L,mBAAmB,CAACY,GAAG,CAAC8I,UAAU,CAAC;MACnD,IAAIiC,OAAO,KAAKlI,SAAS,EAAE;QACzB,OAAOkI,OAAO,CAACjK,KAAK;MACtB;IACF;IAEA,IAAIkJ,SAAS,EAAE;MACb,MAAMgB,KAAK,GAAGrK,gBAAgB,CAACyJ,cAAe,CAAC;MAC/C,MAAMa,MAAM,GAAGD,KAAK,CAAChL,GAAG,CAAC8I,UAAU,CAAC;MACpC,IAAImC,MAAM,KAAKpI,SAAS,IAAImI,KAAK,CAAC/J,GAAG,CAAC6H,UAAU,CAAC,EAAE;QACjD,OAAOmC,MAAM;MACf;IACF;IAEA,IAAI1B,WAAW,EAAE;MACf,OAAO/K,gBAAgB,CAAC,CAAC,CAAC0M,kBAAkB,CAACpC,UAAU,CAAC;IAC1D;IAEA,MAAMvE,GAAG,GAAG/F,gBAAgB,CAAC,CAAC,CAACwB,GAAG,CAAC8I,UAAU,EAAED,MAAM,CAACjJ,KAAK,CAAC;IAC5DgB,aAAa,CAACwJ,cAAc,EAAGtB,UAAU,EAAEvE,GAAG,CAAC;IAC/C,OAAOA,GAAG;EACZ,CAAC;EAED,MAAM4G,cAAc,GAAIC,QAAgB,IAAW;IACjD,IAAI7B,WAAW,EAAE;MACf/K,gBAAgB,CAAC,CAAC,CAAC6M,2BAA2B,CAC5CvC,UAAU,EACVsC,QAAQ,EACRlC,sBACF,CAAC;MACD;IACF;IAEAtI,aAAa,CAACwJ,cAAc,EAAGtB,UAAU,EAAEsC,QAAQ,CAAC;IAEpD,IAAIhB,cAAc,KAAKhO,YAAY,CAACyC,IAAI,EAAE;MACxC,IAAIoL,kBAAkB,IAAI9K,eAAe,EAAE;QACzCuE,iBAAiB,CAACoF,UAAU,EAAEsC,QAAQ,CAAC;QACvC;MACF;MAEAjJ,qBAAqB,CAAC2G,UAAU,CAAC;IACnC;IAEA,IAAIoB,oBAAoB,EAAE;MACxBvG,mBAAmB,CACjBmF,UAAU,EACVsC,QAAQ,EACR5B,mBAAmB,IAAIlK,0BACzB,CAAC;MACD;IACF;IAEA,IAAI8K,cAAc,KAAKhO,YAAY,CAAC0C,MAAM,EAAE;MAC1CsD,uBAAuB,CAAC0G,UAAU,CAAC;MACnCtK,gBAAgB,CAAC,CAAC,CAACiF,sBAAsB,CACvC+F,mBAAmB,IAAIlK,0BACzB,CAAC;IACH;IAEAd,gBAAgB,CAAC,CAAC,CAACyB,GAAG,CAAC6I,UAAU,EAAEsC,QAAQ,EAAEvC,MAAM,CAACjJ,KAAK,CAAC;EAC5D,CAAC;EAED,MAAM0L,eAAe,GAAGA,CAAA,KAAY;IAClC,IAAI/B,WAAW,EAAE;MACf/K,gBAAgB,CAAC,CAAC,CAAC+M,qBAAqB,CAACzC,UAAU,CAAC;MACpD;IACF;IAEAlI,aAAa,CAACwJ,cAAc,EAAGtB,UAAU,EAAEjG,SAAS,CAAC;IAErD,IAAIuH,cAAc,KAAKhO,YAAY,CAACyC,IAAI,EAAE;MACxC,IAAIoL,kBAAkB,IAAI9K,eAAe,EAAE;QACzCuE,iBAAiB,CAACoF,UAAU,EAAEjG,SAAS,CAAC;QACxC;MACF;MAEAV,qBAAqB,CAAC2G,UAAU,CAAC;IACnC;IAEA,IAAIoB,oBAAoB,EAAE;MACxBvG,mBAAmB,CACjBmF,UAAU,EACVjG,SAAS,EACT2G,mBAAmB,IAAIlK,0BACzB,CAAC;MACD;IACF;IAEA,IAAI8K,cAAc,KAAKhO,YAAY,CAAC0C,MAAM,EAAE;MAC1CsD,uBAAuB,CAAC0G,UAAU,CAAC;IACrC;IAEAtK,gBAAgB,CAAC,CAAC,CAAC6F,MAAM,CAACyE,UAAU,EAAED,MAAM,CAACjJ,KAAK,CAAC;EACrD,CAAC;EAED,MAAM4L,2BAA2B,GAAI1K,KAAQ,IAAW;IACtD,IAAImI,QAAQ,EAAE;MACZ,IAAIc,gBAAgB,EAAE;QACpBA,gBAAgB,CAAC9J,GAAG,CAAC6I,UAAU,EAAExK,IAAI,CAACF,GAAG,CAAC,CAAC,IAAIyL,eAAe,IAAI,CAAC,CAAC,CAAC;MACvE;MACAnL,WAAW,CAACuB,GAAG,CAAC6I,UAAU,EAAEhI,KAAK,CAAC;MAClCM,kBAAkB,CAACzC,eAAe,EAAEmK,UAAU,CAAC;MAC/C;IACF;IAEA,MAAM2C,UAAU,GAAG1C,SAAS,CAACjI,KAAK,CAAC;IACnC,IAAI6I,UAAU,EAAE;MACd,MAAM+B,QAAwB,GAAG;QAC/BC,sBAAsB,EAAE,IAAI;QAC5Bb,SAAS,EAAExM,IAAI,CAACF,GAAG,CAAC,CAAC,GAAGuL,UAAU,CAACG,KAAK;QACxC8B,OAAO,EAAEH;MACX,CAAC;MACDN,cAAc,CAACU,IAAI,CAACC,SAAS,CAACJ,QAAQ,CAAC,CAAC;MACxC;IACF;IAEAP,cAAc,CAACM,UAAU,CAAC;EAC5B,CAAC;EAED,MAAMM,mBAAmB,GAAIC,YAAqB,IAAQ;IACxD,IAAItC,iBAAiB,EAAE;MACrB,OAAOA,iBAAiB,CAACsC,YAAY,CAAC;IACxC;IAEA,OAAO7B,YAAY;EACrB,CAAC;EAED,MAAM8B,oBAAoB,GAAGA,CAC3BC,SAAkB,EAClBC,cAAuB,KACjB;IACN,IAAI,CAAC1C,QAAQ,IAAIA,QAAQ,CAACyC,SAAS,CAAC,EAAE;MACpC,OAAOA,SAAS;IAClB;IAEA,MAAME,QAAQ,GAAGL,mBAAmB,CAACG,SAAS,CAAC;IAC/C,IAAIzC,QAAQ,IAAI,CAACA,QAAQ,CAAC2C,QAAQ,CAAC,EAAE;MACnC,OAAOjC,YAAY;IACrB;IACA,IAAIgC,cAAc,EAAE;MAClBX,2BAA2B,CAACY,QAAQ,CAAC;IACvC;IACA,OAAOA,QAAQ;EACjB,CAAC;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAS;IAC3B,MAAM9H,GAAG,GAAGsG,aAAa,CAAC,CAAC;IAE3B,IAAI,CAACd,gBAAgB,IAAIxF,GAAG,KAAK+F,OAAO,IAAIE,YAAY,EAAE;MACxD,IAAI,CAACb,UAAU,IAAIc,aAAa,KAAK,IAAI,EAAE;QACzC,OAAOF,SAAS;MAClB;MAEA,IAAI,OAAOE,aAAa,KAAK,QAAQ,EAAE;QACrC,IAAIA,aAAa,GAAGnM,IAAI,CAACF,GAAG,CAAC,CAAC,EAAE;UAC9B,OAAOmM,SAAS;QAClB;QAEAe,eAAe,CAAC,CAAC;QACjBZ,qBAAqB,CAAC,CAAC;QACvBd,SAAS,GAAGd,UAAU,CAAC;QACvByB,SAAS,GAAG0B,oBAAoB,CAAC9B,YAAY,EAAE,KAAK,CAAC;QACrDK,YAAY,GAAG,IAAI;QACnBlJ,SAAS,CAACsB,OAAO,CAAE0J,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC;QAC/B,OAAO/B,SAAS;MAClB;IACF;IAEAD,OAAO,GAAG/F,GAAG;IAEb,IAAIA,GAAG,KAAK1B,SAAS,EAAE;MACrB4H,aAAa,GAAG5H,SAAS;MACzB0H,SAAS,GAAG0B,oBAAoB,CAAC9B,YAAY,EAAE,KAAK,CAAC;MACrDK,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAItB,QAAQ,EAAE;MACZwB,aAAa,GAAG5H,SAAS;MACzB0H,SAAS,GAAG0B,oBAAoB,CAAC1H,GAAG,EAAE,IAAI,CAAC;MAC3CiG,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAI,OAAOhG,GAAG,KAAK,QAAQ,EAAE;MAC3BkG,aAAa,GAAG5H,SAAS;MACzB0H,SAAS,GAAG0B,oBAAoB,CAAC9B,YAAY,EAAE,KAAK,CAAC;MACrDK,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAIgC,iBAAiB,GAAGhI,GAAG;IAE3B,IAAIoF,UAAU,EAAE;MACd,IAAI6C,iBAAgC,GAAG,IAAI;MAC3C,IAAI;QACF,MAAMhI,MAAM,GAAGqH,IAAI,CAACY,KAAK,CAAClI,GAAG,CAAY;QACzC,IAAI/H,gBAAgB,CAACgI,MAAM,CAAC,EAAE;UAC5BgI,iBAAiB,GAAGhI,MAAM,CAACsG,SAAS;UACpC,IAAItG,MAAM,CAACsG,SAAS,IAAIxM,IAAI,CAACF,GAAG,CAAC,CAAC,EAAE;YAClCkN,eAAe,CAAC,CAAC;YACjBZ,qBAAqB,CAAC,CAAC;YACvBd,SAAS,GAAGd,UAAU,CAAC;YACvByB,SAAS,GAAG0B,oBAAoB,CAAC9B,YAAY,EAAE,KAAK,CAAC;YACrDK,YAAY,GAAG,IAAI;YACnBlJ,SAAS,CAACsB,OAAO,CAAE0J,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC;YAC/B,OAAO/B,SAAS;UAClB;UAEAgC,iBAAiB,GAAG/H,MAAM,CAACoH,OAAO;QACpC;MACF,CAAC,CAAC,MAAM;QACN;MAAA;MAEFnB,aAAa,GAAG+B,iBAAiB;IACnC,CAAC,MAAM;MACL/B,aAAa,GAAG5H,SAAS;IAC3B;IAEA0H,SAAS,GAAG0B,oBAAoB,CAACjD,WAAW,CAACuD,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACtE/B,YAAY,GAAG,IAAI;IACnB,OAAOD,SAAS;EAClB,CAAC;EAED,MAAMmC,iBAAiB,GAAGA,CAAA,KAAsB;IAC9C,MAAMnI,GAAG,GAAGsG,aAAa,CAAC,CAAC;IAC3B,OAAO/N,cAAc,CAACyH,GAAG,CAAC;EAC5B,CAAC;EAED,MAAMvE,GAAG,GAAGA,CAAA,KACVO,gBAAgB,CAAC,UAAU,EAAEsI,MAAM,CAACjJ,KAAK,EAAE,MAAMyM,WAAW,CAAC,CAAC,CAAC;EAEjE,MAAMM,cAAc,GAAGA,CAAA,KACrBpM,gBAAgB,CAAC,qBAAqB,EAAEsI,MAAM,CAACjJ,KAAK,EAAE,OAAO;IAC3DkB,KAAK,EAAEuL,WAAW,CAAC,CAAC;IACpBxH,OAAO,EAAE6H,iBAAiB,CAAC;EAC7B,CAAC,CAAC,CAAC;EAEL,MAAMzM,GAAG,GAAI1C,SAA+B,IAAW;IACrDgD,gBAAgB,CAAC,UAAU,EAAEsI,MAAM,CAACjJ,KAAK,EAAE,MAAM;MAC/C,MAAMgN,QAAQ,GAAGtP,SAAS,CAACC,SAAS,CAAC,GACjCA,SAAS,CAAC8O,WAAW,CAAC,CAAC,CAAC,GACxB9O,SAAS;MAEb,IAAIkM,QAAQ,IAAI,CAACA,QAAQ,CAACmD,QAAQ,CAAC,EAAE;QACnC,MAAM,IAAIvC,KAAK,CACb,8BAA8BvB,UAAU,eAAe1M,YAAY,CAACyM,MAAM,CAACjJ,KAAK,CAAC,IACnF,CAAC;MACH;MAEA8K,qBAAqB,CAAC,CAAC;MACvBc,2BAA2B,CAACoB,QAAQ,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC;EAED,MAAMC,YAAY,GAAGA,CACnBhI,OAAuB,EACvBtH,SAA+B,KAE/BgD,gBAAgB,CAAC,mBAAmB,EAAEsI,MAAM,CAACjJ,KAAK,EAAE,MAAM;IACxD,MAAMkN,cAAc,GAAGJ,iBAAiB,CAAC,CAAC;IAC1C,IAAII,cAAc,KAAKjI,OAAO,EAAE;MAC9B,OAAO,KAAK;IACd;IACA5E,GAAG,CAAC1C,SAAS,CAAC;IACd,OAAO,IAAI;EACb,CAAC,CAAC;EAEJ,MAAMwP,UAAU,GAAGA,CAAA,KAAY;IAC7BxM,gBAAgB,CAAC,aAAa,EAAEsI,MAAM,CAACjJ,KAAK,EAAE,MAAM;MAClD8K,qBAAqB,CAAC,CAAC;MAEvB,IAAIzB,QAAQ,EAAE;QACZ,IAAIc,gBAAgB,EAAE;UACpBA,gBAAgB,CAAClI,MAAM,CAACiH,UAAU,CAAC;QACrC;QACApK,WAAW,CAACmD,MAAM,CAACiH,UAAU,CAAC;QAC9B1H,kBAAkB,CAACzC,eAAe,EAAEmK,UAAU,CAAC;QAC/C;MACF;MAEAwC,eAAe,CAAC,CAAC;IACnB,CAAC,CAAC;EACJ,CAAC;EAED,MAAM0B,OAAO,GAAGA,CAAA,KACdzM,gBAAgB,CAAC,UAAU,EAAEsI,MAAM,CAACjJ,KAAK,EAAE,MAAM;IAC/C,IAAIqJ,QAAQ,EAAE,OAAOvK,WAAW,CAACuC,GAAG,CAAC6H,UAAU,CAAC;IAChD,IAAIS,WAAW,EAAE,OAAO/K,gBAAgB,CAAC,CAAC,CAACyO,kBAAkB,CAACnE,UAAU,CAAC;IACzE,IAAIsB,cAAc,KAAKhO,YAAY,CAACyC,IAAI,EAAE;MACxC,MAAMkM,OAAO,GAAG9L,iBAAiB,CAACe,GAAG,CAAC8I,UAAU,CAAC;MACjD,IAAIiC,OAAO,KAAKlI,SAAS,EAAE;QACzB,OAAOkI,OAAO,CAACjK,KAAK,KAAK+B,SAAS;MACpC;IACF;IACA,IAAIuH,cAAc,KAAKhO,YAAY,CAAC0C,MAAM,EAAE;MAC1C,MAAMiM,OAAO,GAAG3L,mBAAmB,CAACY,GAAG,CAAC8I,UAAU,CAAC;MACnD,IAAIiC,OAAO,KAAKlI,SAAS,EAAE;QACzB,OAAOkI,OAAO,CAACjK,KAAK,KAAK+B,SAAS;MACpC;IACF;IACA,OAAOrE,gBAAgB,CAAC,CAAC,CAACyC,GAAG,CAAC6H,UAAU,EAAED,MAAM,CAACjJ,KAAK,CAAC;EACzD,CAAC,CAAC;EAEJ,MAAMsN,SAAS,GAAItC,QAAoB,IAAmB;IACxDD,kBAAkB,CAAC,CAAC;IACpBrJ,SAAS,CAACM,GAAG,CAACgJ,QAAQ,CAAC;IACvB,OAAO,MAAM;MACXtJ,SAAS,CAACO,MAAM,CAAC+I,QAAQ,CAAC;MAC1B,IAAItJ,SAAS,CAACQ,IAAI,KAAK,CAAC,IAAIgC,WAAW,EAAE;QACvCA,WAAW,CAAC,CAAC;QACb,IAAI,CAACmF,QAAQ,EAAE;UACbjF,mCAAmC,CAACoG,cAAe,CAAC;QACtD;QACAtG,WAAW,GAAG,IAAI;MACpB;IACF,CAAC;EACH,CAAC;EAED,MAAMqJ,WAAmC,GAAG;IAC1CnN,GAAG;IACH2M,cAAc;IACd1M,GAAG;IACH4M,YAAY;IACZhL,MAAM,EAAEkL,UAAU;IAClB9L,GAAG,EAAE+L,OAAO;IACZE,SAAS;IACTnE,SAAS;IACTC,WAAW;IACXoE,iBAAiB,EAAEA,CAAA,KAAM;MACvB1C,qBAAqB,CAAC,CAAC;MACvBpJ,SAAS,CAACsB,OAAO,CAAErB,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD8L,0BAA0B,EAAEA,CAAA,KAAM;MAChC3C,qBAAqB,CAAC,CAAC;IACzB,CAAC;IACDpC,cAAc,EAAEmB,QAAQ,KAAK5G,SAAS;IACtCwF,cAAc,EAAEsB,UAAU,KAAK9G,SAAS;IACxCyK,iBAAiB,EAAEtD,SAAS;IAC5BzB,YAAY,EAAEgB,WAAW;IACzBgE,aAAa,EAAEpD,YAAY;IAC3B,IAAIX,mBAAmB,KAAK3G,SAAS,GACjC;MAAE2F,oBAAoB,EAAEgB;IAAoB,CAAC,GAC7C,CAAC,CAAC,CAAC;IACP5J,KAAK,EAAEiJ,MAAM,CAACjJ,KAAK;IACnBiB,GAAG,EAAEiI;EACP,CAAC;EAED,OAAOqE,WAAW;AACpB;AAEA,SAASK,UAAU,EAAEC,kBAAkB,EAAEC,aAAa,QAAQ,iBAAiB;AAC/E,SAASC,sBAAsB,QAAQ,qBAAqB;AAoB5D,OAAO,SAAS5H,QAAQA,CACtB6H,KAAwC,EACxChO,KAAmB,EACR;EACX,OAAOW,gBAAgB,CACrB,WAAW,EACXX,KAAK,EACL,MAAM;IACJnD,gBAAgB,CAACmR,KAAK,EAAEhO,KAAK,CAAC;IAE9B,IAAIA,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;MACjC,OAAO0J,KAAK,CAACjG,GAAG,CAAEtK,IAAI,IAAKA,IAAI,CAAC2C,GAAG,CAAC,CAAC,CAAC;IACxC;IAEA,MAAM6N,eAAe,GAAGD,KAAK,CAACE,KAAK,CAAEzQ,IAAI,IACvCuC,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,GACzB2J,wBAAwB,CAACpL,IAAI,CAAC,GAC9B+K,kBAAkB,CAAC/K,IAAI,CAC7B,CAAC;IACD,IAAI,CAACwQ,eAAe,EAAE;MACpB,OAAOD,KAAK,CAACjG,GAAG,CAAEtK,IAAI,IAAKA,IAAI,CAAC2C,GAAG,CAAC,CAAC,CAAC;IACxC;IAEA,MAAM+N,SAAS,GAAG,IAAIxL,KAAK,CAAqBqL,KAAK,CAAC5K,MAAM,CAAC;IAC7D,MAAMgL,WAAqB,GAAG,EAAE;IAChC,MAAMC,UAAoB,GAAG,EAAE;IAE/BL,KAAK,CAAChL,OAAO,CAAC,CAACvF,IAAI,EAAEwK,KAAK,KAAK;MAC7B,IAAIjI,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;QAC/B,MAAMkM,OAAO,GAAG9L,iBAAiB,CAACe,GAAG,CAAC3C,IAAI,CAACwD,GAAG,CAAC;QAC/C,IAAIkK,OAAO,KAAKlI,SAAS,EAAE;UACzBkL,SAAS,CAAClG,KAAK,CAAC,GAAGkD,OAAO,CAACjK,KAAK;UAChC;QACF;MACF;MAEA,IAAIlB,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;QACjC,MAAMiM,OAAO,GAAG3L,mBAAmB,CAACY,GAAG,CAAC3C,IAAI,CAACwD,GAAG,CAAC;QACjD,IAAIkK,OAAO,KAAKlI,SAAS,EAAE;UACzBkL,SAAS,CAAClG,KAAK,CAAC,GAAGkD,OAAO,CAACjK,KAAK;UAChC;QACF;MACF;MAEA,IAAIzD,IAAI,CAACiQ,iBAAiB,KAAK,IAAI,EAAE;QACnC,MAAMtC,KAAK,GAAGrK,gBAAgB,CAACf,KAAK,CAAC;QACrC,MAAMqL,MAAM,GAAGD,KAAK,CAAChL,GAAG,CAAC3C,IAAI,CAACwD,GAAG,CAAC;QAClC,IAAIoK,MAAM,KAAKpI,SAAS,IAAImI,KAAK,CAAC/J,GAAG,CAAC5D,IAAI,CAACwD,GAAG,CAAC,EAAE;UAC/CkN,SAAS,CAAClG,KAAK,CAAC,GAAGoD,MAAM;UACzB;QACF;MACF;MAEA+C,WAAW,CAAClL,IAAI,CAACzF,IAAI,CAACwD,GAAG,CAAC;MAC1BoN,UAAU,CAACnL,IAAI,CAAC+E,KAAK,CAAC;IACxB,CAAC,CAAC;IAEF,IAAImG,WAAW,CAAChL,MAAM,GAAG,CAAC,EAAE;MAC1B,MAAMkL,aAAa,GAAG1P,gBAAgB,CAAC,CAAC,CACrCuH,QAAQ,CAACiI,WAAW,EAAEpO,KAAK,CAAC,CAC5B+H,GAAG,CAAE7G,KAAK,IAAKnE,sBAAsB,CAACmE,KAAK,CAAC,CAAC;MAEhDoN,aAAa,CAACtL,OAAO,CAAC,CAAC9B,KAAK,EAAE+G,KAAK,KAAK;QACtC,MAAMhH,GAAG,GAAGmN,WAAW,CAACnG,KAAK,CAAC;QAC9B,MAAMsG,WAAW,GAAGF,UAAU,CAACpG,KAAK,CAAC;QACrC,IAAIhH,GAAG,KAAKgC,SAAS,IAAIsL,WAAW,KAAKtL,SAAS,EAAE;UAClD;QACF;QACAkL,SAAS,CAACI,WAAW,CAAC,GAAGrN,KAAK;QAC9BF,aAAa,CAAChB,KAAK,EAAEiB,GAAG,EAAEC,KAAK,CAAC;MAClC,CAAC,CAAC;IACJ;IAEA,OAAO8M,KAAK,CAACjG,GAAG,CAAC,CAACtK,IAAI,EAAEwK,KAAK,KAAK;MAChC,MAAMtD,GAAG,GAAGwJ,SAAS,CAAClG,KAAK,CAAC;MAC5B,IAAItD,GAAG,KAAK1B,SAAS,EAAE;QACrB,OAAOzF,UAAU,CAACC,IAA4B,CAAC,CAACkQ,aAAa;MAC/D;MACA,OAAOlQ,IAAI,CAAC2L,WAAW,CAACzE,GAAG,CAAC;IAC9B,CAAC,CAAC;EACJ,CAAC,EACDqJ,KAAK,CAAC5K,MACR,CAAC;AACH;AAEA,OAAO,SAASC,QAAQA,CACtB2K,KAAwC,EACxChO,KAAmB,EACb;EACNW,gBAAgB,CACd,WAAW,EACXX,KAAK,EACL,MAAM;IACJnD,gBAAgB,CACdmR,KAAK,CAACjG,GAAG,CAAEyG,UAAU,IAAKA,UAAU,CAAC/Q,IAAI,CAAC,EAC1CuC,KACF,CAAC;IAED,IAAIA,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;MACjC;MACA,MAAMmK,mBAAmB,GAAGT,KAAK,CAACU,IAAI,CAAC,CAAC;QAAEjR;MAAK,CAAC,KAAK;QACnD,MAAMkR,QAAQ,GAAGnR,UAAU,CAACC,IAA4B,CAAC;QACzD,OAAOkR,QAAQ,CAACjG,cAAc,IAAIiG,QAAQ,CAAClG,cAAc;MAC3D,CAAC,CAAC;MAEF,IAAIgG,mBAAmB,EAAE;QACvB;QACAT,KAAK,CAAChL,OAAO,CAAC,CAAC;UAAEvF,IAAI;UAAEyD;QAAM,CAAC,KAAKzD,IAAI,CAAC4C,GAAG,CAACa,KAAK,CAAC,CAAC;QACnD;MACF;;MAEA;MACA8M,KAAK,CAAChL,OAAO,CAAC,CAAC;QAAEvF,IAAI;QAAEyD;MAAM,CAAC,KAAK;QACjCpC,WAAW,CAACuB,GAAG,CAAC5C,IAAI,CAACwD,GAAG,EAAEC,KAAK,CAAC;QAChC1D,UAAU,CAACC,IAA4B,CAAC,CAACgQ,0BAA0B,CAAC,CAAC;MACvE,CAAC,CAAC;MACFO,KAAK,CAAChL,OAAO,CAAC,CAAC;QAAEvF;MAAK,CAAC,KACrB+D,kBAAkB,CAACzC,eAAe,EAAEtB,IAAI,CAACwD,GAAG,CAC9C,CAAC;MACD;IACF;IAEA,IAAIjB,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;MACjC,MAAM0P,aAAa,GAAGZ,KAAK,CAACjG,GAAG,CAAC,CAAC;QAAEtK,IAAI;QAAEyD;MAAM,CAAC,MAAM;QACpDzD,IAAI;QACJyD,KAAK;QACLyN,QAAQ,EAAEnR,UAAU,CAACC,IAAI;MAC3B,CAAC,CAAC,CAAC;MACH,MAAMoR,qBAAqB,GAAGD,aAAa,CAACV,KAAK,CAAC,CAAC;QAAES;MAAS,CAAC,KAC7D9F,wBAAwB,CAAC8F,QAAQ,CACnC,CAAC;MACD,IAAI,CAACE,qBAAqB,EAAE;QAC1Bb,KAAK,CAAChL,OAAO,CAAC,CAAC;UAAEvF,IAAI;UAAEyD;QAAM,CAAC,KAAKzD,IAAI,CAAC4C,GAAG,CAACa,KAAK,CAAC,CAAC;QACnD;MACF;MAEAqC,iBAAiB,CAAC,CAAC;MACnB,MAAMJ,aAAa,GAAGvE,gBAAgB,CAAC,CAAC;MACxC,MAAMkQ,sBAAsB,GAAG,IAAI7Q,GAAG,CAGpC,CAAC;MAEH2Q,aAAa,CAAC5L,OAAO,CAAC,CAAC;QAAEvF,IAAI;QAAEyD,KAAK;QAAEyN;MAAS,CAAC,KAAK;QACnD,MAAMlL,aAAa,GACjBkL,QAAQ,CAAC/F,oBAAoB,IAAIlJ,0BAA0B;QAC7D,MAAMiE,aAAa,GAAGmL,sBAAsB,CAAC1O,GAAG,CAACqD,aAAa,CAAC;QAC/D,MAAMG,KAAK,GAAGD,aAAa,IAAI;UAAE5F,IAAI,EAAE,EAAE;UAAE8D,MAAM,EAAE;QAAG,CAAC;QACvD+B,KAAK,CAAC7F,IAAI,CAACmF,IAAI,CAACzF,IAAI,CAACwD,GAAG,CAAC;QACzB2C,KAAK,CAAC/B,MAAM,CAACqB,IAAI,CAACzF,IAAI,CAAC0L,SAAS,CAACjI,KAAK,CAAC,CAAC;QACxC,IAAI,CAACyC,aAAa,EAAE;UAClBmL,sBAAsB,CAACzO,GAAG,CAACoD,aAAa,EAAEG,KAAK,CAAC;QAClD;MACF,CAAC,CAAC;MAEFkL,sBAAsB,CAAC9L,OAAO,CAAC,CAACY,KAAK,EAAEH,aAAa,KAAK;QACvDN,aAAa,CAACU,sBAAsB,CAACJ,aAAa,CAAC;QACnDN,aAAa,CAACE,QAAQ,CAACO,KAAK,CAAC7F,IAAI,EAAE6F,KAAK,CAAC/B,MAAM,EAAE7B,KAAK,CAAC;QACvD4D,KAAK,CAAC7F,IAAI,CAACiF,OAAO,CAAC,CAAC/B,GAAG,EAAEgH,KAAK,KAC5BjH,aAAa,CAAChB,KAAK,EAAEiB,GAAG,EAAE2C,KAAK,CAAC/B,MAAM,CAACoG,KAAK,CAAC,CAC/C,CAAC;MACH,CAAC,CAAC;MACF;IACF;IAEAxF,eAAe,CAAC,CAAC;IAEjB,MAAMwL,eAAe,GAAGD,KAAK,CAACE,KAAK,CAAC,CAAC;MAAEzQ;IAAK,CAAC,KAC3C+K,kBAAkB,CAAChL,UAAU,CAACC,IAAI,CAAC,CACrC,CAAC;IACD,IAAI,CAACwQ,eAAe,EAAE;MACpBD,KAAK,CAAChL,OAAO,CAAC,CAAC;QAAEvF,IAAI;QAAEyD;MAAM,CAAC,KAAKzD,IAAI,CAAC4C,GAAG,CAACa,KAAK,CAAC,CAAC;MACnD;IACF;IAEA,MAAMnD,IAAI,GAAGiQ,KAAK,CAACjG,GAAG,CAAEgH,KAAK,IAAKA,KAAK,CAACtR,IAAI,CAACwD,GAAG,CAAC;IACjD,MAAMY,MAAM,GAAGmM,KAAK,CAACjG,GAAG,CAAEgH,KAAK,IAAKA,KAAK,CAACtR,IAAI,CAAC0L,SAAS,CAAC4F,KAAK,CAAC7N,KAAK,CAAC,CAAC;IAEtEtC,gBAAgB,CAAC,CAAC,CAACyE,QAAQ,CAACtF,IAAI,EAAE8D,MAAM,EAAE7B,KAAK,CAAC;IAChDjC,IAAI,CAACiF,OAAO,CAAC,CAAC/B,GAAG,EAAEgH,KAAK,KAAKjH,aAAa,CAAChB,KAAK,EAAEiB,GAAG,EAAEY,MAAM,CAACoG,KAAK,CAAC,CAAC,CAAC;EACxE,CAAC,EACD+F,KAAK,CAAC5K,MACR,CAAC;AACH;AAEA,OAAO,SAASE,WAAWA,CACzB0K,KAAiC,EACjChO,KAAmB,EACb;EACNW,gBAAgB,CACd,cAAc,EACdX,KAAK,EACL,MAAM;IACJnD,gBAAgB,CAACmR,KAAK,EAAEhO,KAAK,CAAC;IAE9B,IAAIA,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;MACjC0J,KAAK,CAAChL,OAAO,CAAEvF,IAAI,IAAKA,IAAI,CAACwE,MAAM,CAAC,CAAC,CAAC;MACtC;IACF;IAEA,MAAMlE,IAAI,GAAGiQ,KAAK,CAACjG,GAAG,CAAEtK,IAAI,IAAKA,IAAI,CAACwD,GAAG,CAAC;IAC1C,IAAIjB,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;MAC/BwD,eAAe,CAAC,CAAC;IACnB;IACA,IAAIzC,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;MACjCqE,iBAAiB,CAAC,CAAC;IACrB;IACA3E,gBAAgB,CAAC,CAAC,CAAC0E,WAAW,CAACvF,IAAI,EAAEiC,KAAK,CAAC;IAC3CjC,IAAI,CAACiF,OAAO,CAAE/B,GAAG,IAAKD,aAAa,CAAChB,KAAK,EAAEiB,GAAG,EAAEgC,SAAS,CAAC,CAAC;EAC7D,CAAC,EACD+K,KAAK,CAAC5K,MACR,CAAC;AACH;AAEA,OAAO,SAAS4L,iBAAiBA,CAAC/J,OAAe,EAAEgK,SAAoB,EAAQ;EAC7E,IAAI,CAACpK,MAAM,CAACqK,SAAS,CAACjK,OAAO,CAAC,IAAIA,OAAO,IAAI,CAAC,EAAE;IAC9C,MAAM,IAAIwF,KAAK,CAAC,+CAA+C,CAAC;EAClE;EAEA,IAAIzM,oBAAoB,CAACqD,GAAG,CAAC4D,OAAO,CAAC,EAAE;IACrC,MAAM,IAAIwF,KAAK,CAAC,qBAAqBxF,OAAO,yBAAyB,CAAC;EACxE;EAEAjH,oBAAoB,CAACqC,GAAG,CAAC4E,OAAO,EAAEgK,SAAS,CAAC;AAC9C;AAEA,OAAO,SAASE,eAAeA,CAC7BnP,KAAmB,GAAGxD,YAAY,CAACyC,IAAI,EAC/B;EACR,OAAO0B,gBAAgB,CAAC,eAAe,EAAEX,KAAK,EAAE,MAAM;IACpDlD,gBAAgB,CAACkD,KAAK,CAAC;IACvB,MAAMkN,cAAc,GAAGxI,oBAAoB,CAAC1E,KAAK,CAAC;IAClD,MAAMoP,QAAQ,GAAGzM,KAAK,CAACC,IAAI,CAAC5E,oBAAoB,CAACD,IAAI,CAAC,CAAC,CAAC,CACrDgI,MAAM,CAAEd,OAAO,IAAKA,OAAO,GAAGiI,cAAc,CAAC,CAC7CmC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;IAExB,IAAIC,cAAc,GAAGtC,cAAc;IACnC,MAAMuC,OAAyB,GAAG;MAChCzP,KAAK;MACL0P,MAAM,EAAGzO,GAAG,IAAKoD,WAAW,CAACpD,GAAG,EAAEjB,KAAK,CAAC;MACxC2P,MAAM,EAAEA,CAAC1O,GAAG,EAAEC,KAAK,KAAKqD,WAAW,CAACtD,GAAG,EAAEC,KAAK,EAAElB,KAAK,CAAC;MACtD4P,SAAS,EAAG3O,GAAG,IAAKuD,cAAc,CAACvD,GAAG,EAAEjB,KAAK;IAC/C,CAAC;IAEDoP,QAAQ,CAACpM,OAAO,CAAEiC,OAAO,IAAK;MAC5B,MAAMgK,SAAS,GAAGjR,oBAAoB,CAACoC,GAAG,CAAC6E,OAAO,CAAC;MACnD,IAAI,CAACgK,SAAS,EAAE;QACd;MACF;MACAA,SAAS,CAACQ,OAAO,CAAC;MAClBD,cAAc,GAAGvK,OAAO;IAC1B,CAAC,CAAC;IAEF,IAAIuK,cAAc,KAAKtC,cAAc,EAAE;MACrClI,qBAAqB,CAAChF,KAAK,EAAEwP,cAAc,CAAC;IAC9C;IAEA,OAAOA,cAAc;EACvB,CAAC,CAAC;AACJ;AAEA,OAAO,SAASK,cAAcA,CAC5B7P,KAAmB,EACnB8P,WAA+C,EAC5C;EACH,OAAOnP,gBAAgB,CAAC,iBAAiB,EAAEX,KAAK,EAAE,MAAM;IACtDlD,gBAAgB,CAACkD,KAAK,CAAC;IACvB,IAAIA,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;MAC/BwD,eAAe,CAAC,CAAC;IACnB;IACA,IAAIzC,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;MACjCqE,iBAAiB,CAAC,CAAC;IACrB;IAEA,MAAMwM,OAAO,GAAGC,MAAM,CAAC,CAAC;IACxB,MAAMC,QAAQ,GAAG,IAAIhS,GAAG,CAAkB,CAAC;IAE3C,MAAMiS,gBAAgB,GAAIjP,GAAW,IAAK;MACxC,IAAIgP,QAAQ,CAAC5O,GAAG,CAACJ,GAAG,CAAC,EAAE;QACrB;MACF;MACA,IAAIjB,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;QACjC2L,QAAQ,CAAC5P,GAAG,CACVY,GAAG,EACHnC,WAAW,CAACuC,GAAG,CAACJ,GAAG,CAAC,GAAGnC,WAAW,CAACsB,GAAG,CAACa,GAAG,CAAC,GAAG8O,OAChD,CAAC;MACH,CAAC,MAAM;QACLE,QAAQ,CAAC5P,GAAG,CAACY,GAAG,EAAEoD,WAAW,CAACpD,GAAG,EAAEjB,KAAK,CAAC,CAAC;MAC5C;IACF,CAAC;IAED,MAAMmQ,EAAsB,GAAG;MAC7BnQ,KAAK;MACL0P,MAAM,EAAGzO,GAAG,IAAKoD,WAAW,CAACpD,GAAG,EAAEjB,KAAK,CAAC;MACxC2P,MAAM,EAAEA,CAAC1O,GAAG,EAAEC,KAAK,KAAK;QACtBgP,gBAAgB,CAACjP,GAAG,CAAC;QACrBsD,WAAW,CAACtD,GAAG,EAAEC,KAAK,EAAElB,KAAK,CAAC;MAChC,CAAC;MACD4P,SAAS,EAAG3O,GAAG,IAAK;QAClBiP,gBAAgB,CAACjP,GAAG,CAAC;QACrBuD,cAAc,CAACvD,GAAG,EAAEjB,KAAK,CAAC;MAC5B,CAAC;MACDoQ,OAAO,EAAG3S,IAAI,IAAK;QACjBZ,gBAAgB,CAAC,CAACY,IAAI,CAAC,EAAEuC,KAAK,CAAC;QAC/B,OAAOvC,IAAI,CAAC2C,GAAG,CAAC,CAAC;MACnB,CAAC;MACDiQ,OAAO,EAAEA,CAAC5S,IAAI,EAAEyD,KAAK,KAAK;QACxBrE,gBAAgB,CAAC,CAACY,IAAI,CAAC,EAAEuC,KAAK,CAAC;QAC/BkQ,gBAAgB,CAACzS,IAAI,CAACwD,GAAG,CAAC;QAC1BxD,IAAI,CAAC4C,GAAG,CAACa,KAAK,CAAC;MACjB,CAAC;MACDoP,UAAU,EAAG7S,IAAI,IAAK;QACpBZ,gBAAgB,CAAC,CAACY,IAAI,CAAC,EAAEuC,KAAK,CAAC;QAC/BkQ,gBAAgB,CAACzS,IAAI,CAACwD,GAAG,CAAC;QAC1BxD,IAAI,CAACwE,MAAM,CAAC,CAAC;MACf;IACF,CAAC;IAED,IAAI;MACF,OAAO6N,WAAW,CAACK,EAAE,CAAC;IACxB,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd,MAAMC,eAAe,GAAG7N,KAAK,CAACC,IAAI,CAACqN,QAAQ,CAACQ,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;MAChE,IAAI1Q,KAAK,KAAKxD,YAAY,CAAC8H,MAAM,EAAE;QACjCkM,eAAe,CAACxN,OAAO,CAAC,CAAC,CAAC/B,GAAG,EAAE0P,aAAa,CAAC,KAAK;UAChD,IAAIA,aAAa,KAAKZ,OAAO,EAAE;YAC7BjR,WAAW,CAACmD,MAAM,CAAChB,GAAG,CAAC;UACzB,CAAC,MAAM;YACLnC,WAAW,CAACuB,GAAG,CAACY,GAAG,EAAE0P,aAAa,CAAC;UACrC;UACAnP,kBAAkB,CAACzC,eAAe,EAAEkC,GAAG,CAAC;QAC1C,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAM4B,SAAmB,GAAG,EAAE;QAC9B,MAAMC,WAAqB,GAAG,EAAE;QAChC,MAAMC,YAAsB,GAAG,EAAE;QAEjCyN,eAAe,CAACxN,OAAO,CAAC,CAAC,CAAC/B,GAAG,EAAE0P,aAAa,CAAC,KAAK;UAChD,IAAIA,aAAa,KAAK1N,SAAS,EAAE;YAC/BF,YAAY,CAACG,IAAI,CAACjC,GAAG,CAAC;UACxB,CAAC,MAAM;YACL4B,SAAS,CAACK,IAAI,CAACjC,GAAG,CAAC;YACnB6B,WAAW,CAACI,IAAI,CAACyN,aAAuB,CAAC;UAC3C;QACF,CAAC,CAAC;QAEF,IAAI3Q,KAAK,KAAKxD,YAAY,CAACyC,IAAI,EAAE;UAC/BwD,eAAe,CAAC,CAAC;QACnB;QACA,IAAIzC,KAAK,KAAKxD,YAAY,CAAC0C,MAAM,EAAE;UACjCqE,iBAAiB,CAAC,CAAC;QACrB;QACA,IAAIV,SAAS,CAACO,MAAM,GAAG,CAAC,EAAE;UACxBxE,gBAAgB,CAAC,CAAC,CAACyE,QAAQ,CAACR,SAAS,EAAEC,WAAW,EAAE9C,KAAK,CAAC;UAC1D6C,SAAS,CAACG,OAAO,CAAC,CAAC/B,GAAG,EAAEgH,KAAK,KAC3BjH,aAAa,CAAChB,KAAK,EAAEiB,GAAG,EAAE6B,WAAW,CAACmF,KAAK,CAAC,CAC9C,CAAC;QACH;QACA,IAAIlF,YAAY,CAACK,MAAM,GAAG,CAAC,EAAE;UAC3BxE,gBAAgB,CAAC,CAAC,CAAC0E,WAAW,CAACP,YAAY,EAAE/C,KAAK,CAAC;UACnD+C,YAAY,CAACC,OAAO,CAAE/B,GAAG,IAAKD,aAAa,CAAChB,KAAK,EAAEiB,GAAG,EAAEgC,SAAS,CAAC,CAAC;QACrE;MACF;MACA,MAAMsN,KAAK;IACb;EACF,CAAC,CAAC;AACJ;AAYA,OAAO,SAASK,qBAAqBA,CAACC,GAAY,EAAW;EAC3D,OAAOvT,wBAAwB,CAACD,mBAAmB,CAACwT,GAAG,CAAC,CAAC;AAC3D;AAEA,OAAO,SAASC,uBAAuBA,CACrC7H,MAAkC,EAClC8H,OAAgC,EACA;EAChC,MAAMC,EAAE,GAAGD,OAAO,EAAEzL,SAAS,IAAI,MAAM;EACvC,MAAMY,MAA+C,GAAG,CAAC,CAAC;EAE1D,KAAK,MAAMjF,GAAG,IAAIrD,SAAS,CAACqL,MAAM,CAAC,EAAE;IACnC,MAAMgI,UAAU,GAAGhI,MAAM,CAAChI,GAAG,CAAC;IAC9B,MAAMiQ,gBAAgB,GACpBD,UAAU,CAAC/G,KAAK,KAAKjH,SAAS,GAAG;MAAEiH,KAAK,EAAE+G,UAAU,CAAC/G;IAAM,CAAC,GAAGjH,SAAS;IAC1EiD,MAAM,CAACjF,GAAG,CAAC,GAAG+H,iBAAiB,CAAS;MACtC/H,GAAG;MACHjB,KAAK,EAAExD,YAAY,CAAC0C,MAAM;MAC1BqL,YAAY,EAAE,EAAE;MAChBjF,SAAS,EAAE0L,EAAE;MACb,IAAIC,UAAU,CAACzH,SAAS,KAAKvG,SAAS,GAClC;QAAEuG,SAAS,EAAEyH,UAAU,CAACzH;MAAU,CAAC,GACnC,CAAC,CAAC,CAAC;MACP,IAAIyH,UAAU,CAAC1H,cAAc,KAAKtG,SAAS,GACvC;QAAEsG,cAAc,EAAE0H,UAAU,CAAC1H;MAAe,CAAC,GAC7C,CAAC,CAAC,CAAC;MACP,IAAI0H,UAAU,CAACxN,aAAa,KAAKR,SAAS,GACtC;QAAEQ,aAAa,EAAEwN,UAAU,CAACxN;MAAc,CAAC,GAC3C,CAAC,CAAC,CAAC;MACP,IAAIyN,gBAAgB,KAAKjO,SAAS,GAC9B;QAAE8G,UAAU,EAAEmH;MAAiB,CAAC,GAChC,CAAC,CAAC;IACR,CAAC,CAAC;EACJ;EAEA,OAAOhL,MAAM;AACf","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NitroModules","StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","decodeNativeBatchValue","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","toVersionToken","prefixKey","isNamespaced","getStorageErrorCode","isLockedStorageErrorCode","migrateFromMMKV","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","_storageModule","getStorageModule","createHybridObject","memoryStore","memoryListeners","scopedListeners","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","WhenUnlocked","metricsObserver","metricsCounters","nativeSecureBackend","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","getScopedListeners","getScopeRawCache","cacheRawValue","key","value","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","listeners","listener","notifyAllListeners","values","addKeyListener","Set","add","delete","size","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","keysToSet","valuesToSet","keysToRemove","forEach","undefined","push","storageModule","length","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","getRawValue","Memory","setRawValue","removeRawValue","remove","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","storage","clearAll","clearNamespace","namespace","keyPrefix","scopeCache","removeByPrefix","clearBiometric","clearSecureBiometric","getAllKeys","getKeysByPrefix","prefix","filter","startsWith","getByPrefix","result","getBatch","idx","getAll","val","setAccessControl","level","setSecureWritesAsync","enabled","setDiskWritesAsync","setKeychainAccessGroup","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getCapabilities","platform","backend","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","encrypted","keychainAccessGroup","hardwareBacked","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","getSecureMetadata","biometricProtected","hasSecureBiometric","exists","kind","valueExposed","getAllSecureMetadata","map","getString","setString","deleteString","import","data","k","index","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","BiometryOnly","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometricWithLevel","removeStoredRaw","deleteSecureBiometric","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","newValue","setIfVersion","currentVersion","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_defaultValue","useStorage","useStorageSelector","useSetStorage","createIndexedDBBackend","items","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","NOT_SET","Symbol","rollback","rememberRollback","tx","getItem","setItem","removeItem","error","rollbackEntries","entries","reverse","previousValue","isKeychainLockedError","err","createSecureAuthStorage","options","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.web.js
CHANGED
|
@@ -89,6 +89,9 @@ function getBackendName(scope, backend) {
|
|
|
89
89
|
const scopeName = scope === StorageScope.Disk ? "disk" : "secure";
|
|
90
90
|
return backend?.name ?? `web:${scopeName}`;
|
|
91
91
|
}
|
|
92
|
+
function getWebSecureEncryptionStatus(backend) {
|
|
93
|
+
return backend?.name === "localStorage:secure" ? "unavailable" : "unknown";
|
|
94
|
+
}
|
|
92
95
|
function createWebStorageError(scope, operation, error, backend) {
|
|
93
96
|
const backendName = getBackendName(scope, backend);
|
|
94
97
|
const message = error instanceof Error ? error.message : String(error ?? "Unknown error");
|
|
@@ -915,6 +918,57 @@ export const storage = {
|
|
|
915
918
|
},
|
|
916
919
|
errorClassification: true
|
|
917
920
|
}),
|
|
921
|
+
getSecurityCapabilities: () => {
|
|
922
|
+
const secureBackend = getBackendName(StorageScope.Secure, webSecureStorageBackend);
|
|
923
|
+
return {
|
|
924
|
+
platform: "web",
|
|
925
|
+
secureStorage: {
|
|
926
|
+
backend: secureBackend,
|
|
927
|
+
encrypted: getWebSecureEncryptionStatus(webSecureStorageBackend),
|
|
928
|
+
accessControl: "unavailable",
|
|
929
|
+
keychainAccessGroup: "unavailable",
|
|
930
|
+
hardwareBacked: "unavailable"
|
|
931
|
+
},
|
|
932
|
+
biometric: {
|
|
933
|
+
storage: "unavailable",
|
|
934
|
+
prompt: "unavailable",
|
|
935
|
+
biometryOnly: "unavailable",
|
|
936
|
+
biometryOrPasscode: "unavailable"
|
|
937
|
+
},
|
|
938
|
+
metadata: {
|
|
939
|
+
perKey: true,
|
|
940
|
+
listsWithoutValues: true,
|
|
941
|
+
persistsTimestamps: false
|
|
942
|
+
}
|
|
943
|
+
};
|
|
944
|
+
},
|
|
945
|
+
getSecureMetadata: key => {
|
|
946
|
+
return measureOperation("storage:getSecureMetadata", StorageScope.Secure, () => {
|
|
947
|
+
flushSecureWrites();
|
|
948
|
+
const biometricProtected = WebStorage.hasSecureBiometric(key);
|
|
949
|
+
const exists = biometricProtected || WebStorage.has(key, StorageScope.Secure);
|
|
950
|
+
let kind = "missing";
|
|
951
|
+
if (exists) {
|
|
952
|
+
kind = biometricProtected ? "biometric" : "secure";
|
|
953
|
+
}
|
|
954
|
+
return {
|
|
955
|
+
key,
|
|
956
|
+
exists,
|
|
957
|
+
kind,
|
|
958
|
+
backend: getBackendName(StorageScope.Secure, webSecureStorageBackend),
|
|
959
|
+
encrypted: getWebSecureEncryptionStatus(webSecureStorageBackend),
|
|
960
|
+
hardwareBacked: "unavailable",
|
|
961
|
+
biometricProtected,
|
|
962
|
+
valueExposed: false
|
|
963
|
+
};
|
|
964
|
+
});
|
|
965
|
+
},
|
|
966
|
+
getAllSecureMetadata: () => {
|
|
967
|
+
return measureOperation("storage:getAllSecureMetadata", StorageScope.Secure, () => {
|
|
968
|
+
flushSecureWrites();
|
|
969
|
+
return WebStorage.getAllKeys(StorageScope.Secure).map(key => storage.getSecureMetadata(key));
|
|
970
|
+
});
|
|
971
|
+
},
|
|
918
972
|
getString: (key, scope) => {
|
|
919
973
|
return measureOperation("storage:getString", scope, () => {
|
|
920
974
|
return getRawValue(key, scope);
|