@depay/web3-wallets-evm 16.4.0 → 16.5.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.
- package/dist/esm/index.evm.js +67 -44
- package/dist/esm/index.js +110 -65
- package/dist/esm/index.solana.js +48 -25
- package/dist/umd/index.evm.js +67 -44
- package/dist/umd/index.js +110 -65
- package/dist/umd/index.solana.js +48 -25
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { WalletConnectClient } from '@depay/walletconnect-v1';
|
|
|
6
6
|
import { SignClient } from '@depay/walletconnect-v2';
|
|
7
7
|
import { CoinbaseWalletSDK } from '@depay/coinbase-wallet-sdk';
|
|
8
8
|
|
|
9
|
-
function _optionalChain$
|
|
9
|
+
function _optionalChain$z(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
10
10
|
class Transaction {
|
|
11
11
|
|
|
12
12
|
constructor({
|
|
@@ -31,7 +31,7 @@ class Transaction {
|
|
|
31
31
|
this.to = (to && to.match('0x')) ? ethers.utils.getAddress(to) : to;
|
|
32
32
|
|
|
33
33
|
// optional
|
|
34
|
-
this.value = _optionalChain$
|
|
34
|
+
this.value = _optionalChain$z([Transaction, 'access', _ => _.bigNumberify, 'call', _2 => _2(value, blockchain), 'optionalAccess', _3 => _3.toString, 'call', _4 => _4()]);
|
|
35
35
|
this.api = api;
|
|
36
36
|
this.method = method;
|
|
37
37
|
this.params = params;
|
|
@@ -71,7 +71,7 @@ class Transaction {
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
getParamType(param) {
|
|
74
|
-
if(_optionalChain$
|
|
74
|
+
if(_optionalChain$z([param, 'optionalAccess', _5 => _5.components, 'optionalAccess', _6 => _6.length])) {
|
|
75
75
|
return `(${param.components.map((param)=>this.getParamType(param)).join(',')})`
|
|
76
76
|
} else {
|
|
77
77
|
return param.type
|
|
@@ -144,7 +144,7 @@ class Transaction {
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
function _optionalChain$
|
|
147
|
+
function _optionalChain$y(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
148
148
|
|
|
149
149
|
const POLL_SPEED = 500; // 0.5 seconds
|
|
150
150
|
const MAX_POLLS = 240; // 120 seconds
|
|
@@ -165,14 +165,14 @@ const sendTransaction$4 = async ({ transaction, wallet })=> {
|
|
|
165
165
|
|
|
166
166
|
const provider = await getProvider(transaction.blockchain);
|
|
167
167
|
const { value } = await provider.getSignatureStatus(signature);
|
|
168
|
-
const confirmationStatus = _optionalChain$
|
|
168
|
+
const confirmationStatus = _optionalChain$y([value, 'optionalAccess', _ => _.confirmationStatus]);
|
|
169
169
|
if(confirmationStatus) {
|
|
170
170
|
const hasReachedSufficientCommitment = confirmationStatus === 'confirmed' || confirmationStatus === 'finalized';
|
|
171
171
|
if (hasReachedSufficientCommitment) {
|
|
172
172
|
if(value.err) {
|
|
173
173
|
transaction._failed = true;
|
|
174
174
|
const confirmedTransaction = await provider.getConfirmedTransaction(signature);
|
|
175
|
-
const failedReason = _optionalChain$
|
|
175
|
+
const failedReason = _optionalChain$y([confirmedTransaction, 'optionalAccess', _2 => _2.meta, 'optionalAccess', _3 => _3.logMessages]) ? confirmedTransaction.meta.logMessages[confirmedTransaction.meta.logMessages.length - 1] : null;
|
|
176
176
|
if(transaction.failed) transaction.failed(transaction, failedReason);
|
|
177
177
|
} else {
|
|
178
178
|
transaction._succeeded = true;
|
|
@@ -263,7 +263,7 @@ let supported$1 = ['ethereum', 'bsc', 'polygon', 'solana', 'fantom', 'arbitrum',
|
|
|
263
263
|
supported$1.evm = ['ethereum', 'bsc', 'polygon', 'fantom', 'arbitrum', 'avalanche', 'gnosis', 'optimism', 'base'];
|
|
264
264
|
supported$1.solana = ['solana'];
|
|
265
265
|
|
|
266
|
-
function _optionalChain$
|
|
266
|
+
function _optionalChain$x(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
267
267
|
class WindowSolana {
|
|
268
268
|
|
|
269
269
|
static __initStatic() {this.info = {
|
|
@@ -274,19 +274,21 @@ class WindowSolana {
|
|
|
274
274
|
|
|
275
275
|
static __initStatic2() {this.isAvailable = async()=>{
|
|
276
276
|
return (
|
|
277
|
-
_optionalChain$
|
|
277
|
+
_optionalChain$x([window, 'optionalAccess', _6 => _6.solana]) &&
|
|
278
278
|
// not Phantom
|
|
279
279
|
!(window.phantom && !window.glow && !window.solana.isGlow && !['isBitKeep'].some((identifier)=>window.solana && window.solana[identifier])) &&
|
|
280
280
|
// not Coin98
|
|
281
281
|
!window.coin98 &&
|
|
282
282
|
// not BitKeep
|
|
283
|
-
!(_optionalChain$
|
|
283
|
+
!(_optionalChain$x([window, 'optionalAccess', _7 => _7.solana]) && _optionalChain$x([window, 'optionalAccess', _8 => _8.solana, 'access', _9 => _9.isBitKeep])) &&
|
|
284
284
|
// not Glow
|
|
285
285
|
!window.solana.isGlow &&
|
|
286
286
|
// not trust
|
|
287
287
|
!window.trustwallet &&
|
|
288
288
|
// Brave Wallet
|
|
289
|
-
!window.solana.isBraveWallet
|
|
289
|
+
!window.solana.isBraveWallet &&
|
|
290
|
+
// OKX Wallet
|
|
291
|
+
!_optionalChain$x([window, 'optionalAccess', _10 => _10.okxwallet])
|
|
290
292
|
)
|
|
291
293
|
};}
|
|
292
294
|
|
|
@@ -333,7 +335,7 @@ class WindowSolana {
|
|
|
333
335
|
let internalCallback;
|
|
334
336
|
switch (event) {
|
|
335
337
|
case 'account':
|
|
336
|
-
internalCallback = (publicKey) => callback(_optionalChain$
|
|
338
|
+
internalCallback = (publicKey) => callback(_optionalChain$x([publicKey, 'optionalAccess', _11 => _11.toString, 'call', _12 => _12()]));
|
|
337
339
|
this.getProvider().on('accountChanged', internalCallback);
|
|
338
340
|
break
|
|
339
341
|
}
|
|
@@ -386,7 +388,7 @@ class WindowSolana {
|
|
|
386
388
|
}
|
|
387
389
|
} WindowSolana.__initStatic(); WindowSolana.__initStatic2();
|
|
388
390
|
|
|
389
|
-
function _optionalChain$
|
|
391
|
+
function _optionalChain$w(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
390
392
|
|
|
391
393
|
class Backpack extends WindowSolana {
|
|
392
394
|
|
|
@@ -398,7 +400,7 @@ class Backpack extends WindowSolana {
|
|
|
398
400
|
|
|
399
401
|
static __initStatic2() {this.isAvailable = async()=>{
|
|
400
402
|
return (
|
|
401
|
-
_optionalChain$
|
|
403
|
+
_optionalChain$w([window, 'optionalAccess', _2 => _2.backpack]) &&
|
|
402
404
|
window.backpack.isBackpack
|
|
403
405
|
)
|
|
404
406
|
};}
|
|
@@ -416,7 +418,7 @@ class Backpack extends WindowSolana {
|
|
|
416
418
|
}
|
|
417
419
|
} Backpack.__initStatic(); Backpack.__initStatic2();
|
|
418
420
|
|
|
419
|
-
function _optionalChain$
|
|
421
|
+
function _optionalChain$v(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
420
422
|
|
|
421
423
|
const sendTransaction$3 = async ({ transaction, wallet })=> {
|
|
422
424
|
transaction = new Transaction(transaction);
|
|
@@ -471,7 +473,7 @@ const retrieveConfirmedTransaction$3 = (sentTransaction)=>{
|
|
|
471
473
|
|
|
472
474
|
sentTransaction.wait(1).then(resolve).catch((error)=>{
|
|
473
475
|
if(
|
|
474
|
-
(error && _optionalChain$
|
|
476
|
+
(error && _optionalChain$v([error, 'optionalAccess', _ => _.stack, 'optionalAccess', _2 => _2.match, 'call', _3 => _3('JSON-RPC error')])) ||
|
|
475
477
|
(error && error.toString().match('undefined'))
|
|
476
478
|
) {
|
|
477
479
|
setTimeout(()=>{
|
|
@@ -485,7 +487,7 @@ const retrieveConfirmedTransaction$3 = (sentTransaction)=>{
|
|
|
485
487
|
});
|
|
486
488
|
} catch(error) {
|
|
487
489
|
if(
|
|
488
|
-
(error && _optionalChain$
|
|
490
|
+
(error && _optionalChain$v([error, 'optionalAccess', _4 => _4.stack, 'optionalAccess', _5 => _5.match, 'call', _6 => _6('JSON-RPC error')])) ||
|
|
489
491
|
(error && error.toString().match('undefined'))
|
|
490
492
|
) {
|
|
491
493
|
setTimeout(()=>{
|
|
@@ -520,12 +522,12 @@ const submitContractInteraction$3 = async ({ transaction, signer, provider })=>{
|
|
|
520
522
|
if(contractArguments) {
|
|
521
523
|
return await method(...contractArguments, {
|
|
522
524
|
value: Transaction.bigNumberify(transaction.value, transaction.blockchain),
|
|
523
|
-
gasLimit: _optionalChain$
|
|
525
|
+
gasLimit: _optionalChain$v([gas, 'optionalAccess', _7 => _7.toHexString, 'call', _8 => _8()])
|
|
524
526
|
})
|
|
525
527
|
} else {
|
|
526
528
|
return await method({
|
|
527
529
|
value: Transaction.bigNumberify(transaction.value, transaction.blockchain),
|
|
528
|
-
gasLimit: _optionalChain$
|
|
530
|
+
gasLimit: _optionalChain$v([gas, 'optionalAccess', _9 => _9.toHexString, 'call', _10 => _10()])
|
|
529
531
|
})
|
|
530
532
|
}
|
|
531
533
|
};
|
|
@@ -537,7 +539,7 @@ const submitSimpleTransfer$3 = ({ transaction, signer })=>{
|
|
|
537
539
|
})
|
|
538
540
|
};
|
|
539
541
|
|
|
540
|
-
function _optionalChain$
|
|
542
|
+
function _optionalChain$u(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
541
543
|
|
|
542
544
|
class WindowEthereum {
|
|
543
545
|
|
|
@@ -549,33 +551,35 @@ class WindowEthereum {
|
|
|
549
551
|
|
|
550
552
|
static __initStatic2() {this.isAvailable = async()=>{
|
|
551
553
|
return (
|
|
552
|
-
_optionalChain$
|
|
554
|
+
_optionalChain$u([window, 'optionalAccess', _34 => _34.ethereum]) &&
|
|
553
555
|
// not MetaMask
|
|
554
|
-
!(_optionalChain$
|
|
556
|
+
!(_optionalChain$u([window, 'optionalAccess', _35 => _35.ethereum, 'optionalAccess', _36 => _36.isMetaMask]) && Object.keys(window.ethereum).filter((key)=>key.match(/^is(?!Connected)(?!PocketUniverse)(?!RevokeCash)/)).length == 1) &&
|
|
555
557
|
// not Coin98
|
|
556
|
-
!_optionalChain$
|
|
558
|
+
!_optionalChain$u([window, 'optionalAccess', _37 => _37.coin98]) &&
|
|
557
559
|
// not Trust Wallet
|
|
558
|
-
!(_optionalChain$
|
|
560
|
+
!(_optionalChain$u([window, 'optionalAccess', _38 => _38.ethereum, 'optionalAccess', _39 => _39.isTrust]) || _optionalChain$u([window, 'optionalAccess', _40 => _40.ethereum, 'optionalAccess', _41 => _41.isTrustWallet])) &&
|
|
559
561
|
// not crypto.com
|
|
560
|
-
!_optionalChain$
|
|
562
|
+
!_optionalChain$u([window, 'optionalAccess', _42 => _42.ethereum, 'optionalAccess', _43 => _43.isDeficonnectProvider]) &&
|
|
561
563
|
// not HyperPay
|
|
562
|
-
!_optionalChain$
|
|
564
|
+
!_optionalChain$u([window, 'optionalAccess', _44 => _44.ethereum, 'optionalAccess', _45 => _45.isHyperPay]) &&
|
|
563
565
|
// not Phantom
|
|
564
|
-
!(window.phantom && !window.glow && !_optionalChain$
|
|
566
|
+
!(window.phantom && !window.glow && !_optionalChain$u([window, 'optionalAccess', _46 => _46.solana, 'optionalAccess', _47 => _47.isGlow]) && !['isBitKeep'].some((identifier)=>window.solana && window.solana[identifier])) &&
|
|
565
567
|
// not Rabby
|
|
566
|
-
!_optionalChain$
|
|
568
|
+
!_optionalChain$u([window, 'optionalAccess', _48 => _48.ethereum, 'optionalAccess', _49 => _49.isRabby]) &&
|
|
567
569
|
// not Backpack
|
|
568
|
-
!_optionalChain$
|
|
570
|
+
!_optionalChain$u([window, 'optionalAccess', _50 => _50.backpack, 'optionalAccess', _51 => _51.isBackpack]) &&
|
|
569
571
|
// not TokenPocket
|
|
570
|
-
!_optionalChain$
|
|
572
|
+
!_optionalChain$u([window, 'optionalAccess', _52 => _52.ethereum, 'optionalAccess', _53 => _53.isTokenPocket]) &&
|
|
571
573
|
// not BitKeep
|
|
572
|
-
!_optionalChain$
|
|
574
|
+
!_optionalChain$u([window, 'optionalAccess', _54 => _54.ethereum, 'optionalAccess', _55 => _55.isBitKeep]) &&
|
|
573
575
|
// not Coinbase
|
|
574
|
-
!(_optionalChain$
|
|
576
|
+
!(_optionalChain$u([window, 'optionalAccess', _56 => _56.ethereum, 'optionalAccess', _57 => _57.isCoinbaseWallet]) || _optionalChain$u([window, 'optionalAccess', _58 => _58.ethereum, 'optionalAccess', _59 => _59.isWalletLink])) &&
|
|
575
577
|
// MetaMask through ProviderMap
|
|
576
|
-
!_optionalChain$
|
|
578
|
+
!_optionalChain$u([window, 'optionalAccess', _60 => _60.ethereum, 'optionalAccess', _61 => _61.providerMap, 'optionalAccess', _62 => _62.has, 'call', _63 => _63('MetaMask')]) &&
|
|
577
579
|
// Brave Wallet
|
|
578
|
-
!_optionalChain$
|
|
580
|
+
!_optionalChain$u([window, 'optionalAccess', _64 => _64.ethereum, 'optionalAccess', _65 => _65.isBraveWallet]) &&
|
|
581
|
+
// OKX Wallet
|
|
582
|
+
!_optionalChain$u([window, 'optionalAccess', _66 => _66.okxwallet])
|
|
579
583
|
)
|
|
580
584
|
};}
|
|
581
585
|
|
|
@@ -701,7 +705,7 @@ class WindowEthereum {
|
|
|
701
705
|
}
|
|
702
706
|
} WindowEthereum.__initStatic(); WindowEthereum.__initStatic2();
|
|
703
707
|
|
|
704
|
-
function _optionalChain$
|
|
708
|
+
function _optionalChain$t(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
705
709
|
class Binance extends WindowEthereum {
|
|
706
710
|
|
|
707
711
|
static __initStatic() {this.info = {
|
|
@@ -711,7 +715,7 @@ class Binance extends WindowEthereum {
|
|
|
711
715
|
};}
|
|
712
716
|
|
|
713
717
|
static __initStatic2() {this.isAvailable = async()=>{
|
|
714
|
-
return _optionalChain$
|
|
718
|
+
return _optionalChain$t([window, 'optionalAccess', _2 => _2.BinanceChain]) &&
|
|
715
719
|
!window.coin98 &&
|
|
716
720
|
!window.trustwallet
|
|
717
721
|
};}
|
|
@@ -727,10 +731,11 @@ var logos = {
|
|
|
727
731
|
coinbase: "data:image/svg+xml;base64,PHN2ZyBpZD0nTGF5ZXJfMScgZGF0YS1uYW1lPSdMYXllciAxJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2aWV3Qm94PScwIDAgNDg4Ljk2IDQ4OC45Nic+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOnVybCgjbGluZWFyLWdyYWRpZW50KTt9LmNscy0ye2ZpbGw6IzQzNjFhZDt9PC9zdHlsZT48bGluZWFyR3JhZGllbnQgaWQ9J2xpbmVhci1ncmFkaWVudCcgeDE9JzI1MCcgeTE9JzcuMzUnIHgyPScyNTAnIHkyPSc0OTYuMzInIGdyYWRpZW50VHJhbnNmb3JtPSdtYXRyaXgoMSwgMCwgMCwgLTEsIDAsIDUwMiknIGdyYWRpZW50VW5pdHM9J3VzZXJTcGFjZU9uVXNlJz48c3RvcCBvZmZzZXQ9JzAnIHN0b3AtY29sb3I9JyMzZDViYTknLz48c3RvcCBvZmZzZXQ9JzEnIHN0b3AtY29sb3I9JyM0ODY4YjEnLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBjbGFzcz0nY2xzLTEnIGQ9J00yNTAsNS42OEMxMTQuODcsNS42OCw1LjUyLDExNSw1LjUyLDI1MC4xN1MxMTQuODcsNDk0LjY1LDI1MCw0OTQuNjUsNDk0LjQ4LDM4NS4yOSw0OTQuNDgsMjUwLjE3LDM4NS4xMyw1LjY4LDI1MCw1LjY4Wm0wLDM4Ny41NEExNDMuMDYsMTQzLjA2LDAsMSwxLDM5My4wNSwyNTAuMTcsMTQzLjExLDE0My4xMSwwLDAsMSwyNTAsMzkzLjIyWicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTUuNTIgLTUuNjgpJy8+PHBhdGggY2xhc3M9J2Nscy0yJyBkPSdNMjg0LjY5LDI5Ni4wOUgyMTUuMzFhMTEsMTEsMCwwLDEtMTAuOS0xMC45VjIxNS40OGExMSwxMSwwLDAsMSwxMC45LTEwLjkxSDI4NWExMSwxMSwwLDAsMSwxMC45LDEwLjkxdjY5LjcxQTExLjA3LDExLjA3LDAsMCwxLDI4NC42OSwyOTYuMDlaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtNS41MiAtNS42OCknLz48L3N2Zz4=",
|
|
728
732
|
trust: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI4LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAzOTkuOCA0MTUuMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzk5LjggNDE1LjE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMDUwMEZGO30KCS5zdDF7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cjwvc3R5bGU+CjxnPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTU1LjUsOTJsMTQ0LjQtNDd2MzI1Qzk2LjcsMzI2LjcsNTUuNSwyNDMuNiw1NS41LDE5Ni43TDU1LjUsOTJMNTUuNSw5MnoiLz4KCQoJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMzA1Ljk5NTMiIHkxPSIxODQ2LjAwMDIiIHgyPSIxOTYuODc1MiIgeTI9IjIxODkuMzQwMyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDAgLTE4MjMuNzM5NykiPgoJCTxzdG9wICBvZmZzZXQ9IjIuMDAwMDAwZS0wMiIgc3R5bGU9InN0b3AtY29sb3I6IzAwMDBGRiIvPgoJCTxzdG9wICBvZmZzZXQ9IjguMDAwMDAwZS0wMiIgc3R5bGU9InN0b3AtY29sb3I6IzAwOTRGRiIvPgoJCTxzdG9wICBvZmZzZXQ9IjAuMTYiIHN0eWxlPSJzdG9wLWNvbG9yOiM0OEZGOTEiLz4KCQk8c3RvcCAgb2Zmc2V0PSIwLjQyIiBzdHlsZT0ic3RvcC1jb2xvcjojMDA5NEZGIi8+CgkJPHN0b3AgIG9mZnNldD0iMC42OCIgc3R5bGU9InN0b3AtY29sb3I6IzAwMzhGRiIvPgoJCTxzdG9wICBvZmZzZXQ9IjAuOSIgc3R5bGU9InN0b3AtY29sb3I6IzA1MDBGRiIvPgoJPC9saW5lYXJHcmFkaWVudD4KCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zNDQuNCw5MkwxOTkuOSw0NXYzMjVjMTAzLjItNDMuMywxNDQuNS0xMjYuNCwxNDQuNS0xNzMuM1Y5MkwzNDQuNCw5MnoiLz4KPC9nPgo8L3N2Zz4K",
|
|
729
733
|
brave: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNTYgMzAxIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAyNTYgMzAxIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgoKCTxwYXRoIGZpbGw9IiNGMTVBMjIiIGQ9Im0yMzYgMTA1LjQtNy44LTIxLjIgNS40LTEyLjJjMC43LTEuNiAwLjMtMy40LTAuOC00LjZsLTE0LjgtMTQuOWMtNi41LTYuNS0xNi4xLTguOC0yNC44LTUuN2wtNC4xIDEuNC0yMi42LTI0LjUtMzguMi0wLjNoLTAuM2wtMzguNSAwLjMtMjIuNiAyNC43LTQtMS40Yy04LjgtMy4xLTE4LjUtMC44LTI1IDUuOGwtMTUgMTUuMmMtMSAxLTEuMyAyLjQtMC44IDMuN2w1LjcgMTIuNy03LjggMjEuMiA1LjEgMTkuMiAyMyA4Ny4yYzIuNiAxMCA4LjcgMTguOCAxNy4yIDI0LjkgMCAwIDI3LjggMTkuNyA1NS4zIDM3LjUgMi40IDEuNiA1IDIuNyA3LjcgMi43czUuMi0xLjEgNy43LTIuN2MzMC45LTIwLjIgNTUuMy0zNy41IDU1LjMtMzcuNSA4LjQtNi4xIDE0LjUtMTQuOCAxNy4xLTI0LjlsMjIuOC04Ny4yIDQuOC0xOS40eiIvPgoJPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0ibTEzMy4xIDE3OS40Yy0xLTAuNC0yLjEtMC44LTIuNC0wLjhoLTIuN2MtMC4zIDAtMS40IDAuMy0yLjQgMC44bC0xMSA0LjZjLTEgMC40LTIuNyAxLjItMy43IDEuN2wtMTYuNSA4LjZjLTEgMC41LTEuMSAxLjQtMC4yIDIuMWwxNC42IDEwLjNjMC45IDAuNyAyLjQgMS44IDMuMiAyLjVsNi41IDUuNmMwLjggMC44IDIuMiAxLjkgMyAyLjdsNi4yIDUuNmMwLjggMC44IDIuMiAwLjggMyAwbDYuNC01LjZjMC44LTAuOCAyLjItMS45IDMtMi43bDYuNS01LjdjMC44LTAuOCAyLjMtMS45IDMuMi0yLjVsMTQuNi0xMC40YzAuOS0wLjcgMC44LTEuNi0wLjItMi4xbC0xNi41LTguNGMtMS0wLjUtMi43LTEuMy0zLjctMS43bC0xMC45LTQuNnoiLz4KCTxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Im0yMTIuMiAxMDkuMmMwLjMtMS4xIDAuMy0xLjUgMC4zLTEuNSAwLTEuMS0wLjEtMy0wLjMtNGwtMC44LTIuNGMtMC41LTEtMS40LTIuNi0yLTMuNWwtOS41LTE0LjFjLTAuNi0wLjktMS43LTIuNC0yLjQtMy4zbC0xMi4zLTE1LjRjLTAuNy0wLjgtMS40LTEuNi0xLjQtMS41aC0wLjJzLTAuOSAwLjItMiAwLjNsLTE4LjggMy43Yy0xLjEgMC4zLTIuOSAwLjYtNCAwLjhsLTAuMyAwLjFjLTEuMSAwLjItMi45IDAuMS00LTAuM2wtMTUuOC01LjFjLTEuMS0wLjMtMi45LTAuOC0zLjktMS4xIDAgMC0zLjItMC44LTUuOC0wLjctMi42IDAtNS44IDAuNy01LjggMC43LTEuMSAwLjMtMi45IDAuOC0zLjkgMS4xbC0xNS44IDUuMWMtMS4xIDAuMy0yLjkgMC40LTQgMC4zbC0wLjMtMC4xYy0xLjEtMC4yLTIuOS0wLjYtNC0wLjhsLTE5LTMuNWMtMS4xLTAuMy0yLTAuMy0yLTAuM2gtMC4yYy0wLjEgMC0wLjggMC43LTEuNCAxLjVsLTEyLjMgMTUuMmMtMC43IDAuOC0xLjggMi40LTIuNCAzLjNsLTkuNSAxNC4xYy0wLjYgMC45LTEuNSAyLjUtMiAzLjVsLTAuOCAyLjRjLTAuMiAxLjEtMC4zIDMtMC4zIDQuMSAwIDAgMCAwLjMgMC4zIDEuNSAwLjYgMiAyIDMuOSAyIDMuOSAwLjcgMC44IDEuOSAyLjMgMi43IDNsMjcuOSAyOS43YzAuOCAwLjggMSAyLjQgMC42IDMuNGwtNS44IDEzLjhjLTAuNCAxLTAuNSAyLjctMC4xIDMuOGwxLjYgNC4zYzEuMyAzLjYgMy42IDYuOCA2LjcgOS4zbDUuNyA0LjZjMC44IDAuNyAyLjQgMC45IDMuNCAwLjRsMTcuOS04LjVjMS0wLjUgMi41LTEuNSAzLjQtMi4zbDEyLjgtMTEuNmMxLjktMS43IDEuOS00LjYgMC4zLTYuNGwtMjYuOS0xOC4xYy0wLjktMC42LTEuMy0xLjktMC44LTNsMTEuOC0yMi4zYzAuNS0xIDAuNi0yLjYgMC4yLTMuNmwtMS40LTMuM2MtMC40LTEtMS43LTIuMi0yLjctMi42bC0zNC45LTEzYy0xLTAuNC0xLTAuOCAwLjEtMC45bDIyLjQtMi4xYzEuMS0wLjEgMi45IDAuMSA0IDAuM2wxOS45IDUuNmMxLjEgMC4zIDEuOCAxLjQgMS42IDIuNWwtNyAzNy44Yy0wLjIgMS4xLTAuMiAyLjYgMC4xIDMuNXMxLjMgMS42IDIuNCAxLjlsMTMuOCAzYzEuMSAwLjMgMi45IDAuMyA0IDBsMTIuOS0zYzEuMS0wLjMgMi4yLTEuMSAyLjQtMS45IDAuMy0wLjggMC4zLTIuNCAwLjEtMy41bC02LjgtMzcuOWMtMC4yLTEuMSAwLjUtMi4zIDEuNi0yLjVsMTkuOS01LjZjMS4xLTAuMyAyLjktMC40IDQtMC4zbDIyLjQgMi4xYzEuMSAwLjEgMS4yIDAuNSAwLjEgMC45bC0zNC43IDEzLjJjLTEgMC40LTIuMyAxLjUtMi43IDIuNmwtMS40IDMuM2MtMC40IDEtMC40IDIuNyAwLjIgMy42bDExLjkgMjIuM2MwLjUgMSAwLjIgMi4zLTAuOCAzbC0yNi45IDE4LjJjLTEuOCAxLjgtMS42IDQuNyAwLjMgNi40bDEyLjggMTEuNmMwLjggMC44IDIuNCAxLjggMy40IDIuMmwxOCA4LjVjMSAwLjUgMi41IDAuMyAzLjQtMC40bDUuNy00LjZjMy0yLjQgNS4zLTUuNyA2LjYtOS4zbDEuNi00LjNjMC40LTEgMC4zLTIuOC0wLjEtMy44bC01LjgtMTMuOGMtMC40LTEtMC4yLTIuNSAwLjYtMy40bDI3LjktMjkuN2MwLjgtMC44IDEuOS0yLjIgMi43LTMtMC40LTAuMyAxLjEtMi4xIDEuNi00LjF6Ii8+Cgo8L3N2Zz4K",
|
|
730
|
-
magicEden: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjAwIDIwMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAwIDIwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cmVjdCB4PSIwIiBmaWxsPSIjRTQyNTc1IiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIvPgo8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMTMxLjgsNzcuNWw4LjksMTAuNWMxLDEuMiwxLjksMi4xLDIuMywyLjdjMi43LDIuNyw0LjIsNi4yLDQuMiwxMGMtMC4zLDQuNC0zLjEsNy40LTUuOCwxMC42bC02LjMsNy4zCglsLTMuMywzLjhjLTAuMSwwLjEtMC4yLDAuMy0wLjIsMC41YzAsMC4yLDAsMC4zLDAuMSwwLjVjMC4xLDAuMiwwLjIsMC4zLDAuMywwLjRjMC4yLDAuMSwwLjMsMC4xLDAuNSwwLjFoMzIuNgoJYzUsMCwxMS4zLDQuMiwxMC45LDEwLjVjMCwyLjktMS4yLDUuNy0zLjMsNy43Yy0yLjEsMi00LjksMy4yLTcuOCwzLjJIMTE0Yy0zLjQsMC0xMi40LDAuNC0xNC45LTcuM2MtMC41LTEuNi0wLjYtMy4zLTAuMi01CgljMC43LTIuNCwxLjktNC43LDMuNC02LjhjMi42LTMuOCw1LjMtNy42LDguMS0xMS4zYzMuNS00LjgsNy4yLTkuNSwxMC43LTE0LjRjMC4xLTAuMiwwLjItMC40LDAuMi0wLjZjMC0wLjItMC4xLTAuNC0wLjItMC42CglsLTEzLTE1LjJjLTAuMS0wLjEtMC4yLTAuMi0wLjMtMC4zYy0wLjEtMC4xLTAuMy0wLjEtMC40LTAuMWMtMC4xLDAtMC4zLDAtMC40LDAuMWMtMC4xLDAuMS0wLjIsMC4yLTAuMywwLjMKCWMtMy41LDQuNi0xOC43LDI1LjEtMjEuOSwyOS4yYy0zLjIsNC4xLTExLjIsNC40LTE1LjcsMEw0OC44LDkzLjRjLTAuMS0wLjEtMC4zLTAuMi0wLjUtMC4zYy0wLjIsMC0wLjQsMC0wLjUsMC4xCgljLTAuMiwwLjEtMC4zLDAuMi0wLjQsMC4zYy0wLjEsMC4yLTAuMiwwLjMtMC4yLDAuNXYzOC42YzAsMi43LTAuOCw1LjQtMi40LDcuN2MtMS42LDIuMy0zLjgsNC02LjQsNC45Yy0xLjcsMC42LTMuNSwwLjctNS4yLDAuNQoJYy0xLjgtMC4yLTMuNC0wLjktNC45LTEuOWMtMS40LTEtMi42LTIuMy0zLjQtMy45Yy0wLjgtMS41LTEuMi0zLjMtMS4yLTVWNjUuNWMwLjEtMi41LDEtNC45LDIuNi02LjljMS42LTIsMy43LTMuNCw2LjItNC4xCgljMi4xLTAuNiw0LjMtMC41LDYuNCwwYzIuMSwwLjYsNCwxLjcsNS41LDMuMmwzMS4yLDMwLjhjMC4xLDAuMSwwLjIsMC4yLDAuMywwLjJjMC4xLDAsMC4zLDAuMSwwLjQsMC4xYzAuMSwwLDAuMy0wLjEsMC40LTAuMQoJYzAuMS0wLjEsMC4yLTAuMiwwLjMtMC4zbDIyLjItMzAuMmMxLTEuMiwyLjMtMi4yLDMuOC0yLjljMS41LTAuNywzLTEuMSw0LjctMS4xaDU3LjZjMS42LDAsMy4xLDAuMyw0LjYsMXMyLjcsMS42LDMuOCwyLjgKCWMxLDEuMiwxLjgsMi41LDIuMyw0YzAuNSwxLjUsMC42LDMuMSwwLjQsNC42Yy0wLjQsMi43LTEuOCw1LjEtMy45LDYuOXMtNC44LDIuNy03LjUsMi43aC0zMi4zYy0wLjIsMC0wLjMsMC4xLTAuNSwwLjEKCWMtMC4xLDAuMS0wLjIsMC4yLTAuMywwLjNjLTAuMSwwLjEtMC4xLDAuMy0wLjEsMC41UzEzMS43LDc3LjQsMTMxLjgsNzcuNXoiLz4KPC9zdmc+Cg=="
|
|
734
|
+
magicEden: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjAwIDIwMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAwIDIwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cmVjdCB4PSIwIiBmaWxsPSIjRTQyNTc1IiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIvPgo8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMTMxLjgsNzcuNWw4LjksMTAuNWMxLDEuMiwxLjksMi4xLDIuMywyLjdjMi43LDIuNyw0LjIsNi4yLDQuMiwxMGMtMC4zLDQuNC0zLjEsNy40LTUuOCwxMC42bC02LjMsNy4zCglsLTMuMywzLjhjLTAuMSwwLjEtMC4yLDAuMy0wLjIsMC41YzAsMC4yLDAsMC4zLDAuMSwwLjVjMC4xLDAuMiwwLjIsMC4zLDAuMywwLjRjMC4yLDAuMSwwLjMsMC4xLDAuNSwwLjFoMzIuNgoJYzUsMCwxMS4zLDQuMiwxMC45LDEwLjVjMCwyLjktMS4yLDUuNy0zLjMsNy43Yy0yLjEsMi00LjksMy4yLTcuOCwzLjJIMTE0Yy0zLjQsMC0xMi40LDAuNC0xNC45LTcuM2MtMC41LTEuNi0wLjYtMy4zLTAuMi01CgljMC43LTIuNCwxLjktNC43LDMuNC02LjhjMi42LTMuOCw1LjMtNy42LDguMS0xMS4zYzMuNS00LjgsNy4yLTkuNSwxMC43LTE0LjRjMC4xLTAuMiwwLjItMC40LDAuMi0wLjZjMC0wLjItMC4xLTAuNC0wLjItMC42CglsLTEzLTE1LjJjLTAuMS0wLjEtMC4yLTAuMi0wLjMtMC4zYy0wLjEtMC4xLTAuMy0wLjEtMC40LTAuMWMtMC4xLDAtMC4zLDAtMC40LDAuMWMtMC4xLDAuMS0wLjIsMC4yLTAuMywwLjMKCWMtMy41LDQuNi0xOC43LDI1LjEtMjEuOSwyOS4yYy0zLjIsNC4xLTExLjIsNC40LTE1LjcsMEw0OC44LDkzLjRjLTAuMS0wLjEtMC4zLTAuMi0wLjUtMC4zYy0wLjIsMC0wLjQsMC0wLjUsMC4xCgljLTAuMiwwLjEtMC4zLDAuMi0wLjQsMC4zYy0wLjEsMC4yLTAuMiwwLjMtMC4yLDAuNXYzOC42YzAsMi43LTAuOCw1LjQtMi40LDcuN2MtMS42LDIuMy0zLjgsNC02LjQsNC45Yy0xLjcsMC42LTMuNSwwLjctNS4yLDAuNQoJYy0xLjgtMC4yLTMuNC0wLjktNC45LTEuOWMtMS40LTEtMi42LTIuMy0zLjQtMy45Yy0wLjgtMS41LTEuMi0zLjMtMS4yLTVWNjUuNWMwLjEtMi41LDEtNC45LDIuNi02LjljMS42LTIsMy43LTMuNCw2LjItNC4xCgljMi4xLTAuNiw0LjMtMC41LDYuNCwwYzIuMSwwLjYsNCwxLjcsNS41LDMuMmwzMS4yLDMwLjhjMC4xLDAuMSwwLjIsMC4yLDAuMywwLjJjMC4xLDAsMC4zLDAuMSwwLjQsMC4xYzAuMSwwLDAuMy0wLjEsMC40LTAuMQoJYzAuMS0wLjEsMC4yLTAuMiwwLjMtMC4zbDIyLjItMzAuMmMxLTEuMiwyLjMtMi4yLDMuOC0yLjljMS41LTAuNywzLTEuMSw0LjctMS4xaDU3LjZjMS42LDAsMy4xLDAuMyw0LjYsMXMyLjcsMS42LDMuOCwyLjgKCWMxLDEuMiwxLjgsMi41LDIuMyw0YzAuNSwxLjUsMC42LDMuMSwwLjQsNC42Yy0wLjQsMi43LTEuOCw1LjEtMy45LDYuOXMtNC44LDIuNy03LjUsMi43aC0zMi4zYy0wLjIsMC0wLjMsMC4xLTAuNSwwLjEKCWMtMC4xLDAuMS0wLjIsMC4yLTAuMywwLjNjLTAuMSwwLjEtMC4xLDAuMy0wLjEsMC41UzEzMS43LDc3LjQsMTMxLjgsNzcuNXoiLz4KPC9zdmc+Cg==",
|
|
735
|
+
okx: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI4LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAzMzYuMSAzMzYuMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzM2LjEgMzM2LjE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojRkZGRkZGO30KPC9zdHlsZT4KPHBhdGggZD0iTTMxMy43LDBIMjIuNEMxMCwwLDAsMTAsMCwyMi40djI5MS4zYzAsMTIuNCwxMCwyMi40LDIyLjQsMjIuNGgyOTEuM2MxMi40LDAsMjIuNC0xMCwyMi40LTIyLjRWMjIuNAoJQzMzNi4xLDEwLDMyNi4xLDAsMzEzLjcsMHoiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTIwNC41LDEzMC43aC02NC43Yy0yLjcsMC01LDIuMi01LDV2NjQuN2MwLDIuNywyLjIsNSw1LDVoNjQuN2MyLjcsMCw1LTIuMiw1LTV2LTY0LjcKCUMyMDkuNSwxMzIuOSwyMDcuMiwxMzAuNywyMDQuNSwxMzAuN3oiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTEyOS44LDU2LjFINjUuMWMtMi43LDAtNSwyLjItNSw1djY0LjdjMCwyLjcsMi4yLDUsNSw1aDY0LjdjMi44LDAsNS0yLjIsNS01VjYxCglDMTM0LjgsNTguMywxMzIuNSw1Ni4xLDEyOS44LDU2LjF6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNzkuMSw1Ni4xaC02NC43Yy0yLjcsMC01LDIuMi01LDV2NjQuN2MwLDIuNywyLjIsNSw1LDVoNjQuN2MyLjcsMCw1LTIuMiw1LTVWNjEKCUMyODQuMSw1OC4zLDI4MS45LDU2LjEsMjc5LjEsNTYuMXoiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTEyOS44LDIwNS40SDY1LjFjLTIuNywwLTUsMi4yLTUsNXY2NC43YzAsMi43LDIuMiw1LDUsNWg2NC43YzIuOCwwLDUtMi4yLDUtNXYtNjQuNwoJQzEzNC44LDIwNy42LDEzMi41LDIwNS40LDEyOS44LDIwNS40eiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjc5LjEsMjA1LjRoLTY0LjdjLTIuNywwLTUsMi4yLTUsNXY2NC43YzAsMi43LDIuMiw1LDUsNWg2NC43YzIuNywwLDUtMi4yLDUtNXYtNjQuNwoJQzI4NC4xLDIwNy42LDI4MS45LDIwNS40LDI3OS4xLDIwNS40eiIvPgo8L3N2Zz4K",
|
|
731
736
|
};
|
|
732
737
|
|
|
733
|
-
function _optionalChain$
|
|
738
|
+
function _optionalChain$s(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
734
739
|
class BraveEVM extends WindowEthereum {
|
|
735
740
|
|
|
736
741
|
static __initStatic() {this.info = {
|
|
@@ -740,14 +745,14 @@ class BraveEVM extends WindowEthereum {
|
|
|
740
745
|
platform: 'evm',
|
|
741
746
|
};}
|
|
742
747
|
|
|
743
|
-
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$
|
|
748
|
+
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$s([window, 'optionalAccess', _3 => _3.ethereum, 'optionalAccess', _4 => _4.isBraveWallet]) };}
|
|
744
749
|
|
|
745
750
|
getProvider() {
|
|
746
751
|
return window.ethereum
|
|
747
752
|
}
|
|
748
753
|
} BraveEVM.__initStatic(); BraveEVM.__initStatic2();
|
|
749
754
|
|
|
750
|
-
function _optionalChain$
|
|
755
|
+
function _optionalChain$r(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
751
756
|
class BraveSVM extends WindowSolana {
|
|
752
757
|
|
|
753
758
|
static __initStatic() {this.info = {
|
|
@@ -757,14 +762,14 @@ class BraveSVM extends WindowSolana {
|
|
|
757
762
|
platform: 'svm',
|
|
758
763
|
};}
|
|
759
764
|
|
|
760
|
-
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$
|
|
765
|
+
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$r([window, 'optionalAccess', _3 => _3.solana, 'optionalAccess', _4 => _4.isBraveWallet]) };}
|
|
761
766
|
|
|
762
767
|
getProvider() {
|
|
763
768
|
return window.braveSolana
|
|
764
769
|
}
|
|
765
770
|
} BraveSVM.__initStatic(); BraveSVM.__initStatic2();
|
|
766
771
|
|
|
767
|
-
function _optionalChain$
|
|
772
|
+
function _optionalChain$q(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
768
773
|
class Coin98EVM extends WindowEthereum {
|
|
769
774
|
|
|
770
775
|
static __initStatic() {this.info = {
|
|
@@ -774,13 +779,13 @@ class Coin98EVM extends WindowEthereum {
|
|
|
774
779
|
platform: 'evm',
|
|
775
780
|
};}
|
|
776
781
|
|
|
777
|
-
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$
|
|
782
|
+
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$q([window, 'optionalAccess', _2 => _2.coin98]) };}
|
|
778
783
|
|
|
779
784
|
getProvider() { return window.coin98.provider }
|
|
780
785
|
|
|
781
786
|
} Coin98EVM.__initStatic(); Coin98EVM.__initStatic2();
|
|
782
787
|
|
|
783
|
-
function _optionalChain$
|
|
788
|
+
function _optionalChain$p(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
784
789
|
class Coin98SVM extends WindowSolana {
|
|
785
790
|
|
|
786
791
|
static __initStatic() {this.info = {
|
|
@@ -790,13 +795,13 @@ class Coin98SVM extends WindowSolana {
|
|
|
790
795
|
platform: 'svm',
|
|
791
796
|
};}
|
|
792
797
|
|
|
793
|
-
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$
|
|
798
|
+
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$p([window, 'optionalAccess', _3 => _3.coin98, 'optionalAccess', _4 => _4.sol]) };}
|
|
794
799
|
|
|
795
800
|
getProvider() { return window.coin98.sol }
|
|
796
801
|
|
|
797
802
|
} Coin98SVM.__initStatic(); Coin98SVM.__initStatic2();
|
|
798
803
|
|
|
799
|
-
function _optionalChain$
|
|
804
|
+
function _optionalChain$o(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
800
805
|
class CoinbaseEVM extends WindowEthereum {
|
|
801
806
|
|
|
802
807
|
static __initStatic() {this.info = {
|
|
@@ -807,8 +812,8 @@ class CoinbaseEVM extends WindowEthereum {
|
|
|
807
812
|
};}
|
|
808
813
|
|
|
809
814
|
getProvider() {
|
|
810
|
-
if(_optionalChain$
|
|
811
|
-
return _optionalChain$
|
|
815
|
+
if(_optionalChain$o([window, 'optionalAccess', _9 => _9.ethereum, 'optionalAccess', _10 => _10.providerMap, 'optionalAccess', _11 => _11.has, 'call', _12 => _12('CoinbaseWallet')])) {
|
|
816
|
+
return _optionalChain$o([window, 'optionalAccess', _13 => _13.ethereum, 'optionalAccess', _14 => _14.providerMap, 'optionalAccess', _15 => _15.get, 'call', _16 => _16('CoinbaseWallet')])
|
|
812
817
|
} else {
|
|
813
818
|
return window.ethereum
|
|
814
819
|
}
|
|
@@ -817,9 +822,9 @@ class CoinbaseEVM extends WindowEthereum {
|
|
|
817
822
|
static __initStatic2() {this.isAvailable = async()=>{
|
|
818
823
|
return(
|
|
819
824
|
(
|
|
820
|
-
_optionalChain$
|
|
825
|
+
_optionalChain$o([window, 'optionalAccess', _17 => _17.ethereum, 'optionalAccess', _18 => _18.isCoinbaseWallet]) || _optionalChain$o([window, 'optionalAccess', _19 => _19.ethereum, 'optionalAccess', _20 => _20.isWalletLink])
|
|
821
826
|
) || (
|
|
822
|
-
_optionalChain$
|
|
827
|
+
_optionalChain$o([window, 'optionalAccess', _21 => _21.ethereum, 'optionalAccess', _22 => _22.providerMap, 'optionalAccess', _23 => _23.has, 'call', _24 => _24('CoinbaseWallet')])
|
|
823
828
|
)
|
|
824
829
|
)
|
|
825
830
|
};}
|
|
@@ -843,7 +848,7 @@ class CoinbaseSVM extends WindowSolana {
|
|
|
843
848
|
};}
|
|
844
849
|
} CoinbaseSVM.__initStatic(); CoinbaseSVM.__initStatic2();
|
|
845
850
|
|
|
846
|
-
function _optionalChain$
|
|
851
|
+
function _optionalChain$n(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
847
852
|
class CryptoCom extends WindowEthereum {
|
|
848
853
|
|
|
849
854
|
static __initStatic() {this.info = {
|
|
@@ -852,10 +857,10 @@ class CryptoCom extends WindowEthereum {
|
|
|
852
857
|
blockchains: supported$1.evm
|
|
853
858
|
};}
|
|
854
859
|
|
|
855
|
-
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$
|
|
860
|
+
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$n([window, 'optionalAccess', _3 => _3.ethereum, 'optionalAccess', _4 => _4.isDeficonnectProvider]) };}
|
|
856
861
|
} CryptoCom.__initStatic(); CryptoCom.__initStatic2();
|
|
857
862
|
|
|
858
|
-
function _optionalChain$
|
|
863
|
+
function _optionalChain$m(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
859
864
|
class ExodusEVM extends WindowEthereum {
|
|
860
865
|
|
|
861
866
|
static __initStatic() {this.info = {
|
|
@@ -865,10 +870,10 @@ class ExodusEVM extends WindowEthereum {
|
|
|
865
870
|
platform: 'evm',
|
|
866
871
|
};}
|
|
867
872
|
|
|
868
|
-
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$
|
|
873
|
+
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$m([window, 'optionalAccess', _3 => _3.ethereum, 'optionalAccess', _4 => _4.isExodus]) };}
|
|
869
874
|
} ExodusEVM.__initStatic(); ExodusEVM.__initStatic2();
|
|
870
875
|
|
|
871
|
-
function _optionalChain$
|
|
876
|
+
function _optionalChain$l(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
872
877
|
class ExodusSVM extends WindowSolana {
|
|
873
878
|
|
|
874
879
|
static __initStatic() {this.info = {
|
|
@@ -878,7 +883,7 @@ class ExodusSVM extends WindowSolana {
|
|
|
878
883
|
platform: 'svm',
|
|
879
884
|
};}
|
|
880
885
|
|
|
881
|
-
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$
|
|
886
|
+
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$l([window, 'optionalAccess', _3 => _3.solana, 'optionalAccess', _4 => _4.isExodus]) };}
|
|
882
887
|
} ExodusSVM.__initStatic(); ExodusSVM.__initStatic2();
|
|
883
888
|
|
|
884
889
|
class Glow extends WindowSolana {
|
|
@@ -897,7 +902,7 @@ class Glow extends WindowSolana {
|
|
|
897
902
|
};}
|
|
898
903
|
} Glow.__initStatic(); Glow.__initStatic2();
|
|
899
904
|
|
|
900
|
-
function _optionalChain$
|
|
905
|
+
function _optionalChain$k(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
901
906
|
class HyperPay extends WindowEthereum {
|
|
902
907
|
|
|
903
908
|
static __initStatic() {this.info = {
|
|
@@ -906,10 +911,10 @@ class HyperPay extends WindowEthereum {
|
|
|
906
911
|
blockchains: supported$1.evm
|
|
907
912
|
};}
|
|
908
913
|
|
|
909
|
-
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$
|
|
914
|
+
static __initStatic2() {this.isAvailable = async()=>{ return _optionalChain$k([window, 'optionalAccess', _3 => _3.ethereum, 'optionalAccess', _4 => _4.isHyperPay]) };}
|
|
910
915
|
} HyperPay.__initStatic(); HyperPay.__initStatic2();
|
|
911
916
|
|
|
912
|
-
function _optionalChain$
|
|
917
|
+
function _optionalChain$j(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
913
918
|
class MagicEdenEVM extends WindowEthereum {
|
|
914
919
|
|
|
915
920
|
static __initStatic() {this.info = {
|
|
@@ -921,12 +926,12 @@ class MagicEdenEVM extends WindowEthereum {
|
|
|
921
926
|
|
|
922
927
|
static __initStatic2() {this.isAvailable = async()=>{
|
|
923
928
|
return (
|
|
924
|
-
_optionalChain$
|
|
929
|
+
_optionalChain$j([window, 'optionalAccess', _3 => _3.ethereum, 'optionalAccess', _4 => _4.isMagicEden])
|
|
925
930
|
)
|
|
926
931
|
};}
|
|
927
932
|
} MagicEdenEVM.__initStatic(); MagicEdenEVM.__initStatic2();
|
|
928
933
|
|
|
929
|
-
function _optionalChain$
|
|
934
|
+
function _optionalChain$i(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
930
935
|
class MagicEdenSVM extends WindowSolana {
|
|
931
936
|
|
|
932
937
|
static __initStatic() {this.info = {
|
|
@@ -938,11 +943,45 @@ class MagicEdenSVM extends WindowSolana {
|
|
|
938
943
|
|
|
939
944
|
static __initStatic2() {this.isAvailable = async()=>{
|
|
940
945
|
return (
|
|
941
|
-
_optionalChain$
|
|
946
|
+
_optionalChain$i([window, 'optionalAccess', _3 => _3.solana, 'optionalAccess', _4 => _4.isMagicEden])
|
|
942
947
|
)
|
|
943
948
|
};}
|
|
944
949
|
} MagicEdenSVM.__initStatic(); MagicEdenSVM.__initStatic2();
|
|
945
950
|
|
|
951
|
+
function _optionalChain$h(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
952
|
+
class OKXEVM extends WindowEthereum {
|
|
953
|
+
|
|
954
|
+
static __initStatic() {this.info = {
|
|
955
|
+
name: 'OKX',
|
|
956
|
+
logo: logos.okx,
|
|
957
|
+
blockchains: supported$1.evm,
|
|
958
|
+
platform: 'evm',
|
|
959
|
+
};}
|
|
960
|
+
|
|
961
|
+
static __initStatic2() {this.isAvailable = async()=>{
|
|
962
|
+
return (
|
|
963
|
+
_optionalChain$h([window, 'optionalAccess', _2 => _2.okxwallet])
|
|
964
|
+
)
|
|
965
|
+
};}
|
|
966
|
+
} OKXEVM.__initStatic(); OKXEVM.__initStatic2();
|
|
967
|
+
|
|
968
|
+
function _optionalChain$g(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
969
|
+
class OKXSVM extends WindowSolana {
|
|
970
|
+
|
|
971
|
+
static __initStatic() {this.info = {
|
|
972
|
+
name: 'OKX',
|
|
973
|
+
logo: logos.okx,
|
|
974
|
+
blockchains: ['solana'],
|
|
975
|
+
platform: 'svm',
|
|
976
|
+
};}
|
|
977
|
+
|
|
978
|
+
static __initStatic2() {this.isAvailable = async()=>{
|
|
979
|
+
return (
|
|
980
|
+
_optionalChain$g([window, 'optionalAccess', _3 => _3.solana, 'optionalAccess', _4 => _4.isOkxWallet])
|
|
981
|
+
)
|
|
982
|
+
};}
|
|
983
|
+
} OKXSVM.__initStatic(); OKXSVM.__initStatic2();
|
|
984
|
+
|
|
946
985
|
function _optionalChain$f(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
947
986
|
class MetaMask extends WindowEthereum {
|
|
948
987
|
|
|
@@ -998,7 +1037,8 @@ class PhantomEVM extends WindowEthereum {
|
|
|
998
1037
|
return (
|
|
999
1038
|
window.phantom &&
|
|
1000
1039
|
window.phantom.ethereum &&
|
|
1001
|
-
! _optionalChain$d([window, 'optionalAccess',
|
|
1040
|
+
! _optionalChain$d([window, 'optionalAccess', _4 => _4.ethereum, 'optionalAccess', _5 => _5.isMagicEden]) &&
|
|
1041
|
+
! _optionalChain$d([window, 'optionalAccess', _6 => _6.okxwallet])
|
|
1002
1042
|
)
|
|
1003
1043
|
};}
|
|
1004
1044
|
} PhantomEVM.__initStatic(); PhantomEVM.__initStatic2();
|
|
@@ -1017,9 +1057,10 @@ class PhantomSVM extends WindowSolana {
|
|
|
1017
1057
|
return (
|
|
1018
1058
|
window.phantom &&
|
|
1019
1059
|
!window.glow &&
|
|
1020
|
-
!_optionalChain$c([window, 'optionalAccess',
|
|
1021
|
-
!_optionalChain$c([window, 'optionalAccess',
|
|
1022
|
-
! _optionalChain$c([window, 'optionalAccess',
|
|
1060
|
+
!_optionalChain$c([window, 'optionalAccess', _8 => _8.solana, 'optionalAccess', _9 => _9.isGlow]) &&
|
|
1061
|
+
!_optionalChain$c([window, 'optionalAccess', _10 => _10.solana, 'optionalAccess', _11 => _11.isExodus]) &&
|
|
1062
|
+
! _optionalChain$c([window, 'optionalAccess', _12 => _12.ethereum, 'optionalAccess', _13 => _13.isMagicEden]) &&
|
|
1063
|
+
! _optionalChain$c([window, 'optionalAccess', _14 => _14.okxwallet]) &&
|
|
1023
1064
|
!['isBitKeep'].some((identifier)=>window.solana && window.solana[identifier])
|
|
1024
1065
|
)
|
|
1025
1066
|
};}
|
|
@@ -2674,6 +2715,8 @@ var wallets = {
|
|
|
2674
2715
|
BraveSVM,
|
|
2675
2716
|
MagicEdenEVM,
|
|
2676
2717
|
MagicEdenSVM,
|
|
2718
|
+
OKXEVM,
|
|
2719
|
+
OKXSVM,
|
|
2677
2720
|
Opera,
|
|
2678
2721
|
Coin98EVM,
|
|
2679
2722
|
Coin98SVM,
|
|
@@ -2746,6 +2789,8 @@ const supported = [
|
|
|
2746
2789
|
wallets.TokenPocket,
|
|
2747
2790
|
wallets.MagicEdenEVM,
|
|
2748
2791
|
wallets.MagicEdenSVM,
|
|
2792
|
+
wallets.OKXEVM,
|
|
2793
|
+
wallets.OKXSVM,
|
|
2749
2794
|
wallets.ExodusEVM,
|
|
2750
2795
|
wallets.ExodusSVM,
|
|
2751
2796
|
|