@farcaster/mini-app-solana 0.0.0-canary-20250523140917

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024-present Merkle Manufactory Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,39 @@
1
+ # @farcaster/mini-app-solana
2
+
3
+ This package enables Mini Apps to interact with a user's Solana wallet through [Wallet Standard](https://github.com/anza-xyz/wallet-standard/).
4
+
5
+ Mini apps written in React can use [Wallet Adapter](https://github.com/anza-xyz/wallet-adapter/)'s React hooks, which are sort of like Solana's equivalent of Wagmi.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ pnpm add @farcaster/mini-app-solana
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ```
16
+ import * as React from 'react';
17
+ import { FarcasterSolanaProvider } from '@farcaster/mini-app-solana';
18
+ import { useWallet } from '@solana/wallet-adapter-react';
19
+
20
+ const solanaEndpoint = 'https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY';
21
+
22
+ function App() {
23
+ // FarcasterSolanaProvider internally renders ConnectionProvider
24
+ // and WalletProvider from @solana/wallet-adapter-react
25
+ return (
26
+ <FarcasterSolanaProvider endpoint={solanaEndpoint}>
27
+ <Content />
28
+ </FarcasterSolanaProvider>
29
+ )
30
+ }
31
+
32
+ function Content() {
33
+ const { publicKey } = useWallet();
34
+ const solanaAddress = publicKey?.toBase58() ?? '';
35
+ return <span>{solanaAddress}</span>;
36
+ }
37
+ ```
38
+
39
+ You can now interact with the user's connected wallet via Wallet Adapter.
@@ -0,0 +1 @@
1
+ export declare const localStorageKey = "fcWalletName";
@@ -0,0 +1 @@
1
+ export const localStorageKey = 'fcWalletName';
@@ -0,0 +1,2 @@
1
+ import './wallet';
2
+ export * from './provider';
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ import './wallet';
2
+ export * from './provider';
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ type FarcasterSolanaProviderProps = {
3
+ endpoint: string;
4
+ children: React.ReactNode;
5
+ };
6
+ export declare const FarcasterSolanaProvider: React.FC<FarcasterSolanaProviderProps>;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ConnectionProvider, WalletProvider, } from '@solana/wallet-adapter-react';
3
+ import * as React from 'react';
4
+ import { localStorageKey } from './constants';
5
+ // Farcaster Solana wallet will auto-connect
6
+ const wallets = [];
7
+ export const FarcasterSolanaProvider = React.memo(({ endpoint, children }) => (_jsx(ConnectionProvider, { endpoint: endpoint, children: _jsx(WalletProvider, { wallets: wallets, localStorageKey: localStorageKey, autoConnect: true, children: children }) })));
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+react@19.1.5/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.1.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.5/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.5/node_modules/@types/react/jsx-runtime.d.ts","../src/constants.ts","../../frame-core/dist/errors.d.ts","../../frame-core/dist/internal/types.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/v3/helpers/typeAliases.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/v3/helpers/util.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/v3/ZodError.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/v3/locales/en.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/v3/errors.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/v3/helpers/parseUtil.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/v3/helpers/enumUtil.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/v3/helpers/errorUtil.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/v3/helpers/partialUtil.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/v3/standard-schema.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/v3/types.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/v3/external.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/v3/index.d.ts","../../../node_modules/.pnpm/zod@3.25.7/node_modules/zod/dist/esm/index.d.ts","../../frame-core/dist/schemas/embeds.d.ts","../../frame-core/dist/schemas/events.d.ts","../../frame-core/dist/schemas/shared.d.ts","../../frame-core/dist/schemas/manifest.d.ts","../../frame-core/dist/schemas/notifications.d.ts","../../frame-core/dist/schemas/index.d.ts","../../frame-core/dist/actions/AddMiniApp.d.ts","../../frame-core/dist/actions/ComposeCast.d.ts","../../frame-core/dist/actions/Ready.d.ts","../../frame-core/dist/actions/SignIn.d.ts","../../frame-core/dist/actions/SendToken.d.ts","../../frame-core/dist/actions/SwapToken.d.ts","../../frame-core/dist/actions/ViewProfile.d.ts","../../frame-core/dist/actions/ViewToken.d.ts","../../frame-core/dist/actions/index.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/register.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/types.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/abi.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/errors.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/narrow.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/utils.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/types/signatures.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/formatAbiParameter.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/formatAbiParameters.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/formatAbiItem.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/formatAbi.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/types/utils.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/types/structs.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/parseAbi.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/parseAbiItem.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/parseAbiParameter.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/parseAbiParameters.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/errors/abiItem.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/errors/abiParameter.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/errors/signature.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/errors/splitParameters.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/human-readable/errors/struct.d.ts","../../../node_modules/.pnpm/abitype@1.0.8_typescript@5.8.3_zod@3.25.7/node_modules/abitype/dist/types/exports/index.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Errors.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/bytes.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/hex.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Hex.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Bytes.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Hash.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/types.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/PublicKey.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Address.d.ts","../../../node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/register.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/AbiItem.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/cursor.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/abiParameters.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/AbiParameters.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/abiItem.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Abi.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/abiConstructor.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/AbiConstructor.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/abiError.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/AbiError.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/AccessList.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Rlp.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Signature.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Authorization.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Transaction.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Withdrawal.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Block.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Filter.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/abiEvent.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/AbiEvent.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/abiFunction.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/AbiFunction.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/AesGcm.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/base58.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Base58.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Base64.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Kzg.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Blobs.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Bloom.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/BlsPoint.d.ts","../../../node_modules/.pnpm/@noble+curves@1.9.1/node_modules/@noble/curves/esm/abstract/modular.d.ts","../../../node_modules/.pnpm/@noble+curves@1.9.1/node_modules/@noble/curves/esm/abstract/curve.d.ts","../../../node_modules/.pnpm/@noble+curves@1.9.1/node_modules/@noble/curves/esm/abstract/utils.d.ts","../../../node_modules/.pnpm/@noble+curves@1.9.1/node_modules/@noble/curves/esm/abstract/hash-to-curve.d.ts","../../../node_modules/.pnpm/@noble+curves@1.9.1/node_modules/@noble/curves/esm/abstract/weierstrass.d.ts","../../../node_modules/.pnpm/@noble+curves@1.9.1/node_modules/@noble/curves/esm/abstract/tower.d.ts","../../../node_modules/.pnpm/@noble+curves@1.9.1/node_modules/@noble/curves/esm/abstract/bls.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Bls.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/lru.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Caches.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/ContractAddress.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/ens.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Ens.d.ts","../../../node_modules/.pnpm/@scure+bip32@1.7.0/node_modules/@scure/bip32/lib/esm/index.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/hdKey.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/HdKey.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Fee.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Json.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Log.d.ts","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/czech.d.ts","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/english.d.ts","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/french.d.ts","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/italian.d.ts","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/japanese.d.ts","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/korean.d.ts","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/portuguese.d.ts","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/simplified-chinese.d.ts","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/spanish.d.ts","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/traditional-chinese.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/mnemonic/wordlists.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Mnemonic.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/PersonalMessage.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/rpcSchema.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/RpcRequest.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/RpcResponse.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/promise.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/rpcTransport.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/RpcTransport.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Secp256k1.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/P256.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Siwe.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Solidity.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/TransactionEnvelope.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/TransactionEnvelopeLegacy.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/TransactionEnvelopeEip1559.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/TransactionEnvelopeEip2930.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/TransactionEnvelopeEip4844.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/TransactionEnvelopeEip7702.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/TransactionReceipt.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/TransactionRequest.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/TypedData.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/ValidatorData.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Value.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/webauthn.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/WebAuthnP256.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/WebCryptoP256.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/index.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/AccountProof.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/rpcSchemas/eth.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/internal/rpcSchemas/wallet.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/RpcSchema.d.ts","../../../node_modules/.pnpm/ox@0.4.4_typescript@5.8.3_zod@3.25.7/node_modules/ox/_types/core/Provider.d.ts","../../frame-core/dist/wallet/ethereum.d.ts","../../frame-core/dist/wallet/index.d.ts","../../frame-core/dist/context.d.ts","../../frame-core/dist/manifest.d.ts","../../../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_utf-8-validate@5.0.10/node_modules/@solana/web3.js/lib/index.d.ts","../../frame-core/dist/solana.d.ts","../../frame-core/dist/types.d.ts","../../frame-core/dist/solanaWire.d.ts","../../frame-core/dist/index.d.ts","../../frame-sdk/dist/types.d.ts","../../frame-sdk/dist/sdk.d.ts","../../../node_modules/.pnpm/comlink@4.4.2/node_modules/comlink/dist/umd/protocol.d.ts","../../../node_modules/.pnpm/comlink@4.4.2/node_modules/comlink/dist/umd/comlink.d.ts","../../frame-sdk/dist/frameHost.d.ts","../../frame-sdk/dist/index.d.ts","../../../node_modules/.pnpm/@scure+base@1.2.5/node_modules/@scure/base/lib/esm/index.d.ts","../../../node_modules/.pnpm/@wallet-standard+base@1.1.0/node_modules/@wallet-standard/base/lib/types/bytes.d.ts","../../../node_modules/.pnpm/@wallet-standard+base@1.1.0/node_modules/@wallet-standard/base/lib/types/identifier.d.ts","../../../node_modules/.pnpm/@wallet-standard+base@1.1.0/node_modules/@wallet-standard/base/lib/types/wallet.d.ts","../../../node_modules/.pnpm/@wallet-standard+base@1.1.0/node_modules/@wallet-standard/base/lib/types/window.d.ts","../../../node_modules/.pnpm/@wallet-standard+base@1.1.0/node_modules/@wallet-standard/base/lib/types/index.d.ts","../../../node_modules/.pnpm/@solana+wallet-standard-features@1.3.0/node_modules/@solana/wallet-standard-features/lib/types/signTransaction.d.ts","../../../node_modules/.pnpm/@solana+wallet-standard-features@1.3.0/node_modules/@solana/wallet-standard-features/lib/types/signAndSendTransaction.d.ts","../../../node_modules/.pnpm/@solana+wallet-standard-features@1.3.0/node_modules/@solana/wallet-standard-features/lib/types/signIn.d.ts","../../../node_modules/.pnpm/@solana+wallet-standard-features@1.3.0/node_modules/@solana/wallet-standard-features/lib/types/signMessage.d.ts","../../../node_modules/.pnpm/@solana+wallet-standard-features@1.3.0/node_modules/@solana/wallet-standard-features/lib/types/signAndSendAllTransactions.d.ts","../../../node_modules/.pnpm/@solana+wallet-standard-features@1.3.0/node_modules/@solana/wallet-standard-features/lib/types/index.d.ts","../../../node_modules/.pnpm/@wallet-standard+features@1.1.0/node_modules/@wallet-standard/features/lib/types/connect.d.ts","../../../node_modules/.pnpm/@wallet-standard+features@1.1.0/node_modules/@wallet-standard/features/lib/types/disconnect.d.ts","../../../node_modules/.pnpm/@wallet-standard+features@1.1.0/node_modules/@wallet-standard/features/lib/types/events.d.ts","../../../node_modules/.pnpm/@wallet-standard+features@1.1.0/node_modules/@wallet-standard/features/lib/types/index.d.ts","../src/wallet.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-base@0.9.26_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_utf-8-validate@5.0.10_/node_modules/@solana/wallet-adapter-base/lib/types/errors.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-base@0.9.26_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_utf-8-validate@5.0.10_/node_modules/@solana/wallet-adapter-base/lib/types/transaction.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-base@0.9.26_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_utf-8-validate@5.0.10_/node_modules/@solana/wallet-adapter-base/lib/types/adapter.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-base@0.9.26_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_utf-8-validate@5.0.10_/node_modules/@solana/wallet-adapter-base/lib/types/signer.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-base@0.9.26_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_utf-8-validate@5.0.10_/node_modules/@solana/wallet-adapter-base/lib/types/standard.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-base@0.9.26_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_utf-8-validate@5.0.10_/node_modules/@solana/wallet-adapter-base/lib/types/types.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-base@0.9.26_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_utf-8-validate@5.0.10_/node_modules/@solana/wallet-adapter-base/lib/types/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.4/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/@types+react@19.1.4/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-react@0.15.38_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_npy5gxwzlgba7cqggxxn4k6z6y/node_modules/@solana/wallet-adapter-react/lib/types/ConnectionProvider.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-react@0.15.38_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_npy5gxwzlgba7cqggxxn4k6z6y/node_modules/@solana/wallet-adapter-react/lib/types/errors.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-react@0.15.38_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_npy5gxwzlgba7cqggxxn4k6z6y/node_modules/@solana/wallet-adapter-react/lib/types/useAnchorWallet.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-react@0.15.38_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_npy5gxwzlgba7cqggxxn4k6z6y/node_modules/@solana/wallet-adapter-react/lib/types/useConnection.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-react@0.15.38_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_npy5gxwzlgba7cqggxxn4k6z6y/node_modules/@solana/wallet-adapter-react/lib/types/useLocalStorage.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-react@0.15.38_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_npy5gxwzlgba7cqggxxn4k6z6y/node_modules/@solana/wallet-adapter-react/lib/types/useWallet.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-react@0.15.38_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_npy5gxwzlgba7cqggxxn4k6z6y/node_modules/@solana/wallet-adapter-react/lib/types/WalletProvider.d.ts","../../../node_modules/.pnpm/@solana+wallet-adapter-react@0.15.38_@solana+web3.js@1.98.2_bufferutil@4.0.9_typescript@5.8.3_npy5gxwzlgba7cqggxxn4k6z6y/node_modules/@solana/wallet-adapter-react/lib/types/index.d.ts","../src/provider.tsx","../src/index.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.15.20/node_modules/@types/node/index.d.ts"],"fileIdsList":[[181,183,184,185,186,300,342],[181,300,342],[181,182,183,300,342],[300,342],[181,185,300,342],[149,248,276,277,300,342],[276,277,278,279,280,281,300,342],[248,270,277,278,300,342],[264,270,274,278,300,342],[248,300,342],[278,279,280,300,342],[248,284,300,342],[282,284,300,342],[282,300,342],[285,286,287,288,289,290,291,300,342],[284,300,342],[248,282,284,300,342],[264,265,266,267,268,269,300,342],[265,266,300,342],[264,265,300,342],[264,300,342],[300,342,357,359],[300,339,342],[300,341,342],[342],[300,342,347,377],[300,342,343,348,354,355,362,374,385],[300,342,343,344,354,362],[295,296,297,300,342],[300,342,345,386],[300,342,346,347,355,363],[300,342,347,374,382],[300,342,348,350,354,362],[300,341,342,349],[300,342,350,351],[300,342,354],[300,342,352,354],[300,341,342,354],[300,342,354,355,356,374,385],[300,342,354,355,356,369,374,377],[300,337,342,390],[300,337,342,350,354,357,362,374,385],[300,342,354,355,357,358,362,374,382,385],[300,342,357,359,374,382,385],[298,299,300,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391],[300,342,354,360],[300,342,361,385],[300,342,350,354,362,374],[300,342,363],[300,342,364],[300,341,342,365],[300,339,340,341,342,343,344,345,346,347,348,349,350,351,352,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391],[300,342,367],[300,342,368],[300,342,354,369,370],[300,342,369,371,386,388],[300,342,354,374,375,377],[300,342,376,377],[300,342,374,375],[300,342,377],[300,342,378],[300,339,342,374],[300,342,354,380,381],[300,342,380,381],[300,342,347,362,374,382],[300,342,383],[300,342,362,384],[300,342,357,368,385],[300,342,347,386],[300,342,374,387],[300,342,361,388],[300,342,389],[300,342,347,354,356,365,374,385,388,390],[300,342,374,391],[82,283,300,342],[81,82,300,342],[83,300,342],[260,261,262,263,300,342],[260,261,300,342],[262,300,342],[264,271,272,273,300,342],[117,118,300,342],[118,300,342],[117,119,120,121,122,124,125,126,127,130,131,132,133,134,135,136,137,138,300,342],[120,300,342],[119,120,123,300,342],[119,120,300,342],[119,126,300,342],[119,123,125,300,342],[118,119,123,300,342],[118,119,124,300,342],[118,119,123,128,129,300,342],[118,119,121,123,128,129,300,342],[118,119,300,342],[118,119,123,128,300,342],[117,118,119,123,129,300,342],[117,118,119,300,342],[255,300,342],[139,140,155,300,342],[139,140,143,146,151,154,156,157,300,342],[139,140,143,146,151,154,155,156,159,300,342],[139,140,143,144,145,146,148,151,154,155,156,169,300,342],[139,140,143,146,151,153,154,155,156,171,300,342],[139,140,143,145,146,155,156,300,342],[139,140,143,144,153,300,342],[140,143,146,148,300,342],[237,300,342],[139,140,144,145,147,300,342],[140,143,144,300,342],[140,143,145,146,148,162,163,300,342],[140,143,144,174,300,342],[140,143,144,146,152,177,300,342],[140,143,146,148,165,166,300,342],[140,143,144,145,300,342],[140,143,144,146,180,187,300,342],[140,143,144,146,300,342],[140,141,142,143,300,342],[189,300,342],[140,143,144,145,146,148,162,300,342],[140,143,144,145,192,300,342],[143,146,300,342],[140,143,146,148,167,300,342],[140,143,144,147,194,195,300,342],[140,141,142,144,300,342],[140,300,342],[140,144,300,342],[140,143,144,196,210,300,342],[140,143,144,147,163,181,183,185,300,342],[140,146,148,149,213,241,300,342],[140,143,144,146,152,300,342],[146,213,237,241,300,342],[146,237,300,342],[146,150,239,240,300,342],[140,146,213,215,216,217,241,300,342],[140,143,144,146,147,148,163,181,183,185,300,342],[140,146,148,300,342],[140,143,146,148,161,163,164,300,342],[140,143,145,146,148,161,162,163,223,300,342],[140,143,145,146,161,162,163,178,223,225,300,342],[140,143,145,146,148,161,162,163,164,223,300,342],[140,143,145,146,148,162,163,223,300,342],[140,143,146,148,199,300,342],[140,143,146,148,161,164,300,342],[139,140,143,144,145,146,148,154,198,300,342],[140,143,144,145,148,300,342],[140,143,144,145,146,147,163,176,220,234,300,342],[140,143,144,146,147,163,300,342],[140,143,300,342],[146,155,300,342],[139,143,146,155,168,300,342],[139,140,146,151,154,156,300,342],[139,140,143,144,146,148,152,154,300,342],[140,143,193,237,300,342],[140,194,196,300,342],[200,201,202,203,204,205,206,207,208,209,300,342],[241,300,342],[146,241,300,342],[143,148,165,167,168,197,199,229,230,238,241,300,342],[143,146,148,230,241,300,342],[140,146,214,215,218,241,300,342],[140,147,235,300,342],[140,143,144,145,147,148,150,151,154,156,158,160,161,162,163,164,165,166,167,168,170,172,173,175,176,177,178,179,180,188,190,191,193,196,197,198,199,211,212,214,215,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,235,236,238,241,242,300,342],[300,309,313,342,385],[300,309,342,374,385],[300,304,342],[300,306,309,342,382,385],[300,342,362,382],[300,342,392],[300,304,342,392],[300,306,309,342,362,385],[300,301,302,305,308,342,354,374,385],[300,309,316,342],[300,301,307,342],[300,309,330,331,342],[300,305,309,342,377,385,392],[300,330,342,392],[300,303,304,342,392],[300,309,342],[300,303,304,305,306,307,308,309,310,311,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,331,332,333,334,335,336,342],[300,309,324,342],[300,309,316,317,342],[300,307,309,317,318,342],[300,308,342],[300,301,304,309,342],[300,309,313,317,318,342],[300,313,342],[300,307,309,312,342,385],[300,301,306,309,316,342],[300,342,374],[300,304,309,330,342,390,392],[100,300,342],[88,89,100,300,342],[90,91,300,342],[88,89,90,92,93,98,300,342],[89,90,300,342],[98,300,342],[99,300,342],[90,300,342],[88,89,90,93,94,95,96,97,300,342],[86,87,107,300,342],[86,87,300,342],[108,109,110,111,112,113,114,115,300,342],[107,300,342],[86,107,116,244,245,246,249,250,251,300,342],[101,300,342],[102,103,104,105,106,300,342],[249,300,342],[107,110,116,243,244,245,249,300,342],[148,214,215,241,242,300,342],[243,300,342],[252,256,300,342],[252,254,257,300,342],[253,300,342],[149,242,252,300,342],[84,300,342],[84,275,293,300,342],[83,84,85,282,292,300,342],[84,85,252,258,259,264,270,274,300,342]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"8bf8b5e44e3c9c36f98e1007e8b7018c0f38d8adc07aecef42f5200114547c70","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"170d4db14678c68178ee8a3d5a990d5afb759ecb6ec44dbd885c50f6da6204f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"63a3a080e64f95754b32cfbf6d1d06b2703ee53e3a46962739e88fdd98703261","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"4beb02cd6c7f7e9aa12cfdd9445890ceb41cfe9246b66186c56d17d53f9ee122","signature":"d89173ba0164509f068955bb10b983f2cdd2e1be4a0ce9d9e6e22b671176aff5"},"d763a1ab6fad78930001bebda927869e32802b6148a68164739ba64a7dc123c1","9be523091a24ab0033804e91ed629eceb954e43f4008b7dfd1d9c5bcdefc40de",{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":99},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":99},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":99},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":99},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":99},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":99},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":99},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":99},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":99},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":99},{"version":"6be35ec0126bed0ddb8b7ca4faae4488f78173516c0739809b1ed345ac02b75a","impliedFormat":99},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":99},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":99},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":99},"c44f46f6b47e8b20340289279f858bd5fa8c4ccae8ee1485688cc891af033efc","5389ab15aff9998dc7300875dab27adf8d35d12a2a51e3b3b5dfeb9bb17a36fc","af8f1edf8406f01d4a6786f3c914b3837e34c7e7cabf32fdd7b0f0363cb93483","1090242be2d2575f4dae6d6604cbe204f36d43b0836a453141bfb26a4f7e6f7c","bf12d2ffb7574810b3ad9468192214dee36a8f40a9bc988e33e9de8963fd6a15","333ffdbcb0da98b65dc4890f0503ad66a1b28dbda9be8867a6df0f49a71bf9ff","499e19bd750766b1f070c2a7b8491ca94953b1d22e9493a3eb752d84cbe2c686","dc3bea148c9c932942c6f7d6f22cc57d8f7b1cfce6c08e7ec05bbb55aea794b9","d7e4737213b8f41387f3a8bb1dea2ec25b72bf44a6a4659aa937e1fdcdb74e33","0607de615d2a423ecdbf5eee6394967a676965f9acf6235e2ef36886aad3b7d4","00c59071551ac3d2d31f734f847b192472da0a4c8eb89adfb49987c09f50b5bc","e366ee97b347de7cdb6ad96ec9fdedf1bc6dac357d44cb004354a2245691f694","0d7aabc9751e0327a09fadeadaa6f310af91faae2c66f2662ff0d6b05c1ea2d0","69a541c3532f2819a22b2fc88ec05c0736186e506d8e9bdf75a02f944e169e0d","639f6291a73ffcac5e2bfc37642e3f62315407485642e58753290a477a7c0439",{"version":"b166e33cf8226ac8781899da244397e77e5b6528271339ce26ece0c2c7242d7f","impliedFormat":1},{"version":"a623d5cf7925e72dbf4602862499564389c7c3dc0ce049733cc0ec756a846667","impliedFormat":1},{"version":"d9028ded7b00c211d789db29f1b2d9d1b7600a4edcbbd087f1faf0495229d179","impliedFormat":1},{"version":"63634c0855e639ea7f609613d799bbb0dc774ec9f3242bc272c5567dc5ccd485","impliedFormat":1},{"version":"592f06c425ab27b4bafec624ef5b153cbdde9ac58f7113100a2da1c4309d1309","impliedFormat":1},{"version":"19c8ab51b4b07c529d95cd4d5c8d100a68dca247ec83a5097d35106fd8a7acca","impliedFormat":1},{"version":"72adc8e79ac32a81f3d515850cf8944a94f0dbc3c567835b37a45f601ccc1d3d","impliedFormat":1},{"version":"fb4f06b2af9ee4b2d2be8c964b0a8f6dd260be9048488ffcf04eb5c0fcb8bf61","impliedFormat":1},{"version":"f185055f36d76e2df5eeb87ae1148a25a125be2bff2095e1bd39c1c7ce85a640","impliedFormat":1},{"version":"9fcb4ef8bf8955c4e9c81bdf4e239d4c0c22869b6cf6ce2ecc95743bf683cb9f","impliedFormat":1},{"version":"979fdebc12d30becce6a15e68d99bc8a2a470a8dcf0898ac9e2d241a7e531940","impliedFormat":1},{"version":"1824ad7d4259910646279d667e517334c0aa24d5c810e8ea6da756fc2e02372f","impliedFormat":1},{"version":"989e9060e220ff86025044ba3c867a83512a655b7cf6253b2bd682192debf390","impliedFormat":1},{"version":"8b1feb568c859feb59236e9723b7a86e2ff8f9a8f2012366ffd1798164dc2798","impliedFormat":1},{"version":"8fab988b0129e674afc0bc0e95329b4052cf027f5d5b5b3e6e92d055b5ba88ef","impliedFormat":1},{"version":"4fe56d524ab24c225668803c1792945053e648b4e8fa4e50fa35594495b56732","impliedFormat":1},{"version":"2652931b8f7dca9a57f21aeb25b5d46851dcf17e4d5ed54b9b57d5d26e647680","impliedFormat":1},{"version":"d364c8df7d52199f5d011b4ded96f36dd114b984f5ee2e50ffe7d30ac1ab4bba","impliedFormat":1},{"version":"408f9eb3c7a3533bf5f07e0cde110a5ee0702864795ee6727792520fe60320b6","impliedFormat":1},{"version":"ba79eb15c36ff23e352ef608ceb7f9f0f278b15ad42512c05eedbe78f228e0e4","impliedFormat":1},{"version":"4cd233c6af471432253a67ae4f3b43c85e58a71418d98c3e162a1dac975c68f6","impliedFormat":1},{"version":"aa77c7d8ddc961e8192bcaa92da140e1205f8aee78bfadead5f52b8844d7d05c","impliedFormat":1},{"version":"37e37d3a525a207efab5458069fd9a27a174d2dc3af729702c81729ca03a349f","impliedFormat":1},{"version":"70997e63b7b3d90188fa2106753d35afd3b43b2bde957c46a5516d89e3ef0c1a","impliedFormat":1},{"version":"7fdaebdb3780d0549a8e0abcb18965e2f62224bdde633aeafb22c64c02fe9e9d","impliedFormat":1},{"version":"24f848479d1fd142d3d7cf034bedca247d1d9b8b31c2632c09695bd6a0441141","impliedFormat":1},{"version":"7e977910c045ec087f435905eb730e9c84e8d6b97f0dd0fe0c022dfed665613a","impliedFormat":1},{"version":"9c4ec2692cdb791823b9407753dec50d69b1b990cf7038cac3fab01e8ed5f709","impliedFormat":1},{"version":"176e7ce333b9988d68cfd5ab6717b20421a03b415af57f2a3bea1aa6b8d634a9","impliedFormat":1},{"version":"301a1ba797c537d2598a557af4862e7823353c80529c9a58bc1a0c08779deb5d","impliedFormat":1},{"version":"2f37ef3a5d3fb119b390cb48c77352914c814b98948633deac90099faae320a6","impliedFormat":1},{"version":"ca2ce76fd743888d0f0c5be48b1b17a864f5ff2b0d09e954d3690645a794533f","impliedFormat":1},{"version":"27679e96d1bd38c5938178aaf4abe8627493090b63d6bae2ce8436e6a87ebe4d","impliedFormat":1},{"version":"90887074bbd664eb4726465ccc6740fa8886e525e5c0afcc734e41df41851a60","impliedFormat":1},{"version":"4fb2df0b48ac55d960fedfb7e7b917d2d29608d7f351b70b6b3104e2d02d2f11","impliedFormat":1},{"version":"728ec07c8a50b9f22da9c9aa8859e29462526fd996ac1d21c6c9a81b78106dd5","impliedFormat":1},{"version":"3f48d378dba0b95f2d431d60efd4f3225791c0a880d1166181d6edb563160bde","impliedFormat":1},{"version":"f58e5f53ffdcac8ebbfdad16ea7e6164fc25e63f5e3cae8cb13395100ebb8da8","impliedFormat":1},{"version":"be9ef0a0446cf28d529a684e4a7d14101f03e054896704fbdc5470d8fa4de6b4","impliedFormat":1},{"version":"acd32f2f192d93e8161938ebfd74fa063e67a09cbe0156a74ae2e421a1e8f786","impliedFormat":1},{"version":"1eeb9deebe9a0a6cc52a32aa1533a1535ecc1b4e831290c753e72e0394e866a9","impliedFormat":1},{"version":"ae1f27a5966db7640edb4c82974b985acb7b1fa0859bff7cd769629436822d9a","impliedFormat":1},{"version":"a3d0b36bb3185da856cc0a7df02f63008935602ed09f84b0d960c7f9f7f6d63d","impliedFormat":1},{"version":"60319cf75d460432a0769a2f98a9ab6fc3ad39290bf7f1b33b922e832ff5b40e","impliedFormat":1},{"version":"30ceaf6e65817221c5c62cedfc26892a4b79a78c7eb7367bcccc0e217b517bf1","impliedFormat":1},{"version":"a3ea4adb87d130799d26945196bba7e889056c74dac98069d58c015d10f3c053","impliedFormat":1},{"version":"a82f1d66de93c80bca7a744647c748657c050341e53de63fae5aecb72f85f5e6","impliedFormat":1},{"version":"83dc49d957cb3b4af3a45cd7b54958149d21088d49f95e8ba6e3d3fb2b37d880","impliedFormat":1},{"version":"b7825c3d04bfc38caf9cb94341cede132d227654b28e3a603d1576bf199a7e47","impliedFormat":1},{"version":"d4832d1deaacad5d196b2a83239fb94c80f97df889c02a75859b05b460885300","impliedFormat":1},{"version":"888180b3d951298bf85d430543a1fa2fc6264fc847aef5baa821c743b5d84a58","impliedFormat":1},{"version":"4ec19d58993999260e0df245eec5fd6d7dd92978360c4f0706c9260091f55c70","impliedFormat":1},{"version":"0bc4f86d58f4a4b5a9563ba8d2b23a3fac187a6e167772f6689ea807081ed631","impliedFormat":1},{"version":"7a4e38850bfca2b105fd3e5609b68b52271fd7f2cab9f1d4031748e8bfd29633","impliedFormat":1},{"version":"496ee894efcd5de63169a3a4e47d74f16f754eb212b1ef209f9255aaaeef3450","impliedFormat":1},{"version":"246bec681a7465de230b083e0e63633b568a2d79c20fe167d3280e21200b22c8","impliedFormat":1},{"version":"45181e4221f90d98bf2046ba55cdc22411dc64b9a8cc04f1c8702038b7334d01","impliedFormat":1},{"version":"7fe0253ff44f072ea13fa372e2fbd007aa439df9560762950d38b4c203b2c51a","impliedFormat":1},{"version":"bf4ebcedc7324dd0cbe83488830f7966e808fabf4836d516d1b591ea91417c68","impliedFormat":1},{"version":"c53f7caa42ad0bff2b3cad20e4780990aadf647c845cb66cec004062cc4ae549","impliedFormat":1},{"version":"af0dfd141ecb2e24ef9a3028727214a69aa528d0be91e8728a7abd4fd6659b5f","impliedFormat":1},{"version":"786d583f831d03da4aed9f9354fd9c4ef00aa8122564da5e683631423639c258","impliedFormat":1},{"version":"418fdcdefc32953c6c7ea7e9979ce84b87618de9def698e73da2c16697fe023b","impliedFormat":1},{"version":"4d0db315ab6869de22694dc968fe740cfef635a21455a4d2bd33bc95b8eec381","impliedFormat":1},{"version":"b1ede571f4b0373b70706c32ce2bfc8300a51b99c5c8d29b46ce67f80673dd6d","impliedFormat":99},{"version":"a1b750892fdb9fbfaba761d05a119294816249789e22d7c7babb6cc06ef0f6f0","impliedFormat":99},{"version":"e7c8f5799dbd757a856ea16aa7559efbf77130bffd7af922a076708a125a751c","impliedFormat":99},{"version":"0a264cbb3f65a6f314a4a6b872d4787bd4f49c6582319114bb242ccce8bdd209","impliedFormat":99},{"version":"b04e50b2d0ff63bdd8af9356ba322599420f1ae0067031f8a5951e27a37d68e9","impliedFormat":99},{"version":"e9ecf153356cbe27354242dcb6a62234bf6d83c8c19d5204694694783c0b905c","impliedFormat":99},{"version":"83d783e14ae73ab5adeced6c66526daa1155f74512c00ce72902d1fc7c02484d","impliedFormat":99},{"version":"af807f4d873d3c603e802b9b8aef8fdf067a3e61e7dfe33f78a28fe21ca11061","impliedFormat":1},{"version":"08447e8b528a1f8d1162aa044695d460ce5179a78bd174fa0673fa16b06011aa","impliedFormat":1},{"version":"8e532c6486042736463d1116d45b0db814d969ffd2ee822e4e5ce975807c16f0","impliedFormat":1},{"version":"fad47f66fef1ff277730abff9c9330dd70284eb0ced43d6dd6aee15fc5f19a1b","impliedFormat":1},{"version":"7b4b0aaf0978122b44aa6317977be3e2f9d3d261ae4a8d93bfd511a7ddee7dfe","impliedFormat":1},{"version":"cb5def9d6efe73b09a7adce13bbb7fad7ee6df7a59259300de6ca77fe84041fc","impliedFormat":1},{"version":"1ddd1ca692a6c656ade0a85c9a722b3679b3d0bf113b699908e0325cf3537dbe","impliedFormat":99},{"version":"16c6ff8bcfef0ad22abffa3329760bb611c4c4aa098ece0d6bcfd1cd16610997","impliedFormat":1},{"version":"3d15157b6685e63a7e43a39bbc1fbcfdbf1250fa3598af55a2384f6f31260c86","impliedFormat":1},{"version":"58b5bc399cd98b87eff2c80d995d4dd63e69c801ec880b85c7da73ddc561a751","impliedFormat":1},{"version":"401c5b0f01bb0dce7a85899d8665c7d9c0b1637dc642805320d76c1a071135dd","impliedFormat":1},{"version":"af81e13747ef7589a726505dd4c2dcf00bb2b9fd7c3c84d580c1d02dbc3b58a9","impliedFormat":1},{"version":"6a1197b37f8f406bfb74528ca1fb90659c6d1a251d472b1c65affb5c6a6ba5f8","impliedFormat":99},{"version":"6a1197b37f8f406bfb74528ca1fb90659c6d1a251d472b1c65affb5c6a6ba5f8","impliedFormat":99},{"version":"6a1197b37f8f406bfb74528ca1fb90659c6d1a251d472b1c65affb5c6a6ba5f8","impliedFormat":99},{"version":"6a1197b37f8f406bfb74528ca1fb90659c6d1a251d472b1c65affb5c6a6ba5f8","impliedFormat":99},{"version":"6a1197b37f8f406bfb74528ca1fb90659c6d1a251d472b1c65affb5c6a6ba5f8","impliedFormat":99},{"version":"6a1197b37f8f406bfb74528ca1fb90659c6d1a251d472b1c65affb5c6a6ba5f8","impliedFormat":99},{"version":"6a1197b37f8f406bfb74528ca1fb90659c6d1a251d472b1c65affb5c6a6ba5f8","impliedFormat":99},{"version":"6a1197b37f8f406bfb74528ca1fb90659c6d1a251d472b1c65affb5c6a6ba5f8","impliedFormat":99},{"version":"6a1197b37f8f406bfb74528ca1fb90659c6d1a251d472b1c65affb5c6a6ba5f8","impliedFormat":99},{"version":"6a1197b37f8f406bfb74528ca1fb90659c6d1a251d472b1c65affb5c6a6ba5f8","impliedFormat":99},{"version":"516c53364c6b242591c65afc8b0f0f0cee74ac8a04f52470a539fcb33da2e318","impliedFormat":1},{"version":"cdf612f32afd760cd4a568e3f0c4646394f18fe2277a5ec1c084f1430776f1e0","impliedFormat":1},{"version":"e8ee036c1281885b9cc58f9d1d47472037d080a45b44a3ecbb8fea445e87415d","impliedFormat":1},{"version":"cca7da500accfa2e8689e453b1d74d05bcbf1dc6ef86f12b8cb1518a880adffa","impliedFormat":1},{"version":"3470c8f802d69951553de4bf72f42a77b1d273c971dc8462d7ac94b2d5069171","impliedFormat":1},{"version":"778e3be9387041245dc4eddd0efe6a61f0ebe4bed017493a30785abd027b0458","impliedFormat":1},{"version":"312476b9c5aa822a32c969ad650d1b475b631506af9a1448abf2d714997f7510","impliedFormat":1},{"version":"2dc955a0fbc3c0b9a49bcc3ffb9dfb31b3a53af0db862260dd4f824c6b4ff36c","impliedFormat":1},{"version":"0f513df152e8cd877ddc47e1a767f77d2111d7b5dfbc4f68ca355d1dd59c062c","impliedFormat":1},{"version":"947dba9cff98d6eeeb5c1933600a03d2ea16967dc3c4080c15e5d4667990f814","impliedFormat":1},{"version":"396b5bf9e2469a7736cc70f5b0a4340bf5e74ca8337213cbfc1f9c44b0e3799c","impliedFormat":1},{"version":"0c904d0442caed7effc17e2c70c7c96df0b34797e1adb9999ce5e5bbbf7e1471","impliedFormat":1},{"version":"4e42a180e6ad34da29c0f9e0e34dfe728292d4148aeb1a36e3ca8e6551f0fc42","impliedFormat":1},{"version":"8722ec4640f5eb5dcc91be6e59e6148b861e93954a766e05d5d55dd96b29e1c1","impliedFormat":1},{"version":"3118f4f3494834d0a131955088b28cba84639a66e23e6de211bdb75fe518ea90","impliedFormat":1},{"version":"8ec50f5d9824f3692fe32a80fb160d72ea39d94c5aac4f3334f7724ae61de6df","impliedFormat":1},{"version":"dfafee7cd0b796c959cd7f4c6d4ae2f1f89fab40129d993dd564f9ef0bd0068d","impliedFormat":1},{"version":"24056a75e8e602d911cea68b06b5e238604aff92d30ec8a119a2ecf07568d4fb","impliedFormat":1},{"version":"bc5fa245e7a3eb9216ce30106e37294a9691efd85391e3de61478c3ca0da360e","impliedFormat":1},{"version":"0a3d92e1ed031f67294fc02692352444c0514e371b7093b8d224b6f9ea02d958","impliedFormat":1},{"version":"cc31889ffc5c322ff53137f54f3aa8f74a969cd01adbb296737231f31a870322","impliedFormat":1},{"version":"4523237b5a992a30850668522bb1719bab8f9e50c00b6428f660ca75a451a7b1","impliedFormat":1},{"version":"f116a1399a2583ff7ce15068f007e5c47d06c9964674bc48ea6e69867d0692a5","impliedFormat":1},{"version":"68cabe63e69d17160c77eeefafd83df10a4c0ec3353b6a91a48a205e9dd505ab","impliedFormat":1},{"version":"400ba51008a98a5afc065b12c3aee8f447a0b66c2a4c1bcc3e5a2f41015ddee7","impliedFormat":1},{"version":"49f735c4888a72b7e70b4a90db308ea672967fc2a1670c5b6b598f6b09403baf","impliedFormat":1},{"version":"5a75e49d8e0a78e2cc02bd13fcab4f26d5d6729912e2096b6fe442b0960c0cf7","impliedFormat":1},{"version":"033f67989da6c569db0bc974ddf084a431e226068730d8b31c3fecfa3ec0f8dc","impliedFormat":1},{"version":"3ee38e0bac65430814b195ed22b5aadfbe4fbd8890c5e5b45a7ba13f05c0ea0d","impliedFormat":1},{"version":"e20c7790d6923b9663bff5ba3b3bb2769f65df6fdd3294034fd9d289034ebe95","impliedFormat":1},{"version":"3df74fc90d6cf9c51ad6864a7d9e1e6d162a6e158f99ab2b7d878b4646aa343b","impliedFormat":1},{"version":"306712d7dc95ea2006413dec36b165bff346626340d2ba5adc14a3bafdcb57db","impliedFormat":1},{"version":"9a3b507c7f949ca6e0988c7a799913d8ad237434b61c5f8ef8651c770e82db8e","impliedFormat":1},"92668ad2caa8fa1e4cd99ee73ccbcbf5029cf22aa2bc366b9294c85cddcbdabf","2d419a307de41af27b271c04caf695f1dadcc89d60282bcd0a0140c176c63575","2053bae8b55f20ca64c2c6d8b214ceebb5296e40b7589dba60ab46e40e904f02","3524dc5359a80f076f7c36b59770e404c818afeb1ac6da3e71d1cd7995e67ee7",{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"d399924e7c02f65744ed87cdd5b2ec79449e6b009f2c98baa38d42ade768a5f9","impliedFormat":1},"ec776c4ed95917698919ff67de4dc85a5aadaab9a312c49780eea0f7223f41b6","13d7be9dd6a81385355ba973208fbef5ddb5a77e2e94ad4855ab5b6379c87102","cfa54ff1dbc4e25f162e023f434448f23e25d04e62e0731bf929e5be99865736","e97c20235331c4536b11ed4711746637aa564bbd5c4a44e1ae37af5ac8b4df9c",{"version":"950e0c4ff10ecbc11a0c03a02ac04e271ad1752fa6606be8bb579cc15ec8059a","affectsGlobalScope":true},"f539f6c2f7251b1d99d9401823d2706ae7ce3a445f920777c0888fb9a9f0ebd9",{"version":"c0a456eb21680eca96d5e836e2a5cc74730a2c0e03f18eb17a7f652b30c993e4","impliedFormat":1},{"version":"9426d1cc15328fcbb59adb88880ccfd79f2bc959334d485273da743aac083eaa","impliedFormat":1},"924ccf9c931cce2c25b12cafd5552d8e6a92182b575e286b6f56754b60f5c03c","efc98e8099b72d0b8055434072900e456a8aa4b0589daf19c7d6d761d2c22a92",{"version":"400bb49269c73740c04418c3739ddab3675428d51b203fc187c3fbf278511f24","impliedFormat":99},{"version":"dfd85bb9018f85a16f56b2bdb06712550c72ad43771c984f0740933562716b9f","impliedFormat":99},{"version":"25b4ea24da7466384d81d69032e567677fca0513b0b44cea20d129ff6096c289","impliedFormat":99},{"version":"96355d8065d0c096957b951e23a16988f9f5f18e1bf680213af92de3a2071a5d","impliedFormat":99},{"version":"2f9c7e500eac01c5a7338a3cd95ef8a9e9e08295d4a8b2f4c84ef647bd4fd977","impliedFormat":99},{"version":"1a810061be5ef5057426198bed4dc914b1995bc525152bd4af593c2a51a799b7","impliedFormat":99},{"version":"2eae2a64daf9e1642c5ea356165b7267b86d473fee174bca9ce2a3e05b4dcfb3","impliedFormat":99},{"version":"f24a45a5873ff6787ff119a0bc4baa71a87b0b55ee5b7ee64508a7cd4e6bc3a5","impliedFormat":99},{"version":"735a70c5321c7e450166f2e4f96ce041da8eff05205235494dbe37c2ecd7c70b","impliedFormat":99},{"version":"04b9d37b1ee0dd5e040b6003205a54fe52290ad5760fd5f8755c7fbccfd31a21","impliedFormat":99},{"version":"335a13a7cf9d4efc2ad19cf394d9218c8f5d7f6e3003221e87137ebd06a36029","impliedFormat":99},{"version":"cf7eee93b10d29fa3c1f4190be481b21819440fb1ff9e3c82de6959dba90b00b","impliedFormat":99},{"version":"48998ffd6da8e45e175564b60600f5eeb0e0bb8535ac3406104cb392dca16a67","impliedFormat":99},{"version":"ecb017e1aa6e9639cbfa5022b9609e3f925bf5a0fec1fc42cf1b069e9ec4ee06","impliedFormat":99},{"version":"994d246e044aa50e3ae6805b2df313eaa0c9b47592ad9aca9bf512a6d6da24ba","impliedFormat":99},{"version":"0e9b283fc85241f6309eb2e0cc86335a00f19357641b763bd5b35e4b4a185852","impliedFormat":99},{"version":"7da83cb47dac0dbb281539e4e059110b05f6a72a4ceee2ffa3fd19f241307554","signature":"cb4dd6d09a944856c0ec0b3ce57008dc3c73441710b94f384ffce2c86a504569"},{"version":"492ef21324572abab0ca497ac640b5469a064ebcdb5a1fe4044ef1935b6f6c76","impliedFormat":99},{"version":"d410c210be7249d0489e02ecc5e4466616e176e0c933ff41706c71beac18ef49","impliedFormat":99},{"version":"b45bc63bd6c1eefc3ac032b4101407e671a86ca06afedb66a92b1ad829be9c89","impliedFormat":99},{"version":"df5388c4759b04952a42f553c638f71ef71925cefc04bd6d05ba2630b04f4fb9","impliedFormat":99},{"version":"8ab28ab45ca50945fa0c74424118f43c75043e3e083b506b9bfcc94f59f3ebdd","impliedFormat":99},{"version":"321a87a59bf1dc99b3fbb4105b428e17bd02f83c00e8f207aa9c281a7906555f","impliedFormat":99},{"version":"08021f31ae6e5023b470085cac3a5d9c6320da61d11d8c82916c0630967aa346","impliedFormat":99},{"version":"742d4b7b02ffc3ba3c4258a3d196457da2b3fec0125872fd0776c50302a11b9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"03566a51ebc848dec449a4ed69518e9f20caa6ac123fa32676aaaabe64adae8e","impliedFormat":1},{"version":"e3b1f140b6186cd2d97a4da7540b7c1938fc98cf3a67ab1476815a22c7ea091c","impliedFormat":99},{"version":"69eae2f5a5b37df55c9d351ca6bba2e66a51d4a25955bc4fd2bd8eb9eb1ccfc9","impliedFormat":99},{"version":"fa77799bcd30ea7d4845d0301eb328895178b13947334187aa814490c466565c","impliedFormat":99},{"version":"dd36fd0cefdd9faa48425b38766f60f3ef3a0f95ae2d862e032edb3e5e949f0c","impliedFormat":99},{"version":"633a5f46f0c0170ced85f9f012d8ce501946de73c86a1c5c09da9c01139f4921","impliedFormat":99},{"version":"423ffc8a977f69666f81c190be8cc448fcd13a98711e0ca54944118589c3598f","impliedFormat":99},{"version":"f5db115d21d773e8c32bd8336f58cc336caf560cfb41f59c082f663131cc47c8","impliedFormat":99},{"version":"7ac95a7c5435582e717b22816ba10b499fa06cf9ef537affac86f0d44ce707a6","impliedFormat":99},{"version":"b334fdd665145f9900db2e3645195b42f808fcb71bd9aacf5123f925e249486d","signature":"5ea4fd0d290da998414ec140d69f4907b512f534d72fa15f42309b01da27798b"},{"version":"f678ef4117d363e05e30349548b6e69b5855b1af10d1690dd1fc720952aa9f36","signature":"8df7a066c825250c277ff5cde1ddf583e9d26a8b81a781069355a1e34c00970e"},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"88d9a77d2abc23a7d26625dd6dae5b57199a8693b85c9819355651c9d9bab90f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"b200675fd112ffef97c166d0341fb33f6e29e9f27660adde7868e95c5bc98beb","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a0a1dda070290b92da5a50113b73ecc4dd6bcbffad66e3c86503d483eafbadcf","impliedFormat":1},{"version":"59dcad36c4549175a25998f6a8b33c1df8e18df9c12ebad1dfb25af13fd4b1ce","impliedFormat":1},{"version":"9ba5b6a30cb7961b68ad4fb18dca148db151c2c23b8d0a260fc18b83399d19d3","impliedFormat":1},{"version":"3f3edb8e44e3b9df3b7ca3219ab539710b6a7f4fe16bd884d441af207e03cd57","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"8cf7e92bdb2862c2d28ba4535c43dc599cfbc0025db5ed9973d9b708dcbe3d98","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"c878f74b6d10b267f6075c51ac1d8becd15b4aa6a58f79c0cfe3b24908357f60","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"8c2ad42d5d1a2e8e6112625767f8794d9537f1247907378543106f7ba6c7df90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"12e8ce658dd17662d82fb0509d2057afc5e6ee30369a2e9e0957eff725b1f11d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"858f999b3e4a45a4e74766d43030941466460bf8768361d254234d5870480a53","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"63b05afa6121657f25e99e1519596b0826cda026f09372c9100dfe21417f4bd6","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1}],"root":[85,275,293,294],"options":{"declaration":true,"esModuleInterop":true,"jsx":4,"module":99,"outDir":"./","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[187,1],[182,2],[184,3],[181,4],[186,5],[183,4],[185,3],[259,4],[194,4],[200,4],[201,4],[202,4],[203,4],[204,4],[205,4],[206,4],[207,4],[208,4],[209,4],[278,6],[276,4],[282,7],[279,8],[280,9],[277,10],[281,11],[285,12],[291,13],[286,14],[292,15],[287,10],[288,12],[289,16],[290,17],[270,18],[269,19],[266,20],[267,21],[268,21],[265,21],[248,22],[339,23],[340,23],[341,24],[300,25],[342,26],[343,27],[344,28],[295,4],[298,29],[296,4],[297,4],[345,30],[346,31],[347,32],[348,33],[349,34],[350,35],[351,35],[353,36],[352,37],[354,38],[355,39],[356,40],[338,41],[299,4],[357,42],[358,43],[359,44],[392,45],[360,46],[361,47],[362,48],[363,49],[364,50],[365,51],[366,52],[367,53],[368,54],[369,55],[370,55],[371,56],[372,4],[373,4],[374,57],[376,58],[375,59],[377,60],[378,61],[379,62],[380,63],[381,64],[382,65],[383,66],[384,67],[385,68],[386,69],[387,70],[388,71],[389,72],[390,73],[391,74],[283,4],[284,75],[81,4],[83,76],[84,77],[260,4],[261,4],[264,78],[262,79],[263,80],[271,21],[272,4],[273,21],[274,81],[119,82],[120,83],[139,84],[134,85],[135,86],[136,87],[137,85],[138,85],[127,88],[126,89],[124,90],[125,91],[130,92],[131,93],[132,93],[133,93],[123,94],[129,95],[128,96],[121,4],[117,4],[118,4],[122,97],[247,4],[256,98],[255,4],[82,4],[149,4],[156,99],[158,100],[160,101],[170,102],[172,103],[151,104],[154,105],[161,106],[238,107],[148,108],[173,109],[164,110],[175,111],[176,109],[178,112],[167,113],[179,114],[188,115],[180,116],[144,117],[190,118],[191,119],[193,120],[140,4],[197,121],[168,122],[145,109],[196,123],[143,124],[198,125],[177,126],[199,106],[211,127],[220,128],[212,114],[242,129],[147,116],[162,130],[214,131],[215,132],[241,133],[218,134],[219,135],[163,116],[221,136],[222,4],[165,137],[223,106],[225,138],[226,138],[227,139],[228,140],[224,141],[229,142],[230,143],[231,144],[232,145],[233,125],[235,146],[236,147],[166,148],[157,149],[159,149],[169,150],[171,149],[155,151],[153,152],[174,109],[141,126],[152,126],[192,153],[195,154],[142,148],[189,4],[210,155],[216,125],[150,156],[213,157],[239,158],[240,159],[217,160],[146,4],[234,161],[237,162],[79,4],[80,4],[13,4],[14,4],[16,4],[15,4],[2,4],[17,4],[18,4],[19,4],[20,4],[21,4],[22,4],[23,4],[24,4],[3,4],[25,4],[26,4],[4,4],[27,4],[31,4],[28,4],[29,4],[30,4],[32,4],[33,4],[34,4],[5,4],[35,4],[36,4],[37,4],[38,4],[6,4],[42,4],[39,4],[40,4],[41,4],[43,4],[7,4],[44,4],[49,4],[50,4],[45,4],[46,4],[47,4],[48,4],[8,4],[54,4],[51,4],[52,4],[53,4],[55,4],[9,4],[56,4],[57,4],[58,4],[60,4],[59,4],[61,4],[62,4],[10,4],[63,4],[64,4],[65,4],[11,4],[66,4],[67,4],[68,4],[69,4],[70,4],[1,4],[71,4],[72,4],[12,4],[76,4],[74,4],[78,4],[73,4],[77,4],[75,4],[316,163],[326,164],[315,163],[336,165],[307,166],[306,167],[335,168],[329,169],[334,170],[309,171],[323,172],[308,173],[332,174],[304,175],[303,168],[333,176],[305,177],[310,178],[311,4],[314,178],[301,4],[337,179],[327,180],[318,181],[319,182],[321,183],[317,184],[320,185],[330,168],[312,186],[313,187],[322,188],[302,189],[325,180],[324,178],[328,4],[331,190],[101,191],[90,192],[92,193],[99,194],[94,4],[95,4],[93,195],[96,196],[88,4],[89,4],[100,197],[91,198],[97,4],[98,199],[108,200],[109,4],[110,4],[112,4],[111,201],[113,4],[114,4],[115,4],[116,202],[245,203],[86,4],[252,204],[87,4],[246,4],[102,205],[103,205],[107,206],[105,205],[106,205],[104,205],[249,10],[251,207],[250,208],[243,209],[244,210],[257,211],[258,212],[254,213],[253,214],[85,215],[294,216],[293,217],[275,218]],"version":"5.8.3"}
@@ -0,0 +1,73 @@
1
+ import { type SolanaSignAndSendAllTransactionsMethod, type SolanaSignAndSendTransactionInput, type SolanaSignAndSendTransactionMethod, type SolanaSignMessageInput, type SolanaSignMessageMethod, type SolanaSignTransactionInput, type SolanaSignTransactionMethod } from '@solana/wallet-standard-features';
2
+ import type { Wallet, WalletAccount } from '@wallet-standard/base';
3
+ import { type StandardEventsListeners, type StandardEventsNames, type StandardEventsOnMethod } from '@wallet-standard/features';
4
+ export declare class FarcasterSolanaWallet implements Wallet {
5
+ listeners: {
6
+ [E in StandardEventsNames]?: StandardEventsListeners[E][];
7
+ };
8
+ account: FarcasterSolanaAccount | undefined;
9
+ constructor();
10
+ get version(): "1.0.0";
11
+ get name(): string;
12
+ get icon(): "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiPjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiByeD0iNTYiIGZpbGw9IiM3QzY1QzEiPjwvcmVjdD48cGF0aCBkPSJNMTgzLjI5NiA3MS42OEgyMTEuOTY4TDIwNy44NzIgOTQuMjA4SDIwMC43MDRWMTgwLjIyNEwyMDEuMDIgMTgwLjIzMkMyMDQuMjY2IDE4MC4zOTYgMjA2Ljg0OCAxODMuMDgxIDIwNi44NDggMTg2LjM2OFYxOTEuNDg4TDIwNy4xNjQgMTkxLjQ5NkMyMTAuNDEgMTkxLjY2IDIxMi45OTIgMTk0LjM0NSAyMTIuOTkyIDE5Ny42MzJWMjAyLjc1MkgxNTUuNjQ4VjE5Ny42MzJDMTU1LjY0OCAxOTQuMzQ1IDE1OC4yMjkgMTkxLjY2IDE2MS40NzYgMTkxLjQ5NkwxNjEuNzkyIDE5MS40ODhWMTg2LjM2OEMxNjEuNzkyIDE4My4wODEgMTY0LjM3MyAxODAuMzk2IDE2Ny42MiAxODAuMjMyTDE2Ny45MzYgMTgwLjIyNFYxMzguMjRDMTY3LjkzNiAxMTYuMTg0IDE1MC4wNTYgOTguMzA0IDEyOCA5OC4zMDRDMTA1Ljk0NCA5OC4zMDQgODguMDYzOCAxMTYuMTg0IDg4LjA2MzggMTM4LjI0VjE4MC4yMjRMODguMzc5OCAxODAuMjMyQzkxLjYyNjIgMTgwLjM5NiA5NC4yMDc4IDE4My4wODEgOTQuMjA3OCAxODYuMzY4VjE5MS40ODhMOTQuNTIzOCAxOTEuNDk2Qzk3Ljc3MDIgMTkxLjY2IDEwMC4zNTIgMTk0LjM0NSAxMDAuMzUyIDE5Ny42MzJWMjAyLjc1Mkg0My4wMDc4VjE5Ny42MzJDNDMuMDA3OCAxOTQuMzQ1IDQ1LjU4OTQgMTkxLjY2IDQ4LjgzNTggMTkxLjQ5Nkw0OS4xNTE4IDE5MS40ODhWMTg2LjM2OEM0OS4xNTE4IDE4My4wODEgNTEuNzMzNCAxODAuMzk2IDU0Ljk3OTggMTgwLjIzMkw1NS4yOTU4IDE4MC4yMjRWOTQuMjA4SDQ4LjEyNzhMNDQuMDMxOCA3MS42OEg3Mi43MDM4VjU0LjI3MkgxODMuMjk2VjcxLjY4WiIgZmlsbD0id2hpdGUiPjwvcGF0aD48L3N2Zz4K";
13
+ get chains(): readonly ["standard:connect", "solana:signAndSendTransaction", "solana:signTransaction", "solana:signMessage"];
14
+ get features(): {
15
+ "standard:connect": {
16
+ version: string;
17
+ connect: () => Promise<FarcasterSolanaAccount[] | undefined>;
18
+ };
19
+ "standard:disconnect": {
20
+ version: string;
21
+ disconnect: () => void;
22
+ };
23
+ "standard:events": {
24
+ version: string;
25
+ on: StandardEventsOnMethod;
26
+ };
27
+ "solana:signMessage": {
28
+ version: string;
29
+ signMessage: SolanaSignMessageMethod;
30
+ };
31
+ "solana:signTransaction": {
32
+ version: string;
33
+ supportedTransactionVersions: (string | number)[];
34
+ signTransaction: SolanaSignTransactionMethod;
35
+ };
36
+ "solana:signAndSendTransaction": {
37
+ version: string;
38
+ supportedTransactionVersions: (string | number)[];
39
+ signAndSendTransaction: SolanaSignAndSendTransactionMethod;
40
+ };
41
+ "solana:signAndSendAllTransactions": {
42
+ version: string;
43
+ supportedTransactionVersions: (string | number)[];
44
+ signAndSendAllTransactions: SolanaSignAndSendAllTransactionsMethod;
45
+ };
46
+ };
47
+ get accounts(): FarcasterSolanaAccount[];
48
+ connect: () => Promise<FarcasterSolanaAccount[] | undefined>;
49
+ disconnect: () => void;
50
+ on: StandardEventsOnMethod;
51
+ emit<E extends StandardEventsNames>(event: E, ...args: Parameters<StandardEventsListeners[E]>): void;
52
+ signMessage: SolanaSignMessageMethod;
53
+ signSingleMessage(input: SolanaSignMessageInput): Promise<{
54
+ signedMessage: Uint8Array<ArrayBufferLike>;
55
+ signature: Buffer<ArrayBuffer>;
56
+ }>;
57
+ signTransaction: SolanaSignTransactionMethod;
58
+ signSingleTransaction(input: SolanaSignTransactionInput): Promise<{
59
+ signedTransaction: Buffer<ArrayBuffer>;
60
+ }>;
61
+ signAndSendTransaction: SolanaSignAndSendTransactionMethod;
62
+ signAndSendSingleTransaction(input: SolanaSignAndSendTransactionInput): Promise<{
63
+ signature: Uint8Array<ArrayBufferLike>;
64
+ }>;
65
+ signAndSendAllTransactions: SolanaSignAndSendAllTransactionsMethod;
66
+ }
67
+ export declare class FarcasterSolanaAccount implements WalletAccount {
68
+ address: string;
69
+ publicKey: Uint8Array;
70
+ constructor(address: string);
71
+ get chains(): readonly ["solana:mainnet"];
72
+ get features(): readonly ["standard:connect", "solana:signAndSendTransaction", "solana:signTransaction", "solana:signMessage"];
73
+ }
package/dist/wallet.js ADDED
@@ -0,0 +1,254 @@
1
+ import { frameHost, sdk } from '@farcaster/frame-sdk';
2
+ import { base58 } from '@scure/base';
3
+ import { SignAndSendAllTransactions, SolanaSignAndSendTransaction, SolanaSignMessage, SolanaSignTransaction, } from '@solana/wallet-standard-features';
4
+ import { StandardConnect, StandardDisconnect, StandardEvents, } from '@wallet-standard/features';
5
+ import { localStorageKey } from './constants';
6
+ const walletName = 'Farcaster';
7
+ const supportedChains = ['solana:mainnet'];
8
+ const supportedFeatures = [
9
+ StandardConnect,
10
+ SolanaSignAndSendTransaction,
11
+ SolanaSignTransaction,
12
+ SolanaSignMessage,
13
+ ];
14
+ export class FarcasterSolanaWallet {
15
+ constructor() {
16
+ this.listeners = {};
17
+ this.connect = async () => {
18
+ if (this.account) {
19
+ return;
20
+ }
21
+ const provider = await sdk.wallet.getSolanaProvider();
22
+ if (!provider) {
23
+ throw new Error('could not get Solana provider');
24
+ }
25
+ const { publicKey: address } = await provider.request({
26
+ method: 'connect',
27
+ });
28
+ this.account = new FarcasterSolanaAccount(address);
29
+ this.emit('change', { accounts: this.accounts });
30
+ return [this.account];
31
+ };
32
+ this.disconnect = () => {
33
+ if (this.account) {
34
+ this.account = undefined;
35
+ this.emit('change', { accounts: this.accounts });
36
+ }
37
+ };
38
+ this.on = (event, listener) => {
39
+ if (this.listeners[event]) {
40
+ this.listeners[event].push(listener);
41
+ }
42
+ else {
43
+ this.listeners[event] = [listener];
44
+ }
45
+ return () => {
46
+ this.listeners[event] = this.listeners[event]?.filter((existingListener) => listener !== existingListener);
47
+ };
48
+ };
49
+ this.signMessage = async (...inputs) => {
50
+ const outputs = [];
51
+ for (const input of inputs) {
52
+ const output = await this.signSingleMessage(input);
53
+ outputs.push(output);
54
+ }
55
+ return outputs;
56
+ };
57
+ this.signTransaction = async (...inputs) => {
58
+ const outputs = [];
59
+ for (const input of inputs) {
60
+ const output = await this.signSingleTransaction(input);
61
+ outputs.push(output);
62
+ }
63
+ return outputs;
64
+ };
65
+ this.signAndSendTransaction = async (...inputs) => {
66
+ const outputs = [];
67
+ for (const input of inputs) {
68
+ const output = await this.signAndSendSingleTransaction(input);
69
+ outputs.push(output);
70
+ }
71
+ return outputs;
72
+ };
73
+ this.signAndSendAllTransactions = async (inputs, options) => {
74
+ if (options?.mode === 'parallel') {
75
+ return await Promise.allSettled(inputs.map((input) => this.signAndSendSingleTransaction(input)));
76
+ }
77
+ const outputs = [];
78
+ for (const input of inputs) {
79
+ try {
80
+ const output = await this.signAndSendSingleTransaction(input);
81
+ outputs.push({ status: 'fulfilled', value: output });
82
+ }
83
+ catch (e) {
84
+ outputs.push({ status: 'rejected', reason: e });
85
+ }
86
+ }
87
+ return outputs;
88
+ };
89
+ void this.connect();
90
+ }
91
+ get version() {
92
+ return '1.0.0';
93
+ }
94
+ get name() {
95
+ return walletName;
96
+ }
97
+ get icon() {
98
+ return 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiPjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiByeD0iNTYiIGZpbGw9IiM3QzY1QzEiPjwvcmVjdD48cGF0aCBkPSJNMTgzLjI5NiA3MS42OEgyMTEuOTY4TDIwNy44NzIgOTQuMjA4SDIwMC43MDRWMTgwLjIyNEwyMDEuMDIgMTgwLjIzMkMyMDQuMjY2IDE4MC4zOTYgMjA2Ljg0OCAxODMuMDgxIDIwNi44NDggMTg2LjM2OFYxOTEuNDg4TDIwNy4xNjQgMTkxLjQ5NkMyMTAuNDEgMTkxLjY2IDIxMi45OTIgMTk0LjM0NSAyMTIuOTkyIDE5Ny42MzJWMjAyLjc1MkgxNTUuNjQ4VjE5Ny42MzJDMTU1LjY0OCAxOTQuMzQ1IDE1OC4yMjkgMTkxLjY2IDE2MS40NzYgMTkxLjQ5NkwxNjEuNzkyIDE5MS40ODhWMTg2LjM2OEMxNjEuNzkyIDE4My4wODEgMTY0LjM3MyAxODAuMzk2IDE2Ny42MiAxODAuMjMyTDE2Ny45MzYgMTgwLjIyNFYxMzguMjRDMTY3LjkzNiAxMTYuMTg0IDE1MC4wNTYgOTguMzA0IDEyOCA5OC4zMDRDMTA1Ljk0NCA5OC4zMDQgODguMDYzOCAxMTYuMTg0IDg4LjA2MzggMTM4LjI0VjE4MC4yMjRMODguMzc5OCAxODAuMjMyQzkxLjYyNjIgMTgwLjM5NiA5NC4yMDc4IDE4My4wODEgOTQuMjA3OCAxODYuMzY4VjE5MS40ODhMOTQuNTIzOCAxOTEuNDk2Qzk3Ljc3MDIgMTkxLjY2IDEwMC4zNTIgMTk0LjM0NSAxMDAuMzUyIDE5Ny42MzJWMjAyLjc1Mkg0My4wMDc4VjE5Ny42MzJDNDMuMDA3OCAxOTQuMzQ1IDQ1LjU4OTQgMTkxLjY2IDQ4LjgzNTggMTkxLjQ5Nkw0OS4xNTE4IDE5MS40ODhWMTg2LjM2OEM0OS4xNTE4IDE4My4wODEgNTEuNzMzNCAxODAuMzk2IDU0Ljk3OTggMTgwLjIzMkw1NS4yOTU4IDE4MC4yMjRWOTQuMjA4SDQ4LjEyNzhMNDQuMDMxOCA3MS42OEg3Mi43MDM4VjU0LjI3MkgxODMuMjk2VjcxLjY4WiIgZmlsbD0id2hpdGUiPjwvcGF0aD48L3N2Zz4K';
99
+ }
100
+ get chains() {
101
+ return supportedFeatures;
102
+ }
103
+ get features() {
104
+ return {
105
+ [StandardConnect]: {
106
+ version: '1.0.0',
107
+ connect: this.connect,
108
+ },
109
+ [StandardDisconnect]: {
110
+ version: '1.0.0',
111
+ disconnect: this.disconnect,
112
+ },
113
+ [StandardEvents]: {
114
+ version: '1.0.0',
115
+ on: this.on,
116
+ },
117
+ [SolanaSignMessage]: {
118
+ version: '1.0.0',
119
+ signMessage: this.signMessage,
120
+ },
121
+ [SolanaSignTransaction]: {
122
+ version: '1.0.0',
123
+ supportedTransactionVersions: ['legacy', 0],
124
+ signTransaction: this.signTransaction,
125
+ },
126
+ [SolanaSignAndSendTransaction]: {
127
+ version: '1.0.0',
128
+ supportedTransactionVersions: ['legacy', 0],
129
+ signAndSendTransaction: this.signAndSendTransaction,
130
+ },
131
+ [SignAndSendAllTransactions]: {
132
+ version: '1.0.0',
133
+ supportedTransactionVersions: ['legacy', 0],
134
+ signAndSendAllTransactions: this.signAndSendAllTransactions,
135
+ },
136
+ };
137
+ }
138
+ get accounts() {
139
+ return this.account ? [this.account] : [];
140
+ }
141
+ emit(event, ...args) {
142
+ const listeners = this.listeners[event] ?? [];
143
+ for (const listener of listeners) {
144
+ listener.apply(null, args);
145
+ }
146
+ }
147
+ async signSingleMessage(input) {
148
+ const provider = await sdk.wallet.getSolanaProvider();
149
+ if (!provider) {
150
+ throw new Error('could not get Solana provider');
151
+ }
152
+ const { message } = input;
153
+ const messageStr = Buffer.from(message).toString('utf8');
154
+ const { signature } = await provider.signMessage(messageStr);
155
+ const signatureBytes = Buffer.from(signature, 'base64');
156
+ return { signedMessage: message, signature: signatureBytes };
157
+ }
158
+ async signSingleTransaction(input) {
159
+ const provider = await sdk.wallet.getSolanaProvider();
160
+ if (!provider || !frameHost.solanaProviderRequest) {
161
+ // We check the provider to make sure that the frame host has the
162
+ // capability, but we use the frame host directly below to avoid
163
+ // unnecessary serialization/unserialization steps
164
+ throw new Error('could not get Solana provider');
165
+ }
166
+ const solanaProviderRequest = frameHost.solanaProviderRequest;
167
+ const { transaction } = input;
168
+ const transactionStr = Buffer.from(transaction).toString('base64');
169
+ const { signedTransaction } = await solanaProviderRequest({
170
+ method: 'signTransaction',
171
+ params: { transaction: transactionStr },
172
+ });
173
+ const signatureBytes = Buffer.from(signedTransaction, 'base64');
174
+ return { signedTransaction: signatureBytes };
175
+ }
176
+ async signAndSendSingleTransaction(input) {
177
+ const provider = await sdk.wallet.getSolanaProvider();
178
+ if (!provider || !frameHost.solanaProviderRequest) {
179
+ // We check the provider to make sure that the frame host has the
180
+ // capability, but we use the frame host directly below to avoid
181
+ // unnecessary serialization/unserialization steps
182
+ throw new Error('could not get Solana provider');
183
+ }
184
+ const solanaProviderRequest = frameHost.solanaProviderRequest;
185
+ const { transaction } = input;
186
+ const transactionStr = Buffer.from(transaction).toString('base64');
187
+ const { signature } = await solanaProviderRequest({
188
+ method: 'signAndSendTransaction',
189
+ params: { transaction: transactionStr },
190
+ });
191
+ const signatureBytes = base58.decode(signature);
192
+ return { signature: signatureBytes };
193
+ }
194
+ }
195
+ export class FarcasterSolanaAccount {
196
+ constructor(address) {
197
+ this.address = address;
198
+ this.publicKey = base58.decode(address);
199
+ }
200
+ get chains() {
201
+ return supportedChains;
202
+ }
203
+ get features() {
204
+ return supportedFeatures;
205
+ }
206
+ }
207
+ class RegisterWalletEvent extends Event {
208
+ get type() {
209
+ return 'wallet-standard:register-wallet';
210
+ }
211
+ constructor(callback) {
212
+ super('wallet-standard:register-wallet', {
213
+ bubbles: false,
214
+ cancelable: false,
215
+ composed: false,
216
+ });
217
+ this.detail = callback;
218
+ }
219
+ preventDefault() {
220
+ throw new Error('preventDefault cannot be called');
221
+ }
222
+ stopImmediatePropagation() {
223
+ throw new Error('stopImmediatePropagation cannot be called');
224
+ }
225
+ stopPropagation() {
226
+ throw new Error('stopPropagation cannot be called');
227
+ }
228
+ }
229
+ ;
230
+ (async () => {
231
+ if (typeof window === 'undefined') {
232
+ return;
233
+ }
234
+ const provider = await sdk.wallet.getSolanaProvider();
235
+ if (!provider) {
236
+ return;
237
+ }
238
+ localStorage.setItem(localStorageKey, `"${walletName}"`);
239
+ const wallet = new FarcasterSolanaWallet();
240
+ const callback = ({ register }) => register(wallet);
241
+ try {
242
+ window.dispatchEvent(new RegisterWalletEvent(callback));
243
+ }
244
+ catch (error) {
245
+ console.error('wallet-standard:register-wallet event could not be dispatched', error);
246
+ }
247
+ try {
248
+ ;
249
+ window.addEventListener('wallet-standard:app-ready', ({ detail }) => callback(detail));
250
+ }
251
+ catch (error) {
252
+ console.error('wallet-standard:app-ready event listener could not be added', error);
253
+ }
254
+ })();
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@farcaster/mini-app-solana",
3
+ "version": "0.0.0-canary-20250523140917",
4
+ "license": "MIT",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/farcasterxyz/miniapps.git",
8
+ "directory": "packages/mini-app-solana"
9
+ },
10
+ "type": "module",
11
+ "main": "dist/index.js",
12
+ "files": [
13
+ "dist",
14
+ "src"
15
+ ],
16
+ "dependencies": {
17
+ "@scure/base": "^1.2.5",
18
+ "@solana/wallet-standard-features": "^1.3.0",
19
+ "@wallet-standard/base": "^1.1.0",
20
+ "@wallet-standard/features": "^1.1.0",
21
+ "@farcaster/frame-core": "0.0.40"
22
+ },
23
+ "devDependencies": {
24
+ "@solana/wallet-adapter-base": "^0.9.26",
25
+ "@solana/wallet-adapter-react": "^0.15.38",
26
+ "@types/react": "^19.0.10",
27
+ "react": "^19.0.0",
28
+ "typescript": "^5.8.3",
29
+ "@farcaster/frame-sdk": "0.0.50",
30
+ "@farcaster/tsconfig": "0.0.4"
31
+ },
32
+ "publishConfig": {
33
+ "access": "public"
34
+ },
35
+ "peerDependencies": {
36
+ "@farcaster/frame-sdk": ">=0.0.50",
37
+ "@solana/wallet-adapter-base": ">=0.9.0",
38
+ "@solana/wallet-adapter-react": ">=0.15.0",
39
+ "react": ">=18.0.0"
40
+ },
41
+ "scripts": {
42
+ "clean": "rm -rf dist",
43
+ "prebuild": "npm run clean",
44
+ "build": "tsc",
45
+ "typecheck": "tsc --noEmit"
46
+ }
47
+ }
@@ -0,0 +1 @@
1
+ export const localStorageKey = 'fcWalletName'
package/src/index.ts ADDED
@@ -0,0 +1,3 @@
1
+ import './wallet'
2
+
3
+ export * from './provider'
@@ -0,0 +1,30 @@
1
+ import type { Adapter } from '@solana/wallet-adapter-base'
2
+ import {
3
+ ConnectionProvider,
4
+ WalletProvider,
5
+ useWallet,
6
+ } from '@solana/wallet-adapter-react'
7
+ import * as React from 'react'
8
+
9
+ import { localStorageKey } from './constants'
10
+
11
+ // Farcaster Solana wallet will auto-connect
12
+ const wallets: Adapter[] = []
13
+
14
+ type FarcasterSolanaProviderProps = {
15
+ endpoint: string
16
+ children: React.ReactNode
17
+ }
18
+
19
+ export const FarcasterSolanaProvider: React.FC<FarcasterSolanaProviderProps> =
20
+ React.memo(({ endpoint, children }) => (
21
+ <ConnectionProvider endpoint={endpoint}>
22
+ <WalletProvider
23
+ wallets={wallets}
24
+ localStorageKey={localStorageKey}
25
+ autoConnect
26
+ >
27
+ {children}
28
+ </WalletProvider>
29
+ </ConnectionProvider>
30
+ ))
package/src/wallet.ts ADDED
@@ -0,0 +1,342 @@
1
+ import type { SolanaWireRequestFn } from '@farcaster/frame-core'
2
+ import { frameHost, sdk } from '@farcaster/frame-sdk'
3
+ import { base58 } from '@scure/base'
4
+ import {
5
+ SignAndSendAllTransactions,
6
+ type SolanaSignAndSendAllTransactionsMethod,
7
+ SolanaSignAndSendTransaction,
8
+ type SolanaSignAndSendTransactionInput,
9
+ type SolanaSignAndSendTransactionMethod,
10
+ type SolanaSignAndSendTransactionOutput,
11
+ SolanaSignMessage,
12
+ type SolanaSignMessageInput,
13
+ type SolanaSignMessageMethod,
14
+ type SolanaSignMessageOutput,
15
+ SolanaSignTransaction,
16
+ type SolanaSignTransactionInput,
17
+ type SolanaSignTransactionMethod,
18
+ type SolanaSignTransactionOutput,
19
+ } from '@solana/wallet-standard-features'
20
+ import type {
21
+ Wallet,
22
+ WalletAccount,
23
+ WalletEventsWindow,
24
+ WindowRegisterWalletEvent,
25
+ WindowRegisterWalletEventCallback,
26
+ } from '@wallet-standard/base'
27
+ import {
28
+ StandardConnect,
29
+ StandardDisconnect,
30
+ StandardEvents,
31
+ type StandardEventsListeners,
32
+ type StandardEventsNames,
33
+ type StandardEventsOnMethod,
34
+ } from '@wallet-standard/features'
35
+
36
+ import { localStorageKey } from './constants'
37
+
38
+ const walletName = 'Farcaster'
39
+ const supportedChains = ['solana:mainnet'] as const
40
+ const supportedFeatures = [
41
+ StandardConnect,
42
+ SolanaSignAndSendTransaction,
43
+ SolanaSignTransaction,
44
+ SolanaSignMessage,
45
+ ] as const
46
+
47
+ export class FarcasterSolanaWallet implements Wallet {
48
+ listeners: { [E in StandardEventsNames]?: StandardEventsListeners[E][] } = {}
49
+ account: FarcasterSolanaAccount | undefined
50
+
51
+ constructor() {
52
+ void this.connect()
53
+ }
54
+
55
+ get version() {
56
+ return '1.0.0' as const
57
+ }
58
+
59
+ get name() {
60
+ return walletName
61
+ }
62
+
63
+ get icon() {
64
+ return 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiPjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiByeD0iNTYiIGZpbGw9IiM3QzY1QzEiPjwvcmVjdD48cGF0aCBkPSJNMTgzLjI5NiA3MS42OEgyMTEuOTY4TDIwNy44NzIgOTQuMjA4SDIwMC43MDRWMTgwLjIyNEwyMDEuMDIgMTgwLjIzMkMyMDQuMjY2IDE4MC4zOTYgMjA2Ljg0OCAxODMuMDgxIDIwNi44NDggMTg2LjM2OFYxOTEuNDg4TDIwNy4xNjQgMTkxLjQ5NkMyMTAuNDEgMTkxLjY2IDIxMi45OTIgMTk0LjM0NSAyMTIuOTkyIDE5Ny42MzJWMjAyLjc1MkgxNTUuNjQ4VjE5Ny42MzJDMTU1LjY0OCAxOTQuMzQ1IDE1OC4yMjkgMTkxLjY2IDE2MS40NzYgMTkxLjQ5NkwxNjEuNzkyIDE5MS40ODhWMTg2LjM2OEMxNjEuNzkyIDE4My4wODEgMTY0LjM3MyAxODAuMzk2IDE2Ny42MiAxODAuMjMyTDE2Ny45MzYgMTgwLjIyNFYxMzguMjRDMTY3LjkzNiAxMTYuMTg0IDE1MC4wNTYgOTguMzA0IDEyOCA5OC4zMDRDMTA1Ljk0NCA5OC4zMDQgODguMDYzOCAxMTYuMTg0IDg4LjA2MzggMTM4LjI0VjE4MC4yMjRMODguMzc5OCAxODAuMjMyQzkxLjYyNjIgMTgwLjM5NiA5NC4yMDc4IDE4My4wODEgOTQuMjA3OCAxODYuMzY4VjE5MS40ODhMOTQuNTIzOCAxOTEuNDk2Qzk3Ljc3MDIgMTkxLjY2IDEwMC4zNTIgMTk0LjM0NSAxMDAuMzUyIDE5Ny42MzJWMjAyLjc1Mkg0My4wMDc4VjE5Ny42MzJDNDMuMDA3OCAxOTQuMzQ1IDQ1LjU4OTQgMTkxLjY2IDQ4LjgzNTggMTkxLjQ5Nkw0OS4xNTE4IDE5MS40ODhWMTg2LjM2OEM0OS4xNTE4IDE4My4wODEgNTEuNzMzNCAxODAuMzk2IDU0Ljk3OTggMTgwLjIzMkw1NS4yOTU4IDE4MC4yMjRWOTQuMjA4SDQ4LjEyNzhMNDQuMDMxOCA3MS42OEg3Mi43MDM4VjU0LjI3MkgxODMuMjk2VjcxLjY4WiIgZmlsbD0id2hpdGUiPjwvcGF0aD48L3N2Zz4K' as const
65
+ }
66
+
67
+ get chains() {
68
+ return supportedFeatures
69
+ }
70
+
71
+ get features() {
72
+ return {
73
+ [StandardConnect]: {
74
+ version: '1.0.0',
75
+ connect: this.connect,
76
+ },
77
+ [StandardDisconnect]: {
78
+ version: '1.0.0',
79
+ disconnect: this.disconnect,
80
+ },
81
+ [StandardEvents]: {
82
+ version: '1.0.0',
83
+ on: this.on,
84
+ },
85
+ [SolanaSignMessage]: {
86
+ version: '1.0.0',
87
+ signMessage: this.signMessage,
88
+ },
89
+ [SolanaSignTransaction]: {
90
+ version: '1.0.0',
91
+ supportedTransactionVersions: ['legacy', 0],
92
+ signTransaction: this.signTransaction,
93
+ },
94
+ [SolanaSignAndSendTransaction]: {
95
+ version: '1.0.0',
96
+ supportedTransactionVersions: ['legacy', 0],
97
+ signAndSendTransaction: this.signAndSendTransaction,
98
+ },
99
+ [SignAndSendAllTransactions]: {
100
+ version: '1.0.0',
101
+ supportedTransactionVersions: ['legacy', 0],
102
+ signAndSendAllTransactions: this.signAndSendAllTransactions,
103
+ },
104
+ }
105
+ }
106
+
107
+ get accounts() {
108
+ return this.account ? [this.account] : []
109
+ }
110
+
111
+ connect = async () => {
112
+ if (this.account) {
113
+ return
114
+ }
115
+ const provider = await sdk.wallet.getSolanaProvider()
116
+ if (!provider) {
117
+ throw new Error('could not get Solana provider')
118
+ }
119
+ const { publicKey: address } = await provider.request({
120
+ method: 'connect',
121
+ })
122
+ this.account = new FarcasterSolanaAccount(address)
123
+ this.emit('change', { accounts: this.accounts })
124
+ return [this.account]
125
+ }
126
+
127
+ disconnect = () => {
128
+ if (this.account) {
129
+ this.account = undefined
130
+ this.emit('change', { accounts: this.accounts })
131
+ }
132
+ }
133
+
134
+ on: StandardEventsOnMethod = (event, listener) => {
135
+ if (this.listeners[event]) {
136
+ this.listeners[event].push(listener)
137
+ } else {
138
+ this.listeners[event] = [listener]
139
+ }
140
+ return () => {
141
+ this.listeners[event] = this.listeners[event]?.filter(
142
+ (existingListener) => listener !== existingListener,
143
+ )
144
+ }
145
+ }
146
+
147
+ emit<E extends StandardEventsNames>(
148
+ event: E,
149
+ ...args: Parameters<StandardEventsListeners[E]>
150
+ ) {
151
+ const listeners = this.listeners[event] ?? []
152
+ for (const listener of listeners) {
153
+ listener.apply(null, args)
154
+ }
155
+ }
156
+
157
+ signMessage: SolanaSignMessageMethod = async (...inputs) => {
158
+ const outputs: SolanaSignMessageOutput[] = []
159
+ for (const input of inputs) {
160
+ const output = await this.signSingleMessage(input)
161
+ outputs.push(output)
162
+ }
163
+ return outputs
164
+ }
165
+
166
+ async signSingleMessage(input: SolanaSignMessageInput) {
167
+ const provider = await sdk.wallet.getSolanaProvider()
168
+ if (!provider) {
169
+ throw new Error('could not get Solana provider')
170
+ }
171
+ const { message } = input
172
+ const messageStr = Buffer.from(message).toString('utf8')
173
+ const { signature } = await provider.signMessage(messageStr)
174
+ const signatureBytes = Buffer.from(signature, 'base64')
175
+ return { signedMessage: message, signature: signatureBytes }
176
+ }
177
+
178
+ signTransaction: SolanaSignTransactionMethod = async (...inputs) => {
179
+ const outputs: SolanaSignTransactionOutput[] = []
180
+ for (const input of inputs) {
181
+ const output = await this.signSingleTransaction(input)
182
+ outputs.push(output)
183
+ }
184
+ return outputs
185
+ }
186
+
187
+ async signSingleTransaction(input: SolanaSignTransactionInput) {
188
+ const provider = await sdk.wallet.getSolanaProvider()
189
+ if (!provider || !frameHost.solanaProviderRequest) {
190
+ // We check the provider to make sure that the frame host has the
191
+ // capability, but we use the frame host directly below to avoid
192
+ // unnecessary serialization/unserialization steps
193
+ throw new Error('could not get Solana provider')
194
+ }
195
+ const solanaProviderRequest =
196
+ frameHost.solanaProviderRequest as unknown as SolanaWireRequestFn
197
+ const { transaction } = input
198
+ const transactionStr = Buffer.from(transaction).toString('base64')
199
+ const { signedTransaction } = await solanaProviderRequest({
200
+ method: 'signTransaction',
201
+ params: { transaction: transactionStr },
202
+ })
203
+ const signatureBytes = Buffer.from(signedTransaction, 'base64')
204
+ return { signedTransaction: signatureBytes }
205
+ }
206
+
207
+ signAndSendTransaction: SolanaSignAndSendTransactionMethod = async (
208
+ ...inputs
209
+ ) => {
210
+ const outputs: SolanaSignAndSendTransactionOutput[] = []
211
+ for (const input of inputs) {
212
+ const output = await this.signAndSendSingleTransaction(input)
213
+ outputs.push(output)
214
+ }
215
+ return outputs
216
+ }
217
+
218
+ async signAndSendSingleTransaction(input: SolanaSignAndSendTransactionInput) {
219
+ const provider = await sdk.wallet.getSolanaProvider()
220
+ if (!provider || !frameHost.solanaProviderRequest) {
221
+ // We check the provider to make sure that the frame host has the
222
+ // capability, but we use the frame host directly below to avoid
223
+ // unnecessary serialization/unserialization steps
224
+ throw new Error('could not get Solana provider')
225
+ }
226
+ const solanaProviderRequest =
227
+ frameHost.solanaProviderRequest as unknown as SolanaWireRequestFn
228
+ const { transaction } = input
229
+ const transactionStr = Buffer.from(transaction).toString('base64')
230
+ const { signature } = await solanaProviderRequest({
231
+ method: 'signAndSendTransaction',
232
+ params: { transaction: transactionStr },
233
+ })
234
+ const signatureBytes = base58.decode(signature)
235
+ return { signature: signatureBytes }
236
+ }
237
+
238
+ signAndSendAllTransactions: SolanaSignAndSendAllTransactionsMethod = async (
239
+ inputs,
240
+ options,
241
+ ) => {
242
+ if (options?.mode === 'parallel') {
243
+ return await Promise.allSettled(
244
+ inputs.map((input) => this.signAndSendSingleTransaction(input)),
245
+ )
246
+ }
247
+ const outputs: PromiseSettledResult<SolanaSignAndSendTransactionOutput>[] =
248
+ []
249
+ for (const input of inputs) {
250
+ try {
251
+ const output = await this.signAndSendSingleTransaction(input)
252
+ outputs.push({ status: 'fulfilled', value: output })
253
+ } catch (e) {
254
+ outputs.push({ status: 'rejected', reason: e })
255
+ }
256
+ }
257
+ return outputs
258
+ }
259
+ }
260
+
261
+ export class FarcasterSolanaAccount implements WalletAccount {
262
+ address: string
263
+ publicKey: Uint8Array
264
+
265
+ constructor(address: string) {
266
+ this.address = address
267
+ this.publicKey = base58.decode(address)
268
+ }
269
+
270
+ get chains() {
271
+ return supportedChains
272
+ }
273
+
274
+ get features() {
275
+ return supportedFeatures
276
+ }
277
+ }
278
+
279
+ class RegisterWalletEvent extends Event implements WindowRegisterWalletEvent {
280
+ detail: WindowRegisterWalletEventCallback
281
+
282
+ get type() {
283
+ return 'wallet-standard:register-wallet' as const
284
+ }
285
+
286
+ constructor(callback: WindowRegisterWalletEventCallback) {
287
+ super('wallet-standard:register-wallet', {
288
+ bubbles: false,
289
+ cancelable: false,
290
+ composed: false,
291
+ })
292
+ this.detail = callback
293
+ }
294
+
295
+ preventDefault(): never {
296
+ throw new Error('preventDefault cannot be called')
297
+ }
298
+
299
+ stopImmediatePropagation(): never {
300
+ throw new Error('stopImmediatePropagation cannot be called')
301
+ }
302
+
303
+ stopPropagation(): never {
304
+ throw new Error('stopPropagation cannot be called')
305
+ }
306
+ }
307
+ ;(async () => {
308
+ if (typeof window === 'undefined') {
309
+ return
310
+ }
311
+
312
+ const provider = await sdk.wallet.getSolanaProvider()
313
+ if (!provider) {
314
+ return
315
+ }
316
+
317
+ localStorage.setItem(localStorageKey, `"${walletName}"`)
318
+
319
+ const wallet = new FarcasterSolanaWallet()
320
+ const callback: WindowRegisterWalletEventCallback = ({ register }) =>
321
+ register(wallet)
322
+ try {
323
+ window.dispatchEvent(new RegisterWalletEvent(callback))
324
+ } catch (error) {
325
+ console.error(
326
+ 'wallet-standard:register-wallet event could not be dispatched',
327
+ error,
328
+ )
329
+ }
330
+
331
+ try {
332
+ ;(window as WalletEventsWindow).addEventListener(
333
+ 'wallet-standard:app-ready',
334
+ ({ detail }) => callback(detail),
335
+ )
336
+ } catch (error) {
337
+ console.error(
338
+ 'wallet-standard:app-ready event listener could not be added',
339
+ error,
340
+ )
341
+ }
342
+ })()