718 lines
194 KiB
HTML
718 lines
194 KiB
HTML
<title>Tangem — features ↔ domain module connectivity</title>
|
||
<style>
|
||
:root{
|
||
--ground:#0E1116;--panel:#161B22;--panel-2:#1B222B;--line:#222B36;
|
||
--text:#C9D4E0;--muted:#74859A;--faint:#3A4757;
|
||
--features:#E8A33D;--domain:#34D8C4;--data:#B69CFF;--inverted:#FF5C6C;
|
||
--mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
|
||
--ui:"Helvetica Neue",Inter,system-ui,-apple-system,sans-serif;
|
||
}
|
||
*{box-sizing:border-box}
|
||
html,body{height:100%}
|
||
body{margin:0;background:var(--ground);color:var(--text);font-family:var(--ui);
|
||
overflow:hidden;-webkit-font-smoothing:antialiased}
|
||
.app{display:flex;flex-direction:column;height:100vh;width:100vw}
|
||
|
||
header{flex:0 0 auto;border-bottom:1px solid var(--line);padding:14px 22px 12px;
|
||
display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;
|
||
background:linear-gradient(180deg,#11161D,#0E1116)}
|
||
.titleblock{min-width:0}
|
||
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.34em;text-transform:uppercase;
|
||
color:var(--muted);margin:0 0 6px}
|
||
.eyebrow b{color:var(--domain);font-weight:600}
|
||
h1{margin:0;font-size:clamp(20px,3.2vw,30px);font-weight:800;letter-spacing:-.022em;line-height:1}
|
||
h1 .arrow{color:var(--muted);font-weight:400;padding:0 .15em}
|
||
.features-ink{color:var(--features)}.domain-ink{color:var(--domain)}
|
||
.stats{display:flex;gap:0;font-family:var(--mono)}
|
||
.stat{padding:0 18px;border-left:1px solid var(--line);text-align:right}
|
||
.stat:first-child{border-left:0}
|
||
.stat .num{font-size:22px;font-weight:700;line-height:1.05}
|
||
.stat .lbl{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:3px}
|
||
.stat.warn .num{color:var(--inverted)}
|
||
|
||
.body{flex:1 1 auto;display:flex;min-height:0}
|
||
.rail{flex:0 0 270px;border-right:1px solid var(--line);background:var(--panel);
|
||
overflow-y:auto;padding:16px 16px 28px}
|
||
.stage{flex:1 1 auto;position:relative;min-width:0;
|
||
background:radial-gradient(120% 120% at 30% 0%,#12171F 0%,#0E1116 60%)}
|
||
svg{width:100%;height:100%;display:block;cursor:grab;touch-action:none}
|
||
svg.grabbing{cursor:grabbing}
|
||
|
||
/* view switch */
|
||
.viewswitch{display:flex;background:var(--ground);border:1px solid var(--line);
|
||
border-radius:9px;padding:3px;gap:3px;margin-bottom:20px}
|
||
.viewswitch button{flex:1;border:0;background:transparent;color:var(--muted);
|
||
font-family:var(--mono);font-size:12px;font-weight:600;padding:8px 6px;border-radius:6px;
|
||
cursor:pointer;letter-spacing:.04em;transition:.13s;display:flex;flex-direction:column;gap:2px;align-items:center}
|
||
.viewswitch button .sub{font-size:9.5px;font-weight:500;letter-spacing:.02em;opacity:.7}
|
||
.viewswitch button:hover{color:var(--text)}
|
||
.viewswitch button.on{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}
|
||
|
||
.grp{margin-bottom:20px}
|
||
.grp h2{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
|
||
color:var(--muted);margin:0 0 9px;font-weight:600}
|
||
.search{width:100%;background:var(--ground);border:1px solid var(--line);color:var(--text);
|
||
font-family:var(--mono);font-size:13px;padding:9px 10px;border-radius:7px;outline:none}
|
||
.search:focus{border-color:var(--domain);box-shadow:0 0 0 2px rgba(52,216,196,.16)}
|
||
.search::placeholder{color:var(--faint)}
|
||
|
||
.toggles{display:flex;flex-direction:column;gap:2px}
|
||
.tog{display:flex;align-items:center;gap:9px;cursor:pointer;padding:7px 8px;border-radius:7px;
|
||
font-size:13px;user-select:none}
|
||
.tog:hover{background:var(--panel-2)}
|
||
.tog .box{width:15px;height:15px;border-radius:4px;border:1.5px solid var(--faint);flex:0 0 auto;position:relative;transition:.12s}
|
||
.tog.on .box{background:var(--domain);border-color:var(--domain)}
|
||
.tog.on .box::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;
|
||
border:solid var(--ground);border-width:0 2px 2px 0;transform:rotate(45deg)}
|
||
.tog .dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
|
||
.tog .dot.f{background:var(--features)}.tog .dot.d{background:var(--domain)}.tog .dot.da{background:var(--data)}
|
||
.tog .meta{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--muted)}
|
||
|
||
.btn{width:100%;text-align:left;background:var(--ground);border:1px solid var(--line);color:var(--text);
|
||
font-family:var(--mono);font-size:12px;padding:9px 11px;border-radius:7px;cursor:pointer;
|
||
display:flex;align-items:center;gap:8px;transition:.12s}
|
||
.btn:hover{border-color:var(--inverted);color:#fff}
|
||
.btn .swatch{width:18px;height:0;border-top:2px solid var(--inverted);flex:0 0 auto}
|
||
.btn.active{border-color:var(--inverted);background:rgba(255,92,108,.08)}
|
||
.hubtext{font-size:11px;color:var(--muted);margin:8px 2px 0;line-height:1.5}
|
||
.hubtext span{font-family:var(--mono);color:var(--text)}
|
||
|
||
.insp{border-top:1px solid var(--line);padding-top:16px}
|
||
.insp .hint{color:var(--muted);font-size:12.5px;line-height:1.55}
|
||
.insp-id{font-family:var(--mono);font-size:14.5px;font-weight:700;word-break:break-all;line-height:1.25}
|
||
.chip{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
|
||
padding:3px 8px;border-radius:20px;margin-top:8px;font-weight:600}
|
||
.chip.f{background:rgba(232,163,61,.15);color:var(--features)}
|
||
.chip.d{background:rgba(52,216,196,.15);color:var(--domain)}
|
||
.chip.da{background:rgba(182,156,255,.15);color:var(--data)}
|
||
.degline{display:flex;gap:14px;font-family:var(--mono);font-size:12px;margin:12px 0 4px}
|
||
.degline b{color:var(--text);font-weight:700}.degline .k{color:var(--muted)}
|
||
.deplist h3{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
|
||
color:var(--muted);margin:14px 0 7px;font-weight:600;display:flex;justify-content:space-between}
|
||
.deplist ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
|
||
.deplist li{font-family:var(--mono);font-size:12px;padding:4px 7px;border-radius:5px;cursor:pointer;
|
||
display:flex;justify-content:space-between;gap:8px;color:var(--text)}
|
||
.deplist li:hover{background:var(--panel-2)}
|
||
.deplist li .w{color:var(--muted);font-size:11px;white-space:nowrap}
|
||
.deplist li .dot{width:7px;height:7px;border-radius:50%;margin-right:7px;flex:0 0 auto;align-self:center}
|
||
.tog.act{background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--line)}
|
||
.deplist li span.nm{display:flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
||
.deplist li.f span.nm::before,.deplist li.d span.nm::before,.deplist li.da span.nm::before{content:"";display:inline-block;width:7px;height:7px;
|
||
border-radius:50%;margin-right:7px;flex:0 0 auto}
|
||
.deplist li.f span.nm::before{background:var(--features)}
|
||
.deplist li.d span.nm::before{background:var(--domain)}
|
||
.deplist li.da span.nm::before{background:var(--data)}
|
||
|
||
.edge{stroke:var(--faint);stroke-opacity:.10;fill:none;transition:stroke-opacity .15s}
|
||
.edge.inv{stroke:var(--inverted);stroke-opacity:.22}
|
||
.node-label{font-family:var(--mono);font-size:9.5px;fill:var(--text);pointer-events:none;opacity:0;
|
||
transition:opacity .15s;paint-order:stroke;stroke:var(--ground);stroke-width:2.4px;stroke-linejoin:round}
|
||
.node-label.show{opacity:.92}
|
||
.node-dot{cursor:pointer}
|
||
.node-dot circle{transition:fill-opacity .15s,stroke .12s}
|
||
.dim{opacity:.12 !important}
|
||
.halo{fill:none;stroke-width:2.6;opacity:0;transition:opacity .15s;pointer-events:none}
|
||
.hull{stroke-width:1.6;fill-opacity:.08;stroke-opacity:.6;pointer-events:none}
|
||
.hull-label{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
|
||
pointer-events:none;paint-order:stroke;stroke:var(--ground);stroke-width:3.2px;stroke-linejoin:round;opacity:.92}
|
||
|
||
.legend{position:absolute;left:16px;bottom:14px;display:flex;gap:18px;align-items:center;
|
||
font-family:var(--mono);font-size:11px;color:var(--muted);background:rgba(14,17,22,.72);
|
||
backdrop-filter:blur(4px);border:1px solid var(--line);border-radius:9px;padding:8px 13px;
|
||
flex-wrap:wrap;max-width:calc(100% - 32px)}
|
||
.legend .it{display:flex;align-items:center;gap:7px}
|
||
.legend .sw{width:11px;height:11px;border-radius:50%}
|
||
.legend .sw.f{background:var(--features)}.legend .sw.d{background:var(--domain)}.legend .sw.da{background:var(--data)}
|
||
.legend .ln{width:18px;border-top:2px solid var(--inverted)}
|
||
.legend .sz{display:flex;align-items:center;gap:4px}
|
||
.legend .sz i{display:inline-block;border-radius:50%;background:var(--muted)}
|
||
|
||
.hud{position:absolute;right:16px;top:14px;font-family:var(--mono);font-size:11px;color:var(--muted);
|
||
text-align:right;line-height:1.6;pointer-events:none}
|
||
.hud b{color:var(--text);font-weight:600}
|
||
.reset{position:absolute;right:16px;bottom:14px;font-family:var(--mono);font-size:11px;
|
||
background:rgba(14,17,22,.72);backdrop-filter:blur(4px);border:1px solid var(--line);
|
||
color:var(--muted);border-radius:8px;padding:7px 11px;cursor:pointer}
|
||
.reset:hover{color:var(--text);border-color:var(--faint)}
|
||
|
||
@media (max-width:880px){
|
||
body{overflow:auto}.app{height:auto}.body{flex-direction:column}
|
||
.rail{flex-basis:auto;border-right:0;border-bottom:1px solid var(--line)}
|
||
.stage{height:72vh}.stats{flex-wrap:wrap}
|
||
}
|
||
@media (prefers-reduced-motion:reduce){.edge,.node-label,.node-dot circle{transition:none}}
|
||
</style>
|
||
|
||
<div class="app">
|
||
<header>
|
||
<div class="titleblock">
|
||
<p class="eyebrow"><b>Tangem</b> · android · <span id="eyebrowKind">gradle dependency graph</span></p>
|
||
<h1><span class="features-ink">features</span><span class="arrow">→</span><span class="domain-ink">domain</span> connectivity</h1>
|
||
</div>
|
||
<div class="stats">
|
||
<div class="stat"><div class="num" id="statNodes">88</div><div class="lbl" id="statNodesLbl">areas</div></div>
|
||
<div class="stat"><div class="num" id="statEdges">716</div><div class="lbl" id="statEdgesLbl">dep links</div></div>
|
||
<div class="stat warn"><div class="num" id="invCount">6</div><div class="lbl">inverted</div></div>
|
||
</div>
|
||
</header>
|
||
|
||
<div class="body">
|
||
<aside class="rail">
|
||
<div class="viewswitch" id="viewswitch">
|
||
<button data-view="area" class="on">Area<span class="sub">api+impl merged</span></button>
|
||
<button data-view="module">Module<span class="sub">every module</span></button>
|
||
<button data-view="screens">Screens<span class="sub">AppRoute map</span></button>
|
||
</div>
|
||
|
||
<div class="grp">
|
||
<h2>Find a module</h2>
|
||
<input class="search" id="search" placeholder="e.g. staking, wallet, tokens" autocomplete="off" spellcheck="false">
|
||
</div>
|
||
|
||
<div class="grp" id="grpLayers">
|
||
<h2>Layers</h2>
|
||
<div class="toggles">
|
||
<label class="tog on" data-layer="features"><span class="box"></span><span class="dot f"></span>features<span class="meta" id="cntF"></span></label>
|
||
<label class="tog on" data-layer="domain"><span class="box"></span><span class="dot d"></span>domain<span class="meta" id="cntD"></span></label>
|
||
<label class="tog on" data-layer="data" id="togDataRow" style="display:none"><span class="box"></span><span class="dot da"></span>data<span class="meta" id="cntData"></span></label>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="grp" id="grpTeams">
|
||
<h2>Teams</h2>
|
||
<div class="toggles" id="teamList"></div>
|
||
<label class="tog" id="togCluster"><span class="box"></span>Cluster enabled teams</label>
|
||
<p class="hubtext">Outlines & rings mark a team's owned modules (in Area / Module) or screens (in Screens). <span>More teams can be added in the config.</span></p>
|
||
</div>
|
||
|
||
<div class="grp" id="grpDeclutter">
|
||
<h2>Declutter</h2>
|
||
<div class="toggles">
|
||
<label class="tog" id="togHubs"><span class="box"></span>Hide utility hubs<span class="meta" id="hubCount"></span></label>
|
||
<label class="tog" id="togApi"><span class="box"></span>Only <code>api</code> links</label>
|
||
</div>
|
||
<p class="hubtext">Hubs hidden: <span id="hubList"></span> — depended on near-universally.</p>
|
||
</div>
|
||
|
||
<div class="grp" id="grpLayering">
|
||
<h2>Layering check</h2>
|
||
<button class="btn" id="btnInv"><span class="swatch"></span>Show inverted deps</button>
|
||
<p class="hubtext">A lower-layer <span style="color:var(--inverted)">domain / data</span> module importing a <span style="color:var(--features)">feature</span> <code>api</code> — reaching up across the layer boundary.</p>
|
||
</div>
|
||
|
||
<div class="grp" id="grpGroups" style="display:none">
|
||
<h2>Functional groups</h2>
|
||
<div class="toggles" id="groupList"></div>
|
||
<p class="hubtext">Click a group to isolate its screens. Node size = navigation links. Arrow = navigates to.</p>
|
||
</div>
|
||
|
||
<div class="insp" id="insp">
|
||
<p class="hint">Hover a node to trace its links. <b style="color:var(--text)">Click</b> to pin it and list its dependencies. Drag nodes to rearrange · scroll to zoom · drag canvas to pan.</p>
|
||
</div>
|
||
</aside>
|
||
|
||
<div class="stage">
|
||
<svg id="svg" viewBox="0 0 1200 820" preserveAspectRatio="xMidYMid meet" aria-label="Module dependency graph"></svg>
|
||
<div class="hud" id="hud">consumers <span style="color:var(--features)">left</span> · foundations <span style="color:var(--domain)">right</span><br>arrow points to the dependency<br><b>scroll</b> zoom · <b>drag</b> pan</div>
|
||
<button class="reset" id="resetView">reset view</button>
|
||
<div class="legend" id="legendBox">
|
||
<div class="it"><span class="sw f"></span>features</div>
|
||
<div class="it"><span class="sw d"></span>domain</div>
|
||
<div class="it" id="legendData" style="display:none"><span class="sw da"></span>data</div>
|
||
<div class="it"><span class="ln"></span>inverted dep</div>
|
||
<div class="it sz">size <i style="width:6px;height:6px"></i><i style="width:11px;height:11px"></i><i style="width:16px;height:16px"></i> = total degree</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
const RAW = { area: {"n":[["data:account","account","data",0,9],["data:address-book","address-book","data",0,3],["data:analytics","analytics","data",0,4],["data:app-currency","app-currency","data",0,3],["data:app-theme","app-theme","data",0,1],["data:appsflyer","appsflyer","data",0,1],["data:assetsdiscovery","assetsdiscovery","data",0,7],["data:balance-hiding","balance-hiding","data",0,1],["data:blockaid","blockaid","data",0,3],["data:card","card","data",2,2],["data:common","common","data",31,10],["data:dynamic-addresses","dynamic-addresses","data",1,6],["data:earn","earn","data",0,4],["data:express","express","data",1,6],["data:feedback","feedback","data",0,6],["data:hot-wallet","hot-wallet","data",0,2],["data:manage-tokens","manage-tokens","data",0,10],["data:markets","markets","data",0,5],["data:networks","networks","data",1,8],["data:news","news","data",0,2],["data:nft","nft","data",0,10],["data:notifications","notifications","data",0,1],["data:onboarding","onboarding","data",0,2],["data:onramp","onramp","data",0,10],["data:payment","payment","data",0,7],["data:push-notification-preferences","push-notification-preferences","data",0,2],["data:qr-scanning","qr-scanning","data",0,3],["data:quotes","quotes","data",0,3],["data:search","search","data",0,7],["data:settings","settings","data",0,2],["data:staking","staking","data",0,9],["data:stories","stories","data",0,4],["data:swap","swap","data",0,12],["data:tokens","tokens","data",1,17],["data:transaction","transaction","data",0,8],["data:txhistory","txhistory","data",0,10],["data:visa","visa","data",1,14],["data:wallet-connect","wallet-connect","data",0,10],["data:wallet-manager","wallet-manager","data",1,8],["data:wallets","wallets","data",2,8],["data:yield-supply","yield-supply","data",0,4],["domain:account","account","domain",43,15],["domain:address-book","address-book","domain",2,5],["domain:analytics","analytics","domain",2,3],["domain:app-currency","app-currency","domain",27,1],["domain:app-theme","app-theme","domain",4,1],["domain:appsflyer","appsflyer","domain",2,0],["domain:assetsdiscovery","assetsdiscovery","domain",4,3],["domain:balance-hiding","balance-hiding","domain",21,2],["domain:blockaid","blockaid","domain",5,2],["domain:card","card","domain",41,8],["domain:common","common","domain",25,1],["domain:core","core","domain",38,0],["domain:demo","demo","domain",18,0],["domain:dynamic-addresses","dynamic-addresses","domain",5,4],["domain:earn","earn","domain",2,4],["domain:express","express","domain",12,2],["domain:feedback","feedback","domain",15,3],["domain:hot-wallet","hot-wallet","domain",7,3],["domain:legacy","legacy","domain",36,7],["domain:manage-tokens","manage-tokens","domain",7,10],["domain:markets","markets","domain",12,13],["domain:models","models","domain",103,1],["domain:networks","networks","domain",12,3],["domain:news","news","domain",2,2],["domain:nft","nft","domain",6,7],["domain:notifications","notifications","domain",15,4],["domain:offramp","offramp","domain",6,2],["domain:onboarding","onboarding","domain",2,1],["domain:onramp","onramp","domain",9,6],["domain:payment","payment","domain",1,1],["domain:push-notification-preferences","push-notification-preferences","domain",4,1],["domain:qr-scanning","qr-scanning","domain",6,5],["domain:quotes","quotes","domain",12,2],["domain:referral","referral","domain",2,0],["domain:search","search","domain",2,7],["domain:settings","settings","domain",27,2],["domain:staking","staking","domain",15,6],["domain:stories","stories","domain",9,3],["domain:swap","swap","domain",5,4],["domain:tokens","tokens","domain",57,23],["domain:transaction","transaction","domain",26,12],["domain:txhistory","txhistory","domain",16,6],["domain:visa","visa","domain",13,5],["domain:wallet-connect","wallet-connect","domain",4,6],["domain:wallet-manager","wallet-manager","domain",25,8],["domain:wallets","wallets","domain",75,12],["domain:yield-supply","yield-supply","domain",9,8],["features:account","account","features",3,8],["features:address-book","address-book","features",1,3],["features:approval","approval","features",2,4],["features:biometry","biometry","features",2,5],["features:common-features","common-features","features",10,12],["features:create-wallet-selection","create-wallet-selection","features",1,6],["features:create-wallet-start","create-wallet-start","features",0,7],["features:details","details","features",1,17],["features:disclaimer","disclaimer","features",1,5],["features:feed","feed","features",3,30],["features:home","home","features",0,6],["features:hot-wallet","hot-wallet","features",8,9],["features:kyc","kyc","features",2,3],["features:manage-tokens","manage-tokens","features",5,13],["features:markets","markets","features",3,24],["features:nft","nft","features",4,9],["features:onboarding-v2","onboarding-v2","features",6,19],["features:onramp","onramp","features",4,18],["features:promo-banners","promo-banners","features",2,2],["features:push-notification-settings","push-notification-settings","features",3,5],["features:push-notifications","push-notifications","features",8,7],["features:qr-scanning","qr-scanning","features",0,2],["features:rating","rating","features",1,0],["features:referral","referral","features",2,16],["features:send","send","features",10,22],["features:staking","staking","features",3,14],["features:stories","stories","features",0,1],["features:survey","survey","features",1,3],["features:swap","swap","features",5,29],["features:swap-v2","swap-v2","features",2,19],["features:tangempay","tangempay","features",1,15],["features:tester","tester","features",3,10],["features:token-recieve","token-recieve","features",8,3],["features:tokendetails","tokendetails","features",3,33],["features:txhistory","txhistory","features",4,8],["features:virtual-accounts","virtual-accounts","features",3,0],["features:wallet","wallet","features",12,56],["features:wallet-settings","wallet-settings","features",2,19],["features:walletconnect","walletconnect","features",0,15],["features:welcome","welcome","features",0,8],["features:yield-supply","yield-supply","features",2,10]],"e":[["features:home","domain:common",1,0],["features:home","domain:models",1,0],["features:home","domain:card",1,0],["features:home","domain:settings",1,0],["features:home","domain:wallets",1,0],["features:home","features:referral",1,0],["features:create-wallet-start","features:hot-wallet",1,0],["features:create-wallet-start","features:onboarding-v2",1,0],["features:create-wallet-start","domain:card",1,0],["features:create-wallet-start","domain:settings",1,0],["features:create-wallet-start","domain:wallets",2,0],["features:create-wallet-start","domain:models",2,0],["features:create-wallet-start","domain:hot-wallet",1,0],["features:yield-supply","domain:models",2,0],["features:yield-supply","domain:app-currency",3,0],["features:yield-supply","domain:account",1,0],["features:yield-supply","domain:wallets",3,0],["features:yield-supply","domain:tokens",3,0],["features:yield-supply","domain:transaction",2,0],["features:yield-supply","domain:yield-supply",2,0],["features:yield-supply","domain:stories",2,0],["features:yield-supply","domain:feedback",2,0],["features:yield-supply","domain:balance-hiding",2,0],["features:txhistory","domain:models",2,1],["features:txhistory","domain:legacy",1,0],["features:txhistory","domain:card",1,0],["features:txhistory","domain:txhistory",2,0],["features:txhistory","domain:wallets",3,0],["features:txhistory","domain:tokens",3,0],["features:txhistory","domain:balance-hiding",2,0],["features:txhistory","domain:account",1,0],["features:referral","features:common-features",1,1],["features:referral","domain:demo",1,0],["features:referral","domain:wallets",5,0],["features:referral","domain:legacy",2,0],["features:referral","domain:card",2,0],["features:referral","domain:notifications",1,0],["features:referral","domain:account",3,0],["features:referral","domain:balance-hiding",2,0],["features:referral","domain:app-currency",2,0],["features:referral","domain:models",3,1],["features:referral","data:common",1,0],["features:referral","domain:common",2,0],["features:referral","domain:tokens",3,0],["features:referral","domain:referral",1,0],["features:referral","features:tester",1,0],["features:referral","features:wallet",1,0],["features:wallet-settings","features:manage-tokens",1,0],["features:wallet-settings","features:nft",1,0],["features:wallet-settings","features:onboarding-v2",1,0],["features:wallet-settings","features:push-notifications",1,0],["features:wallet-settings","features:push-notification-settings",1,0],["features:wallet-settings","features:hot-wallet",1,0],["features:wallet-settings","features:wallet",1,0],["features:wallet-settings","domain:account",1,0],["features:wallet-settings","domain:app-currency",2,0],["features:wallet-settings","domain:balance-hiding",2,0],["features:wallet-settings","domain:legacy",1,0],["features:wallet-settings","domain:card",1,0],["features:wallet-settings","domain:models",2,0],["features:wallet-settings","domain:wallets",2,0],["features:wallet-settings","domain:demo",1,0],["features:wallet-settings","domain:nft",1,0],["features:wallet-settings","domain:settings",1,0],["features:wallet-settings","domain:notifications",2,0],["features:wallet-settings","domain:assetsdiscovery",1,0],["features:token-recieve","domain:models",2,0],["features:token-recieve","domain:transaction",2,0],["features:token-recieve","domain:tokens",2,0],["features:kyc","domain:visa",1,0],["features:kyc","domain:wallets",1,0],["features:kyc","domain:models",1,0],["features:disclaimer","domain:models",1,0],["features:disclaimer","domain:card",1,0],["features:disclaimer","domain:settings",1,0],["features:disclaimer","domain:notifications",1,0],["features:disclaimer","features:push-notifications",1,0],["features:nft","features:common-features",1,0],["features:nft","features:token-recieve",1,0],["features:nft","domain:account",2,0],["features:nft","domain:wallets",3,0],["features:nft","domain:app-currency",2,0],["features:nft","domain:models",2,0],["features:nft","domain:nft",3,0],["features:nft","domain:tokens",2,0],["features:nft","domain:transaction",1,0],["features:tokendetails","features:rating",1,0],["features:tokendetails","domain:account",1,0],["features:tokendetails","domain:app-currency",2,0],["features:tokendetails","domain:balance-hiding",2,0],["features:tokendetails","domain:card",1,0],["features:tokendetails","domain:demo",1,0],["features:tokendetails","domain:dynamic-addresses",2,0],["features:tokendetails","domain:feedback",2,0],["features:tokendetails","domain:markets",1,0],["features:tokendetails","domain:models",2,1],["features:tokendetails","domain:notifications",1,0],["features:tokendetails","domain:offramp",1,0],["features:tokendetails","domain:onramp",2,0],["features:tokendetails","domain:stories",2,0],["features:tokendetails","domain:quotes",1,0],["features:tokendetails","domain:settings",1,0],["features:tokendetails","domain:staking",1,0],["features:tokendetails","domain:tokens",3,0],["features:tokendetails","domain:transaction",2,0],["features:tokendetails","domain:txhistory",2,0],["features:tokendetails","domain:wallets",3,0],["features:tokendetails","domain:yield-supply",2,0],["features:tokendetails","features:swap",4,0],["features:tokendetails","features:wallet",1,0],["features:tokendetails","features:staking",1,0],["features:tokendetails","features:markets",1,0],["features:tokendetails","features:onramp",1,0],["features:tokendetails","features:push-notifications",1,0],["features:tokendetails","features:txhistory",1,0],["features:tokendetails","features:send",1,0],["features:tokendetails","features:token-recieve",1,0],["features:tokendetails","features:yield-supply",1,0],["features:tokendetails","features:common-features",1,0],["features:qr-scanning","domain:qr-scanning",3,0],["features:qr-scanning","data:card",1,0],["features:swap","features:common-features",1,0],["features:swap","data:common",2,0],["features:swap","domain:models",5,1],["features:swap","domain:account",6,0],["features:swap","domain:app-currency",4,0],["features:swap","domain:balance-hiding",3,0],["features:swap","domain:tokens",8,0],["features:swap","domain:transaction",6,0],["features:swap","domain:wallets",8,0],["features:swap","domain:settings",1,0],["features:swap","domain:staking",2,0],["features:swap","domain:feedback",2,0],["features:swap","domain:stories",2,0],["features:swap","domain:txhistory",4,0],["features:swap","domain:express",4,0],["features:swap","domain:card",2,0],["features:swap","domain:visa",3,0],["features:swap","domain:markets",1,0],["features:swap","domain:swap",4,0],["features:swap","features:wallet",2,0],["features:swap","features:send",3,0],["features:swap","features:feed",1,0],["features:swap","features:tokendetails",1,0],["features:swap","features:approval",1,0],["features:swap","domain:legacy",2,0],["features:swap","domain:wallet-manager",1,0],["features:swap","domain:demo",1,0],["features:swap","domain:quotes",1,0],["features:swap","domain:yield-supply",1,0],["features:details","features:wallet",1,0],["features:details","features:disclaimer",1,0],["features:details","features:tester",1,0],["features:details","features:create-wallet-selection",1,0],["features:details","features:onboarding-v2",1,0],["features:details","features:address-book",1,0],["features:details","domain:models",2,0],["features:details","domain:feedback",2,0],["features:details","domain:wallets",2,0],["features:details","domain:card",1,0],["features:details","domain:tokens",2,0],["features:details","domain:app-currency",2,0],["features:details","domain:wallet-connect",1,0],["features:details","domain:balance-hiding",2,0],["features:details","domain:legacy",1,0],["features:details","domain:settings",1,0],["features:details","domain:visa",1,0],["features:create-wallet-selection","features:hot-wallet",1,0],["features:create-wallet-selection","domain:card",1,0],["features:create-wallet-selection","domain:settings",1,0],["features:create-wallet-selection","domain:wallets",1,0],["features:create-wallet-selection","domain:models",2,0],["features:create-wallet-selection","domain:hot-wallet",1,0],["features:welcome","features:wallet",1,0],["features:welcome","features:onboarding-v2",1,0],["features:welcome","domain:app-currency",2,0],["features:welcome","domain:models",1,0],["features:welcome","domain:tokens",1,0],["features:welcome","domain:wallets",3,0],["features:welcome","domain:card",1,0],["features:welcome","domain:settings",1,0],["features:common-features","features:wallet",1,0],["features:common-features","features:token-recieve",1,0],["features:common-features","domain:models",2,0],["features:common-features","domain:account",3,0],["features:common-features","domain:core",1,0],["features:common-features","domain:app-currency",2,0],["features:common-features","domain:markets",2,0],["features:common-features","domain:transaction",1,0],["features:common-features","domain:tokens",2,0],["features:common-features","domain:manage-tokens",2,0],["features:common-features","domain:balance-hiding",2,0],["features:common-features","domain:wallets",2,0],["features:onramp","features:common-features",1,0],["features:onramp","features:swap",4,0],["features:onramp","features:feed",1,0],["features:onramp","domain:app-currency",2,0],["features:onramp","domain:balance-hiding",2,0],["features:onramp","domain:card",1,0],["features:onramp","domain:demo",1,0],["features:onramp","domain:models",1,0],["features:onramp","domain:offramp",1,0],["features:onramp","domain:onramp",2,0],["features:onramp","domain:tokens",3,0],["features:onramp","domain:wallets",3,0],["features:onramp","domain:settings",1,0],["features:onramp","domain:transaction",1,0],["features:onramp","domain:account",1,0],["features:onramp","domain:app-theme",2,0],["features:onramp","data:common",1,0],["features:onramp","domain:markets",1,0],["features:walletconnect","features:common-features",1,0],["features:walletconnect","features:wallet",1,0],["features:walletconnect","features:send",1,0],["features:walletconnect","domain:account",2,0],["features:walletconnect","domain:app-currency",2,0],["features:walletconnect","domain:balance-hiding",2,0],["features:walletconnect","domain:blockaid",1,0],["features:walletconnect","domain:models",2,0],["features:walletconnect","domain:qr-scanning",2,0],["features:walletconnect","domain:tokens",2,0],["features:walletconnect","domain:transaction",2,0],["features:walletconnect","domain:wallets",2,0],["features:walletconnect","domain:wallet-connect",2,0],["features:walletconnect","domain:legacy",1,0],["features:walletconnect","data:card",1,0],["features:stories","domain:stories",2,0],["features:onboarding-v2","features:manage-tokens",1,0],["features:onboarding-v2","features:biometry",1,0],["features:onboarding-v2","features:push-notifications",1,0],["features:onboarding-v2","features:hot-wallet",1,0],["features:onboarding-v2","features:token-recieve",1,0],["features:onboarding-v2","domain:account",1,0],["features:onboarding-v2","domain:models",2,0],["features:onboarding-v2","domain:feedback",2,0],["features:onboarding-v2","domain:core",1,0],["features:onboarding-v2","domain:card",1,0],["features:onboarding-v2","domain:wallets",2,0],["features:onboarding-v2","domain:legacy",1,0],["features:onboarding-v2","domain:settings",1,0],["features:onboarding-v2","domain:onboarding",1,0],["features:onboarding-v2","domain:visa",1,0],["features:onboarding-v2","domain:tokens",2,0],["features:onboarding-v2","domain:onramp",1,0],["features:onboarding-v2","domain:transaction",1,0],["features:onboarding-v2","domain:staking",1,0],["features:promo-banners","domain:common",1,0],["features:promo-banners","domain:models",1,0],["features:push-notifications","domain:settings",1,0],["features:push-notifications","domain:notifications",1,0],["features:push-notifications","domain:push-notification-preferences",1,0],["features:push-notifications","domain:common",1,0],["features:push-notifications","domain:account",1,0],["features:push-notifications","domain:models",1,0],["features:push-notifications","features:push-notification-settings",1,0],["features:swap-v2","features:manage-tokens",1,0],["features:swap-v2","features:send",2,1],["features:swap-v2","features:common-features",1,0],["features:swap-v2","domain:models",2,0],["features:swap-v2","domain:wallets",3,0],["features:swap-v2","domain:tokens",3,0],["features:swap-v2","domain:card",1,0],["features:swap-v2","domain:app-currency",3,0],["features:swap-v2","domain:express",2,0],["features:swap-v2","domain:swap",3,0],["features:swap-v2","domain:manage-tokens",3,0],["features:swap-v2","domain:transaction",2,0],["features:swap-v2","domain:legacy",1,0],["features:swap-v2","domain:balance-hiding",2,0],["features:swap-v2","domain:settings",1,0],["features:swap-v2","domain:txhistory",2,0],["features:swap-v2","domain:notifications",1,0],["features:swap-v2","domain:feedback",2,0],["features:swap-v2","domain:account",2,0],["features:manage-tokens","features:swap-v2",1,0],["features:manage-tokens","features:common-features",1,0],["features:manage-tokens","domain:account",2,0],["features:manage-tokens","domain:card",1,0],["features:manage-tokens","domain:legacy",1,0],["features:manage-tokens","domain:manage-tokens",2,0],["features:manage-tokens","domain:tokens",2,0],["features:manage-tokens","domain:wallets",3,0],["features:manage-tokens","domain:swap",1,0],["features:manage-tokens","domain:markets",1,0],["features:manage-tokens","domain:notifications",1,0],["features:manage-tokens","domain:dynamic-addresses",1,0],["features:manage-tokens","domain:models",1,0],["features:markets","features:onramp",1,1],["features:markets","features:send",1,1],["features:markets","features:token-recieve",1,1],["features:markets","features:wallet",1,1],["features:markets","features:account",1,1],["features:markets","data:common",1,0],["features:markets","domain:account",2,0],["features:markets","domain:app-currency",3,0],["features:markets","domain:balance-hiding",2,0],["features:markets","domain:card",1,0],["features:markets","domain:demo",1,0],["features:markets","domain:feedback",2,0],["features:markets","domain:manage-tokens",1,0],["features:markets","domain:markets",2,0],["features:markets","domain:offramp",1,0],["features:markets","domain:onramp",1,0],["features:markets","domain:staking",2,0],["features:markets","domain:tokens",3,0],["features:markets","domain:wallets",2,0],["features:markets","domain:settings",1,0],["features:markets","domain:notifications",1,0],["features:markets","domain:transaction",1,0],["features:markets","domain:yield-supply",2,0],["features:markets","domain:core",1,0],["features:feed","features:onramp",1,1],["features:feed","features:send",1,1],["features:feed","features:token-recieve",1,1],["features:feed","features:wallet",1,1],["features:feed","features:account",2,1],["features:feed","features:common-features",1,1],["features:feed","features:promo-banners",1,0],["features:feed","data:common",1,0],["features:feed","domain:account",2,0],["features:feed","domain:app-currency",3,0],["features:feed","domain:balance-hiding",2,0],["features:feed","domain:card",1,0],["features:feed","domain:demo",1,0],["features:feed","domain:feedback",2,0],["features:feed","domain:manage-tokens",1,0],["features:feed","domain:markets",2,0],["features:feed","domain:offramp",1,0],["features:feed","domain:onramp",1,0],["features:feed","domain:staking",1,0],["features:feed","domain:tokens",3,0],["features:feed","domain:wallets",2,0],["features:feed","domain:settings",1,0],["features:feed","domain:notifications",1,0],["features:feed","domain:transaction",1,0],["features:feed","domain:news",1,0],["features:feed","domain:yield-supply",2,0],["features:feed","domain:earn",1,0],["features:feed","domain:search",1,0],["features:feed","domain:core",1,0],["features:feed","domain:models",1,0],["features:staking","domain:tokens",3,0],["features:staking","domain:wallets",3,0],["features:staking","domain:staking",2,0],["features:staking","domain:balance-hiding",2,0],["features:staking","domain:app-currency",2,0],["features:staking","domain:legacy",1,0],["features:staking","domain:models",2,1],["features:staking","domain:transaction",2,0],["features:staking","domain:txhistory",2,0],["features:staking","domain:feedback",2,0],["features:staking","domain:notifications",1,0],["features:staking","domain:account",2,0],["features:staking","features:txhistory",1,0],["features:staking","features:approval",1,0],["features:address-book","domain:account",1,0],["features:address-book","domain:address-book",1,0],["features:address-book","domain:models",2,0],["features:wallet","domain:account",2,0],["features:wallet","domain:analytics",1,0],["features:wallet","domain:app-currency",2,0],["features:wallet","domain:balance-hiding",2,0],["features:wallet","domain:card",1,0],["features:wallet","domain:wallet-manager",1,0],["features:wallet","domain:demo",1,0],["features:wallet","domain:feedback",2,0],["features:wallet","domain:legacy",1,0],["features:wallet","domain:markets",1,0],["features:wallet","domain:models",2,0],["features:wallet","domain:networks",1,0],["features:wallet","domain:qr-scanning",2,0],["features:wallet","domain:wallet-connect",2,0],["features:wallet","domain:nft",2,0],["features:wallet","domain:hot-wallet",1,0],["features:wallet","domain:offramp",1,0],["features:wallet","domain:onramp",2,0],["features:wallet","domain:stories",2,0],["features:wallet","domain:quotes",1,0],["features:wallet","domain:settings",1,0],["features:wallet","domain:staking",2,0],["features:wallet","domain:tokens",2,0],["features:wallet","domain:txhistory",2,0],["features:wallet","domain:visa",2,0],["features:wallet","domain:wallets",2,0],["features:wallet","domain:notifications",1,0],["features:wallet","domain:push-notification-preferences",1,0],["features:wallet","domain:transaction",1,0],["features:wallet","domain:yield-supply",2,0],["features:wallet","domain:app-theme",2,0],["features:wallet","domain:assetsdiscovery",1,0],["features:wallet","features:common-features",1,0],["features:wallet","features:account",1,0],["features:wallet","features:details",1,0],["features:wallet","features:hot-wallet",1,0],["features:wallet","features:manage-tokens",1,0],["features:wallet","features:markets",1,0],["features:wallet","features:onboarding-v2",1,0],["features:wallet","features:onramp",1,0],["features:wallet","features:push-notifications",1,0],["features:wallet","features:push-notification-settings",1,0],["features:wallet","features:swap",1,0],["features:wallet","features:tester",1,0],["features:wallet","features:tokendetails",1,0],["features:wallet","features:wallet-settings",1,0],["features:wallet","features:biometry",1,0],["features:wallet","features:nft",1,0],["features:wallet","features:send",1,0],["features:wallet","features:kyc",1,0],["features:wallet","features:token-recieve",1,0],["features:wallet","features:yield-supply",1,0],["features:wallet","features:feed",1,0],["features:wallet","features:promo-banners",1,0],["features:wallet","features:tangempay",2,0],["features:wallet","features:virtual-accounts",1,0],["features:tester","domain:account",1,0],["features:tester","domain:card",1,0],["features:tester","domain:feedback",2,0],["features:tester","domain:markets",2,0],["features:tester","domain:manage-tokens",2,0],["features:tester","domain:wallets",2,0],["features:tester","domain:settings",1,0],["features:tester","data:common",1,0],["features:tester","features:push-notifications",1,0],["features:tester","features:survey",1,0],["features:biometry","features:hot-wallet",1,0],["features:biometry","domain:wallets",1,0],["features:biometry","domain:models",1,1],["features:biometry","domain:settings",1,0],["features:biometry","domain:card",1,0],["features:account","features:wallet",1,0],["features:account","domain:models",2,0],["features:account","domain:account",3,0],["features:account","domain:core",2,0],["features:account","domain:app-currency",3,0],["features:account","domain:tokens",4,0],["features:account","domain:balance-hiding",2,0],["features:account","domain:wallets",2,0],["features:hot-wallet","features:onboarding-v2",1,0],["features:hot-wallet","features:push-notifications",1,0],["features:hot-wallet","domain:card",1,0],["features:hot-wallet","domain:models",3,0],["features:hot-wallet","domain:wallets",4,0],["features:hot-wallet","domain:settings",1,0],["features:hot-wallet","domain:feedback",2,0],["features:hot-wallet","domain:hot-wallet",1,0],["features:hot-wallet","domain:assetsdiscovery",1,0],["features:survey","domain:common",1,0],["features:survey","domain:models",1,0],["features:survey","domain:wallets",2,0],["features:send","features:txhistory",1,0],["features:send","features:nft",1,0],["features:send","features:swap-v2",1,0],["features:send","features:manage-tokens",1,0],["features:send","domain:models",2,1],["features:send","domain:legacy",1,0],["features:send","domain:offramp",1,0],["features:send","domain:card",1,0],["features:send","domain:tokens",3,0],["features:send","domain:wallets",3,0],["features:send","domain:app-currency",3,0],["features:send","domain:transaction",5,0],["features:send","domain:txhistory",3,0],["features:send","domain:qr-scanning",2,0],["features:send","domain:settings",1,0],["features:send","domain:feedback",2,0],["features:send","domain:balance-hiding",2,0],["features:send","domain:nft",3,0],["features:send","domain:notifications",1,0],["features:send","domain:swap",1,0],["features:send","domain:account",2,0],["features:send","domain:staking",1,0],["features:tangempay","features:token-recieve",1,0],["features:tangempay","features:txhistory",1,0],["features:tangempay","features:tokendetails",1,0],["features:tangempay","domain:balance-hiding",2,0],["features:tangempay","domain:feedback",2,0],["features:tangempay","domain:models",3,0],["features:tangempay","domain:onramp",1,0],["features:tangempay","domain:visa",4,0],["features:tangempay","domain:wallets",3,0],["features:tangempay","features:kyc",1,0],["features:tangempay","features:wallet",1,0],["features:tangempay","features:hot-wallet",1,0],["features:tangempay","domain:appsflyer",1,0],["features:tangempay","domain:hot-wallet",1,0],["features:tangempay","data:visa",1,0],["features:approval","features:send",1,0],["features:approval","domain:models",2,0],["features:approval","domain:wallets",3,0],["features:approval","domain:transaction",2,0],["features:push-notification-settings","features:push-notifications",1,0],["features:push-notification-settings","features:wallet-settings",1,0],["features:push-notification-settings","domain:models",2,0],["features:push-notification-settings","domain:account",1,0],["features:push-notification-settings","domain:push-notification-preferences",1,0],["data:transaction","data:common",1,0],["data:transaction","domain:legacy",1,0],["data:transaction","domain:wallet-manager",1,0],["data:transaction","domain:wallets",1,0],["data:transaction","domain:tokens",1,0],["data:transaction","domain:transaction",2,0],["data:transaction","domain:demo",1,0],["data:transaction","features:send",1,0],["data:settings","domain:balance-hiding",1,0],["data:settings","domain:settings",1,0],["data:dynamic-addresses","data:common",1,0],["data:dynamic-addresses","domain:account",1,0],["data:dynamic-addresses","domain:common",1,0],["data:dynamic-addresses","domain:dynamic-addresses",2,0],["data:dynamic-addresses","domain:models",1,0],["data:dynamic-addresses","domain:wallet-manager",1,0],["data:app-theme","domain:app-theme",2,0],["data:yield-supply","domain:yield-supply",2,0],["data:yield-supply","domain:wallet-manager",1,0],["data:yield-supply","domain:legacy",1,0],["data:yield-supply","domain:txhistory",1,0],["data:txhistory","data:common",1,0],["data:txhistory","domain:legacy",1,0],["data:txhistory","domain:common",1,0],["data:txhistory","domain:wallet-manager",1,0],["data:txhistory","domain:models",1,0],["data:txhistory","domain:tokens",1,0],["data:txhistory","domain:txhistory",2,0],["data:txhistory","domain:express",1,0],["data:txhistory","domain:wallets",2,0],["data:txhistory","domain:account",2,0],["data:push-notification-preferences","domain:push-notification-preferences",1,0],["data:push-notification-preferences","domain:models",1,0],["data:card","domain:card",1,0],["data:card","domain:models",1,0],["data:nft","data:common",1,0],["data:nft","domain:card",1,0],["data:nft","domain:common",1,0],["data:nft","domain:models",1,0],["data:nft","domain:nft",2,0],["data:nft","domain:tokens",1,0],["data:nft","domain:wallet-manager",1,0],["data:nft","domain:wallets",1,0],["data:nft","domain:legacy",1,0],["data:nft","features:nft",1,0],["data:quotes","data:common",1,0],["data:quotes","domain:models",1,1],["data:quotes","domain:quotes",1,1],["data:wallet-manager","domain:wallets",2,0],["data:wallet-manager","domain:wallet-manager",1,0],["data:wallet-manager","domain:demo",1,0],["data:wallet-manager","domain:card",1,0],["data:wallet-manager","domain:transaction",2,0],["data:wallet-manager","domain:models",1,1],["data:wallet-manager","domain:tokens",1,0],["data:wallet-manager","domain:txhistory",1,0],["data:express","data:common",1,0],["data:express","domain:common",1,0],["data:express","domain:express",2,0],["data:express","domain:wallets",1,0],["data:express","domain:txhistory",1,0],["data:express","domain:models",1,1],["data:payment","data:common",1,0],["data:payment","data:wallets",1,0],["data:payment","domain:payment",2,0],["data:payment","domain:wallets",1,0],["data:payment","domain:models",1,0],["data:payment","domain:common",1,0],["data:payment","domain:legacy",1,0],["data:qr-scanning","domain:models",1,0],["data:qr-scanning","domain:qr-scanning",2,0],["data:qr-scanning","domain:tokens",1,0],["data:blockaid","data:common",1,0],["data:blockaid","domain:models",1,0],["data:blockaid","domain:blockaid",2,0],["data:app-currency","domain:core",1,0],["data:app-currency","domain:app-currency",2,0],["data:app-currency","data:common",1,0],["data:swap","data:common",1,0],["data:swap","data:express",1,0],["data:swap","domain:express",2,0],["data:swap","domain:swap",2,0],["data:swap","domain:wallets",2,0],["data:swap","domain:tokens",2,0],["data:swap","domain:legacy",1,0],["data:swap","domain:models",1,0],["data:swap","domain:quotes",1,0],["data:swap","domain:networks",1,0],["data:swap","domain:staking",2,0],["data:swap","domain:account",1,0],["data:earn","data:common",1,0],["data:earn","domain:earn",1,0],["data:earn","domain:common",1,0],["data:earn","domain:account",1,0],["data:wallet-connect","domain:account",2,0],["data:wallet-connect","domain:wallet-connect",2,0],["data:wallet-connect","domain:transaction",2,0],["data:wallet-connect","domain:wallets",2,0],["data:wallet-connect","domain:tokens",2,0],["data:wallet-connect","domain:models",1,0],["data:wallet-connect","domain:legacy",1,0],["data:wallet-connect","domain:wallet-manager",1,0],["data:wallet-connect","data:common",1,0],["data:wallet-connect","domain:blockaid",2,0],["data:visa","data:common",1,0],["data:visa","data:wallets",1,0],["data:visa","domain:visa",1,0],["data:visa","domain:card",1,0],["data:visa","domain:wallets",2,0],["data:visa","domain:legacy",2,0],["data:visa","domain:models",1,0],["data:visa","domain:app-currency",1,0],["data:visa","domain:tokens",2,0],["data:visa","domain:networks",1,0],["data:visa","domain:wallet-manager",1,0],["data:visa","domain:quotes",1,0],["data:visa","domain:common",1,0],["data:visa","features:swap",1,0],["data:balance-hiding","domain:balance-hiding",2,0],["data:feedback","features:hot-wallet",1,0],["data:feedback","domain:feedback",2,0],["data:feedback","domain:legacy",1,0],["data:feedback","domain:card",1,0],["data:feedback","domain:models",1,0],["data:feedback","domain:wallets",2,0],["data:search","data:common",1,0],["data:search","domain:search",1,0],["data:search","domain:common",1,0],["data:search","domain:account",1,0],["data:search","domain:markets",1,0],["data:search","domain:wallets",1,0],["data:search","domain:app-currency",1,0],["data:onramp","data:common",1,0],["data:onramp","domain:account",1,0],["data:onramp","domain:onramp",1,0],["data:onramp","domain:legacy",1,0],["data:onramp","domain:card",1,0],["data:onramp","domain:wallet-manager",1,0],["data:onramp","domain:app-theme",1,0],["data:onramp","domain:models",1,0],["data:onramp","domain:express",1,0],["data:onramp","domain:txhistory",1,0],["data:networks","data:common",1,0],["data:networks","data:dynamic-addresses",1,0],["data:networks","domain:card",1,0],["data:networks","domain:common",1,0],["data:networks","domain:legacy",1,0],["data:networks","domain:models",1,0],["data:networks","domain:networks",1,0],["data:networks","domain:wallet-manager",1,0],["data:common","domain:account",1,0],["data:common","domain:demo",1,0],["data:common","domain:legacy",1,0],["data:common","domain:card",1,0],["data:common","domain:models",1,0],["data:common","domain:tokens",1,0],["data:common","domain:wallets",2,0],["data:common","domain:express",1,0],["data:common","domain:networks",1,0],["data:common","domain:wallet-manager",1,0],["data:stories","domain:stories",2,0],["data:stories","domain:models",1,1],["data:stories","domain:wallets",1,0],["data:stories","features:referral",1,0],["data:news","data:common",1,0],["data:news","domain:news",1,0],["data:manage-tokens","domain:account",1,0],["data:manage-tokens","domain:demo",1,0],["data:manage-tokens","domain:models",1,0],["data:manage-tokens","domain:manage-tokens",1,0],["data:manage-tokens","domain:card",1,0],["data:manage-tokens","domain:wallets",2,0],["data:manage-tokens","domain:tokens",1,0],["data:manage-tokens","domain:legacy",2,0],["data:manage-tokens","data:common",1,0],["data:manage-tokens","data:tokens",1,0],["data:markets","domain:legacy",1,0],["data:markets","domain:markets",1,0],["data:markets","domain:models",1,0],["data:markets","domain:tokens",2,0],["data:markets","data:common",1,0],["data:staking","data:common",1,0],["data:staking","domain:tokens",1,0],["data:staking","domain:staking",1,0],["data:staking","domain:wallets",2,0],["data:staking","domain:legacy",1,0],["data:staking","domain:wallet-manager",1,0],["data:staking","domain:card",1,0],["data:staking","domain:models",1,0],["data:staking","features:staking",1,0],["data:address-book","domain:address-book",1,0],["data:address-book","domain:common",1,0],["data:address-book","domain:models",1,0],["data:assetsdiscovery","domain:assetsdiscovery",1,1],["data:assetsdiscovery","domain:tokens",2,0],["data:assetsdiscovery","domain:models",1,0],["data:assetsdiscovery","domain:wallet-manager",1,0],["data:assetsdiscovery","domain:wallets",1,0],["data:assetsdiscovery","data:common",1,0],["data:assetsdiscovery","data:wallet-manager",1,0],["data:wallets","data:common",1,0],["data:wallets","domain:account",1,0],["data:wallets","domain:card",1,0],["data:wallets","domain:dynamic-addresses",1,0],["data:wallets","domain:models",1,0],["data:wallets","domain:tokens",1,0],["data:wallets","domain:wallets",2,0],["data:wallets","domain:settings",1,0],["data:account","features:virtual-accounts",1,0],["data:account","domain:account",1,1],["data:account","domain:card",1,1],["data:account","domain:common",1,1],["data:account","domain:models",1,1],["data:account","domain:tokens",1,1],["data:account","domain:wallets",1,1],["data:account","domain:visa",1,1],["data:account","data:common",1,0],["data:hot-wallet","domain:hot-wallet",1,0],["data:hot-wallet","domain:models",1,0],["data:appsflyer","domain:appsflyer",1,0],["data:tokens","data:common",1,0],["data:tokens","data:networks",1,0],["data:tokens","domain:account",1,0],["data:tokens","domain:card",1,0],["data:tokens","domain:common",1,0],["data:tokens","domain:core",1,0],["data:tokens","domain:demo",1,0],["data:tokens","domain:express",1,0],["data:tokens","domain:legacy",1,0],["data:tokens","domain:models",1,0],["data:tokens","domain:staking",2,0],["data:tokens","domain:tokens",2,0],["data:tokens","domain:txhistory",1,0],["data:tokens","domain:wallet-manager",1,0],["data:tokens","domain:transaction",1,0],["data:tokens","domain:wallets",1,0],["data:tokens","features:send",1,0],["data:notifications","domain:notifications",2,0],["data:onboarding","domain:onboarding",1,0],["data:onboarding","domain:models",1,0],["data:analytics","domain:analytics",1,0],["data:analytics","domain:models",1,0],["data:analytics","domain:wallets",1,0],["data:analytics","data:common",1,0],["domain:transaction","domain:account",1,0],["domain:transaction","domain:common",1,0],["domain:transaction","domain:dynamic-addresses",2,0],["domain:transaction","domain:models",1,0],["domain:transaction","domain:legacy",1,0],["domain:transaction","domain:wallet-manager",1,0],["domain:transaction","domain:wallets",1,0],["domain:transaction","domain:tokens",2,0],["domain:transaction","domain:demo",1,0],["domain:transaction","domain:card",1,0],["domain:transaction","domain:notifications",1,0],["domain:transaction","domain:networks",1,1],["domain:settings","domain:balance-hiding",1,0],["domain:settings","domain:wallets",1,0],["domain:dynamic-addresses","domain:core",1,1],["domain:dynamic-addresses","domain:models",1,0],["domain:dynamic-addresses","domain:wallet-manager",1,0],["domain:dynamic-addresses","domain:wallets",1,0],["domain:app-theme","domain:core",1,0],["domain:yield-supply","domain:account",1,0],["domain:yield-supply","domain:models",2,1],["domain:yield-supply","domain:transaction",2,0],["domain:yield-supply","domain:legacy",1,0],["domain:yield-supply","domain:blockaid",2,0],["domain:yield-supply","domain:quotes",1,0],["domain:yield-supply","domain:tokens",1,0],["domain:yield-supply","domain:app-currency",1,0],["domain:txhistory","domain:core",1,0],["domain:txhistory","domain:express",1,1],["domain:txhistory","domain:models",1,0],["domain:txhistory","domain:tokens",1,0],["domain:txhistory","domain:wallets",1,0],["domain:txhistory","domain:visa",1,0],["domain:push-notification-preferences","domain:models",1,0],["domain:card","domain:demo",1,0],["domain:card","domain:core",1,0],["domain:card","domain:legacy",1,0],["domain:card","domain:wallet-manager",1,0],["domain:card","domain:models",1,0],["domain:card","domain:tokens",1,0],["domain:card","domain:wallets",1,0],["domain:card","domain:visa",1,0],["domain:nft","domain:core",2,0],["domain:nft","domain:account",1,0],["domain:nft","domain:models",2,0],["domain:nft","domain:networks",1,0],["domain:nft","domain:quotes",1,0],["domain:nft","domain:tokens",3,0],["domain:nft","domain:wallets",2,0],["domain:quotes","domain:core",1,1],["domain:quotes","domain:models",1,1],["domain:wallet-manager","domain:models",2,1],["domain:wallet-manager","domain:core",1,0],["domain:wallet-manager","domain:demo",1,0],["domain:wallet-manager","domain:wallets",1,0],["domain:wallet-manager","domain:tokens",1,0],["domain:wallet-manager","domain:app-currency",1,0],["domain:wallet-manager","domain:transaction",1,0],["domain:wallet-manager","domain:txhistory",1,0],["domain:express","domain:models",1,1],["domain:express","domain:tokens",1,0],["domain:payment","domain:models",2,1],["domain:qr-scanning","domain:models",2,1],["domain:qr-scanning","domain:account",1,0],["domain:qr-scanning","domain:common",1,0],["domain:qr-scanning","domain:networks",1,0],["domain:qr-scanning","domain:tokens",1,0],["domain:blockaid","domain:models",1,0],["domain:blockaid","domain:core",1,0],["domain:app-currency","domain:core",1,0],["domain:swap","domain:models",2,0],["domain:swap","domain:express",2,0],["domain:swap","domain:wallets",1,0],["domain:swap","domain:tokens",2,0],["domain:legacy","domain:core",1,0],["domain:legacy","domain:demo",1,0],["domain:legacy","domain:models",1,0],["domain:legacy","domain:tokens",1,0],["domain:legacy","domain:transaction",1,0],["domain:legacy","domain:txhistory",1,0],["domain:legacy","domain:wallets",1,0],["domain:earn","domain:core",1,1],["domain:earn","domain:models",1,1],["domain:earn","domain:account",1,0],["domain:earn","domain:common",1,0],["domain:wallet-connect","domain:blockaid",2,0],["domain:wallet-connect","domain:core",1,0],["domain:wallet-connect","domain:models",2,0],["domain:wallet-connect","domain:tokens",2,0],["domain:wallet-connect","domain:wallets",2,0],["domain:wallet-connect","domain:transaction",3,0],["domain:models","domain:core",1,1],["domain:visa","domain:models",2,1],["domain:visa","domain:app-currency",1,0],["domain:visa","domain:core",1,0],["domain:visa","domain:tokens",1,0],["domain:visa","domain:wallets",1,0],["domain:balance-hiding","domain:core",1,0],["domain:balance-hiding","domain:settings",1,0],["domain:feedback","domain:models",2,0],["domain:feedback","domain:wallets",2,0],["domain:feedback","domain:visa",2,0],["domain:search","domain:core",1,1],["domain:search","domain:models",1,1],["domain:search","domain:common",1,0],["domain:search","domain:markets",1,0],["domain:search","domain:wallets",1,0],["domain:search","domain:app-currency",1,0],["domain:search","domain:account",2,0],["domain:onramp","domain:tokens",2,1],["domain:onramp","domain:wallets",2,1],["domain:onramp","domain:core",2,1],["domain:onramp","domain:settings",1,1],["domain:onramp","domain:stories",1,0],["domain:onramp","domain:models",1,1],["domain:networks","domain:core",1,1],["domain:networks","domain:models",1,1],["domain:networks","domain:wallets",1,1],["domain:common","domain:models",1,1],["domain:stories","domain:models",1,0],["domain:stories","domain:settings",1,0],["domain:stories","domain:wallets",1,0],["domain:news","domain:core",1,1],["domain:news","domain:models",1,1],["domain:manage-tokens","domain:core",1,1],["domain:manage-tokens","domain:networks",1,1],["domain:manage-tokens","domain:quotes",1,1],["domain:manage-tokens","domain:wallet-manager",1,1],["domain:manage-tokens","domain:wallets",2,0],["domain:manage-tokens","domain:tokens",3,0],["domain:manage-tokens","domain:staking",1,0],["domain:manage-tokens","domain:card",1,0],["domain:manage-tokens","domain:legacy",1,0],["domain:manage-tokens","domain:models",1,0],["domain:markets","domain:app-currency",1,1],["domain:markets","domain:card",1,1],["domain:markets","domain:core",2,1],["domain:markets","domain:legacy",1,1],["domain:markets","domain:models",2,1],["domain:markets","domain:networks",1,1],["domain:markets","domain:staking",1,1],["domain:markets","domain:quotes",1,1],["domain:markets","domain:wallet-manager",1,1],["domain:markets","domain:wallets",2,1],["domain:markets","domain:stories",1,1],["domain:markets","domain:tokens",3,1],["domain:markets","domain:settings",1,0],["domain:staking","domain:core",2,1],["domain:staking","domain:legacy",1,0],["domain:staking","domain:wallet-manager",1,0],["domain:staking","domain:models",2,0],["domain:staking","domain:tokens",1,0],["domain:staking","domain:wallets",1,0],["domain:offramp","domain:core",1,1],["domain:offramp","domain:models",1,1],["domain:address-book","domain:core",1,1],["domain:address-book","domain:models",1,1],["domain:address-book","domain:common",1,0],["domain:address-book","domain:transaction",1,0],["domain:address-book","domain:tokens",1,0],["domain:assetsdiscovery","domain:core",1,1],["domain:assetsdiscovery","domain:models",1,0],["domain:assetsdiscovery","domain:account",1,0],["domain:wallets","domain:core",1,1],["domain:wallets","domain:common",1,1],["domain:wallets","domain:legacy",1,0],["domain:wallets","domain:wallet-manager",1,0],["domain:wallets","domain:account",1,0],["domain:wallets","domain:models",2,0],["domain:wallets","domain:tokens",2,0],["domain:wallets","domain:card",1,0],["domain:wallets","domain:notifications",1,0],["domain:wallets","domain:demo",1,0],["domain:wallets","domain:hot-wallet",1,0],["domain:wallets","domain:qr-scanning",2,0],["domain:account","domain:common",2,1],["domain:account","domain:core",2,1],["domain:account","domain:models",2,1],["domain:account","domain:wallets",2,1],["domain:account","domain:yield-supply",1,1],["domain:account","domain:card",1,1],["domain:account","domain:express",1,1],["domain:account","domain:quotes",1,1],["domain:account","domain:networks",1,1],["domain:account","domain:nft",1,1],["domain:account","domain:referral",1,1],["domain:account","domain:staking",1,1],["domain:account","domain:tokens",2,1],["domain:account","domain:visa",1,1],["domain:account","domain:wallet-manager",1,1],["domain:hot-wallet","domain:core",1,0],["domain:hot-wallet","domain:models",1,0],["domain:hot-wallet","domain:wallets",1,0],["domain:tokens","domain:core",1,1],["domain:tokens","domain:common",1,0],["domain:tokens","domain:card",1,0],["domain:tokens","domain:express",1,0],["domain:tokens","domain:models",2,0],["domain:tokens","domain:legacy",1,0],["domain:tokens","domain:wallet-manager",1,0],["domain:tokens","domain:staking",2,0],["domain:tokens","domain:visa",1,0],["domain:tokens","domain:txhistory",2,0],["domain:tokens","domain:transaction",1,0],["domain:tokens","domain:wallets",1,0],["domain:tokens","domain:app-currency",1,0],["domain:tokens","domain:onramp",1,0],["domain:tokens","domain:settings",1,0],["domain:tokens","features:swap",3,0],["domain:tokens","domain:stories",3,0],["domain:tokens","domain:networks",1,0],["domain:tokens","domain:quotes",1,0],["domain:tokens","domain:yield-supply",1,0],["domain:tokens","features:staking",1,0],["domain:tokens","features:markets",1,0],["domain:tokens","features:virtual-accounts",1,0],["domain:notifications","domain:core",1,0],["domain:notifications","domain:models",1,0],["domain:notifications","domain:wallets",1,0],["domain:notifications","domain:tokens",1,0],["domain:onboarding","domain:models",1,0],["domain:analytics","domain:core",1,0],["domain:analytics","domain:models",1,0],["domain:analytics","domain:wallets",1,0]]}, module: {"n":[[":data:account","account","data",0,9],[":data:address-book","address-book","data",0,3],[":data:analytics","analytics","data",0,4],[":data:app-currency","app-currency","data",0,4],[":data:app-theme","app-theme","data",0,2],[":data:appsflyer","appsflyer","data",0,1],[":data:assetsdiscovery","assetsdiscovery","data",0,8],[":data:balance-hiding","balance-hiding","data",0,2],[":data:blockaid","blockaid","data",0,4],[":data:card","card","data",2,2],[":data:common","common","data",32,11],[":data:dynamic-addresses","dynamic-addresses","data",1,7],[":data:earn","earn","data",0,4],[":data:express","express","data",1,7],[":data:feedback","feedback","data",0,8],[":data:hot-wallet","hot-wallet","data",0,2],[":data:manage-tokens","manage-tokens","data",0,11],[":data:markets","markets","data",0,6],[":data:networks","networks","data",1,8],[":data:news","news","data",0,2],[":data:nft","nft","data",0,11],[":data:notifications","notifications","data",0,2],[":data:onboarding","onboarding","data",0,2],[":data:onramp","onramp","data",0,10],[":data:payment","payment","data",0,8],[":data:push-notification-preferences","push-notification-preferences","data",0,2],[":data:qr-scanning","qr-scanning","data",0,4],[":data:quotes","quotes","data",0,3],[":data:search","search","data",0,7],[":data:settings","settings","data",0,2],[":data:staking","staking","data",0,10],[":data:stories","stories","data",0,5],[":data:swap","swap","data",0,17],[":data:tokens","tokens","data",1,19],[":data:transaction","transaction","data",0,9],[":data:txhistory","txhistory","data",0,13],[":data:visa","visa","data",1,16],[":data:wallet-connect","wallet-connect","data",0,16],[":data:wallet-manager","wallet-manager","data",1,10],[":data:wallets","wallets","data",2,9],[":data:yield-supply","yield-supply","data",0,5],[":domain:account","account","domain",37,5],[":domain:account:status","account:status","domain",29,16],[":domain:address-book","address-book","domain",2,5],[":domain:analytics","analytics","domain",2,3],[":domain:app-currency","app-currency","domain",22,2],[":domain:app-currency:models","app-currency:models","domain",33,0],[":domain:app-theme","app-theme","domain",3,2],[":domain:app-theme:models","app-theme:models","domain",5,0],[":domain:appsflyer","appsflyer","domain",2,0],[":domain:assetsdiscovery","assetsdiscovery","domain",4,3],[":domain:balance-hiding","balance-hiding","domain",20,3],[":domain:balance-hiding:models","balance-hiding:models","domain",22,0],[":domain:blockaid","blockaid","domain",3,3],[":domain:blockaid:models","blockaid:models","domain",7,0],[":domain:card","card","domain",43,8],[":domain:common","common","domain",27,1],[":domain:core","core","domain",44,0],[":domain:demo","demo","domain",16,1],[":domain:demo:models","demo:models","domain",3,0],[":domain:dynamic-addresses","dynamic-addresses","domain",5,5],[":domain:dynamic-addresses:models","dynamic-addresses:models","domain",4,0],[":domain:earn","earn","domain",2,4],[":domain:express","express","domain",5,2],[":domain:express:models","express:models","domain",15,1],[":domain:feedback","feedback","domain",15,4],[":domain:feedback:models","feedback:models","domain",16,3],[":domain:hot-wallet","hot-wallet","domain",7,3],[":domain:legacy","legacy","domain",38,7],[":domain:manage-tokens","manage-tokens","domain",7,12],[":domain:manage-tokens:models","manage-tokens:models","domain",6,2],[":domain:markets","markets","domain",8,16],[":domain:markets:models","markets:models","domain",9,3],[":domain:models","models","domain",146,1],[":domain:networks","networks","domain",12,3],[":domain:news","news","domain",2,2],[":domain:nft","nft","domain",6,10],[":domain:nft:models","nft:models","domain",7,3],[":domain:notifications","notifications","domain",9,5],[":domain:notifications:models","notifications:models","domain",9,0],[":domain:offramp","offramp","domain",6,2],[":domain:onboarding","onboarding","domain",2,1],[":domain:onramp","onramp","domain",5,6],[":domain:onramp:models","onramp:models","domain",8,4],[":domain:payment","payment","domain",1,2],[":domain:payment:models","payment:models","domain",2,1],[":domain:push-notification-preferences","push-notification-preferences","domain",4,1],[":domain:qr-scanning","qr-scanning","domain",6,6],[":domain:qr-scanning:models","qr-scanning:models","domain",8,1],[":domain:quotes","quotes","domain",12,2],[":domain:referral","referral","domain",2,0],[":domain:search","search","domain",2,8],[":domain:settings","settings","domain",27,2],[":domain:staking","staking","domain",15,7],[":domain:staking:models","staking:models","domain",8,2],[":domain:stories","stories","domain",9,4],[":domain:stories:models","stories:models","domain",9,0],[":domain:swap","swap","domain",4,5],[":domain:swap:models","swap:models","domain",8,3],[":domain:tokens","tokens","domain",37,27],[":domain:tokens:models","tokens:models","domain",77,4],[":domain:transaction","transaction","domain",24,15],[":domain:transaction:models","transaction:models","domain",24,0],[":domain:txhistory","txhistory","domain",11,7],[":domain:txhistory:models","txhistory:models","domain",17,0],[":domain:visa","visa","domain",12,6],[":domain:visa:models","visa:models","domain",9,1],[":domain:wallet-connect","wallet-connect","domain",4,8],[":domain:wallet-connect:models","wallet-connect:models","domain",4,5],[":domain:wallet-manager","wallet-manager","domain",25,9],[":domain:wallet-manager:models","wallet-manager:models","domain",1,1],[":domain:wallets","wallets","domain",55,15],[":domain:wallets:models","wallets:models","domain",88,1],[":domain:yield-supply","yield-supply","domain",7,11],[":domain:yield-supply:models","yield-supply:models","domain",9,1],[":features:account:api","account:api","features",5,6],[":features:account:impl","account:impl","features",0,14],[":features:address-book:api","address-book:api","features",2,1],[":features:address-book:impl","address-book:impl","features",0,4],[":features:approval:api","approval:api","features",3,2],[":features:approval:impl","approval:impl","features",0,7],[":features:biometry:api","biometry:api","features",3,0],[":features:biometry:impl","biometry:impl","features",0,6],[":features:common-features:api","common-features:api","features",11,3],[":features:common-features:impl","common-features:impl","features",0,19],[":features:create-wallet-selection:api","create-wallet-selection:api","features",2,1],[":features:create-wallet-selection:impl","create-wallet-selection:impl","features",0,7],[":features:create-wallet-start:api","create-wallet-start:api","features",1,1],[":features:create-wallet-start:impl","create-wallet-start:impl","features",0,9],[":features:details:api","details:api","features",2,1],[":features:details:impl","details:impl","features",0,23],[":features:disclaimer:api","disclaimer:api","features",2,0],[":features:disclaimer:impl","disclaimer:impl","features",0,6],[":features:feed:api","feed:api","features",4,6],[":features:feed:impl","feed:impl","features",0,36],[":features:home:api","home:api","features",1,0],[":features:home:impl","home:impl","features",0,7],[":features:hot-wallet:api","hot-wallet:api","features",9,3],[":features:hot-wallet:impl","hot-wallet:impl","features",0,12],[":features:kyc:api","kyc:api","features",4,1],[":features:kyc:impl","kyc:impl","features",0,3],[":features:kyc:mock","kyc:mock","features",0,1],[":features:manage-tokens:api","manage-tokens:api","features",6,3],[":features:manage-tokens:impl","manage-tokens:impl","features",0,16],[":features:markets:api","markets:api","features",4,4],[":features:markets:impl","markets:impl","features",0,32],[":features:nft:api","nft:api","features",5,4],[":features:nft:impl","nft:impl","features",0,14],[":features:onboarding-v2:api","onboarding-v2:api","features",7,1],[":features:onboarding-v2:impl","onboarding-v2:impl","features",0,23],[":features:onramp:api","onramp:api","features",5,3],[":features:onramp:impl","onramp:impl","features",0,27],[":features:promo-banners:api","promo-banners:api","features",3,0],[":features:promo-banners:impl","promo-banners:impl","features",0,3],[":features:push-notification-settings:api","push-notification-settings:api","features",4,1],[":features:push-notification-settings:impl","push-notification-settings:impl","features",0,6],[":features:push-notifications:api","push-notifications:api","features",9,0],[":features:push-notifications:impl","push-notifications:impl","features",0,8],[":features:qr-scanning:api","qr-scanning:api","features",1,1],[":features:qr-scanning:impl","qr-scanning:impl","features",0,4],[":features:rating:api","rating:api","features",2,0],[":features:rating:impl","rating:impl","features",0,1],[":features:referral:api","referral:api","features",1,1],[":features:referral:data","referral:data","features",0,8],[":features:referral:domain","referral:domain","features",4,10],[":features:referral:impl","referral:impl","features",0,15],[":features:send:api","send:api","features",13,8],[":features:send:impl","send:impl","features",1,32],[":features:staking:api","staking:api","features",4,4],[":features:staking:impl","staking:impl","features",0,23],[":features:stories:api","stories:api","features",1,0],[":features:stories:impl","stories:impl","features",0,3],[":features:survey:api","survey:api","features",2,0],[":features:survey:impl","survey:impl","features",0,5],[":features:swap-v2:api","swap-v2:api","features",3,8],[":features:swap-v2:impl","swap-v2:impl","features",0,30],[":features:swap:api","swap:api","features",6,3],[":features:swap:data","swap:data","features",0,14],[":features:swap:domain","swap:domain","features",5,29],[":features:swap:domain:api","swap:domain:api","features",6,4],[":features:swap:domain:models","swap:domain:models","features",7,3],[":features:swap:impl","swap:impl","features",0,39],[":features:tangempay:details:api","tangempay:details:api","features",3,2],[":features:tangempay:details:impl","tangempay:details:impl","features",0,13],[":features:tangempay:main:api","tangempay:main:api","features",2,0],[":features:tangempay:main:impl","tangempay:main:impl","features",0,1],[":features:tangempay:onboarding:api","tangempay:onboarding:api","features",1,1],[":features:tangempay:onboarding:impl","tangempay:onboarding:impl","features",0,11],[":features:tester:api","tester:api","features",4,0],[":features:tester:impl","tester:impl","features",0,15],[":features:token-recieve:api","token-recieve:api","features",9,1],[":features:token-recieve:impl","token-recieve:impl","features",0,6],[":features:tokendetails:api","tokendetails:api","features",4,3],[":features:tokendetails:impl","tokendetails:impl","features",0,48],[":features:txhistory:api","txhistory:api","features",5,3],[":features:txhistory:impl","txhistory:impl","features",0,13],[":features:usedesk:api","usedesk:api","features",1,0],[":features:usedesk:impl","usedesk:impl","features",0,1],[":features:virtual-accounts:details:api","virtual-accounts:details:api","features",3,0],[":features:virtual-accounts:details:impl","virtual-accounts:details:impl","features",0,1],[":features:virtual-accounts:main:api","virtual-accounts:main:api","features",2,0],[":features:virtual-accounts:main:impl","virtual-accounts:main:impl","features",0,1],[":features:virtual-accounts:onboarding:api","virtual-accounts:onboarding:api","features",1,0],[":features:virtual-accounts:onboarding:impl","virtual-accounts:onboarding:impl","features",0,1],[":features:wallet-settings:api","wallet-settings:api","features",3,1],[":features:wallet-settings:impl","wallet-settings:impl","features",0,24],[":features:wallet:api","wallet:api","features",14,2],[":features:wallet:impl","wallet:impl","features",0,73],[":features:walletconnect:api","walletconnect:api","features",1,1],[":features:walletconnect:impl","walletconnect:impl","features",0,24],[":features:welcome:api","welcome:api","features",1,1],[":features:welcome:impl","welcome:impl","features",0,11],[":features:yield-supply:api","yield-supply:api","features",3,4],[":features:yield-supply:impl","yield-supply:impl","features",0,19]],"e":[[":features:usedesk:impl",":features:usedesk:api",1,0],[":features:home:impl",":features:home:api",1,0],[":features:home:impl",":domain:common",1,0],[":features:home:impl",":domain:models",1,0],[":features:home:impl",":domain:card",1,0],[":features:home:impl",":domain:settings",1,0],[":features:home:impl",":domain:wallets",1,0],[":features:home:impl",":features:referral:domain",1,0],[":features:create-wallet-start:impl",":features:create-wallet-start:api",1,0],[":features:create-wallet-start:impl",":features:hot-wallet:api",1,0],[":features:create-wallet-start:impl",":features:onboarding-v2:api",1,0],[":features:create-wallet-start:impl",":domain:card",1,0],[":features:create-wallet-start:impl",":domain:settings",1,0],[":features:create-wallet-start:impl",":domain:wallets",1,0],[":features:create-wallet-start:impl",":domain:models",1,0],[":features:create-wallet-start:impl",":domain:hot-wallet",1,0],[":features:create-wallet-start:impl",":domain:wallets:models",1,0],[":features:create-wallet-start:api",":domain:models",1,0],[":features:yield-supply:impl",":features:yield-supply:api",1,0],[":features:yield-supply:impl",":domain:models",1,0],[":features:yield-supply:impl",":domain:app-currency:models",1,0],[":features:yield-supply:impl",":domain:app-currency",1,0],[":features:yield-supply:impl",":domain:account:status",1,0],[":features:yield-supply:impl",":domain:wallets:models",1,0],[":features:yield-supply:impl",":domain:wallets",1,0],[":features:yield-supply:impl",":domain:tokens:models",1,0],[":features:yield-supply:impl",":domain:tokens",1,0],[":features:yield-supply:impl",":domain:transaction:models",1,0],[":features:yield-supply:impl",":domain:transaction",1,0],[":features:yield-supply:impl",":domain:yield-supply:models",1,0],[":features:yield-supply:impl",":domain:yield-supply",1,0],[":features:yield-supply:impl",":domain:stories:models",1,0],[":features:yield-supply:impl",":domain:stories",1,0],[":features:yield-supply:impl",":domain:feedback:models",1,0],[":features:yield-supply:impl",":domain:feedback",1,0],[":features:yield-supply:impl",":domain:balance-hiding:models",1,0],[":features:yield-supply:impl",":domain:balance-hiding",1,0],[":features:yield-supply:api",":domain:models",1,0],[":features:yield-supply:api",":domain:wallets:models",1,0],[":features:yield-supply:api",":domain:tokens:models",1,0],[":features:yield-supply:api",":domain:app-currency:models",1,0],[":features:txhistory:impl",":features:txhistory:api",1,0],[":features:txhistory:impl",":domain:models",1,0],[":features:txhistory:impl",":domain:legacy",1,0],[":features:txhistory:impl",":domain:card",1,0],[":features:txhistory:impl",":domain:txhistory",1,0],[":features:txhistory:impl",":domain:txhistory:models",1,0],[":features:txhistory:impl",":domain:wallets",1,0],[":features:txhistory:impl",":domain:wallets:models",1,0],[":features:txhistory:impl",":domain:tokens",1,0],[":features:txhistory:impl",":domain:tokens:models",1,0],[":features:txhistory:impl",":domain:balance-hiding",1,0],[":features:txhistory:impl",":domain:balance-hiding:models",1,0],[":features:txhistory:impl",":domain:account:status",1,0],[":features:txhistory:api",":domain:models",1,1],[":features:txhistory:api",":domain:tokens:models",1,0],[":features:txhistory:api",":domain:wallets:models",1,0],[":features:referral:impl",":features:referral:api",1,1],[":features:referral:impl",":features:common-features:api",1,1],[":features:referral:impl",":domain:demo",1,0],[":features:referral:impl",":domain:wallets",1,0],[":features:referral:impl",":domain:legacy",1,0],[":features:referral:impl",":domain:card",1,0],[":features:referral:impl",":domain:wallets:models",1,0],[":features:referral:impl",":domain:notifications:models",1,0],[":features:referral:impl",":domain:account:status",1,0],[":features:referral:impl",":domain:account",1,0],[":features:referral:impl",":domain:balance-hiding",1,0],[":features:referral:impl",":domain:balance-hiding:models",1,0],[":features:referral:impl",":domain:app-currency",1,0],[":features:referral:impl",":domain:app-currency:models",1,0],[":features:referral:impl",":features:referral:domain",1,0],[":features:referral:api",":domain:models",1,1],[":features:referral:data",":data:common",1,0],[":features:referral:data",":domain:common",1,0],[":features:referral:data",":domain:legacy",1,0],[":features:referral:data",":domain:models",1,0],[":features:referral:data",":domain:tokens:models",1,0],[":features:referral:data",":domain:wallets:models",1,0],[":features:referral:data",":domain:referral",1,0],[":features:referral:data",":features:referral:domain",1,0],[":features:referral:domain",":domain:account:status",1,0],[":features:referral:domain",":domain:card",1,0],[":features:referral:domain",":domain:common",1,0],[":features:referral:domain",":domain:models",1,0],[":features:referral:domain",":domain:tokens",1,0],[":features:referral:domain",":domain:tokens:models",1,0],[":features:referral:domain",":domain:wallets",1,0],[":features:referral:domain",":domain:wallets:models",1,0],[":features:referral:domain",":features:tester:api",1,0],[":features:referral:domain",":features:wallet:api",1,0],[":features:wallet-settings:impl",":features:wallet-settings:api",1,0],[":features:wallet-settings:impl",":features:manage-tokens:api",1,0],[":features:wallet-settings:impl",":features:nft:api",1,0],[":features:wallet-settings:impl",":features:onboarding-v2:api",1,0],[":features:wallet-settings:impl",":features:push-notifications:api",1,0],[":features:wallet-settings:impl",":features:push-notification-settings:api",1,0],[":features:wallet-settings:impl",":features:hot-wallet:api",1,0],[":features:wallet-settings:impl",":features:wallet:api",1,0],[":features:wallet-settings:impl",":domain:account:status",1,0],[":features:wallet-settings:impl",":domain:app-currency",1,0],[":features:wallet-settings:impl",":domain:app-currency:models",1,0],[":features:wallet-settings:impl",":domain:balance-hiding",1,0],[":features:wallet-settings:impl",":domain:balance-hiding:models",1,0],[":features:wallet-settings:impl",":domain:legacy",1,0],[":features:wallet-settings:impl",":domain:card",1,0],[":features:wallet-settings:impl",":domain:models",1,0],[":features:wallet-settings:impl",":domain:wallets",1,0],[":features:wallet-settings:impl",":domain:wallets:models",1,0],[":features:wallet-settings:impl",":domain:demo",1,0],[":features:wallet-settings:impl",":domain:nft",1,0],[":features:wallet-settings:impl",":domain:settings",1,0],[":features:wallet-settings:impl",":domain:notifications:models",1,0],[":features:wallet-settings:impl",":domain:notifications",1,0],[":features:wallet-settings:impl",":domain:assetsdiscovery",1,0],[":features:wallet-settings:api",":domain:models",1,0],[":features:token-recieve:impl",":domain:models",1,0],[":features:token-recieve:impl",":domain:transaction",1,0],[":features:token-recieve:impl",":domain:transaction:models",1,0],[":features:token-recieve:impl",":domain:tokens",1,0],[":features:token-recieve:impl",":domain:tokens:models",1,0],[":features:token-recieve:impl",":features:token-recieve:api",1,0],[":features:token-recieve:api",":domain:models",1,0],[":features:rating:impl",":features:rating:api",1,0],[":features:kyc:impl",":features:kyc:api",1,0],[":features:kyc:impl",":domain:visa",1,0],[":features:kyc:impl",":domain:wallets:models",1,0],[":features:kyc:mock",":features:kyc:api",1,0],[":features:kyc:api",":domain:models",1,0],[":features:disclaimer:impl",":domain:models",1,0],[":features:disclaimer:impl",":domain:card",1,0],[":features:disclaimer:impl",":domain:settings",1,0],[":features:disclaimer:impl",":domain:notifications",1,0],[":features:disclaimer:impl",":features:disclaimer:api",1,0],[":features:disclaimer:impl",":features:push-notifications:api",1,0],[":features:nft:impl",":features:common-features:api",1,0],[":features:nft:impl",":features:nft:api",1,0],[":features:nft:impl",":features:token-recieve:api",1,0],[":features:nft:impl",":domain:account:status",1,0],[":features:nft:impl",":domain:wallets",1,0],[":features:nft:impl",":domain:app-currency:models",1,0],[":features:nft:impl",":domain:app-currency",1,0],[":features:nft:impl",":domain:models",1,0],[":features:nft:impl",":domain:nft",1,0],[":features:nft:impl",":domain:nft:models",1,0],[":features:nft:impl",":domain:tokens:models",1,0],[":features:nft:impl",":domain:wallets:models",1,0],[":features:nft:impl",":domain:transaction",1,0],[":features:nft:impl",":domain:tokens",1,0],[":features:nft:api",":domain:models",1,0],[":features:nft:api",":domain:nft:models",1,0],[":features:nft:api",":domain:wallets:models",1,0],[":features:nft:api",":domain:account",1,0],[":features:tokendetails:impl",":features:rating:api",1,0],[":features:tokendetails:impl",":domain:account:status",1,0],[":features:tokendetails:impl",":domain:app-currency",1,0],[":features:tokendetails:impl",":domain:app-currency:models",1,0],[":features:tokendetails:impl",":domain:balance-hiding",1,0],[":features:tokendetails:impl",":domain:balance-hiding:models",1,0],[":features:tokendetails:impl",":domain:card",1,0],[":features:tokendetails:impl",":domain:demo",1,0],[":features:tokendetails:impl",":domain:dynamic-addresses",1,0],[":features:tokendetails:impl",":domain:dynamic-addresses:models",1,0],[":features:tokendetails:impl",":domain:feedback",1,0],[":features:tokendetails:impl",":domain:feedback:models",1,0],[":features:tokendetails:impl",":domain:markets:models",1,0],[":features:tokendetails:impl",":domain:models",1,0],[":features:tokendetails:impl",":domain:notifications:models",1,0],[":features:tokendetails:impl",":domain:offramp",1,0],[":features:tokendetails:impl",":domain:onramp",1,0],[":features:tokendetails:impl",":domain:onramp:models",1,0],[":features:tokendetails:impl",":domain:stories",1,0],[":features:tokendetails:impl",":domain:stories:models",1,0],[":features:tokendetails:impl",":domain:quotes",1,0],[":features:tokendetails:impl",":domain:settings",1,0],[":features:tokendetails:impl",":domain:staking",1,0],[":features:tokendetails:impl",":domain:tokens",1,0],[":features:tokendetails:impl",":domain:tokens:models",1,0],[":features:tokendetails:impl",":domain:transaction",1,0],[":features:tokendetails:impl",":domain:transaction:models",1,0],[":features:tokendetails:impl",":domain:txhistory",1,0],[":features:tokendetails:impl",":domain:txhistory:models",1,0],[":features:tokendetails:impl",":domain:wallets",1,0],[":features:tokendetails:impl",":domain:wallets:models",1,0],[":features:tokendetails:impl",":domain:yield-supply",1,0],[":features:tokendetails:impl",":domain:yield-supply:models",1,0],[":features:tokendetails:impl",":features:swap:domain",1,0],[":features:tokendetails:impl",":features:swap:domain:api",1,0],[":features:tokendetails:impl",":features:swap:domain:models",1,0],[":features:tokendetails:impl",":features:tokendetails:api",1,0],[":features:tokendetails:impl",":features:wallet:api",1,0],[":features:tokendetails:impl",":features:staking:api",1,0],[":features:tokendetails:impl",":features:markets:api",1,0],[":features:tokendetails:impl",":features:onramp:api",1,0],[":features:tokendetails:impl",":features:push-notifications:api",1,0],[":features:tokendetails:impl",":features:swap:api",1,0],[":features:tokendetails:impl",":features:txhistory:api",1,0],[":features:tokendetails:impl",":features:send:api",1,0],[":features:tokendetails:impl",":features:token-recieve:api",1,0],[":features:tokendetails:impl",":features:yield-supply:api",1,0],[":features:tokendetails:impl",":features:common-features:api",1,0],[":features:tokendetails:api",":domain:models",1,1],[":features:tokendetails:api",":domain:tokens:models",1,0],[":features:tokendetails:api",":domain:wallets:models",1,0],[":features:qr-scanning:impl",":features:qr-scanning:api",1,0],[":features:qr-scanning:impl",":domain:qr-scanning",1,0],[":features:qr-scanning:impl",":domain:qr-scanning:models",1,0],[":features:qr-scanning:impl",":data:card",1,0],[":features:qr-scanning:api",":domain:qr-scanning:models",1,0],[":features:swap:impl",":features:common-features:api",1,0],[":features:swap:impl",":data:common",1,0],[":features:swap:impl",":domain:models",1,0],[":features:swap:impl",":domain:account",2,0],[":features:swap:impl",":domain:app-currency",1,0],[":features:swap:impl",":domain:app-currency:models",1,0],[":features:swap:impl",":domain:balance-hiding",1,0],[":features:swap:impl",":domain:balance-hiding:models",1,0],[":features:swap:impl",":domain:tokens",1,0],[":features:swap:impl",":domain:tokens:models",1,0],[":features:swap:impl",":domain:transaction",1,0],[":features:swap:impl",":domain:transaction:models",1,0],[":features:swap:impl",":domain:wallets",1,0],[":features:swap:impl",":domain:wallets:models",1,0],[":features:swap:impl",":domain:settings",1,0],[":features:swap:impl",":domain:staking",1,0],[":features:swap:impl",":domain:feedback",1,0],[":features:swap:impl",":domain:feedback:models",1,0],[":features:swap:impl",":domain:stories",1,0],[":features:swap:impl",":domain:stories:models",1,0],[":features:swap:impl",":domain:txhistory",1,0],[":features:swap:impl",":domain:txhistory:models",1,0],[":features:swap:impl",":domain:express:models",1,0],[":features:swap:impl",":domain:account:status",1,0],[":features:swap:impl",":domain:card",1,0],[":features:swap:impl",":domain:visa",1,0],[":features:swap:impl",":domain:markets",1,0],[":features:swap:impl",":domain:swap",1,0],[":features:swap:impl",":domain:swap:models",1,0],[":features:swap:impl",":features:swap:domain",1,0],[":features:swap:impl",":features:swap:domain:api",1,0],[":features:swap:impl",":features:swap:domain:models",1,0],[":features:swap:impl",":features:wallet:api",1,0],[":features:swap:impl",":features:swap:api",2,0],[":features:swap:impl",":features:send:api",1,0],[":features:swap:impl",":features:send:impl",1,0],[":features:swap:impl",":features:feed:api",1,0],[":features:swap:impl",":features:tokendetails:api",1,0],[":features:swap:impl",":features:approval:api",1,0],[":features:swap:api",":domain:models",1,1],[":features:swap:api",":domain:tokens:models",1,0],[":features:swap:api",":domain:wallets:models",1,0],[":features:swap:data",":features:swap:domain",1,0],[":features:swap:data",":features:swap:domain:models",1,0],[":features:swap:data",":features:swap:domain:api",1,0],[":features:swap:data",":domain:tokens:models",1,0],[":features:swap:data",":domain:legacy",1,0],[":features:swap:data",":domain:wallet-manager",1,0],[":features:swap:data",":domain:models",1,0],[":features:swap:data",":domain:wallets",1,0],[":features:swap:data",":domain:wallets:models",1,0],[":features:swap:data",":domain:transaction:models",1,0],[":features:swap:data",":domain:express:models",1,0],[":features:swap:data",":domain:account:status",1,0],[":features:swap:data",":domain:txhistory",1,0],[":features:swap:data",":data:common",1,0],[":features:swap:domain",":domain:swap:models",1,0],[":features:swap:domain",":domain:swap",1,0],[":features:swap:domain",":domain:app-currency",1,0],[":features:swap:domain",":domain:app-currency:models",1,0],[":features:swap:domain",":domain:card",1,0],[":features:swap:domain",":domain:demo",1,0],[":features:swap:domain",":domain:legacy",1,0],[":features:swap:domain",":domain:models",1,0],[":features:swap:domain",":domain:quotes",1,0],[":features:swap:domain",":domain:staking",1,0],[":features:swap:domain",":domain:tokens",1,0],[":features:swap:domain",":domain:tokens:models",1,0],[":features:swap:domain",":domain:transaction",1,0],[":features:swap:domain",":domain:transaction:models",1,0],[":features:swap:domain",":domain:txhistory:models",1,0],[":features:swap:domain",":domain:wallets",1,0],[":features:swap:domain",":domain:wallets:models",1,0],[":features:swap:domain",":domain:express:models",1,0],[":features:swap:domain",":domain:account",1,0],[":features:swap:domain",":domain:account:status",1,0],[":features:swap:domain",":domain:visa",1,0],[":features:swap:domain",":domain:visa:models",1,0],[":features:swap:domain",":domain:balance-hiding",1,0],[":features:swap:domain",":domain:yield-supply",1,0],[":features:swap:domain",":features:wallet:api",1,0],[":features:swap:domain",":features:swap:api",1,0],[":features:swap:domain",":features:swap:domain:api",1,0],[":features:swap:domain",":features:swap:domain:models",1,0],[":features:swap:domain",":features:send:api",1,0],[":features:swap:domain:models",":domain:models",1,1],[":features:swap:domain:models",":domain:tokens:models",1,0],[":features:swap:domain:models",":domain:transaction:models",1,0],[":features:swap:domain:api",":features:swap:domain:models",1,0],[":features:swap:domain:api",":domain:tokens:models",1,0],[":features:swap:domain:api",":domain:wallets:models",1,0],[":features:swap:domain:api",":domain:express:models",1,0],[":features:details:impl",":features:details:api",1,0],[":features:details:impl",":features:wallet:api",1,0],[":features:details:impl",":features:disclaimer:api",1,0],[":features:details:impl",":features:tester:api",1,0],[":features:details:impl",":features:create-wallet-selection:api",1,0],[":features:details:impl",":features:onboarding-v2:api",1,0],[":features:details:impl",":features:address-book:api",1,0],[":features:details:impl",":domain:models",1,0],[":features:details:impl",":domain:feedback",1,0],[":features:details:impl",":domain:feedback:models",1,0],[":features:details:impl",":domain:wallets",1,0],[":features:details:impl",":domain:wallets:models",1,0],[":features:details:impl",":domain:card",1,0],[":features:details:impl",":domain:tokens",1,0],[":features:details:impl",":domain:tokens:models",1,0],[":features:details:impl",":domain:app-currency",1,0],[":features:details:impl",":domain:app-currency:models",1,0],[":features:details:impl",":domain:wallet-connect",1,0],[":features:details:impl",":domain:balance-hiding",1,0],[":features:details:impl",":domain:balance-hiding:models",1,0],[":features:details:impl",":domain:legacy",1,0],[":features:details:impl",":domain:settings",1,0],[":features:details:impl",":domain:visa",1,0],[":features:details:api",":domain:models",1,0],[":features:create-wallet-selection:impl",":features:create-wallet-selection:api",1,0],[":features:create-wallet-selection:impl",":features:hot-wallet:api",1,0],[":features:create-wallet-selection:impl",":domain:card",1,0],[":features:create-wallet-selection:impl",":domain:settings",1,0],[":features:create-wallet-selection:impl",":domain:wallets",1,0],[":features:create-wallet-selection:impl",":domain:models",1,0],[":features:create-wallet-selection:impl",":domain:hot-wallet",1,0],[":features:create-wallet-selection:api",":domain:models",1,0],[":features:welcome:impl",":features:welcome:api",1,0],[":features:welcome:impl",":features:wallet:api",1,0],[":features:welcome:impl",":features:onboarding-v2:api",1,0],[":features:welcome:impl",":domain:app-currency:models",1,0],[":features:welcome:impl",":domain:models",1,0],[":features:welcome:impl",":domain:tokens:models",1,0],[":features:welcome:impl",":domain:wallets:models",1,0],[":features:welcome:impl",":domain:app-currency",1,0],[":features:welcome:impl",":domain:wallets",1,0],[":features:welcome:impl",":domain:card",1,0],[":features:welcome:impl",":domain:settings",1,0],[":features:welcome:api",":domain:wallets:models",1,0],[":features:common-features:impl",":features:common-features:api",1,0],[":features:common-features:impl",":features:wallet:api",1,0],[":features:common-features:impl",":features:token-recieve:api",1,0],[":features:common-features:impl",":domain:models",1,0],[":features:common-features:impl",":domain:account",1,0],[":features:common-features:impl",":domain:account:status",1,0],[":features:common-features:impl",":domain:core",1,0],[":features:common-features:impl",":domain:app-currency",1,0],[":features:common-features:impl",":domain:app-currency:models",1,0],[":features:common-features:impl",":domain:markets",1,0],[":features:common-features:impl",":domain:transaction",1,0],[":features:common-features:impl",":domain:tokens",1,0],[":features:common-features:impl",":domain:tokens:models",1,0],[":features:common-features:impl",":domain:manage-tokens",1,0],[":features:common-features:impl",":domain:manage-tokens:models",1,0],[":features:common-features:impl",":domain:balance-hiding",1,0],[":features:common-features:impl",":domain:balance-hiding:models",1,0],[":features:common-features:impl",":domain:wallets",1,0],[":features:common-features:impl",":domain:wallets:models",1,0],[":features:common-features:api",":domain:models",1,0],[":features:common-features:api",":domain:markets",1,0],[":features:common-features:api",":domain:account",1,0],[":features:onramp:impl",":features:common-features:api",1,0],[":features:onramp:impl",":features:onramp:api",1,0],[":features:onramp:impl",":features:swap:api",1,0],[":features:onramp:impl",":features:swap:domain",1,0],[":features:onramp:impl",":features:swap:domain:api",1,0],[":features:onramp:impl",":features:swap:domain:models",1,0],[":features:onramp:impl",":features:feed:api",1,0],[":features:onramp:impl",":domain:app-currency",1,0],[":features:onramp:impl",":domain:app-currency:models",1,0],[":features:onramp:impl",":domain:balance-hiding",1,0],[":features:onramp:impl",":domain:balance-hiding:models",1,0],[":features:onramp:impl",":domain:card",1,0],[":features:onramp:impl",":domain:demo",1,0],[":features:onramp:impl",":domain:models",1,0],[":features:onramp:impl",":domain:offramp",1,0],[":features:onramp:impl",":domain:onramp",1,0],[":features:onramp:impl",":domain:tokens",1,0],[":features:onramp:impl",":domain:tokens:models",1,0],[":features:onramp:impl",":domain:wallets",1,0],[":features:onramp:impl",":domain:wallets:models",1,0],[":features:onramp:impl",":domain:settings",1,0],[":features:onramp:impl",":domain:transaction:models",1,0],[":features:onramp:impl",":domain:account:status",1,0],[":features:onramp:impl",":domain:app-theme",1,0],[":features:onramp:impl",":domain:app-theme:models",1,0],[":features:onramp:impl",":data:common",1,0],[":features:onramp:impl",":domain:markets",1,0],[":features:onramp:api",":domain:onramp:models",1,0],[":features:onramp:api",":domain:tokens:models",1,0],[":features:onramp:api",":domain:wallets:models",1,0],[":features:walletconnect:impl",":features:common-features:api",1,0],[":features:walletconnect:impl",":features:wallet:api",1,0],[":features:walletconnect:impl",":features:walletconnect:api",1,0],[":features:walletconnect:impl",":features:send:api",1,0],[":features:walletconnect:impl",":domain:account",1,0],[":features:walletconnect:impl",":domain:account:status",1,0],[":features:walletconnect:impl",":domain:app-currency:models",1,0],[":features:walletconnect:impl",":domain:balance-hiding:models",1,0],[":features:walletconnect:impl",":domain:blockaid:models",1,0],[":features:walletconnect:impl",":domain:models",1,0],[":features:walletconnect:impl",":domain:qr-scanning:models",1,0],[":features:walletconnect:impl",":domain:tokens:models",1,0],[":features:walletconnect:impl",":domain:transaction:models",1,0],[":features:walletconnect:impl",":domain:wallets:models",1,0],[":features:walletconnect:impl",":domain:wallet-connect",1,0],[":features:walletconnect:impl",":domain:wallet-connect:models",1,0],[":features:walletconnect:impl",":domain:app-currency",1,0],[":features:walletconnect:impl",":domain:balance-hiding",1,0],[":features:walletconnect:impl",":domain:legacy",1,0],[":features:walletconnect:impl",":domain:qr-scanning",1,0],[":features:walletconnect:impl",":domain:tokens",1,0],[":features:walletconnect:impl",":domain:transaction",1,0],[":features:walletconnect:impl",":domain:wallets",1,0],[":features:walletconnect:impl",":data:card",1,0],[":features:walletconnect:api",":domain:models",1,0],[":features:stories:impl",":features:stories:api",1,0],[":features:stories:impl",":domain:stories",1,0],[":features:stories:impl",":domain:stories:models",1,0],[":features:onboarding-v2:impl",":features:onboarding-v2:api",1,0],[":features:onboarding-v2:impl",":features:manage-tokens:api",1,0],[":features:onboarding-v2:impl",":features:biometry:api",1,0],[":features:onboarding-v2:impl",":features:push-notifications:api",1,0],[":features:onboarding-v2:impl",":features:hot-wallet:api",1,0],[":features:onboarding-v2:impl",":features:token-recieve:api",1,0],[":features:onboarding-v2:impl",":domain:account",1,0],[":features:onboarding-v2:impl",":domain:models",1,0],[":features:onboarding-v2:impl",":domain:feedback",1,0],[":features:onboarding-v2:impl",":domain:feedback:models",1,0],[":features:onboarding-v2:impl",":domain:core",1,0],[":features:onboarding-v2:impl",":domain:card",1,0],[":features:onboarding-v2:impl",":domain:wallets",1,0],[":features:onboarding-v2:impl",":domain:wallets:models",1,0],[":features:onboarding-v2:impl",":domain:legacy",1,0],[":features:onboarding-v2:impl",":domain:settings",1,0],[":features:onboarding-v2:impl",":domain:onboarding",1,0],[":features:onboarding-v2:impl",":domain:visa",1,0],[":features:onboarding-v2:impl",":domain:tokens",1,0],[":features:onboarding-v2:impl",":domain:tokens:models",1,0],[":features:onboarding-v2:impl",":domain:onramp",1,0],[":features:onboarding-v2:impl",":domain:transaction",1,0],[":features:onboarding-v2:impl",":domain:staking",1,0],[":features:onboarding-v2:api",":domain:models",1,0],[":features:promo-banners:impl",":features:promo-banners:api",1,0],[":features:promo-banners:impl",":domain:common",1,0],[":features:promo-banners:impl",":domain:models",1,0],[":features:push-notifications:impl",":domain:settings",1,0],[":features:push-notifications:impl",":domain:notifications",1,0],[":features:push-notifications:impl",":domain:push-notification-preferences",1,0],[":features:push-notifications:impl",":domain:common",1,0],[":features:push-notifications:impl",":domain:account",1,0],[":features:push-notifications:impl",":domain:models",1,0],[":features:push-notifications:impl",":features:push-notifications:api",1,0],[":features:push-notifications:impl",":features:push-notification-settings:api",1,0],[":features:swap-v2:impl",":features:swap-v2:api",1,0],[":features:swap-v2:impl",":features:manage-tokens:api",1,0],[":features:swap-v2:impl",":features:send:api",1,0],[":features:swap-v2:impl",":features:common-features:api",1,0],[":features:swap-v2:impl",":domain:models",1,0],[":features:swap-v2:impl",":domain:wallets:models",1,0],[":features:swap-v2:impl",":domain:wallets",1,0],[":features:swap-v2:impl",":domain:tokens:models",1,0],[":features:swap-v2:impl",":domain:tokens",1,0],[":features:swap-v2:impl",":domain:card",1,0],[":features:swap-v2:impl",":domain:app-currency:models",1,0],[":features:swap-v2:impl",":domain:app-currency",1,0],[":features:swap-v2:impl",":domain:express:models",1,0],[":features:swap-v2:impl",":domain:swap:models",1,0],[":features:swap-v2:impl",":domain:swap",1,0],[":features:swap-v2:impl",":domain:manage-tokens:models",1,0],[":features:swap-v2:impl",":domain:manage-tokens",1,0],[":features:swap-v2:impl",":domain:transaction:models",1,0],[":features:swap-v2:impl",":domain:transaction",1,0],[":features:swap-v2:impl",":domain:legacy",1,0],[":features:swap-v2:impl",":domain:balance-hiding:models",1,0],[":features:swap-v2:impl",":domain:balance-hiding",1,0],[":features:swap-v2:impl",":domain:settings",1,0],[":features:swap-v2:impl",":domain:txhistory:models",1,0],[":features:swap-v2:impl",":domain:txhistory",1,0],[":features:swap-v2:impl",":domain:notifications",1,0],[":features:swap-v2:impl",":domain:feedback:models",1,0],[":features:swap-v2:impl",":domain:feedback",1,0],[":features:swap-v2:impl",":domain:account",1,0],[":features:swap-v2:impl",":domain:account:status",1,0],[":features:swap-v2:api",":features:send:api",1,1],[":features:swap-v2:api",":domain:wallets:models",1,0],[":features:swap-v2:api",":domain:express:models",1,0],[":features:swap-v2:api",":domain:swap:models",1,0],[":features:swap-v2:api",":domain:manage-tokens:models",1,0],[":features:swap-v2:api",":domain:models",1,0],[":features:swap-v2:api",":domain:tokens:models",1,0],[":features:swap-v2:api",":domain:app-currency:models",1,0],[":features:manage-tokens:impl",":features:manage-tokens:api",1,0],[":features:manage-tokens:impl",":features:swap-v2:api",1,0],[":features:manage-tokens:impl",":features:common-features:api",1,0],[":features:manage-tokens:impl",":domain:account:status",1,0],[":features:manage-tokens:impl",":domain:account",1,0],[":features:manage-tokens:impl",":domain:card",1,0],[":features:manage-tokens:impl",":domain:legacy",1,0],[":features:manage-tokens:impl",":domain:manage-tokens",1,0],[":features:manage-tokens:impl",":domain:tokens",1,0],[":features:manage-tokens:impl",":domain:tokens:models",1,0],[":features:manage-tokens:impl",":domain:wallets",1,0],[":features:manage-tokens:impl",":domain:wallets:models",1,0],[":features:manage-tokens:impl",":domain:swap:models",1,0],[":features:manage-tokens:impl",":domain:markets:models",1,0],[":features:manage-tokens:impl",":domain:notifications",1,0],[":features:manage-tokens:impl",":domain:dynamic-addresses",1,0],[":features:manage-tokens:api",":domain:models",1,0],[":features:manage-tokens:api",":domain:wallets:models",1,0],[":features:manage-tokens:api",":domain:manage-tokens:models",1,0],[":features:markets:impl",":features:markets:api",1,1],[":features:markets:impl",":features:onramp:api",1,1],[":features:markets:impl",":features:send:api",1,1],[":features:markets:impl",":features:token-recieve:api",1,1],[":features:markets:impl",":features:wallet:api",1,1],[":features:markets:impl",":features:account:api",1,1],[":features:markets:impl",":data:common",1,0],[":features:markets:impl",":domain:account",1,0],[":features:markets:impl",":domain:account:status",1,0],[":features:markets:impl",":domain:app-currency",1,0],[":features:markets:impl",":domain:app-currency:models",1,0],[":features:markets:impl",":domain:balance-hiding",1,0],[":features:markets:impl",":domain:balance-hiding:models",1,0],[":features:markets:impl",":domain:card",1,0],[":features:markets:impl",":domain:demo",1,0],[":features:markets:impl",":domain:feedback",1,0],[":features:markets:impl",":domain:feedback:models",1,0],[":features:markets:impl",":domain:manage-tokens",1,0],[":features:markets:impl",":domain:markets",1,0],[":features:markets:impl",":domain:offramp",1,0],[":features:markets:impl",":domain:onramp:models",1,0],[":features:markets:impl",":domain:staking:models",1,0],[":features:markets:impl",":domain:staking",1,0],[":features:markets:impl",":domain:tokens",1,0],[":features:markets:impl",":domain:tokens:models",1,0],[":features:markets:impl",":domain:wallets",1,0],[":features:markets:impl",":domain:wallets:models",1,0],[":features:markets:impl",":domain:settings",1,0],[":features:markets:impl",":domain:notifications:models",1,0],[":features:markets:impl",":domain:transaction",1,0],[":features:markets:impl",":domain:yield-supply:models",1,0],[":features:markets:impl",":domain:yield-supply",1,0],[":features:markets:api",":domain:core",1,0],[":features:markets:api",":domain:tokens:models",1,0],[":features:markets:api",":domain:app-currency:models",1,0],[":features:markets:api",":domain:markets:models",1,0],[":features:feed:impl",":features:feed:api",1,1],[":features:feed:impl",":features:onramp:api",1,1],[":features:feed:impl",":features:send:api",1,1],[":features:feed:impl",":features:token-recieve:api",1,1],[":features:feed:impl",":features:wallet:api",1,1],[":features:feed:impl",":features:account:api",1,1],[":features:feed:impl",":features:common-features:api",1,1],[":features:feed:impl",":features:promo-banners:api",1,0],[":features:feed:impl",":data:common",1,0],[":features:feed:impl",":domain:account",1,0],[":features:feed:impl",":domain:account:status",1,0],[":features:feed:impl",":domain:app-currency",1,0],[":features:feed:impl",":domain:app-currency:models",1,0],[":features:feed:impl",":domain:balance-hiding",1,0],[":features:feed:impl",":domain:balance-hiding:models",1,0],[":features:feed:impl",":domain:card",1,0],[":features:feed:impl",":domain:demo",1,0],[":features:feed:impl",":domain:feedback",1,0],[":features:feed:impl",":domain:feedback:models",1,0],[":features:feed:impl",":domain:manage-tokens",1,0],[":features:feed:impl",":domain:markets",1,0],[":features:feed:impl",":domain:offramp",1,0],[":features:feed:impl",":domain:onramp:models",1,0],[":features:feed:impl",":domain:staking:models",1,0],[":features:feed:impl",":domain:tokens",1,0],[":features:feed:impl",":domain:tokens:models",1,0],[":features:feed:impl",":domain:wallets",1,0],[":features:feed:impl",":domain:wallets:models",1,0],[":features:feed:impl",":domain:settings",1,0],[":features:feed:impl",":domain:notifications:models",1,0],[":features:feed:impl",":domain:transaction",1,0],[":features:feed:impl",":domain:news",1,0],[":features:feed:impl",":domain:yield-supply:models",1,0],[":features:feed:impl",":domain:yield-supply",1,0],[":features:feed:impl",":domain:earn",1,0],[":features:feed:impl",":domain:search",1,0],[":features:feed:api",":features:account:api",1,1],[":features:feed:api",":domain:core",1,0],[":features:feed:api",":domain:models",1,0],[":features:feed:api",":domain:tokens:models",1,0],[":features:feed:api",":domain:app-currency:models",1,0],[":features:feed:api",":domain:markets:models",1,0],[":features:staking:impl",":domain:tokens",1,0],[":features:staking:impl",":domain:tokens:models",1,0],[":features:staking:impl",":domain:wallets",1,0],[":features:staking:impl",":domain:wallets:models",1,0],[":features:staking:impl",":domain:staking",1,0],[":features:staking:impl",":domain:balance-hiding",1,0],[":features:staking:impl",":domain:balance-hiding:models",1,0],[":features:staking:impl",":domain:app-currency",1,0],[":features:staking:impl",":domain:app-currency:models",1,0],[":features:staking:impl",":domain:legacy",1,0],[":features:staking:impl",":domain:models",1,0],[":features:staking:impl",":domain:transaction",1,0],[":features:staking:impl",":domain:transaction:models",1,0],[":features:staking:impl",":domain:txhistory",1,0],[":features:staking:impl",":domain:txhistory:models",1,0],[":features:staking:impl",":domain:feedback",1,0],[":features:staking:impl",":domain:feedback:models",1,0],[":features:staking:impl",":domain:notifications:models",1,0],[":features:staking:impl",":domain:account",1,0],[":features:staking:impl",":domain:account:status",1,0],[":features:staking:impl",":features:staking:api",1,0],[":features:staking:impl",":features:txhistory:api",1,0],[":features:staking:impl",":features:approval:api",1,0],[":features:staking:api",":domain:models",1,1],[":features:staking:api",":domain:staking",1,0],[":features:staking:api",":domain:tokens:models",1,0],[":features:staking:api",":domain:wallets:models",1,0],[":features:address-book:impl",":features:address-book:api",1,0],[":features:address-book:impl",":domain:account",1,0],[":features:address-book:impl",":domain:address-book",1,0],[":features:address-book:impl",":domain:models",1,0],[":features:address-book:api",":domain:models",1,0],[":features:wallet:impl",":domain:account",1,0],[":features:wallet:impl",":domain:account:status",1,0],[":features:wallet:impl",":domain:analytics",1,0],[":features:wallet:impl",":domain:app-currency",1,0],[":features:wallet:impl",":domain:app-currency:models",1,0],[":features:wallet:impl",":domain:balance-hiding",1,0],[":features:wallet:impl",":domain:balance-hiding:models",1,0],[":features:wallet:impl",":domain:card",1,0],[":features:wallet:impl",":domain:wallet-manager",1,0],[":features:wallet:impl",":domain:demo",1,0],[":features:wallet:impl",":domain:feedback",1,0],[":features:wallet:impl",":domain:feedback:models",1,0],[":features:wallet:impl",":domain:legacy",1,0],[":features:wallet:impl",":domain:markets:models",1,0],[":features:wallet:impl",":domain:models",1,0],[":features:wallet:impl",":domain:networks",1,0],[":features:wallet:impl",":domain:qr-scanning",1,0],[":features:wallet:impl",":domain:qr-scanning:models",1,0],[":features:wallet:impl",":domain:wallet-connect",1,0],[":features:wallet:impl",":domain:wallet-connect:models",1,0],[":features:wallet:impl",":domain:nft",1,0],[":features:wallet:impl",":domain:nft:models",1,0],[":features:wallet:impl",":domain:hot-wallet",1,0],[":features:wallet:impl",":domain:offramp",1,0],[":features:wallet:impl",":domain:onramp",1,0],[":features:wallet:impl",":domain:onramp:models",1,0],[":features:wallet:impl",":domain:stories",1,0],[":features:wallet:impl",":domain:stories:models",1,0],[":features:wallet:impl",":domain:quotes",1,0],[":features:wallet:impl",":domain:settings",1,0],[":features:wallet:impl",":domain:staking",1,0],[":features:wallet:impl",":domain:staking:models",1,0],[":features:wallet:impl",":domain:tokens",1,0],[":features:wallet:impl",":domain:tokens:models",1,0],[":features:wallet:impl",":domain:txhistory",1,0],[":features:wallet:impl",":domain:txhistory:models",1,0],[":features:wallet:impl",":domain:visa",1,0],[":features:wallet:impl",":domain:wallets",1,0],[":features:wallet:impl",":domain:wallets:models",1,0],[":features:wallet:impl",":domain:notifications",1,0],[":features:wallet:impl",":domain:push-notification-preferences",1,0],[":features:wallet:impl",":domain:transaction",1,0],[":features:wallet:impl",":domain:yield-supply",1,0],[":features:wallet:impl",":domain:yield-supply:models",1,0],[":features:wallet:impl",":domain:app-theme",1,0],[":features:wallet:impl",":domain:app-theme:models",1,0],[":features:wallet:impl",":domain:assetsdiscovery",1,0],[":features:wallet:impl",":features:common-features:api",1,0],[":features:wallet:impl",":features:account:api",1,0],[":features:wallet:impl",":features:details:api",1,0],[":features:wallet:impl",":features:hot-wallet:api",1,0],[":features:wallet:impl",":features:manage-tokens:api",1,0],[":features:wallet:impl",":features:markets:api",1,0],[":features:wallet:impl",":features:onboarding-v2:api",1,0],[":features:wallet:impl",":features:onramp:api",1,0],[":features:wallet:impl",":features:push-notifications:api",1,0],[":features:wallet:impl",":features:push-notification-settings:api",1,0],[":features:wallet:impl",":features:swap:api",1,0],[":features:wallet:impl",":features:tester:api",1,0],[":features:wallet:impl",":features:tokendetails:api",1,0],[":features:wallet:impl",":features:wallet:api",1,0],[":features:wallet:impl",":features:wallet-settings:api",1,0],[":features:wallet:impl",":features:biometry:api",1,0],[":features:wallet:impl",":features:nft:api",1,0],[":features:wallet:impl",":features:send:api",1,0],[":features:wallet:impl",":features:kyc:api",1,0],[":features:wallet:impl",":features:token-recieve:api",1,0],[":features:wallet:impl",":features:yield-supply:api",1,0],[":features:wallet:impl",":features:feed:api",1,0],[":features:wallet:impl",":features:promo-banners:api",1,0],[":features:wallet:impl",":features:tangempay:main:api",1,0],[":features:wallet:impl",":features:tangempay:details:api",1,0],[":features:wallet:impl",":features:virtual-accounts:main:api",1,0],[":features:wallet:api",":domain:models",1,0],[":features:wallet:api",":domain:visa:models",1,0],[":features:tester:impl",":domain:account",1,0],[":features:tester:impl",":domain:card",1,0],[":features:tester:impl",":domain:feedback",1,0],[":features:tester:impl",":domain:markets:models",1,0],[":features:tester:impl",":domain:markets",1,0],[":features:tester:impl",":domain:manage-tokens:models",1,0],[":features:tester:impl",":domain:manage-tokens",1,0],[":features:tester:impl",":domain:wallets:models",1,0],[":features:tester:impl",":domain:wallets",1,0],[":features:tester:impl",":domain:feedback:models",1,0],[":features:tester:impl",":domain:settings",1,0],[":features:tester:impl",":data:common",1,0],[":features:tester:impl",":features:tester:api",1,0],[":features:tester:impl",":features:push-notifications:api",1,0],[":features:tester:impl",":features:survey:api",1,0],[":features:biometry:impl",":features:biometry:api",1,1],[":features:biometry:impl",":features:hot-wallet:api",1,0],[":features:biometry:impl",":domain:wallets",1,0],[":features:biometry:impl",":domain:models",1,1],[":features:biometry:impl",":domain:settings",1,0],[":features:biometry:impl",":domain:card",1,0],[":features:account:impl",":features:account:api",1,0],[":features:account:impl",":features:wallet:api",1,0],[":features:account:impl",":domain:models",1,0],[":features:account:impl",":domain:account",1,0],[":features:account:impl",":domain:account:status",1,0],[":features:account:impl",":domain:core",1,0],[":features:account:impl",":domain:app-currency",1,0],[":features:account:impl",":domain:app-currency:models",1,0],[":features:account:impl",":domain:tokens",1,0],[":features:account:impl",":domain:tokens:models",1,0],[":features:account:impl",":domain:balance-hiding",1,0],[":features:account:impl",":domain:balance-hiding:models",1,0],[":features:account:impl",":domain:wallets",1,0],[":features:account:impl",":domain:wallets:models",1,0],[":features:account:api",":domain:models",1,0],[":features:account:api",":domain:core",1,0],[":features:account:api",":domain:app-currency:models",1,0],[":features:account:api",":domain:tokens",1,0],[":features:account:api",":domain:tokens:models",1,0],[":features:account:api",":domain:account",1,0],[":features:hot-wallet:impl",":features:hot-wallet:api",1,0],[":features:hot-wallet:impl",":features:onboarding-v2:api",1,0],[":features:hot-wallet:impl",":features:push-notifications:api",1,0],[":features:hot-wallet:impl",":domain:card",1,0],[":features:hot-wallet:impl",":domain:models",2,0],[":features:hot-wallet:impl",":domain:wallets",1,0],[":features:hot-wallet:impl",":domain:wallets:models",1,0],[":features:hot-wallet:impl",":domain:settings",1,0],[":features:hot-wallet:impl",":domain:feedback",1,0],[":features:hot-wallet:impl",":domain:feedback:models",1,0],[":features:hot-wallet:impl",":domain:hot-wallet",1,0],[":features:hot-wallet:impl",":domain:assetsdiscovery",1,0],[":features:hot-wallet:api",":domain:models",1,0],[":features:hot-wallet:api",":domain:wallets",1,0],[":features:hot-wallet:api",":domain:wallets:models",1,0],[":features:survey:impl",":features:survey:api",1,0],[":features:survey:impl",":domain:common",1,0],[":features:survey:impl",":domain:models",1,0],[":features:survey:impl",":domain:wallets",1,0],[":features:survey:impl",":domain:wallets:models",1,0],[":features:send:impl",":features:send:api",1,0],[":features:send:impl",":features:txhistory:api",1,0],[":features:send:impl",":features:nft:api",1,0],[":features:send:impl",":features:swap-v2:api",1,0],[":features:send:impl",":features:manage-tokens:api",1,0],[":features:send:impl",":domain:models",1,0],[":features:send:impl",":domain:legacy",1,0],[":features:send:impl",":domain:offramp",1,0],[":features:send:impl",":domain:card",1,0],[":features:send:impl",":domain:tokens:models",1,0],[":features:send:impl",":domain:tokens",1,0],[":features:send:impl",":domain:wallets:models",1,0],[":features:send:impl",":domain:wallets",1,0],[":features:send:impl",":domain:app-currency:models",1,0],[":features:send:impl",":domain:app-currency",1,0],[":features:send:impl",":domain:transaction:models",1,0],[":features:send:impl",":domain:transaction",2,0],[":features:send:impl",":domain:txhistory:models",1,0],[":features:send:impl",":domain:txhistory",2,0],[":features:send:impl",":domain:qr-scanning:models",1,0],[":features:send:impl",":domain:qr-scanning",1,0],[":features:send:impl",":domain:settings",1,0],[":features:send:impl",":domain:feedback",1,0],[":features:send:impl",":domain:feedback:models",1,0],[":features:send:impl",":domain:balance-hiding:models",1,0],[":features:send:impl",":domain:balance-hiding",1,0],[":features:send:impl",":domain:nft:models",1,0],[":features:send:impl",":domain:nft",1,0],[":features:send:impl",":domain:notifications",1,0],[":features:send:impl",":domain:swap:models",1,0],[":features:send:impl",":domain:account",1,0],[":features:send:impl",":domain:account:status",1,0],[":features:send:api",":domain:transaction",1,0],[":features:send:api",":domain:models",1,1],[":features:send:api",":domain:app-currency:models",1,0],[":features:send:api",":domain:nft:models",1,0],[":features:send:api",":domain:tokens:models",1,0],[":features:send:api",":domain:transaction:models",1,0],[":features:send:api",":domain:wallets:models",1,0],[":features:send:api",":domain:staking:models",1,0],[":features:virtual-accounts:details:impl",":features:virtual-accounts:details:api",1,0],[":features:virtual-accounts:main:impl",":features:virtual-accounts:main:api",1,0],[":features:virtual-accounts:onboarding:impl",":features:virtual-accounts:onboarding:api",1,0],[":features:tangempay:details:impl",":features:tangempay:details:api",1,0],[":features:tangempay:details:impl",":features:token-recieve:api",1,0],[":features:tangempay:details:impl",":features:txhistory:api",1,0],[":features:tangempay:details:impl",":features:tokendetails:api",1,0],[":features:tangempay:details:impl",":domain:balance-hiding",1,0],[":features:tangempay:details:impl",":domain:balance-hiding:models",1,0],[":features:tangempay:details:impl",":domain:feedback",1,0],[":features:tangempay:details:impl",":domain:feedback:models",1,0],[":features:tangempay:details:impl",":domain:models",1,0],[":features:tangempay:details:impl",":domain:onramp:models",1,0],[":features:tangempay:details:impl",":domain:visa",1,0],[":features:tangempay:details:impl",":domain:visa:models",1,0],[":features:tangempay:details:impl",":domain:wallets",1,0],[":features:tangempay:details:api",":domain:models",1,0],[":features:tangempay:details:api",":domain:visa:models",1,0],[":features:tangempay:main:impl",":features:tangempay:main:api",1,0],[":features:tangempay:onboarding:impl",":features:tangempay:onboarding:api",1,0],[":features:tangempay:onboarding:impl",":features:tangempay:details:api",1,0],[":features:tangempay:onboarding:impl",":features:kyc:api",1,0],[":features:tangempay:onboarding:impl",":features:wallet:api",1,0],[":features:tangempay:onboarding:impl",":features:hot-wallet:api",1,0],[":features:tangempay:onboarding:impl",":domain:appsflyer",1,0],[":features:tangempay:onboarding:impl",":domain:visa",1,0],[":features:tangempay:onboarding:impl",":domain:wallets",1,0],[":features:tangempay:onboarding:impl",":domain:wallets:models",1,0],[":features:tangempay:onboarding:impl",":domain:hot-wallet",1,0],[":features:tangempay:onboarding:impl",":data:visa",1,0],[":features:tangempay:onboarding:api",":domain:models",1,0],[":features:approval:impl",":features:approval:api",1,0],[":features:approval:impl",":features:send:api",1,0],[":features:approval:impl",":domain:models",1,0],[":features:approval:impl",":domain:wallets",1,0],[":features:approval:impl",":domain:wallets:models",1,0],[":features:approval:impl",":domain:transaction:models",1,0],[":features:approval:impl",":domain:transaction",1,0],[":features:approval:api",":domain:models",1,0],[":features:approval:api",":domain:wallets:models",1,0],[":features:push-notification-settings:impl",":features:push-notification-settings:api",1,0],[":features:push-notification-settings:impl",":features:push-notifications:api",1,0],[":features:push-notification-settings:impl",":features:wallet-settings:api",1,0],[":features:push-notification-settings:impl",":domain:models",1,0],[":features:push-notification-settings:impl",":domain:account",1,0],[":features:push-notification-settings:impl",":domain:push-notification-preferences",1,0],[":features:push-notification-settings:api",":domain:models",1,0],[":data:transaction",":data:common",1,0],[":data:transaction",":domain:legacy",1,0],[":data:transaction",":domain:wallet-manager",1,0],[":data:transaction",":domain:wallets:models",1,0],[":data:transaction",":domain:tokens:models",1,0],[":data:transaction",":domain:transaction:models",1,0],[":data:transaction",":domain:transaction",1,0],[":data:transaction",":domain:demo",1,0],[":data:transaction",":features:send:api",1,0],[":data:settings",":domain:balance-hiding:models",1,0],[":data:settings",":domain:settings",1,0],[":data:dynamic-addresses",":data:common",1,0],[":data:dynamic-addresses",":domain:account",1,0],[":data:dynamic-addresses",":domain:common",1,0],[":data:dynamic-addresses",":domain:dynamic-addresses",1,0],[":data:dynamic-addresses",":domain:dynamic-addresses:models",1,0],[":data:dynamic-addresses",":domain:models",1,0],[":data:dynamic-addresses",":domain:wallet-manager",1,0],[":data:app-theme",":domain:app-theme",1,0],[":data:app-theme",":domain:app-theme:models",1,0],[":data:yield-supply",":domain:yield-supply",1,0],[":data:yield-supply",":domain:yield-supply:models",1,0],[":data:yield-supply",":domain:wallet-manager",1,0],[":data:yield-supply",":domain:legacy",1,0],[":data:yield-supply",":domain:txhistory:models",1,0],[":data:txhistory",":data:common",1,0],[":data:txhistory",":domain:legacy",1,0],[":data:txhistory",":domain:common",1,0],[":data:txhistory",":domain:wallet-manager",1,0],[":data:txhistory",":domain:models",1,0],[":data:txhistory",":domain:tokens:models",1,0],[":data:txhistory",":domain:txhistory",1,0],[":data:txhistory",":domain:txhistory:models",1,0],[":data:txhistory",":domain:express:models",1,0],[":data:txhistory",":domain:wallets:models",1,0],[":data:txhistory",":domain:wallets",1,0],[":data:txhistory",":domain:account",1,0],[":data:txhistory",":domain:account:status",1,0],[":data:push-notification-preferences",":domain:push-notification-preferences",1,0],[":data:push-notification-preferences",":domain:models",1,0],[":data:card",":domain:card",1,0],[":data:card",":domain:models",1,0],[":data:nft",":data:common",1,0],[":data:nft",":domain:card",1,0],[":data:nft",":domain:common",1,0],[":data:nft",":domain:models",1,0],[":data:nft",":domain:nft",1,0],[":data:nft",":domain:nft:models",1,0],[":data:nft",":domain:tokens:models",1,0],[":data:nft",":domain:wallet-manager",1,0],[":data:nft",":domain:wallets:models",1,0],[":data:nft",":domain:legacy",1,0],[":data:nft",":features:nft:api",1,0],[":data:quotes",":data:common",1,0],[":data:quotes",":domain:models",1,1],[":data:quotes",":domain:quotes",1,1],[":data:wallet-manager",":domain:wallets",1,0],[":data:wallet-manager",":domain:wallet-manager",1,0],[":data:wallet-manager",":domain:demo",1,0],[":data:wallet-manager",":domain:card",1,0],[":data:wallet-manager",":domain:transaction",1,0],[":data:wallet-manager",":domain:models",1,1],[":data:wallet-manager",":domain:wallets:models",1,0],[":data:wallet-manager",":domain:tokens:models",1,0],[":data:wallet-manager",":domain:txhistory:models",1,0],[":data:wallet-manager",":domain:transaction:models",1,0],[":data:express",":data:common",1,0],[":data:express",":domain:common",1,0],[":data:express",":domain:express:models",1,0],[":data:express",":domain:express",1,0],[":data:express",":domain:wallets:models",1,0],[":data:express",":domain:txhistory",1,0],[":data:express",":domain:models",1,1],[":data:payment",":data:common",1,0],[":data:payment",":data:wallets",1,0],[":data:payment",":domain:payment",1,0],[":data:payment",":domain:payment:models",1,0],[":data:payment",":domain:wallets",1,0],[":data:payment",":domain:models",1,0],[":data:payment",":domain:common",1,0],[":data:payment",":domain:legacy",1,0],[":data:qr-scanning",":domain:models",1,0],[":data:qr-scanning",":domain:qr-scanning",1,0],[":data:qr-scanning",":domain:qr-scanning:models",1,0],[":data:qr-scanning",":domain:tokens:models",1,0],[":data:blockaid",":data:common",1,0],[":data:blockaid",":domain:models",1,0],[":data:blockaid",":domain:blockaid",1,0],[":data:blockaid",":domain:blockaid:models",1,0],[":data:app-currency",":domain:core",1,0],[":data:app-currency",":domain:app-currency",1,0],[":data:app-currency",":domain:app-currency:models",1,0],[":data:app-currency",":data:common",1,0],[":data:swap",":data:common",1,0],[":data:swap",":data:express",1,0],[":data:swap",":domain:express:models",1,0],[":data:swap",":domain:express",1,0],[":data:swap",":domain:swap:models",1,0],[":data:swap",":domain:swap",1,0],[":data:swap",":domain:wallets:models",1,0],[":data:swap",":domain:wallets",1,0],[":data:swap",":domain:tokens:models",1,0],[":data:swap",":domain:tokens",1,0],[":data:swap",":domain:legacy",1,0],[":data:swap",":domain:models",1,0],[":data:swap",":domain:quotes",1,0],[":data:swap",":domain:networks",1,0],[":data:swap",":domain:staking:models",1,0],[":data:swap",":domain:staking",1,0],[":data:swap",":domain:account",1,0],[":data:earn",":data:common",1,0],[":data:earn",":domain:earn",1,0],[":data:earn",":domain:common",1,0],[":data:earn",":domain:account:status",1,0],[":data:wallet-connect",":domain:account",1,0],[":data:wallet-connect",":domain:account:status",1,0],[":data:wallet-connect",":domain:wallet-connect",1,0],[":data:wallet-connect",":domain:wallet-connect:models",1,0],[":data:wallet-connect",":domain:transaction",1,0],[":data:wallet-connect",":domain:transaction:models",1,0],[":data:wallet-connect",":domain:wallets",1,0],[":data:wallet-connect",":domain:wallets:models",1,0],[":data:wallet-connect",":domain:tokens",1,0],[":data:wallet-connect",":domain:tokens:models",1,0],[":data:wallet-connect",":domain:models",1,0],[":data:wallet-connect",":domain:legacy",1,0],[":data:wallet-connect",":domain:wallet-manager",1,0],[":data:wallet-connect",":data:common",1,0],[":data:wallet-connect",":domain:blockaid",1,0],[":data:wallet-connect",":domain:blockaid:models",1,0],[":data:visa",":data:common",1,0],[":data:visa",":data:wallets",1,0],[":data:visa",":domain:visa",1,0],[":data:visa",":domain:card",1,0],[":data:visa",":domain:wallets",1,0],[":data:visa",":domain:legacy",2,0],[":data:visa",":domain:models",1,0],[":data:visa",":domain:wallets:models",1,0],[":data:visa",":domain:app-currency:models",1,0],[":data:visa",":domain:tokens:models",1,0],[":data:visa",":domain:tokens",1,0],[":data:visa",":domain:networks",1,0],[":data:visa",":domain:wallet-manager",1,0],[":data:visa",":domain:quotes",1,0],[":data:visa",":domain:common",1,0],[":data:visa",":features:swap:domain",1,0],[":data:balance-hiding",":domain:balance-hiding",1,0],[":data:balance-hiding",":domain:balance-hiding:models",1,0],[":data:feedback",":features:hot-wallet:api",1,0],[":data:feedback",":domain:feedback",1,0],[":data:feedback",":domain:feedback:models",1,0],[":data:feedback",":domain:legacy",1,0],[":data:feedback",":domain:card",1,0],[":data:feedback",":domain:models",1,0],[":data:feedback",":domain:wallets",1,0],[":data:feedback",":domain:wallets:models",1,0],[":data:search",":data:common",1,0],[":data:search",":domain:search",1,0],[":data:search",":domain:common",1,0],[":data:search",":domain:account:status",1,0],[":data:search",":domain:markets:models",1,0],[":data:search",":domain:wallets",1,0],[":data:search",":domain:app-currency",1,0],[":data:onramp",":data:common",1,0],[":data:onramp",":domain:account",1,0],[":data:onramp",":domain:onramp",1,0],[":data:onramp",":domain:legacy",1,0],[":data:onramp",":domain:card",1,0],[":data:onramp",":domain:wallet-manager",1,0],[":data:onramp",":domain:app-theme:models",1,0],[":data:onramp",":domain:models",1,0],[":data:onramp",":domain:express:models",1,0],[":data:onramp",":domain:txhistory",1,0],[":data:networks",":data:common",1,0],[":data:networks",":data:dynamic-addresses",1,0],[":data:networks",":domain:card",1,0],[":data:networks",":domain:common",1,0],[":data:networks",":domain:legacy",1,0],[":data:networks",":domain:models",1,0],[":data:networks",":domain:networks",1,0],[":data:networks",":domain:wallet-manager",1,0],[":data:common",":domain:account",1,0],[":data:common",":domain:demo",1,0],[":data:common",":domain:legacy",1,0],[":data:common",":domain:card",1,0],[":data:common",":domain:models",1,0],[":data:common",":domain:tokens:models",1,0],[":data:common",":domain:wallets:models",1,0],[":data:common",":domain:express:models",1,0],[":data:common",":domain:networks",1,0],[":data:common",":domain:wallet-manager",1,0],[":data:common",":domain:wallets",1,0],[":data:stories",":domain:stories",1,0],[":data:stories",":domain:stories:models",1,0],[":data:stories",":domain:models",1,1],[":data:stories",":domain:wallets:models",1,0],[":data:stories",":features:referral:domain",1,0],[":data:news",":data:common",1,0],[":data:news",":domain:news",1,0],[":data:manage-tokens",":domain:account",1,0],[":data:manage-tokens",":domain:demo",1,0],[":data:manage-tokens",":domain:models",1,0],[":data:manage-tokens",":domain:manage-tokens",1,0],[":data:manage-tokens",":domain:card",1,0],[":data:manage-tokens",":domain:wallets",1,0],[":data:manage-tokens",":domain:tokens:models",1,0],[":data:manage-tokens",":domain:wallets:models",1,0],[":data:manage-tokens",":domain:legacy",2,0],[":data:manage-tokens",":data:common",1,0],[":data:manage-tokens",":data:tokens",1,0],[":data:markets",":domain:legacy",1,0],[":data:markets",":domain:markets",1,0],[":data:markets",":domain:models",1,0],[":data:markets",":domain:tokens:models",1,0],[":data:markets",":domain:tokens",1,0],[":data:markets",":data:common",1,0],[":data:staking",":data:common",1,0],[":data:staking",":domain:tokens:models",1,0],[":data:staking",":domain:staking",1,0],[":data:staking",":domain:wallets",1,0],[":data:staking",":domain:wallets:models",1,0],[":data:staking",":domain:legacy",1,0],[":data:staking",":domain:wallet-manager",1,0],[":data:staking",":domain:card",1,0],[":data:staking",":domain:models",1,0],[":data:staking",":features:staking:api",1,0],[":data:address-book",":domain:address-book",1,0],[":data:address-book",":domain:common",1,0],[":data:address-book",":domain:models",1,0],[":data:assetsdiscovery",":domain:assetsdiscovery",1,1],[":data:assetsdiscovery",":domain:tokens",1,0],[":data:assetsdiscovery",":domain:tokens:models",1,0],[":data:assetsdiscovery",":domain:models",1,0],[":data:assetsdiscovery",":domain:wallet-manager",1,0],[":data:assetsdiscovery",":domain:wallets",1,0],[":data:assetsdiscovery",":data:common",1,0],[":data:assetsdiscovery",":data:wallet-manager",1,0],[":data:wallets",":data:common",1,0],[":data:wallets",":domain:account",1,0],[":data:wallets",":domain:card",1,0],[":data:wallets",":domain:dynamic-addresses",1,0],[":data:wallets",":domain:models",1,0],[":data:wallets",":domain:tokens:models",1,0],[":data:wallets",":domain:wallets",1,0],[":data:wallets",":domain:wallets:models",1,0],[":data:wallets",":domain:settings",1,0],[":data:account",":features:virtual-accounts:details:api",1,0],[":data:account",":domain:account",1,1],[":data:account",":domain:card",1,1],[":data:account",":domain:common",1,1],[":data:account",":domain:models",1,1],[":data:account",":domain:tokens",1,1],[":data:account",":domain:wallets",1,1],[":data:account",":domain:visa",1,1],[":data:account",":data:common",1,0],[":data:hot-wallet",":domain:hot-wallet",1,0],[":data:hot-wallet",":domain:models",1,0],[":data:appsflyer",":domain:appsflyer",1,0],[":data:tokens",":data:common",1,0],[":data:tokens",":data:networks",1,0],[":data:tokens",":domain:account",1,0],[":data:tokens",":domain:card",1,0],[":data:tokens",":domain:common",1,0],[":data:tokens",":domain:core",1,0],[":data:tokens",":domain:demo",1,0],[":data:tokens",":domain:express",1,0],[":data:tokens",":domain:legacy",1,0],[":data:tokens",":domain:models",1,0],[":data:tokens",":domain:staking",1,0],[":data:tokens",":domain:staking:models",1,0],[":data:tokens",":domain:tokens",1,0],[":data:tokens",":domain:tokens:models",1,0],[":data:tokens",":domain:txhistory:models",1,0],[":data:tokens",":domain:wallet-manager",1,0],[":data:tokens",":domain:transaction",1,0],[":data:tokens",":domain:wallets:models",1,0],[":data:tokens",":features:send:api",1,0],[":data:notifications",":domain:notifications:models",1,0],[":data:notifications",":domain:notifications",1,0],[":data:onboarding",":domain:onboarding",1,0],[":data:onboarding",":domain:models",1,0],[":data:analytics",":domain:analytics",1,0],[":data:analytics",":domain:models",1,0],[":data:analytics",":domain:wallets:models",1,0],[":data:analytics",":data:common",1,0],[":domain:demo",":domain:demo:models",1,1],[":domain:transaction",":domain:account:status",1,0],[":domain:transaction",":domain:common",1,0],[":domain:transaction",":domain:dynamic-addresses",1,0],[":domain:transaction",":domain:dynamic-addresses:models",1,0],[":domain:transaction",":domain:models",1,0],[":domain:transaction",":domain:legacy",1,0],[":domain:transaction",":domain:wallet-manager",1,0],[":domain:transaction",":domain:wallets:models",1,0],[":domain:transaction",":domain:tokens",1,0],[":domain:transaction",":domain:tokens:models",1,0],[":domain:transaction",":domain:transaction:models",1,0],[":domain:transaction",":domain:demo",1,0],[":domain:transaction",":domain:card",1,0],[":domain:transaction",":domain:notifications",1,0],[":domain:transaction",":domain:networks",1,1],[":domain:settings",":domain:balance-hiding:models",1,0],[":domain:settings",":domain:wallets:models",1,0],[":domain:dynamic-addresses",":domain:core",1,1],[":domain:dynamic-addresses",":domain:dynamic-addresses:models",1,1],[":domain:dynamic-addresses",":domain:models",1,0],[":domain:dynamic-addresses",":domain:wallet-manager",1,0],[":domain:dynamic-addresses",":domain:wallets",1,0],[":domain:app-theme",":domain:core",1,0],[":domain:app-theme",":domain:app-theme:models",1,0],[":domain:yield-supply",":domain:account:status",1,0],[":domain:yield-supply",":domain:models",1,0],[":domain:yield-supply",":domain:yield-supply:models",1,0],[":domain:yield-supply",":domain:transaction:models",1,0],[":domain:yield-supply",":domain:transaction",1,0],[":domain:yield-supply",":domain:legacy",1,0],[":domain:yield-supply",":domain:blockaid:models",1,0],[":domain:yield-supply",":domain:blockaid",1,0],[":domain:yield-supply",":domain:quotes",1,0],[":domain:yield-supply",":domain:tokens",1,0],[":domain:yield-supply",":domain:app-currency:models",1,0],[":domain:yield-supply:models",":domain:models",1,1],[":domain:txhistory",":domain:core",1,0],[":domain:txhistory",":domain:express:models",1,1],[":domain:txhistory",":domain:models",1,0],[":domain:txhistory",":domain:tokens:models",1,0],[":domain:txhistory",":domain:txhistory:models",1,0],[":domain:txhistory",":domain:wallets:models",1,0],[":domain:txhistory",":domain:visa:models",1,0],[":domain:push-notification-preferences",":domain:models",1,0],[":domain:card",":domain:demo",1,0],[":domain:card",":domain:core",1,0],[":domain:card",":domain:legacy",1,0],[":domain:card",":domain:wallet-manager",1,0],[":domain:card",":domain:models",1,0],[":domain:card",":domain:tokens:models",1,0],[":domain:card",":domain:wallets:models",1,0],[":domain:card",":domain:visa:models",1,0],[":domain:nft",":domain:core",1,0],[":domain:nft",":domain:account",1,0],[":domain:nft",":domain:models",1,0],[":domain:nft",":domain:networks",1,0],[":domain:nft",":domain:nft:models",1,0],[":domain:nft",":domain:quotes",1,0],[":domain:nft",":domain:tokens",1,0],[":domain:nft",":domain:tokens:models",1,0],[":domain:nft",":domain:wallets",1,0],[":domain:nft",":domain:wallets:models",1,0],[":domain:nft:models",":domain:core",1,0],[":domain:nft:models",":domain:models",1,0],[":domain:nft:models",":domain:tokens:models",1,0],[":domain:quotes",":domain:core",1,1],[":domain:quotes",":domain:models",1,1],[":domain:wallet-manager",":domain:wallet-manager:models",1,1],[":domain:wallet-manager",":domain:models",1,1],[":domain:wallet-manager",":domain:core",1,0],[":domain:wallet-manager",":domain:demo:models",1,0],[":domain:wallet-manager",":domain:wallets:models",1,0],[":domain:wallet-manager",":domain:tokens:models",1,0],[":domain:wallet-manager",":domain:app-currency:models",1,0],[":domain:wallet-manager",":domain:transaction:models",1,0],[":domain:wallet-manager",":domain:txhistory:models",1,0],[":domain:wallet-manager:models",":domain:models",1,0],[":domain:express",":domain:express:models",1,1],[":domain:express",":domain:models",1,1],[":domain:express:models",":domain:tokens:models",1,0],[":domain:payment",":domain:models",1,1],[":domain:payment",":domain:payment:models",1,0],[":domain:payment:models",":domain:models",1,0],[":domain:qr-scanning",":domain:models",1,1],[":domain:qr-scanning",":domain:account",1,0],[":domain:qr-scanning",":domain:common",1,0],[":domain:qr-scanning",":domain:networks",1,0],[":domain:qr-scanning",":domain:qr-scanning:models",1,0],[":domain:qr-scanning",":domain:tokens:models",1,0],[":domain:qr-scanning:models",":domain:models",1,0],[":domain:blockaid",":domain:models",1,0],[":domain:blockaid",":domain:core",1,0],[":domain:blockaid",":domain:blockaid:models",1,0],[":domain:app-currency",":domain:core",1,0],[":domain:app-currency",":domain:app-currency:models",1,0],[":domain:swap",":domain:models",1,0],[":domain:swap",":domain:express:models",1,0],[":domain:swap",":domain:swap:models",1,0],[":domain:swap",":domain:wallets:models",1,0],[":domain:swap",":domain:tokens:models",1,0],[":domain:swap:models",":domain:models",1,0],[":domain:swap:models",":domain:express:models",1,0],[":domain:swap:models",":domain:tokens:models",1,0],[":domain:legacy",":domain:core",1,0],[":domain:legacy",":domain:demo",1,0],[":domain:legacy",":domain:models",1,0],[":domain:legacy",":domain:tokens:models",1,0],[":domain:legacy",":domain:transaction:models",1,0],[":domain:legacy",":domain:txhistory:models",1,0],[":domain:legacy",":domain:wallets:models",1,0],[":domain:earn",":domain:core",1,1],[":domain:earn",":domain:models",1,1],[":domain:earn",":domain:account",1,0],[":domain:earn",":domain:common",1,0],[":domain:wallet-connect",":domain:blockaid:models",1,0],[":domain:wallet-connect",":domain:core",1,0],[":domain:wallet-connect",":domain:models",1,0],[":domain:wallet-connect",":domain:tokens:models",1,0],[":domain:wallet-connect",":domain:wallets:models",1,0],[":domain:wallet-connect",":domain:wallet-connect:models",1,0],[":domain:wallet-connect",":domain:transaction",1,0],[":domain:wallet-connect",":domain:transaction:models",1,0],[":domain:wallet-connect:models",":domain:models",1,0],[":domain:wallet-connect:models",":domain:wallets:models",1,0],[":domain:wallet-connect:models",":domain:tokens:models",1,0],[":domain:wallet-connect:models",":domain:blockaid:models",1,0],[":domain:wallet-connect:models",":domain:transaction:models",1,0],[":domain:models",":domain:core",1,1],[":domain:visa",":domain:models",1,1],[":domain:visa",":domain:visa:models",1,1],[":domain:visa",":domain:app-currency:models",1,0],[":domain:visa",":domain:core",1,0],[":domain:visa",":domain:tokens:models",1,0],[":domain:visa",":domain:wallets:models",1,0],[":domain:visa:models",":domain:models",1,0],[":domain:balance-hiding",":domain:core",1,0],[":domain:balance-hiding",":domain:settings",1,0],[":domain:balance-hiding",":domain:balance-hiding:models",1,0],[":domain:feedback",":domain:models",1,0],[":domain:feedback",":domain:wallets:models",1,0],[":domain:feedback",":domain:visa:models",1,0],[":domain:feedback",":domain:feedback:models",1,0],[":domain:feedback:models",":domain:models",1,0],[":domain:feedback:models",":domain:wallets:models",1,0],[":domain:feedback:models",":domain:visa:models",1,0],[":domain:search",":domain:core",1,1],[":domain:search",":domain:models",1,1],[":domain:search",":domain:common",1,0],[":domain:search",":domain:markets:models",1,0],[":domain:search",":domain:wallets",1,0],[":domain:search",":domain:app-currency",1,0],[":domain:search",":domain:account",1,0],[":domain:search",":domain:account:status",1,0],[":domain:onramp",":domain:onramp:models",1,1],[":domain:onramp",":domain:tokens:models",1,1],[":domain:onramp",":domain:wallets:models",1,1],[":domain:onramp",":domain:core",1,1],[":domain:onramp",":domain:settings",1,1],[":domain:onramp",":domain:stories",1,0],[":domain:onramp:models",":domain:models",1,1],[":domain:onramp:models",":domain:core",1,0],[":domain:onramp:models",":domain:tokens:models",1,0],[":domain:onramp:models",":domain:wallets:models",1,0],[":domain:networks",":domain:core",1,1],[":domain:networks",":domain:models",1,1],[":domain:networks",":domain:wallets:models",1,1],[":domain:common",":domain:models",1,1],[":domain:stories",":domain:models",1,0],[":domain:stories",":domain:stories:models",1,0],[":domain:stories",":domain:settings",1,0],[":domain:stories",":domain:wallets:models",1,0],[":domain:news",":domain:core",1,1],[":domain:news",":domain:models",1,1],[":domain:manage-tokens",":domain:core",1,1],[":domain:manage-tokens",":domain:manage-tokens:models",1,1],[":domain:manage-tokens",":domain:networks",1,1],[":domain:manage-tokens",":domain:quotes",1,1],[":domain:manage-tokens",":domain:wallet-manager",1,1],[":domain:manage-tokens",":domain:wallets:models",1,0],[":domain:manage-tokens",":domain:tokens:models",1,0],[":domain:manage-tokens",":domain:staking",1,0],[":domain:manage-tokens",":domain:tokens",1,0],[":domain:manage-tokens",":domain:card",1,0],[":domain:manage-tokens",":domain:wallets",1,0],[":domain:manage-tokens",":domain:legacy",1,0],[":domain:manage-tokens:models",":domain:models",1,0],[":domain:manage-tokens:models",":domain:tokens:models",1,0],[":domain:markets",":domain:app-currency:models",1,1],[":domain:markets",":domain:card",1,1],[":domain:markets",":domain:core",1,1],[":domain:markets",":domain:legacy",1,1],[":domain:markets",":domain:markets:models",1,1],[":domain:markets",":domain:models",1,1],[":domain:markets",":domain:networks",1,1],[":domain:markets",":domain:staking",1,1],[":domain:markets",":domain:quotes",1,1],[":domain:markets",":domain:wallet-manager",1,1],[":domain:markets",":domain:wallets",1,1],[":domain:markets",":domain:wallets:models",1,1],[":domain:markets",":domain:stories",1,1],[":domain:markets",":domain:tokens:models",1,0],[":domain:markets",":domain:tokens",1,0],[":domain:markets",":domain:settings",1,0],[":domain:markets:models",":domain:models",1,1],[":domain:markets:models",":domain:tokens:models",1,1],[":domain:markets:models",":domain:core",1,0],[":domain:staking",":domain:staking:models",1,1],[":domain:staking",":domain:core",1,1],[":domain:staking",":domain:legacy",1,0],[":domain:staking",":domain:wallet-manager",1,0],[":domain:staking",":domain:models",1,0],[":domain:staking",":domain:tokens:models",1,0],[":domain:staking",":domain:wallets:models",1,0],[":domain:staking:models",":domain:core",1,0],[":domain:staking:models",":domain:models",1,0],[":domain:offramp",":domain:core",1,1],[":domain:offramp",":domain:models",1,1],[":domain:address-book",":domain:core",1,1],[":domain:address-book",":domain:models",1,1],[":domain:address-book",":domain:common",1,0],[":domain:address-book",":domain:transaction",1,0],[":domain:address-book",":domain:tokens",1,0],[":domain:assetsdiscovery",":domain:core",1,1],[":domain:assetsdiscovery",":domain:models",1,0],[":domain:assetsdiscovery",":domain:account:status",1,0],[":domain:wallets",":domain:core",1,1],[":domain:wallets",":domain:common",1,1],[":domain:wallets",":domain:legacy",1,0],[":domain:wallets",":domain:wallet-manager",1,0],[":domain:wallets",":domain:account",1,0],[":domain:wallets",":domain:models",1,0],[":domain:wallets",":domain:tokens",1,0],[":domain:wallets",":domain:card",1,0],[":domain:wallets",":domain:tokens:models",1,0],[":domain:wallets",":domain:wallets:models",1,0],[":domain:wallets",":domain:notifications:models",1,0],[":domain:wallets",":domain:demo:models",1,0],[":domain:wallets",":domain:hot-wallet",1,0],[":domain:wallets",":domain:qr-scanning",1,0],[":domain:wallets",":domain:qr-scanning:models",1,0],[":domain:wallets:models",":domain:models",1,0],[":domain:account",":domain:common",1,1],[":domain:account",":domain:core",1,1],[":domain:account",":domain:models",1,1],[":domain:account",":domain:wallets:models",1,1],[":domain:account",":domain:yield-supply:models",1,1],[":domain:account:status",":domain:account",1,1],[":domain:account:status",":domain:card",1,1],[":domain:account:status",":domain:core",1,1],[":domain:account:status",":domain:common",1,1],[":domain:account:status",":domain:express",1,1],[":domain:account:status",":domain:quotes",1,1],[":domain:account:status",":domain:models",1,1],[":domain:account:status",":domain:networks",1,1],[":domain:account:status",":domain:nft",1,1],[":domain:account:status",":domain:referral",1,1],[":domain:account:status",":domain:staking",1,1],[":domain:account:status",":domain:tokens",1,1],[":domain:account:status",":domain:tokens:models",1,1],[":domain:account:status",":domain:visa",1,1],[":domain:account:status",":domain:wallet-manager",1,1],[":domain:account:status",":domain:wallets",1,1],[":domain:hot-wallet",":domain:core",1,0],[":domain:hot-wallet",":domain:models",1,0],[":domain:hot-wallet",":domain:wallets:models",1,0],[":domain:tokens",":domain:core",1,1],[":domain:tokens",":domain:common",1,0],[":domain:tokens",":domain:card",1,0],[":domain:tokens",":domain:express",1,0],[":domain:tokens",":domain:models",1,0],[":domain:tokens",":domain:legacy",1,0],[":domain:tokens",":domain:wallet-manager",1,0],[":domain:tokens",":domain:staking",1,0],[":domain:tokens",":domain:visa",1,0],[":domain:tokens",":domain:tokens:models",1,0],[":domain:tokens",":domain:txhistory:models",1,0],[":domain:tokens",":domain:transaction:models",1,0],[":domain:tokens",":domain:wallets:models",1,0],[":domain:tokens",":domain:app-currency:models",1,0],[":domain:tokens",":domain:onramp:models",1,0],[":domain:tokens",":domain:settings",1,0],[":domain:tokens",":features:swap:domain:api",1,0],[":domain:tokens",":features:swap:domain:models",1,0],[":domain:tokens",":domain:stories:models",1,0],[":domain:tokens",":domain:stories",1,0],[":domain:tokens",":domain:networks",1,0],[":domain:tokens",":domain:quotes",1,0],[":domain:tokens",":domain:yield-supply:models",1,0],[":domain:tokens",":features:staking:api",1,0],[":domain:tokens",":features:markets:api",1,0],[":domain:tokens",":features:swap:api",1,0],[":domain:tokens",":features:virtual-accounts:details:api",1,0],[":domain:tokens:models",":domain:models",1,0],[":domain:tokens:models",":domain:txhistory:models",1,0],[":domain:tokens:models",":domain:staking:models",1,0],[":domain:tokens:models",":domain:stories:models",1,0],[":domain:notifications",":domain:core",1,0],[":domain:notifications",":domain:models",1,0],[":domain:notifications",":domain:notifications:models",1,0],[":domain:notifications",":domain:wallets:models",1,0],[":domain:notifications",":domain:tokens:models",1,0],[":domain:onboarding",":domain:models",1,0],[":domain:analytics",":domain:core",1,0],[":domain:analytics",":domain:models",1,0],[":domain:analytics",":domain:wallets:models",1,0]]}, screens: {"n":[["AccessCodeRecovery","AccessCodeRecovery","onboarding",1,0],["AccountDetails","AccountDetails","portfolio",1,0],["AddExistingWallet","AddExistingWallet","onboarding",1,0],["AddressBook","AddressBook","settings",1,0],["AppCurrencySelector","AppCurrencySelector","settings",1,0],["AppSettings","AppSettings","settings",2,0],["ArchivedAccountList","ArchivedAccountList","portfolio",1,0],["BuyCrypto","BuyCrypto","tokenaction",1,0],["CardSettings","CardSettings","settings",1,0],["ChooseManagedTokens","ChooseManagedTokens","portfolio",1,0],["CreateAccount","CreateAccount","portfolio",1,0],["CreateHardwareWallet","CreateHardwareWallet","onboarding",2,0],["CreateMobileWallet","CreateMobileWallet","onboarding",2,0],["CreateWalletBackup","CreateWalletBackup","onboarding",3,0],["CreateWalletSelection","CreateWalletSelection","onboarding",2,2],["CreateWalletStart","CreateWalletStart","onboarding",1,3],["CurrencyDetails","CurrencyDetails","portfolio",6,5],["Details","Details","settings",2,10],["DetailsSecurity","DetailsSecurity","settings",1,0],["Disclaimer","Disclaimer","entry",4,2],["Earn","Earn","markets",0,6],["EditAccount","EditAccount","portfolio",0,0],["ForgetWallet","ForgetWallet","settings",1,0],["Home","Home","entry",8,2],["Initial","Initial","entry",0,9],["Kyc","Kyc","tangempay",0,0],["ManageTokens","ManageTokens","portfolio",1,1],["Markets","Markets","markets",1,1],["MarketsTokenDetails","MarketsTokenDetails","markets",3,0],["NFT","NFT","wallet",1,1],["NFTSend","NFTSend","wallet",1,0],["News","News","markets",1,0],["NewsDetails","NewsDetails","markets",1,0],["Onboarding","Onboarding","onboarding",6,3],["Onramp","Onramp","tokenaction",3,3],["OnrampSuccess","OnrampSuccess","tokenaction",0,0],["PushNotification","PushNotification","wallet",1,0],["PushNotificationSettings","PushNotificationSettings","wallet",1,0],["QrScanning","QrScanning","misc",3,0],["ReferralProgram","ReferralProgram","settings",1,0],["ResetToFactory","ResetToFactory","settings",1,0],["SellCrypto","SellCrypto","tokenaction",1,0],["Send","Send","tokenaction",1,2],["SendEntryPoint","SendEntryPoint","tokenaction",2,0],["Staking","Staking","tokenaction",3,1],["Stories","Stories","wallet",2,0],["Survey","Survey","misc",0,0],["Swap","Swap","tokenaction",6,1],["TangemPayDetails","TangemPayDetails","tangempay",2,0],["TangemPayHotWalletOnboarding","TangemPayHotWalletOnboarding","tangempay",0,0],["TangemPayOnboarding","TangemPayOnboarding","tangempay",2,6],["UpdateAccessCode","UpdateAccessCode","onboarding",1,0],["UpgradeWallet","UpgradeWallet","onboarding",0,11],["Usedesk","Usedesk","misc",1,0],["ViewPhrase","ViewPhrase","onboarding",2,0],["Wallet","Wallet","wallet",9,14],["WalletActivation","WalletActivation","onboarding",1,0],["WalletBackup","WalletBackup","onboarding",1,0],["WalletConnectSessions","WalletConnectSessions","settings",1,1],["WalletHardwareBackup","WalletHardwareBackup","onboarding",2,0],["WalletSettings","WalletSettings","settings",1,15],["Welcome","Welcome","entry",1,3],["YieldSupplyEntry","YieldSupplyEntry","tokenaction",3,2],["AppShell","App shell","shell",0,7]],"e":[["Initial","AppSettings",1,0],["Initial","Wallet",4,0],["Initial","Welcome",2,0],["Initial","DetailsSecurity",1,0],["Initial","AccessCodeRecovery",1,0],["Initial","Onboarding",2,0],["Initial","ResetToFactory",1,0],["Initial","Home",1,0],["Initial","AppCurrencySelector",1,0],["Home","CreateWalletStart",1,0],["Home","Wallet",2,0],["CreateWalletStart","CreateMobileWallet",2,0],["CreateWalletStart","Wallet",3,0],["CreateWalletStart","Onboarding",1,0],["YieldSupplyEntry","CurrencyDetails",2,0],["YieldSupplyEntry","Stories",2,0],["WalletSettings","AccountDetails",1,0],["WalletSettings","ArchivedAccountList",1,0],["WalletSettings","CreateAccount",1,0],["WalletSettings","ManageTokens",1,0],["WalletSettings","PushNotificationSettings",1,0],["WalletSettings","Home",1,0],["WalletSettings","Onboarding",1,0],["WalletSettings","ReferralProgram",1,0],["WalletSettings","UpdateAccessCode",1,0],["WalletSettings","WalletHardwareBackup",1,0],["WalletSettings","WalletBackup",1,0],["WalletSettings","CardSettings",1,0],["WalletSettings","CreateWalletBackup",2,0],["WalletSettings","ForgetWallet",2,0],["WalletSettings","ViewPhrase",1,0],["Disclaimer","PushNotification",1,0],["Disclaimer","Home",1,0],["NFT","NFTSend",1,0],["CurrencyDetails","Wallet",2,0],["CurrencyDetails","Onramp",3,0],["CurrencyDetails","SendEntryPoint",1,0],["CurrencyDetails","Swap",2,0],["CurrencyDetails","Staking",1,0],["Swap","Stories",1,0],["Details","WalletConnectSessions",4,0],["Details","AddressBook",2,0],["Details","Wallet",1,0],["Details","Onboarding",2,0],["Details","TangemPayOnboarding",2,0],["Details","Usedesk",2,0],["Details","AppSettings",1,0],["Details","Disclaimer",1,0],["Details","CreateWalletSelection",1,0],["Details","WalletSettings",2,0],["CreateWalletSelection","CreateMobileWallet",1,0],["CreateWalletSelection","CreateHardwareWallet",1,0],["Welcome","Home",1,0],["Welcome","Wallet",6,0],["Welcome","CreateWalletSelection",1,0],["AppShell","CurrencyDetails",1,0],["Onramp","Swap",1,0],["Onramp","SellCrypto",1,0],["Onramp","BuyCrypto",1,0],["WalletConnectSessions","QrScanning",1,0],["Onboarding","Wallet",7,0],["Onboarding","Home",1,0],["Onboarding","Disclaimer",1,0],["AppShell","ChooseManagedTokens",1,0],["ManageTokens","Swap",1,0],["Markets","MarketsTokenDetails",1,0],["Earn","YieldSupplyEntry",2,0],["Earn","News",5,0],["Earn","NewsDetails",4,0],["Earn","CurrencyDetails",5,0],["Earn","Markets",4,0],["Earn","MarketsTokenDetails",2,0],["Staking","CurrencyDetails",1,0],["Wallet","Details",1,0],["Wallet","Onboarding",1,0],["Wallet","CurrencyDetails",1,0],["Wallet","Home",1,0],["Wallet","NFT",1,0],["Wallet","TangemPayOnboarding",1,0],["Wallet","TangemPayDetails",1,0],["Wallet","YieldSupplyEntry",1,0],["Wallet","QrScanning",1,0],["Wallet","Send",1,0],["Wallet","Onramp",1,0],["Wallet","MarketsTokenDetails",1,0],["Wallet","Staking",1,0],["Wallet","Swap",1,0],["UpgradeWallet","ViewPhrase",3,0],["UpgradeWallet","WalletActivation",2,0],["UpgradeWallet","WalletHardwareBackup",2,0],["UpgradeWallet","Disclaimer",1,0],["UpgradeWallet","AddExistingWallet",1,0],["UpgradeWallet","Wallet",4,0],["UpgradeWallet","CreateWalletBackup",1,0],["UpgradeWallet","CreateHardwareWallet",1,0],["UpgradeWallet","Onboarding",1,0],["UpgradeWallet","Details",1,0],["UpgradeWallet","Home",1,0],["Send","QrScanning",1,0],["Send","CurrencyDetails",1,0],["TangemPayOnboarding","Swap",3,0],["TangemPayOnboarding","Disclaimer",2,0],["TangemPayOnboarding","Home",2,0],["TangemPayOnboarding","CreateWalletBackup",2,0],["TangemPayOnboarding","Wallet",5,0],["TangemPayOnboarding","TangemPayDetails",1,0],["AppShell","Onramp",1,0],["AppShell","Swap",1,0],["AppShell","SendEntryPoint",2,0],["AppShell","Staking",1,0],["AppShell","YieldSupplyEntry",1,0]]} };
|
||
const SCREENMETA = {"AccessCodeRecovery":{"path":"/access_code_recovery","owner":"features:onboarding-v2","group":"onboarding","total":2,"refs":[["app",2]]},"AccountDetails":{"path":"/account_details/${account.accountId.value}","owner":"features:account","group":"portfolio","total":2,"refs":[["app",1],["features:wallet-settings",1]]},"AddExistingWallet":{"path":"/add_existing_wallet","owner":"features:onboarding-v2","group":"onboarding","total":2,"refs":[["app",1],["features:hot-wallet",1]]},"AddressBook":{"path":"/address_book/${addressBookOpenMode.address}-${addressBookOpenMode.networkId}","owner":"features:address-book","group":"settings","total":4,"refs":[["features:details",2],["app",1],["common:routing",1]]},"AppCurrencySelector":{"path":"/app_currency_selector","owner":"features:wallet-settings","group":"settings","total":2,"refs":[["app",2]]},"AppSettings":{"path":"/app_settings","owner":"features:details","group":"settings","total":5,"refs":[["app",4],["features:details",1]]},"ArchivedAccountList":{"path":"/archived_account/${userWalletId.stringValue}","owner":"features:account","group":"portfolio","total":2,"refs":[["app",1],["features:wallet-settings",1]]},"BuyCrypto":{"path":"/buy_crypto/${userWalletId.stringValue}","owner":"features:onramp","group":"tokenaction","total":3,"refs":[["app",1],["features:onramp",1],["features:wallet",1]]},"CardSettings":{"path":"/card_settings/${userWalletId.stringValue}","owner":"features:details","group":"settings","total":2,"refs":[["app",1],["features:wallet-settings",1]]},"ChooseManagedTokens":{"path":"/$source/choose_managed_tokens/$userWalletId/${initialCurrency.id.value}","owner":"features:manage-tokens","group":"portfolio","total":3,"refs":[["features:swap-v2",2],["app",1]]},"CreateAccount":{"path":"/create_account/${userWalletId.stringValue}","owner":"features:account","group":"portfolio","total":2,"refs":[["app",1],["features:wallet-settings",1]]},"CreateHardwareWallet":{"path":"/create_hardware_wallet","owner":"features:onboarding-v2","group":"onboarding","total":3,"refs":[["app",1],["features:create-wallet-selection",1],["features:hot-wallet",1]]},"CreateMobileWallet":{"path":"/create_mobile_wallet","owner":"features:hot-wallet","group":"onboarding","total":4,"refs":[["features:create-wallet-start",2],["app",1],["features:create-wallet-selection",1]]},"CreateWalletBackup":{"path":"/create_wallet_backup/${userWalletId.stringValue}","owner":"features:onboarding-v2","group":"onboarding","total":6,"refs":[["features:wallet-settings",2],["features:tangempay",2],["app",1],["features:hot-wallet",1]]},"CreateWalletSelection":{"path":"/create_wallet_selection","owner":"features:create-wallet-selection","group":"onboarding","total":3,"refs":[["app",1],["features:details",1],["features:welcome",1]]},"CreateWalletStart":{"path":"/create_wallet_start","owner":"features:create-wallet-start","group":"onboarding","total":8,"refs":[["app",5],["features:home",3]]},"CurrencyDetails":{"path":"/currency_details/${userWalletId.stringValue}/${currency.id.value}","owner":"features:tokendetails","group":"portfolio","total":18,"refs":[["features:feed",5],["features:tokendetails",4],["features:yield-supply",2],["features:swap",2],["app",1],["features:common-features",1],["features:staking",1],["features:wallet",1],["features:send",1]]},"Details":{"path":"/details/${userWalletId.stringValue}","owner":"features:details","group":"settings","total":3,"refs":[["app",1],["features:wallet",1],["features:hot-wallet",1]]},"DetailsSecurity":{"path":"/details/security","owner":"features:details","group":"settings","total":2,"refs":[["app",2]]},"Disclaimer":{"path":"/disclaimer${if (isTosAccepted) \"/tos_accepted\" else \"\"}","owner":"features:disclaimer","group":"entry","total":8,"refs":[["app",2],["features:tangempay",2],["features:details",1],["features:walletconnect",1],["features:onboarding-v2",1],["features:hot-wallet",1]]},"Earn":{"path":"/earn","owner":"features:feed","group":"markets","total":16,"refs":[["features:feed",15],["app",1]]},"EditAccount":{"path":"/edit_account/${account.accountId.value}","owner":"features:account","group":"portfolio","total":2,"refs":[["app",1],["features:account",1]]},"ForgetWallet":{"path":"/forget_wallet/${userWalletId.stringValue}","owner":"features:wallet-settings","group":"settings","total":3,"refs":[["features:wallet-settings",2],["app",1]]},"Home":{"path":"/home","owner":"features:home","group":"entry","total":14,"refs":[["app",6],["features:tangempay",2],["features:wallet-settings",1],["features:disclaimer",1],["features:welcome",1],["features:onboarding-v2",1],["features:wallet",1],["features:hot-wallet",1]]},"Initial":{"path":"/initial","owner":"app","group":"entry","total":6,"refs":[["app",5],["features:walletconnect",1]]},"Kyc":{"path":"/kyc","owner":"features:kyc","group":"tangempay","total":2,"refs":[["app",1],["features:tangempay",1]]},"ManageTokens":{"path":"${source.name.lowercase()}/manage_tokens/${accountId?.value}","owner":"features:manage-tokens","group":"portfolio","total":16,"refs":[["app",5],["features:wallet",5],["features:account",4],["features:wallet-settings",2]]},"Markets":{"path":"/markets","owner":"features:markets","group":"markets","total":5,"refs":[["features:feed",4],["app",1]]},"MarketsTokenDetails":{"path":"/markets_token_details/${token.id}/$shouldShowPortfolio","owner":"features:markets","group":"markets","total":7,"refs":[["features:markets",2],["features:feed",2],["features:wallet",2],["app",1]]},"NFT":{"path":"/nft/${userWalletId.stringValue}","owner":"features:nft","group":"wallet","total":2,"refs":[["app",1],["features:wallet",1]]},"NFTSend":{"path":"/send/nft/${userWalletId.stringValue}/$nftCollectionName/${nftAsset.id}","owner":"features:nft","group":"wallet","total":2,"refs":[["app",1],["features:nft",1]]},"News":{"path":"/news","owner":"features:feed","group":"markets","total":6,"refs":[["features:feed",5],["app",1]]},"NewsDetails":{"path":"/news_details/$newsId","owner":"features:feed","group":"markets","total":5,"refs":[["features:feed",4],["app",1]]},"Onboarding":{"path":"/onboarding_v2/$mode","owner":"features:onboarding-v2","group":"onboarding","total":38,"refs":[["app",21],["features:create-wallet-start",4],["features:details",4],["features:wallet",3],["features:wallet-settings",2],["features:welcome",2],["features:hot-wallet",2]]},"Onramp":{"path":"/onramp/${userWalletId.stringValue}/${currency.symbol}","owner":"features:onramp","group":"tokenaction","total":9,"refs":[["features:tokendetails",3],["features:onramp",3],["app",1],["features:wallet",1],["common:ui-markets",1]]},"OnrampSuccess":{"path":"/onramp/success/$txId","owner":"features:onramp","group":"tokenaction","total":4,"refs":[["features:onramp",3],["app",1]]},"PushNotification":{"path":"/push_notification","owner":"features:push-notifications","group":"wallet","total":18,"refs":[["features:push-notifications",8],["app",4],["features:disclaimer",2],["features:hot-wallet",2],["features:onboarding-v2",1],["features:wallet",1]]},"PushNotificationSettings":{"path":"/push_notification_settings/${userWalletId.stringValue}","owner":"features:push-notification-settings","group":"wallet","total":2,"refs":[["app",1],["features:wallet-settings",1]]},"QrScanning":{"path":"/$source/qr_scanning${source.path}","owner":"features:qr-scanning","group":"misc","total":11,"refs":[["app",5],["features:walletconnect",2],["features:wallet",2],["features:send",2]]},"ReferralProgram":{"path":"/referral_program","owner":"features:referral","group":"settings","total":3,"refs":[["app",1],["features:referral",1],["features:wallet-settings",1]]},"ResetToFactory":{"path":"/reset_to_factory","owner":"features:details","group":"settings","total":2,"refs":[["app",2]]},"SellCrypto":{"path":"/sell_crypto/${userWalletId.stringValue}","owner":"features:onramp","group":"tokenaction","total":3,"refs":[["app",1],["features:onramp",1],["features:wallet",1]]},"Send":{"path":"/send/${userWalletId.stringValue}/${currency.id.value}?","owner":"features:send","group":"tokenaction","total":12,"refs":[["features:wallet",7],["app",4],["features:send",1]]},"SendEntryPoint":{"path":"/send_entry_point/${userWalletId.stringValue}/${currency.id.value}?","owner":"features:send","group":"tokenaction","total":5,"refs":[["features:tokendetails",2],["common:ui-markets",2],["app",1]]},"Staking":{"path":"/staking/${userWalletId.stringValue}/${cryptoCurrency.id.value}/${integrationId.value}","owner":"features:staking","group":"tokenaction","total":5,"refs":[["app",1],["features:tokendetails",1],["features:staking",1],["features:wallet",1],["common:ui-markets",1]]},"Stories":{"path":"/stories$storyId","owner":"features:stories","group":"wallet","total":7,"refs":[["app",2],["features:yield-supply",2],["features:swap",1],["features:walletconnect",1],["features:wallet",1]]},"Survey":{"path":"/survey","owner":"features:survey","group":"misc","total":4,"refs":[["features:survey",3],["app",1]]},"Swap":{"path":"/swap","owner":"features:swap","group":"tokenaction","total":38,"refs":[["common:ui-markets",14],["features:tangempay",9],["features:tokendetails",6],["app",4],["features:manage-tokens",2],["features:wallet",2],["features:onramp",1]]},"TangemPayDetails":{"path":"/tangem_pay_details/${status.account}","owner":"features:tangempay","group":"tangempay","total":3,"refs":[["app",1],["features:wallet",1],["features:tangempay",1]]},"TangemPayHotWalletOnboarding":{"path":"/tangem_pay_hot_wallet_onboarding","owner":"features:tangempay","group":"tangempay","total":2,"refs":[["app",2]]},"TangemPayOnboarding":{"path":"/tangem_pay_onboarding/$mode","owner":"features:tangempay","group":"tangempay","total":20,"refs":[["app",6],["features:wallet",6],["features:details",4],["features:tangempay",4]]},"UpdateAccessCode":{"path":"/update_access_code/${userWalletId.stringValue}","owner":"features:onboarding-v2","group":"onboarding","total":4,"refs":[["features:wallet-settings",2],["app",1],["features:tangempay",1]]},"UpgradeWallet":{"path":"/upgrade_wallet/${userWalletId.stringValue}","owner":"features:hot-wallet","group":"onboarding","total":4,"refs":[["features:hot-wallet",3],["app",1]]},"Usedesk":{"path":"/usedesk/${walletMetaInfo.userWalletId}","owner":"features:usedesk","group":"misc","total":3,"refs":[["features:details",2],["app",1]]},"ViewPhrase":{"path":"/view_seed_phrase/${userWalletId.stringValue}","owner":"features:onboarding-v2","group":"onboarding","total":5,"refs":[["features:hot-wallet",3],["app",1],["features:wallet-settings",1]]},"Wallet":{"path":"/wallet","owner":"features:wallet","group":"wallet","total":58,"refs":[["app",23],["features:welcome",7],["features:onboarding-v2",7],["features:tangempay",5],["features:create-wallet-start",4],["features:hot-wallet",4],["features:home",2],["features:tokendetails",2],["features:details",2],["features:wallet",2]]},"WalletActivation":{"path":"/wallet_activation/${userWalletId.stringValue}","owner":"features:tangempay","group":"onboarding","total":3,"refs":[["features:hot-wallet",2],["app",1]]},"WalletBackup":{"path":"/wallet_backup/${userWalletId.stringValue}/$isColdWalletOptionShown","owner":"features:onboarding-v2","group":"onboarding","total":3,"refs":[["app",1],["features:wallet-settings",1],["features:wallet",1]]},"WalletConnectSessions":{"path":"/wallet_connect_sessions","owner":"features:walletconnect","group":"settings","total":5,"refs":[["features:details",4],["app",1]]},"WalletHardwareBackup":{"path":"/wallet_hardware_backup/${userWalletId.stringValue}","owner":"features:onboarding-v2","group":"onboarding","total":4,"refs":[["features:hot-wallet",2],["app",1],["features:wallet-settings",1]]},"WalletSettings":{"path":"/wallet_settings/${userWalletId.stringValue}","owner":"features:wallet-settings","group":"settings","total":4,"refs":[["features:details",2],["app",1],["features:hot-wallet",1]]},"Welcome":{"path":"/welcome","owner":"features:welcome","group":"entry","total":7,"refs":[["app",6],["features:walletconnect",1]]},"YieldSupplyEntry":{"path":"/yield_supply_entry/${userWalletId.stringValue}/${cryptoCurrency.symbol}","owner":"features:yield-supply","group":"tokenaction","total":7,"refs":[["features:yield-supply",2],["features:feed",2],["app",1],["features:wallet",1],["common:ui-markets",1]]}};
|
||
const BANDS2={features:0.28,domain:0.72};
|
||
const VIEWCFG = {
|
||
area: {W:1200,H:820, labelFloor:13,rScale:1.85,rep:14000,ky:0.006, prewarm:340,kind:'areas', bandX:BANDS2},
|
||
module: {W:1640,H:1120,labelFloor:20,rScale:1.45,rep:23000,ky:0.0035,prewarm:480,kind:'modules',bandX:BANDS2},
|
||
screens:{W:1500,H:1040,labelFloor:0, rScale:1.7, rep:20000,ky:0.02, prewarm:460,kind:'screens',
|
||
anchors:{"shell":{"x":0.5,"y":0.07},"entry":{"x":0.18,"y":0.24},"onboarding":{"x":0.5,"y":0.24},"wallet":{"x":0.82,"y":0.24},"portfolio":{"x":0.18,"y":0.52},"tokenaction":{"x":0.5,"y":0.52},"markets":{"x":0.82,"y":0.52},"settings":{"x":0.18,"y":0.8},"tangempay":{"x":0.5,"y":0.8},"misc":{"x":0.82,"y":0.8}}}
|
||
};
|
||
const GROUP_COLORS={"shell":"#5A6677","entry":"#7DA2FF","onboarding":"#34D8C4","wallet":"#E8A33D","portfolio":"#B69CFF","tokenaction":"#FF8F6B","markets":"#5BD08A","settings":"#9AA7B8","tangempay":"#F2C14E","misc":"#C7CFDA"};
|
||
const GROUP_LABELS={"shell":"app shell","entry":"entry","onboarding":"onboarding","wallet":"wallet","portfolio":"portfolio","tokenaction":"token actions","markets":"markets / news","settings":"settings","tangempay":"tangem pay","misc":"misc"};
|
||
const SVGNS="http://www.w3.org/2000/svg";
|
||
const css=getComputedStyle(document.documentElement);
|
||
const FEAT=css.getPropertyValue('--features').trim();
|
||
const DOM=css.getPropertyValue('--domain').trim();
|
||
const DATAC=css.getPropertyValue('--data').trim();
|
||
const INV=css.getPropertyValue('--inverted').trim();
|
||
function colorFor(l){if(GROUP_COLORS[l])return GROUP_COLORS[l];return l==='features'?FEAT:l==='data'?DATAC:DOM;}
|
||
function layerCls(l){return l==='features'?'f':l==='data'?'da':'d';}
|
||
function hexA(h,a){const n=parseInt(h.slice(1),16);return `rgba(${(n>>16)&255},${(n>>8)&255},${n&255},${a})`;}
|
||
|
||
// ---- team ownership (extensible: add one entry per team) ----
|
||
const TEAMS=[{"id":"grow","name":"Grow","color":"#FF6FD8","roots":["features:approval","features:onramp","features:send","features:staking","features:swap","features:swap-v2","features:yield-supply","domain:express","domain:offramp","domain:onramp","domain:staking","domain:swap","domain:yield-supply","domain:transaction","data:express","data:onramp","data:staking","data:swap","data:yield-supply","data:transaction"],"screens":["Send","Swap","Staking","Onramp","OnrampSuccess","BuyCrypto","SellCrypto","SwapCrypto","NFTSend","SendEntryPoint","YieldSupplyEntry"]},{"id":"store","name":"Store","color":"#3B82F6","roots":["features:account","features:address-book","features:biometry","features:create-wallet-selection","features:create-wallet-start","features:details","features:disclaimer","features:feed","features:home","features:hot-wallet","features:manage-tokens","features:markets","features:nft","features:onboarding-v2","features:promo-banners","features:push-notification-settings","features:push-notifications","features:qr-scanning","features:rating","features:referral","features:stories","features:survey","features:tester","features:usedesk","features:token-recieve","features:tokendetails","features:txhistory","features:wallet","features:wallet-settings","features:walletconnect","features:welcome","domain:account","domain:address-book","domain:analytics","domain:app-currency","domain:app-theme","domain:appsflyer","domain:assetsdiscovery","domain:balance-hiding","domain:card","domain:demo","domain:dynamic-addresses","domain:earn","domain:feedback","domain:hot-wallet","domain:manage-tokens","domain:markets","domain:networks","domain:news","domain:nft","domain:notifications","domain:onboarding","domain:push-notification-preferences","domain:qr-scanning","domain:quotes","domain:referral","domain:search","domain:settings","domain:stories","domain:tokens","domain:txhistory","domain:wallet-connect","domain:wallet-manager","domain:wallets","data:account","data:address-book","data:analytics","data:app-currency","data:app-theme","data:appsflyer","data:assetsdiscovery","data:balance-hiding","data:card","data:dynamic-addresses","data:earn","data:feedback","data:hot-wallet","data:manage-tokens","data:markets","data:networks","data:news","data:nft","data:notifications","data:onboarding","data:push-notification-preferences","data:qr-scanning","data:quotes","data:search","data:settings","data:stories","data:tokens","data:txhistory","data:wallet-connect","data:wallet-manager","data:wallets"],"screens":["AccessCodeRecovery","AccountDetails","AddExistingWallet","AddressBook","AppCurrencySelector","AppSettings","ArchivedAccountList","CardSettings","ChooseManagedTokens","CreateAccount","CreateHardwareWallet","CreateMobileWallet","CreateWalletBackup","CreateWalletSelection","CreateWalletStart","CurrencyDetails","Details","DetailsSecurity","Disclaimer","Earn","EditAccount","ForgetWallet","Home","ManageTokens","Markets","MarketsTokenDetails","NFT","News","NewsDetails","Onboarding","PushNotification","PushNotificationSettings","QrScanning","ReferralProgram","ResetToFactory","Stories","Survey","UpdateAccessCode","UpgradeWallet","Usedesk","ViewPhrase","Wallet","WalletBackup","WalletConnectSessions","WalletHardwareBackup","WalletSettings","Welcome"]},{"id":"spent","name":"Spent","color":"#22C55E","roots":["features:kyc","features:tangempay","features:virtual-accounts","domain:payment","domain:visa","data:payment","data:visa"],"screens":["Kyc","TangemPayDetails","TangemPayHotWalletOnboarding","TangemPayOnboarding","WalletActivation"]}];
|
||
function normId(id){return id.charAt(0)===':'?id.slice(1):id;}
|
||
function teamsOf(id){const p=normId(id);return TEAMS.filter(t=>
|
||
(t.roots&&t.roots.some(r=>p===r||p.startsWith(r+':'))) || (t.screens&&t.screens.includes(id)));}
|
||
const enabledTeams=new Set();
|
||
let clusterOn=false;
|
||
const reduced=matchMedia('(prefers-reduced-motion:reduce)').matches;
|
||
|
||
// ---- persistent SVG scaffold ----
|
||
const svg=document.getElementById('svg');
|
||
const defs=document.createElementNS(SVGNS,'defs');
|
||
defs.innerHTML='<pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse"><path d="M40 0H0V40" fill="none" stroke="#19212B" stroke-width="1"/></pattern>';
|
||
svg.appendChild(defs);
|
||
const gRoot=document.createElementNS(SVGNS,'g'); svg.appendChild(gRoot);
|
||
const bg=document.createElementNS(SVGNS,'rect');
|
||
bg.setAttribute('x',-2000);bg.setAttribute('y',-2000);bg.setAttribute('fill','url(#grid)');bg.setAttribute('opacity','0.5');
|
||
const gHulls=document.createElementNS(SVGNS,'g');
|
||
const gEdges=document.createElementNS(SVGNS,'g');
|
||
const gNodes=document.createElementNS(SVGNS,'g');
|
||
gRoot.appendChild(bg);gRoot.appendChild(gHulls);gRoot.appendChild(gEdges);gRoot.appendChild(gNodes);
|
||
|
||
// ---- mutable graph state ----
|
||
let nodes,byId,edges,outAdj,inAdj,HUBS,W,H,labelFloor;
|
||
let CURRENT='area',selected=null,alpha=1,raf=null,REP,KY;
|
||
|
||
// ---- model ----
|
||
function buildModel(name){
|
||
const d=RAW[name],cfg=VIEWCFG[name];
|
||
W=cfg.W;H=cfg.H;labelFloor=cfg.labelFloor;REP=cfg.rep;KY=cfg.ky;
|
||
nodes=d.n.map(([id,label,layer,inD,outD])=>({id,label,layer,inD,outD,deg:inD+outD,
|
||
r:3.8+Math.sqrt(inD+outD+1)*cfg.rScale, color:colorFor(layer), teams:teamsOf(id)}));
|
||
byId=new Map(nodes.map(n=>[n.id,n]));
|
||
edges=d.e.map(([s,t,w,api])=>{const sn=byId.get(s),tn=byId.get(t);
|
||
return {s:sn,t:tn,w,api:!!api,inv:tn.layer==='features'&&sn.layer!=='features'};});
|
||
outAdj=new Map(nodes.map(n=>[n.id,[]]));
|
||
inAdj=new Map(nodes.map(n=>[n.id,[]]));
|
||
edges.forEach(e=>{outAdj.get(e.s.id).push(e);inAdj.get(e.t.id).push(e);});
|
||
HUBS=new Set(nodes.filter(n=>n.inD>=12&&n.outD<=3).map(n=>n.id));
|
||
}
|
||
|
||
// ---- layout ----
|
||
let seed=1337;
|
||
function rnd(){seed=(seed*1664525+1013904223)&0x7fffffff;return seed/0x7fffffff;}
|
||
function initLayout(){
|
||
seed=1337;
|
||
const cfg=VIEWCFG[CURRENT];
|
||
for(const n of nodes){
|
||
if(cfg.anchors&&cfg.anchors[n.layer]){
|
||
n.tx=W*cfg.anchors[n.layer].x;n.ty=H*cfg.anchors[n.layer].y;
|
||
n.x=n.tx+(rnd()-0.5)*220;n.y=n.ty+(rnd()-0.5)*220;
|
||
}else{
|
||
const bx=cfg.bandX?cfg.bandX[n.layer]:undefined;n.tx=W*(bx===undefined?0.5:bx);n.ty=H*0.5;
|
||
n.x=n.tx+(rnd()-0.5)*240;n.y=H*0.5+(rnd()-0.5)*H*0.86;
|
||
}
|
||
n.vx=0;n.vy=0;n.fixed=false;
|
||
}
|
||
let a=1;
|
||
for(let i=0;i<VIEWCFG[CURRENT].prewarm;i++){tick(a);a*=0.992;}
|
||
}
|
||
function tick(a){
|
||
const n=nodes.length;
|
||
for(let i=0;i<n;i++){nodes[i].fx=0;nodes[i].fy=0;}
|
||
for(let i=0;i<n;i++){const A=nodes[i];
|
||
for(let j=i+1;j<n;j++){const B=nodes[j];
|
||
let dx=A.x-B.x,dy=A.y-B.y,d2=dx*dx+dy*dy;if(d2<0.01)d2=0.01;
|
||
const d=Math.sqrt(d2);let f=REP/d2;if(f>42)f=42;
|
||
const ux=dx/d,uy=dy/d;A.fx+=ux*f;A.fy+=uy*f;B.fx-=ux*f;B.fy-=uy*f;}}
|
||
for(const e of edges){const A=e.s,B=e.t;
|
||
let dx=B.x-A.x,dy=B.y-A.y,d=Math.sqrt(dx*dx+dy*dy)||0.01;
|
||
const f=(d-96)*0.018,ux=dx/d,uy=dy/d;
|
||
A.fx+=ux*f;A.fy+=uy*f;B.fx-=ux*f;B.fy-=uy*f;}
|
||
if(clusterOn&&enabledTeams.size)computeTeamCentroids();
|
||
for(const A of nodes){
|
||
const ct=A._cteam;
|
||
if(clusterOn&&ct&&ct.cx!==undefined){
|
||
A.fx+=(ct.cx-A.x)*0.04;A.fy+=(ct.cy-A.y)*0.04;
|
||
A.fx+=(A.tx-A.x)*0.005;A.fy+=(A.ty-A.y)*KY;
|
||
}else{A.fx+=(A.tx-A.x)*0.018;A.fy+=(A.ty-A.y)*KY;}
|
||
}
|
||
for(const A of nodes){if(A.fixed)continue;
|
||
A.vx=(A.vx+A.fx)*0.84;A.vy=(A.vy+A.fy)*0.84;A.x+=A.vx*a;A.y+=A.vy*a;
|
||
A.x=Math.max(30,Math.min(W-30,A.x));A.y=Math.max(30,Math.min(H-30,A.y));}
|
||
}
|
||
|
||
// ---- DOM build ----
|
||
function buildDOM(){
|
||
svg.setAttribute('viewBox',`0 0 ${W} ${H}`);
|
||
bg.setAttribute('width',W+4000);bg.setAttribute('height',H+4000);
|
||
gEdges.textContent='';gNodes.textContent='';
|
||
edges.forEach(e=>{const ln=document.createElementNS(SVGNS,'line');
|
||
ln.setAttribute('class',e.inv?'edge inv':'edge');e.el=ln;gEdges.appendChild(ln);});
|
||
nodes.forEach(n=>{
|
||
const g=document.createElementNS(SVGNS,'g');g.setAttribute('class','node-dot');
|
||
const c=document.createElementNS(SVGNS,'circle');
|
||
c.setAttribute('r',n.r);c.setAttribute('fill',n.color);c.setAttribute('fill-opacity','0.92');
|
||
c.setAttribute('stroke','#0E1116');c.setAttribute('stroke-width','1.5');
|
||
const halo=document.createElementNS(SVGNS,'circle');halo.setAttribute('class','halo');halo.setAttribute('r',n.r+5);
|
||
const t=document.createElementNS(SVGNS,'text');t.setAttribute('class','node-label');
|
||
t.setAttribute('x',n.r+4);t.setAttribute('y',3.2);t.textContent=n.label;
|
||
g.appendChild(halo);g.appendChild(c);g.appendChild(t);n.gEl=g;n.cEl=c;n.tEl=t;n.haloEl=halo;gNodes.appendChild(g);
|
||
g.addEventListener('pointerenter',()=>{if(!selected)focusNode(n.id);});
|
||
g.addEventListener('pointerleave',()=>{if(!selected)clearFocus();});
|
||
g.addEventListener('click',ev=>{ev.stopPropagation();selectNode(n.id);});
|
||
g.addEventListener('pointerdown',startDrag);
|
||
});
|
||
}
|
||
function render(){
|
||
for(const e of edges){const A=e.s,B=e.t;
|
||
let dx=B.x-A.x,dy=B.y-A.y,d=Math.sqrt(dx*dx+dy*dy)||1;const ux=dx/d,uy=dy/d;
|
||
e.el.setAttribute('x1',(A.x+ux*A.r).toFixed(1));e.el.setAttribute('y1',(A.y+uy*A.r).toFixed(1));
|
||
e.el.setAttribute('x2',(B.x-ux*(B.r+2.5)).toFixed(1));e.el.setAttribute('y2',(B.y-uy*(B.r+2.5)).toFixed(1));}
|
||
for(const n of nodes)n.gEl.setAttribute('transform',`translate(${n.x.toFixed(1)},${n.y.toFixed(1)})`);
|
||
renderTeamOverlay();
|
||
}
|
||
function applyBaseLabels(){
|
||
for(const n of nodes){
|
||
if(n.deg>=labelFloor&&!n.hidden)n.tEl.classList.add('show');
|
||
else n.tEl.classList.remove('show');}
|
||
}
|
||
|
||
// ---- animation ----
|
||
function animate(){tick(alpha);alpha*=0.99;render();
|
||
if(alpha>0.015||dragging)raf=requestAnimationFrame(animate);else raf=null;}
|
||
function reheat(v){alpha=Math.max(alpha,v);if(!raf&&!reduced)raf=requestAnimationFrame(animate);}
|
||
|
||
// ---- highlight ----
|
||
function setEdge(e,on){
|
||
if(on){e.el.style.stroke=e.inv?INV:e.s.color;e.el.style.strokeOpacity='0.85';
|
||
e.el.style.strokeWidth=Math.min(0.7+e.w*0.55,4.2);}
|
||
else{e.el.style.stroke='';e.el.style.strokeOpacity='';e.el.style.strokeWidth='';}
|
||
}
|
||
function dimAll(bright){
|
||
for(const n of nodes){if(n.hidden)continue;
|
||
if(bright.has(n.id)){n.gEl.classList.remove('dim');n.tEl.classList.add('show');}
|
||
else{n.gEl.classList.add('dim');if(n.deg<labelFloor)n.tEl.classList.remove('show');}}
|
||
}
|
||
function focusNode(id){
|
||
const bright=new Set([id]),incident=[];
|
||
for(const e of outAdj.get(id)){if(e.s.hidden||e.t.hidden)continue;bright.add(e.t.id);incident.push(e);}
|
||
for(const e of inAdj.get(id)){if(e.s.hidden||e.t.hidden)continue;bright.add(e.s.id);incident.push(e);}
|
||
edges.forEach(e=>{setEdge(e,false);if(!e.s.hidden&&!e.t.hidden)e.el.style.strokeOpacity='0.03';});
|
||
incident.forEach(e=>setEdge(e,true));
|
||
dimAll(bright);
|
||
const n=byId.get(id);n.cEl.setAttribute('stroke','#fff');n.cEl.setAttribute('stroke-width','2');
|
||
}
|
||
function clearFocus(){
|
||
edges.forEach(e=>{setEdge(e,false);e.el.style.strokeOpacity='';});
|
||
for(const n of nodes){if(n.hidden)continue;n.gEl.classList.remove('dim');
|
||
n.cEl.setAttribute('stroke','#0E1116');n.cEl.setAttribute('stroke-width','1.5');}
|
||
applyBaseLabels();
|
||
}
|
||
function selectNode(id){
|
||
if(btnInv.classList.contains('active'))toggleInverted(false);
|
||
selected=id;focusNode(id);renderInspector(byId.get(id));
|
||
}
|
||
|
||
// ---- inspector ----
|
||
const insp=document.getElementById('insp');
|
||
function renderInspectorHint(){
|
||
insp.innerHTML='<p class="hint">Hover a node to trace its links. <b style="color:var(--text)">Click</b> to pin it and list its dependencies. Drag nodes to rearrange · scroll to zoom · drag canvas to pan.</p>';
|
||
}
|
||
function depItem(node,e){
|
||
const li=document.createElement('li');
|
||
const nm=document.createElement('span');nm.className='nm';
|
||
const dot=document.createElement('span');dot.className='dot';dot.style.background=node.color;
|
||
nm.appendChild(dot);nm.appendChild(document.createTextNode(node.id));
|
||
const w=document.createElement('span');w.className='w';w.textContent=(e.w>1?e.w+'× ':'')+(e.api?'api':'');
|
||
li.appendChild(nm);li.appendChild(w);
|
||
li.addEventListener('click',ev=>{ev.stopPropagation();selectNode(node.id);});
|
||
return li;
|
||
}
|
||
function renderInspector(n){
|
||
const navView=CURRENT==='screens';
|
||
const outs=outAdj.get(n.id).slice().sort((a,b)=>b.w-a.w);
|
||
const ins=inAdj.get(n.id).slice().sort((a,b)=>b.w-a.w);
|
||
insp.innerHTML='';
|
||
const id=document.createElement('div');id.className='insp-id';id.textContent=n.id;insp.appendChild(id);
|
||
const chip=document.createElement('span');chip.className='chip';chip.style.color=n.color;chip.style.background=hexA(n.color,0.16);
|
||
chip.textContent=navView?(GROUP_LABELS[n.layer]||n.layer):n.layer;insp.appendChild(chip);
|
||
if(navView){
|
||
const m=SCREENMETA[n.id];
|
||
const info=document.createElement('div');info.className='hubtext';info.style.margin='10px 0 2px';
|
||
if(m){info.innerHTML=`<div style="font-family:var(--mono);color:var(--text);word-break:break-all">${m.path||'—'}</div>`+
|
||
`<div style="margin-top:6px">owner <span style="font-family:var(--mono);color:var(--text)">${m.owner}</span> · ${m.total} refs in ${m.refs.length} module(s)</div>`;}
|
||
else info.textContent='Synthetic origin for navigation from the app root / shared UI (no AppRoute of its own).';
|
||
insp.appendChild(info);
|
||
}
|
||
const deg=document.createElement('div');deg.className='degline';
|
||
deg.innerHTML=`<span><span class="k">${navView?'navigates to':'depends on'}</span> <b>${n.outD}</b></span><span><span class="k">${navView?'reached from':'used by'}</span> <b>${n.inD}</b></span>`;
|
||
insp.appendChild(deg);
|
||
const mk=(title,arr,pick)=>{
|
||
const wrap=document.createElement('div');wrap.className='deplist';
|
||
const h=document.createElement('h3');h.innerHTML=`${title}<span>${arr.length}</span>`;wrap.appendChild(h);
|
||
if(!arr.length){const p=document.createElement('p');p.style.cssText='color:var(--faint);font-family:var(--mono);font-size:11px;margin:0 0 0 2px';p.textContent='— none —';wrap.appendChild(p);}
|
||
else{const ul=document.createElement('ul');arr.forEach(e=>ul.appendChild(depItem(pick(e),e)));wrap.appendChild(ul);}
|
||
insp.appendChild(wrap);
|
||
};
|
||
mk(navView?'Navigates to →':'Depends on →',outs,e=>e.t);
|
||
mk(navView?'← Reached from':'← Used by',ins,e=>e.s);
|
||
if(navView&&SCREENMETA[n.id]){
|
||
const wrap=document.createElement('div');wrap.className='deplist';
|
||
const h=document.createElement('h3');h.innerHTML=`Referenced in<span>${SCREENMETA[n.id].refs.length}</span>`;wrap.appendChild(h);
|
||
const ul=document.createElement('ul');
|
||
SCREENMETA[n.id].refs.forEach(([a,c])=>{const li=document.createElement('li');
|
||
const nm=document.createElement('span');nm.className='nm';nm.textContent=a;
|
||
const w=document.createElement('span');w.className='w';w.textContent=c+'×';
|
||
li.appendChild(nm);li.appendChild(w);ul.appendChild(li);});
|
||
wrap.appendChild(ul);insp.appendChild(wrap);
|
||
}
|
||
}
|
||
|
||
// ---- zoom / pan ----
|
||
let view={k:1,x:0,y:0};
|
||
function applyView(){gRoot.setAttribute('transform',`translate(${view.x} ${view.y}) scale(${view.k})`);}
|
||
function screenToVB(ev){const p=svg.createSVGPoint();p.x=ev.clientX;p.y=ev.clientY;return p.matrixTransform(svg.getScreenCTM().inverse());}
|
||
function vbToWorld(v){return {x:(v.x-view.x)/view.k,y:(v.y-view.y)/view.k};}
|
||
svg.addEventListener('wheel',ev=>{ev.preventDefault();
|
||
const vb=screenToVB(ev),w=vbToWorld(vb),f=Math.pow(1.0016,-ev.deltaY);
|
||
view.k=Math.max(0.25,Math.min(5,view.k*f));
|
||
view.x=vb.x-w.x*view.k;view.y=vb.y-w.y*view.k;applyView();
|
||
},{passive:false});
|
||
|
||
let panning=null;
|
||
svg.addEventListener('pointerdown',ev=>{
|
||
if(ev.target.closest('.node-dot'))return; // node handles its own
|
||
panning={sx:ev.clientX,sy:ev.clientY,vx:view.x,vy:view.y,moved:false};
|
||
svg.classList.add('grabbing');
|
||
window.addEventListener('pointermove',onPan);window.addEventListener('pointerup',endPan);
|
||
});
|
||
function onPan(ev){if(!panning)return;const ctm=svg.getScreenCTM();
|
||
const dx=(ev.clientX-panning.sx)/ctm.a,dy=(ev.clientY-panning.sy)/ctm.d;
|
||
if(Math.abs(ev.clientX-panning.sx)+Math.abs(ev.clientY-panning.sy)>3)panning.moved=true;
|
||
view.x=panning.vx+dx;view.y=panning.vy+dy;applyView();}
|
||
function endPan(){const moved=panning&&panning.moved;panning=null;svg.classList.remove('grabbing');
|
||
window.removeEventListener('pointermove',onPan);window.removeEventListener('pointerup',endPan);
|
||
if(!moved){selected=null;clearFocus();renderInspectorHint();}}
|
||
document.getElementById('resetView').addEventListener('click',()=>{view={k:1,x:0,y:0};applyView();});
|
||
|
||
// ---- node drag ----
|
||
let dragging=null;
|
||
function startDrag(ev){
|
||
const n=nodes.find(x=>x.gEl===ev.currentTarget);if(!n)return;
|
||
ev.preventDefault();ev.stopPropagation();dragging=n;n.fixed=true;
|
||
ev.currentTarget.setPointerCapture(ev.pointerId);
|
||
window.addEventListener('pointermove',onDrag);window.addEventListener('pointerup',endDrag);
|
||
}
|
||
function onDrag(ev){if(!dragging)return;const w=vbToWorld(screenToVB(ev));
|
||
dragging.x=Math.max(30,Math.min(W-30,w.x));dragging.y=Math.max(30,Math.min(H-30,w.y));
|
||
dragging.vx=0;dragging.vy=0;reheat(0.25);render();}
|
||
function endDrag(){if(dragging)dragging.fixed=false;dragging=null;
|
||
window.removeEventListener('pointermove',onDrag);window.removeEventListener('pointerup',endDrag);}
|
||
|
||
// ---- team overlay ----
|
||
function setClusterMembership(){
|
||
for(const n of nodes){n._cteam=null;
|
||
if(!clusterOn)continue;
|
||
for(const t of n.teams){if(enabledTeams.has(t.id)){n._cteam=t;break;}}}
|
||
}
|
||
function computeTeamCentroids(){
|
||
for(const t of TEAMS){if(!enabledTeams.has(t.id))continue;
|
||
let sx=0,sy=0,c=0;
|
||
for(const n of nodes){if(!n.hidden&&n._cteam===t){sx+=n.x;sy+=n.y;c++;}}
|
||
if(c){t.cx=sx/c;t.cy=sy/c;}}
|
||
}
|
||
function updateHalos(){
|
||
for(const n of nodes){
|
||
const t=n.teams.find(tt=>enabledTeams.has(tt.id));
|
||
if(t){n.haloEl.setAttribute('stroke',t.color);n.haloEl.style.opacity='0.9';}
|
||
else n.haloEl.style.opacity='0';}
|
||
}
|
||
function convexHull(pts){
|
||
pts=pts.slice().sort((a,b)=>a.x-b.x||a.y-b.y);
|
||
const n=pts.length;if(n<3)return pts;
|
||
const cross=(o,a,b)=>(a.x-o.x)*(b.y-o.y)-(a.y-o.y)*(b.x-o.x);
|
||
const lo=[];for(const p of pts){while(lo.length>=2&&cross(lo[lo.length-2],lo[lo.length-1],p)<=0)lo.pop();lo.push(p);}
|
||
const up=[];for(let i=n-1;i>=0;i--){const p=pts[i];while(up.length>=2&&cross(up[up.length-2],up[up.length-1],p)<=0)up.pop();up.push(p);}
|
||
lo.pop();up.pop();return lo.concat(up);
|
||
}
|
||
function smoothPath(p){
|
||
const n=p.length;if(n<3)return '';
|
||
const mid=(a,b)=>({x:(a.x+b.x)/2,y:(a.y+b.y)/2});const s=mid(p[n-1],p[0]);
|
||
let d=`M ${s.x.toFixed(1)} ${s.y.toFixed(1)}`;
|
||
for(let i=0;i<n;i++){const cur=p[i],nx=p[(i+1)%n],m=mid(cur,nx);
|
||
d+=` Q ${cur.x.toFixed(1)} ${cur.y.toFixed(1)} ${m.x.toFixed(1)} ${m.y.toFixed(1)}`;}
|
||
return d+' Z';
|
||
}
|
||
function renderTeamOverlay(){
|
||
for(const t of TEAMS){
|
||
if(!t._hullEl){
|
||
t._hullEl=document.createElementNS(SVGNS,'path');t._hullEl.setAttribute('class','hull');
|
||
t._hullEl.setAttribute('fill',t.color);t._hullEl.setAttribute('stroke',t.color);gHulls.appendChild(t._hullEl);
|
||
t._labelEl=document.createElementNS(SVGNS,'text');t._labelEl.setAttribute('class','hull-label');
|
||
t._labelEl.setAttribute('fill',t.color);t._labelEl.setAttribute('text-anchor','middle');gHulls.appendChild(t._labelEl);
|
||
}
|
||
if(!enabledTeams.has(t.id)){t._hullEl.setAttribute('d','');t._labelEl.textContent='';continue;}
|
||
const mem=nodes.filter(n=>!n.hidden&&n.teams.includes(t));
|
||
if(!mem.length){t._hullEl.setAttribute('d','');t._labelEl.textContent='';continue;}
|
||
if(mem.length<3){
|
||
let sx=0,sy=0,my=Infinity;mem.forEach(n=>{sx+=n.x;sy+=n.y;if(n.y<my)my=n.y;});
|
||
t._hullEl.setAttribute('d','');t._labelEl.setAttribute('x',sx/mem.length);t._labelEl.setAttribute('y',my-14);t._labelEl.textContent=t.name;continue;}
|
||
const hull=convexHull(mem.map(n=>({x:n.x,y:n.y})));
|
||
let cx=0,cy=0;hull.forEach(p=>{cx+=p.x;cy+=p.y;});cx/=hull.length;cy/=hull.length;
|
||
const ex=hull.map(p=>{const dx=p.x-cx,dy=p.y-cy,d=Math.hypot(dx,dy)||1;const pad=32;return {x:p.x+dx/d*pad,y:p.y+dy/d*pad};});
|
||
t._hullEl.setAttribute('d',smoothPath(ex));
|
||
let miny=Infinity;ex.forEach(p=>{if(p.y<miny)miny=p.y;});
|
||
t._labelEl.setAttribute('x',cx);t._labelEl.setAttribute('y',miny-8);t._labelEl.textContent=t.name;
|
||
}
|
||
}
|
||
|
||
// ---- controls ----
|
||
const search=document.getElementById('search');
|
||
search.addEventListener('input',runSearch);
|
||
function runSearch(){
|
||
const q=search.value.trim().toLowerCase();
|
||
if(btnInv.classList.contains('active'))toggleInverted(false);
|
||
selected=null;
|
||
if(!q){clearFocus();renderInspectorHint();return;}
|
||
const matches=new Set(nodes.filter(n=>!n.hidden&&n.id.toLowerCase().includes(q)).map(n=>n.id));
|
||
edges.forEach(e=>{setEdge(e,false);
|
||
if(!e.s.hidden&&!e.t.hidden)e.el.style.strokeOpacity=(matches.has(e.s.id)&&matches.has(e.t.id))?'0.7':'0.03';});
|
||
edges.forEach(e=>{if(matches.has(e.s.id)&&matches.has(e.t.id))setEdge(e,true);});
|
||
if(matches.size)dimAll(matches);else clearFocus();
|
||
}
|
||
function recomputeHidden(){
|
||
const showF=togF.classList.contains('on'),showD=togD.classList.contains('on'),showData=togData.classList.contains('on');
|
||
const hideHubs=togHubs.classList.contains('on'),apiOnly=togApi.classList.contains('on');
|
||
for(const n of nodes){let h=false;
|
||
if(n.layer==='features'&&!showF)h=true;
|
||
if(n.layer==='domain'&&!showD)h=true;
|
||
if(n.layer==='data'&&!showData)h=true;
|
||
if(hideHubs&&HUBS.has(n.id))h=true;
|
||
n.hidden=h;n.gEl.style.display=h?'none':'';}
|
||
for(const e of edges){let h=e.s.hidden||e.t.hidden;if(apiOnly&&!e.api)h=true;
|
||
e.el.style.display=h?'none':'';}
|
||
if(selected&&!byId.get(selected).hidden)focusNode(selected);
|
||
else{selected=null;if(search.value.trim())runSearch();else clearFocus();}
|
||
reheat(0.15);
|
||
}
|
||
function bindTog(el){el.addEventListener('click',()=>{el.classList.toggle('on');recomputeHidden();});}
|
||
const togF=document.querySelector('.tog[data-layer="features"]');
|
||
const togD=document.querySelector('.tog[data-layer="domain"]');
|
||
const togData=document.querySelector('.tog[data-layer="data"]');
|
||
const togHubs=document.getElementById('togHubs');
|
||
const togApi=document.getElementById('togApi');
|
||
[togF,togD,togData,togHubs,togApi].forEach(bindTog);
|
||
|
||
// team toggles (built from TEAMS config)
|
||
const teamList=document.getElementById('teamList');
|
||
const togCluster=document.getElementById('togCluster');
|
||
TEAMS.forEach(t=>{
|
||
const el=document.createElement('label');el.className='tog';el.dataset.team=t.id;
|
||
el.innerHTML=`<span class="box"></span><span class="dot" style="background:${t.color}"></span>${t.name}<span class="meta" id="teamCnt_${t.id}"></span>`;
|
||
el.addEventListener('click',()=>{el.classList.toggle('on');syncTeams();});
|
||
teamList.appendChild(el);
|
||
});
|
||
function syncTeams(){
|
||
enabledTeams.clear();
|
||
teamList.querySelectorAll('.tog.on').forEach(el=>enabledTeams.add(el.dataset.team));
|
||
setClusterMembership();updateHalos();reheat(0.35);render();
|
||
}
|
||
togCluster.addEventListener('click',()=>{
|
||
togCluster.classList.toggle('on');clusterOn=togCluster.classList.contains('on');
|
||
setClusterMembership();reheat(0.45);render();
|
||
});
|
||
|
||
const btnInv=document.getElementById('btnInv');
|
||
function toggleInverted(force){
|
||
const on=force!==undefined?force:!btnInv.classList.contains('active');
|
||
btnInv.classList.toggle('active',on);
|
||
if(!on){selected=null;clearFocus();renderInspectorHint();return;}
|
||
selected=null;search.value='';
|
||
const invE=edges.filter(e=>e.inv&&!e.s.hidden&&!e.t.hidden);
|
||
const bright=new Set();invE.forEach(e=>{bright.add(e.s.id);bright.add(e.t.id);});
|
||
edges.forEach(e=>{setEdge(e,false);if(!e.s.hidden&&!e.t.hidden)e.el.style.strokeOpacity='0.025';});
|
||
invE.forEach(e=>setEdge(e,true));dimAll(bright);
|
||
insp.innerHTML='<div class="insp-id" style="color:var(--inverted)">inverted deps</div>'+
|
||
'<p class="hint" style="margin-top:10px">Edges where a lower-layer <b style="color:var(--domain)">domain</b> or <b style="color:var(--data)">data</b> module imports a <b style="color:var(--features)">feature</b> <code>api</code> — the dependency arrow points the "wrong" way across the layer boundary.</p>';
|
||
const ul=document.createElement('ul');ul.style.cssText='list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:1px';
|
||
invE.sort((a,b)=>a.s.id.localeCompare(b.s.id)).forEach(e=>{
|
||
const li=document.createElement('li');
|
||
li.style.cssText='font-family:var(--mono);font-size:11px;padding:5px 7px;border-radius:5px;color:var(--inverted);cursor:pointer;word-break:break-all';
|
||
li.textContent=`${e.s.id} → ${e.t.id}`;
|
||
li.addEventListener('click',ev=>{ev.stopPropagation();toggleInverted(false);selectNode(e.s.id);});
|
||
li.addEventListener('mouseenter',()=>li.style.background='var(--panel-2)');
|
||
li.addEventListener('mouseleave',()=>li.style.background='');
|
||
ul.appendChild(li);});
|
||
insp.appendChild(ul);
|
||
}
|
||
btnInv.addEventListener('click',()=>toggleInverted());
|
||
|
||
// ---- header / hub text ----
|
||
function updateChrome(){
|
||
document.getElementById('statNodes').textContent=nodes.length;
|
||
document.getElementById('statNodesLbl').textContent=VIEWCFG[CURRENT].kind;
|
||
document.getElementById('statEdges').textContent=edges.length;
|
||
document.getElementById('invCount').textContent=edges.filter(e=>e.inv).length;
|
||
document.getElementById('cntF').textContent=nodes.filter(n=>n.layer==='features').length;
|
||
document.getElementById('cntD').textContent=nodes.filter(n=>n.layer==='domain').length;
|
||
const nData=nodes.filter(n=>n.layer==='data').length, hasData=nData>0;
|
||
document.getElementById('cntData').textContent=nData;
|
||
document.getElementById('togDataRow').style.display=hasData?'':'none';
|
||
document.getElementById('legendData').style.display=hasData?'':'none';
|
||
document.getElementById('hubCount').textContent=HUBS.size;
|
||
document.getElementById('hubList').textContent=[...HUBS].map(id=>byId.get(id).label).join(', ');
|
||
TEAMS.forEach(t=>{const el=document.getElementById('teamCnt_'+t.id);
|
||
if(el)el.textContent=nodes.filter(n=>n.teams.includes(t)).length;});
|
||
document.getElementById('statEdgesLbl').textContent=CURRENT==='screens'?'nav links':'dep links';
|
||
if(CURRENT==='screens'&&groupListBuilt)Object.keys(GROUP_LABELS).forEach(g=>{
|
||
const el=document.getElementById('grpCnt_'+g);if(el)el.textContent=nodes.filter(n=>n.layer===g).length;});
|
||
}
|
||
|
||
// ---- screens-view chrome ----
|
||
let groupListBuilt=false;
|
||
function buildGroupList(){
|
||
groupListBuilt=true;const gl=document.getElementById('groupList');gl.innerHTML='';
|
||
Object.keys(GROUP_LABELS).forEach(g=>{
|
||
const el=document.createElement('label');el.className='tog';el.dataset.group=g;
|
||
el.innerHTML=`<span style="background:${GROUP_COLORS[g]};width:10px;height:10px;border-radius:50%;flex:0 0 auto;display:inline-block"></span>${GROUP_LABELS[g]}<span class="meta" id="grpCnt_${g}"></span>`;
|
||
el.addEventListener('click',()=>{
|
||
const was=el.classList.contains('act');
|
||
gl.querySelectorAll('.tog').forEach(x=>x.classList.remove('act'));
|
||
if(was)clearFocus();else{el.classList.add('act');isolateGroup(g);}
|
||
});
|
||
gl.appendChild(el);
|
||
});
|
||
}
|
||
function isolateGroup(g){
|
||
selected=null;
|
||
const set=new Set(nodes.filter(n=>!n.hidden&&n.layer===g).map(n=>n.id));
|
||
const bright=new Set(set);
|
||
edges.forEach(e=>{if(set.has(e.s.id))bright.add(e.t.id);if(set.has(e.t.id))bright.add(e.s.id);});
|
||
edges.forEach(e=>{setEdge(e,false);if(!e.s.hidden&&!e.t.hidden)e.el.style.strokeOpacity='0.02';});
|
||
edges.forEach(e=>{if(set.has(e.s.id)||set.has(e.t.id))setEdge(e,true);});
|
||
dimAll(bright);
|
||
}
|
||
function applyViewChrome(name){
|
||
const isS=name==='screens';
|
||
['grpLayers','grpDeclutter','grpLayering'].forEach(id=>document.getElementById(id).style.display=isS?'none':'');
|
||
document.getElementById('grpGroups').style.display=isS?'':'none';
|
||
document.getElementById('legendBox').style.display=isS?'none':'';
|
||
document.querySelector('.stat.warn').style.display=isS?'none':'';
|
||
document.getElementById('eyebrowKind').textContent=isS?'AppRoute navigation map':'gradle dependency graph';
|
||
document.getElementById('hud').innerHTML=isS
|
||
?'screens grouped by function<br>arrow = navigates to<br><b>scroll</b> zoom · <b>drag</b> pan'
|
||
:'consumers <span style="color:var(--features)">left</span> · foundations <span style="color:var(--domain)">right</span><br>arrow points to the dependency<br><b>scroll</b> zoom · <b>drag</b> pan';
|
||
if(isS&&!groupListBuilt)buildGroupList();
|
||
if(groupListBuilt)document.getElementById('groupList').querySelectorAll('.tog').forEach(x=>x.classList.remove('act'));
|
||
}
|
||
|
||
// ---- view switch ----
|
||
function loadView(name){
|
||
if(raf){cancelAnimationFrame(raf);raf=null;}
|
||
CURRENT=name;selected=null;search.value='';
|
||
btnInv.classList.remove('active');
|
||
applyViewChrome(name);
|
||
view={k:1,x:0,y:0};applyView();
|
||
buildModel(name);setClusterMembership();initLayout();buildDOM();updateHalos();updateChrome();
|
||
recomputeHidden();render();applyBaseLabels();
|
||
if(!reduced){alpha=0.16;raf=requestAnimationFrame(animate);}
|
||
}
|
||
const vs=document.getElementById('viewswitch');
|
||
vs.addEventListener('click',ev=>{const b=ev.target.closest('button');if(!b)return;
|
||
[...vs.children].forEach(x=>x.classList.toggle('on',x===b));
|
||
loadView(b.dataset.view);});
|
||
|
||
loadView('area');
|
||
</script>
|