react-native-nitro-storage 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +20 -9
  3. package/SECURITY.md +2 -2
  4. package/docs/api-reference.md +11 -1
  5. package/docs/batch-transactions-migrations.md +8 -2
  6. package/docs/benchmarks.md +19 -15
  7. package/docs/web-backends.md +18 -1
  8. package/ios/IOSStorageAdapterCpp.mm +162 -17
  9. package/lib/commonjs/capabilities.js +26 -0
  10. package/lib/commonjs/capabilities.js.map +1 -0
  11. package/lib/commonjs/core/durability.js +137 -0
  12. package/lib/commonjs/core/durability.js.map +1 -0
  13. package/lib/commonjs/core/metrics.js +91 -0
  14. package/lib/commonjs/core/metrics.js.map +1 -0
  15. package/lib/commonjs/index.js +47 -22
  16. package/lib/commonjs/index.js.map +1 -1
  17. package/lib/commonjs/index.web.js +118 -66
  18. package/lib/commonjs/index.web.js.map +1 -1
  19. package/lib/commonjs/indexeddb-backend.js +73 -23
  20. package/lib/commonjs/indexeddb-backend.js.map +1 -1
  21. package/lib/commonjs/internal.js +27 -4
  22. package/lib/commonjs/internal.js.map +1 -1
  23. package/lib/commonjs/shared.js +2 -2
  24. package/lib/commonjs/shared.js.map +1 -1
  25. package/lib/commonjs/storage-core.js +217 -233
  26. package/lib/commonjs/storage-core.js.map +1 -1
  27. package/lib/commonjs/storage-events.js.map +1 -1
  28. package/lib/commonjs/storage-platform.js +6 -0
  29. package/lib/commonjs/storage-platform.js.map +1 -0
  30. package/lib/commonjs/storage-runtime.js +3 -21
  31. package/lib/commonjs/storage-runtime.js.map +1 -1
  32. package/lib/commonjs/testing.js +19 -4
  33. package/lib/commonjs/testing.js.map +1 -1
  34. package/lib/commonjs/web-backend-contract.js +27 -0
  35. package/lib/commonjs/web-backend-contract.js.map +1 -0
  36. package/lib/module/capabilities.js +21 -0
  37. package/lib/module/capabilities.js.map +1 -0
  38. package/lib/module/core/durability.js +133 -0
  39. package/lib/module/core/durability.js.map +1 -0
  40. package/lib/module/core/metrics.js +87 -0
  41. package/lib/module/core/metrics.js.map +1 -0
  42. package/lib/module/index.js +48 -23
  43. package/lib/module/index.js.map +1 -1
  44. package/lib/module/index.web.js +103 -64
  45. package/lib/module/index.web.js.map +1 -1
  46. package/lib/module/indexeddb-backend.js +73 -23
  47. package/lib/module/indexeddb-backend.js.map +1 -1
  48. package/lib/module/internal.js +24 -3
  49. package/lib/module/internal.js.map +1 -1
  50. package/lib/module/shared.js +2 -2
  51. package/lib/module/shared.js.map +1 -1
  52. package/lib/module/storage-core.js +218 -234
  53. package/lib/module/storage-core.js.map +1 -1
  54. package/lib/module/storage-events.js.map +1 -1
  55. package/lib/module/storage-platform.js +4 -0
  56. package/lib/module/storage-platform.js.map +1 -0
  57. package/lib/module/storage-runtime.js +3 -21
  58. package/lib/module/storage-runtime.js.map +1 -1
  59. package/lib/module/testing.js +5 -3
  60. package/lib/module/testing.js.map +1 -1
  61. package/lib/module/web-backend-contract.js +22 -0
  62. package/lib/module/web-backend-contract.js.map +1 -0
  63. package/lib/typescript/capabilities.d.ts +11 -0
  64. package/lib/typescript/capabilities.d.ts.map +1 -0
  65. package/lib/typescript/core/durability.d.ts +27 -0
  66. package/lib/typescript/core/durability.d.ts.map +1 -0
  67. package/lib/typescript/core/metrics.d.ts +12 -0
  68. package/lib/typescript/core/metrics.d.ts.map +1 -0
  69. package/lib/typescript/index.d.ts +5 -2
  70. package/lib/typescript/index.d.ts.map +1 -1
  71. package/lib/typescript/index.web.d.ts +8 -4
  72. package/lib/typescript/index.web.d.ts.map +1 -1
  73. package/lib/typescript/indexeddb-backend.d.ts.map +1 -1
  74. package/lib/typescript/internal.d.ts +3 -0
  75. package/lib/typescript/internal.d.ts.map +1 -1
  76. package/lib/typescript/shared.d.ts +2 -1
  77. package/lib/typescript/shared.d.ts.map +1 -1
  78. package/lib/typescript/storage-core.d.ts +3 -3
  79. package/lib/typescript/storage-core.d.ts.map +1 -1
  80. package/lib/typescript/storage-events.d.ts +2 -2
  81. package/lib/typescript/storage-events.d.ts.map +1 -1
  82. package/lib/typescript/storage-platform.d.ts +12 -0
  83. package/lib/typescript/storage-platform.d.ts.map +1 -0
  84. package/lib/typescript/storage-runtime.d.ts.map +1 -1
  85. package/lib/typescript/testing.d.ts +5 -1
  86. package/lib/typescript/testing.d.ts.map +1 -1
  87. package/lib/typescript/web-backend-contract.d.ts +10 -0
  88. package/lib/typescript/web-backend-contract.d.ts.map +1 -0
  89. package/lib/typescript/web-storage-backend.d.ts +1 -1
  90. package/lib/typescript/web-storage-backend.d.ts.map +1 -1
  91. package/package.json +3 -2
  92. package/src/capabilities.ts +36 -0
  93. package/src/core/durability.ts +170 -0
  94. package/src/core/metrics.ts +133 -0
  95. package/src/index.ts +66 -40
  96. package/src/index.web.ts +158 -86
  97. package/src/indexeddb-backend.ts +91 -20
  98. package/src/internal.ts +50 -4
  99. package/src/shared.ts +7 -6
  100. package/src/storage-core.ts +317 -285
  101. package/src/storage-events.ts +2 -1
  102. package/src/storage-platform.ts +16 -0
  103. package/src/storage-runtime.ts +13 -47
  104. package/src/testing.ts +14 -7
  105. package/src/web-backend-contract.ts +34 -0
  106. package/src/web-storage-backend.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["assertAccessControlLevel","assertBiometricLevel","canUseRawBatchPath","canUseSecureRawBatchPath","createKeyChange","defaultDeserialize","defaultSerialize","isKeychainLockedError","isUpdater","notifyAllListeners","notifyKeyListeners","now","redactSecureKeyChange","runMicrotask","typedKeys","StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","toVersionToken","prefixKey","isNamespaced","StorageEventRegistry","EMPTY_KEYS","Object","freeze","asInternal","item","createStorageCore","buildAdapter","registeredMigrations","Map","itemGroups","registeredKeyCounts","memoryStore","memoryListeners","scopedListeners","Disk","Secure","scopedRawCache","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","WhenUnlocked","metricsObserver","eventObserver","eventObserverRedactSecureValues","metricsCounters","storageEvents","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","getScopedListeners","getScopeRawCache","cacheRawValue","key","value","readCachedRawValue","clearScopeRawCache","clear","addKeyListener","registry","listener","listeners","Set","add","keyListeners","delete","size","getEventRawValue","Memory","undefined","getRawValue","shouldReadPreviousEventValues","hasListeners","eventForGlobalObserver","event","type","changes","map","emitKeyChange","oldValue","newValue","source","adapter","onWillEmitChanges","emitKey","emitBatchChange","length","change","emitBatch","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","has","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","forEach","push","backend","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","keys","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","setRawValue","changeSource","applyAccessControlOnSecureRawWrite","removeRawValue","remove","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","internals","clearAllPendingDiskWrites","clearAllPendingSecureWrites","hasEventObserver","hasScopeEventListeners","getSecureDefaultAccessControl","setSecureDefaultAccessControl","level","resolveKeyRef","ref","clearScopeExcept","exceptRefs","keep","removeKeys","filter","previousValues","index","getAllKeys","getBatch","storage","subscribe","ensureScopeSubscription","unsubscribe","maybeCleanupScopeSubscription","subscribeKey","subscribePrefix","prefix","subscribeNamespace","namespace","setEventObserver","observer","options","redactSecureValues","except","getAll","clearAll","clearGroup","items","byScope","scoped","groupItems","getGroupItems","subscribeExpired","findDuplicateKeys","duplicates","registryKey","separatorIndex","indexOf","slice","getRegisteredKeys","result","_count","clearNamespace","affectedKeys","keyPrefix","getByPrefix","scopeCache","removeByPrefix","clearBiometric","clearSecureBiometric","getKeysByPrefix","startsWith","idx","val","export","includeSecureValues","Error","exportSecureUnsafe","setDiskWritesAsync","enabled","setMetricsObserver","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getSecureMetadata","profile","getSecureMetadataProfile","biometricProtected","hasSecureBiometric","exists","kind","encrypted","hardwareBacked","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","flushDiskWritesOnImport","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","renameFromKeys","renameFrom","fallbackToCacheOnReadError","onReadError","renamesMigrated","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","Date","expiredRaw","migrateRenamesIfNeeded","pending","cache","cached","readBackendRaw","getSecureBiometric","read","error","writeStoredRaw","rawValue","setSecureBiometricWithLevel","hasCurrent","legacyKey","deleteSecureBiometric","legacyRaw","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","valueOrFn","setIfVersion","currentVersion","deleteItem","merge","partial","prev","reset","setOrDelete","hasItem","subscribeSelector","selector","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_hasValidation","_hasExpiration","_readCacheEnabled","_isBiometric","_biometricLevel","_defaultValue","_secureAccessControl","_group","groupSet","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","oldValues","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","rollbackEntries","entries","reverse","record","groupedKeysToSet","createSecureAuthStorage","ns","itemConfig","expirationConfig","memoryItem","diskItem","secureItem","createSetItem","rest","initial","id","deleteId","current","next","toggle"],"sourceRoot":"../../src","sources":["storage-core.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createDurabilityCoordinator","createMetricsRegistry","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","toVersionToken","prefixKey","isNamespaced","escapeCollidingRawValue","unescapeCollidingRawValue","assertAccessControlLevel","assertBiometricLevel","canUseRawBatchPath","canUseSecureRawBatchPath","createKeyChange","defaultDeserialize","defaultSerialize","isKeychainLockedError","isUpdater","notifyAllListeners","notifyKeyListeners","redactSecureKeyChange","typedKeys","StorageEventRegistry","StorageScope","AccessControl","BiometricLevel","EMPTY_KEYS","Object","freeze","asInternal","item","createStorageCore","buildAdapter","registeredMigrations","Map","itemGroups","registeredKeyCounts","memoryStore","memoryListeners","scopedListeners","Disk","Secure","scopedRawCache","secureDefaultAccessControl","WhenUnlocked","eventObserver","eventObserverRedactSecureValues","storageEvents","metrics","durability","backend","setBatch","keys","values","scope","adapter","removeBatch","setSecureAccessControl","level","resolveSecureDefaultAccessControl","getScopedListeners","getScopeRawCache","cacheRawValue","key","value","set","readCachedRawValue","get","clearScopeRawCache","clear","addKeyListener","registry","listener","listeners","Set","add","keyListeners","delete","size","getEventRawValue","Memory","undefined","getRawValue","shouldReadPreviousEventValues","hasListeners","eventForGlobalObserver","event","type","changes","map","emitKeyChange","oldValue","newValue","operation","source","onWillEmitChanges","emitKey","emitBatchChange","length","change","emitBatch","measureOperation","fn","keysCount","measure","recordMetric","durationMs","record","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","flushSecureWrites","scheduleDiskWrite","scheduleSecureWrite","accessControl","setDiskWritesAsyncMode","enabled","setDiskWritesAsync","isDiskWritesAsync","getStoredRawValue","pending","raw","setRawValue","storedValue","changeSource","applyAccessControlOnSecureRawWrite","removeRawValue","remove","readMigrationVersion","parsed","Number","parseInt","isFinite","internals","clearAllPendingDiskWrites","clearAllPendingSecureWrites","hasEventObserver","hasScopeEventListeners","getSecureDefaultAccessControl","setSecureDefaultAccessControl","resolveKeyRef","ref","clearScopeExcept","exceptRefs","keep","removeKeys","Array","from","filter","has","previousValues","forEach","index","getAllKeys","getBatch","storage","subscribe","ensureScopeSubscription","unsubscribe","maybeCleanupScopeSubscription","subscribeKey","subscribePrefix","prefix","subscribeNamespace","namespace","setEventObserver","observer","options","redactSecureValues","except","getAll","clearAll","clearGroup","group","items","byScope","scoped","push","groupItems","getGroupItems","subscribeExpired","findDuplicateKeys","duplicates","count","registryKey","separatorIndex","indexOf","slice","getRegisteredKeys","result","_count","clearNamespace","affectedKeys","keyPrefix","getByPrefix","scopeCache","removeByPrefix","clearBiometric","clearSecureBiometric","getKeysByPrefix","startsWith","idx","val","export","includeSecureValues","Error","exportSecureUnsafe","setMetricsObserver","setObserver","getMetricsSnapshot","getSnapshot","getScopedMetricsSnapshot","getScopedSnapshot","resetMetrics","reset","getSecureMetadata","profile","getSecureMetadataProfile","biometricProtected","hasSecureBiometric","exists","kind","encrypted","hardwareBacked","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","storedValues","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","renameFromKeys","renameFrom","fallbackToCacheOnReadError","onReadError","renamesMigrated","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","resolveNonMemoryScope","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","expiredRaw","memoryStored","migrateRenamesIfNeeded","cache","cached","readBackendRaw","getSecureBiometric","read","error","writeStoredRaw","rawValue","setSecureBiometricWithLevel","hasCurrent","legacyKey","deleteSecureBiometric","legacyRaw","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","version","valueOrFn","setIfVersion","currentVersion","deleteItem","merge","partial","prev","setOrDelete","hasItem","subscribeSelector","selector","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_deleteMemoryEntry","_hasValidation","_hasExpiration","_readCacheEnabled","_isBiometric","_biometricLevel","_defaultValue","_secureAccessControl","_group","groupSet","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","oldValues","groupedByAccessControl","existingGroup","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","runTransaction","tx","setRaw","String","transaction","NOT_SET","Symbol","rollback","rememberRollback","getRaw","removeRaw","getItem","setItem","removeItem","rollbackEntries","entries","reverse","rollbackSource","preRollbackValues","groupedKeysToSet","keysToRemove","createSecureAuthStorage","ns","itemConfig","expirationConfig","memoryItem","diskItem","secureItem","createSetItem","rest","initial","id","deleteId","current","next","toggle"],"sourceRoot":"../../src","sources":["storage-core.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["addListener","registry","scope","listener","listeners","get","Set","set","add","scopedListeners","delete","size","StorageEventRegistry","scopeListeners","Map","keyListeners","prefixListeners","subscribe","hasListeners","subscribeKey","key","currentScopedListeners","currentKeyListeners","subscribePrefix","prefix","entry","emitKey","event","emitToScope","emitToKey","emitToPrefixes","emitBatch","changes","forEach","change","emitBatchToPrefixes","startsWith","filter","length"],"sourceRoot":"../../src","sources":["storage-events.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["addListener","registry","scope","listener","listeners","get","Set","set","add","scopedListeners","delete","size","StorageEventRegistry","scopeListeners","Map","keyListeners","prefixListeners","subscribe","hasListeners","subscribeKey","key","currentScopedListeners","currentKeyListeners","subscribePrefix","prefix","entry","emitKey","event","emitToScope","emitToKey","emitToPrefixes","emitBatch","changes","forEach","change","emitBatchToPrefixes","startsWith","filter","length"],"sourceRoot":"../../src","sources":["storage-events.ts"],"mappings":";;AA6CA,SAASA,WAAWA,CAClBC,QAAmC,EACnCC,KAAmB,EACnBC,QAAW,EACC;EACZ,IAAIC,SAAS,GAAGH,QAAQ,CAACI,GAAG,CAACH,KAAK,CAAC;EACnC,IAAI,CAACE,SAAS,EAAE;IACdA,SAAS,GAAG,IAAIE,GAAG,CAAC,CAAC;IACrBL,QAAQ,CAACM,GAAG,CAACL,KAAK,EAAEE,SAAS,CAAC;EAChC;EAEAA,SAAS,CAACI,GAAG,CAACL,QAAQ,CAAC;EACvB,OAAO,MAAM;IACX,MAAMM,eAAe,GAAGR,QAAQ,CAACI,GAAG,CAACH,KAAK,CAAC;IAC3C,IAAI,CAACO,eAAe,EAAE;MACpB;IACF;IACAA,eAAe,CAACC,MAAM,CAACP,QAAQ,CAAC;IAChC,IAAIM,eAAe,CAACE,IAAI,KAAK,CAAC,EAAE;MAC9BV,QAAQ,CAACS,MAAM,CAACR,KAAK,CAAC;IACxB;EACF,CAAC;AACH;AAEA,OAAO,MAAMU,oBAAoB,CAAC;EACfC,cAAc,GAAG,IAAIC,GAAG,CAGvC,CAAC;EACcC,YAAY,GAAG,IAAID,GAAG,CAGrC,CAAC;EACcE,eAAe,GAAG,IAAIF,GAAG,CAGxC,CAAC;EAEHG,SAASA,CAACf,KAAmB,EAAEC,QAA8B,EAAc;IACzE,OAAOH,WAAW,CAAC,IAAI,CAACa,cAAc,EAAEX,KAAK,EAAEC,QAAQ,CAAC;EAC1D;EAEAe,YAAYA,CAAChB,KAAmB,EAAW;IACzC,OACE,CAAC,IAAI,CAACW,cAAc,CAACR,GAAG,CAACH,KAAK,CAAC,EAAES,IAAI,IAAI,CAAC,IAAI,CAAC,IAC/C,CAAC,IAAI,CAACI,YAAY,CAACV,GAAG,CAACH,KAAK,CAAC,EAAES,IAAI,IAAI,CAAC,IAAI,CAAC,IAC7C,CAAC,IAAI,CAACK,eAAe,CAACX,GAAG,CAACH,KAAK,CAAC,EAAES,IAAI,IAAI,CAAC,IAAI,CAAC;EAEpD;EAEAQ,YAAYA,CACVjB,KAAmB,EACnBkB,GAAW,EACXjB,QAA8B,EAClB;IACZ,IAAIM,eAAe,GAAG,IAAI,CAACM,YAAY,CAACV,GAAG,CAACH,KAAK,CAAC;IAClD,IAAI,CAACO,eAAe,EAAE;MACpBA,eAAe,GAAG,IAAIK,GAAG,CAAC,CAAC;MAC3B,IAAI,CAACC,YAAY,CAACR,GAAG,CAACL,KAAK,EAAEO,eAAe,CAAC;IAC/C;IAEA,IAAIM,YAAY,GAAGN,eAAe,CAACJ,GAAG,CAACe,GAAG,CAAC;IAC3C,IAAI,CAACL,YAAY,EAAE;MACjBA,YAAY,GAAG,IAAIT,GAAG,CAAC,CAAC;MACxBG,eAAe,CAACF,GAAG,CAACa,GAAG,EAAEL,YAAY,CAAC;IACxC;IAEAA,YAAY,CAACP,GAAG,CAACL,QAAQ,CAAC;IAC1B,OAAO,MAAM;MACX,MAAMkB,sBAAsB,GAAG,IAAI,CAACN,YAAY,CAACV,GAAG,CAACH,KAAK,CAAC;MAC3D,MAAMoB,mBAAmB,GAAGD,sBAAsB,EAAEhB,GAAG,CAACe,GAAG,CAAC;MAC5D,IAAI,CAACE,mBAAmB,EAAE;QACxB;MACF;MACAA,mBAAmB,CAACZ,MAAM,CAACP,QAAQ,CAAC;MACpC,IAAImB,mBAAmB,CAACX,IAAI,KAAK,CAAC,EAAE;QAClCU,sBAAsB,EAAEX,MAAM,CAACU,GAAG,CAAC;MACrC;MACA,IAAIC,sBAAsB,EAAEV,IAAI,KAAK,CAAC,EAAE;QACtC,IAAI,CAACI,YAAY,CAACL,MAAM,CAACR,KAAK,CAAC;MACjC;IACF,CAAC;EACH;EAEAqB,eAAeA,CACbrB,KAAmB,EACnBsB,MAAc,EACdrB,QAA8B,EAClB;IACZ,MAAMsB,KAAqB,GAAG;MAAED,MAAM;MAAErB;IAAS,CAAC;IAClD,OAAOH,WAAW,CAAC,IAAI,CAACgB,eAAe,EAAEd,KAAK,EAAEuB,KAAK,CAAC;EACxD;EAEAC,OAAOA,CAACC,KAA4B,EAAQ;IAC1C,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;IACvB,IAAI,CAACE,SAAS,CAACF,KAAK,CAAC;IACrB,IAAI,CAACG,cAAc,CAACH,KAAK,CAAC;EAC5B;EAEAI,SAASA,CAACJ,KAA8B,EAAQ;IAC9C,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;IACvBA,KAAK,CAACK,OAAO,CAACC,OAAO,CAAEC,MAAM,IAAK;MAChC,IAAI,CAACL,SAAS,CAACK,MAAM,CAAC;IACxB,CAAC,CAAC;IACF,IAAI,CAACC,mBAAmB,CAACR,KAAK,CAAC;EACjC;EAEQC,WAAWA,CAACD,KAAyB,EAAQ;IACnD,IAAI,CAACd,cAAc,CAACR,GAAG,CAACsB,KAAK,CAACzB,KAAK,CAAC,EAAE+B,OAAO,CAAE9B,QAAQ,IAAK;MAC1DA,QAAQ,CAACwB,KAAK,CAAC;IACjB,CAAC,CAAC;EACJ;EAEQE,SAASA,CAACF,KAA4B,EAAQ;IACpD,IAAI,CAACZ,YAAY,CACdV,GAAG,CAACsB,KAAK,CAACzB,KAAK,CAAC,EACfG,GAAG,CAACsB,KAAK,CAACP,GAAG,CAAC,EACda,OAAO,CAAE9B,QAAQ,IAAK;MACtBA,QAAQ,CAACwB,KAAK,CAAC;IACjB,CAAC,CAAC;EACN;EAEQG,cAAcA,CAACH,KAA4B,EAAQ;IACzD,IAAI,CAACX,eAAe,CAACX,GAAG,CAACsB,KAAK,CAACzB,KAAK,CAAC,EAAE+B,OAAO,CAAC,CAAC;MAAET,MAAM;MAAErB;IAAS,CAAC,KAAK;MACvE,IAAIwB,KAAK,CAACP,GAAG,CAACgB,UAAU,CAACZ,MAAM,CAAC,EAAE;QAChCrB,QAAQ,CAACwB,KAAK,CAAC;MACjB;IACF,CAAC,CAAC;EACJ;EAEQQ,mBAAmBA,CAACR,KAA8B,EAAQ;IAChE,IAAI,CAACX,eAAe,CAACX,GAAG,CAACsB,KAAK,CAACzB,KAAK,CAAC,EAAE+B,OAAO,CAAC,CAAC;MAAET,MAAM;MAAErB;IAAS,CAAC,KAAK;MACvE,MAAM6B,OAAO,GAAGL,KAAK,CAACK,OAAO,CAACK,MAAM,CAAEH,MAAM,IAC1CA,MAAM,CAACd,GAAG,CAACgB,UAAU,CAACZ,MAAM,CAC9B,CAAC;MACD,IAAIQ,OAAO,CAACM,MAAM,GAAG,CAAC,EAAE;QACtBnC,QAAQ,CAAC;UAAE,GAAGwB,KAAK;UAAEK;QAAQ,CAAC,CAAC;MACjC;IACF,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=storage-platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["storage-platform.ts"],"mappings":"","ignoreList":[]}
@@ -1,33 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  const STORAGE_ERROR_TAG_PATTERN = /\[nitro-error:([a-z_]+)\]/;
4
+ const STORAGE_ERROR_CODES = new Set(["keychain_locked", "authentication_required", "key_invalidated", "storage_corruption", "biometric_unavailable", "unsupported"]);
4
5
  export function getStorageErrorCode(err) {
5
6
  if (!(err instanceof Error)) {
6
7
  return undefined;
7
8
  }
8
- const message = err.message;
9
- const taggedCode = message.match(STORAGE_ERROR_TAG_PATTERN)?.[1];
10
- if (taggedCode === "keychain_locked" || taggedCode === "authentication_required" || taggedCode === "key_invalidated" || taggedCode === "storage_corruption" || taggedCode === "biometric_unavailable" || taggedCode === "unsupported") {
9
+ const taggedCode = err.message.match(STORAGE_ERROR_TAG_PATTERN)?.[1];
10
+ if (taggedCode !== undefined && STORAGE_ERROR_CODES.has(taggedCode)) {
11
11
  return taggedCode;
12
12
  }
13
- if (message.includes("errSecInteractionNotAllowed")) {
14
- return "keychain_locked";
15
- }
16
- if (message.includes("UserNotAuthenticatedException") || message.includes("KeyStoreException") || message.includes("android.security.keystore")) {
17
- return "authentication_required";
18
- }
19
- if (message.includes("KeyPermanentlyInvalidatedException") || message.includes("InvalidKeyException")) {
20
- return "key_invalidated";
21
- }
22
- if (message.includes("AEADBadTagException") || message.toLowerCase().includes("storage corruption") || message.toLowerCase().includes("corrupted storage")) {
23
- return "storage_corruption";
24
- }
25
- if (message.toLowerCase().includes("biometric storage unavailable") || message.toLowerCase().includes("biometric storage is not available")) {
26
- return "biometric_unavailable";
27
- }
28
- if (message.toLowerCase().includes("unsupported")) {
29
- return "unsupported";
30
- }
31
13
  return undefined;
32
14
  }
33
15
  export function isLockedStorageErrorCode(code) {
@@ -1 +1 @@
1
- {"version":3,"names":["STORAGE_ERROR_TAG_PATTERN","getStorageErrorCode","err","Error","undefined","message","taggedCode","match","includes","toLowerCase","isLockedStorageErrorCode","code"],"sourceRoot":"../../src","sources":["storage-runtime.ts"],"mappings":";;AAwDA,MAAMA,yBAAyB,GAAG,2BAA2B;AAE7D,OAAO,SAASC,mBAAmBA,CACjCC,GAAY,EACkB;EAC9B,IAAI,EAAEA,GAAG,YAAYC,KAAK,CAAC,EAAE;IAC3B,OAAOC,SAAS;EAClB;EAEA,MAAMC,OAAO,GAAGH,GAAG,CAACG,OAAO;EAC3B,MAAMC,UAAU,GAAGD,OAAO,CAACE,KAAK,CAACP,yBAAyB,CAAC,GAAG,CAAC,CAAC;EAEhE,IACEM,UAAU,KAAK,iBAAiB,IAChCA,UAAU,KAAK,yBAAyB,IACxCA,UAAU,KAAK,iBAAiB,IAChCA,UAAU,KAAK,oBAAoB,IACnCA,UAAU,KAAK,uBAAuB,IACtCA,UAAU,KAAK,aAAa,EAC5B;IACA,OAAOA,UAAU;EACnB;EAEA,IAAID,OAAO,CAACG,QAAQ,CAAC,6BAA6B,CAAC,EAAE;IACnD,OAAO,iBAAiB;EAC1B;EAEA,IACEH,OAAO,CAACG,QAAQ,CAAC,+BAA+B,CAAC,IACjDH,OAAO,CAACG,QAAQ,CAAC,mBAAmB,CAAC,IACrCH,OAAO,CAACG,QAAQ,CAAC,2BAA2B,CAAC,EAC7C;IACA,OAAO,yBAAyB;EAClC;EAEA,IACEH,OAAO,CAACG,QAAQ,CAAC,oCAAoC,CAAC,IACtDH,OAAO,CAACG,QAAQ,CAAC,qBAAqB,CAAC,EACvC;IACA,OAAO,iBAAiB;EAC1B;EAEA,IACEH,OAAO,CAACG,QAAQ,CAAC,qBAAqB,CAAC,IACvCH,OAAO,CAACI,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,oBAAoB,CAAC,IACpDH,OAAO,CAACI,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,mBAAmB,CAAC,EACnD;IACA,OAAO,oBAAoB;EAC7B;EAEA,IACEH,OAAO,CAACI,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,+BAA+B,CAAC,IAC/DH,OAAO,CAACI,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,oCAAoC,CAAC,EACpE;IACA,OAAO,uBAAuB;EAChC;EAEA,IAAIH,OAAO,CAACI,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,aAAa,CAAC,EAAE;IACjD,OAAO,aAAa;EACtB;EAEA,OAAOJ,SAAS;AAClB;AAEA,OAAO,SAASM,wBAAwBA,CACtCC,IAAkC,EACzB;EACT,OACEA,IAAI,KAAK,iBAAiB,IAC1BA,IAAI,KAAK,yBAAyB,IAClCA,IAAI,KAAK,iBAAiB;AAE9B","ignoreList":[]}
1
+ {"version":3,"names":["STORAGE_ERROR_TAG_PATTERN","STORAGE_ERROR_CODES","Set","getStorageErrorCode","err","Error","undefined","taggedCode","message","match","has","isLockedStorageErrorCode","code"],"sourceRoot":"../../src","sources":["storage-runtime.ts"],"mappings":";;AAwDA,MAAMA,yBAAyB,GAAG,2BAA2B;AAE7D,MAAMC,mBAAmB,GAAG,IAAIC,GAAG,CAAmB,CACpD,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,CACd,CAAC;AAEF,OAAO,SAASC,mBAAmBA,CACjCC,GAAY,EACkB;EAC9B,IAAI,EAAEA,GAAG,YAAYC,KAAK,CAAC,EAAE;IAC3B,OAAOC,SAAS;EAClB;EAEA,MAAMC,UAAU,GAAGH,GAAG,CAACI,OAAO,CAACC,KAAK,CAACT,yBAAyB,CAAC,GAAG,CAAC,CAAC;EAEpE,IACEO,UAAU,KAAKD,SAAS,IACxBL,mBAAmB,CAACS,GAAG,CAACH,UAA8B,CAAC,EACvD;IACA,OAAOA,UAAU;EACnB;EAEA,OAAOD,SAAS;AAClB;AAEA,OAAO,SAASK,wBAAwBA,CACtCC,IAAkC,EACzB;EACT,OACEA,IAAI,KAAK,iBAAiB,IAC1BA,IAAI,KAAK,yBAAyB,IAClCA,IAAI,KAAK,iBAAiB;AAE9B","ignoreList":[]}
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
 
3
- import { StorageScope, AccessControl } from "./Storage.types";
4
3
  import { assertAccessControlLevel } from "./shared";
5
4
  import { createStorageCore } from "./storage-core";
5
+ import { StorageScope, AccessControl } from "./Storage.types";
6
6
  export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
7
7
  export { isKeychainLockedError } from "./shared";
8
8
  export { migrateFromMMKV } from "./migration";
9
9
  export { getStorageErrorCode } from "./storage-runtime";
10
10
  export { createIndexedDBBackend } from "./indexeddb-backend";
11
+ export { describeWebBackendCapabilities, isIndexedDBWebBackend } from "./web-backend-contract";
11
12
  export { useSetStorage, useStorage, useStorageActions, useStorageSelector, useStorageValue } from "./storage-hooks";
12
13
  const TEST_SECURE_BACKEND = "in-memory-test";
13
14
  function createInMemoryBackend() {
@@ -73,7 +74,9 @@ function createInMemoryBackend() {
73
74
  biometricStore.clear();
74
75
  },
75
76
  resetState: () => {
76
- stores.forEach(store => store.clear());
77
+ stores.forEach(store => {
78
+ store.clear();
79
+ });
77
80
  biometricStore.clear();
78
81
  }
79
82
  };
@@ -84,7 +87,6 @@ function buildTestingModule() {
84
87
  backend,
85
88
  changeSource: "native",
86
89
  applyAccessControlOnSecureRawWrite: true,
87
- flushDiskWritesOnImport: false,
88
90
  ensureScopeSubscription: _scope => {},
89
91
  maybeCleanupScopeSubscription: _scope => {},
90
92
  onWillEmitChanges: () => {},
@@ -1 +1 @@
1
- {"version":3,"names":["StorageScope","AccessControl","assertAccessControlLevel","createStorageCore","BiometricLevel","isKeychainLockedError","migrateFromMMKV","getStorageErrorCode","createIndexedDBBackend","useSetStorage","useStorage","useStorageActions","useStorageSelector","useStorageValue","TEST_SECURE_BACKEND","createInMemoryBackend","stores","Map","Disk","Secure","biometricStore","storeFor","scope","store","get","Error","key","set","value","remove","delete","clear","has","getAllKeys","Array","from","keys","getKeysByPrefix","prefix","filter","startsWith","size","setBatch","values","forEach","index","undefined","getBatch","map","removeBatch","removeByPrefix","setSecureAccessControl","getSecureBiometric","setSecureBiometricWithLevel","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","resetState","buildTestingModule","backend","buildAdapter","_internals","changeSource","applyAccessControlOnSecureRawWrite","flushDiskWritesOnImport","ensureScopeSubscription","_scope","maybeCleanupScopeSubscription","onWillEmitChanges","getSecureMetadataProfile","encrypted","hardwareBacked","core","internals","storage","setAccessControl","level","setSecureDefaultAccessControl","setSecureWritesAsync","_enabled","setKeychainAccessGroup","_group","getCapabilities","platform","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","accessControl","keychainAccessGroup","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","reset","setEventObserver","setMetricsObserver","resetMetrics","clearAll","WhenUnlocked","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","runTransaction","createSecureAuthStorage","defaultModule","resetNitroStorageMock","createNitroStorageMock"],"sourceRoot":"../../src","sources":["testing.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["assertAccessControlLevel","createStorageCore","StorageScope","AccessControl","BiometricLevel","isKeychainLockedError","migrateFromMMKV","getStorageErrorCode","createIndexedDBBackend","describeWebBackendCapabilities","isIndexedDBWebBackend","useSetStorage","useStorage","useStorageActions","useStorageSelector","useStorageValue","TEST_SECURE_BACKEND","createInMemoryBackend","stores","Map","Disk","Secure","biometricStore","storeFor","scope","store","get","Error","key","set","value","remove","delete","clear","has","getAllKeys","Array","from","keys","getKeysByPrefix","prefix","filter","startsWith","size","setBatch","values","forEach","index","undefined","getBatch","map","removeBatch","removeByPrefix","setSecureAccessControl","getSecureBiometric","setSecureBiometricWithLevel","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","resetState","buildTestingModule","backend","buildAdapter","_internals","changeSource","applyAccessControlOnSecureRawWrite","ensureScopeSubscription","_scope","maybeCleanupScopeSubscription","onWillEmitChanges","getSecureMetadataProfile","encrypted","hardwareBacked","core","internals","storage","setAccessControl","level","setSecureDefaultAccessControl","setSecureWritesAsync","_enabled","setKeychainAccessGroup","_group","getCapabilities","platform","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","accessControl","keychainAccessGroup","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","reset","setEventObserver","setMetricsObserver","resetMetrics","clearAll","WhenUnlocked","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","runTransaction","createSecureAuthStorage","defaultModule","resetNitroStorageMock","createNitroStorageMock"],"sourceRoot":"../../src","sources":["testing.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ export function describeWebBackendCapabilities(backend) {
4
+ if (!backend) {
5
+ return {
6
+ buffered: false,
7
+ flushable: false,
8
+ closable: false,
9
+ subscribable: false
10
+ };
11
+ }
12
+ return {
13
+ buffered: backend.name?.startsWith("indexeddb:") ?? false,
14
+ flushable: typeof backend.flush === "function",
15
+ closable: typeof backend.close === "function",
16
+ subscribable: typeof backend.subscribe === "function"
17
+ };
18
+ }
19
+ export function isIndexedDBWebBackend(backend) {
20
+ return backend?.name?.startsWith("indexeddb:") ?? false;
21
+ }
22
+ //# sourceMappingURL=web-backend-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describeWebBackendCapabilities","backend","buffered","flushable","closable","subscribable","name","startsWith","flush","close","subscribe","isIndexedDBWebBackend"],"sourceRoot":"../../src","sources":["web-backend-contract.ts"],"mappings":";;AASA,OAAO,SAASA,8BAA8BA,CAC5CC,OAAsC,EACd;EACxB,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO;MACLC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE,KAAK;MAChBC,QAAQ,EAAE,KAAK;MACfC,YAAY,EAAE;IAChB,CAAC;EACH;EAEA,OAAO;IACLH,QAAQ,EAAED,OAAO,CAACK,IAAI,EAAEC,UAAU,CAAC,YAAY,CAAC,IAAI,KAAK;IACzDJ,SAAS,EAAE,OAAOF,OAAO,CAACO,KAAK,KAAK,UAAU;IAC9CJ,QAAQ,EAAE,OAAOH,OAAO,CAACQ,KAAK,KAAK,UAAU;IAC7CJ,YAAY,EAAE,OAAOJ,OAAO,CAACS,SAAS,KAAK;EAC7C,CAAC;AACH;AAEA,OAAO,SAASC,qBAAqBA,CACnCV,OAAsC,EAC7B;EACT,OAAOA,OAAO,EAAEK,IAAI,EAAEC,UAAU,CAAC,YAAY,CAAC,IAAI,KAAK;AACzD","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ export type WriteBuffering = {
2
+ disk: boolean;
3
+ secure: boolean;
4
+ };
5
+ export type PlatformCapabilityProfile = {
6
+ platform: "native" | "web" | "testing";
7
+ writeBuffering: WriteBuffering;
8
+ };
9
+ export declare function resolveWebWriteBuffering(diskBackendName: string | undefined, secureBackendName: string | undefined): WriteBuffering;
10
+ export declare function resolveNativeWriteBuffering(platform: "ios" | "android", secureWritesAsync: boolean): WriteBuffering;
11
+ //# sourceMappingURL=capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,iBAAiB,EAAE,MAAM,GAAG,SAAS,GACpC,cAAc,CAKhB;AASD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,KAAK,GAAG,SAAS,EAC3B,iBAAiB,EAAE,OAAO,GACzB,cAAc,CAKhB"}
@@ -0,0 +1,27 @@
1
+ import { type AccessControl } from "../Storage.types";
2
+ export type DurabilityBackend = {
3
+ setBatch(keys: string[], values: string[], scope: number): void;
4
+ removeBatch(keys: string[], scope: number): void;
5
+ setSecureAccessControl(level: AccessControl): void;
6
+ };
7
+ export type DurabilityCoordinator = {
8
+ setDiskWritesAsync(enabled: boolean): void;
9
+ isDiskWritesAsync(): boolean;
10
+ hasPendingDiskWrite(key: string): boolean;
11
+ hasPendingSecureWrite(key: string): boolean;
12
+ readPendingDiskWrite(key: string): string | undefined;
13
+ readPendingSecureWrite(key: string): string | undefined;
14
+ clearPendingDiskWrite(key: string): void;
15
+ clearPendingSecureWrite(key: string): void;
16
+ clearAllPendingDiskWrites(): void;
17
+ clearAllPendingSecureWrites(): void;
18
+ scheduleDiskWrite(key: string, value: string | undefined): void;
19
+ scheduleSecureWrite(key: string, value: string | undefined, accessControl?: AccessControl): void;
20
+ flushDiskWrites(): void;
21
+ flushSecureWrites(): void;
22
+ };
23
+ export declare function createDurabilityCoordinator(options: {
24
+ backend: DurabilityBackend;
25
+ resolveSecureDefaultAccessControl(): AccessControl;
26
+ }): DurabilityCoordinator;
27
+ //# sourceMappingURL=durability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durability.d.ts","sourceRoot":"","sources":["../../../src/core/durability.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,iBAAiB,IAAI,OAAO,CAAC;IAC7B,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1C,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACxD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,yBAAyB,IAAI,IAAI,CAAC;IAClC,2BAA2B,IAAI,IAAI,CAAC;IACpC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAChE,mBAAmB,CACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,aAAa,CAAC,EAAE,aAAa,GAC5B,IAAI,CAAC;IACR,eAAe,IAAI,IAAI,CAAC;IACxB,iBAAiB,IAAI,IAAI,CAAC;CAC3B,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,OAAO,EAAE,iBAAiB,CAAC;IAC3B,iCAAiC,IAAI,aAAa,CAAC;CACpD,GAAG,qBAAqB,CAuIxB"}