-
-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Biatec Wallet to UseWallet #202
Conversation
Hi @scholtz thank you for the PR! It's an interesting approach – simply extending the WalletConnect provider and overriding the name and logo – but I'm not keen on the precedent it sets. Biatec Wallet can already be used with the existing WalletConnect provider. If a developer wants to explicitly show Biatec as an option in their app's wallet menu, it could be done by setting WalletConnect's import { NetworkId, WalletId, WalletManager } from '@txnlab/use-wallet'
const walletManager = new WalletManager({
wallets: [
{
id: WalletId.WALLETCONNECT,
options: { projectId: '<YOUR_PROJECT_ID>' },
metadata: {
name: 'Biatec',
icon: 'data:image/svg+xml;base64,...'
}
},
],
network: NetworkId.TESTNET
}) The console output and error messages (if any) would show "Biatec" instead of "WalletConnect", since they use the value for But having duplicate providers for every WalletConnect-compatible wallet just adds unnecessary clutter to the library. That said, I understand why you did it. In addition to the alternative approach I described above, there are two other potential solutions that I'd prefer:
// in the WalletConnect provider's options
explorerRecommendedWalletIds: [
'5864e2ced7c293ed18ac35e0db085c09ed567d67346ccb6f58a0327a75137489' // Fireblocks ID
]
For now, though, since Biatec is indeed already compatible with the library's existing WalletConnect provider, I would prefer not to go down the path of having duplicate providers that just extend WalletConnect. I hope you understand. |
I would prefer this way.. you make the list of algorand capable wallets, and i believe naming the Biatec wallet (first open source algorand wallet) in this list is important Its quite strange thinking all devs will have the biatec logo included in their wallet setup scripts. i have tried WalletConnect Explorer approach before and that was one of the reasons why we rebranded AWallet to Biatec.. WalletConnect is centralized service and they decided that the AWallet logo is too similar to algorand so they just declined it.. hopefully as Biatec wallet they will approve it nevertheless i think this PR should be included because i have feedback what people should do to include AWallet into their website and when i just say them implement wallet connect its quite strange for them as they do not have it listed on their website as supported option |
This looks to just be WalletConnect itself, popping the exact same dialog, but with Biatec logo as if it does something 'different' - but it doesn't. This isn't a new provider and shouldn't be accepted as such. |
I understand the importance of visibility for Biatec Wallet. I'd be happy to add it to the list of supported wallets in the documentation, and I can highlight its compatibility with the WalletConnect provider. This should help clarify for developers that Biatec is a supported option. If the rebranded wallet is added to WalletConnect Explorer I can also include its ID with explicit instructions to use it in But I don't think adding a separate provider that's essentially just a reskin of WalletConnect makes sense from a library maintenance perspective. If you add any additional features/functionality/UI to Biatec Wallet beyond what the WalletConnect provider already has – warranting its own separate provider – I'd be happy to add it. To @pbennett's point, ideally it would distinguish itself visually from the WalletConnect modal to avoid confusion. In the meantime, let me know if any of the alternative solutions I offered would be acceptable and I'll make sure to include clear instructions for developers in the documentation. |
@scholtz I've added Biatec to the list of supported wallets: https://txnlab.gitbook.io/use-wallet/fundamentals/supported-wallets#biatec Let me know if there are any changes you'd like me to make to the description, image, or links. |
Ok, but the most important thing for me is that in the examples there is a example on how to setup the biatec wallet.. Perhaps this will require somewhere to store the icon.. where is the best place to store the icon so that people does not have to search for it by them selfs? |
If you host the image somewhere, I could show the following example in the Biatec section: import { NetworkId, WalletId, WalletManager } from '@txnlab/use-wallet'
const walletManager = new WalletManager({
wallets: [
{
id: WalletId.WALLETCONNECT,
options: { projectId: '<YOUR_PROJECT_ID>' },
metadata: {
name: 'Biatec',
icon: 'https://wallet.biatec.io/logo.svg'
}
}
]
}) Otherwise, the example can still use a data URI. But the SVG logo you provided is massive, even after I removed a lot of extraneous markup/attributes and base64 encoded it: import { NetworkId, WalletId, WalletManager } from '@txnlab/use-wallet'
const walletManager = new WalletManager({
wallets: [
{
id: WalletId.WALLETCONNECT,
options: { projectId: '<YOUR_PROJECT_ID>' },
metadata: {
name: 'Biatec',
icon: 'data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAwIDE4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBzdHlsZT0iZmlsbDp0ZWFsO3N0cm9rZS13aWR0aDouMjY0NTgzIiBkPSJNOTQuMjcgMTUxLjYyOWMtLjg2MS0uNTI2LTEuNTEtMS4zNy0xLjgzLTIuMzg2LS4xOTctLjYyLS4xOC0uNjI3IDEuMDgyLS40MzcuNzA1LjEwNSAxLjYuMzU2IDEuOTg4LjU1Ny42OTYuMzYgMS44MTUgMS44NzYgMS44MTUgMi40NTkgMCAuNDg2LTIuMTY2LjM0OC0zLjA1NC0uMTkzbTIzLjk1My0uMjYzYy0uNzg4LS40MTktMi4wOTUtMi4xMjMtMi4xMDgtMi43NS0uMDEtLjQzMyAyLjQ2Ny0uMTgyIDMuNDAzLjM0NS45NTUuNTM2IDIuMTQ4IDEuOTcgMi4xNDggMi41ODIgMCAuNTAzLTIuMzk3LjM4LTMuNDQzLS4xNzdtLTkuMDI0LTEuMTY1Yy0xLjU2Ny0xLjE5My0yLjM4LTIuNzQtMi41NS00Ljg0OS0uMDc1LS45MzMtLjA1NC0xLjY5Ny4wNDUtMS42OTcuODY2IDAgMi43MTQgMS42NyAzLjQzOSAzLjEwNy4zOTguNzg5LjY1NyAzLjg4OC4zNTEgNC4xOTUtLjA3LjA3LS42NDgtLjI3LTEuMjg1LS43NTZtLTguOTA2LTEuMzU0Yy0uNjMtLjY4NC0xLjIxLTEuNjQ4LTEuMzg3LTIuMzA1LS4zMTgtMS4xOC0uMTM2LTMuNDE2LjI3OC0zLjQxNi41NTUgMCAyLjEwOCAxLjY5NyAyLjUwNSAyLjczNy40NzIgMS4yMzcuNDU3IDMuOTA1LS4wMjMgNC4wNjMtLjE2LjA1My0uNzc3LS40MzMtMS4zNzMtMS4wOG0tNi44MDUtMS43NzVjLTIuNzY0LS42MTItNS4yMjMtMS40MjUtNS4zNTctMS43NzItLjA4LS4yMS4xNjktMS4wMjcuNTU1LTEuODE0cy43MDEtMS40NjkuNzAxLTEuNTE1YzAtLjA0Ny0uODAzLjA2Ny0xLjc4Ni4yNTMtLjk4Mi4xODUtMS44NTcuMjU2LTEuOTQ0LjE1Ny0uMDg4LS4xLS4zNjUtLjcxNS0uNjE4LTEuMzY3LS4yNTItLjY1Mi0uODU4LTEuNzI5LTEuMzQ1LTIuMzkzLTEuMjkzLTEuNzYtNS4yODUtNS41MjYtNy4yNzItNi44NTgtMy44MjYtMi41NjQtNC45Ni0zLjg1NS00LjY2Ny01LjMxNi4wOC0uNDAyLjY5Mi0xLjU3NCAxLjM1OS0yLjYwNiAxLjY1LTIuNTUxIDIuNTEtNC40NzIgMi41MTItNS42Mi4wMDItLjU3MS0uMzY0LTEuNjktLjkwMS0yLjc1OGwtLjkwNS0xLjc5Ni43MDYtLjUzMmMxLjkzNi0xLjQ2IDQuNjQ5LTQuOTE2IDQuMjA1LTUuMzYtLjA2LS4wNi0uODQ2LjcyLTEuNzQ1IDEuNzMyLTMuNTUzIDMuOTk3LTcuODE0IDYuNDYzLTE2LjAxNCA5LjI3LTUuMzI0IDEuODIzLTUuODUzIDIuMDYtNy4xODMgMy4yMjgtMS41NTUgMS4zNjUtMS45NjIgMi41MDItMi41MzEgNy4wNjMtLjI4NCAyLjI3NS0uNzA2IDQuNzktLjkzNyA1LjU5MS0uMjMxLjgtLjQwMyAyLjE3LS4zODIgMy4wNDMuMDMyIDEuMzQ2LS4xNTcgMi4wNi0xLjI0OCA0LjY5OC0xLjQ5OCAzLjYyMi0xLjA2OCAzLjcwOC00LjEzOC0uODI3bC0yLjAzNi0zLjAwOC43NDctLjc4NGMuNDExLS40MyAxLjA3NS0uOTc4IDEuNDc1LTEuMjE2Ljk1NS0uNTY4LjkxOS0uOTIyLS4yMzYtMi4zMzEtLjUzLS42NDctLjkxNy0xLjIwOS0uODYtMS4yNXMuNDMtLjI3Ny44My0uNTI2YzEuNzg4LTEuMTIgMi43LTQuNzI3IDIuOTg3LTExLjgyMi4yMTQtNS4yNzQuNTk1LTYuNDYgMi4xOTUtNi44MyA2LjYzNC0xLjUzNSA3LjU4LTEuOTggOC42MTgtNC4wNjYuOTI2LTEuODU4LjktMy43MDEtLjEyMS04LjQ3NS0uODctNC4wNzItMS4wNDctNy4yMS0uNTE2LTkuMjIzLjYwNi0yLjMwMyAzLjc1OS03LjQzMyA1LjY2Ny05LjIyMS4zNzYtLjM1My42ODQtLjcyOS42ODQtLjgzNSAwLS4yNTQtMy4zMjUtMi42OTctNC40NDgtMy4yNjgtLjQ4Mi0uMjQ1LTEuNDU1LS40NS0yLjE2My0uNDU2LTMuODkyLS4wMy02LjYyOCAxLjg3Ny04LjcyMiA2LjA4LS42MDMgMS4yMTItMS41ODIgMi43My0yLjE3NiAzLjM3NC0yLjczMyAyLjk2NS04LjYwMiA0LjA5LTEyLjY2NiAyLjQzbC0uOTEzLS4zNzQgMS4zMjMtLjA1YzEuNDIyLS4wNTQgMy40OTgtLjk0IDMuOTQ0LTEuNjgzLjQxNC0uNjkuMDc2LS43OS0xLjA2LS4zMTQtMS40NDMuNjA1LTQuMDc1LjU5Ny01LjAzOS0uMDE1LTEuMjU5LS44LTIuMjMtMS44MS0yLjc5NS0yLjkwOGwtLjUzNS0xLjA0MiAxLjI0MyAxLjA5NWMxLjUxIDEuMzI4IDIuNjkxIDEuNzUyIDQuNDI1IDEuNTg1IDEuNTA2LS4xNDUgMi41MjMtLjg1MSAxLjY1LTEuMTQ3LTMuMTk1LTEuMDgtNS44MzQtMy4wNzgtNy4wNy01LjM1LS44MDktMS40ODUtMS41MTMtMy45ODItMS41MDQtNS4zMzRsLjAwNi0uOTM2LjQyLjg1NGMuMjMyLjQ3Ljk0MSAxLjMzMyAxLjU3NiAxLjkxOGwxLjE1NSAxLjA2NCAyLjE4OS0uMDEyIDIuMTg4LS4wMTEtMS4wMTItLjUzNWMtLjk3NS0uNTE0LTMuMzUzLTIuNzY2LTMuMzUzLTMuMTc1IDAtLjExLjUwNi4wNzkgMS4xMjQuNDE4IDEuMjgyLjcwMyAzLjg4OCAxLjMyIDQuMjEuOTk2LjEyLS4xMTgtLjIwNC0uNjEyLS43MTgtMS4wOTctLjUxMy0uNDg0LTEuMTctMS4zNDQtMS40Ni0xLjkxMWwtLjUyNS0xLjAzIDEuMTc0Ljg5NWMyLjAyIDEuNTQyIDMuODgzIDEuNTA2IDYuMzQyLS4xMjMuNjktLjQ1NyAxLjIxOC0uODYzIDEuMTc1LS45MDNzLS45ODkuMjI3LTIuMTAzLjU5NGMtMS44Ny42MTgtMi4xMS42NC0zLjE1MS4zMDUtMS4yODQtLjQxNS0yLjAyMy0xLjI3My0yLjI1LTIuNjEzbC0uMTU4LS45MjYuNDg2LjU5NWMxLjA3IDEuMzEgMi42NTIgMS4yNTUgNi4zNjMtLjIyNCAxLjEzMi0uNDUxIDIuODkyLTEuMDM2IDMuOTEtMS4zIDIuNzMyLS43MDYgMS41NjEtLjkyNi0yLjI5OC0uNDMtMS43NzguMjI4LTMuMjcuMzc2LTMuMzE4LjMyOS0uMDQ3LS4wNDcuNjYyLS40MTUgMS41NzUtLjgxOCAyLjAwMi0uODgzIDQuNzgtMS4xNTIgNi44NTgtLjY2MyAxLjgxNy40MjcgMi41NTUuODEgNC4wMzIgMi4wODcgMS4xNTEuOTk3IDMuNjU0IDIuMTU2IDQuNjA1IDIuMTMzLjU5NS0uMDE1LTIuOTYtMy4zOTUtNC41NTItNC4zMjgtMS42MzktLjk2LTQuMTEtMS41NDItNi4xMDctMS40MzgtLjkyLjA0OS0xLjYyNy4wMTYtMS41NzEtLjA3My4yNDItLjM4OCAzLjQ0LS44MjUgNS4yMDMtLjcxIDQuMDQ4LjI2NSA2Ljk2IDIuNTQ2IDEwLjkwMiA4LjUzNyAyLjU1MyAzLjg4MyA0LjIzNCA1LjY3IDYuMTM3IDYuNTI0bDEuMDkyLjQ5IDIuMjE1LTEuMDI3YzQuNzQ3LTIuMiA4Ljc5Ny0yLjUxOCAxNi4wOTctMS4yNiAyLjI1LjM4NyA0LjcxNy43MDQgNS40ODIuNzA0aDEuMzlsLjA3NCAzLjIwMy4wNzQgMy4yMDMuODk0LTEuMTEzYy44OC0xLjA5Ni44OTQtMS4xNTIuODQ2LTMuNTE2bC0uMDQ5LTIuNDAyLTEuNjEtMS43MjFjLTQuMTQtNC40MjUtNC4zMzUtNi41MzYtMS4xMzUtMTIuMjEzIDIuNzQ0LTQuODcgMi43MDQtNC40MS44MTMtOS4zMi0uODgzLTIuMjkyLTEuNjk2LTQuMTY3LTEuODA3LTQuMTY3LS4zMzkgMC0uMjA1IDQgLjE5NiA1LjgyMS43MTYgMy4yNTYuNDM1IDQuODIyLTEuMDA2IDUuNjAzLS4zNzEuMi0yLjE0NC4zMy00LjkwNC4zNi0zLjYuMDM2LTQuMzQ4LS4wMjItNC40NzMtLjM0OC0uMDg3LS4yMjcuMTAyLS41ODIuNDUxLS44NDUuNTMtLjQuNTYzLS41My4yNzQtMS4wOS0uMTgtLjM1LS42OTItMS4wMjItMS4xMzctMS40OTNzLS43MzQtLjkzMy0uNjQtMS4wMjZjLjA5My0uMDk0IDEuMDcyLS4wMzYgMi4xNzUuMTI4IDMuMDIzLjQ1IDMuNzYuMzk4IDQuMjExLS4yOTcuNC0uNjE1IDIuODg3LTkuNzI1IDIuNzA0LTkuOTA3LS4xOTYtLjE5Ni0xLjU1IDEuNjItMi43NTkgMy43LTEuNzgyIDMuMDY4LTMuMTQgMy44OTUtNi4zNzkgMy44ODktMi40ODUtLjAwNS01LjQzLTEuMDk4LTguNjU4LTMuMjEzLTEuNDM5LS45NDMtMy4wMi0xLjg1NS0zLjUxNC0yLjAyNy0xLjUyNC0uNTMxLTMuNzUtLjM5Mi01LjE2My4zMjRsLTEuMjYuNjM4LjU2Ny0uNjAzYy44OTItLjk1IDMuMDQ4LTIuMDA0IDQuNDMyLTIuMTY3IDEuOTQtLjIzIDMuMy4yODMgNS43ODYgMi4xOCAyLjM5IDEuODIzIDMuMTYzIDIuMjI1IDQuMjggMi4yMjUuNiAwIC40OTctLjEyLS43NDUtLjg3Mi0uNzkyLS40OC0yLjQxNi0xLjU5OC0zLjYwOS0yLjQ4Ni0yLjY1OC0xLjk3OC00LjExOS0yLjU4LTUuODMxLTIuNGwtMS4yNi4xMzIuOTI2LS4zOWMuNjY3LS4yODEgMS42MDktLjM2IDMuMzczLS4yODQgMS4zNDYuMDU5IDIuNDQ4LjA3NyAyLjQ0OC4wNCAwLS4yNzgtMi41MzctMS40NTUtMy43MS0xLjcyMi0uODktLjIwMi0xLjIzMS0uMzY1LS44ODQtLjQyMS4zMTItLjA1MSAxLjg2LjIyNSAzLjQ0LjYxNCAyLjU2NC42MyAzLjE2Ny42ODcgNS42MDIuNTI1IDUuNTM2LS4zNjkgNy4wMzItMS4xNDQgOS4yMTgtNC43NzRsMS40MzMtMi4zODItMS4yMjQgMS4zMjNjLS42NzMuNzI4LTEuNzc5IDEuOTI4LTIuNDU3IDIuNjY2LS42NzcuNzM5LTEuNTMgMS40MTctMS44OTMgMS41MDhsLS42NjIuMTY1LjYxLS41MDNjLjMzNC0uMjc3IDEuMDg4LTEuNDkxIDEuNjc1LTIuNjk4IDEuNzcyLTMuNjQ4IDMuMjI4LTQuNzc5IDYuNzcyLTUuMjU3IDMuNTIyLS40NzYgNC43OTctLjc5MSA1LjQyMS0xLjM0Mi4zMzItLjI5My40MjktLjQ0LjIxNS0uMzI5LS4yMTMuMTEyLTEuOTQuMjc3LTMuODM2LjM2Ny0yLjk1NS4xNC0zLjY2Ni4yNjMtNC45Ny44Ni0xLjYzMi43NDktNC4wOTIgMi44OTMtNC45OTYgNC4zNTYtLjc2NCAxLjIzNi0uOTIzLjkwNS0uMjI0LS40NjUgMS4zODctMi43MTggNC42ODUtNC45NDUgOC4zNjYtNS42NTFsMS44MTUtLjM0OS0xLjA1OC0uMjM1Yy0uNTgyLS4xMy0xLjk1Mi0uMjI0LTMuMDQzLS4yMDlsLTEuOTg0LjAyNyAxLjcyLS44MmMxLjQyNy0uNjgyIDIuMDQtLjgyMiAzLjYxMS0uODIyIDEuNjA3IDAgMS44Ni0uMDYgMS42NzktLjQtLjUzOS0xLjAwNS0xLjM3Ny0xLjQ1Mi0yLjY5LTEuNDMyLS43NjkuMDExLTEuMTU2LS4wNjctLjkzNy0uMTkuNTM0LS4yOTggMi4xNjgtLjM0IDQuMTY5LS4xMDQgMS42NDguMTk0IDEuODIuMTU5IDMuNTktLjczMyAxLjAyMy0uNTE1IDIuNDcyLTEuMDQ3IDMuMjItMS4xODMgMS4zODgtLjI1MyAzLjYwNy0uMDQgNC40NzIuNDI5Ljk0Mi41MSAxLjk1OCAxLjgyNSAyLjA5NSAyLjcxMi4xMTYuNzQ2IDAgMS4wNTItLjY3MSAxLjc3Ny0uNzUyLjgxMy0uODExIDEuMDE4LS44MTEgMi44MiAwIDEuNzA2LS4xMDUgMi4xMjctLjg1IDMuNDI0LS40NjcuODE0LS45NzMgMS40NzYtMS4xMjQgMS40NzNzLS43OTctLjI0Mi0xLjQzNS0uNTMyYy0xLjI3Ny0uNTc5LTEuNzE0LS40MzUtMS45ODguNjU1LS4xMTUuNDYuMDQ1Ljg0LjYwNSAxLjQ0LjQyLjQ0OCAxLjYyMSAyLjIzNyAyLjY3MSAzLjk3NSAxLjg4MyAzLjExNiAxLjkwNSAzLjE3NSAxLjU4NSA0LjE0Ni0uMjU4Ljc4LS4yNTggMS41NiAwIDMuNzMuMTc5IDEuNTEuMjUzIDMuMDMxLjE2NiAzLjM4LS4xMjguNTA5LjAzMy43OTUuODA1IDEuNDMyIDEuMzY3IDEuMTI2IDUuMDIgMi45NDcgNS45MTQgMi45NDcgMS4yNjggMCAxLjU4OC4yNDcgMS41ODggMS4yMjcgMCAxLjA1Ny0uNjQyIDIuNzQyLTEuMDQ1IDIuNzQyLS4xNTMgMC0uMjc4LS4yOTgtLjI3OC0uNjYyIDAtLjU1OC0uMTIzLS42NjEtLjc5My0uNjYxLS40MzYgMC0yLjE2Mi0uNDY3LTMuODM2LTEuMDM2bC0zLjA0NC0xLjAzNnYxLjc4OGMwIC45ODQtLjA3NyAzLjA1Ny0uMTcyIDQuNjA4bC0uMTczIDIuODJoMy4wMTVsLS4xMzMuODZjLS4wNzMuNDcyLS4yMDYgMi4xMS0uMjk1IDMuNjM3LS4zNzMgNi40Mi0uNjM0IDcuMjAzLTQuMjA3IDEyLjY1LTQuMTE5IDYuMjc4LTQuNjM1IDcuOTg0LTMuNDkzIDExLjU0OC4zNyAxLjE1OC42NDcgMi4xMzMuNjEzIDIuMTY3LS4yNDYuMjQ2LTIuNTY5LTEuMTktMy43ODMtMi4zNC0yLjYxNi0yLjQ3My0yLjkyMi0zLjk3NS0xLjE0Ni01LjYxOS45NTQtLjg4MiAxLjA1NC0xLjA4Ny44OTItMS44MjgtLjQxNy0xLjkxLS41NTMtMS45NzYtMS0uNDgyLS4yMzIuNzc3LS42OTMgMS44NDktMS4wMjQgMi4zODItLjUyNi44NDYtLjYwMyAxLjMxOC0uNjAzIDMuNzA1djIuNzM2bDMuMTc1IDEuMDIyYzEuNzQ2LjU2MiAzLjQ0NiAxLjAyOCAzLjc3NyAxLjAzNC41ODMuMDEyLjU5LS4wMTIuMTk0LS43NzYtLjIyNC0uNDM0LS40NzktMS4zMDctLjU2Ni0xLjkzOS0uMjA4LTEuNTIzLjUzLTMuMDY1IDMuOTA1LTguMTU5IDQuNTM3LTYuODQ1IDUuNDc4LTkuMjUgNS42ODEtMTQuNTEzLjA3LTEuODIuMTktMy45My4yNjctNC42OTIuMTM3LTEuMzUzLjE3LTEuMzk4IDEuMzc5LTEuOTMzIDIuMjctMS4wMDQgNC4yNDUtMy43MTcgNi4yNTMtOC41ODkuNTI2LTEuMjc0LjQ1OS0xLjIwNC0xLjg5MSAxLjk4NS0xLjAxOSAxLjM4Mi0yLjEzIDIuNzUxLTIuNDcgMy4wNDItLjYwNC41MTYtLjYwMy41MDYuMDQ4LS4zOTcuOTM4LTEuMjk5IDEuMjE2LTIuMTQ0IDEuNjg1LTUuMTA3LjY2My00LjE5MyAxLjY5OS02LjI1NSA0LjYwNC05LjE2IDMuNjM5LTMuNjM4IDkuNDctNi4zNDggMTMuNy02LjM2NS42MzUtLjAwMyAxLjIwMS0uMTU1IDEuMzIyLS4zNTYuMTE3LS4xOTIgMS4xMDUtLjkyIDIuMTk2LTEuNjE1IDEuMDkyLS42OTYgMi4yNTItMS41MTEgMi41NzktMS44MTIuMzI3LS4zLjY2LS40OC43NC0uNC4wODEuMDgxLS4wMzguOTQyLS4yNjMgMS45MTRzLS40MSAxLjg4LS40MSAyLjAxNmMwIC4zNyAxLjM5My4zIDEuOTkyLS4xMDIuMjg3LS4xOTIgMS4yOTYtLjYyIDIuMjQxLS45NTNzMS45OTgtLjc4IDIuMzM4LS45OTRjLjM0LS4yMTUuNjY1LS4zNDUuNzIyLS4yODguMzAyLjMwMi0xLjk4MiAzLjUyNi0yLjkyNyA0LjEzMmwtMS4xNTIuNzRjLS4yNzcuMTc5IDEuMjAyIDMuNzMyIDEuOTc1IDQuNzQ1LjY3NC44ODIuODYyIDEuMzQ3Ljc0MiAxLjgyNS0uMDg5LjM1NC4wNDUgMS4yNzMuMjk2IDIuMDQ0LjY0NSAxLjk4IDIuOTEzIDYuNzUxIDMuNjk4IDcuNzc5LjgwOCAxLjA2LjgyIDEuNDE2LjA3NSAyLjM2My0uMzIuNDA4LS42NDggMS4yMjUtLjcyOCAxLjgxNi0uMTE4Ljg3OS0uMjc5IDEuMTItLjg5IDEuMzM1LTEuNDU3LjUxMi0yLjI5OC0uNDQ5LTIuOTQtMy4zNTgtLjExMy0uNTEyLS4zMjUtLjcyOC0uNzE1LS43MjgtLjYzNCAwLS42MTkuMDk5LjM5OCAyLjUxNC4zNjguODczLjU3MiAxLjY4NS40NTMgMS44MDQtLjEyLjExOS0uNjc5LjE3OC0xLjI0NC4xMzItMS4wMDYtLjA4Mi0xLjAzLS4xMDgtMS4xNjUtMS4yOS0uMTEtLjk1OC0uNDA3LTEuNTE1LTEuNDQ0LTIuNzE2LTEuMjgtMS40ODMtMS41MjMtMS42MTctMy45NzQtMi4xODYtLjQzNi0uMTAyLTEuMjM1LS40MDYtMS43NzYtLjY3N2wtLjk4MS0uNDkxLS4zMTEgMS4xMjRjLS40NjIgMS42NjgtLjM4MSA3LjU5Mi4xNCAxMC4zNS4yNDQgMS4yOS45MjYgMy41NTIgMS41MTYgNS4wMjcgMS44NjQgNC42NTUgMS45MzMgNC45OCAxLjkyNCA5LjAzMS0uMDA2IDIuODUzLS4xMTIgMy45NzItLjQ2MSA0Ljg3LS4yNS42NDEtLjQxNSAxLjIwNC0uMzY3IDEuMjUyLjA0Ny4wNDcgMi45MzUuMjAzIDYuNDE5LjM0NyA0LjIuMTc0IDYuNzg2LjM5NyA3LjY3OS42NjQgMS40MzMuNDI5IDIuOTU1IDEuMzQxIDMuMzI4IDEuOTk1LjEyNS4yMTkgMS4yOTIgMy43MTggMi41OTQgNy43NzcgMi41NiA3Ljk3OCAyLjUxNSA3LjYxMyAxLjE0MiA5LjI2My0uNTgyLjctLjYyMy45MTgtLjQ1OCAyLjQ1NWwuMTggMS42ODYtMS42ODUgMS41OWMtMi40NzYgMi4zMzUtMi40ODcgMi4zMzgtMi44MzMuNzAybC0uODI1LTMuODk0Yy0uNDk3LTIuMzQ0LS41MDMtMi41MzUtLjA5LTIuODQ0LjI0NS0uMTgyLjc1LS4zMzIgMS4xMjEtLjMzNSAxLjI1OS0uMDA3IDEuNDQ0LS4zNi42NzItMS4yNzdsLS43LS44MzMuNDYxLTEuMjA5Yy40MDMtMS4wNTQuNDIxLTEuNDI4LjE0Ni0yLjkyNC0uODU2LTQuNjQ3LTMuNDYzLTcuNzU1LTYuNTE2LTcuNzY5LTEuMTk4LS4wMDYtNS42MjYuNzI2LTYuMTQzIDEuMDE1LS40MTkuMjM1IDEuMzYgMi4wMzUgNC4wMjYgNC4wNzMgMS45NTQgMS40OTQgMi40ODcgMi4yNjUgMi43MDggMy45MTguMTE1Ljg1OC0uMDMxIDEuMjc4LS45NjMgMi43NTMtMS4xMjIgMS43NzYtMi41OTYgNC45NDEtNC4wMTUgOC42Mi0uNDM3IDEuMTMzLTEuMDQ4IDIuMzgzLTEuMzU4IDIuNzc3LS41NDYuNjk1LS42MjMuNzEyLTIuNDM0LjU0NC0xLjUxLS4xNC0yLjAzNC0uMDg1LTIuNzI2LjI4Ny0uOTMzLjUwMy0xLjAzMi40ODgtNS4yMzQtLjc1NGwtMS44NTItLjU0NyAxLjA1OC0uOTNjMi40NTItMi4xNTUgNC45Ni00LjAzNSA1LjM3NS00LjAyOC4yNDUuMDA0Ljc0My40MTcgMS4xMDcuOTE5LjM2NC41Ljc0LjkxNC44MzUuOTE4LjMzNi4wMTQgMi42NzMtMi43NzcgMy40MjMtNC4wOS45MjgtMS42MjIgMS40MjktMy43MjEgMS4xOS00Ljk5Mi0uNDE0LTIuMjA4LTIuMTA1LTMuMi04LjgzNi01LjE4My00LjYwNC0xLjM1Ni01LjQ0LTEuNjM3LTYuODM3LTIuMy0uODEtLjM4NC0uOTItLjM2LTMuMDQ3LjY2NC0yLjU5MyAxLjI0OC01LjUwNyAyLjI1MS04LjY2NSAyLjk4My0zLjMwNC43NjYtOS42ODYuOTUtMTIuOTg4LjM3Ni0zLjIyNy0uNTYyLTcuNjM5LTIuMDM1LTkuNjI2LTMuMjE0LS44NTYtLjUwOC0xLjYxOC0uODYyLTEuNjkzLS43ODctLjE1LjE1IDEuMTIgMi4wNzkgMS42NjUgMi41My4yNzEuMjI2LjIzOS43MzItLjE2NiAyLjU4Ni0xLjI0NSA1LjcxMy0yLjY2IDguNjEyLTcuMTg5IDE0LjczLTIuODUyIDMuODUyLTMuNDAyIDUuNjg1LTIuMzI3IDcuNzYyLjY2IDEuMjc0IDkuMjc4IDkuNzYzIDExLjAxNiAxMC44NS43OTcuNDk4IDEuNTc2IDEuMjYgMS45MjkgMS44ODkuNDk2Ljg4MyAyLjE1OCA1LjI3NSAyLjE1OCA1LjcwNCAwIC4yLTEuNTc3LjExMS0yLjc3OS0uMTU0bTQ2Ljc2LTEuNjhjLTIuOTgtMS4xMDctNS4zNDgtMy4xMTEtNy4wNTQtNS45Ny0xLjAyNS0xLjcyLTIuMTYtNC40MjgtMS45NDYtNC42NDMuMjI5LS4yMjkgMy4wMzkuNjQ0IDQuOTE2IDEuNTI3IDMuNDE3IDEuNjA4IDYuMjc1IDUuMTk4IDYuNTk0IDguMjgzLjE3OCAxLjcyMy4wNjMgMS43Ni0yLjUxLjgwM20tNzAuMzk5LjEwN2MtMi45MjMtLjQtNi44ODctMi4wNDMtNy41Ni0zLjEzMi0uMjMtLjM3MSAxLjY5My0xLjc3MiAzLjY4My0yLjY4MyA0LjExOS0xLjg4NyA5LjIyLTEuNzc5IDEzLjA3NS4yNzcgMS42MzcuODczIDQuMzQ3IDIuOTQzIDQuMzA3IDMuMjktLjAxNC4xMjItLjg5NS40OTktMS45NTcuODM3LTQuMDYgMS4yOS04LjQ4MiAxLjgzMS0xMS41NDggMS40MTFtNTEuMjY0LTEuNTVjLTEuNjg3LS42Ni0zLjMxNS0xLjgzMS00Ljg3LTMuNTAzbC0xLjMyMy0xLjQyMSAyLjExNi0uMTgzYzMuNDY3LS4yOTggNi40MjQuMzU0IDguNzU3IDEuOTMyIDEuMDk2Ljc0MiAyLjc1MyAyLjQ1NiAyLjc1MyAyLjg0OCAwIC44NTktNS40NiAxLjA5OS03LjQzMy4zMjZtMzguNTIxLTEuMjZjLTMuODQtLjc5OC02Ljk2Ni0yLjMzMS05LjcwNS00Ljc2MS0yLjE1Ni0xLjkxMy0zLjE3OS0yLjUxMi01LjA4LTIuOTc4LTEuNDc4LS4zNjItMy4zMzktMS4yNDktMy4zMzktMS41OTEgMC0uMzE4IDIuODI0LS44MSA1LjY4OS0uOTkxIDcuMDQ2LS40NDYgMTMuNTQ5IDIuNzQxIDE2LjEzMyA3LjkwOC41MTMgMS4wMjQuOTMyIDIuMDI1LjkzMiAyLjIyNCAwIC4yNzctLjQ3OS4zNTQtMi4wNS4zMy0xLjEyOC0uMDE2LTIuMjg5LS4wOC0yLjU4LS4xNG0tNjEuMjE3LTIuMDc2Yy0xLjM1LS40MjEtMi41Mi0xLjQ0OS0zLjIzOC0yLjg0NWwtLjUxLS45OTJoMS4xNzhjMS40NzkgMCAyLjQ2LjM2NSAzLjQyIDEuMjczLjY1LjYxNSAxLjc2MiAyLjM5MiAxLjc2MiAyLjgxNyAwIC4yNTUtMS40MjYuMTE3LTIuNjEyLS4yNTNtNS40NS0xLjUwNGMtMS41ODMtMS4xNTMtMi4zOTYtMy41MDktMS44NzgtNS40NDIuMTkyLS43MTUuNTYzLS43NDIgMS4zMzQtLjA5OCAxLjE4Ljk4NiAxLjY3MyAyLjE3NyAxLjY3NCA0LjA1MSAwIC45NzQtLjA5IDEuODI2LS4yIDEuODk1LS4xMTIuMDY4LS41My0uMTE0LS45My0uNDA2bS0yNi4yNTQtMS4wNzVhMTUwIDE1MCAwIDAgMC0zLjk2OC0xLjk3bC0yLjM4Mi0xLjEzOCAxLjIxLS4wMDFjMi41MjctLjAwMiA0LjkyOCAxLjIwMyA2LjMzOSAzLjE4NS4zMDYuNDMuNTIuNzc3LjQ3My43Ny0uMDQ2LS4wMDctLjc5OS0uMzg4LTEuNjcyLS44NDV6bS0xNC4zNTQtMy42MDhjLS43NjQtLjI2NC0xLjYzMS0uNjk5LTEuOTI3LS45NjYtLjU5LS41MzQtMS42OTUtMi4yMi0xLjU0Mi0yLjM1Mi4wNTMtLjA0NS41NzMtLjE5MiAxLjE1NS0uMzI1IDEuMzI0LS4zMDMgMS40NS0uOTI1LjY2Mi0zLjI2NS0uMzA2LS45MDgtLjUwMy0xLjcwNS0uNDM4LTEuNzcuMDY2LS4wNjYuNjM3LjAxOCAxLjI3LjE4Ny45NS4yNTMgMS42ODMuODQ5IDQuMTk0IDMuNDExIDIuNDgzIDIuNTM0IDMuMjg2IDMuMTkgNC4zNjYgMy41NjYuNzI3LjI1MyAxLjYyLjU4NyAxLjk4NC43NDJsLjY2Mi4yOC0uNjYyLjE5OWMtLjc3OS4yMzQtNi4xMDIuNzk0LTcuNDIuNzgyLS41MDMtLjAwNS0xLjU0LS4yMjUtMi4zMDQtLjQ4OW0xMDQuMzEzLS44M2MtMS41MjgtLjQ4NC00LjcxOS0yLjcwNC00Ljc1LTMuMzAzLS4wMDYtLjE0NS44OC0uNDIgMS45NzItLjYxIDIuMzY4LS40MTQgNC42NzYtLjExIDYuNTgyLjg2NCAxLjQxLjcyMSAzLjA4MiAyLjM1IDIuODMgMi43NTYtLjU1Ljg5MS00LjIzNyAxLjA1NC02LjYzNC4yOTRtLTU2LjU4LS4xMTdjLTIuMDYtLjczNC0zLjM1LTIuNjUtMy4zNDUtNC45NjEuMDA2LTIuMzA0LjE1LTIuNTc0IDEuMjc5LTIuMzk3IDEuNTE2LjIzOSAzLjAxMy44MyAzLjY3NyAxLjQ1NWwuNjA5LjU3MiAxLjUyMy0xLjUwN2MuODM4LS44MjkgMS41OTMtMS41MDcgMS42NzktMS41MDcuMDg1IDAgLjM2Mi43MzUuNjE0IDEuNjMzLjk0IDMuMzUtLjM4MyA1Ljk3NC0zLjQzMSA2LjgwNi0xLjMwMi4zNTYtMS4zNS4zNTQtMi42MDUtLjA5NG0tNzUuMzE1LS42OThjLTYuNTMzLS45NDItMTEuMDE4LTIuOTY3LTE0LjU1Mi02LjU3MS0xLjk3Mi0yLjAxLTMuMTc1LTMuODEtMi44LTQuMTg2LjEwOS0uMTA5IDEuMzItLjIzOSAyLjY5My0uMjkgNS4yMzUtLjE5MiA5LjI2NiAxLjQ0OSAxMy4yMiA1LjM4MSAyLjA5NyAyLjA4NSA1LjEwMSA1Ljg1MyA0LjgzOCA2LjA2OC0uMDUuMDQxLTEuNTgtLjE0LTMuNC0uNDAybTk3LjMyNy0xLjI1YzQuMjY3LTUuMDk2IDguOTU5LTcuNDQyIDEzLjMzNC02LjY2Ni45ODIuMTc0IDEuODQuNDA1IDEuOTA2LjUxMy4xOTguMzItMS41NCAyLjcxMy0yLjgzNCAzLjkwNC0yLjMxNCAyLjEzLTUuNDIgMy4xNDgtMTAuNDkyIDMuNDM4bC0zLjA1NS4xNzV6bTE3LjUwMi0uNTU5YzAtLjY0NiAxLjcwMi01LjMxOCAyLjQ0Ny02LjcxNSAxLjQ3Mi0yLjc2MiA0Ljg0LTUuOTY1IDUuNTM4LTUuMjY3LjE2MS4xNjEuMjM0IDEuMTguMTc2IDIuNDgxLS4xMTQgMi42MDMtLjcwNSA0LjAyMy0yLjUxIDYuMDMtMS41MjQgMS42OTUtNS42NTEgNC4yMy01LjY1MSAzLjQ3MW04LjA0LTEuMTU3YzMuNzI4LTIuMzU2IDcuNzI1LTUuMTMzIDguODY0LTYuMTU4IDEuMzUzLTEuMjE4IDEuNDAzLTEuMjQuOTg0LS40My0xLjA5MyAyLjExMy00Ljg1IDUuMTA0LTcuOTMgNi4zMS0xLjczNC42OC0yLjc5OC44MzQtMS45MTkuMjc4bTIuNDU3LTQuODI4Yy0uMjQzLS41MTEtLjQ0My0xLjM4My0uNDQzLTEuOTM3IDAtMS4wMTguOTczLTMuMjIzIDEuNS0zLjM5OS4zNjgtLjEyMyAxLjE0NiAxLjgxNCAxLjE0NiAyLjg1MyAwIC44NTUtLjc4IDIuNi0xLjM5IDMuMTA1LS4yOTguMjQ3LS40NTYuMTI3LS44MTMtLjYyMm0xMS4zNDMuMzczYy0xLjE1Ny0uMTM1LTIuMTUtLjI5Mi0yLjIwNi0uMzQ4LS4xNi0uMTYgMS45NjYtMi4wMTcgMy43MS0zLjI0IDIuMzg3LTEuNjczIDQuNTQtMi4zMTcgNy43NDUtMi4zMTYgMi4xODIgMCAyLjg3NC4xMDQgMy45NDkuNTk2bDEuMzAzLjU5NS0uOTA3LjkzNmMtMi45MzUgMy4wMy03Ljk4NiA0LjQzMy0xMy41OTQgMy43NzdtLTEzNS41NDMtNS45OGMtMy4xNy01Ljk1My0zLjgwMi0xMS44MDktMS43NjktMTYuNDA3Ljc2Ni0xLjczIDIuNDA4LTQuMDMzIDIuODc4LTQuMDMzLjE4NSAwIC43LjY4NSAxLjE0MiAxLjUyMiAyLjAyIDMuODIgMi42NDMgOC41NjkgMS43MDggMTMuMDMtLjUxNSAyLjQ1NC0yLjM4MyA3LjkzOC0yLjcwNSA3LjkzOC0uMDg5IDAtLjY1My0uOTIzLTEuMjU0LTIuMDVtMTMxLjU0My0uMDI2Yy0yLjExLTEuNTUtMy4wMjMtMy4wOTMtMy4wMjMtNS4xMDggMC0xLjIxNS43Ny0zLjA1NiAxLjU4Ny0zLjc5Ni40OTQtLjQ0Ny41NzQtLjQzOCAxLjk2NS4yNDMgMS43MTMuODM4IDIuNjc2IDEuODkyIDMuMDcyIDMuMzYzLjQ2NCAxLjcyNS0uMjU3IDMuODcyLTEuNzkxIDUuMzI4bC0uNzcxLjczM3ptLTE0Mi4zNDEtMi4zOTJjLS45NTUtLjQzNC0zLjAyOC0yLjQ2Mi0zLjAyOC0yLjk2MyAwLS4xMDYuNTg5LS4yNzMgMS4zMDktLjM3MiAyLjAzMi0uMjggMy45MjMuMzgxIDUuMjY5IDEuODQuNjAyLjY1NCAxLjA5NSAxLjI5NSAxLjA5NSAxLjQyNiAwIC4yODktMS4zMDguNTctMi42MTMuNTYyLS41MjctLjAwMy0xLjQ0Mi0uMjI1LTIuMDMyLS40OTNtMTM0LjkyNy0zLjEzOWMxLjIxOC0zLjk1NCAxLjQ3MS0xMy41OS40NzctMTguMjAzYTU3IDU3IDAgMCAwLTEuNDcyLTUuMjkxYy0xLjAyNS0zLTEuMTg3LTMuNTA4LTEuMDMxLTMuMjI5LjA2LjExLjIyNy4xOTkuMzY5LjE5OXMuMTg1LS4xMi4wOTUtLjI2NS0uMDk5LS4yNjUtLjAxOS0uMjY1Yy4yODUgMCAyLjI4NCA0LjI3IDIuOTQgNi4yOC45NDIgMi44ODQgMS40ODggNi41ODQgMS40ODEgMTAuMDM3LS4wMDggNC4yMDUtLjYzIDcuMTU2LTIuMTI2IDEwLjA4OC0uNTc3IDEuMTMtLjk3NCAxLjQ5MS0uNzE0LjY1bTE1LjYyMi0uNTNjLjA5Ni0uNC42OTQtMS43OTggMS4zMy0zLjEwOCAxLjc4LTMuNjczIDQuMzk2LTYuMDQzIDcuNjEtNi44OTkgMi4yNjEtLjYwMiAyLjQxMi0uNTU1IDIuMjQ0LjY5OS0uMzkgMi45MDMtMy4zNDggNi40MTMtNi45NzEgOC4yNy0uNDU1LjIzMy0xLjYzLjcyNi0yLjYwOCAxLjA5NGwtMS43OC42N3ptLTE1MC41OTItMy42MjFjLTUuNTUxLTIuNjgzLTguODY1LTUuMjk1LTExLjQzNi05LjAxMy0yLjA5Mi0zLjAyOC0zLjcyLTcuMDY2LTMuNzItOS4yMzEgMC0uNjM2LjA4OS0uNjkgMS4xMzUtLjY5IDIuOTEzIDAgNi43OTYgMS43NCA5LjU4NSA0LjI5NiAzLjI4MyAzLjAwOCA1LjAzMyA2LjA3MyA2LjU4NyAxMS41MzQgMS4xNSA0LjA0MyAxLjI2MyA0LjU0NCAxLjAyIDQuNTQtLjExMSAwLTEuNTM5LS42NDctMy4xNy0xLjQzNm0xNDUuMDc1LjQ4NWMtLjA5Mi0uMjQxLS4zMDktMS41NTItLjQ4LTIuOTE0LS41NjItNC40NDMuNDMtOC4xODMgMi43NzItMTAuNDU2LjU4LS41NjIgMS4xNjQtMS4wMjIgMS4zLTEuMDIyLjQwNSAwIDEuMDEgMS43NSAxLjE4NiAzLjQzLjMyNCAzLjEtLjkgNi42My0zLjQyMSA5Ljg3Mi0uOTI2IDEuMTktMS4yMjYgMS40MzEtMS4zNTcgMS4wOW0tNi4zNTMtNy42NzVjLjM0LTEuNDEzLjkwOC0yLjIxIDEuOTU3LTIuNzQ1IDEuNTUtLjc5MiAxLjk2LS43MTggMS43NTQuMzE0LS4zMjYgMS42MjgtMS4zOTcgMi42OTUtMy4wMzQgMy4wMjItLjg0LjE2OC0uODU2LjE1NC0uNjc3LS41OTFtMTguNDMyLTIuMDg0Yy0uNDczLS4yMDYtLjg1Ny0uNDY5LS44NTQtLjU4NS4wMS0uMzY4IDEuOTQ1LTEuNTkyIDIuODE2LTEuNzgxLjQ2MS0uMSAxLjM0LS4wNDcgMS45NTIuMTE4bDEuMTE0LjMtLjg4Mi45MDljLS43NjQuNzg5LTIuMTcgMS40NS0zLjAyMiAxLjQyMi0uMTQ1LS4wMDUtLjY1MS0uMTc4LTEuMTI0LS4zODNtLTQuMTktMi4wMTRjLjQzNy01LjI0MyAxLjg1LTguOTkyIDQuNDM0LTExLjc1NCAxLjU4OS0xLjY5OCA0LjAxMS0zLjE3MiA1LjUxLTMuMzUzLjYwOC0uMDczLjY2OS4wMTYuNzQ1IDEuMDg3LjEyNSAxLjc0Mi0uNjU1IDQuODEyLTEuODEgNy4xMTctMS4yMzMgMi40NjYtMy4yNDQgNC43NS02LjE2IDctMy4xODUgMi40NTctMi45MzIgMi40NjYtMi43MTktLjA5N00xNjQuNTM1IDk2LjJjLjAxMS0uNjAxLjk5Ni0yLjQzMiAxLjYxMy0yLjk5Ny43NC0uNjggMS44Ni0xLjE0MiAyLjc2NC0xLjE0Mi43NCAwIC43ODMuMjEzLjI4NyAxLjQwMi0uMzI4Ljc4NC0yLjA1IDIuNTU4LTIuNDk2IDIuNTczLS4xMDUuMDA0LS42MzYuMTEtMS4xODIuMjM3LS43MDMuMTYzLS45OS4xNDItLjk4Ni0uMDczTTM5LjM4IDkyLjUxMWwtMS4xOS0uMjg3IDEuODk0LS4xODRjMi40MjktLjIzNyA0LjIxMS0uODM2IDUuNzU1LTEuOTMzIDEuNzA1LTEuMjEyIDIuNDMtMi4zIDMuMTg3LTQuNzc3LjM1OC0xLjE3MyAxLjAyNy0yLjY0NCAxLjQ4Ny0zLjI3Ljg1NS0xLjE2IDEuMzI4LTEuMzU0Ljc3Mi0uMzE1LS4xNy4zMTctLjQyIDEuNzUzLS41NTUgMy4xOTFzLS4zNzEgMi45NDQtLjUyNCAzLjM0N2MtMS4yOSAzLjM5LTYuMjU1IDUuMzMtMTAuODI2IDQuMjI4bTEzMi4zNTMtMy4wMjJjLTEuMzctMy4wMDQtMS43MjItNC42Mi0xLjU5Ni03LjMyMi4xMi0yLjU4NC42NjMtNC4yMDkgMS45ODQtNS45NDFsLjY5OC0uOTE1LjU5My42ODljMS41MzggMS43ODcgMi4zNyA2LjM2NiAxLjcyIDkuNDU3LS4zNzUgMS43OS0xLjkwMyA1LjYxLTIuMjkzIDUuNzM0LS4xNTguMDUtLjY1Ni0uNzE1LTEuMTA2LTEuNzAybTYuNjU1LjMyM2MuMDk0LS41ODIuMjQ1LTMuNjE4LjMzNi02Ljc0Ny4xNi01LjUxNC0uMDk3LTExLjE3NS0uNzI2LTE2LjAwNy0uNjYtNS4wNzgtMi41ODQtMTEuNDM4LTQuNzg4LTE1LjgzNC0uNTcyLTEuMTQyLS45MTQtMS45OTgtLjc2LTEuOTAzLjE1NC4wOTYuMjguMDIuMjgtLjE3IDAtLjYwOCAxLjkwNSAyLjQ2NSAzLjA1NiA0LjkzIDMuMTkgNi44MyA1LjQ5MiAxOC40ODIgNS4wMzkgMjUuNS0uMjE5IDMuMzc5LS43OSA2Ljc4LTEuNTIgOS4wNC0uNjcyIDIuMDg0LTEuMTY0IDIuNzIyLS45MTcgMS4xOTFtLTUuMTI5LTM5LjkzNmMwLS4wNjUtLjExOS0uMTktLjI2NC0uMjhzLS4yNjUtLjAzOC0uMjY1LjExNi4xMi4yOC4yNjUuMjguMjY0LS4wNTIuMjY0LS4xMTZNMjEuMzkgODcuNDZjLTYuODg1LTYuMjYyLTkuNjM0LTEwLjk4My0xMC4zMTItMTcuNzEtLjIxOC0yLjE1My4wOTgtNi4yMTEuNTE0LTYuNjI4LjM3Ny0uMzc3IDIuODYuNzU3IDQuNzE0IDIuMTUzIDQuMjg3IDMuMjI4IDcuMTI4IDguNjcgNy45NzYgMTUuMjc2LjM0OSAyLjcxNy43NDYgOS45MjMuNTQ3IDkuOTItLjA3My0uMDAxLTEuNjItMS4zNTYtMy40NC0zLjAxbTE0MS44MTggMS40OTVjLjAwMi0xLjIyMy41MS0yLjY1NCAxLjI1NC0zLjUzOS42ODEtLjgxIDIuNjM1LTEuOTAyIDIuOTk5LTEuNjc3LjI0OC4xNTQtLjE5MyAyLjM0Ny0uNjUgMy4yMjQtLjUyMyAxLjAwNy0xLjQ0NCAxLjgyLTIuNjE2IDIuMzFsLS45ODkuNDEzem0xOS43MTUtOS42NWMuMTAxLS40OC40MTQtMS4yNS42OTQtMS43MTIuNTMtLjg3MiAyLjM2MS0xLjkzNyAzLjMzMS0xLjkzNy41MTUgMCAuNTM3LjA3NS4yOS45OTItLjQzMiAxLjU5OS0xLjg5MSAyLjkwMS0zLjc0OSAzLjM0Ny0uNzMzLjE3Ni0uNzQ2LjE2LS41NjYtLjY5bS0xLjA3OC00Ljg2NGMtLjQzNC0zLjQ3NC40MjYtNy45NDkgMi4wMDQtMTAuNDI3Ljk5Mi0xLjU1NyAzLjMwOC0zLjcwNCAzLjk5Ni0zLjcwNC43OSAwIDEuMDIzIDUuMDk4LjM0IDcuNDI3LS43NzUgMi42MzktMy4yMiA2LjEwMi01LjQxIDcuNjYxbC0uNzQ0LjUzek0yNy4xMDYgNzAuNzRjLS44My0yLjE2My44NTItOS4yODUgMy40NDItMTQuNTc3IDMuNDE0LTYuOTc3IDkuODc2LTE0LjE3MyAxNS41MTgtMTcuMjggMS4zMzgtLjczNiAxLjMwNi0uNjk2LS43MzIuOTIxLTMuNTU0IDIuODItNi45MyA2LjUxLTkuNjE3IDEwLjUxNC0yLjc4IDQuMTQyLTQuMTg0IDcuNTgyLTUuODI1IDE0LjI3NC0uNTkzIDIuNDE5LTEuMjczIDQuODg1LTEuNTEyIDUuNDgyLS40NDYgMS4xMTYtLjk5MSAxLjQwMS0xLjI3NC42NjZtMTQ4LjQxNS00LjQyOWMtMy4zMS0xLjc3NS01LjcxNC00Ljg3LTYuMDUtNy43ODctLjEyMy0xLjA3My0uMDk3LTEuMTI0LjU3My0xLjEyMiAxLjc0Mi4wMDYgNC41MzcgMi4zOCA1LjgzMyA0Ljk1NC40NjguOTI4IDEuNDM3IDQuNTcyIDEuMjYzIDQuNzQ2LS4wMjguMDI4LS43NTctLjMyOC0xLjYyLS43OU0yNC40NjUgNjMuODE3Yy0xLjM5Mi0yLjc2Ny0yLjA0Ni01LjE3NS0yLjIwOC04LjEzOC0uMTYtMi45MjQuMjkyLTYuNDguODIzLTYuNDguNjMyIDAgMi43MyAxLjUzNiAzLjY1NCAyLjY3NiAxLjY1IDIuMDM2IDIuMTczIDMuMzI1IDIuMTg1IDUuMzkzLjAxIDEuNzI5LS4wOTQgMi4wNjktMS41NTQgNS4wOTQtLjg2IDEuNzgyLTEuNjYzIDMuMjQtMS43ODMgMy4yNHMtLjYyMy0uODAzLTEuMTE3LTEuNzg1bTE1NS4wNDktNC40N2MtLjYwMi0zLjA0NS0uMzU2LTUuNTcxLjc1Ny03Ljc2Ny43OTUtMS41NyAyLjcwOC0zLjM1MSAzLjEzNy0yLjkyMS4xODcuMTg3LjMwMiAxLjMzLjMwMiAzIDAgMi42MTctLjAzIDIuNzU2LTEuMDAxIDQuNTczLS41NTEgMS4wMy0xLjQ2MiAyLjMyMi0yLjAyNCAyLjg3MWwtMS4wMjIuOTk4em0tNjguNDMyLTIuODMxYzAtLjQ1MS43NDgtMS4xMTUgMS41MjEtMS4zNS43NjItLjIzMy43NDMuMDY0LS4wNjEuOTc4LS42NzguNzctMS40Ni45NjktMS40Ni4zNzJNMzMuNTkgNTQuNzUyYzEuMDQ2LTEuODc3IDMuNDItNC4wODIgNS40MzMtNS4wNDUgMS40NTctLjY5OSAyLjIzLS44OTIgMy45My0uOTgyIDIuMTUtLjExNSAzLjg2My4xOCA0LjcyOC44MTIuNDQ0LjMyNC4zOTMuNDQyLS43NCAxLjcwMS0xLjQ3IDEuNjM1LTMuNDM4IDIuOTctNS41NzUgMy43NzgtMS4yNDIuNDctMi4zMy42My00Ljk5OC43MzVsLTMuNDEuMTM1em03Ni45NjUuMTk0YzAtLjgwMiAxLjI4Mi0yLjE5IDIuMTctMi4zNS45NjktLjE3NiAxLjUzNC4wNDEgMS41MzQuNTg3IDAgLjM4Mi0uMzA1LjU4My0xLjI0NS44Mi0uNjg1LjE3Mi0xLjUxOC42MDgtMS44NTIuOTY4bC0uNjA3LjY1NXptNTcuMDE4LS42MDVjLS40MzctLjIyNS0uOTY1LS41NzgtMS4xNzMtLjc4My0uMzI3LS4zMjMtLjIyLS40NDYuNzk0LS45MDUgMS4zMTQtLjU5NyAyLjc3NC0uNjU5IDQuMzQ3LS4xODQgMS4zODYuNDE3IDEuMzQ3Ljk1LS4xMjIgMS42OS0xLjM3Ny42OTUtMi43My43Ni0zLjg0Ni4xODJtLTU4LjMwNi0xLjE2Yy4xNzQtLjUuODE1LTEuNDA2IDEuNDI0LTIuMDE1LjkxOC0uOTE4IDEuMzY4LTEuMTUyIDIuNjM3LTEuMzcgMS40Mi0uMjQ2IDIuMDI0LS4yMjQgMy4wNDguMTA3LjguMjYtLjc2NSAxLjE0OC0yLjAyMiAxLjE0OC0xLjU4NCAwLTIuOTE1LjYtNC4yNyAxLjkyOGwtMS4xMzMgMS4xMDl6bTY1LjU3Ny0yLjg3Yy0uNzUtMS40OTctLjkwNi0yLjEyOS0xLjAwMS00LjA0OC0uMDk0LTEuODg2LS4wMi0yLjQ4NS40MzEtMy41MDYuMy0uNjc3LjY1NS0xLjIzMS43OS0xLjIzMS4zMyAwIDEuNDc1IDEuNzc3IDEuODU2IDIuODgzLjQ5NyAxLjQ0Mi4zODMgNC4zMS0uMjM2IDUuOTY1LS4zLjgwMy0uNjM4IDEuNTE3LS43NSAxLjU4Ni0uMTEuMDY5LS42MDItLjY3My0xLjA5LTEuNjQ5bS02NS4zNTkuMjM5Yy42NjItMS4yNSAyLjQ1My0yLjkxOCAzLjYwNC0zLjM1NyAxLjM4NC0uNTMgNC4zMTgtLjQyIDUuNTEyLjIwNmwuNzU3LjM5Ny0uNTc2LjQwM2MtLjQ1LjMxNS0xLjA4NC4zNzQtMi45MDQuMjctMi44NTQtLjE2My0zLjkzOC4xNTUtNS41NCAxLjYyNS0uODc2LjgwMi0xLjEuOTIyLS44NTMuNDU2bS03OS42MDItMS4wMzZjLTEuODk1LTEuODk0LTIuNDc0LTMuMTgzLTIuNjItNS44MjQtLjA2Ni0xLjIxMS0uMDA4LTIuMzE0LjEyOC0yLjQ1LjMzMi0uMzMyIDIuMDE5Ljk0NSAyLjgzMSAyLjE0NS4zNDguNTEzLjgyNSAxLjUgMS4wNiAyLjE5Mi40NyAxLjM4NC41ODEgNC44MTguMTY0IDUuMDc2LS4xNDQuMDg5LS44NDgtLjQyMy0xLjU2My0xLjEzOW03OC42OTgtLjU4Yy41MjgtMS44NDggMi4yMjctMy45MzQgMy45NC00Ljg0MSAxLjY0OC0uODcyIDQuMTEzLS43NCA3LjMzMS4zOTJsMi41NS44OTctLjkzNi42MTRjLS45MTkuNjAyLS45NjcuNjA2LTIuNTUuMi0yLjczMi0uNjk4LTMuMjA5LS43MzktNS4wMTQtLjQyNC0yLjAyNS4zNTItMy44MjYgMS40MTktNC44NCAyLjg2NS0uNTQzLjc3Ny0uNjM1LjgzMy0uNDgxLjI5N201NC45NTctLjAyOGMtLjYxOS0uMzA2LTEuMTI1LS42NjUtMS4xMjUtLjc5NyAwLS4xMzMuMzg3LS40NzcuODYtLjc2NSAxLjQ1NS0uODg3IDQuNDc1LS42NSA2LjI0NC40OWwuNjIxLjQwMS0xLjE1LjYwMmMtMS41NDcuODEtMy44OTQuODQtNS40NS4wN20tMTEzLjUxLTUuMDI5Yy0uNjIxLS4zMDctMS4zNzYtLjg3Mi0xLjY3Ny0xLjI1NWwtLjU0OC0uNjk2Ljg4My0uMzcyYzIuMDctLjg3MiA1LjI5Ni0uMjYxIDYuNjc1IDEuMjYzLjQ5OC41NS40OTQuNTU2LS42NjIgMS4wOC0xLjUyLjY5LTMuMjUzLjY4Mi00LjY3Mi0uMDJtNjkuMTI2LS4yOTNjLTIuOTA1LTEuMTI4LTUuNjQ3LTEuMTc5LTcuODcxLS4xNDctLjgzNy4zODgtMS41MjIuNjY1LTEuNTIyLjYxNSAwLS4yOTIgMi43MzgtMS43NTEgMy45NS0yLjEwNiAxLjc5Ni0uNTI1IDQuNzI2LS41MzUgNi42MzQtLjAyMyAxLjc1OS40NzIgMy41NjQuNDg5IDQuNjEuMDQzLjY5Ni0uMjk4LjU5LS4zMi0xLjA3LS4yMjYtMS44My4xMDMtMS44NTIuMDk2LTMuNjgzLTEuMTYtMS4wMTMtLjY5NC0yLjMxOC0xLjQxMy0yLjktMS41OTZsLTEuMDU4LS4zMzMuOTg4LS4wMThjLjU0NC0uMDEgMi4xMzUuMjggMy41MzUuNjQ0IDIuNi42NzUgNC42MDUuODU2IDQuNjA1LjQxNSAwLS4zNDctMS40NzktMS4zNi0yLjYxNi0xLjc5MS0uOTM1LS4zNTUtLjkxNS0uMzYxLjktLjI2MSAyLjEuMTE1IDMuODYyLjc5IDQuOTU3IDEuODk5LjcyLjcyOS43MjcuNzMuNzI3LjEzIDAtLjkzNC0xLjgxLTIuNDg0LTMuNDctMi45NzMtMS43MzItLjUxLS45LS41OTguOTU3LS4xMDIgMi42OC43MTYgNS4zOSAyLjUxNSA2LjIxIDQuMTI0LjI5NS41NzguNTM3IDEuMTUuNTM3IDEuMjczIDAgLjEyMi0xLjEwMi4zNjEtMi40NDguNTMycy0zLjUxMS42NzEtNC44MTIgMS4xMTJjLTMuMDMgMS4wMjctNC40MSAxLjAxNy03LjE2LS4wNW0tODMuMDYtMi4yNDZjLS4zMzEtNC42NzIuOTUtOC42NTUgMy42MjItMTEuMjU3bDEuMzQzLTEuMzA4LjQxOC43NTRjLjMxLjU2LjQxOSAxLjUwNi40MTkgMy42NjQgMCAyLjgwMy0uMDM2IDIuOTg0LS45NTggNC44OTUtLjg4NyAxLjg0LTMuNjg3IDUuNTI0LTQuMzY1IDUuNzQ1LS4xOTcuMDY0LS4zNTgtLjc3Mi0uNDgtMi40OTNtMTI1Ljg3LS4zM2MtLjQ2NC0uMjgzLTEuMDUtLjgyOS0xLjMwMS0xLjIxMi0uNTU2LS44NDgtLjIyLTEuMTcgMS4yMjEtMS4xNzYgMS42NTItLjAwNyA0LjEwNCAxLjc4IDMuNTg4IDIuNjE1LS4zLjQ4Ni0yLjU3OS4zNC0zLjUwNy0uMjI3bS0xMDQuOTIyLS45MDJjLTEuODMxLS42ODMtNC4xNjYtMi45NjUtMy43NC0zLjY1NS4yMDMtLjMyOCAzLjYwMy0uMjYgNC42MjguMDkzLjQ5NC4xNyAxLjM0MS42IDEuODgyLjk1NSAxLjA1NS42OTIgMi40NzcgMi4zNzQgMi4yMjMgMi42MjgtLjM1Mi4zNTMtNC4wMzMuMzM3LTQuOTkzLS4wMjFtLjk5My01LjI5NmMtLjcyNy0uMTkxLTIuMDM0LS41Ni0yLjkwMi0uODJsLTEuNTgtLjQ3My44OTgtLjc1YzIuNTMtMi4xMTIgNi45Mi0zLjU5NSA5LjYyLTMuMjUgMS44NzYuMjM5IDMuODUgMS4wMDMgNC45MzcgMS45MWwuOTA3Ljc1OC0xLjE0LjgyNWMtMS45NDMgMS40MDktMy44MDUgMS45NzctNi43NzEgMi4wNjgtMS42MDcuMDUtMy4xNjUtLjA1Ni0zLjk2OS0uMjY4Ii8+PC9zdmc+'
}
}
]
}) |
Here is the optimized version: https://www.svgviewer.dev/s/MT5Pixbj |
Closing this, but if you provide a URL for the hosted image I'll update the documentation with an example. |
i am sad with your decision.. i dont want to publish the github repo just to host the image.. you host the image for the wallet connect your arguement that wallets which support wallet connect and will do the simple new class in your lib is vague.. there is not that many algorand wallets out there, and even if there was it would be quite simple solution for all of them to get support by your library the hosting of just the image in specific npm has bad consequences as people will have to install more npms and it will increase the security risk for them.. especially in the wallets business |
@scholtz I think you misunderstood what I was suggesting. Hosting the image would not mean changing anything about your GitHub repository or publishing anything to NPM. Just add the logo SVG image to a directory on the Biatec website. Like the flag images, e.g., https://wallet.biatec.io/flags/3x2/en.svg That's it.
No, I don't. The library inlines wallet logo images using base64 data URIs. I showed you what that would look like w/ Biatec in the second example above. I can show that example in the documentation if you'd prefer, but since the Biatec logo is so large I think a shorter URL would be better. |
Dont read me wrong, but i dont want users to be tracked by the image loading.. its quite dangerous way as there are a way to inject js into the websites through img tag.. this is the most secure way for users: i embeded the image into the library the same way as you embeded it with the wallet connect logo in here: https://github.com/scholtz/use-wallet/blob/4d40ee22879190378ee7efc85fb1ec4c07b11902/packages/use-wallet/src/wallets/walletconnect.ts#L52 why do you complicate it? lets make it for users most easy and most secure pls |
@scholtz After my last comment I've given this some more thought. My initial objection was that since your provider didn't offer any unique functionality, it didn't warrant being added. Users could already use Biatec with the existing WalletConnect provider. All that was lacking was the ability to display the Biatec name/logo. As I said before, I do understand that discoverability is a major contributing factor when it comes to wallet adoption. While my proposed solution to add Biatec support would technically work,
When the library was first created, every wallet had its own unique provider implementation. That was the problem it solved. It informed design decisions like the 1-to-1 association of Having wallets extend that provider vs rolling their own implementation is actually a good thing, that should be encouraged. That's what I wasn't really considering. I was picturing all of these WalletConnect-supported wallets adding unnecessary bloat to the library, when in fact, every wallet that extends the In fact, I'll probably be doing something similar soon since Kibisis and the Defly extension wallet both make use of the AVM Web Provider. A single provider that both wallets extend follows the DRY principle and totally makes sense. Apologies for all of the back-and-forth, and for the long reply to explain my shift in perspective. I'll reopen the pull request and give it a review ASAP. |
The size of the Biatec logo is an issue, at ~20Kb it would be the largest logo in the library (more than 3x bigger than the largest one currently). Since they are inlined these increase the size of the NPM package's bundle. Can you please provide a smaller logo? |
Thanks for reopening this PR. I am ok with the one you suggested (optimized logo).. I have updated it in the repo |
the voi and aramid chain according to https://github.com/scholtz/AlgorandPublicData/blob/main/genesis/genesis-list.json
i faced the same issue as in TxnLab#203 the issue is that the import in vuejs has the default, so fixed it the same way as it is done in defly f.e.
@scholtz There's a typo in your Biatec provider causing the build to fail. Please update your branch and be sure to locally run the |
Kibisis to main
Update network.ts
Support for Biatec Wallet (known before as AWallet) in use-wallet lib