@bota.dev/react-native-app-sdk 2.0.0-beta.1 → 2.0.0-beta.3
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 +66 -3
- package/android/build.gradle +1 -0
- package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidDiagnostics.kt +53 -0
- package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidLogs.kt +16 -0
- package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingUploads.kt +144 -14
- package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordings.kt +150 -29
- package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKEncryptedUploadV2Materials.kt +27 -0
- package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKModule.kt +68 -3
- package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidLogsTest.kt +33 -0
- package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingUploadsTest.kt +135 -6
- package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingsTest.kt +236 -10
- package/generated/codegen-contract.json +495 -8
- package/ios/BotaDeviceSDK.mm +102 -0
- package/ios/BotaDeviceSDKAppleBridge.swift +126 -4
- package/ios/BotaDeviceSDKAppleDiagnostics.swift +40 -0
- package/ios/BotaDeviceSDKAppleLogs.swift +18 -0
- package/ios/BotaDeviceSDKAppleRecordingUploads.swift +138 -6
- package/ios/BotaDeviceSDKAppleRecordings.swift +113 -5
- package/ios/BotaDeviceSDKEncryptedUploadV2Materials.swift +40 -0
- package/lib/commonjs/BotaClient.js +13 -2
- package/lib/commonjs/BotaClient.js.map +1 -1
- package/lib/commonjs/ble/constants.js +5 -1
- package/lib/commonjs/ble/constants.js.map +1 -1
- package/lib/commonjs/ble/deviceDiagnostics.js +240 -0
- package/lib/commonjs/ble/deviceDiagnostics.js.map +1 -0
- package/lib/commonjs/client.js +163 -28
- package/lib/commonjs/client.js.map +1 -1
- package/lib/commonjs/index.js +15 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/managers/DeviceManager.js +8 -0
- package/lib/commonjs/managers/DeviceManager.js.map +1 -1
- package/lib/commonjs/managers/NativeUploadQueue.js +386 -0
- package/lib/commonjs/managers/NativeUploadQueue.js.map +1 -0
- package/lib/commonjs/managers/RecordingManager.js +83 -102
- package/lib/commonjs/managers/RecordingManager.js.map +1 -1
- package/lib/commonjs/managers/uploadRecoveryMetadata.js +83 -0
- package/lib/commonjs/managers/uploadRecoveryMetadata.js.map +1 -0
- package/lib/commonjs/specs/NativeBotaDeviceSDK.js.map +1 -1
- package/lib/module/BotaClient.js +13 -2
- package/lib/module/BotaClient.js.map +1 -1
- package/lib/module/ble/constants.js +4 -0
- package/lib/module/ble/constants.js.map +1 -1
- package/lib/module/ble/deviceDiagnostics.js +234 -0
- package/lib/module/ble/deviceDiagnostics.js.map +1 -0
- package/lib/module/client.js +163 -28
- package/lib/module/client.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/managers/DeviceManager.js +8 -0
- package/lib/module/managers/DeviceManager.js.map +1 -1
- package/lib/module/managers/NativeUploadQueue.js +380 -0
- package/lib/module/managers/NativeUploadQueue.js.map +1 -0
- package/lib/module/managers/RecordingManager.js +83 -102
- package/lib/module/managers/RecordingManager.js.map +1 -1
- package/lib/module/managers/uploadRecoveryMetadata.js +77 -0
- package/lib/module/managers/uploadRecoveryMetadata.js.map +1 -0
- package/lib/module/specs/NativeBotaDeviceSDK.js.map +1 -1
- package/lib/typescript/BotaClient.d.ts.map +1 -1
- package/lib/typescript/ble/constants.d.ts +4 -0
- package/lib/typescript/ble/constants.d.ts.map +1 -1
- package/lib/typescript/ble/deviceDiagnostics.d.ts +10 -0
- package/lib/typescript/ble/deviceDiagnostics.d.ts.map +1 -0
- package/lib/typescript/client.d.ts +18 -2
- package/lib/typescript/client.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +6 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/managers/DeviceManager.d.ts +3 -1
- package/lib/typescript/managers/DeviceManager.d.ts.map +1 -1
- package/lib/typescript/managers/NativeUploadQueue.d.ts +41 -0
- package/lib/typescript/managers/NativeUploadQueue.d.ts.map +1 -0
- package/lib/typescript/managers/RecordingManager.d.ts +3 -8
- package/lib/typescript/managers/RecordingManager.d.ts.map +1 -1
- package/lib/typescript/managers/types.d.ts +6 -1
- package/lib/typescript/managers/types.d.ts.map +1 -1
- package/lib/typescript/managers/uploadRecoveryMetadata.d.ts +6 -0
- package/lib/typescript/managers/uploadRecoveryMetadata.d.ts.map +1 -0
- package/lib/typescript/models/Device.d.ts +42 -0
- package/lib/typescript/models/Device.d.ts.map +1 -1
- package/lib/typescript/models/Recording.d.ts +47 -0
- package/lib/typescript/models/Recording.d.ts.map +1 -1
- package/lib/typescript/models/Status.d.ts +5 -1
- package/lib/typescript/models/Status.d.ts.map +1 -1
- package/lib/typescript/specs/NativeBotaDeviceSDK.d.ts +61 -0
- package/lib/typescript/specs/NativeBotaDeviceSDK.d.ts.map +1 -1
- package/package.json +1 -1
- package/scripts/bota_device_sdk_spm_workaround.rb +26 -15
- package/src/BotaClient.ts +13 -3
- package/src/ble/constants.ts +5 -0
- package/src/ble/deviceDiagnostics.ts +238 -0
- package/src/client.ts +166 -18
- package/src/index.ts +12 -0
- package/src/managers/DeviceManager.ts +11 -0
- package/src/managers/NativeUploadQueue.ts +330 -0
- package/src/managers/RecordingManager.ts +83 -116
- package/src/managers/types.ts +7 -1
- package/src/managers/uploadRecoveryMetadata.ts +59 -0
- package/src/models/Device.ts +43 -0
- package/src/models/Recording.ts +52 -0
- package/src/models/Status.ts +5 -1
- package/src/specs/NativeBotaDeviceSDK.ts +56 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_eventemitter","_interopRequireDefault","require","_runtime","_errors","e","__esModule","default","DeviceManager","EventEmitter","discoveredDevices","Map","connectedDevices","knownBleIds","cache","cacheListeners","Set","statusSubscriptions","statusCallbacks","wifiStatusSubscriptions","logSubscriptions","recordingStateCache","recordingStatePending","recordingStateSubscriptions","reconnectInFlight","reconnectChain","Promise","resolve","scanSubscription","scanActive","autoReconnectEnabled","autoReconnectSerial","autoReconnectTimer","autoReconnectAttempting","userDisconnected","destroyed","constructor","client","getCompatibilityClient","disconnectionSubscription","subscribeToCompatibilityDisconnections","error","handleNativeDisconnection","initialize","startScan","options","assertAlive","emit","devices","device","set","id","asError","stopScan","remove","catch","getDiscoveredDevices","Array","from","values","getConnectedDevices","getKnownBleIds","Object","fromEntries","connect","priority","connected","rememberConnected","ensureStatusWatchdog","reconnect","serialNumber","existing","findConnectedBySerial","inFlight","get","run","undefined","then","finally","delete","disconnect","stopAutoReconnectLoop","removeOwned","isConnected","deviceId","connectionState","getStatus","requireConnected","readStatus","isProvisioned","controls","readPublicKey","readAuthNonce","setApiEndpoint","environment","deliverCert","certPem","privkeyPem","deliverCertificate","deliverBackendPubkey","pubkey","deliverBackendPublicKey","writeGrant","grantBlob","syncTime","provision","deviceToken","provisioning","apiEndpoint","String","fromCharCode","environmentCode","mtu","isAlreadyPaired","fetchDeprovisionGrant","provisioningError","nonce","result","deprovision","success","ProvisioningError","factoryReset","invalidToken","bleFactoryReset","persistResult","persisted","commandId","nextCompatibilityResetCommandId","bindingGeneration","rejected","factoryResetRejection","Error","resumeBleFactoryReset","resumePendingFactoryReset","requestStartRecording","grantOrFetcher","_options","runRecordingControl","fetchRecordingGrant","requestStopRecording","getRecordingState","pending","readAndCacheRecordingState","cachedRecordingState","subscribeToRecordingState","callback","promise","replaceOwned","idempotentRemoval","removeExpected","subscribeToStatus","callbacks","add","size","subscribeToDeviceLogs","logs","subscribe","readConnectionSettings","writeConnectionSettings","settings","configureWiFi","credentials","grant","wifi","configure","disconnectWiFi","getWiFiStatus","status","updateCachedDeviceState","wifiStatus","subscribeToWiFiStatus","scanWiFiNetworks","scanNetworks","getCachedDeviceState","getCachedWiFiStatus","patch","previous","mergeWiFiStatus","state","updatedAt","Date","now","listener","clearCachedDeviceState","clearAllCachedDeviceStates","clear","enableAutoReconnect","startAutoReconnectLoop","disableAutoReconnect","has","onCachedDeviceStateChanged","destroy","removeAllListeners","subscription","attempt","scanTimeout","setInterval","clearInterval","DeviceError","notConnected","fetcher","command","operation","pendingState","readRecordingState","active","initiatedBy","owner","next","expected","exports","removed","signalStrength","ssid","lastError","nativeProtocolStatus","direct","Reflect","userInfo","nested","code","storageError","chunkError","alreadyPaired","compatibilityResetSequence","toString"],"sourceRoot":"../../../src","sources":["managers/DeviceManager.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_eventemitter","_interopRequireDefault","require","_runtime","_errors","e","__esModule","default","DeviceManager","EventEmitter","discoveredDevices","Map","connectedDevices","knownBleIds","cache","cacheListeners","Set","statusSubscriptions","statusCallbacks","wifiStatusSubscriptions","logSubscriptions","recordingStateCache","recordingStatePending","recordingStateSubscriptions","reconnectInFlight","reconnectChain","Promise","resolve","scanSubscription","scanActive","autoReconnectEnabled","autoReconnectSerial","autoReconnectTimer","autoReconnectAttempting","userDisconnected","destroyed","constructor","client","getCompatibilityClient","disconnectionSubscription","subscribeToCompatibilityDisconnections","error","handleNativeDisconnection","initialize","startScan","options","assertAlive","emit","devices","device","set","id","asError","stopScan","remove","catch","getDiscoveredDevices","Array","from","values","getConnectedDevices","getKnownBleIds","Object","fromEntries","connect","priority","connected","rememberConnected","ensureStatusWatchdog","reconnect","serialNumber","existing","findConnectedBySerial","inFlight","get","run","undefined","then","finally","delete","disconnect","stopAutoReconnectLoop","removeOwned","isConnected","deviceId","connectionState","getStatus","requireConnected","readStatus","isProvisioned","controls","readPublicKey","readAuthNonce","setApiEndpoint","environment","deliverCert","certPem","privkeyPem","deliverCertificate","deliverBackendPubkey","pubkey","deliverBackendPublicKey","writeGrant","grantBlob","syncTime","provision","deviceToken","provisioning","apiEndpoint","String","fromCharCode","environmentCode","mtu","isAlreadyPaired","fetchDeprovisionGrant","provisioningError","nonce","result","deprovision","success","ProvisioningError","factoryReset","invalidToken","bleFactoryReset","persistResult","persisted","commandId","nextCompatibilityResetCommandId","bindingGeneration","rejected","factoryResetRejection","Error","resumeBleFactoryReset","resumePendingFactoryReset","requestStartRecording","grantOrFetcher","_options","runRecordingControl","fetchRecordingGrant","requestStopRecording","getRecordingState","pending","readAndCacheRecordingState","cachedRecordingState","subscribeToRecordingState","callback","promise","replaceOwned","idempotentRemoval","removeExpected","subscribeToStatus","callbacks","add","size","subscribeToDeviceLogs","logs","subscribe","readDiagnosticEvents","acknowledgeDiagnosticEvents","acceptedEventIds","readConnectionSettings","writeConnectionSettings","settings","configureWiFi","credentials","grant","wifi","configure","disconnectWiFi","getWiFiStatus","status","updateCachedDeviceState","wifiStatus","subscribeToWiFiStatus","scanWiFiNetworks","scanNetworks","getCachedDeviceState","getCachedWiFiStatus","patch","previous","mergeWiFiStatus","state","updatedAt","Date","now","listener","clearCachedDeviceState","clearAllCachedDeviceStates","clear","enableAutoReconnect","startAutoReconnectLoop","disableAutoReconnect","has","onCachedDeviceStateChanged","destroy","removeAllListeners","subscription","attempt","scanTimeout","setInterval","clearInterval","DeviceError","notConnected","fetcher","command","operation","pendingState","readRecordingState","active","initiatedBy","owner","next","expected","exports","removed","signalStrength","ssid","lastError","nativeProtocolStatus","direct","Reflect","userInfo","nested","code","storageError","chunkError","alreadyPaired","compatibilityResetSequence","toString"],"sourceRoot":"../../../src","sources":["managers/DeviceManager.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AAOA,IAAAC,QAAA,GAAAD,OAAA;AA6BA,IAAAE,OAAA,GAAAF,OAAA;AAAiE,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAoB1D,MAAMG,aAAa,SAASC,qBAAY,CAAsB;EAElDC,iBAAiB,GAAG,IAAIC,GAAG,CAA2B,CAAC;EACvDC,gBAAgB,GAAG,IAAID,GAAG,CAA0B,CAAC;EACrDE,WAAW,GAAG,IAAIF,GAAG,CAAiB,CAAC;EACvCG,KAAK,GAAG,IAAIH,GAAG,CAA4B,CAAC;EAC5CI,cAAc,GAAG,IAAIC,GAAG,CAAgB,CAAC;EACzCC,mBAAmB,GAAG,IAAIN,GAAG,CAG5C,CAAC;EACcO,eAAe,GAAG,IAAIP,GAAG,CAGxC,CAAC;EACcQ,uBAAuB,GAAG,IAAIR,GAAG,CAGhD,CAAC;EACcS,gBAAgB,GAAG,IAAIT,GAAG,CAGzC,CAAC;EACcU,mBAAmB,GAAG,IAAIV,GAAG,CAAyB,CAAC;EACvDW,qBAAqB,GAAG,IAAIX,GAAG,CAG9C,CAAC;EACcY,2BAA2B,GAAG,IAAIZ,GAAG,CAGpD,CAAC;EACca,iBAAiB,GAAG,IAAIb,GAAG,CAG1C,CAAC;EACKc,cAAc,GAAqBC,OAAO,CAACC,OAAO,CAAC,CAAC;EACpDC,gBAAgB,GAAiC,IAAI;EACrDC,UAAU,GAAG,KAAK;EAClBC,oBAAoB,GAAG,KAAK;EAC5BC,mBAAmB,GAAkB,IAAI;EACzCC,kBAAkB,GAA0C,IAAI;EAChEC,uBAAuB,GAAG,KAAK;EAC/BC,gBAAgB,GAAG,KAAK;EACxBC,SAAS,GAAG,KAAK;EAGzBC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,MAAM,GAAG,IAAAC,+BAAsB,EAAC,CAAC;IACtC,IAAI,CAACC,yBAAyB,GAAG,IAAAC,+CAAsC,EACrE,IAAI,CAACH,MAAM,EACVI,KAAK,IAAK,IAAI,CAACC,yBAAyB,CAACD,KAAK,CACjD,CAAC;EACH;EAEA,MAAME,UAAUA,CAAA,EAAkB,CAAC;EAEnC,MAAMC,SAASA,CAACC,OAAoB,GAAG,CAAC,CAAC,EAAiB;IACxD,IAAI,CAACC,WAAW,CAAC,CAAC;IAClB,IAAI,IAAI,CAACjB,UAAU,EAAE;IACrB,IAAI,CAACkB,IAAI,CAAC,aAAa,CAAC;IACxB,IAAI;MACF,IAAI,CAACnB,gBAAgB,GAAG,MAAM,IAAI,CAACS,MAAM,CAACW,OAAO,CAACJ,SAAS,CACzDC,OAAO,EACNI,MAAM,IAAK;QACV,IAAI,CAACvC,iBAAiB,CAACwC,GAAG,CAACD,MAAM,CAACE,EAAE,EAAEF,MAAM,CAAC;QAC7C,IAAI,CAACF,IAAI,CAAC,kBAAkB,EAAEE,MAAM,CAAC;MACvC,CACF,CAAC;MACD,IAAI,CAACpB,UAAU,GAAG,IAAI;IACxB,CAAC,CAAC,OAAOY,KAAK,EAAE;MACd,IAAI,CAACM,IAAI,CAAC,WAAW,EAAEK,OAAO,CAACX,KAAK,CAAC,CAAC;MACtC,MAAMA,KAAK;IACb;EACF;EAEAY,QAAQA,CAAA,EAAS;IACf,IAAI,CAAC,IAAI,CAACxB,UAAU,EAAE;IACtB,IAAI,CAACA,UAAU,GAAG,KAAK;IACvB,IAAI,CAACD,gBAAgB,EAAE0B,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC1B,gBAAgB,GAAG,IAAI;IAC5B,KAAK,IAAI,CAACS,MAAM,CAACW,OAAO,CAACK,QAAQ,CAAC,CAAC,CAACE,KAAK,CAAEd,KAAK,IAAK;MACnD,IAAI,CAACM,IAAI,CAAC,WAAW,EAAEK,OAAO,CAACX,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,IAAI,CAACM,IAAI,CAAC,aAAa,CAAC;EAC1B;EAEAS,oBAAoBA,CAAA,EAAuB;IACzC,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAAChD,iBAAiB,CAACiD,MAAM,CAAC,CAAC,CAAC;EACpD;EAEAC,mBAAmBA,CAAA,EAAsB;IACvC,OAAOH,KAAK,CAACC,IAAI,CAAC,IAAI,CAAC9C,gBAAgB,CAAC+C,MAAM,CAAC,CAAC,CAAC;EACnD;EAEAE,cAAcA,CAAA,EAA2B;IACvC,OAAOC,MAAM,CAACC,WAAW,CAAC,IAAI,CAAClD,WAAW,CAAC;EAC7C;EAEA,MAAMmD,OAAOA,CACXf,MAAwB,EACxBgB,QAAuB,GAAG,MAAM,EACN;IAC1B,KAAKA,QAAQ;IACb,IAAI,CAACnB,WAAW,CAAC,CAAC;IAClB,IAAI,CAACZ,gBAAgB,GAAG,KAAK;IAC7B,IAAI,CAACa,IAAI,CAAC,wBAAwB,EAAEE,MAAM,CAACE,EAAE,EAAE,YAAY,CAAC;IAC5D,IAAI;MACF,MAAMe,SAAS,GAAG,MAAM,IAAI,CAAC7B,MAAM,CAACW,OAAO,CAACgB,OAAO,CAACf,MAAM,CAAC;MAC3D,IAAI,CAACkB,iBAAiB,CAACD,SAAS,CAAC;MACjC,IAAI,IAAI,CAACpC,oBAAoB,EAAE,IAAI,CAACsC,oBAAoB,CAACF,SAAS,CAAC;MACnE,IAAI,CAACnB,IAAI,CAAC,wBAAwB,EAAEmB,SAAS,CAACf,EAAE,EAAE,WAAW,CAAC;MAC9D,IAAI,CAACJ,IAAI,CAAC,iBAAiB,EAAEmB,SAAS,CAAC;MACvC,OAAOA,SAAS;IAClB,CAAC,CAAC,OAAOzB,KAAK,EAAE;MACd,IAAI,CAACM,IAAI,CAAC,wBAAwB,EAAEE,MAAM,CAACE,EAAE,EAAE,cAAc,CAAC;MAC9D,MAAMV,KAAK;IACb;EACF;EAEA,MAAM4B,SAASA,CACbC,YAAoB,EACpBzB,OAA0B,EACA;IAC1B,IAAI,CAACC,WAAW,CAAC,CAAC;IAClB,MAAMyB,QAAQ,GAAG,IAAI,CAACC,qBAAqB,CAACF,YAAY,CAAC;IACzD,IAAIC,QAAQ,EAAE,OAAOA,QAAQ;IAC7B,IAAI,CAACrC,gBAAgB,GAAG,KAAK;IAC7B,MAAMuC,QAAQ,GAAG,IAAI,CAACjD,iBAAiB,CAACkD,GAAG,CAACJ,YAAY,CAAC;IACzD,IAAIG,QAAQ,EAAE,OAAOA,QAAQ;IAC7B,MAAME,GAAG,GAAG,IAAI,CAAClD,cAAc,CAC5B8B,KAAK,CAAC,MAAMqB,SAAS,CAAC,CACtBC,IAAI,CAAC,YAAY;MAChB,MAAMX,SAAS,GAAG,MAAM,IAAI,CAAC7B,MAAM,CAACW,OAAO,CAACqB,SAAS,CACnDC,YAAY,EACZzB,OACF,CAAC;MACD,IAAI,CAACsB,iBAAiB,CAACD,SAAS,CAAC;MACjC,IAAI,IAAI,CAACpC,oBAAoB,EAAE,IAAI,CAACsC,oBAAoB,CAACF,SAAS,CAAC;MACnE,IAAI,CAACnB,IAAI,CAAC,wBAAwB,EAAEmB,SAAS,CAACf,EAAE,EAAE,WAAW,CAAC;MAC9D,IAAI,CAACJ,IAAI,CAAC,iBAAiB,EAAEmB,SAAS,CAAC;MACvC,OAAOA,SAAS;IAClB,CAAC,CAAC;IACJ,IAAI,CAACzC,cAAc,GAAGkD,GAAG,CAACpB,KAAK,CAAC,MAAMqB,SAAS,CAAC;IAChD,IAAI,CAACpD,iBAAiB,CAAC0B,GAAG,CAACoB,YAAY,EAAEK,GAAG,CAAC;IAC7C,KAAKA,GAAG,CAACG,OAAO,CAAC,MAAM;MACrB,IAAI,IAAI,CAACtD,iBAAiB,CAACkD,GAAG,CAACJ,YAAY,CAAC,KAAKK,GAAG,EAAE;QACpD,IAAI,CAACnD,iBAAiB,CAACuD,MAAM,CAACT,YAAY,CAAC;MAC7C;IACF,CAAC,CAAC,CAACf,KAAK,CAAC,MAAMqB,SAAS,CAAC;IACzB,OAAOD,GAAG;EACZ;EAEA,MAAMK,UAAUA,CAAC/B,MAAuB,EAAiB;IACvD,IAAI,CAACH,WAAW,CAAC,CAAC;IAClB,IAAI,CAACZ,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAAC+C,qBAAqB,CAAC,CAAC;IAC5B,IAAI,CAAClC,IAAI,CAAC,wBAAwB,EAAEE,MAAM,CAACE,EAAE,EAAE,eAAe,CAAC;IAC/D,MAAM,IAAI,CAAC+B,WAAW,CAAC,IAAI,CAACjE,mBAAmB,EAAEgC,MAAM,CAACE,EAAE,CAAC;IAC3D,IAAI,CAACjC,eAAe,CAAC6D,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;IACtC,MAAM,IAAI,CAAC+B,WAAW,CAAC,IAAI,CAAC/D,uBAAuB,EAAE8B,MAAM,CAACE,EAAE,CAAC;IAC/D,MAAM,IAAI,CAAC+B,WAAW,CAAC,IAAI,CAAC9D,gBAAgB,EAAE6B,MAAM,CAACE,EAAE,CAAC;IACxD,MAAM,IAAI,CAAC+B,WAAW,CAAC,IAAI,CAAC3D,2BAA2B,EAAE0B,MAAM,CAACE,EAAE,CAAC;IACnE,MAAM,IAAI,CAACd,MAAM,CAACW,OAAO,CAACgC,UAAU,CAAC,CAAC;IACtC,IAAI,CAACpE,gBAAgB,CAACmE,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;IACvC,IAAI,CAAC9B,mBAAmB,CAAC0D,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;IAC1C,IAAI,CAAC7B,qBAAqB,CAACyD,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;IAC5C,IAAI,CAACJ,IAAI,CAAC,wBAAwB,EAAEE,MAAM,CAACE,EAAE,EAAE,cAAc,CAAC;IAC9D,IAAI,CAACJ,IAAI,CAAC,oBAAoB,EAAEE,MAAM,CAACE,EAAE,CAAC;EAC5C;EAEAgC,WAAWA,CAACC,QAAgB,EAAW;IACrC,OAAO,IAAI,CAACxE,gBAAgB,CAAC8D,GAAG,CAACU,QAAQ,CAAC,EAAEC,eAAe,KAAK,WAAW;EAC7E;EAEA,MAAMC,SAASA,CAACrC,MAAuB,EAAyB;IAC9D,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACd,MAAM,CAACW,OAAO,CAACwC,UAAU,CAAC,CAAC;EACzC;EAEA,MAAMC,aAAaA,CAACxC,MAAuB,EAAoB;IAC7D,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACd,MAAM,CAACqD,QAAQ,CAACD,aAAa,CAACxC,MAAM,CAAC;EACnD;EAEA,MAAM0C,aAAaA,CAAC1C,MAAuB,EAA0B;IACnE,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACd,MAAM,CAACqD,QAAQ,CAACC,aAAa,CAAC1C,MAAM,CAAC;EACnD;EAEA,MAAM2C,aAAaA,CAAC3C,MAAuB,EAA0B;IACnE,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACd,MAAM,CAACqD,QAAQ,CAACE,aAAa,CAAC3C,MAAM,CAAC;EACnD;EAEA,MAAM4C,cAAcA,CAClB5C,MAAuB,EACvB6C,WAAwB,EACT;IACf,IAAI,CAACP,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM,IAAI,CAACd,MAAM,CAACqD,QAAQ,CAACG,cAAc,CAAC5C,MAAM,EAAE6C,WAAW,CAAC;EAChE;EAEA,MAAMC,WAAWA,CACf9C,MAAuB,EACvB+C,OAAe,EACfC,UAAkB,EACH;IACf,IAAI,CAACV,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM,IAAI,CAACd,MAAM,CAACqD,QAAQ,CAACQ,kBAAkB,CAC3CjD,MAAM,EACN+C,OAAO,EACPC,UACF,CAAC;EACH;EAEA,MAAME,oBAAoBA,CACxBlD,MAAuB,EACvBmD,MAAkB,EACH;IACf,IAAI,CAACb,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM,IAAI,CAACd,MAAM,CAACqD,QAAQ,CAACW,uBAAuB,CAACpD,MAAM,EAAEmD,MAAM,CAAC;EACpE;EAEA,MAAME,UAAUA,CAACrD,MAAuB,EAAEsD,SAAiB,EAAiB;IAC1E,IAAI,CAAChB,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM,IAAI,CAACd,MAAM,CAACqD,QAAQ,CAACY,UAAU,CAACrD,MAAM,EAAEsD,SAAS,CAAC;EAC1D;EAEA,MAAMC,QAAQA,CAACpB,QAAgB,EAAiB;IAC9C,MAAM,IAAI,CAAC/C,MAAM,CAACqD,QAAQ,CAACc,QAAQ,CAAC,IAAI,CAACjB,gBAAgB,CAACH,QAAQ,CAAC,CAAC;EACtE;EAEA,MAAMqB,SAASA,CACbxD,MAAuB,EACvByD,WAAmB,EACnBZ,WAAwB,GAAG,YAAY,EACvCjD,OAA0B,EACX;IACf,IAAI,CAAC0C,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAMsD,SAAS,GAAGA,CAAA,KAAM,IAAI,CAACpE,MAAM,CAACsE,YAAY,CAACF,SAAS,CACxDxD,MAAM,EACN,aAAa;MACX2D,WAAW,EAAEC,MAAM,CAACC,YAAY,CAACC,eAAe,CAACjB,WAAW,CAAC,CAAC;MAC9DY,WAAW;MACXM,GAAG,EAAE/D,MAAM,CAAC+D;IACd,CAAC,CACH,CAAC;IACD,IAAI;MACF,MAAMP,SAAS,CAAC,CAAC;IACnB,CAAC,CAAC,OAAOhE,KAAK,EAAE;MACd,IAAI,CAACwE,eAAe,CAACxE,KAAK,CAAC,IAAI,CAACI,OAAO,EAAEqE,qBAAqB,EAAE;QAC9D,MAAMC,iBAAiB,CAAC1E,KAAK,EAAEQ,MAAM,CAACE,EAAE,CAAC;MAC3C;MACA,MAAMiE,KAAK,GAAG,MAAM,IAAI,CAACxB,aAAa,CAAC3C,MAAM,CAAC,CAACM,KAAK,CAAC,MAAM,IAAI,CAAC;MAChE,MAAMgD,SAAS,GAAG,MAAM1D,OAAO,CAACqE,qBAAqB,CAACE,KAAK,CAAC;MAC5D,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACC,WAAW,CAACrE,MAAM,EAAEsD,SAAS,CAAC;MACxD,IAAI,CAACc,MAAM,CAACE,OAAO,EAAE;QACnB,MAAM,IAAIC,yBAAiB,CACzB,4BAA4BH,MAAM,CAAC5E,KAAK,IAAI,SAAS,EAAE,EACvD,qBAAqB,EACrBQ,MAAM,CAACE,EACT,CAAC;MACH;MACA,MAAMsD,SAAS,CAAC,CAAC;IACnB;EACF;EAEA,MAAMa,WAAWA,CACfrE,MAAuB,EACvBsD,SAAiB,EAC8B;IAC/C,IAAI,CAAChB,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACd,MAAM,CAACsE,YAAY,CAACW,WAAW,CAACrE,MAAM,EAAEsD,SAAS,CAAC;EAChE;EAEA,MAAMkB,YAAYA,CAACxE,MAAuB,EAAiB;IACzD,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAMqE,yBAAiB,CAACE,YAAY,CAACzE,MAAM,CAACE,EAAE,CAAC;EACjD;EAEA,MAAMwE,eAAeA,CACnB1E,MAAuB,EACvBsD,SAAiB,EACjBqB,aAA6C,EACb;IAChC,IAAI,CAACrC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,IAAI0E,SAAwE;IAC5E,IAAI;MACF,MAAM,IAAI,CAACxF,MAAM,CAACoF,YAAY,CAACA,YAAY,CACzCxE,MAAM,EACN;QACE6E,SAAS,EAAEC,+BAA+B,CAAC,CAAC;QAC5CC,iBAAiB,EAAE;MACrB,CAAC,EACD,YAAYzB,SAAS,EACrB,MAAOc,MAAM,IAAK;QAChB,MAAMO,aAAa,CAACP,MAAM,CAAC;QAC3BQ,SAAS,GAAGR,MAAM;MACpB,CACF,CAAC;IACH,CAAC,CAAC,OAAO5E,KAAK,EAAE;MACd,MAAMwF,QAAQ,GAAGC,qBAAqB,CAACzF,KAAK,CAAC;MAC7C,IAAIwF,QAAQ,EAAE,OAAOA,QAAQ;MAC7B,MAAMxF,KAAK;IACb;IACA,IAAI,CAACoF,SAAS,EAAE;MACd,MAAM,IAAIM,KAAK,CAAC,oDAAoD,CAAC;IACvE;IACA,OAAON,SAAS;EAClB;EAEA,MAAMO,qBAAqBA,CACzBnF,MAAuB,EACvB2E,aAA6C,EACb;IAChC,IAAI,CAACrC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,IAAI0E,SAAwE;IAC5E,IAAI;MACF,MAAM,IAAI,CAACxF,MAAM,CAACoF,YAAY,CAACY,yBAAyB,CACtDpF,MAAM,EACN,CAAC,EACD,MAAOoE,MAAM,IAAK;QAChB,MAAMO,aAAa,CAACP,MAAM,CAAC;QAC3BQ,SAAS,GAAGR,MAAM;MACpB,CACF,CAAC;IACH,CAAC,CAAC,OAAO5E,KAAK,EAAE;MACd,MAAMwF,QAAQ,GAAGC,qBAAqB,CAACzF,KAAK,CAAC;MAC7C,IAAIwF,QAAQ,EAAE,OAAOA,QAAQ;MAC7B,MAAMxF,KAAK;IACb;IACA,IAAI,CAACoF,SAAS,EAAE;MACd,MAAM,IAAIM,KAAK,CAAC,2DAA2D,CAAC;IAC9E;IACA,OAAON,SAAS;EAClB;EAEA,MAAMS,qBAAqBA,CACzBrF,MAAuB,EACvBsF,cAA8C,EAC9CC,QAAgC,EACe;IAC/C,IAAI,CAACjD,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,IAAI,OAAOoF,cAAc,KAAK,QAAQ,EAAE;MACtC,OAAO,IAAI,CAACE,mBAAmB,CAACxF,MAAM,EAAEsF,cAAc,EAAE,OAAO,CAAC;IAClE;IACA,MAAMhC,SAAS,GAAG,MAAM,IAAI,CAACmC,mBAAmB,CAACzF,MAAM,EAAEsF,cAAc,CAAC;IACxE,OAAO,IAAI,CAACE,mBAAmB,CAACxF,MAAM,EAAEsD,SAAS,EAAE,OAAO,CAAC;EAC7D;EAEA,MAAMoC,oBAAoBA,CACxB1F,MAAuB,EACvBsF,cAA8C,EAC9CC,QAA+B,EACgB;IAC/C,IAAI,CAACjD,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,IAAI,OAAOoF,cAAc,KAAK,QAAQ,EAAE;MACtC,OAAO,IAAI,CAACE,mBAAmB,CAACxF,MAAM,EAAEsF,cAAc,EAAE,MAAM,CAAC;IACjE;IACA,MAAMhC,SAAS,GAAG,MAAM,IAAI,CAACmC,mBAAmB,CAACzF,MAAM,EAAEsF,cAAc,CAAC;IACxE,OAAO,IAAI,CAACE,mBAAmB,CAACxF,MAAM,EAAEsD,SAAS,EAAE,MAAM,CAAC;EAC5D;EAEA,MAAMqC,iBAAiBA,CAAC3F,MAAuB,EAA2B;IACxE,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM0F,OAAO,GAAG,IAAI,CAACvH,qBAAqB,CAACoD,GAAG,CAACzB,MAAM,CAACE,EAAE,CAAC;IACzD,IAAI0F,OAAO,EAAE,OAAOA,OAAO;IAC3B,IAAI;MACF,OAAO,MAAM,IAAI,CAACC,0BAA0B,CAAC7F,MAAM,CAAC;IACtD,CAAC,CAAC,MAAM;MACN,OAAO,IAAI,CAAC8F,oBAAoB,CAAC9F,MAAM,CAACE,EAAE,CAAC;IAC7C;EACF;EAEA6F,yBAAyBA,CACvB/F,MAAuB,EACvBgG,QAAyC,EAC7B;IACZ,IAAI,CAAC1D,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM+F,OAAO,GAAG,IAAI,CAACC,YAAY,CAC/B,IAAI,CAAC5H,2BAA2B,EAChC0B,MAAM,CAACE,EAAE,EACT,IAAI,CAACd,MAAM,CAACqD,QAAQ,CAACsD,yBAAyB,CAAC/F,MAAM,EAAEgG,QAAQ,CACjE,CAAC;IACD,OAAOG,iBAAiB,CAAC,MAAM;MAC7B,KAAK,IAAI,CAACC,cAAc,CACtB,IAAI,CAAC9H,2BAA2B,EAChC0B,MAAM,CAACE,EAAE,EACT+F,OACF,CAAC;IACH,CAAC,CAAC;EACJ;EAEAI,iBAAiBA,CACfrG,MAAuB,EACvBgG,QAAwC,EAC5B;IACZ,IAAI,CAAC1D,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAMoG,SAAS,GAAG,IAAI,CAACrI,eAAe,CAACwD,GAAG,CAACzB,MAAM,CAACE,EAAE,CAAC,IAAI,IAAInC,GAAG,CAAC,CAAC;IAClEuI,SAAS,CAACC,GAAG,CAACP,QAAQ,CAAC;IACvB,IAAI,CAAC/H,eAAe,CAACgC,GAAG,CAACD,MAAM,CAACE,EAAE,EAAEoG,SAAS,CAAC;IAC9C,IAAI,CAACnF,oBAAoB,CAACnB,MAAM,CAAC;IACjC,OAAOmG,iBAAiB,CAAC,MAAM;MAC7BG,SAAS,CAACxE,MAAM,CAACkE,QAAQ,CAAC;MAC1B,IAAIM,SAAS,CAACE,IAAI,KAAK,CAAC,EAAE;QACxB,IAAI,CAACvI,eAAe,CAAC6D,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAACrB,oBAAoB,EAAE;UAC9B,KAAK,IAAI,CAACoD,WAAW,CAAC,IAAI,CAACjE,mBAAmB,EAAEgC,MAAM,CAACE,EAAE,CAAC,CACvDI,KAAK,CAAC,MAAMqB,SAAS,CAAC;QAC3B;MACF;IACF,CAAC,CAAC;EACJ;EAEA,MAAM8E,qBAAqBA,CACzBzG,MAAuB,EACvBgG,QAAyC,EACpB;IACrB,IAAI,CAAC1D,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM+F,OAAO,GAAG,IAAI,CAACC,YAAY,CAC/B,IAAI,CAAC/H,gBAAgB,EACrB6B,MAAM,CAACE,EAAE,EACT,IAAI,CAACd,MAAM,CAACsH,IAAI,CAACC,SAAS,CAAC3G,MAAM,EAAEgG,QAAQ,CAC7C,CAAC;IACD,MAAMC,OAAO;IACb,OAAOE,iBAAiB,CAAC,MAAM;MAC7B,KAAK,IAAI,CAACC,cAAc,CAAC,IAAI,CAACjI,gBAAgB,EAAE6B,MAAM,CAACE,EAAE,EAAE+F,OAAO,CAAC;IACrE,CAAC,CAAC;EACJ;EAEA,MAAMW,oBAAoBA,CAAC5G,MAAuB,EAAmC;IACnF,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACd,MAAM,CAACsH,IAAI,CAACE,oBAAoB,CAAC5G,MAAM,CAAC;EACtD;EAEA,MAAM6G,2BAA2BA,CAAC7G,MAAuB,EAAE8G,gBAA0B,EAAiB;IACpG,IAAI,CAACxE,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM,IAAI,CAACd,MAAM,CAACsH,IAAI,CAACG,2BAA2B,CAAC7G,MAAM,EAAE8G,gBAAgB,CAAC;EAC9E;EAEA,MAAMC,sBAAsBA,CAC1B/G,MAAuB,EACY;IACnC,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACd,MAAM,CAACsE,YAAY,CAACqD,sBAAsB,CAAC/G,MAAM,CAAC;EAChE;EAEA,MAAMgH,uBAAuBA,CAC3BhH,MAAuB,EACvBiH,QAAkC,EACnB;IACf,IAAI,CAAC3E,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM,IAAI,CAACd,MAAM,CAACsE,YAAY,CAACsD,uBAAuB,CAAChH,MAAM,EAAEiH,QAAQ,CAAC;EAC1E;EAEA,MAAMC,aAAaA,CACjB/E,QAAgB,EAChBgF,WAA4B,EAC5BC,KAAsB,EACK;IAC3B,OAAO,IAAI,CAAChI,MAAM,CAACiI,IAAI,CAACC,SAAS,CAC/B,IAAI,CAAChF,gBAAgB,CAACH,QAAQ,CAAC,EAC/BgF,WAAW,EACXC,KACF,CAAC;EACH;EAEA,MAAMG,cAAcA,CAACpF,QAAgB,EAA6B;IAChE,OAAO,IAAI,CAAC/C,MAAM,CAACiI,IAAI,CAACtF,UAAU,CAAC,IAAI,CAACO,gBAAgB,CAACH,QAAQ,CAAC,CAAC;EACrE;EAEA,MAAMqF,aAAaA,CAACrF,QAAgB,EAA2B;IAC7D,MAAMnC,MAAM,GAAG,IAAI,CAACsC,gBAAgB,CAACH,QAAQ,CAAC;IAC9C,MAAMsF,MAAM,GAAG,MAAM,IAAI,CAACrI,MAAM,CAACiI,IAAI,CAAC9E,UAAU,CAACvC,MAAM,CAAC;IACxD,IAAI,CAAC0H,uBAAuB,CAAC1H,MAAM,CAACqB,YAAY,EAAE;MAAEsG,UAAU,EAAEF;IAAO,CAAC,CAAC;IACzE,OAAOA,MAAM;EACf;EAEAG,qBAAqBA,CACnBzF,QAAgB,EAChB6D,QAA0C,EAC5B;IACd,MAAMhG,MAAM,GAAG,IAAI,CAACsC,gBAAgB,CAACH,QAAQ,CAAC;IAC9C,MAAM8D,OAAO,GAAG,IAAI,CAACC,YAAY,CAC/B,IAAI,CAAChI,uBAAuB,EAC5B8B,MAAM,CAACE,EAAE,EACT,IAAI,CAACd,MAAM,CAACiI,IAAI,CAAChB,iBAAiB,CAACrG,MAAM,EAAGyH,MAAM,IAAK;MACrD,IAAI,CAACC,uBAAuB,CAAC1H,MAAM,CAACqB,YAAY,EAAE;QAAEsG,UAAU,EAAEF;MAAO,CAAC,CAAC;MACzEzB,QAAQ,CAACyB,MAAM,CAAC;IAClB,CAAC,CACH,CAAC;IACD,OAAO;MACLpH,MAAM,EAAE8F,iBAAiB,CAAC,MAAM;QAC9B,KAAK,IAAI,CAACC,cAAc,CAAC,IAAI,CAAClI,uBAAuB,EAAE8B,MAAM,CAACE,EAAE,EAAE+F,OAAO,CAAC;MAC5E,CAAC;IACH,CAAC;EACH;EAEA,MAAM4B,gBAAgBA,CACpB7H,MAAuB,EACQ;IAC/B,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACd,MAAM,CAACiI,IAAI,CAACS,YAAY,CAAC9H,MAAM,CAAC;EAC9C;EAEA+H,oBAAoBA,CAAC1G,YAAoB,EAA4B;IACnE,OAAO,IAAI,CAACxD,KAAK,CAAC4D,GAAG,CAACJ,YAAY,CAAC,IAAI,IAAI;EAC7C;EAEA2G,mBAAmBA,CAAC3G,YAAoB,EAAyB;IAC/D,OAAO,IAAI,CAACxD,KAAK,CAAC4D,GAAG,CAACJ,YAAY,CAAC,EAAEsG,UAAU,IAAI,IAAI;EACzD;EAEAD,uBAAuBA,CACrBrG,YAAoB,EACpB4G,KAAsD,EAChD;IACN,MAAMC,QAAQ,GAAG,IAAI,CAACrK,KAAK,CAAC4D,GAAG,CAACJ,YAAY,CAAC;IAC7C,MAAMsG,UAAU,GAAGQ,eAAe,CAACD,QAAQ,EAAEP,UAAU,EAAEM,KAAK,CAACN,UAAU,CAAC;IAC1E,MAAMS,KAAwB,GAAG;MAC/B,IAAIT,UAAU,KAAKhG,SAAS,GAAG,CAAC,CAAC,GAAG;QAAEgG;MAAW,CAAC,CAAC;MACnDU,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC;IACtB,CAAC;IACD,IAAI,CAAC1K,KAAK,CAACoC,GAAG,CAACoB,YAAY,EAAE+G,KAAK,CAAC;IACnC,KAAK,MAAMI,QAAQ,IAAI,IAAI,CAAC1K,cAAc,EAAE0K,QAAQ,CAACnH,YAAY,EAAE4G,KAAK,EAAEG,KAAK,CAAC;EAClF;EAEAK,sBAAsBA,CAACpH,YAAoB,EAAQ;IACjD,IAAI,CAACxD,KAAK,CAACiE,MAAM,CAACT,YAAY,CAAC;EACjC;EAEAqH,0BAA0BA,CAAA,EAAS;IACjC,IAAI,CAAC7K,KAAK,CAAC8K,KAAK,CAAC,CAAC;EACpB;EAEAC,mBAAmBA,CAACvH,YAAoB,EAAQ;IAC9C,IAAI,CAACxB,WAAW,CAAC,CAAC;IAClB,IAAI,CAACf,mBAAmB,GAAGuC,YAAY;IACvC,IAAI,CAACxC,oBAAoB,GAAG,IAAI;IAChC,IAAI,CAACI,gBAAgB,GAAG,KAAK;IAC7B,MAAMgC,SAAS,GAAG,IAAI,CAACM,qBAAqB,CAACF,YAAY,CAAC;IAC1D,IAAIJ,SAAS,EAAE;MACb,IAAI,CAACE,oBAAoB,CAACF,SAAS,CAAC;IACtC,CAAC,MAAM;MACL,IAAI,CAAC4H,sBAAsB,CAAC,CAAC;IAC/B;EACF;EAEAC,oBAAoBA,CAAA,EAAS;IAC3B,MAAMzH,YAAY,GAAG,IAAI,CAACvC,mBAAmB;IAC7C,IAAI,CAACD,oBAAoB,GAAG,KAAK;IACjC,IAAI,CAACC,mBAAmB,GAAG,IAAI;IAC/B,IAAI,CAACG,gBAAgB,GAAG,KAAK;IAC7B,IAAI,CAAC+C,qBAAqB,CAAC,CAAC;IAC5B,MAAMf,SAAS,GAAGI,YAAY,GAC1B,IAAI,CAACE,qBAAqB,CAACF,YAAY,CAAC,GACxC,IAAI;IACR,IAAIJ,SAAS,IAAI,CAAC,IAAI,CAAChD,eAAe,CAAC8K,GAAG,CAAC9H,SAAS,CAACf,EAAE,CAAC,EAAE;MACxD,KAAK,IAAI,CAAC+B,WAAW,CAAC,IAAI,CAACjE,mBAAmB,EAAEiD,SAAS,CAACf,EAAE,CAAC,CAC1DI,KAAK,CAAC,MAAMqB,SAAS,CAAC;IAC3B;EACF;EAEAqH,0BAA0BA,CACxBR,QAIS,EACe;IACxB,IAAI,CAAC1K,cAAc,CAACyI,GAAG,CAACiC,QAAQ,CAAC;IACjC,OAAO;MAAEnI,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACvC,cAAc,CAACgE,MAAM,CAAC0G,QAAQ;IAAE,CAAC;EAC/D;EAEAS,OAAOA,CAAA,EAAS;IACd,IAAI,IAAI,CAAC/J,SAAS,EAAE;IACpB,IAAI,CAACA,SAAS,GAAG,IAAI;IACrB,IAAI,CAACI,yBAAyB,CAACe,MAAM,CAAC,CAAC;IACvC,IAAI,CAACyI,oBAAoB,CAAC,CAAC;IAC3B,IAAI,CAAC1I,QAAQ,CAAC,CAAC;IACf,KAAK,MAAM,CAAC+B,QAAQ,CAAC,IAAI,IAAI,CAACnE,mBAAmB,EAAE;MACjD,KAAK,IAAI,CAACiE,WAAW,CAAC,IAAI,CAACjE,mBAAmB,EAAEmE,QAAQ,CAAC;IAC3D;IACA,KAAK,MAAM,CAACA,QAAQ,CAAC,IAAI,IAAI,CAACjE,uBAAuB,EAAE;MACrD,KAAK,IAAI,CAAC+D,WAAW,CAAC,IAAI,CAAC/D,uBAAuB,EAAEiE,QAAQ,CAAC;IAC/D;IACA,KAAK,MAAM,CAACA,QAAQ,CAAC,IAAI,IAAI,CAAChE,gBAAgB,EAAE;MAC9C,KAAK,IAAI,CAAC8D,WAAW,CAAC,IAAI,CAAC9D,gBAAgB,EAAEgE,QAAQ,CAAC;IACxD;IACA,KAAK,MAAM,CAACA,QAAQ,CAAC,IAAI,IAAI,CAAC7D,2BAA2B,EAAE;MACzD,KAAK,IAAI,CAAC2D,WAAW,CAAC,IAAI,CAAC3D,2BAA2B,EAAE6D,QAAQ,CAAC;IACnE;IACA,IAAI,CAACxE,gBAAgB,CAACgL,KAAK,CAAC,CAAC;IAC7B,IAAI,CAACvK,mBAAmB,CAACuK,KAAK,CAAC,CAAC;IAChC,IAAI,CAACtK,qBAAqB,CAACsK,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC1K,eAAe,CAAC0K,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC9K,KAAK,CAAC8K,KAAK,CAAC,CAAC;IAClB,IAAI,CAAC7K,cAAc,CAAC6K,KAAK,CAAC,CAAC;IAC3B,IAAI,CAACO,kBAAkB,CAAC,CAAC;EAC3B;EAEQhI,iBAAiBA,CAAClB,MAAuB,EAAQ;IACvD,IAAI,CAACrC,gBAAgB,CAACsC,GAAG,CAACD,MAAM,CAACE,EAAE,EAAEF,MAAM,CAAC;IAC5C,IAAI,CAACpC,WAAW,CAACqC,GAAG,CAACD,MAAM,CAACqB,YAAY,EAAErB,MAAM,CAACE,EAAE,CAAC;EACtD;EAEQiB,oBAAoBA,CAACnB,MAAuB,EAAQ;IAC1D,IAAI,IAAI,CAAChC,mBAAmB,CAAC+K,GAAG,CAAC/I,MAAM,CAACE,EAAE,CAAC,EAAE;IAC7C,MAAMiJ,YAAY,GAAG,IAAI,CAAC/J,MAAM,CAACW,OAAO,CAACsG,iBAAiB,CAAEoB,MAAM,IAAK;MACrE,KAAK,MAAMzB,QAAQ,IAAI,IAAI,CAAC/H,eAAe,CAACwD,GAAG,CAACzB,MAAM,CAACE,EAAE,CAAC,IAAI,EAAE,EAAE;QAChE8F,QAAQ,CAACyB,MAAM,CAAC;MAClB;MACA,IAAI,CAAC3H,IAAI,CAAC,qBAAqB,EAAEE,MAAM,CAACE,EAAE,EAAEuH,MAAM,CAAC;IACrD,CAAC,CAAC;IACF,IAAI,CAACzJ,mBAAmB,CAACiC,GAAG,CAACD,MAAM,CAACE,EAAE,EAAEiJ,YAAY,CAAC;IACrD,KAAKA,YAAY,CAAC7I,KAAK,CAAC,MAAM;MAC5B,IAAI,IAAI,CAACtC,mBAAmB,CAACyD,GAAG,CAACzB,MAAM,CAACE,EAAE,CAAC,KAAKiJ,YAAY,EAAE;QAC5D,IAAI,CAACnL,mBAAmB,CAAC8D,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;MAC5C;IACF,CAAC,CAAC;EACJ;EAEQT,yBAAyBA,CAACD,KAAa,EAAQ;IACrD,IAAI,IAAI,CAACN,SAAS,IAAI,IAAI,CAACD,gBAAgB,EAAE;IAC7C,KAAK,MAAMe,MAAM,IAAI,IAAI,CAACrC,gBAAgB,CAAC+C,MAAM,CAAC,CAAC,EAAE;MACnD,IAAI,CAAC/C,gBAAgB,CAACmE,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;MACvC,IAAI,CAAC9B,mBAAmB,CAAC0D,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;MAC1C,IAAI,CAAC7B,qBAAqB,CAACyD,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;MAC5C,IAAI,CAACjC,eAAe,CAAC6D,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;MACtC,KAAK,IAAI,CAAC+B,WAAW,CAAC,IAAI,CAACjE,mBAAmB,EAAEgC,MAAM,CAACE,EAAE,CAAC,CACvDI,KAAK,CAAC,MAAMqB,SAAS,CAAC;MACzB,KAAK,IAAI,CAACM,WAAW,CAAC,IAAI,CAAC/D,uBAAuB,EAAE8B,MAAM,CAACE,EAAE,CAAC,CAC3DI,KAAK,CAAC,MAAMqB,SAAS,CAAC;MACzB,KAAK,IAAI,CAACM,WAAW,CAAC,IAAI,CAAC9D,gBAAgB,EAAE6B,MAAM,CAACE,EAAE,CAAC,CACpDI,KAAK,CAAC,MAAMqB,SAAS,CAAC;MACzB,KAAK,IAAI,CAACM,WAAW,CAAC,IAAI,CAAC3D,2BAA2B,EAAE0B,MAAM,CAACE,EAAE,CAAC,CAC/DI,KAAK,CAAC,MAAMqB,SAAS,CAAC;MACzB,IAAI,CAAC7B,IAAI,CAAC,wBAAwB,EAAEE,MAAM,CAACE,EAAE,EAAE,cAAc,CAAC;MAC9D,IAAI,CAACJ,IAAI,CAAC,oBAAoB,EAAEE,MAAM,CAACE,EAAE,EAAEV,KAAK,CAAC;MACjD,IACE,IAAI,CAACX,oBAAoB,IACzB,IAAI,CAACC,mBAAmB,KAAKkB,MAAM,CAACqB,YAAY,EAChD;QACA,IAAI,CAACwH,sBAAsB,CAAC,CAAC;MAC/B;IACF;EACF;EAEQA,sBAAsBA,CAAA,EAAS;IACrC,IAAI,IAAI,CAAC9J,kBAAkB,IAAI,CAAC,IAAI,CAACD,mBAAmB,EAAE;IAC1D,MAAMsK,OAAO,GAAG,MAAAA,CAAA,KAA2B;MACzC,MAAM/H,YAAY,GAAG,IAAI,CAACvC,mBAAmB;MAC7C,IACE,CAAC,IAAI,CAACD,oBAAoB,IAC1B,CAACwC,YAAY,IACb,IAAI,CAACpC,gBAAgB,IACrB,IAAI,CAACC,SAAS,EACd;QACA,IAAI,CAAC8C,qBAAqB,CAAC,CAAC;QAC5B;MACF;MACA,IAAI,IAAI,CAACT,qBAAqB,CAACF,YAAY,CAAC,EAAE;QAC5C,IAAI,CAACW,qBAAqB,CAAC,CAAC;QAC5B;MACF;MACA,IAAI,IAAI,CAAChD,uBAAuB,EAAE;MAClC,IAAI,CAACA,uBAAuB,GAAG,IAAI;MACnC,IAAI;QACF,MAAM,IAAI,CAACoC,SAAS,CAACC,YAAY,EAAE;UAAEgI,WAAW,EAAE;QAAM,CAAC,CAAC;QAC1D,IAAI,CAACrH,qBAAqB,CAAC,CAAC;MAC9B,CAAC,CAAC,MAAM;QACN;MAAA,CACD,SAAS;QACR,IAAI,CAAChD,uBAAuB,GAAG,KAAK;MACtC;IACF,CAAC;IACD,KAAKoK,OAAO,CAAC,CAAC;IACd,IAAI,CAACrK,kBAAkB,GAAGuK,WAAW,CAAC,MAAM,KAAKF,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC;EACpE;EAEQpH,qBAAqBA,CAAA,EAAS;IACpC,IAAI,CAAC,IAAI,CAACjD,kBAAkB,EAAE;IAC9BwK,aAAa,CAAC,IAAI,CAACxK,kBAAkB,CAAC;IACtC,IAAI,CAACA,kBAAkB,GAAG,IAAI;EAChC;EAEQwC,qBAAqBA,CAACF,YAAoB,EAA0B;IAC1E,KAAK,MAAMrB,MAAM,IAAI,IAAI,CAACrC,gBAAgB,CAAC+C,MAAM,CAAC,CAAC,EAAE;MACnD,IACEV,MAAM,CAACqB,YAAY,KAAKA,YAAY,IACpCrB,MAAM,CAACoC,eAAe,KAAK,WAAW,EACtC;QACA,OAAOpC,MAAM;MACf;IACF;IACA,OAAO,IAAI;EACb;EAEQsC,gBAAgBA,CAACH,QAAgB,EAAmB;IAC1D,MAAMnC,MAAM,GAAG,IAAI,CAACrC,gBAAgB,CAAC8D,GAAG,CAACU,QAAQ,CAAC;IAClD,IAAI,CAACnC,MAAM,IAAIA,MAAM,CAACoC,eAAe,KAAK,WAAW,EAAE;MACrD,MAAMoH,mBAAW,CAACC,YAAY,CAACtH,QAAQ,CAAC;IAC1C;IACA,OAAOnC,MAAM;EACf;EAEA,MAAcyF,mBAAmBA,CAC/BzF,MAAuB,EACvB0J,OAA8B,EACb;IACjB,MAAMvF,KAAK,GAAG,MAAM,IAAI,CAACxB,aAAa,CAAC3C,MAAM,CAAC,CAACM,KAAK,CAAC,MAAM,IAAI,CAAC;IAChE,OAAOoJ,OAAO,CAACvF,KAAK,CAAC;EACvB;EAEA,MAAcqB,mBAAmBA,CAC/BxF,MAAuB,EACvBsD,SAAiB,EACjBqG,OAAyB,EACsB;IAC/C,MAAMC,SAAS,GAAGD,OAAO,KAAK,OAAO,GACjC,IAAI,CAACvK,MAAM,CAACqD,QAAQ,CAAC4C,qBAAqB,CAACrF,MAAM,EAAEsD,SAAS,CAAC,GAC7D,IAAI,CAAClE,MAAM,CAACqD,QAAQ,CAACiD,oBAAoB,CAAC1F,MAAM,EAAEsD,SAAS,CAAC;IAChE,MAAMuG,YAAY,GAAGD,SAAS,CAAChI,IAAI,CACjC,MAAM,IAAI,CAACiE,0BAA0B,CAAC7F,MAAM,CAAC,EAC7C,MAAM,IAAI,CAAC8F,oBAAoB,CAAC9F,MAAM,CAACE,EAAE,CAC3C,CAAC;IACD,IAAI,CAAC7B,qBAAqB,CAAC4B,GAAG,CAACD,MAAM,CAACE,EAAE,EAAE2J,YAAY,CAAC;IACvD,IAAI;MACF,MAAMzF,MAAM,GAAG,MAAMwF,SAAS;MAC9B,MAAMC,YAAY;MAClB,OAAOzF,MAAM;IACf,CAAC,CAAC,OAAO5E,KAAK,EAAE;MACd,MAAMqK,YAAY;MAClB,MAAMrK,KAAK;IACb,CAAC,SAAS;MACR,IAAI,IAAI,CAACnB,qBAAqB,CAACoD,GAAG,CAACzB,MAAM,CAACE,EAAE,CAAC,KAAK2J,YAAY,EAAE;QAC9D,IAAI,CAACxL,qBAAqB,CAACyD,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;MAC9C;IACF;EACF;EAEA,MAAc2F,0BAA0BA,CACtC7F,MAAuB,EACE;IACzB,MAAMoI,KAAK,GAAG,MAAM,IAAI,CAAChJ,MAAM,CAACqD,QAAQ,CAACqH,kBAAkB,CAAC9J,MAAM,CAAC;IACnE,IAAI,CAAC5B,mBAAmB,CAAC6B,GAAG,CAACD,MAAM,CAACE,EAAE,EAAEkI,KAAK,CAAC;IAC9C,OAAOA,KAAK;EACd;EAEQtC,oBAAoBA,CAAC3D,QAAgB,EAAkB;IAC7D,OAAO,IAAI,CAAC/D,mBAAmB,CAACqD,GAAG,CAACU,QAAQ,CAAC,IAAI;MAC/C4H,MAAM,EAAE,KAAK;MACbC,WAAW,EAAE;IACf,CAAC;EACH;EAEQ9D,YAAYA,CAClB+D,KAAuD,EACvD9H,QAAgB,EAChB+H,IAAyC,EACJ;IACrC,KAAK,IAAI,CAACjI,WAAW,CAACgI,KAAK,EAAE9H,QAAQ,CAAC;IACtC8H,KAAK,CAAChK,GAAG,CAACkC,QAAQ,EAAE+H,IAAI,CAAC;IACzB,KAAKA,IAAI,CAAC5J,KAAK,CAAC,MAAM;MACpB,IAAI2J,KAAK,CAACxI,GAAG,CAACU,QAAQ,CAAC,KAAK+H,IAAI,EAAED,KAAK,CAACnI,MAAM,CAACK,QAAQ,CAAC;IAC1D,CAAC,CAAC;IACF,OAAO+H,IAAI;EACb;EAEA,MAAc9D,cAAcA,CAC1B6D,KAAuD,EACvD9H,QAAgB,EAChBgI,QAA6C,EAC9B;IACf,IAAIF,KAAK,CAACxI,GAAG,CAACU,QAAQ,CAAC,KAAKgI,QAAQ,EAAE;IACtCF,KAAK,CAACnI,MAAM,CAACK,QAAQ,CAAC;IACtB,MAAM,CAAC,MAAMgI,QAAQ,EAAE9J,MAAM,CAAC,CAAC;EACjC;EAEA,MAAc4B,WAAWA,CACvBgI,KAAuD,EACvD9H,QAAgB,EACD;IACf,MAAMgH,YAAY,GAAGc,KAAK,CAACxI,GAAG,CAACU,QAAQ,CAAC;IACxC,IAAI,CAACgH,YAAY,EAAE;IACnBc,KAAK,CAACnI,MAAM,CAACK,QAAQ,CAAC;IACtB,MAAM,CAAC,MAAMgH,YAAY,EAAE9I,MAAM,CAAC,CAAC;EACrC;EAEQR,WAAWA,CAAA,EAAS;IAC1B,IAAI,IAAI,CAACX,SAAS,EAAE,MAAM,IAAIgG,KAAK,CAAC,kCAAkC,CAAC;EACzE;AACF;AAACkF,OAAA,CAAA7M,aAAA,GAAAA,aAAA;AAED,MAAM4I,iBAAiB,GAAI9F,MAAkB,IAAmB;EAC9D,IAAIgK,OAAO,GAAG,KAAK;EACnB,OAAO,MAAM;IACX,IAAIA,OAAO,EAAE;IACbA,OAAO,GAAG,IAAI;IACdhK,MAAM,CAAC,CAAC;EACV,CAAC;AACH,CAAC;AAED,MAAM8H,eAAe,GAAGA,CACtBD,QAAoC,EACpCD,KAAiD,KAClB;EAC/B,IAAIA,KAAK,KAAKtG,SAAS,EAAE,OAAOuG,QAAQ;EACxC,IAAID,KAAK,KAAK,IAAI,EAAE,OAAOtG,SAAS;EACpC,OAAO;IACL8F,MAAM,EAAEQ,KAAK,CAACR,MAAM,IAAIS,QAAQ,EAAET,MAAM,IAAI,MAAM;IAClD,IAAG,CAACQ,KAAK,CAACqC,cAAc,IAAIpC,QAAQ,EAAEoC,cAAc,MAAM3I,SAAS,GAC/D,CAAC,CAAC,GACF;MAAE2I,cAAc,EAAErC,KAAK,CAACqC,cAAc,IAAIpC,QAAQ,EAAEoC;IAAe,CAAC;IACxE,IAAG,CAACrC,KAAK,CAACsC,IAAI,IAAIrC,QAAQ,EAAEqC,IAAI,MAAM5I,SAAS,GAC3C,CAAC,CAAC,GACF;MAAE4I,IAAI,EAAEtC,KAAK,CAACsC,IAAI,IAAIrC,QAAQ,EAAEqC;IAAK,CAAC;IAC1C,IAAG,CAACtC,KAAK,CAACuC,SAAS,IAAItC,QAAQ,EAAEsC,SAAS,MAAM7I,SAAS,GACrD,CAAC,CAAC,GACF;MAAE6I,SAAS,EAAEvC,KAAK,CAACuC,SAAS,IAAItC,QAAQ,EAAEsC;IAAU,CAAC;EAC3D,CAAC;AACH,CAAC;AAED,MAAMrK,OAAO,GAAIX,KAAc,IAC7BA,KAAK,YAAY0F,KAAK,GAAG1F,KAAK,GAAG,IAAI0F,KAAK,CAACtB,MAAM,CAACpE,KAAK,CAAC,CAAC;AAE3D,MAAMsE,eAAe,GAAIjB,WAAwB,IAAa;EAC5D,QAAQA,WAAW;IACjB,KAAK,aAAa;MAAE,OAAO,CAAC;IAC5B,KAAK,YAAY;MAAE,OAAO,CAAC;IAC3B,KAAK,OAAO;MAAE,OAAO,CAAC;EACxB;AACF,CAAC;AAED,MAAM4H,oBAAoB,GAAIjL,KAAc,IAAyB;EACnE,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOmC,SAAS;EACzD,MAAM+I,MAAM,GAAGC,OAAO,CAAClJ,GAAG,CAACjC,KAAK,EAAE,gBAAgB,CAAC;EACnD,IAAI,OAAOkL,MAAM,KAAK,QAAQ,EAAE,OAAOA,MAAM;EAC7C,MAAME,QAAQ,GAAGD,OAAO,CAAClJ,GAAG,CAACjC,KAAK,EAAE,UAAU,CAAC;EAC/C,IAAI,CAACoL,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE,OAAOjJ,SAAS;EAC/D,MAAMkJ,MAAM,GAAGF,OAAO,CAAClJ,GAAG,CAACmJ,QAAQ,EAAE,gBAAgB,CAAC;EACtD,OAAO,OAAOC,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAGlJ,SAAS;AACxD,CAAC;AAED,MAAMqC,eAAe,GAAIxE,KAAc,IACpCA,KAAK,YAAY+E,yBAAiB,IAAI/E,KAAK,CAACsL,IAAI,KAAK,gBAAgB,IACtEL,oBAAoB,CAACjL,KAAK,CAAC,KAAK,CAAC;AAEnC,MAAM0E,iBAAiB,GAAGA,CACxB1E,KAAc,EACd2C,QAAgB,KACN;EACV,IAAI3C,KAAK,YAAY+E,yBAAiB,EAAE,OAAO/E,KAAK;EACpD,QAAQiL,oBAAoB,CAACjL,KAAK,CAAC;IACjC,KAAK,CAAC;MAAE,OAAO+E,yBAAiB,CAACE,YAAY,CAACtC,QAAQ,CAAC;IACvD,KAAK,CAAC;MAAE,OAAOoC,yBAAiB,CAACwG,YAAY,CAAC5I,QAAQ,CAAC;IACvD,KAAK,CAAC;MAAE,OAAOoC,yBAAiB,CAACyG,UAAU,CAAC7I,QAAQ,CAAC;IACrD,KAAK,CAAC;MAAE,OAAOoC,yBAAiB,CAAC0G,aAAa,CAAC9I,QAAQ,CAAC;IACxD;MAAS,OAAOhC,OAAO,CAACX,KAAK,CAAC;EAChC;AACF,CAAC;AAED,IAAI0L,0BAA0B,GAAG,CAAC;AAElC,MAAMpG,+BAA+B,GAAGA,CAAA,KAAc;EACpDoG,0BAA0B,IAAI,CAAC;EAC/B,OAAO,YAAY5C,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC4C,QAAQ,CAAC,EAAE,CAAC,IAAID,0BAA0B,CAACC,QAAQ,CAAC,EAAE,CAAC,EAAE;AACzF,CAAC;AAED,MAAMlG,qBAAqB,GACzBzF,KAAc,IACqD;EACnE,QAAQiL,oBAAoB,CAACjL,KAAK,CAAC;IACjC,KAAK,CAAC;MAAE,OAAO;QAAE8E,OAAO,EAAE,KAAK;QAAE9E,KAAK,EAAE;MAAgB,CAAC;IACzD,KAAK,CAAC;MAAE,OAAO;QAAE8E,OAAO,EAAE,KAAK;QAAE9E,KAAK,EAAE;MAAgB,CAAC;IACzD,KAAK,CAAC;MAAE,OAAO;QAAE8E,OAAO,EAAE,KAAK;QAAE9E,KAAK,EAAE;MAAc,CAAC;IACvD,KAAK,CAAC;MAAE,OAAO;QAAE8E,OAAO,EAAE,KAAK;QAAE9E,KAAK,EAAE;MAAiB,CAAC;IAC1D;MAAS,OAAOmC,SAAS;EAC3B;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.NativeUploadQueue = void 0;
|
|
7
|
+
var _eventemitter = _interopRequireDefault(require("eventemitter3"));
|
|
8
|
+
var _uploadRecoveryMetadata = require("./uploadRecoveryMetadata");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
const journalOperations = new WeakMap();
|
|
11
|
+
const journalOwners = new WeakMap();
|
|
12
|
+
const retryDelays = [30_000, 120_000, 600_000, 3_600_000, 14_400_000];
|
|
13
|
+
const cancelled = () => new Error('Upload cancelled');
|
|
14
|
+
const dispose = info => {
|
|
15
|
+
try {
|
|
16
|
+
info?.dispose?.();
|
|
17
|
+
} catch {/* Cleanup cannot change an acknowledged result. */}
|
|
18
|
+
};
|
|
19
|
+
/** Races application callbacks, not native teardown. Late credentials still release their lease. */
|
|
20
|
+
const abortable = (promise, signal, late) => new Promise((resolve, reject) => {
|
|
21
|
+
let settled = false;
|
|
22
|
+
const abort = () => {
|
|
23
|
+
if (!settled) {
|
|
24
|
+
settled = true;
|
|
25
|
+
reject(cancelled());
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
signal.addEventListener('abort', abort, {
|
|
29
|
+
once: true
|
|
30
|
+
});
|
|
31
|
+
if (signal.aborted) abort();
|
|
32
|
+
void promise.then(value => {
|
|
33
|
+
signal.removeEventListener('abort', abort);
|
|
34
|
+
if (settled) {
|
|
35
|
+
late?.(value);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
settled = true;
|
|
39
|
+
resolve(value);
|
|
40
|
+
}, error => {
|
|
41
|
+
signal.removeEventListener('abort', abort);
|
|
42
|
+
if (!settled) {
|
|
43
|
+
settled = true;
|
|
44
|
+
reject(error);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
/** Only metadata crosses this owner. Native hosts retain and upload every byte. */
|
|
50
|
+
class NativeUploadQueue extends _eventemitter.default {
|
|
51
|
+
tasks = [];
|
|
52
|
+
active = new Map();
|
|
53
|
+
credentials = new Map();
|
|
54
|
+
cancelledTasks = new Set();
|
|
55
|
+
paused = false;
|
|
56
|
+
destroyed = false;
|
|
57
|
+
initialized = false;
|
|
58
|
+
constructor(client, provider) {
|
|
59
|
+
super();
|
|
60
|
+
this.client = client;
|
|
61
|
+
this.provider = provider;
|
|
62
|
+
}
|
|
63
|
+
initialize() {
|
|
64
|
+
if (this.initialization) return this.initialization;
|
|
65
|
+
if (this.destroyed) return Promise.reject(cancelled());
|
|
66
|
+
const owner = journalOwners.get(this.client);
|
|
67
|
+
if (owner && owner !== this) return Promise.reject(new Error('Upload recovery journal is already owned by another RecordingManager'));
|
|
68
|
+
journalOwners.set(this.client, this);
|
|
69
|
+
this.initialization = this.serialize(async () => {
|
|
70
|
+
this.checkAlive();
|
|
71
|
+
const loaded = await this.client.loadUploadQueue();
|
|
72
|
+
this.checkAlive();
|
|
73
|
+
const restored = (0, _uploadRecoveryMetadata.restoreUploadQueue)(loaded);
|
|
74
|
+
if (restored.length > 0) await this.client.saveUploadQueue(restored);
|
|
75
|
+
this.checkAlive();
|
|
76
|
+
this.tasks = restored;
|
|
77
|
+
this.initialized = true;
|
|
78
|
+
}).then(() => {
|
|
79
|
+
for (const task of this.tasks.filter(value => value.status === 'completed')) {
|
|
80
|
+
void this.release(task).catch(() => undefined);
|
|
81
|
+
}
|
|
82
|
+
this.schedule();
|
|
83
|
+
}).catch(error => {
|
|
84
|
+
if (journalOwners.get(this.client) === this) journalOwners.delete(this.client);
|
|
85
|
+
throw error;
|
|
86
|
+
});
|
|
87
|
+
return this.initialization;
|
|
88
|
+
}
|
|
89
|
+
all() {
|
|
90
|
+
return this.tasks.map(task => ({
|
|
91
|
+
...task,
|
|
92
|
+
createdAt: new Date(task.createdAt),
|
|
93
|
+
updatedAt: new Date(task.updatedAt)
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
96
|
+
get(id) {
|
|
97
|
+
return this.all().find(task => task.id === id);
|
|
98
|
+
}
|
|
99
|
+
async add(task, info) {
|
|
100
|
+
await this.mutate(tasks => [...tasks, ...(0, _uploadRecoveryMetadata.persistedUploadQueue)([task])]);
|
|
101
|
+
this.credentials.set(task.id, info);
|
|
102
|
+
}
|
|
103
|
+
offerCredentials(id, info) {
|
|
104
|
+
if (this.active.has(id) || this.get(id)?.status === 'completed' || this.paused) return false;
|
|
105
|
+
this.discardCredentials(id);
|
|
106
|
+
this.credentials.set(id, info);
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
async update(id, patch, check) {
|
|
110
|
+
await this.mutate(tasks => {
|
|
111
|
+
check?.();
|
|
112
|
+
if (!tasks.some(task => task.id === id) || this.cancelledTasks.has(id)) throw cancelled();
|
|
113
|
+
return tasks.map(task => task.id === id ? {
|
|
114
|
+
...task,
|
|
115
|
+
...patch,
|
|
116
|
+
updatedAt: new Date()
|
|
117
|
+
} : task);
|
|
118
|
+
});
|
|
119
|
+
const info = this.credentials.get(id);
|
|
120
|
+
if (info && patch.relayUpload === false) this.credentials.set(id, {
|
|
121
|
+
...info,
|
|
122
|
+
relay: undefined
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
run(id, onProgress) {
|
|
126
|
+
if (this.active.has(id)) return this.active.get(id).promise;
|
|
127
|
+
if (this.get(id)?.status === 'completed') return Promise.resolve();
|
|
128
|
+
if (this.paused || this.destroyed || this.cancelledTasks.has(id)) return Promise.reject(cancelled());
|
|
129
|
+
const attempt = {
|
|
130
|
+
controller: new AbortController(),
|
|
131
|
+
nativeId: `${id}_${Date.now()}_${Math.random().toString(36).slice(2)}`,
|
|
132
|
+
promise: Promise.resolve()
|
|
133
|
+
};
|
|
134
|
+
this.active.set(id, attempt);
|
|
135
|
+
attempt.promise = this.perform(id, attempt, onProgress).finally(() => {
|
|
136
|
+
if (this.active.get(id) === attempt) this.active.delete(id);
|
|
137
|
+
this.schedule();
|
|
138
|
+
});
|
|
139
|
+
return attempt.promise;
|
|
140
|
+
}
|
|
141
|
+
async perform(id, attempt, onProgress) {
|
|
142
|
+
const signal = attempt.controller.signal;
|
|
143
|
+
const check = () => {
|
|
144
|
+
if (this.destroyed || signal.aborted || this.cancelledTasks.has(id) || !this.get(id) || this.active.get(id) !== attempt) throw cancelled();
|
|
145
|
+
};
|
|
146
|
+
let info;
|
|
147
|
+
let hostAbort;
|
|
148
|
+
let initialSignal;
|
|
149
|
+
const initialAbort = () => attempt.controller.abort();
|
|
150
|
+
let nativeStarted = false;
|
|
151
|
+
let nativeCancellation;
|
|
152
|
+
const cancelNative = () => {
|
|
153
|
+
if (nativeStarted && !nativeCancellation) {
|
|
154
|
+
nativeCancellation = this.client.cancelRecordingUpload(attempt.nativeId);
|
|
155
|
+
void nativeCancellation.catch(() => undefined);
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
signal.addEventListener('abort', cancelNative);
|
|
159
|
+
try {
|
|
160
|
+
check();
|
|
161
|
+
const task = this.get(id);
|
|
162
|
+
info = this.credentials.get(id);
|
|
163
|
+
this.credentials.delete(id);
|
|
164
|
+
initialSignal = info?.signal;
|
|
165
|
+
initialSignal?.addEventListener('abort', initialAbort, {
|
|
166
|
+
once: true
|
|
167
|
+
});
|
|
168
|
+
if (initialSignal?.aborted) initialAbort();
|
|
169
|
+
check();
|
|
170
|
+
if (info?.expiresAt && info.expiresAt.getTime() <= Date.now() && !info.alreadyUploaded && this.provider && !info.signal?.aborted) {
|
|
171
|
+
dispose(info);
|
|
172
|
+
info = undefined;
|
|
173
|
+
}
|
|
174
|
+
if (!info) {
|
|
175
|
+
if (!this.provider || !task.recordingUuid) throw new Error('Upload recovery requires a provider and recordingUuid');
|
|
176
|
+
info = await abortable(Promise.resolve().then(() => {
|
|
177
|
+
check();
|
|
178
|
+
return this.provider({
|
|
179
|
+
taskId: id,
|
|
180
|
+
recordingId: task.recordingId,
|
|
181
|
+
deviceId: task.deviceId,
|
|
182
|
+
recordingUuid: task.recordingUuid,
|
|
183
|
+
recoveryScope: task.recoveryScope,
|
|
184
|
+
fileSizeBytes: task.fileSizeBytes,
|
|
185
|
+
relayUpload: !!task.relayUpload,
|
|
186
|
+
contentType: task.contentType,
|
|
187
|
+
contentSha256: task.contentSha256,
|
|
188
|
+
signal
|
|
189
|
+
});
|
|
190
|
+
}), signal, dispose);
|
|
191
|
+
}
|
|
192
|
+
check();
|
|
193
|
+
if (!info) {
|
|
194
|
+
await this.update(id, {
|
|
195
|
+
status: 'pending',
|
|
196
|
+
nextAttemptAt: Date.now() + 30_000
|
|
197
|
+
}, check);
|
|
198
|
+
throw new Error('Upload waiting for its original account');
|
|
199
|
+
}
|
|
200
|
+
if (info.recordingId !== task.recordingId || info.recoveryScope !== task.recoveryScope) {
|
|
201
|
+
throw new Error('Upload recovery identity changed');
|
|
202
|
+
}
|
|
203
|
+
if (!info.alreadyUploaded && !!info.relay !== !!task.relayUpload) throw new Error('Upload recovery route changed');
|
|
204
|
+
hostAbort = () => attempt.controller.abort();
|
|
205
|
+
info.signal?.addEventListener('abort', hostAbort, {
|
|
206
|
+
once: true
|
|
207
|
+
});
|
|
208
|
+
if (info.signal?.aborted) hostAbort();
|
|
209
|
+
check();
|
|
210
|
+
if (info.expiresAt && info.expiresAt.getTime() <= Date.now() && !info.alreadyUploaded) throw new Error('Upload credentials expired');
|
|
211
|
+
await this.update(id, {
|
|
212
|
+
status: 'uploading',
|
|
213
|
+
errorMessage: undefined,
|
|
214
|
+
nextAttemptAt: undefined
|
|
215
|
+
}, check);
|
|
216
|
+
check();
|
|
217
|
+
this.emit('uploadStarted', id);
|
|
218
|
+
check();
|
|
219
|
+
if (!info.alreadyUploaded) {
|
|
220
|
+
nativeStarted = true;
|
|
221
|
+
await this.client.uploadRecordingFile({
|
|
222
|
+
...task,
|
|
223
|
+
id: attempt.nativeId,
|
|
224
|
+
uploadUrl: info.uploadUrl,
|
|
225
|
+
contentType: info.contentType ?? task.contentType,
|
|
226
|
+
uploadToken: info.complete ? undefined : info.uploadToken,
|
|
227
|
+
completeUrl: info.complete ? undefined : info.completeUrl,
|
|
228
|
+
relay: info.relay
|
|
229
|
+
}, value => {
|
|
230
|
+
try {
|
|
231
|
+
check();
|
|
232
|
+
} catch {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
onProgress?.(value);
|
|
236
|
+
this.emit('uploadProgress', id, value.totalBytes > 0 ? Math.min(value.completedBytes / value.totalBytes, 1) : 0);
|
|
237
|
+
});
|
|
238
|
+
check();
|
|
239
|
+
}
|
|
240
|
+
if (info.complete) {
|
|
241
|
+
if (task.fileSizeBytes === undefined) throw new Error('Upload completion requires known file size');
|
|
242
|
+
await abortable(Promise.resolve().then(() => {
|
|
243
|
+
check();
|
|
244
|
+
return info.complete({
|
|
245
|
+
fileSizeBytes: task.fileSizeBytes,
|
|
246
|
+
contentSha256: task.contentSha256,
|
|
247
|
+
signal
|
|
248
|
+
});
|
|
249
|
+
}), signal);
|
|
250
|
+
} else if (info.alreadyUploaded || this.provider && !info.relay && !(info.completeUrl && info.uploadToken)) {
|
|
251
|
+
throw new Error('Recoverable upload requires durable host completion acknowledgement');
|
|
252
|
+
}
|
|
253
|
+
check();
|
|
254
|
+
await this.update(id, {
|
|
255
|
+
status: 'completed',
|
|
256
|
+
errorMessage: undefined,
|
|
257
|
+
nextAttemptAt: undefined
|
|
258
|
+
}, check);
|
|
259
|
+
check();
|
|
260
|
+
await this.release(this.get(id)).catch(() => undefined);
|
|
261
|
+
check();
|
|
262
|
+
this.emit('uploadCompleted', id, task.recordingId);
|
|
263
|
+
} catch (error) {
|
|
264
|
+
if (!this.destroyed && !this.cancelledTasks.has(id) && this.get(id)?.status !== 'completed') {
|
|
265
|
+
const task = this.get(id);
|
|
266
|
+
const parked = info === null || signal.aborted;
|
|
267
|
+
const retry = !!this.provider && task.retryCount < 6 && Date.now() - task.createdAt.getTime() < 86_400_000;
|
|
268
|
+
await this.update(id, {
|
|
269
|
+
status: parked || retry ? 'pending' : 'failed',
|
|
270
|
+
retryCount: task.retryCount + (parked ? 0 : 1),
|
|
271
|
+
nextAttemptAt: parked ? Date.now() + 30_000 : retry ? Date.now() + retryDelays[Math.min(task.retryCount, 4)] : undefined,
|
|
272
|
+
errorMessage: parked ? 'Upload waiting for its original account' : 'Upload attempt failed'
|
|
273
|
+
}).catch(() => {
|
|
274
|
+
this.pause();
|
|
275
|
+
});
|
|
276
|
+
if (!this.destroyed) this.emit('uploadFailed', id, new Error(parked ? 'Upload paused' : 'Upload attempt failed'));
|
|
277
|
+
}
|
|
278
|
+
throw error;
|
|
279
|
+
} finally {
|
|
280
|
+
signal.removeEventListener('abort', cancelNative);
|
|
281
|
+
initialSignal?.removeEventListener('abort', initialAbort);
|
|
282
|
+
if (hostAbort) info?.signal?.removeEventListener('abort', hostAbort);
|
|
283
|
+
// Credential-only legacy callers can explicitly retry during this process.
|
|
284
|
+
if (!this.provider && info && !info.dispose && !info.signal && !this.destroyed && !this.cancelledTasks.has(id) && this.get(id)?.status !== 'completed') this.credentials.set(id, info);
|
|
285
|
+
dispose(info);
|
|
286
|
+
await nativeCancellation?.catch(() => {
|
|
287
|
+
this.pause();
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
async release(task) {
|
|
292
|
+
this.checkAlive();
|
|
293
|
+
await this.client.releaseRecordingFile(task.id, task.localPath);
|
|
294
|
+
}
|
|
295
|
+
async cancel(id) {
|
|
296
|
+
this.cancelledTasks.add(id);
|
|
297
|
+
const active = this.active.get(id);
|
|
298
|
+
active?.controller.abort();
|
|
299
|
+
this.discardCredentials(id);
|
|
300
|
+
if (!active) await this.client.cancelRecordingUpload(id);
|
|
301
|
+
await this.mutate(tasks => tasks.filter(task => task.id !== id));
|
|
302
|
+
}
|
|
303
|
+
discardCredentials(id) {
|
|
304
|
+
const credential = this.credentials.get(id);
|
|
305
|
+
this.credentials.delete(id);
|
|
306
|
+
dispose(credential);
|
|
307
|
+
}
|
|
308
|
+
async clearCompleted() {
|
|
309
|
+
const snapshot = this.all().filter(value => value.status === 'completed');
|
|
310
|
+
for (const task of snapshot) await this.release(task);
|
|
311
|
+
await this.mutate(tasks => tasks.filter(task => !snapshot.some(released => task.status === 'completed' && task.id === released.id && task.localPath === released.localPath && task.recordingId === released.recordingId && task.deviceId === released.deviceId && task.recordingUuid === released.recordingUuid && task.recoveryScope === released.recoveryScope)));
|
|
312
|
+
}
|
|
313
|
+
async clearAll() {
|
|
314
|
+
for (const task of this.all()) await this.cancel(task.id);
|
|
315
|
+
}
|
|
316
|
+
async retryFailed() {
|
|
317
|
+
const retry = this.all().filter(task => (task.status === 'failed' || task.status === 'pending' && task.nextAttemptAt) && !this.active.has(task.id) && !!task.localPath);
|
|
318
|
+
for (const task of retry) await this.update(task.id, {
|
|
319
|
+
status: 'pending',
|
|
320
|
+
retryCount: 0,
|
|
321
|
+
nextAttemptAt: undefined,
|
|
322
|
+
createdAt: new Date()
|
|
323
|
+
});
|
|
324
|
+
if (!this.paused) for (const task of retry) await this.run(task.id).catch(() => undefined);
|
|
325
|
+
}
|
|
326
|
+
pause() {
|
|
327
|
+
this.paused = true;
|
|
328
|
+
if (this.timer) clearTimeout(this.timer);
|
|
329
|
+
}
|
|
330
|
+
resume() {
|
|
331
|
+
this.checkAlive();
|
|
332
|
+
this.paused = false;
|
|
333
|
+
this.schedule();
|
|
334
|
+
}
|
|
335
|
+
destroy() {
|
|
336
|
+
if (this.destroyed) return;
|
|
337
|
+
this.destroyed = true;
|
|
338
|
+
if (journalOwners.get(this.client) === this) {
|
|
339
|
+
// New owners must read only after old persistence and native stop have settled.
|
|
340
|
+
const stopped = this.client.destroyCompatibilityOperations();
|
|
341
|
+
void stopped.catch(() => undefined);
|
|
342
|
+
void this.serialize(() => stopped).catch(() => undefined);
|
|
343
|
+
journalOwners.delete(this.client);
|
|
344
|
+
}
|
|
345
|
+
this.pause();
|
|
346
|
+
for (const attempt of this.active.values()) attempt.controller.abort();
|
|
347
|
+
for (const info of this.credentials.values()) dispose(info);
|
|
348
|
+
this.credentials.clear();
|
|
349
|
+
this.removeAllListeners();
|
|
350
|
+
}
|
|
351
|
+
schedule() {
|
|
352
|
+
if (!this.initialized || this.destroyed || this.paused) return;
|
|
353
|
+
if (this.timer) clearTimeout(this.timer);
|
|
354
|
+
let wake = Infinity;
|
|
355
|
+
for (const task of this.tasks) {
|
|
356
|
+
if (task.status !== 'pending' || !task.localPath || this.active.has(task.id) || this.cancelledTasks.has(task.id) || !this.provider && !this.credentials.has(task.id)) continue;
|
|
357
|
+
if ((task.nextAttemptAt ?? 0) > Date.now()) {
|
|
358
|
+
wake = Math.min(wake, task.nextAttemptAt);
|
|
359
|
+
continue;
|
|
360
|
+
}
|
|
361
|
+
if (this.active.size >= 2) continue;
|
|
362
|
+
void this.run(task.id).catch(() => undefined);
|
|
363
|
+
}
|
|
364
|
+
if (Number.isFinite(wake)) this.timer = setTimeout(() => this.schedule(), Math.max(1, wake - Date.now()));
|
|
365
|
+
}
|
|
366
|
+
serialize(operation) {
|
|
367
|
+
const next = (journalOperations.get(this.client) ?? Promise.resolve()).catch(() => undefined).then(operation);
|
|
368
|
+
journalOperations.set(this.client, next.catch(() => undefined));
|
|
369
|
+
return next;
|
|
370
|
+
}
|
|
371
|
+
mutate(change) {
|
|
372
|
+
return this.serialize(async () => {
|
|
373
|
+
this.checkAlive();
|
|
374
|
+
const next = change(this.tasks);
|
|
375
|
+
await this.client.saveUploadQueue((0, _uploadRecoveryMetadata.persistedUploadQueue)(next));
|
|
376
|
+
this.checkAlive();
|
|
377
|
+
this.tasks = next;
|
|
378
|
+
this.emit('queueUpdated', this.all());
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
checkAlive() {
|
|
382
|
+
if (this.destroyed) throw cancelled();
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
exports.NativeUploadQueue = NativeUploadQueue;
|
|
386
|
+
//# sourceMappingURL=NativeUploadQueue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_eventemitter","_interopRequireDefault","require","_uploadRecoveryMetadata","e","__esModule","default","journalOperations","WeakMap","journalOwners","retryDelays","cancelled","Error","dispose","info","abortable","promise","signal","late","Promise","resolve","reject","settled","abort","addEventListener","once","aborted","then","value","removeEventListener","error","NativeUploadQueue","EventEmitter","tasks","active","Map","credentials","cancelledTasks","Set","paused","destroyed","initialized","constructor","client","provider","initialize","initialization","owner","get","set","serialize","checkAlive","loaded","loadUploadQueue","restored","restoreUploadQueue","length","saveUploadQueue","task","filter","status","release","catch","undefined","schedule","delete","all","map","createdAt","Date","updatedAt","id","find","add","mutate","persistedUploadQueue","offerCredentials","has","discardCredentials","update","patch","check","some","relayUpload","relay","run","onProgress","attempt","controller","AbortController","nativeId","now","Math","random","toString","slice","perform","finally","hostAbort","initialSignal","initialAbort","nativeStarted","nativeCancellation","cancelNative","cancelRecordingUpload","expiresAt","getTime","alreadyUploaded","recordingUuid","taskId","recordingId","deviceId","recoveryScope","fileSizeBytes","contentType","contentSha256","nextAttemptAt","errorMessage","emit","uploadRecordingFile","uploadUrl","uploadToken","complete","completeUrl","totalBytes","min","completedBytes","parked","retry","retryCount","pause","releaseRecordingFile","localPath","cancel","credential","clearCompleted","snapshot","released","clearAll","retryFailed","timer","clearTimeout","resume","destroy","stopped","destroyCompatibilityOperations","values","clear","removeAllListeners","wake","Infinity","size","Number","isFinite","setTimeout","max","operation","next","change","exports"],"sourceRoot":"../../../src","sources":["managers/NativeUploadQueue.ts"],"mappings":"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","ignoreList":[]}
|