UNPKG

@todayapp/avantis-sdk

Version:

Unofficial TypeScript SDK for Avantis DEX - Decentralized perpetual futures trading (BETA)

1 lines 247 kB
{"version":3,"file":"index.mjs","sources":["../src/utils/errors.ts","../src/types/trading.ts","../src/types/market.ts","../src/utils/validation.ts","../src/constants/networks.ts","../src/providers/BlockchainProvider.ts","../src/utils/pairs.ts","../src/utils/formatting.ts","../src/contracts/index.ts","../src/fees/constants.ts","../src/fees/FeeManager.ts","../src/fees/MulticallBundler.ts","../src/constants/pythFeeds.ts","../src/clients/PythClient.ts","../src/clients/SocketAPIClient.ts","../src/clients/TraderClient.ts","../src/providers/WebSocketProvider.ts","../src/clients/FeedClient.ts","../src/clients/StorageClient.ts","../src/clients/PriceClient.ts","../src/AvantisSDK.ts","../src/utils/calculations.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["viemGetAddress"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;