keyring-chatbot-agent-sdk-test 0.1.8 → 0.2.1

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.
@@ -270,7 +270,8 @@ Is there any token you want to buy?`,trendingTokensError:"Sorry, I encountered a
270
270
 
271
271
  Select a token to interact with:`,viewBalancesEmpty:"You don't have any tokens in your wallet on this chain.",viewBalancesFetchError:"Sorry, I encountered an error fetching your balances.",buttonSendToken:"Send {symbol}",buttonSwapToken:"Swap {symbol}",buttonBuyMoreToken:"Buy more {symbol}",actionSendNativeLabel:"Send Native Token",actionSendNativeDesc:"Send native token (ETH, BNB, MATIC, etc.) to an address",actionSendTokenLabel:"Send Token (ERC20)",actionSendTokenDesc:"Send an ERC20 token to an address",actionSwapTokenLabel:"Swap Token",actionSwapTokenDesc:"Swap one token for another",actionApproveTokenLabel:"Approve Token",actionApproveTokenDesc:"Approve a spender to use your tokens",actionWrapNativeLabel:"Wrap Native Token",actionWrapNativeDesc:"Wrap native token (ETH → WETH)",actionUnwrapNativeLabel:"Unwrap Native Token",actionUnwrapNativeDesc:"Unwrap native token (WETH → ETH)",actionSendNftLabel:"Send NFT",actionSendNftDesc:"Transfer an ERC721 or ERC1155 NFT to another address",fieldToAddress:"Recipient Address",fieldAmount:"Amount",fieldTokenContract:"Token Contract",fieldTokenSymbol:"Token Symbol",fieldDecimals:"Decimals",fieldTokenIn:"From Token",fieldTokenInSymbol:"From Symbol",fieldTokenOut:"To Token",fieldTokenOutSymbol:"To Symbol",fieldTokenInDecimals:"From Decimals",fieldTokenOutDecimals:"To Decimals",fieldSpenderAddress:"Spender Address",fieldAmountUnlimited:"Amount (empty = unlimited)",fieldNftContract:"NFT Contract",fieldTokenId:"Token ID",fieldTokenStandard:"Token Standard",fieldNftName:"NFT Name",formMustBePositiveInteger:"Must be a positive integer",formAmountExceedsNft:"Amount cannot exceed available balance {max}",receivedButtonValue:"Received: {value}",actionExecutedFor:'Action "{action}" executed for: {value}',buyTokenHelp:"I'll help you buy {symbol}. Let me show your available tokens to trade with.",tokenNotFoundOnChain:`I couldn't find the token "{symbol}" on this chain. Here are the trending tokens you can buy:`,swapPreparing:"Preparing your swap...",swapConfirmYes:"Yes",swapChooseFrom:"Please choose which token you want to swap from:",swapChooseTo:"You want to swap {symbol}. Please choose which token you want to receive:",swapNeedDetails:'I need more details for your swap. Please specify which tokens you want to swap (e.g. "Swap 1 ETH to USDC").',viewNftsLoading:"Let me show you your NFT collection!",sendTokenChoose:"Which token would you like to send?",sendNftChoose:"Which NFT would you like to send?",swapChooseToken:"Which token would you like to swap? Here are your current balances:",spendable:"Spendable",welcomeMessage:`**Welcome! 🚀**
272
272
  You're connected and ready to explore DeFi! I can help you trade, check prices, and analyze your portfolio when you need it.`,sendOtherNfts:`
273
- If you want to send other NFTs, please provide the contract address, NFT ID`},ja:{chatTitle:"Keyring Agent",closeChat:"チャットを閉じる",messagePlaceholder:"メッセージを入力...",sendMessage:"メッセージを送信",botIsTyping:"ボットが入力中...",canIHelpYou:"何かお手伝いできることはございますか?",replyToMessage:"メッセージに返信",replyingTo:"返信先:",replyingToYou:"あなた",replyingToAgent:"Keyring Agent",cancelReply:"返信をキャンセル",suggestionAskText:"質問・調査のお願い",suggestionAskUserMessage:"質問があります",suggestionAskBotReply:"何でも聞いてください",suggestionBuyText:"トレンドトークンを購入",walletConnectedChainUnsupported:"ウォレットは接続されていますが、このチェーンは取引に対応していません。トレンドのトークンを表示するには、対応しているチェーンに切り替えてください。",walletNotConnected:"トレンドのトークンを表示するには、ウォレットを接続してください。",actionProcessing:"⏳ トランザクションを処理中...",actionSuccess:"✅ トランザクションが完了しました",actionFail:"❌ アクションがキャンセルされたか、失敗しました",txSubmitted:"⏳ トランザクションを送信しました。確認を待機中...",txConfirmed:"✅ トランザクションが確認されました!",txReverted:"❌ オンチェーンでトランザクションがリバートされました。",txTimeout:"⚠️ トランザクションは送信されましたが、タイムアウトしました。手動で確認してください。",txSuccessful:"✅ トランザクションに成功しました!",txFailed:"❌ トランザクションに失敗しました。もう一度お試しください。",txNoHandler:"⚠️ トランザクションハンドラーが設定されていません。",txInsufficientGas:"⚠️ **ガス代({symbol})が不足しています!** 保有量は {balance} {symbol} ですが、手数料に約 {fee} {symbol} 必要です。ウォレットにチャージして再試行してください。",txError:"❌ エラー: {message}",swapConfirmButton:"確定",swapConfirmValue:"スワップを確定する",swapReadyToProceed:"スワップを実行しますか?",swapEstimationError:"⚠️ スワップの見積もりを取得できません。エラー: {error}",formCancel:"キャンセル",formExecute:"実行",formProcessing:"⏳ 処理中...",formBalance:"残高:",formTokenNotFound:"ウォレット内にトークンが見つかりません。",formNoBalance:"ウォレットに {symbol} の残高がありません。",formInsufficientBalance:"残高不足です。利用可能: {balance} {symbol}",formFieldRequired:"{field} は必須項目です",formInvalidAddress:"無効なアドレスです (0x + 40文字の16進数)",formMustBePositive:"正の数値を入力してください",formMustBeValidNumber:"有効な数値を入力してください",openChat:"チャットを開く",openChatTitle:"チャットサポートを開く",walletBalanceSpendable:"これは {chain} チェーン上のウォレットの利用可能な残高です。この取引に使用するコインを選択してください。",walletNoTokensFound:"申し訳ありませんが、{chain} チェーン上のウォレットにトークンが見つかりませんでした。取引するためのトークンを保有しているかご確認ください。",walletFetchFailed:"ウォレット残高を取得できませんでした。もう一度お試しください。",walletFetchError:"ウォレット残高の取得中にエラーが発生しました。",insufficientFeeToken:"手数料が不足しています。取引手数料をカバーするのに十分な {symbol} を保有しているか、別のトークンを選択してください。",selectAmountOf:`使用する {symbol} の数量を選択してください:
273
+ If the NFT you want to send is not in the list above, please visit our website to send it.
274
+ {link}`},ja:{chatTitle:"Keyring Agent",closeChat:"チャットを閉じる",messagePlaceholder:"メッセージを入力...",sendMessage:"メッセージを送信",botIsTyping:"ボットが入力中...",canIHelpYou:"なにかお手伝いできることはありますか?",replyToMessage:"メッセージに返信",replyingTo:"返信先:",replyingToYou:"あなた",replyingToAgent:"Keyring Agent",cancelReply:"返信をキャンセル",suggestionAskText:"質問・調査のお願い",suggestionAskUserMessage:"質問があります",suggestionAskBotReply:"何でも聞いてください",suggestionBuyText:"トレンドトークンを購入",walletConnectedChainUnsupported:"ウォレットは接続されていますが、このチェーンは取引に対応していません。トレンドのトークンを表示するには、対応しているチェーンに切り替えてください。",walletNotConnected:"トレンドのトークンを表示するには、ウォレットを接続してください。",actionProcessing:"⏳ トランザクションを処理中...",actionSuccess:"✅ トランザクションが完了しました",actionFail:"❌ アクションがキャンセルされたか、失敗しました",txSubmitted:"⏳ トランザクションを送信しました。確認を待機中...",txConfirmed:"✅ トランザクションが確認されました!",txReverted:"❌ オンチェーンでトランザクションがリバートされました。",txTimeout:"⚠️ トランザクションは送信されましたが、タイムアウトしました。手動で確認してください。",txSuccessful:"✅ トランザクションに成功しました!",txFailed:"❌ トランザクションに失敗しました。もう一度お試しください。",txNoHandler:"⚠️ トランザクションハンドラーが設定されていません。",txInsufficientGas:"⚠️ **ガス代({symbol})が不足しています!** 保有量は {balance} {symbol} ですが、手数料に約 {fee} {symbol} 必要です。ウォレットにチャージして再試行してください。",txError:"❌ エラー: {message}",swapConfirmButton:"確定",swapConfirmValue:"スワップを確定する",swapReadyToProceed:"スワップを実行しますか?",swapEstimationError:"⚠️ スワップの見積もりを取得できません。エラー: {error}",formCancel:"キャンセル",formExecute:"実行",formProcessing:"⏳ 処理中...",formBalance:"残高:",formTokenNotFound:"ウォレット内にトークンが見つかりません。",formNoBalance:"ウォレットに {symbol} の残高がありません。",formInsufficientBalance:"残高不足です。利用可能: {balance} {symbol}",formFieldRequired:"{field} は必須項目です",formInvalidAddress:"無効なアドレスです (0x + 40文字の16進数)",formMustBePositive:"正の数値を入力してください",formMustBeValidNumber:"有効な数値を入力してください",openChat:"チャットを開く",openChatTitle:"チャットサポートを開く",walletBalanceSpendable:"これは {chain} チェーン上のウォレットの利用可能な残高です。この取引に使用するコインを選択してください。",walletNoTokensFound:"申し訳ありませんが、{chain} チェーン上のウォレットにトークンが見つかりませんでした。取引するためのトークンを保有しているかご確認ください。",walletFetchFailed:"ウォレット残高を取得できませんでした。もう一度お試しください。",walletFetchError:"ウォレット残高の取得中にエラーが発生しました。",insufficientFeeToken:"手数料が不足しています。取引手数料をカバーするのに十分な {symbol} を保有しているか、別のトークンを選択してください。",selectAmountOf:`使用する {symbol} の数量を選択してください:
274
275
 
275
276
  利用可能: {balance} {symbol}`,swapFeeWarning:`
276
277
  ⚠️ **手数料の {symbol} が不足しています!**
@@ -298,8 +299,9 @@ If you want to send other NFTs, please provide the contract address, NFT ID`},ja
298
299
  {list}
299
300
 
300
301
  操作するトークンを選択してください:`,viewBalancesEmpty:"このチェーン上のウォレットにトークンは見つかりませんでした。",viewBalancesFetchError:"残高の取得中にエラーが発生しました。",buttonSendToken:"{symbol} を送信",buttonSwapToken:"{symbol} をスワップ",buttonBuyMoreToken:"{symbol} をさらに入手",actionSendNativeLabel:"ネイティブトークンを送信",actionSendNativeDesc:"ネイティブトークン (ETH, BNB, MATIC など) をアドレスに送信します",actionSendTokenLabel:"トークンを送信 (ERC20)",actionSendTokenDesc:"ERC20トークンをアドレスに送信します",actionSwapTokenLabel:"トークンをスワップ",actionSwapTokenDesc:"トークンを別のトークンに交換します",actionApproveTokenLabel:"トークンを承認",actionApproveTokenDesc:"支出元(Spender)によるトークンの使用を許可します",actionWrapNativeLabel:"ネイティブトークンをラップ",actionWrapNativeDesc:"ネイティブトークンをラップします (ETH → WETH)",actionUnwrapNativeLabel:"ネイティブトークンをアンラップ",actionUnwrapNativeDesc:"ネイティブトークンをアンラップします (WETH → ETH)",actionSendNftLabel:"NFTを送信",actionSendNftDesc:"ERC721またはERC1155 NFTを別のアドレスに転送します",fieldToAddress:"受信者アドレス",fieldAmount:"数量",fieldTokenContract:"トークンコントラクト",fieldTokenSymbol:"トークンシンボル",fieldDecimals:"デシマル (小数桁数)",fieldTokenIn:"元のトークン",fieldTokenInSymbol:"元のシンボル",fieldTokenOut:"先のトークン",fieldTokenOutSymbol:"先のシンボル",fieldTokenInDecimals:"元のデシマル",fieldTokenOutDecimals:"先のデシマル",fieldSpenderAddress:"支出元 (Spender) アドレス",fieldAmountUnlimited:"数量 (空欄 = 無制限)",fieldNftContract:"NFTコントラクト",fieldTokenId:"トークンID",fieldTokenStandard:"トークン規格",fieldNftName:"NFT名",formMustBePositiveInteger:"正の整数を入力してください",formAmountExceedsNft:"数量は利用可能な残高 {max} を超えることはできません",receivedButtonValue:"受取額: {value}",actionExecutedFor:"アクション「{action}」が {value} に対して実行されました",buyTokenHelp:"{symbol} の購入をお手伝いします。まず、交換に使用可能なトークンを表示します。",tokenNotFoundOnChain:"このチェーン上でトークン「{symbol}」が見つかりませんでした。購入可能なトレンドトークンはこちらです:",swapPreparing:"スワップの準備中...",swapConfirmYes:"はい",swapChooseFrom:"交換元(支払う)トークンを選択してください:",swapChooseTo:"{symbol} をスワップします。受け取りたいトークンを選択してください:",swapNeedDetails:"スワップの詳細が必要です。交換したいトークンを指定してください(例:「1 ETH を USDC にスワップ」)。",viewNftsLoading:"あなたのNFTコレクションを表示します!",sendTokenChoose:"どのトークンを送信しますか?",sendNftChoose:"どのNFTを送信しますか?",swapChooseToken:"どのトークンをスワップしますか?現在の残高はこちらです:",spendable:"利用可能",welcomeMessage:`**ようこそ! 🚀**
301
- 新時代の金融へ。DeFiの世界を解き放て!トレード、価格チェック、ポートフォリオ分析など、いつでもお手伝いします。`,sendOtherNfts:`
302
- 他のNFTを送信する場合は、コントラクトアドレスとNFTIDを入力してください`},cn:{chatTitle:"Keyring Agent",closeChat:"关闭聊天",messagePlaceholder:"请输入消息....",sendMessage:"发送消息",botIsTyping:"机器人正在输入",canIHelpYou:"有什么我可以帮您的吗?",replyToMessage:"回复消息",replyingTo:"正在回复",replyingToYou:"您",replyingToAgent:"Keyring Agent",cancelReply:"取消回复",suggestionAskText:"提问",suggestionAskUserMessage:"我有一个问题",suggestionAskBotReply:"随便问我任何事情",suggestionBuyText:"购买热门代币",walletConnectedChainUnsupported:"您的钱包已连接,但当前链不支持交易。请切换到支持的链以查看热门代币。",walletNotConnected:"请连接您的钱包以查看热门代币。",actionProcessing:"⏳ 正在处理交易...",actionSuccess:"✅ 交易已完成",actionFail:"❌ 操作取消或失败",txSubmitted:"⏳ 交易已提交。正在等待确认...",txConfirmed:"✅ 交易已确认!",txReverted:"❌ 交易在链上被退回(Reverted)。",txTimeout:"⚠️ 交易已提交但确认超时。请手动检查。",txSuccessful:"✅ 交易成功!",txFailed:"❌ 交易失败。请重试。",txNoHandler:"⚠️ 未配置交易处理器。",txInsufficientGas:"⚠️ **{symbol} 余额不足以支付 Gas 费!** 您当前有 {balance} {symbol},但交易费预计需要 ~{fee} {symbol}。请充值钱包后重试。",txError:"❌ 错误: {message}",swapConfirmButton:"确认",swapConfirmValue:"确认兑换",swapReadyToProceed:"准备好进行兑换了吗?",swapEstimationError:"⚠️ 无法获取兑换估算。错误: {error}",formCancel:"取消",formExecute:"执行",formProcessing:"⏳ 正在处理...",formBalance:"余额:",formTokenNotFound:"您的钱包中未找到该代币。",formNoBalance:"您的钱包中没有 {symbol} 余额。",formInsufficientBalance:"余额不足。可用余额: {balance} {symbol}",formFieldRequired:"{field} 是必填项",formInvalidAddress:"地址无效 (0x + 40位十六进制字符)",formMustBePositive:"必须为正数",formMustBeValidNumber:"必须为有效数字",openChat:"打开聊天",openChatTitle:"打开聊天支持",walletBalanceSpendable:"这是您在 {chain} 链上钱包的可选余额。请选择您想用于此次交易的代币。",walletNoTokensFound:"抱歉,我在 {chain} 链上的钱包中没找到任何代币。请确保您有代币可以进行交易。",walletFetchFailed:"抱歉,无法获取您的钱包余额。请重试。",walletFetchError:"抱歉,获取钱包余额时出错。",insufficientFeeToken:"手续费不足。请确保您有足够的 {symbol} 来支付交易费用,或选择其他代币。",selectAmountOf:`选择要使用的 {symbol} 数量:
302
+ 接続が完了し、DeFiを探索する準備が整いました!トレード、価格チェック、ポートフォリオ分析など、いつでもお手伝いします。`,sendOtherNfts:`
303
+ 送信したいNFTが上のリストにない場合は、ウェブサイトから送信してください。
304
+ {link}`},cn:{chatTitle:"Keyring Agent",closeChat:"关闭聊天",messagePlaceholder:"请输入消息....",sendMessage:"发送消息",botIsTyping:"机器人正在输入",canIHelpYou:"有什么我可以帮您的吗?",replyToMessage:"回复消息",replyingTo:"正在回复",replyingToYou:"您",replyingToAgent:"Keyring Agent",cancelReply:"取消回复",suggestionAskText:"提问",suggestionAskUserMessage:"我有一个问题",suggestionAskBotReply:"随便问我任何事情",suggestionBuyText:"购买热门代币",walletConnectedChainUnsupported:"您的钱包已连接,但当前链不支持交易。请切换到支持的链以查看热门代币。",walletNotConnected:"请连接您的钱包以查看热门代币。",actionProcessing:"⏳ 正在处理交易...",actionSuccess:"✅ 交易已完成",actionFail:"❌ 操作取消或失败",txSubmitted:"⏳ 交易已提交。正在等待确认...",txConfirmed:"✅ 交易已确认!",txReverted:"❌ 交易在链上被退回(Reverted)。",txTimeout:"⚠️ 交易已提交但确认超时。请手动检查。",txSuccessful:"✅ 交易成功!",txFailed:"❌ 交易失败。请重试。",txNoHandler:"⚠️ 未配置交易处理器。",txInsufficientGas:"⚠️ **{symbol} 余额不足以支付 Gas 费!** 您当前有 {balance} {symbol},但交易费预计需要 ~{fee} {symbol}。请充值钱包后重试。",txError:"❌ 错误: {message}",swapConfirmButton:"确认",swapConfirmValue:"确认兑换",swapReadyToProceed:"准备好进行兑换了吗?",swapEstimationError:"⚠️ 无法获取兑换估算。错误: {error}",formCancel:"取消",formExecute:"执行",formProcessing:"⏳ 正在处理...",formBalance:"余额:",formTokenNotFound:"您的钱包中未找到该代币。",formNoBalance:"您的钱包中没有 {symbol} 余额。",formInsufficientBalance:"余额不足。可用余额: {balance} {symbol}",formFieldRequired:"{field} 是必填项",formInvalidAddress:"地址无效 (0x + 40位十六进制字符)",formMustBePositive:"必须为正数",formMustBeValidNumber:"必须为有效数字",openChat:"打开聊天",openChatTitle:"打开聊天支持",walletBalanceSpendable:"这是您在 {chain} 链上钱包的可选余额。请选择您想用于此次交易的代币。",walletNoTokensFound:"抱歉,我在 {chain} 链上的钱包中没找到任何代币。请确保您有代币可以进行交易。",walletFetchFailed:"抱歉,无法获取您的钱包余额。请重试。",walletFetchError:"抱歉,获取钱包余额时出错。",insufficientFeeToken:"手续费不足。请确保您有足够的 {symbol} 来支付交易费用,或选择其他代币。",selectAmountOf:`选择要使用的 {symbol} 数量:
303
305
 
304
306
  可用余额: {balance} {symbol}`,swapFeeWarning:`
305
307
  ⚠️ **手续费所需的 {symbol} 不足!**
@@ -328,7 +330,8 @@ If you want to send other NFTs, please provide the contract address, NFT ID`},ja
328
330
 
329
331
  选择一个代币进行操作:`,viewBalancesEmpty:"您在该链的钱包中没有任何代币。",viewBalancesFetchError:"抱歉,获取您的余额时出错。",buttonSendToken:"发送 {symbol}",buttonSwapToken:"兑换 {symbol}",buttonBuyMoreToken:"购买更多 {symbol}",actionSendNativeLabel:"发送原生代币",actionSendNativeDesc:"将原生代币 (ETH, BNB, MATIC 等) 发送到指定地址",actionSendTokenLabel:"发送代币 (ERC20)",actionSendTokenDesc:"将 ERC20 代币发送到指定地址",actionSwapTokenLabel:"兑换代币",actionSwapTokenDesc:"将一种代币兑换为另一种",actionApproveTokenLabel:"授权代币",actionApproveTokenDesc:"授权支出方使用您的代币",actionWrapNativeLabel:"包装 (Wrap) 原生代币",actionWrapNativeDesc:"包装原生代币 (例如 ETH → WETH)",actionUnwrapNativeLabel:"解包 (Unwrap) 原生代币",actionUnwrapNativeDesc:"解包原生代币 (例如 WETH → ETH)",actionSendNftLabel:"发送 NFT",actionSendNftDesc:"将 ERC721 或 ERC1155 NFT 转移到另一个地址",fieldToAddress:"接收者地址",fieldAmount:"金额",fieldTokenContract:"代币合约",fieldTokenSymbol:"代币符号",fieldDecimals:"精度 (Decimals)",fieldTokenIn:"源代币 (From)",fieldTokenInSymbol:"源代币符号",fieldTokenOut:"目标代币 (To)",fieldTokenOutSymbol:"目标代币符号",fieldTokenInDecimals:"源代币精度",fieldTokenOutDecimals:"目标代币精度",fieldSpenderAddress:"支出方 (Spender) 地址",fieldAmountUnlimited:"金额 (留空 = 无限制)",fieldNftContract:"NFT 合约",fieldTokenId:"代币 ID",fieldTokenStandard:"代币标准",fieldNftName:"NFT 名称",formMustBePositiveInteger:"必须为正整数",formAmountExceedsNft:"金额不能超过可用余额 {max}",receivedButtonValue:"收到: {value}",actionExecutedFor:'操作 "{action}" 已执行,对象为: {value}',buyTokenHelp:"我会帮您购买 {symbol}。让我为您显示可用于交易的代币。",tokenNotFoundOnChain:'我在该链上没找到代币 "{symbol}"。以下是您可以购买的热门代币:',swapPreparing:"正在准备兑换...",swapConfirmYes:"是",swapChooseFrom:"请选择您想从哪个代币进行兑换:",swapChooseTo:"您想兑换 {symbol}。请选择您想收到的代币:",swapNeedDetails:"我需要更多关于兑换的细节。请指定您想兑换的代币(例如 “将 1 ETH 兑换为 USDC”)。",viewNftsLoading:"正在为您展示 NFT 收藏!",sendTokenChoose:"您想发送哪个代币?",sendNftChoose:"您想发送哪个 NFT?",swapChooseToken:"您想兑换哪个代币?以下是您的当前余额:",spendable:"可用余额",welcomeMessage:`**欢迎! 🚀**
330
332
  您已连接并准备好探索 DeFi!我可以帮您进行交易、查询价格,并在需要时分析您的资产组合。`,sendOtherNfts:`
331
- 如果您想发送其他 NFT,请提供合约地址和 NFT ID`}};function WA(r,f){return KA[f]?.[r]??KA.en[r]??r}function UT(r,f){return r.replace(/\{(\w+)\}/g,(p,y)=>f[y]??`{${y}}`)}const $A=ut.createContext(void 0),zT=({children:r,initialLanguage:f="en"})=>{const[p,y]=ut.useState(f);ut.useEffect(()=>{f&&y(f)},[f]);const v=ut.useCallback(w=>WA(w,p),[p]),b=ut.useCallback((w,C)=>UT(WA(w,p),C),[p]);return Ce.jsx($A.Provider,{value:{language:p,setLanguage:y,t:v,ti:b},children:r})},X1=()=>{const r=ut.useContext($A);if(!r)throw new Error("useLanguage must be used within a LanguageProvider");return r},_T=ut.memo(({onClick:r,buttonSize:f=56})=>{const{t:p}=X1(),y=v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),r())};return Ce.jsx("button",{className:"chat-button",onClick:r,onKeyDown:y,"aria-label":p("openChat"),title:p("openChatTitle"),type:"button",children:Ce.jsx("img",{src:BT,width:f,height:f,alt:"Ask AI"})})});function Cu(r){const f={formatters:void 0,fees:void 0,serializers:void 0,...r};function p(y){return v=>{const b=typeof v=="function"?v(y):v,w={...y,...b};return Object.assign(w,{extend:p(w)})}}return Object.assign(f,{extend:p(f)})}const PA="2.46.3";let Ov={getDocsUrl:({docsBaseUrl:r,docsPath:f="",docsSlug:p})=>f?`${r??"https://viem.sh"}${f}${p?`#${p}`:""}`:void 0,version:`viem@${PA}`};class Et extends Error{constructor(f,p={}){const y=p.cause instanceof Et?p.cause.details:p.cause?.message?p.cause.message:p.details,v=p.cause instanceof Et&&p.cause.docsPath||p.docsPath,b=Ov.getDocsUrl?.({...p,docsPath:v}),w=[f||"An error occurred.","",...p.metaMessages?[...p.metaMessages,""]:[],...b?[`Docs: ${b}`]:[],...y?[`Details: ${y}`]:[],...Ov.version?[`Version: ${Ov.version}`]:[]].join(`
333
+ 如果您想发送的 NFT 不在上方列表中,请访问我们的网站进行发送。
334
+ {link}`}};function WA(r,f){return KA[f]?.[r]??KA.en[r]??r}function UT(r,f){return r.replace(/\{(\w+)\}/g,(p,y)=>f[y]??`{${y}}`)}const $A=ut.createContext(void 0),zT=({children:r,initialLanguage:f="en"})=>{const[p,y]=ut.useState(f);ut.useEffect(()=>{f&&y(f)},[f]);const v=ut.useCallback(w=>WA(w,p),[p]),b=ut.useCallback((w,C)=>UT(WA(w,p),C),[p]);return Ce.jsx($A.Provider,{value:{language:p,setLanguage:y,t:v,ti:b},children:r})},X1=()=>{const r=ut.useContext($A);if(!r)throw new Error("useLanguage must be used within a LanguageProvider");return r},_T=ut.memo(({onClick:r,buttonSize:f=56})=>{const{t:p}=X1(),y=v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),r())};return Ce.jsx("button",{className:"chat-button",onClick:r,onKeyDown:y,"aria-label":p("openChat"),title:p("openChatTitle"),type:"button",children:Ce.jsx("img",{src:BT,width:f,height:f,alt:"Ask AI"})})});function Cu(r){const f={formatters:void 0,fees:void 0,serializers:void 0,...r};function p(y){return v=>{const b=typeof v=="function"?v(y):v,w={...y,...b};return Object.assign(w,{extend:p(w)})}}return Object.assign(f,{extend:p(f)})}const PA="2.46.3";let Ov={getDocsUrl:({docsBaseUrl:r,docsPath:f="",docsSlug:p})=>f?`${r??"https://viem.sh"}${f}${p?`#${p}`:""}`:void 0,version:`viem@${PA}`};class Et extends Error{constructor(f,p={}){const y=p.cause instanceof Et?p.cause.details:p.cause?.message?p.cause.message:p.details,v=p.cause instanceof Et&&p.cause.docsPath||p.docsPath,b=Ov.getDocsUrl?.({...p,docsPath:v}),w=[f||"An error occurred.","",...p.metaMessages?[...p.metaMessages,""]:[],...b?[`Docs: ${b}`]:[],...y?[`Details: ${y}`]:[],...Ov.version?[`Version: ${Ov.version}`]:[]].join(`
332
335
  `);super(w,p.cause?{cause:p.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=y,this.docsPath=v,this.metaMessages=p.metaMessages,this.name=p.name??this.name,this.shortMessage=f,this.version=PA}walk(f){return eS(this,f)}}function eS(r,f){return f?.(r)?r:r&&typeof r=="object"&&"cause"in r&&r.cause!==void 0?eS(r.cause,f):f?null:r}class xv extends Et{constructor({max:f,min:p,signed:y,size:v,value:b}){super(`Number "${b}" is not in safe ${v?`${v*8}-bit ${y?"signed":"unsigned"} `:""}integer range ${f?`(${p} to ${f})`:`(above ${p})`}`,{name:"IntegerOutOfRangeError"})}}class HT extends Et{constructor({givenSize:f,maxSize:p}){super(`Size cannot exceed ${p} bytes. Given size: ${f} bytes.`,{name:"SizeOverflowError"})}}function A0(r,{strict:f=!0}={}){return!r||typeof r!="string"?!1:f?/^0x[0-9a-fA-F]*$/.test(r):r.startsWith("0x")}function oo(r){return A0(r,{strict:!1})?Math.ceil((r.length-2)/2):r.length}function I1(r,{dir:f="left"}={}){let p=typeof r=="string"?r.replace("0x",""):r,y=0;for(let v=0;v<p.length-1&&p[f==="left"?v:p.length-v-1].toString()==="0";v++)y++;return p=f==="left"?p.slice(y):p.slice(0,p.length-y),typeof r=="string"?(p.length===1&&f==="right"&&(p=`${p}0`),`0x${p.length%2===1?`0${p}`:p}`):p}class tS extends Et{constructor({offset:f,position:p,size:y}){super(`Slice ${p==="start"?"starting":"ending"} at offset "${f}" is out-of-bounds (size: ${y}).`,{name:"SliceOffsetOutOfBoundsError"})}}class nS extends Et{constructor({size:f,targetSize:p,type:y}){super(`${y.charAt(0).toUpperCase()}${y.slice(1).toLowerCase()} size (${f}) exceeds padding size (${p}).`,{name:"SizeExceedsPaddingSizeError"})}}function S0(r,{dir:f,size:p=32}={}){return typeof r=="string"?Yc(r,{dir:f,size:p}):LT(r,{dir:f,size:p})}function Yc(r,{dir:f,size:p=32}={}){if(p===null)return r;const y=r.replace("0x","");if(y.length>p*2)throw new nS({size:Math.ceil(y.length/2),targetSize:p,type:"hex"});return`0x${y[f==="right"?"padEnd":"padStart"](p*2,"0")}`}function LT(r,{dir:f,size:p=32}={}){if(p===null)return r;if(r.length>p)throw new nS({size:r.length,targetSize:p,type:"bytes"});const y=new Uint8Array(p);for(let v=0;v<p;v++){const b=f==="right";y[b?v:p-v-1]=r[b?v:r.length-v-1]}return y}const jT=Array.from({length:256},(r,f)=>f.toString(16).padStart(2,"0"));function T0(r,f={}){return typeof r=="number"||typeof r=="bigint"?bt(r,f):typeof r=="string"?lS(r,f):typeof r=="boolean"?aS(r,f):Ou(r,f)}function aS(r,f={}){const p=`0x${Number(r)}`;return typeof f.size=="number"?(w0(p,{size:f.size}),S0(p,{size:f.size})):p}function Ou(r,f={}){let p="";for(let v=0;v<r.length;v++)p+=jT[r[v]];const y=`0x${p}`;return typeof f.size=="number"?(w0(y,{size:f.size}),S0(y,{dir:"right",size:f.size})):y}function bt(r,f={}){const{signed:p,size:y}=f,v=BigInt(r);let b;y?p?b=(1n<<BigInt(y)*8n-1n)-1n:b=2n**(BigInt(y)*8n)-1n:typeof r=="number"&&(b=BigInt(Number.MAX_SAFE_INTEGER));const w=typeof b=="bigint"&&p?-b-1n:0;if(b&&v>b||v<w){const R=typeof r=="bigint"?"n":"";throw new xv({max:b?`${b}${R}`:void 0,min:`${w}${R}`,signed:p,size:y,value:`${r}${R}`})}const C=`0x${(p&&v<0?(1n<<BigInt(y*8))+BigInt(v):v).toString(16)}`;return y?S0(C,{size:y}):C}const YT=new TextEncoder;function lS(r,f={}){const p=YT.encode(r);return Ou(p,f)}const qT=new TextEncoder;function Rv(r,f={}){return typeof r=="number"||typeof r=="bigint"?VT(r,f):typeof r=="boolean"?GT(r,f):A0(r)?Rf(r,f):iS(r,f)}function GT(r,f={}){const p=new Uint8Array(1);return p[0]=Number(r),typeof f.size=="number"?(w0(p,{size:f.size}),S0(p,{size:f.size})):p}const xu={zero:48,nine:57,A:65,F:70,a:97,f:102};function oS(r){if(r>=xu.zero&&r<=xu.nine)return r-xu.zero;if(r>=xu.A&&r<=xu.F)return r-(xu.A-10);if(r>=xu.a&&r<=xu.f)return r-(xu.a-10)}function Rf(r,f={}){let p=r;f.size&&(w0(p,{size:f.size}),p=S0(p,{dir:"right",size:f.size}));let y=p.slice(2);y.length%2&&(y=`0${y}`);const v=y.length/2,b=new Uint8Array(v);for(let w=0,C=0;w<v;w++){const R=oS(y.charCodeAt(C++)),_=oS(y.charCodeAt(C++));if(R===void 0||_===void 0)throw new Et(`Invalid byte sequence ("${y[C-2]}${y[C-1]}" in "${y}").`);b[w]=R*16+_}return b}function VT(r,f){const p=bt(r,f);return Rf(p)}function iS(r,f={}){const p=qT.encode(r);return typeof f.size=="number"?(w0(p,{size:f.size}),S0(p,{dir:"right",size:f.size})):p}function w0(r,{size:f}){if(oo(r)>f)throw new HT({givenSize:oo(r),maxSize:f})}function E0(r,f={}){const{signed:p}=f;f.size&&w0(r,{size:f.size});const y=BigInt(r);if(!p)return y;const v=(r.length-2)/2,b=(1n<<BigInt(v)*8n-1n)-1n;return y<=b?y:y-BigInt(`0x${"f".padStart(v*2,"f")}`)-1n}function F1(r,f={}){const p=E0(r,f),y=Number(p);if(!Number.isSafeInteger(y))throw new xv({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:f.signed,size:f.size,value:`${p}n`});return y}function Dv(r,f){return({exclude:p,format:y})=>({exclude:p,format:(v,b)=>{const w=f(v,b);if(p)for(const C of p)delete w[C];return{...w,...y(v,b)}},type:r})}const sS={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Nv(r,f){const p={...r,blockHash:r.blockHash?r.blockHash:null,blockNumber:r.blockNumber?BigInt(r.blockNumber):null,chainId:r.chainId?F1(r.chainId):void 0,gas:r.gas?BigInt(r.gas):void 0,gasPrice:r.gasPrice?BigInt(r.gasPrice):void 0,maxFeePerBlobGas:r.maxFeePerBlobGas?BigInt(r.maxFeePerBlobGas):void 0,maxFeePerGas:r.maxFeePerGas?BigInt(r.maxFeePerGas):void 0,maxPriorityFeePerGas:r.maxPriorityFeePerGas?BigInt(r.maxPriorityFeePerGas):void 0,nonce:r.nonce?F1(r.nonce):void 0,to:r.to?r.to:null,transactionIndex:r.transactionIndex?Number(r.transactionIndex):null,type:r.type?sS[r.type]:void 0,typeHex:r.type?r.type:void 0,value:r.value?BigInt(r.value):void 0,v:r.v?BigInt(r.v):void 0};return r.authorizationList&&(p.authorizationList=XT(r.authorizationList)),p.yParity=(()=>{if(r.yParity)return Number(r.yParity);if(typeof p.v=="bigint"){if(p.v===0n||p.v===27n)return 0;if(p.v===1n||p.v===28n)return 1;if(p.v>=35n)return p.v%2n===0n?1:0}})(),p.type==="legacy"&&(delete p.accessList,delete p.maxFeePerBlobGas,delete p.maxFeePerGas,delete p.maxPriorityFeePerGas,delete p.yParity),p.type==="eip2930"&&(delete p.maxFeePerBlobGas,delete p.maxFeePerGas,delete p.maxPriorityFeePerGas),p.type==="eip1559"&&delete p.maxFeePerBlobGas,p}const QT=Dv("transaction",Nv);function XT(r){return r.map(f=>({address:f.address,chainId:Number(f.chainId),nonce:Number(f.nonce),r:f.r,s:f.s,yParity:Number(f.yParity)}))}function IT(r,f){const p=(r.transactions??[]).map(y=>typeof y=="string"?y:Nv(y));return{...r,baseFeePerGas:r.baseFeePerGas?BigInt(r.baseFeePerGas):null,blobGasUsed:r.blobGasUsed?BigInt(r.blobGasUsed):void 0,difficulty:r.difficulty?BigInt(r.difficulty):void 0,excessBlobGas:r.excessBlobGas?BigInt(r.excessBlobGas):void 0,gasLimit:r.gasLimit?BigInt(r.gasLimit):void 0,gasUsed:r.gasUsed?BigInt(r.gasUsed):void 0,hash:r.hash?r.hash:null,logsBloom:r.logsBloom?r.logsBloom:null,nonce:r.nonce?r.nonce:null,number:r.number?BigInt(r.number):null,size:r.size?BigInt(r.size):void 0,timestamp:r.timestamp?BigInt(r.timestamp):void 0,transactions:p,totalDifficulty:r.totalDifficulty?BigInt(r.totalDifficulty):null}}const FT=Dv("block",IT);function JT(r,{args:f,eventName:p}={}){return{...r,blockHash:r.blockHash?r.blockHash:null,blockNumber:r.blockNumber?BigInt(r.blockNumber):null,blockTimestamp:r.blockTimestamp?BigInt(r.blockTimestamp):r.blockTimestamp===null?null:void 0,logIndex:r.logIndex?Number(r.logIndex):null,transactionHash:r.transactionHash?r.transactionHash:null,transactionIndex:r.transactionIndex?Number(r.transactionIndex):null,...p?{args:f,eventName:p}:{}}}const ZT={"0x0":"reverted","0x1":"success"};function KT(r,f){const p={...r,blockNumber:r.blockNumber?BigInt(r.blockNumber):null,contractAddress:r.contractAddress?r.contractAddress:null,cumulativeGasUsed:r.cumulativeGasUsed?BigInt(r.cumulativeGasUsed):null,effectiveGasPrice:r.effectiveGasPrice?BigInt(r.effectiveGasPrice):null,gasUsed:r.gasUsed?BigInt(r.gasUsed):null,logs:r.logs?r.logs.map(y=>JT(y)):null,to:r.to?r.to:null,transactionIndex:r.transactionIndex?F1(r.transactionIndex):null,status:r.status?ZT[r.status]:null,type:r.type?sS[r.type]||r.type:null};return r.blobGasPrice&&(p.blobGasPrice=BigInt(r.blobGasPrice)),r.blobGasUsed&&(p.blobGasUsed=BigInt(r.blobGasUsed)),p}const WT=Dv("transactionReceipt",KT),$T={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function PT(r,f){const p={};return typeof r.authorizationList<"u"&&(p.authorizationList=ew(r.authorizationList)),typeof r.accessList<"u"&&(p.accessList=r.accessList),typeof r.blobVersionedHashes<"u"&&(p.blobVersionedHashes=r.blobVersionedHashes),typeof r.blobs<"u"&&(typeof r.blobs[0]!="string"?p.blobs=r.blobs.map(y=>Ou(y)):p.blobs=r.blobs),typeof r.data<"u"&&(p.data=r.data),r.account&&(p.from=r.account.address),typeof r.from<"u"&&(p.from=r.from),typeof r.gas<"u"&&(p.gas=bt(r.gas)),typeof r.gasPrice<"u"&&(p.gasPrice=bt(r.gasPrice)),typeof r.maxFeePerBlobGas<"u"&&(p.maxFeePerBlobGas=bt(r.maxFeePerBlobGas)),typeof r.maxFeePerGas<"u"&&(p.maxFeePerGas=bt(r.maxFeePerGas)),typeof r.maxPriorityFeePerGas<"u"&&(p.maxPriorityFeePerGas=bt(r.maxPriorityFeePerGas)),typeof r.nonce<"u"&&(p.nonce=bt(r.nonce)),typeof r.to<"u"&&(p.to=r.to),typeof r.type<"u"&&(p.type=$T[r.type]),typeof r.value<"u"&&(p.value=bt(r.value)),p}function ew(r){return r.map(f=>({address:f.address,r:f.r?bt(BigInt(f.r)):f.r,s:f.s?bt(BigInt(f.s)):f.s,chainId:bt(f.chainId),nonce:bt(f.nonce),...typeof f.yParity<"u"?{yParity:bt(f.yParity)}:{},...typeof f.v<"u"&&typeof f.yParity>"u"?{v:bt(f.v)}:{}}))}const C0=2n**256n-1n;function O0(r){return typeof r[0]=="string"?Df(r):tw(r)}function tw(r){let f=0;for(const v of r)f+=v.length;const p=new Uint8Array(f);let y=0;for(const v of r)p.set(v,y),y+=v.length;return p}function Df(r){return`0x${r.reduce((f,p)=>f+p.replace("0x",""),"")}`}class uS extends Et{constructor({offset:f}){super(`Offset \`${f}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class nw extends Et{constructor({length:f,position:p}){super(`Position \`${p}\` is out of bounds (\`0 < position < ${f}\`).`,{name:"PositionOutOfBoundsError"})}}class aw extends Et{constructor({count:f,limit:p}){super(`Recursive read limit of \`${p}\` exceeded (recursive read count: \`${f}\`).`,{name:"RecursiveReadLimitExceededError"})}}const lw={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new aw({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(r){if(r<0||r>this.bytes.length-1)throw new nw({length:this.bytes.length,position:r})},decrementPosition(r){if(r<0)throw new uS({offset:r});const f=this.position-r;this.assertPosition(f),this.position=f},getReadCount(r){return this.positionReadCount.get(r||this.position)||0},incrementPosition(r){if(r<0)throw new uS({offset:r});const f=this.position+r;this.assertPosition(f),this.position=f},inspectByte(r){const f=r??this.position;return this.assertPosition(f),this.bytes[f]},inspectBytes(r,f){const p=f??this.position;return this.assertPosition(p+r-1),this.bytes.subarray(p,p+r)},inspectUint8(r){const f=r??this.position;return this.assertPosition(f),this.bytes[f]},inspectUint16(r){const f=r??this.position;return this.assertPosition(f+1),this.dataView.getUint16(f)},inspectUint24(r){const f=r??this.position;return this.assertPosition(f+2),(this.dataView.getUint16(f)<<8)+this.dataView.getUint8(f+2)},inspectUint32(r){const f=r??this.position;return this.assertPosition(f+3),this.dataView.getUint32(f)},pushByte(r){this.assertPosition(this.position),this.bytes[this.position]=r,this.position++},pushBytes(r){this.assertPosition(this.position+r.length-1),this.bytes.set(r,this.position),this.position+=r.length},pushUint8(r){this.assertPosition(this.position),this.bytes[this.position]=r,this.position++},pushUint16(r){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,r),this.position+=2},pushUint24(r){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,r>>8),this.dataView.setUint8(this.position+2,r&255),this.position+=3},pushUint32(r){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,r),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const r=this.inspectByte();return this.position++,r},readBytes(r,f){this.assertReadLimit(),this._touch();const p=this.inspectBytes(r);return this.position+=f??r,p},readUint8(){this.assertReadLimit(),this._touch();const r=this.inspectUint8();return this.position+=1,r},readUint16(){this.assertReadLimit(),this._touch();const r=this.inspectUint16();return this.position+=2,r},readUint24(){this.assertReadLimit(),this._touch();const r=this.inspectUint24();return this.position+=3,r},readUint32(){this.assertReadLimit(),this._touch();const r=this.inspectUint32();return this.position+=4,r},get remaining(){return this.bytes.length-this.position},setPosition(r){const f=this.position;return this.assertPosition(r),this.position=r,()=>this.position=f},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const r=this.getReadCount();this.positionReadCount.set(this.position,r+1),r>0&&this.recursiveReadCount++}};function cS(r,{recursiveReadLimit:f=8192}={}){const p=Object.create(lw);return p.bytes=r,p.dataView=new DataView(r.buffer??r,r.byteOffset,r.byteLength),p.positionReadCount=new Map,p.recursiveReadLimit=f,p}function Nf(r,f="hex"){const p=rS(r),y=cS(new Uint8Array(p.length));return p.encode(y),f==="hex"?Ou(y.bytes):y.bytes}function rS(r){return Array.isArray(r)?ow(r.map(f=>rS(f))):iw(r)}function ow(r){const f=r.reduce((v,b)=>v+b.length,0),p=fS(f);return{length:f<=55?1+f:1+p+f,encode(v){f<=55?v.pushByte(192+f):(v.pushByte(247+p),p===1?v.pushUint8(f):p===2?v.pushUint16(f):p===3?v.pushUint24(f):v.pushUint32(f));for(const{encode:b}of r)b(v)}}}function iw(r){const f=typeof r=="string"?Rf(r):r,p=fS(f.length);return{length:f.length===1&&f[0]<128?1:f.length<=55?1+f.length:1+p+f.length,encode(v){f.length===1&&f[0]<128?v.pushBytes(f):f.length<=55?(v.pushByte(128+f.length),v.pushBytes(f)):(v.pushByte(183+p),p===1?v.pushUint8(f.length):p===2?v.pushUint16(f.length):p===3?v.pushUint24(f.length):v.pushUint32(f.length),v.pushBytes(f))}}}function fS(r){if(r<2**8)return 1;if(r<2**16)return 2;if(r<2**24)return 3;if(r<2**32)return 4;throw new Et("Length is too large.")}const sw={gwei:9,wei:18},uw={ether:-9,wei:9};function wa(r,f){let p=r.toString();const y=p.startsWith("-");y&&(p=p.slice(1)),p=p.padStart(f,"0");let[v,b]=[p.slice(0,p.length-f),p.slice(p.length-f)];return b=b.replace(/(0+)$/,""),`${y?"-":""}${v||"0"}${b?`.${b}`:""}`}function cw(r,f="wei"){return wa(r,sw[f])}function Mf(r,f="wei"){return wa(r,uw[f])}function dS(r){const f=Object.entries(r).map(([y,v])=>v===void 0||v===!1?null:[y,v]).filter(Boolean),p=f.reduce((y,[v])=>Math.max(y,v.length),0);return f.map(([y,v])=>` ${`${y}:`.padEnd(p+1)} ${v}`).join(`
333
336
  `)}class rw extends Et{constructor({v:f}){super(`Invalid \`v\` value "${f}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class fw extends Et{constructor({transaction:f}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",dS(f),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class dw extends Et{constructor({storageKey:f}){super(`Size for storage key "${f}" is invalid. Expected 32 bytes. Got ${Math.floor((f.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}function mw(r){if(!r||r.length===0)return[];const f=[];for(const p of r){const{chainId:y,nonce:v,...b}=p,w=p.address;f.push([y?T0(y):"0x",w,v?T0(v):"0x",...Jh({},b)])}return f}function mS(r){const{kzg:f}=r,p=r.to??(typeof r.blobs[0]=="string"?"hex":"bytes"),y=typeof r.blobs[0]=="string"?r.blobs.map(b=>Rf(b)):r.blobs,v=[];for(const b of y)v.push(Uint8Array.from(f.blobToKzgCommitment(b)));return p==="bytes"?v:v.map(b=>Ou(b))}function hS(r){const{kzg:f}=r,p=r.to??(typeof r.blobs[0]=="string"?"hex":"bytes"),y=typeof r.blobs[0]=="string"?r.blobs.map(w=>Rf(w)):r.blobs,v=typeof r.commitments[0]=="string"?r.commitments.map(w=>Rf(w)):r.commitments,b=[];for(let w=0;w<y.length;w++){const C=y[w],R=v[w];b.push(Uint8Array.from(f.computeBlobKzgProof(C,R)))}return p==="bytes"?b:b.map(w=>Ou(w))}function hw(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function pS(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function Qh(r,...f){if(!hw(r))throw new Error("Uint8Array expected");if(f.length>0&&!f.includes(r.length))throw new Error("Uint8Array expected of length "+f+", got length="+r.length)}function J1(r,f=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(f&&r.finished)throw new Error("Hash#digest() has already been called")}function yS(r,f){Qh(r);const p=f.outputLen;if(r.length<p)throw new Error("digestInto() expects output buffer of length at least "+p)}function pw(r){return new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4))}function Xh(...r){for(let f=0;f<r.length;f++)r[f].fill(0)}function Mv(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function Us(r,f){return r<<32-f|r>>>f}const yw=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function gw(r){return r<<24&4278190080|r<<8&16711680|r>>>8&65280|r>>>24&255}function vw(r){for(let f=0;f<r.length;f++)r[f]=gw(r[f]);return r}const gS=yw?r=>r:vw;function bw(r){if(typeof r!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(r))}function kv(r){return typeof r=="string"&&(r=bw(r)),Qh(r),r}class vS{}function bS(r){const f=y=>r().update(kv(y)).digest(),p=r();return f.outputLen=p.outputLen,f.blockLen=p.blockLen,f.create=()=>r(),f}function Aw(r,f,p,y){if(typeof r.setBigUint64=="function")return r.setBigUint64(f,p,y);const v=BigInt(32),b=BigInt(4294967295),w=Number(p>>v&b),C=Number(p&b),R=y?4:0,_=y?0:4;r.setUint32(f+R,w,y),r.setUint32(f+_,C,y)}function Sw(r,f,p){return r&f^~r&p}function Tw(r,f,p){return r&f^r&p^f&p}class ww extends vS{constructor(f,p,y,v){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=f,this.outputLen=p,this.padOffset=y,this.isLE=v,this.buffer=new Uint8Array(f),this.view=Mv(this.buffer)}update(f){J1(this),f=kv(f),Qh(f);const{view:p,buffer:y,blockLen:v}=this,b=f.length;for(let w=0;w<b;){const C=Math.min(v-this.pos,b-w);if(C===v){const R=Mv(f);for(;v<=b-w;w+=v)this.process(R,w);continue}y.set(f.subarray(w,w+C),this.pos),this.pos+=C,w+=C,this.pos===v&&(this.process(p,0),this.pos=0)}return this.length+=f.length,this.roundClean(),this}digestInto(f){J1(this),yS(f,this),this.finished=!0;const{buffer:p,view:y,blockLen:v,isLE:b}=this;let{pos:w}=this;p[w++]=128,Xh(this.buffer.subarray(w)),this.padOffset>v-w&&(this.process(y,0),w=0);for(let Q=w;Q<v;Q++)p[Q]=0;Aw(y,v-8,BigInt(this.length*8),b),this.process(y,0);const C=Mv(f),R=this.outputLen;if(R%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const _=R/4,ue=this.get();if(_>ue.length)throw new Error("_sha2: outputLen bigger than state");for(let Q=0;Q<_;Q++)C.setUint32(4*Q,ue[Q],b)}digest(){const{buffer:f,outputLen:p}=this;this.digestInto(f);const y=f.slice(0,p);return this.destroy(),y}_cloneInto(f){f||(f=new this.constructor),f.set(...this.get());const{blockLen:p,buffer:y,length:v,finished:b,destroyed:w,pos:C}=this;return f.destroyed=w,f.finished=b,f.length=v,f.pos=C,v%p&&f.buffer.set(y),f}clone(){return this._cloneInto()}}const qc=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Z1=BigInt(2**32-1),AS=BigInt(32);function Ew(r,f=!1){return f?{h:Number(r&Z1),l:Number(r>>AS&Z1)}:{h:Number(r>>AS&Z1)|0,l:Number(r&Z1)|0}}function Cw(r,f=!1){const p=r.length;let y=new Uint32Array(p),v=new Uint32Array(p);for(let b=0;b<p;b++){const{h:w,l:C}=Ew(r[b],f);[y[b],v[b]]=[w,C]}return[y,v]}const Ow=(r,f,p)=>r<<p|f>>>32-p,xw=(r,f,p)=>f<<p|r>>>32-p,Rw=(r,f,p)=>f<<p-32|r>>>64-p,Dw=(r,f,p)=>r<<p-32|f>>>64-p,Nw=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Gc=new Uint32Array(64);class Mw extends ww{constructor(f=32){super(64,f,8,!1),this.A=qc[0]|0,this.B=qc[1]|0,this.C=qc[2]|0,this.D=qc[3]|0,this.E=qc[4]|0,this.F=qc[5]|0,this.G=qc[6]|0,this.H=qc[7]|0}get(){const{A:f,B:p,C:y,D:v,E:b,F:w,G:C,H:R}=this;return[f,p,y,v,b,w,C,R]}set(f,p,y,v,b,w,C,R){this.A=f|0,this.B=p|0,this.C=y|0,this.D=v|0,this.E=b|0,this.F=w|0,this.G=C|0,this.H=R|0}process(f,p){for(let Q=0;Q<16;Q++,p+=4)Gc[Q]=f.getUint32(p,!1);for(let Q=16;Q<64;Q++){const M=Gc[Q-15],X=Gc[Q-2],te=Us(M,7)^Us(M,18)^M>>>3,ie=Us(X,17)^Us(X,19)^X>>>10;Gc[Q]=ie+Gc[Q-7]+te+Gc[Q-16]|0}let{A:y,B:v,C:b,D:w,E:C,F:R,G:_,H:ue}=this;for(let Q=0;Q<64;Q++){const M=Us(C,6)^Us(C,11)^Us(C,25),X=ue+M+Sw(C,R,_)+Nw[Q]+Gc[Q]|0,ie=(Us(y,2)^Us(y,13)^Us(y,22))+Tw(y,v,b)|0;ue=_,_=R,R=C,C=w+X|0,w=b,b=v,v=y,y=X+ie|0}y=y+this.A|0,v=v+this.B|0,b=b+this.C|0,w=w+this.D|0,C=C+this.E|0,R=R+this.F|0,_=_+this.G|0,ue=ue+this.H|0,this.set(y,v,b,w,C,R,_,ue)}roundClean(){Xh(Gc)}destroy(){this.set(0,0,0,0,0,0,0,0),Xh(this.buffer)}}const kw=bS(()=>new Mw);function Bw(r,f){return kw(A0(r,{strict:!1})?Rv(r):r)}function Uw(r){const{commitment:f,version:p=1}=r,y=r.to??(typeof f=="string"?"hex":"bytes"),v=Bw(f);return v.set([p],0),y==="bytes"?v:Ou(v)}function zw(r){const{commitments:f,version:p}=r,y=r.to??(typeof f[0]=="string"?"hex":"bytes"),v=[];for(const b of f)v.push(Uw({commitment:b,to:y,version:p}));return v}const SS=6,TS=32,Bv=4096,wS=TS*Bv,ES=wS*SS-1-1*Bv*SS,CS=1;class _w extends Et{constructor({maxSize:f,size:p}){super("Blob size is too large.",{metaMessages:[`Max: ${f} bytes`,`Given: ${p} bytes`],name:"BlobSizeTooLargeError"})}}class OS extends Et{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class Hw extends Et{constructor({hash:f,size:p}){super(`Versioned hash "${f}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${p}`],name:"InvalidVersionedHashSizeError"})}}class Lw extends Et{constructor({hash:f,version:p}){super(`Versioned hash "${f}" version is invalid.`,{metaMessages:[`Expected: ${CS}`,`Received: ${p}`],name:"InvalidVersionedHashVersionError"})}}function jw(r){const f=r.to??(typeof r.data=="string"?"hex":"bytes"),p=typeof r.data=="string"?Rf(r.data):r.data,y=oo(p);if(!y)throw new OS;if(y>ES)throw new _w({maxSize:ES,size:y});const v=[];let b=!0,w=0;for(;b;){const C=cS(new Uint8Array(wS));let R=0;for(;R<Bv;){const _=p.slice(w,w+(TS-1));if(C.pushByte(0),C.pushBytes(_),_.length<31){C.pushByte(128),b=!1;break}R++,w+=31}v.push(C)}return f==="bytes"?v.map(C=>C.bytes):v.map(C=>Ou(C.bytes))}function Yw(r){const{data:f,kzg:p,to:y}=r,v=r.blobs??jw({data:f,to:y}),b=r.commitments??mS({blobs:v,kzg:p,to:y}),w=r.proofs??hS({blobs:v,commitments:b,kzg:p,to:y}),C=[];for(let R=0;R<v.length;R++)C.push({blob:v[R],commitment:b[R],proof:w[R]});return C}class zs extends Et{constructor({address:f}){super(`Address "${f}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class K1 extends Et{constructor({chainId:f}){super(typeof f=="number"?`Chain ID "${f}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class x0 extends Et{constructor({cause:f,message:p}={}){const y=p?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${y?`with reason: ${y}`:"for an unknown reason"}.`,{cause:f,name:"ExecutionRevertedError"})}}Object.defineProperty(x0,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(x0,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});class kf extends Et{constructor({cause:f,maxFeePerGas:p}={}){super(`The fee cap (\`maxFeePerGas\`${p?` = ${Mf(p)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:f,name:"FeeCapTooHighError"})}}Object.defineProperty(kf,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class Uv extends Et{constructor({cause:f,maxFeePerGas:p}={}){super(`The fee cap (\`maxFeePerGas\`${p?` = ${Mf(p)}`:""} gwei) cannot be lower than the block base fee.`,{cause:f,name:"FeeCapTooLowError"})}}Object.defineProperty(Uv,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class zv extends Et{constructor({cause:f,nonce:p}={}){super(`Nonce provided for the transaction ${p?`(${p}) `:""}is higher than the next one expected.`,{cause:f,name:"NonceTooHighError"})}}Object.defineProperty(zv,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class _v extends Et{constructor({cause:f,nonce:p}={}){super([`Nonce provided for the transaction ${p?`(${p}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
334
337
  `),{cause:f,name:"NonceTooLowError"})}}Object.defineProperty(_v,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class Hv extends Et{constructor({cause:f,nonce:p}={}){super(`Nonce provided for the transaction ${p?`(${p}) `:""}exceeds the maximum allowed nonce.`,{cause:f,name:"NonceMaxValueError"})}}Object.defineProperty(Hv,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class Lv extends Et{constructor({cause:f}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
@@ -654,7 +657,7 @@ Response: {"action":"swap_token","message":"<friendly explanation>","parameters"
654
657
 
655
658
  User: "swap token" or "I want to swap" or "đổi token" (no specific tokens mentioned)
656
659
  Response: {"action":"swap_token","message":"<friendly explanation, e.g. Which token would you like to swap?>","parameters":{"token_in":"","token_in_symbol":"","token_in_decimals":"","token_out":"","token_out_symbol":"","token_out_decimals":"","amount":""}}`}const l4={1:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",10:"0x4200000000000000000000000000000000000006",56:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",137:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",8453:"0x4200000000000000000000000000000000000006",42161:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"},oy=[{name:"transfer",type:"function",stateMutability:"nonpayable",inputs:[{name:"to",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"approve",type:"function",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"allowance",type:"function",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{name:"",type:"uint256"}]}],o4=[{name:"deposit",type:"function",stateMutability:"payable",inputs:[],outputs:[]},{name:"withdraw",type:"function",stateMutability:"nonpayable",inputs:[{name:"wad",type:"uint256"}],outputs:[]}],j6=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"tokenId",type:"uint256"}],outputs:[]}],Y6=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"id",type:"uint256"},{name:"amount",type:"uint256"},{name:"data",type:"bytes"}],outputs:[]}];function tp(r,f){return f||_s[r]?.rpcUrls?.default?.http?.[0]}function q6(r){const{action:f,parameters:p,fromAddress:y,chainId:v}=r;switch(f){case"send_native":return G6(p,y,v);case"send_token":return V6(p,y,v);case"approve_token":return Q6(p,y,v);case"wrap_native":return X6(p,y,v);case"unwrap_native":return I6(p,y,v);case"send_nft":return J6(p,y,v);default:throw new Error(`Action "${f}" does not produce a transaction`)}}function G6(r,f,p){const{to_address:y,amount:v}=r;if(!y)throw new Error("Recipient address is required");if(!v)throw new Error("Amount is required");const b=Ru(v,18).toString();return{from:f,to:y,data:"0x",value:b,chainId:p,description:`Send ${v} native token to ${y}`}}function V6(r,f,p){const{contract_address:y,to_address:v,amount:b,decimals:w,token_symbol:C}=r;if(!y)throw new Error("Token contract address is required");if(!v)throw new Error("Recipient address is required");if(!b)throw new Error("Amount is required");const R=parseInt(w)||18,_=Ru(b,R),ue=Vc({abi:oy,functionName:"transfer",args:[v,_]});return{from:f,to:y,data:ue,value:"0",chainId:p,description:`Send ${b} ${C||"tokens"} to ${v}`}}function Q6(r,f,p){const{contract_address:y,spender_address:v,amount:b,token_symbol:w}=r;if(!y)throw new Error("Token contract address is required");if(!v)throw new Error("Spender address is required");const C=b&&b?.trim()!==""?Ru(b,18):C0,R=Vc({abi:oy,functionName:"approve",args:[v,C]});return{from:f,to:y,data:R,value:"0",chainId:p,description:`Approve ${b||"unlimited"} ${w||"tokens"} for ${v}`}}function X6(r,f,p){const{amount:y}=r;if(!y)throw new Error("Amount is required");const v=l4[p];if(!v)throw new Error(`WETH not supported on chain ${p}`);const b=Ru(y,18).toString(),w=Vc({abi:o4,functionName:"deposit"});return{from:f,to:v,data:w,value:b,chainId:p,description:`Wrap ${y} native token`}}function I6(r,f,p){const{amount:y}=r;if(!y)throw new Error("Amount is required");const v=l4[p];if(!v)throw new Error(`WETH not supported on chain ${p}`);const b=Ru(y,18),w=Vc({abi:o4,functionName:"withdraw",args:[b]});return{from:f,to:v,data:w,value:"0",chainId:p,description:`Unwrap ${y} WETH`}}function F6(r){return["send_native","send_token","approve_token","wrap_native","unwrap_native","send_nft"].includes(r)}async function ib(r){const{transactionHash:f,chainId:p,pollingInterval:y=3e3,timeout:v=12e4,rpcUrl:b}=r,w=tp(p,b);if(!w)throw new Error(`No RPC endpoint for chain ${p}`);const C=Date.now();for(;Date.now()-C<v;){try{const _=await(await fetch(w,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getTransactionReceipt",params:[f]})})).json();if(_.result){const ue=_.result;return{status:ue.status==="0x1"?"success":"fail",blockNumber:ue.blockNumber,gasUsed:ue.gasUsed,effectiveGasPrice:ue.effectiveGasPrice}}}catch(R){console.warn("eth_getTransactionReceipt poll error:",R)}await new Promise(R=>setTimeout(R,y))}throw new Error(`Transaction ${f} was not mined within ${v/1e3}s`)}async function sb(r){const{tokenAddress:f,ownerAddress:p,spenderAddress:y,chainId:v,rpcUrl:b}=r,w=tp(v,b);if(!w)return console.warn(`No RPC endpoint for chain ${v}, assuming no allowance`),BigInt(0);try{const C=Vc({abi:oy,functionName:"allowance",args:[p,y]}),_=await(await fetch(w,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:f,data:C},"latest"]})})).json();return _.result&&_.result!=="0x"?BigInt(_.result):BigInt(0)}catch(C){return console.warn("checkAllowance failed:",C),BigInt(0)}}function iy(r){const{tokenAddress:f,spenderAddress:p,fromAddress:y,chainId:v,tokenSymbol:b,amount:w}=r,C=w&&BigInt(w)>0n?BigInt(w):C0,R=Vc({abi:oy,functionName:"approve",args:[p,C]});return{from:y,to:f,data:R,value:"0",chainId:v,description:`Approve ${b||"token"} for swap`}}function J6(r,f,p){const{contract_address:y,token_id:v,to_address:b,token_standard:w,amount:C,nft_name:R}=r;if(!y)throw new Error("NFT contract address is required");if(!v)throw new Error("Token ID is required");if(!b)throw new Error("Recipient address is required");const _=(w||"ERC721").toUpperCase(),ue=BigInt(v);let Q,M;if(_==="ERC1155"){const X=BigInt(C||"1");Q=Vc({abi:Y6,functionName:"safeTransferFrom",args:[f,b,ue,X,"0x"]}),M=`Send ${X>1n?X.toString()+"x ":""}${R||"NFT"} (ERC1155 #${v}) to ${b}`}else Q=Vc({abi:j6,functionName:"safeTransferFrom",args:[f,b,ue]}),M=`Send ${R||"NFT"} (ERC721 #${v}) to ${b}`;return{from:f,to:y,data:Q,value:"0",chainId:p,description:M}}async function sy(r){const{address:f,chainId:p,rpcUrl:y}=r,v=tp(p,y);if(!v)return console.warn(`No RPC endpoint for chain ${p}`),new mt(0);try{const w=await(await fetch(v,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getBalance",params:[f,"latest"]})})).json();return w.result&&w.result!=="0x"?new mt(BigInt(w.result).toString()):new mt(0)}catch(b){return console.warn("getNativeBalance failed:",b),new mt(0)}}async function np(r){const{from:f,to:p,data:y,value:v,chainId:b,rpcUrl:w}=r,C=tp(b,w);if(!C)return console.warn(`No RPC endpoint for chain ${b}`),new mt(0);try{const[R,_]=await Promise.all([fetch(C,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[{from:f,to:p,data:y,...v&&v!=="0"?{value:v}:{}}]})}),fetch(C,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:2,method:"eth_gasPrice",params:[]})})]),[ue,Q]=await Promise.all([R.json(),_.json()]),M=ue.result?new mt(BigInt(ue.result).toString()):new mt(0),X=Q.result?new mt(BigInt(Q.result).toString()):new mt(0);return M.times(X).times(1.1)}catch(R){return console.warn("estimateTransactionFee failed:",R),new mt(0)}}async function ub(r){const{chainId:f,rpcUrl:p}=r,y=tp(f,p);if(!y)return console.warn(`No RPC endpoint for chain ${f}`),new mt(0);try{const b=await(await fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_gasPrice",params:[]})})).json();return b.result&&b.result!=="0x"?new mt(BigInt(b.result).toString()):new mt(0)}catch(v){return console.warn("getGasPrice failed:",v),new mt(0)}}var rt={},ap={exports:{}},Z6=ap.exports,i4;function K6(){return i4||(i4=1,(function(r,f){(function(p,y){var v="1.0.39",b="",w="?",C="function",R="undefined",_="object",ue="string",Q="major",M="model",X="name",te="type",ie="vendor",ne="version",Fe="architecture",le="console",Be="mobile",qe="tablet",at="smarttv",ct="wearable",Ke="embedded",N=500,U="Amazon",B="Apple",oe="ASUS",k="BlackBerry",j="Browser",se="Chrome",q="Edge",E="Firefox",z="Google",Y="Huawei",K="LG",xe="Microsoft",x="Motorola",Z="Opera",we="Samsung",Ee="Sharp",ve="Sony",Ze="Xiaomi",$e="Zebra",qt="Facebook",Ot="Chromium OS",Bn="Mac OS",Ie=" Browser",ra=function(je,ke){var Oe={};for(var Je in je)ke[Je]&&ke[Je].length%2===0?Oe[Je]=ke[Je].concat(je[Je]):Oe[Je]=je[Je];return Oe},ln=function(je){for(var ke={},Oe=0;Oe<je.length;Oe++)ke[je[Oe].toUpperCase()]=je[Oe];return ke},Wt=function(je,ke){return typeof je===ue?Mt(ke).indexOf(Mt(je))!==-1:!1},Mt=function(je){return je.toLowerCase()},It=function(je){return typeof je===ue?je.replace(/[^\d\.]/g,b).split(".")[0]:y},Cn=function(je,ke){if(typeof je===ue)return je=je.replace(/^\s\s*/,b),typeof ke===R?je:je.substring(0,N)},Ea=function(je,ke){for(var Oe=0,Je,nt,Ye,re,pe,et;Oe<ke.length&&!pe;){var Pe=ke[Oe],At=ke[Oe+1];for(Je=nt=0;Je<Pe.length&&!pe&&Pe[Je];)if(pe=Pe[Je++].exec(je),pe)for(Ye=0;Ye<At.length;Ye++)et=pe[++nt],re=At[Ye],typeof re===_&&re.length>0?re.length===2?typeof re[1]==C?this[re[0]]=re[1].call(this,et):this[re[0]]=re[1]:re.length===3?typeof re[1]===C&&!(re[1].exec&&re[1].test)?this[re[0]]=et?re[1].call(this,et,re[2]):y:this[re[0]]=et?et.replace(re[1],re[2]):y:re.length===4&&(this[re[0]]=et?re[3].call(this,et.replace(re[1],re[2])):y):this[re]=et||y;Oe+=2}},Ya=function(je,ke){for(var Oe in ke)if(typeof ke[Oe]===_&&ke[Oe].length>0){for(var Je=0;Je<ke[Oe].length;Je++)if(Wt(ke[Oe][Je],je))return Oe===w?y:Oe}else if(Wt(ke[Oe],je))return Oe===w?y:Oe;return ke.hasOwnProperty("*")?ke["*"]:je},ot={"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},_e={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},Xe={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[ne,[X,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[ne,[X,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[X,ne],[/opios[\/ ]+([\w\.]+)/i],[ne,[X,Z+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[ne,[X,Z+" GX"]],[/\bopr\/([\w\.]+)/i],[ne,[X,Z]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[ne,[X,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[X,ne],[/quark(?:pc)?\/([-\w\.]+)/i],[ne,[X,"Quark"]],[/\bddg\/([\w\.]+)/i],[ne,[X,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[ne,[X,"UC"+j]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[ne,[X,"WeChat"]],[/konqueror\/([\w\.]+)/i],[ne,[X,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[ne,[X,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[ne,[X,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[ne,[X,"Smart Lenovo "+j]],[/(avast|avg)\/([\w\.]+)/i],[[X,/(.+)/,"$1 Secure "+j],ne],[/\bfocus\/([\w\.]+)/i],[ne,[X,E+" Focus"]],[/\bopt\/([\w\.]+)/i],[ne,[X,Z+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[ne,[X,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[ne,[X,"Dolphin"]],[/coast\/([\w\.]+)/i],[ne,[X,Z+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[ne,[X,"MIUI "+j]],[/fxios\/([-\w\.]+)/i],[ne,[X,E]],[/\bqihu|(qi?ho?o?|360)browser/i],[[X,"360"+Ie]],[/\b(qq)\/([\w\.]+)/i],[[X,/(.+)/,"$1Browser"],ne],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[X,/(.+)/,"$1"+Ie],ne],[/samsungbrowser\/([\w\.]+)/i],[ne,[X,we+" Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[X,/_/g," "],ne],[/metasr[\/ ]?([\d\.]+)/i],[ne,[X,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[X,"Sogou Mobile"],ne],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[X,ne],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[X],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[X,qt],ne],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[X,ne],[/\bgsa\/([\w\.]+) .*safari\//i],[ne,[X,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[ne,[X,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[ne,[X,se+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[X,se+" WebView"],ne],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[ne,[X,"Android "+j]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[X,ne],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[ne,[X,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[ne,X],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[X,[ne,Ya,ot]],[/(webkit|khtml)\/([\w\.]+)/i],[X,ne],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[X,"Netscape"],ne],[/(wolvic)\/([\w\.]+)/i],[X,ne],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[ne,[X,E+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[X,[ne,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[X,[ne,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[Fe,"amd64"]],[/(ia32(?=;))/i],[[Fe,Mt]],[/((?:i[346]|x)86)[;\)]/i],[[Fe,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[Fe,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[Fe,"armhf"]],[/windows (ce|mobile); ppc;/i],[[Fe,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[Fe,/ower/,b,Mt]],[/(sun4\w)[;\)]/i],[[Fe,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[Fe,Mt]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[M,[ie,we],[te,qe]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[M,[ie,we],[te,Be]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[M,[ie,B],[te,Be]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[M,[ie,B],[te,qe]],[/(macintosh);/i],[M,[ie,B]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[M,[ie,Ee],[te,Be]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[M,[ie,Y],[te,qe]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[M,[ie,Y],[te,Be]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i],[[M,/_/g," "],[ie,Ze],[te,Be]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[M,/_/g," "],[ie,Ze],[te,qe]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[M,[ie,"OPPO"],[te,Be]],[/\b(opd2\d{3}a?) bui/i],[M,[ie,"OPPO"],[te,qe]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[M,[ie,"Vivo"],[te,Be]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[M,[ie,"Realme"],[te,Be]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[M,[ie,x],[te,Be]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[M,[ie,x],[te,qe]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[M,[ie,K],[te,qe]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[M,[ie,K],[te,Be]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[M,[ie,"Lenovo"],[te,qe]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[M,/_/g," "],[ie,"Nokia"],[te,Be]],[/(pixel c)\b/i],[M,[ie,z],[te,qe]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[M,[ie,z],[te,Be]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[M,[ie,ve],[te,Be]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[M,"Xperia Tablet"],[ie,ve],[te,qe]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[M,[ie,"OnePlus"],[te,Be]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[M,[ie,U],[te,qe]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[M,/(.+)/g,"Fire Phone $1"],[ie,U],[te,Be]],[/(playbook);[-\w\),; ]+(rim)/i],[M,ie,[te,qe]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[M,[ie,k],[te,Be]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[M,[ie,oe],[te,qe]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[M,[ie,oe],[te,Be]],[/(nexus 9)/i],[M,[ie,"HTC"],[te,qe]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[ie,[M,/_/g," "],[te,Be]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[M,[ie,"TCL"],[te,qe]],[/(itel) ((\w+))/i],[[ie,Mt],M,[te,Ya,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[M,[ie,"Acer"],[te,qe]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[M,[ie,"Meizu"],[te,Be]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[M,[ie,"Ulefone"],[te,Be]],[/droid.+; (a(?:015|06[35]|142p?))/i],[M,[ie,"Nothing"],[te,Be]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[ie,M,[te,Be]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[ie,M,[te,qe]],[/(surface duo)/i],[M,[ie,xe],[te,qe]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[M,[ie,"Fairphone"],[te,Be]],[/(u304aa)/i],[M,[ie,"AT&T"],[te,Be]],[/\bsie-(\w*)/i],[M,[ie,"Siemens"],[te,Be]],[/\b(rct\w+) b/i],[M,[ie,"RCA"],[te,qe]],[/\b(venue[\d ]{2,7}) b/i],[M,[ie,"Dell"],[te,qe]],[/\b(q(?:mv|ta)\w+) b/i],[M,[ie,"Verizon"],[te,qe]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[M,[ie,"Barnes & Noble"],[te,qe]],[/\b(tm\d{3}\w+) b/i],[M,[ie,"NuVision"],[te,qe]],[/\b(k88) b/i],[M,[ie,"ZTE"],[te,qe]],[/\b(nx\d{3}j) b/i],[M,[ie,"ZTE"],[te,Be]],[/\b(gen\d{3}) b.+49h/i],[M,[ie,"Swiss"],[te,Be]],[/\b(zur\d{3}) b/i],[M,[ie,"Swiss"],[te,qe]],[/\b((zeki)?tb.*\b) b/i],[M,[ie,"Zeki"],[te,qe]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[ie,"Dragon Touch"],M,[te,qe]],[/\b(ns-?\w{0,9}) b/i],[M,[ie,"Insignia"],[te,qe]],[/\b((nxa|next)-?\w{0,9}) b/i],[M,[ie,"NextBook"],[te,qe]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[ie,"Voice"],M,[te,Be]],[/\b(lvtel\-)?(v1[12]) b/i],[[ie,"LvTel"],M,[te,Be]],[/\b(ph-1) /i],[M,[ie,"Essential"],[te,Be]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[M,[ie,"Envizen"],[te,qe]],[/\b(trio[-\w\. ]+) b/i],[M,[ie,"MachSpeed"],[te,qe]],[/\btu_(1491) b/i],[M,[ie,"Rotor"],[te,qe]],[/(shield[\w ]+) b/i],[M,[ie,"Nvidia"],[te,qe]],[/(sprint) (\w+)/i],[ie,M,[te,Be]],[/(kin\.[onetw]{3})/i],[[M,/\./g," "],[ie,xe],[te,Be]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[M,[ie,$e],[te,qe]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[M,[ie,$e],[te,Be]],[/smart-tv.+(samsung)/i],[ie,[te,at]],[/hbbtv.+maple;(\d+)/i],[[M,/^/,"SmartTV"],[ie,we],[te,at]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[ie,K],[te,at]],[/(apple) ?tv/i],[ie,[M,B+" TV"],[te,at]],[/crkey/i],[[M,se+"cast"],[ie,z],[te,at]],[/droid.+aft(\w+)( bui|\))/i],[M,[ie,U],[te,at]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[M,[ie,Ee],[te,at]],[/(bravia[\w ]+)( bui|\))/i],[M,[ie,ve],[te,at]],[/(mitv-\w{5}) bui/i],[M,[ie,Ze],[te,at]],[/Hbbtv.*(technisat) (.*);/i],[ie,M,[te,at]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[ie,Cn],[M,Cn],[te,at]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[te,at]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[ie,M,[te,le]],[/droid.+; (shield) bui/i],[M,[ie,"Nvidia"],[te,le]],[/(playstation [345portablevi]+)/i],[M,[ie,ve],[te,le]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[M,[ie,xe],[te,le]],[/\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i],[M,[ie,we],[te,ct]],[/((pebble))app/i],[ie,M,[te,ct]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[M,[ie,B],[te,ct]],[/droid.+; (glass) \d/i],[M,[ie,z],[te,ct]],[/droid.+; (wt63?0{2,3})\)/i],[M,[ie,$e],[te,ct]],[/(quest( \d| pro)?)/i],[M,[ie,qt],[te,ct]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[ie,[te,Ke]],[/(aeobc)\b/i],[M,[ie,U],[te,Ke]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[M,[te,Be]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[M,[te,qe]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[te,qe]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[te,Be]],[/(android[-\w\. ]{0,9});.+buil/i],[M,[ie,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[ne,[X,q+"HTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[ne,[X,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[X,ne],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[ne,X]],os:[[/microsoft (windows) (vista|xp)/i],[X,ne],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[X,[ne,Ya,_e]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[ne,Ya,_e],[X,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[ne,/_/g,"."],[X,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[X,Bn],[ne,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[ne,X],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[X,ne],[/\(bb(10);/i],[ne,[X,k]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[ne,[X,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[ne,[X,E+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[ne,[X,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[ne,[X,"watchOS"]],[/crkey\/([\d\.]+)/i],[ne,[X,se+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[X,Ot],ne],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[X,ne],[/(sunos) ?([\w\.\d]*)/i],[[X,"Solaris"],ne],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[X,ne]]},Le=function(je,ke){if(typeof je===_&&(ke=je,je=y),!(this instanceof Le))return new Le(je,ke).getResult();var Oe=typeof p!==R&&p.navigator?p.navigator:y,Je=je||(Oe&&Oe.userAgent?Oe.userAgent:b),nt=Oe&&Oe.userAgentData?Oe.userAgentData:y,Ye=ke?ra(Xe,ke):Xe,re=Oe&&Oe.userAgent==Je;return this.getBrowser=function(){var pe={};return pe[X]=y,pe[ne]=y,Ea.call(pe,Je,Ye.browser),pe[Q]=It(pe[ne]),re&&Oe&&Oe.brave&&typeof Oe.brave.isBrave==C&&(pe[X]="Brave"),pe},this.getCPU=function(){var pe={};return pe[Fe]=y,Ea.call(pe,Je,Ye.cpu),pe},this.getDevice=function(){var pe={};return pe[ie]=y,pe[M]=y,pe[te]=y,Ea.call(pe,Je,Ye.device),re&&!pe[te]&&nt&&nt.mobile&&(pe[te]=Be),re&&pe[M]=="Macintosh"&&Oe&&typeof Oe.standalone!==R&&Oe.maxTouchPoints&&Oe.maxTouchPoints>2&&(pe[M]="iPad",pe[te]=qe),pe},this.getEngine=function(){var pe={};return pe[X]=y,pe[ne]=y,Ea.call(pe,Je,Ye.engine),pe},this.getOS=function(){var pe={};return pe[X]=y,pe[ne]=y,Ea.call(pe,Je,Ye.os),re&&!pe[X]&&nt&&nt.platform&&nt.platform!="Unknown"&&(pe[X]=nt.platform.replace(/chrome os/i,Ot).replace(/macos/i,Bn)),pe},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return Je},this.setUA=function(pe){return Je=typeof pe===ue&&pe.length>N?Cn(pe,N):pe,this},this.setUA(Je),this};Le.VERSION=v,Le.BROWSER=ln([X,ne,Q]),Le.CPU=ln([Fe]),Le.DEVICE=ln([M,ie,te,le,Be,at,qe,ct,Ke]),Le.ENGINE=Le.OS=ln([X,ne]),r.exports&&(f=r.exports=Le),f.UAParser=Le;var Qe=typeof p!==R&&(p.jQuery||p.Zepto);if(Qe&&!Qe.ua){var dt=new Le;Qe.ua=dt.getResult(),Qe.ua.get=function(){return dt.getUA()},Qe.ua.set=function(je){dt.setUA(je);var ke=dt.getResult();for(var Oe in ke)Qe.ua[Oe]=ke[Oe]}}})(typeof window=="object"?window:Z6)})(ap,ap.exports)),ap.exports}var s4;function W6(){if(s4)return rt;s4=1,Object.defineProperty(rt,"__esModule",{value:!0});function r(de){return de&&typeof de=="object"&&"default"in de?de.default:de}var f=xf(),p=r(f),y=K6(),v=new y,b=v.getBrowser(),w=v.getCPU(),C=v.getDevice(),R=v.getEngine(),_=v.getOS(),ue=v.getUA(),Q=function(L){return v.setUA(L)},M=function(L){if(!L){console.error("No userAgent string was provided");return}var J=new y(L);return{UA:J,browser:J.getBrowser(),cpu:J.getCPU(),device:J.getDevice(),engine:J.getEngine(),os:J.getOS(),ua:J.getUA(),setUserAgent:function(Ve){return J.setUA(Ve)}}},X=Object.freeze({ClientUAInstance:v,browser:b,cpu:w,device:C,engine:R,os:_,ua:ue,setUa:Q,parseUserAgent:M});function te(de,L){var J=Object.keys(de);if(Object.getOwnPropertySymbols){var Re=Object.getOwnPropertySymbols(de);L&&(Re=Re.filter(function(Ve){return Object.getOwnPropertyDescriptor(de,Ve).enumerable})),J.push.apply(J,Re)}return J}function ie(de){for(var L=1;L<arguments.length;L++){var J=arguments[L]!=null?arguments[L]:{};L%2?te(Object(J),!0).forEach(function(Re){qe(de,Re,J[Re])}):Object.getOwnPropertyDescriptors?Object.defineProperties(de,Object.getOwnPropertyDescriptors(J)):te(Object(J)).forEach(function(Re){Object.defineProperty(de,Re,Object.getOwnPropertyDescriptor(J,Re))})}return de}function ne(de){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ne=function(L){return typeof L}:ne=function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},ne(de)}function Fe(de,L){if(!(de instanceof L))throw new TypeError("Cannot call a class as a function")}function le(de,L){for(var J=0;J<L.length;J++){var Re=L[J];Re.enumerable=Re.enumerable||!1,Re.configurable=!0,"value"in Re&&(Re.writable=!0),Object.defineProperty(de,Re.key,Re)}}function Be(de,L,J){return L&&le(de.prototype,L),de}function qe(de,L,J){return L in de?Object.defineProperty(de,L,{value:J,enumerable:!0,configurable:!0,writable:!0}):de[L]=J,de}function at(){return at=Object.assign||function(de){for(var L=1;L<arguments.length;L++){var J=arguments[L];for(var Re in J)Object.prototype.hasOwnProperty.call(J,Re)&&(de[Re]=J[Re])}return de},at.apply(this,arguments)}function ct(de,L){if(typeof L!="function"&&L!==null)throw new TypeError("Super expression must either be null or a function");de.prototype=Object.create(L&&L.prototype,{constructor:{value:de,writable:!0,configurable:!0}}),L&&N(de,L)}function Ke(de){return Ke=Object.setPrototypeOf?Object.getPrototypeOf:function(J){return J.__proto__||Object.getPrototypeOf(J)},Ke(de)}function N(de,L){return N=Object.setPrototypeOf||function(Re,Ve){return Re.__proto__=Ve,Re},N(de,L)}function U(de,L){if(de==null)return{};var J={},Re=Object.keys(de),Ve,_t;for(_t=0;_t<Re.length;_t++)Ve=Re[_t],!(L.indexOf(Ve)>=0)&&(J[Ve]=de[Ve]);return J}function B(de,L){if(de==null)return{};var J=U(de,L),Re,Ve;if(Object.getOwnPropertySymbols){var _t=Object.getOwnPropertySymbols(de);for(Ve=0;Ve<_t.length;Ve++)Re=_t[Ve],!(L.indexOf(Re)>=0)&&Object.prototype.propertyIsEnumerable.call(de,Re)&&(J[Re]=de[Re])}return J}function oe(de){if(de===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return de}function k(de,L){if(L&&(typeof L=="object"||typeof L=="function"))return L;if(L!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return oe(de)}function j(de,L){return se(de)||q(de,L)||E(de,L)||Y()}function se(de){if(Array.isArray(de))return de}function q(de,L){var J=de==null?null:typeof Symbol<"u"&&de[Symbol.iterator]||de["@@iterator"];if(J!=null){var Re=[],Ve=!0,_t=!1,xn,Ga;try{for(J=J.call(de);!(Ve=(xn=J.next()).done)&&(Re.push(xn.value),!(L&&Re.length===L));Ve=!0);}catch(Kn){_t=!0,Ga=Kn}finally{try{!Ve&&J.return!=null&&J.return()}finally{if(_t)throw Ga}}return Re}}function E(de,L){if(de){if(typeof de=="string")return z(de,L);var J=Object.prototype.toString.call(de).slice(8,-1);if(J==="Object"&&de.constructor&&(J=de.constructor.name),J==="Map"||J==="Set")return Array.from(de);if(J==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(J))return z(de,L)}}function z(de,L){(L==null||L>de.length)&&(L=de.length);for(var J=0,Re=new Array(L);J<L;J++)Re[J]=de[J];return Re}function Y(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
657
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var K={Mobile:"mobile",Tablet:"tablet",SmartTv:"smarttv",Console:"console",Wearable:"wearable",Embedded:"embedded",Browser:void 0},xe={Chrome:"Chrome",Firefox:"Firefox",Opera:"Opera",Yandex:"Yandex",Safari:"Safari",InternetExplorer:"Internet Explorer",Edge:"Edge",Chromium:"Chromium",Ie:"IE",MobileSafari:"Mobile Safari",EdgeChromium:"Edge Chromium",MIUI:"MIUI Browser",SamsungBrowser:"Samsung Browser"},x={IOS:"iOS",Android:"Android",WindowsPhone:"Windows Phone",Windows:"Windows",MAC_OS:"Mac OS"},Z={isMobile:!1,isTablet:!1,isBrowser:!1,isSmartTV:!1,isConsole:!1,isWearable:!1},we=function(L){switch(L){case K.Mobile:return{isMobile:!0};case K.Tablet:return{isTablet:!0};case K.SmartTv:return{isSmartTV:!0};case K.Console:return{isConsole:!0};case K.Wearable:return{isWearable:!0};case K.Browser:return{isBrowser:!0};case K.Embedded:return{isEmbedded:!0};default:return Z}},Ee=function(L){return Q(L)},ve=function(L){var J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"none";return L||J},Ze=function(){return typeof window<"u"&&(window.navigator||navigator)?window.navigator||navigator:!1},$e=function(L){var J=Ze();return J&&J.platform&&(J.platform.indexOf(L)!==-1||J.platform==="MacIntel"&&J.maxTouchPoints>1&&!window.MSStream)},qt=function(L,J,Re,Ve,_t){return{isBrowser:L,browserMajorVersion:ve(J.major),browserFullVersion:ve(J.version),browserName:ve(J.name),engineName:ve(Re.name),engineVersion:ve(Re.version),osName:ve(Ve.name),osVersion:ve(Ve.version),userAgent:ve(_t)}},Ot=function(L,J,Re,Ve){return ie({},L,{vendor:ve(J.vendor),model:ve(J.model),os:ve(Re.name),osVersion:ve(Re.version),ua:ve(Ve)})},Bn=function(L,J,Re,Ve){return{isSmartTV:L,engineName:ve(J.name),engineVersion:ve(J.version),osName:ve(Re.name),osVersion:ve(Re.version),userAgent:ve(Ve)}},Ie=function(L,J,Re,Ve){return{isConsole:L,engineName:ve(J.name),engineVersion:ve(J.version),osName:ve(Re.name),osVersion:ve(Re.version),userAgent:ve(Ve)}},ra=function(L,J,Re,Ve){return{isWearable:L,engineName:ve(J.name),engineVersion:ve(J.version),osName:ve(Re.name),osVersion:ve(Re.version),userAgent:ve(Ve)}},ln=function(L,J,Re,Ve,_t){return{isEmbedded:L,vendor:ve(J.vendor),model:ve(J.model),engineName:ve(Re.name),engineVersion:ve(Re.version),osName:ve(Ve.name),osVersion:ve(Ve.version),userAgent:ve(_t)}};function Wt(de){var L=de?M(de):X,J=L.device,Re=L.browser,Ve=L.engine,_t=L.os,xn=L.ua,Ga=we(J.type),Kn=Ga.isBrowser,hi=Ga.isMobile,_u=Ga.isTablet,ss=Ga.isSmartTV,k0=Ga.isConsole,nr=Ga.isWearable,ar=Ga.isEmbedded;if(Kn)return qt(Kn,Re,Ve,_t,xn);if(ss)return Bn(ss,Ve,_t,xn);if(k0)return Ie(k0,Ve,_t,xn);if(hi||_u)return Ot(Ga,J,_t,xn);if(nr)return ra(nr,Ve,_t,xn);if(ar)return ln(ar,J,Ve,_t,xn)}var Mt=function(L){var J=L.type;return J===K.Mobile},It=function(L){var J=L.type;return J===K.Tablet},Cn=function(L){var J=L.type;return J===K.Mobile||J===K.Tablet},Ea=function(L){var J=L.type;return J===K.SmartTv},Ya=function(L){var J=L.type;return J===K.Browser},ot=function(L){var J=L.type;return J===K.Wearable},_e=function(L){var J=L.type;return J===K.Console},Xe=function(L){var J=L.type;return J===K.Embedded},Le=function(L){var J=L.vendor;return ve(J)},Qe=function(L){var J=L.model;return ve(J)},dt=function(L){var J=L.type;return ve(J,"browser")},je=function(L){var J=L.name;return J===x.Android},ke=function(L){var J=L.name;return J===x.Windows},Oe=function(L){var J=L.name;return J===x.MAC_OS},Je=function(L){var J=L.name;return J===x.WindowsPhone},nt=function(L){var J=L.name;return J===x.IOS},Ye=function(L){var J=L.version;return ve(J)},re=function(L){var J=L.name;return ve(J)},pe=function(L){var J=L.name;return J===xe.Chrome},et=function(L){var J=L.name;return J===xe.Firefox},Pe=function(L){var J=L.name;return J===xe.Chromium},At=function(L){var J=L.name;return J===xe.Edge},Zt=function(L){var J=L.name;return J===xe.Yandex},T=function(L){var J=L.name;return J===xe.Safari||J===xe.MobileSafari},H=function(L){var J=L.name;return J===xe.MobileSafari},fe=function(L){var J=L.name;return J===xe.Opera},ae=function(L){var J=L.name;return J===xe.InternetExplorer||J===xe.Ie},Ae=function(L){var J=L.name;return J===xe.MIUI},Ge=function(L){var J=L.name;return J===xe.SamsungBrowser},De=function(L){var J=L.version;return ve(J)},lt=function(L){var J=L.major;return ve(J)},st=function(L){var J=L.name;return ve(J)},kt=function(L){var J=L.name;return ve(J)},en=function(L){var J=L.version;return ve(J)},Zn=function(){var L=Ze(),J=L&&L.userAgent&&L.userAgent.toLowerCase();return typeof J=="string"?/electron/.test(J):!1},Qn=function(L){return typeof L=="string"&&L.indexOf("Edg/")!==-1},Za=function(){var L=Ze();return L&&(/iPad|iPhone|iPod/.test(L.platform)||L.platform==="MacIntel"&&L.maxTouchPoints>1)&&!window.MSStream},On=function(){return $e("iPad")},aa=function(){return $e("iPhone")},ci=function(){return $e("iPod")},ts=function(L){return ve(L)};function Do(de){var L=de||X,J=L.device,Re=L.browser,Ve=L.os,_t=L.engine,xn=L.ua;return{isSmartTV:Ea(J),isConsole:_e(J),isWearable:ot(J),isEmbedded:Xe(J),isMobileSafari:H(Re)||On(),isChromium:Pe(Re),isMobile:Cn(J)||On(),isMobileOnly:Mt(J),isTablet:It(J)||On(),isBrowser:Ya(J),isDesktop:Ya(J),isAndroid:je(Ve),isWinPhone:Je(Ve),isIOS:nt(Ve)||On(),isChrome:pe(Re),isFirefox:et(Re),isSafari:T(Re),isOpera:fe(Re),isIE:ae(Re),osVersion:Ye(Ve),osName:re(Ve),fullBrowserVersion:De(Re),browserVersion:lt(Re),browserName:st(Re),mobileVendor:Le(J),mobileModel:Qe(J),engineName:kt(_t),engineVersion:en(_t),getUA:ts(xn),isEdge:At(Re)||Qn(xn),isYandex:Zt(Re),deviceType:dt(J),isIOS13:Za(),isIPad13:On(),isIPhone13:aa(),isIPod13:ci(),isElectron:Zn(),isEdgeChromium:Qn(xn),isLegacyEdge:At(Re)&&!Qn(xn),isWindows:ke(Ve),isMacOs:Oe(Ve),isMIUI:Ae(Re),isSamsungBrowser:Ge(Re)}}var _n=Ea(C),Ka=_e(C),sn=ot(C),qa=Xe(C),ri=H(b)||On(),Ic=Pe(b),Hs=Cn(C)||On(),_f=Mt(C),Fc=It(C)||On(),_l=Ya(C),Jc=Ya(C),fi=je(_),di=Je(_),ns=nt(_)||On(),as=pe(b),rn=et(b),ls=T(b),mi=fe(b),No=ae(b),uo=Ye(_),Zc=re(_),Kc=De(b),Ls=lt(b),js=st(b),Ys=Le(C),Wc=Qe(C),Mo=kt(R),il=en(R),$c=ts(ue),Hf=At(b)||Qn(ue),Pc=Zt(b),Lf=dt(C),Nu=Za(),lp=On(),sl=aa(),Mu=ci(),ku=Zn(),os=Qn(ue),qs=At(b)&&!Qn(ue),jf=ke(_),Yf=Oe(_),co=Ae(b),D0=Ge(b),N0=function(L){if(!L||typeof L!="string"){console.error("No valid user agent string was provided");return}var J=M(L),Re=J.device,Ve=J.browser,_t=J.os,xn=J.engine,Ga=J.ua;return Do({device:Re,browser:Ve,os:_t,engine:xn,ua:Ga})},M0=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return fi?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},qf=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return _l?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},op=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return No?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},Bu=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return ns?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},Ol=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return Hs?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},Hl=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return Fc?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},er=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return di?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},tr=function(L){var J=L.renderWithFragment,Re=L.children;L.viewClassName,L.style;var Ve=B(L,["renderWithFragment","children","viewClassName","style"]);return _f?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},ro=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return _n?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},is=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return Ka?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},Uu=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return sn?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},Gs=function(L){var J=L.renderWithFragment,Re=L.children;L.viewClassName,L.style;var Ve=L.condition,_t=B(L,["renderWithFragment","children","viewClassName","style","condition"]);return Ve?J?p.createElement(f.Fragment,null,Re):p.createElement("div",_t,Re):null};function Gf(de){return(function(L){ct(J,L);function J(Re){var Ve;return Fe(this,J),Ve=k(this,Ke(J).call(this,Re)),Ve.isEventListenerAdded=!1,Ve.handleOrientationChange=Ve.handleOrientationChange.bind(oe(Ve)),Ve.onOrientationChange=Ve.onOrientationChange.bind(oe(Ve)),Ve.onPageLoad=Ve.onPageLoad.bind(oe(Ve)),Ve.state={isLandscape:!1,isPortrait:!1},Ve}return Be(J,[{key:"handleOrientationChange",value:function(){this.isEventListenerAdded||(this.isEventListenerAdded=!0);var Ve=window.innerWidth>window.innerHeight?90:0;this.setState({isPortrait:Ve===0,isLandscape:Ve===90})}},{key:"onOrientationChange",value:function(){this.handleOrientationChange()}},{key:"onPageLoad",value:function(){this.handleOrientationChange()}},{key:"componentDidMount",value:function(){(typeof window>"u"?"undefined":ne(window))!==void 0&&Hs&&(this.isEventListenerAdded?window.removeEventListener("load",this.onPageLoad,!1):(this.handleOrientationChange(),window.addEventListener("load",this.onPageLoad,!1)),window.addEventListener("resize",this.onOrientationChange,!1))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onOrientationChange,!1)}},{key:"render",value:function(){return p.createElement(de,at({},this.props,{isLandscape:this.state.isLandscape,isPortrait:this.state.isPortrait}))}}]),J})(p.Component)}function fa(){var de=f.useState(function(){var _t=window.innerWidth>window.innerHeight?90:0;return{isPortrait:_t===0,isLandscape:_t===90,orientation:_t===0?"portrait":"landscape"}}),L=j(de,2),J=L[0],Re=L[1],Ve=f.useCallback(function(){var _t=window.innerWidth>window.innerHeight?90:0,xn={isPortrait:_t===0,isLandscape:_t===90,orientation:_t===0?"portrait":"landscape"};J.orientation!==xn.orientation&&Re(xn)},[J.orientation]);return f.useEffect(function(){return(typeof window>"u"?"undefined":ne(window))!==void 0&&Hs&&(Ve(),window.addEventListener("load",Ve,!1),window.addEventListener("resize",Ve,!1)),function(){window.removeEventListener("resize",Ve,!1),window.removeEventListener("load",Ve,!1)}},[Ve]),J}function fo(de){var L=de||window.navigator.userAgent;return M(L)}function zu(de){var L=de||window.navigator.userAgent,J=fo(L),Re=Do(J);return[Re,J]}return rt.AndroidView=M0,rt.BrowserTypes=xe,rt.BrowserView=qf,rt.ConsoleView=is,rt.CustomView=Gs,rt.IEView=op,rt.IOSView=Bu,rt.MobileOnlyView=tr,rt.MobileView=Ol,rt.OsTypes=x,rt.SmartTVView=ro,rt.TabletView=Hl,rt.WearableView=Uu,rt.WinPhoneView=er,rt.browserName=js,rt.browserVersion=Ls,rt.deviceDetect=Wt,rt.deviceType=Lf,rt.engineName=Mo,rt.engineVersion=il,rt.fullBrowserVersion=Kc,rt.getSelectorsByUserAgent=N0,rt.getUA=$c,rt.isAndroid=fi,rt.isBrowser=_l,rt.isChrome=as,rt.isChromium=Ic,rt.isConsole=Ka,rt.isDesktop=Jc,rt.isEdge=Hf,rt.isEdgeChromium=os,rt.isElectron=ku,rt.isEmbedded=qa,rt.isFirefox=rn,rt.isIE=No,rt.isIOS=ns,rt.isIOS13=Nu,rt.isIPad13=lp,rt.isIPhone13=sl,rt.isIPod13=Mu,rt.isLegacyEdge=qs,rt.isMIUI=co,rt.isMacOs=Yf,rt.isMobile=Hs,rt.isMobileOnly=_f,rt.isMobileSafari=ri,rt.isOpera=mi,rt.isSafari=ls,rt.isSamsungBrowser=D0,rt.isSmartTV=_n,rt.isTablet=Fc,rt.isWearable=sn,rt.isWinPhone=di,rt.isWindows=jf,rt.isYandex=Pc,rt.mobileModel=Wc,rt.mobileVendor=Ys,rt.osName=Zc,rt.osVersion=uo,rt.parseUserAgent=M,rt.setUserAgent=Ee,rt.useDeviceData=fo,rt.useDeviceSelectors=zu,rt.useMobileOrientation=fa,rt.withOrientationChange=Gf,rt}var zf=W6();const cb={model:"gemini-2.5-flash","model2.0":"gemini-2.5-flash",apiKey:"AIzaSyC8G_-cDct8FgyiXaq0vFJVK4BBNwF1jtc,AIzaSyD3bIEPvZb_jPJkAb5lRapTmmHKnNB2Dl8,AIzaSyCb1S1X7rppIWqcBffHLIjOBlSFX8VPK-w",url:"https://generativelanguage.googleapis.com"};class $6 extends R0{enableGoogleSearch=!0;indexApiKey=0;constructor(){super(cb.url)}getApiKey(){let f="",p=[];const y=localStorage.getItem("arr_api_key_dev_gemini");y?p=JSON.parse(y):p=cb.apiKey.split(",");const v=localStorage.getItem("index_api_key_gemini");return v&&(this.indexApiKey=Number(v),this.indexApiKey++),this.indexApiKey>=p.length&&(this.indexApiKey=0),f=p[this.indexApiKey],localStorage.setItem("index_api_key_gemini",this.indexApiKey.toString()),f}getUrl(f,p){return`/v1beta/models/${p||"gemini-2.5-flash"}:${f}`}async generateContent(f,p){try{const y=`
660
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var K={Mobile:"mobile",Tablet:"tablet",SmartTv:"smarttv",Console:"console",Wearable:"wearable",Embedded:"embedded",Browser:void 0},xe={Chrome:"Chrome",Firefox:"Firefox",Opera:"Opera",Yandex:"Yandex",Safari:"Safari",InternetExplorer:"Internet Explorer",Edge:"Edge",Chromium:"Chromium",Ie:"IE",MobileSafari:"Mobile Safari",EdgeChromium:"Edge Chromium",MIUI:"MIUI Browser",SamsungBrowser:"Samsung Browser"},x={IOS:"iOS",Android:"Android",WindowsPhone:"Windows Phone",Windows:"Windows",MAC_OS:"Mac OS"},Z={isMobile:!1,isTablet:!1,isBrowser:!1,isSmartTV:!1,isConsole:!1,isWearable:!1},we=function(L){switch(L){case K.Mobile:return{isMobile:!0};case K.Tablet:return{isTablet:!0};case K.SmartTv:return{isSmartTV:!0};case K.Console:return{isConsole:!0};case K.Wearable:return{isWearable:!0};case K.Browser:return{isBrowser:!0};case K.Embedded:return{isEmbedded:!0};default:return Z}},Ee=function(L){return Q(L)},ve=function(L){var J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"none";return L||J},Ze=function(){return typeof window<"u"&&(window.navigator||navigator)?window.navigator||navigator:!1},$e=function(L){var J=Ze();return J&&J.platform&&(J.platform.indexOf(L)!==-1||J.platform==="MacIntel"&&J.maxTouchPoints>1&&!window.MSStream)},qt=function(L,J,Re,Ve,_t){return{isBrowser:L,browserMajorVersion:ve(J.major),browserFullVersion:ve(J.version),browserName:ve(J.name),engineName:ve(Re.name),engineVersion:ve(Re.version),osName:ve(Ve.name),osVersion:ve(Ve.version),userAgent:ve(_t)}},Ot=function(L,J,Re,Ve){return ie({},L,{vendor:ve(J.vendor),model:ve(J.model),os:ve(Re.name),osVersion:ve(Re.version),ua:ve(Ve)})},Bn=function(L,J,Re,Ve){return{isSmartTV:L,engineName:ve(J.name),engineVersion:ve(J.version),osName:ve(Re.name),osVersion:ve(Re.version),userAgent:ve(Ve)}},Ie=function(L,J,Re,Ve){return{isConsole:L,engineName:ve(J.name),engineVersion:ve(J.version),osName:ve(Re.name),osVersion:ve(Re.version),userAgent:ve(Ve)}},ra=function(L,J,Re,Ve){return{isWearable:L,engineName:ve(J.name),engineVersion:ve(J.version),osName:ve(Re.name),osVersion:ve(Re.version),userAgent:ve(Ve)}},ln=function(L,J,Re,Ve,_t){return{isEmbedded:L,vendor:ve(J.vendor),model:ve(J.model),engineName:ve(Re.name),engineVersion:ve(Re.version),osName:ve(Ve.name),osVersion:ve(Ve.version),userAgent:ve(_t)}};function Wt(de){var L=de?M(de):X,J=L.device,Re=L.browser,Ve=L.engine,_t=L.os,xn=L.ua,Ga=we(J.type),Kn=Ga.isBrowser,hi=Ga.isMobile,_u=Ga.isTablet,ss=Ga.isSmartTV,k0=Ga.isConsole,nr=Ga.isWearable,ar=Ga.isEmbedded;if(Kn)return qt(Kn,Re,Ve,_t,xn);if(ss)return Bn(ss,Ve,_t,xn);if(k0)return Ie(k0,Ve,_t,xn);if(hi||_u)return Ot(Ga,J,_t,xn);if(nr)return ra(nr,Ve,_t,xn);if(ar)return ln(ar,J,Ve,_t,xn)}var Mt=function(L){var J=L.type;return J===K.Mobile},It=function(L){var J=L.type;return J===K.Tablet},Cn=function(L){var J=L.type;return J===K.Mobile||J===K.Tablet},Ea=function(L){var J=L.type;return J===K.SmartTv},Ya=function(L){var J=L.type;return J===K.Browser},ot=function(L){var J=L.type;return J===K.Wearable},_e=function(L){var J=L.type;return J===K.Console},Xe=function(L){var J=L.type;return J===K.Embedded},Le=function(L){var J=L.vendor;return ve(J)},Qe=function(L){var J=L.model;return ve(J)},dt=function(L){var J=L.type;return ve(J,"browser")},je=function(L){var J=L.name;return J===x.Android},ke=function(L){var J=L.name;return J===x.Windows},Oe=function(L){var J=L.name;return J===x.MAC_OS},Je=function(L){var J=L.name;return J===x.WindowsPhone},nt=function(L){var J=L.name;return J===x.IOS},Ye=function(L){var J=L.version;return ve(J)},re=function(L){var J=L.name;return ve(J)},pe=function(L){var J=L.name;return J===xe.Chrome},et=function(L){var J=L.name;return J===xe.Firefox},Pe=function(L){var J=L.name;return J===xe.Chromium},At=function(L){var J=L.name;return J===xe.Edge},Zt=function(L){var J=L.name;return J===xe.Yandex},T=function(L){var J=L.name;return J===xe.Safari||J===xe.MobileSafari},H=function(L){var J=L.name;return J===xe.MobileSafari},fe=function(L){var J=L.name;return J===xe.Opera},ae=function(L){var J=L.name;return J===xe.InternetExplorer||J===xe.Ie},Ae=function(L){var J=L.name;return J===xe.MIUI},Ge=function(L){var J=L.name;return J===xe.SamsungBrowser},De=function(L){var J=L.version;return ve(J)},lt=function(L){var J=L.major;return ve(J)},st=function(L){var J=L.name;return ve(J)},kt=function(L){var J=L.name;return ve(J)},en=function(L){var J=L.version;return ve(J)},Zn=function(){var L=Ze(),J=L&&L.userAgent&&L.userAgent.toLowerCase();return typeof J=="string"?/electron/.test(J):!1},Qn=function(L){return typeof L=="string"&&L.indexOf("Edg/")!==-1},Za=function(){var L=Ze();return L&&(/iPad|iPhone|iPod/.test(L.platform)||L.platform==="MacIntel"&&L.maxTouchPoints>1)&&!window.MSStream},On=function(){return $e("iPad")},aa=function(){return $e("iPhone")},ci=function(){return $e("iPod")},ts=function(L){return ve(L)};function Do(de){var L=de||X,J=L.device,Re=L.browser,Ve=L.os,_t=L.engine,xn=L.ua;return{isSmartTV:Ea(J),isConsole:_e(J),isWearable:ot(J),isEmbedded:Xe(J),isMobileSafari:H(Re)||On(),isChromium:Pe(Re),isMobile:Cn(J)||On(),isMobileOnly:Mt(J),isTablet:It(J)||On(),isBrowser:Ya(J),isDesktop:Ya(J),isAndroid:je(Ve),isWinPhone:Je(Ve),isIOS:nt(Ve)||On(),isChrome:pe(Re),isFirefox:et(Re),isSafari:T(Re),isOpera:fe(Re),isIE:ae(Re),osVersion:Ye(Ve),osName:re(Ve),fullBrowserVersion:De(Re),browserVersion:lt(Re),browserName:st(Re),mobileVendor:Le(J),mobileModel:Qe(J),engineName:kt(_t),engineVersion:en(_t),getUA:ts(xn),isEdge:At(Re)||Qn(xn),isYandex:Zt(Re),deviceType:dt(J),isIOS13:Za(),isIPad13:On(),isIPhone13:aa(),isIPod13:ci(),isElectron:Zn(),isEdgeChromium:Qn(xn),isLegacyEdge:At(Re)&&!Qn(xn),isWindows:ke(Ve),isMacOs:Oe(Ve),isMIUI:Ae(Re),isSamsungBrowser:Ge(Re)}}var _n=Ea(C),Ka=_e(C),sn=ot(C),qa=Xe(C),ri=H(b)||On(),Ic=Pe(b),Hs=Cn(C)||On(),_f=Mt(C),Fc=It(C)||On(),_l=Ya(C),Jc=Ya(C),fi=je(_),di=Je(_),ns=nt(_)||On(),as=pe(b),rn=et(b),ls=T(b),mi=fe(b),No=ae(b),uo=Ye(_),Zc=re(_),Kc=De(b),Ls=lt(b),js=st(b),Ys=Le(C),Wc=Qe(C),Mo=kt(R),il=en(R),$c=ts(ue),Hf=At(b)||Qn(ue),Pc=Zt(b),Lf=dt(C),Nu=Za(),lp=On(),sl=aa(),Mu=ci(),ku=Zn(),os=Qn(ue),qs=At(b)&&!Qn(ue),jf=ke(_),Yf=Oe(_),co=Ae(b),D0=Ge(b),N0=function(L){if(!L||typeof L!="string"){console.error("No valid user agent string was provided");return}var J=M(L),Re=J.device,Ve=J.browser,_t=J.os,xn=J.engine,Ga=J.ua;return Do({device:Re,browser:Ve,os:_t,engine:xn,ua:Ga})},M0=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return fi?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},qf=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return _l?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},op=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return No?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},Bu=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return ns?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},Ol=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return Hs?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},Hl=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return Fc?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},er=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return di?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},tr=function(L){var J=L.renderWithFragment,Re=L.children;L.viewClassName,L.style;var Ve=B(L,["renderWithFragment","children","viewClassName","style"]);return _f?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},ro=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return _n?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},is=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return Ka?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},Uu=function(L){var J=L.renderWithFragment,Re=L.children,Ve=B(L,["renderWithFragment","children"]);return sn?J?p.createElement(f.Fragment,null,Re):p.createElement("div",Ve,Re):null},Gs=function(L){var J=L.renderWithFragment,Re=L.children;L.viewClassName,L.style;var Ve=L.condition,_t=B(L,["renderWithFragment","children","viewClassName","style","condition"]);return Ve?J?p.createElement(f.Fragment,null,Re):p.createElement("div",_t,Re):null};function Gf(de){return(function(L){ct(J,L);function J(Re){var Ve;return Fe(this,J),Ve=k(this,Ke(J).call(this,Re)),Ve.isEventListenerAdded=!1,Ve.handleOrientationChange=Ve.handleOrientationChange.bind(oe(Ve)),Ve.onOrientationChange=Ve.onOrientationChange.bind(oe(Ve)),Ve.onPageLoad=Ve.onPageLoad.bind(oe(Ve)),Ve.state={isLandscape:!1,isPortrait:!1},Ve}return Be(J,[{key:"handleOrientationChange",value:function(){this.isEventListenerAdded||(this.isEventListenerAdded=!0);var Ve=window.innerWidth>window.innerHeight?90:0;this.setState({isPortrait:Ve===0,isLandscape:Ve===90})}},{key:"onOrientationChange",value:function(){this.handleOrientationChange()}},{key:"onPageLoad",value:function(){this.handleOrientationChange()}},{key:"componentDidMount",value:function(){(typeof window>"u"?"undefined":ne(window))!==void 0&&Hs&&(this.isEventListenerAdded?window.removeEventListener("load",this.onPageLoad,!1):(this.handleOrientationChange(),window.addEventListener("load",this.onPageLoad,!1)),window.addEventListener("resize",this.onOrientationChange,!1))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onOrientationChange,!1)}},{key:"render",value:function(){return p.createElement(de,at({},this.props,{isLandscape:this.state.isLandscape,isPortrait:this.state.isPortrait}))}}]),J})(p.Component)}function fa(){var de=f.useState(function(){var _t=window.innerWidth>window.innerHeight?90:0;return{isPortrait:_t===0,isLandscape:_t===90,orientation:_t===0?"portrait":"landscape"}}),L=j(de,2),J=L[0],Re=L[1],Ve=f.useCallback(function(){var _t=window.innerWidth>window.innerHeight?90:0,xn={isPortrait:_t===0,isLandscape:_t===90,orientation:_t===0?"portrait":"landscape"};J.orientation!==xn.orientation&&Re(xn)},[J.orientation]);return f.useEffect(function(){return(typeof window>"u"?"undefined":ne(window))!==void 0&&Hs&&(Ve(),window.addEventListener("load",Ve,!1),window.addEventListener("resize",Ve,!1)),function(){window.removeEventListener("resize",Ve,!1),window.removeEventListener("load",Ve,!1)}},[Ve]),J}function fo(de){var L=de||window.navigator.userAgent;return M(L)}function zu(de){var L=de||window.navigator.userAgent,J=fo(L),Re=Do(J);return[Re,J]}return rt.AndroidView=M0,rt.BrowserTypes=xe,rt.BrowserView=qf,rt.ConsoleView=is,rt.CustomView=Gs,rt.IEView=op,rt.IOSView=Bu,rt.MobileOnlyView=tr,rt.MobileView=Ol,rt.OsTypes=x,rt.SmartTVView=ro,rt.TabletView=Hl,rt.WearableView=Uu,rt.WinPhoneView=er,rt.browserName=js,rt.browserVersion=Ls,rt.deviceDetect=Wt,rt.deviceType=Lf,rt.engineName=Mo,rt.engineVersion=il,rt.fullBrowserVersion=Kc,rt.getSelectorsByUserAgent=N0,rt.getUA=$c,rt.isAndroid=fi,rt.isBrowser=_l,rt.isChrome=as,rt.isChromium=Ic,rt.isConsole=Ka,rt.isDesktop=Jc,rt.isEdge=Hf,rt.isEdgeChromium=os,rt.isElectron=ku,rt.isEmbedded=qa,rt.isFirefox=rn,rt.isIE=No,rt.isIOS=ns,rt.isIOS13=Nu,rt.isIPad13=lp,rt.isIPhone13=sl,rt.isIPod13=Mu,rt.isLegacyEdge=qs,rt.isMIUI=co,rt.isMacOs=Yf,rt.isMobile=Hs,rt.isMobileOnly=_f,rt.isMobileSafari=ri,rt.isOpera=mi,rt.isSafari=ls,rt.isSamsungBrowser=D0,rt.isSmartTV=_n,rt.isTablet=Fc,rt.isWearable=sn,rt.isWinPhone=di,rt.isWindows=jf,rt.isYandex=Pc,rt.mobileModel=Wc,rt.mobileVendor=Ys,rt.osName=Zc,rt.osVersion=uo,rt.parseUserAgent=M,rt.setUserAgent=Ee,rt.useDeviceData=fo,rt.useDeviceSelectors=zu,rt.useMobileOrientation=fa,rt.withOrientationChange=Gf,rt}var zf=W6();const cb={model:"gemini-2.5-flash","model2.0":"gemini-2.5-flash",apiKey:"QUl6YVN5RGprZEFvMjNtMy00S0U3eWo2aVJQQmowN05lRXgxd0tz",url:"https://generativelanguage.googleapis.com"};class $6 extends R0{enableGoogleSearch=!0;indexApiKey=0;constructor(){super(cb.url)}getApiKey(){let f="",p=[];const y=localStorage.getItem("arr_api_key_dev_gemini");y?p=JSON.parse(y):p=cb.apiKey.split(",");const v=localStorage.getItem("index_api_key_gemini");return v&&(this.indexApiKey=Number(v),this.indexApiKey++),this.indexApiKey>=p.length&&(this.indexApiKey=0),f=p[this.indexApiKey],f&&(f=atob(f)),localStorage.setItem("index_api_key_gemini",this.indexApiKey.toString()),f}getUrl(f,p){return`/v1beta/models/${p||"gemini-2.5-flash"}:${f}`}async generateContent(f,p){try{const y=`
658
661
  Below is the system context and conversation history. Use it for context but prioritize the instructions at the end.
659
662
 
660
663
  ---
@@ -716,7 +719,7 @@ $${mt(ke?.price||0).decimalPlaces(4).toFormat()} (${ke.price_change_percentage_2
716
719
  `:"🖼️ ";return`${Je+1}. ${pe}**${nt}**${Ye}
717
720
  ${Oe.symbol||Oe.contract_type} | Token ID: ${Oe.token_id}`}).join(`
718
721
 
719
- `);await Ro(500),ne(!1),R(`${w("nftCollectionHeader",{count:String(dt.length),list:ke})}${Xe&&Xe>0&&Qe.length>Xe?w("nftMoreItems",{count:String(Qe.length-Xe)}):""}${b("nftSelectBelow")}`,"bot",void 0,je),Xe&&Xe>0&&Qe.length>Xe&&R(b("sendOtherNfts"),"bot")}else ne(!1),R(b("nftNoCollection"),"bot")}catch(Le){console.error("Error fetching NFTs:",Le),ne(!1),R(b("nftFetchError"),"bot")}},[k?.address,q,R,b,w]),Bn=ut.useCallback(async()=>{try{ne(!0);const _e=await so({address:k?.address||"",chain:q});if(_e?.success&&_e?.data?.result&&_e.data.result.length>0){const Xe=_e.data.result,Le=Xe.flatMap(dt=>[{id:`send-${dt.token_address}`,text:w("buttonSendToken",{symbol:dt.symbol}),value:w("buttonSendToken",{symbol:dt.symbol}),action:"suggested_action",fullWidth:!!zf.isMobile},{id:`buy-more-${dt.token_address}`,text:w("buttonBuyMoreToken",{symbol:dt.symbol}),value:w("buttonBuyMoreToken",{symbol:dt.symbol}),action:"suggested_action",fullWidth:!!zf.isMobile}]),Qe=Xe.map((dt,je)=>{const ke=dt.usd_value!==void 0?` ≈ $${mt(dt.usd_value).decimalPlaces(2).toFormat()}`:"";return`${je+1}. **${dt.name}** (${dt.symbol})
722
+ `);await Ro(500),ne(!1),R(`${w("nftCollectionHeader",{count:String(dt.length),list:ke})}${Xe&&Xe>0&&Qe.length>Xe?w("nftMoreItems",{count:String(Qe.length-Xe)}):""}${b("nftSelectBelow")}`,"bot",void 0,je),Xe&&Xe>0&&Qe.length>Xe&&R(w("sendOtherNfts",{link:`https://nft.keyring.app/nft-list/${E}/${k?.address}`}),"bot")}else ne(!1),R(b("nftNoCollection"),"bot")}catch(Le){console.error("Error fetching NFTs:",Le),ne(!1),R(b("nftFetchError"),"bot")}},[k?.address,q,R,b,w]),Bn=ut.useCallback(async()=>{try{ne(!0);const _e=await so({address:k?.address||"",chain:q});if(_e?.success&&_e?.data?.result&&_e.data.result.length>0){const Xe=_e.data.result,Le=Xe.flatMap(dt=>[{id:`send-${dt.token_address}`,text:w("buttonSendToken",{symbol:dt.symbol}),value:w("buttonSendToken",{symbol:dt.symbol}),action:"suggested_action",fullWidth:!!zf.isMobile},{id:`buy-more-${dt.token_address}`,text:w("buttonBuyMoreToken",{symbol:dt.symbol}),value:w("buttonBuyMoreToken",{symbol:dt.symbol}),action:"suggested_action",fullWidth:!!zf.isMobile}]),Qe=Xe.map((dt,je)=>{const ke=dt.usd_value!==void 0?` ≈ $${mt(dt.usd_value).decimalPlaces(2).toFormat()}`:"";return`${je+1}. **${dt.name}** (${dt.symbol})
720
723
  Balance: ${dt.balance_formatted}${ke}`}).join(`
721
724
 
722
725
  `);await Ro(500),ne(!1),R(w("viewBalancesHeader",{chain:j?.name||"this chain",list:Qe}),"bot",void 0,Le)}else ne(!1),R(b("viewBalancesEmpty"),"bot")}catch(_e){console.error("Error fetching balances:",_e),ne(!1),R(b("viewBalancesFetchError"),"bot")}},[k?.address,q,R,j?.name,b,w]),Ie=ut.useMemo(()=>[{id:"ask",icon:"❓",text:b("suggestionAskText"),action:async()=>{le(!1),ne(!0),R(b("suggestionAskUserMessage"),"user"),await Ro(1e3),ne(!1),R(b("suggestionAskBotReply"),"bot")}},{id:"buy",icon:"💰",text:b("suggestionBuyText"),action:async()=>{le(!1),R(b("suggestionBuyText"),"user"),ja(k?.address||"")&&z?await qt():(ne(!0),await Ro(1e3),ja(k?.address||"")&&!z?R(b("walletConnectedChainUnsupported"),"bot"):R(b("walletNotConnected"),"bot"),ne(!1))}}],[R,k?.address,qt,b,z]),ra=_e=>{if(_e===0)return!0;const Xe=C[_e],Le=C[_e-1],Qe=new Date(Xe.timestamp),dt=new Date(Le.timestamp);return Qe.setHours(0,0,0,0),dt.setHours(0,0,0,0),Qe.getTime()!==dt.getTime()};ut.useEffect(()=>{at.current?.scrollIntoView({behavior:"smooth"})},[C]),ut.useEffect(()=>{r?(Ke.current&&zf.isDesktop&&Ke.current.focus(),at.current?.scrollIntoView({behavior:"instant"}),B.current&&U.current?Date.now()-U.current>5e3&&le(!0):le(!0),U.current=null,B.current=!1,setTimeout(()=>{at.current?.scrollIntoView({behavior:"smooth"})},50)):(U.current=Date.now(),B.current=!oe.current)},[r]),ut.useEffect(()=>{const _e=Xe=>{Xe.key==="Escape"&&r&&f()};return document.addEventListener("keydown",_e),()=>document.removeEventListener("keydown",_e)},[r,f]);const ln=ut.useCallback(async()=>{if(X?.trim()===""||ie)return;const _e=Be,Xe=R(X?.trim(),"user",Be?.id);te(""),qe(null),ne(!0),le(!1),ne(!0);try{let Le,Qe;const dt=C.slice(-20);let je="";if(dt.length>0){je=`
@@ -30,7 +30,8 @@ Is there any token you want to buy?`, Ii = "Sorry, I encountered an error fetchi
30
30
 
31
31
  Select a token to interact with:`, Mi = "You don't have any tokens in your wallet on this chain.", Hi = "Sorry, I encountered an error fetching your balances.", Wi = "Send {symbol}", Vi = "Swap {symbol}", Gi = "Buy more {symbol}", Yi = "Send Native Token", Ji = "Send native token (ETH, BNB, MATIC, etc.) to an address", qi = "Send Token (ERC20)", zi = "Send an ERC20 token to an address", ji = "Swap Token", Qi = "Swap one token for another", Ki = "Approve Token", Xi = "Approve a spender to use your tokens", _i = "Wrap Native Token", Zi = "Wrap native token (ETH → WETH)", $i = "Unwrap Native Token", ec = "Unwrap native token (WETH → ETH)", tc = "Send NFT", nc = "Transfer an ERC721 or ERC1155 NFT to another address", oc = "Recipient Address", sc = "Amount", ac = "Token Contract", rc = "Token Symbol", ic = "Decimals", cc = "From Token", lc = "From Symbol", dc = "To Token", uc = "To Symbol", fc = "From Decimals", mc = "To Decimals", pc = "Spender Address", hc = "Amount (empty = unlimited)", gc = "NFT Contract", wc = "Token ID", bc = "Token Standard", yc = "NFT Name", Ac = "Must be a positive integer", vc = "Amount cannot exceed available balance {max}", kc = "Received: {value}", Tc = 'Action "{action}" executed for: {value}', Cc = "I'll help you buy {symbol}. Let me show your available tokens to trade with.", Ec = `I couldn't find the token "{symbol}" on this chain. Here are the trending tokens you can buy:`, xc = "Preparing your swap...", Sc = "Yes", Ic = "Please choose which token you want to swap from:", Nc = "You want to swap {symbol}. Please choose which token you want to receive:", Bc = 'I need more details for your swap. Please specify which tokens you want to swap (e.g. "Swap 1 ETH to USDC").', Fc = "Let me show you your NFT collection!", Rc = "Which token would you like to send?", Oc = "Which NFT would you like to send?", Pc = "Which token would you like to swap? Here are your current balances:", Dc = "Spendable", Lc = `**Welcome! 🚀**
32
32
  You're connected and ready to explore DeFi! I can help you trade, check prices, and analyze your portfolio when you need it.`, Uc = `
33
- If you want to send other NFTs, please provide the contract address, NFT ID`, Mc = {
33
+ If the NFT you want to send is not in the list above, please visit our website to send it.
34
+ {link}`, Mc = {
34
35
  chatTitle: za,
35
36
  closeChat: ja,
36
37
  messagePlaceholder: Qa,
@@ -185,7 +186,7 @@ If you want to send other NFTs, please provide the contract address, NFT ID`, Mc
185
186
  spendable: Dc,
186
187
  welcomeMessage: Lc,
187
188
  sendOtherNfts: Uc
188
- }, Hc = "Keyring Agent", Wc = "チャットを閉じる", Vc = "メッセージを入力...", Gc = "メッセージを送信", Yc = "ボットが入力中...", Jc = "何かお手伝いできることはございますか?", qc = "メッセージに返信", zc = "返信先:", jc = "あなた", Qc = "Keyring Agent", Kc = "返信をキャンセル", Xc = "質問・調査のお願い", _c = "質問があります", Zc = "何でも聞いてください", $c = "トレンドトークンを購入", el = "ウォレットは接続されていますが、このチェーンは取引に対応していません。トレンドのトークンを表示するには、対応しているチェーンに切り替えてください。", tl = "トレンドのトークンを表示するには、ウォレットを接続してください。", nl = "⏳ トランザクションを処理中...", ol = "✅ トランザクションが完了しました", sl = "❌ アクションがキャンセルされたか、失敗しました", al = "⏳ トランザクションを送信しました。確認を待機中...", rl = "✅ トランザクションが確認されました!", il = "❌ オンチェーンでトランザクションがリバートされました。", cl = "⚠️ トランザクションは送信されましたが、タイムアウトしました。手動で確認してください。", ll = "✅ トランザクションに成功しました!", dl = "❌ トランザクションに失敗しました。もう一度お試しください。", ul = "⚠️ トランザクションハンドラーが設定されていません。", fl = "⚠️ **ガス代({symbol})が不足しています!** 保有量は {balance} {symbol} ですが、手数料に約 {fee} {symbol} 必要です。ウォレットにチャージして再試行してください。", ml = "❌ エラー: {message}", pl = "確定", hl = "スワップを確定する", gl = "スワップを実行しますか?", wl = "⚠️ スワップの見積もりを取得できません。エラー: {error}", bl = "キャンセル", yl = "実行", Al = "⏳ 処理中...", vl = "残高:", kl = "ウォレット内にトークンが見つかりません。", Tl = "ウォレットに {symbol} の残高がありません。", Cl = "残高不足です。利用可能: {balance} {symbol}", El = "{field} は必須項目です", xl = "無効なアドレスです (0x + 40文字の16進数)", Sl = "正の数値を入力してください", Il = "有効な数値を入力してください", Nl = "チャットを開く", Bl = "チャットサポートを開く", Fl = "これは {chain} チェーン上のウォレットの利用可能な残高です。この取引に使用するコインを選択してください。", Rl = "申し訳ありませんが、{chain} チェーン上のウォレットにトークンが見つかりませんでした。取引するためのトークンを保有しているかご確認ください。", Ol = "ウォレット残高を取得できませんでした。もう一度お試しください。", Pl = "ウォレット残高の取得中にエラーが発生しました。", Dl = "手数料が不足しています。取引手数料をカバーするのに十分な {symbol} を保有しているか、別のトークンを選択してください。", Ll = `使用する {symbol} の数量を選択してください:
189
+ }, Hc = "Keyring Agent", Wc = "チャットを閉じる", Vc = "メッセージを入力...", Gc = "メッセージを送信", Yc = "ボットが入力中...", Jc = "なにかお手伝いできることはありますか?", qc = "メッセージに返信", zc = "返信先:", jc = "あなた", Qc = "Keyring Agent", Kc = "返信をキャンセル", Xc = "質問・調査のお願い", _c = "質問があります", Zc = "何でも聞いてください", $c = "トレンドトークンを購入", el = "ウォレットは接続されていますが、このチェーンは取引に対応していません。トレンドのトークンを表示するには、対応しているチェーンに切り替えてください。", tl = "トレンドのトークンを表示するには、ウォレットを接続してください。", nl = "⏳ トランザクションを処理中...", ol = "✅ トランザクションが完了しました", sl = "❌ アクションがキャンセルされたか、失敗しました", al = "⏳ トランザクションを送信しました。確認を待機中...", rl = "✅ トランザクションが確認されました!", il = "❌ オンチェーンでトランザクションがリバートされました。", cl = "⚠️ トランザクションは送信されましたが、タイムアウトしました。手動で確認してください。", ll = "✅ トランザクションに成功しました!", dl = "❌ トランザクションに失敗しました。もう一度お試しください。", ul = "⚠️ トランザクションハンドラーが設定されていません。", fl = "⚠️ **ガス代({symbol})が不足しています!** 保有量は {balance} {symbol} ですが、手数料に約 {fee} {symbol} 必要です。ウォレットにチャージして再試行してください。", ml = "❌ エラー: {message}", pl = "確定", hl = "スワップを確定する", gl = "スワップを実行しますか?", wl = "⚠️ スワップの見積もりを取得できません。エラー: {error}", bl = "キャンセル", yl = "実行", Al = "⏳ 処理中...", vl = "残高:", kl = "ウォレット内にトークンが見つかりません。", Tl = "ウォレットに {symbol} の残高がありません。", Cl = "残高不足です。利用可能: {balance} {symbol}", El = "{field} は必須項目です", xl = "無効なアドレスです (0x + 40文字の16進数)", Sl = "正の数値を入力してください", Il = "有効な数値を入力してください", Nl = "チャットを開く", Bl = "チャットサポートを開く", Fl = "これは {chain} チェーン上のウォレットの利用可能な残高です。この取引に使用するコインを選択してください。", Rl = "申し訳ありませんが、{chain} チェーン上のウォレットにトークンが見つかりませんでした。取引するためのトークンを保有しているかご確認ください。", Ol = "ウォレット残高を取得できませんでした。もう一度お試しください。", Pl = "ウォレット残高の取得中にエラーが発生しました。", Dl = "手数料が不足しています。取引手数料をカバーするのに十分な {symbol} を保有しているか、別のトークンを選択してください。", Ll = `使用する {symbol} の数量を選択してください:
189
190
 
190
191
  利用可能: {balance} {symbol}`, Ul = `
191
192
  ⚠️ **手数料の {symbol} が不足しています!**
@@ -213,8 +214,9 @@ If you want to send other NFTs, please provide the contract address, NFT ID`, Mc
213
214
  {list}
214
215
 
215
216
  操作するトークンを選択してください:`, F0 = "このチェーン上のウォレットにトークンは見つかりませんでした。", R0 = "残高の取得中にエラーが発生しました。", O0 = "{symbol} を送信", P0 = "{symbol} をスワップ", D0 = "{symbol} をさらに入手", L0 = "ネイティブトークンを送信", U0 = "ネイティブトークン (ETH, BNB, MATIC など) をアドレスに送信します", M0 = "トークンを送信 (ERC20)", H0 = "ERC20トークンをアドレスに送信します", W0 = "トークンをスワップ", V0 = "トークンを別のトークンに交換します", G0 = "トークンを承認", Y0 = "支出元(Spender)によるトークンの使用を許可します", J0 = "ネイティブトークンをラップ", q0 = "ネイティブトークンをラップします (ETH → WETH)", z0 = "ネイティブトークンをアンラップ", j0 = "ネイティブトークンをアンラップします (WETH → ETH)", Q0 = "NFTを送信", K0 = "ERC721またはERC1155 NFTを別のアドレスに転送します", X0 = "受信者アドレス", _0 = "数量", Z0 = "トークンコントラクト", $0 = "トークンシンボル", ed = "デシマル (小数桁数)", td = "元のトークン", nd = "元のシンボル", od = "先のトークン", sd = "先のシンボル", ad = "元のデシマル", rd = "先のデシマル", id = "支出元 (Spender) アドレス", cd = "数量 (空欄 = 無制限)", ld = "NFTコントラクト", dd = "トークンID", ud = "トークン規格", fd = "NFT名", md = "正の整数を入力してください", pd = "数量は利用可能な残高 {max} を超えることはできません", hd = "受取額: {value}", gd = "アクション「{action}」が {value} に対して実行されました", wd = "{symbol} の購入をお手伝いします。まず、交換に使用可能なトークンを表示します。", bd = "このチェーン上でトークン「{symbol}」が見つかりませんでした。購入可能なトレンドトークンはこちらです:", yd = "スワップの準備中...", Ad = "はい", vd = "交換元(支払う)トークンを選択してください:", kd = "{symbol} をスワップします。受け取りたいトークンを選択してください:", Td = "スワップの詳細が必要です。交換したいトークンを指定してください(例:「1 ETH を USDC にスワップ」)。", Cd = "あなたのNFTコレクションを表示します!", Ed = "どのトークンを送信しますか?", xd = "どのNFTを送信しますか?", Sd = "どのトークンをスワップしますか?現在の残高はこちらです:", Id = "利用可能", Nd = `**ようこそ! 🚀**
216
- 新時代の金融へ。DeFiの世界を解き放て!トレード、価格チェック、ポートフォリオ分析など、いつでもお手伝いします。`, Bd = `
217
- 他のNFTを送信する場合は、コントラクトアドレスとNFTIDを入力してください`, Fd = {
217
+ 接続が完了し、DeFiを探索する準備が整いました!トレード、価格チェック、ポートフォリオ分析など、いつでもお手伝いします。`, Bd = `
218
+ 送信したいNFTが上のリストにない場合は、ウェブサイトから送信してください。
219
+ {link}`, Fd = {
218
220
  chatTitle: Hc,
219
221
  closeChat: Wc,
220
222
  messagePlaceholder: Vc,
@@ -398,7 +400,8 @@ If you want to send other NFTs, please provide the contract address, NFT ID`, Mc
398
400
 
399
401
  选择一个代币进行操作:`, C2 = "您在该链的钱包中没有任何代币。", E2 = "抱歉,获取您的余额时出错。", x2 = "发送 {symbol}", S2 = "兑换 {symbol}", I2 = "购买更多 {symbol}", N2 = "发送原生代币", B2 = "将原生代币 (ETH, BNB, MATIC 等) 发送到指定地址", F2 = "发送代币 (ERC20)", R2 = "将 ERC20 代币发送到指定地址", O2 = "兑换代币", P2 = "将一种代币兑换为另一种", D2 = "授权代币", L2 = "授权支出方使用您的代币", U2 = "包装 (Wrap) 原生代币", M2 = "包装原生代币 (例如 ETH → WETH)", H2 = "解包 (Unwrap) 原生代币", W2 = "解包原生代币 (例如 WETH → ETH)", V2 = "发送 NFT", G2 = "将 ERC721 或 ERC1155 NFT 转移到另一个地址", Y2 = "接收者地址", J2 = "金额", q2 = "代币合约", z2 = "代币符号", j2 = "精度 (Decimals)", Q2 = "源代币 (From)", K2 = "源代币符号", X2 = "目标代币 (To)", _2 = "目标代币符号", Z2 = "源代币精度", $2 = "目标代币精度", e1 = "支出方 (Spender) 地址", t1 = "金额 (留空 = 无限制)", n1 = "NFT 合约", o1 = "代币 ID", s1 = "代币标准", a1 = "NFT 名称", r1 = "必须为正整数", i1 = "金额不能超过可用余额 {max}", c1 = "收到: {value}", l1 = '操作 "{action}" 已执行,对象为: {value}', d1 = "我会帮您购买 {symbol}。让我为您显示可用于交易的代币。", u1 = '我在该链上没找到代币 "{symbol}"。以下是您可以购买的热门代币:', f1 = "正在准备兑换...", m1 = "是", p1 = "请选择您想从哪个代币进行兑换:", h1 = "您想兑换 {symbol}。请选择您想收到的代币:", g1 = "我需要更多关于兑换的细节。请指定您想兑换的代币(例如 “将 1 ETH 兑换为 USDC”)。", w1 = "正在为您展示 NFT 收藏!", b1 = "您想发送哪个代币?", y1 = "您想发送哪个 NFT?", A1 = "您想兑换哪个代币?以下是您的当前余额:", v1 = "可用余额", k1 = `**欢迎! 🚀**
400
402
  您已连接并准备好探索 DeFi!我可以帮您进行交易、查询价格,并在需要时分析您的资产组合。`, T1 = `
401
- 如果您想发送其他 NFT,请提供合约地址和 NFT ID`, C1 = {
403
+ 如果您想发送的 NFT 不在上方列表中,请访问我们的网站进行发送。
404
+ {link}`, C1 = {
402
405
  chatTitle: Rd,
403
406
  closeChat: Od,
404
407
  messagePlaceholder: Pd,
@@ -6814,7 +6817,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
6814
6817
  return ne.AndroidView = xa, ne.BrowserTypes = X, ne.BrowserView = Sa, ne.ConsoleView = Da, ne.CustomView = Ua, ne.IEView = Ia, ne.IOSView = Na, ne.MobileOnlyView = Oa, ne.MobileView = Ba, ne.OsTypes = oe, ne.SmartTVView = Pa, ne.TabletView = Fa, ne.WearableView = La, ne.WinPhoneView = Ra, ne.browserName = aa, ne.browserVersion = sa, ne.deviceDetect = Oe, ne.deviceType = ma, ne.engineName = ca, ne.engineVersion = la, ne.fullBrowserVersion = oa, ne.getSelectorsByUserAgent = Ea, ne.getUA = da, ne.isAndroid = Eo, ne.isBrowser = Co, ne.isChrome = _s, ne.isChromium = Ks, ne.isConsole = un, ne.isDesktop = Xs, ne.isEdge = ua, ne.isEdgeChromium = ya, ne.isElectron = ba, ne.isEmbedded = js, ne.isFirefox = Zs, ne.isIE = Io, ne.isIOS = So, ne.isIOS13 = pa, ne.isIPad13 = ha, ne.isIPhone13 = ga, ne.isIPod13 = wa, ne.isLegacyEdge = Aa, ne.isMIUI = Ta, ne.isMacOs = ka, ne.isMobile = mn, ne.isMobileOnly = ko, ne.isMobileSafari = Qs, ne.isOpera = ea, ne.isSafari = $s, ne.isSamsungBrowser = Ca, ne.isSmartTV = Le, ne.isTablet = To, ne.isWearable = fn, ne.isWinPhone = xo, ne.isWindows = va, ne.isYandex = fa, ne.mobileModel = ia, ne.mobileVendor = ra, ne.osName = na, ne.osVersion = ta, ne.parseUserAgent = v, ne.setUserAgent = xe, ne.useDeviceData = No, ne.useDeviceSelectors = Wa, ne.useMobileOrientation = Ha, ne.withOrientationChange = Ma, ne;
6815
6818
  }
6816
6819
  var Nt = $p();
6817
- const eh = "AIzaSyC8G_-cDct8FgyiXaq0vFJVK4BBNwF1jtc,AIzaSyD3bIEPvZb_jPJkAb5lRapTmmHKnNB2Dl8,AIzaSyCb1S1X7rppIWqcBffHLIjOBlSFX8VPK-w", qn = {
6820
+ const eh = "QUl6YVN5RGprZEFvMjNtMy00S0U3eWo2aVJQQmowN05lRXgxd0tz", qn = {
6818
6821
  model: "gemini-2.5-flash",
6819
6822
  "model2.0": "gemini-2.5-flash",
6820
6823
  apiKey: eh,
@@ -6831,7 +6834,7 @@ class th extends jt {
6831
6834
  const s = localStorage.getItem("arr_api_key_dev_gemini");
6832
6835
  s ? n = JSON.parse(s) : n = qn.apiKey.split(",");
6833
6836
  const o = localStorage.getItem("index_api_key_gemini");
6834
- return o && (this.indexApiKey = Number(o), this.indexApiKey++), this.indexApiKey >= n.length && (this.indexApiKey = 0), t = n[this.indexApiKey], localStorage.setItem("index_api_key_gemini", this.indexApiKey.toString()), t;
6837
+ return o && (this.indexApiKey = Number(o), this.indexApiKey++), this.indexApiKey >= n.length && (this.indexApiKey = 0), t = n[this.indexApiKey], t && (t = atob(t)), localStorage.setItem("index_api_key_gemini", this.indexApiKey.toString()), t;
6835
6838
  }
6836
6839
  getUrl(t, n) {
6837
6840
  return `/v1beta/models/${n || "gemini-2.5-flash"}:${t}`;
@@ -7660,7 +7663,12 @@ $${ie(
7660
7663
  "bot",
7661
7664
  void 0,
7662
7665
  H
7663
- ), K && K > 0 && Z.length > K && l(a("sendOtherNfts"), "bot");
7666
+ ), K && K > 0 && Z.length > K && l(
7667
+ r("sendOtherNfts", {
7668
+ link: "https://nft.keyring.app/"
7669
+ }),
7670
+ "bot"
7671
+ );
7664
7672
  } else
7665
7673
  k(!1), l(a("nftNoCollection"), "bot");
7666
7674
  } catch (M) {