From 9f265352f9ee474dbc274faca7c2504c0deed7de Mon Sep 17 00:00:00 2001 From: dbajpeyi <3018923+dbajpeyi@users.noreply.github.com> Date: Fri, 21 Nov 2025 12:16:18 +0000 Subject: [PATCH] Update autofill to 18.5.0 --- .../autofill/dist/autofill-debug.js | 1490 ++++++++++++++--- .../@duckduckgo/autofill/dist/autofill.css | 4 + .../@duckduckgo/autofill/dist/autofill.js | 1400 ++++++++++++++-- .../autofill/dist/shared-credentials.json | 6 + package-lock.json | 5 +- package.json | 2 +- 6 files changed, 2543 insertions(+), 364 deletions(-) diff --git a/node_modules/@duckduckgo/autofill/dist/autofill-debug.js b/node_modules/@duckduckgo/autofill/dist/autofill-debug.js index ba6c7040822b..a9b1d60ab1c2 100644 --- a/node_modules/@duckduckgo/autofill/dist/autofill-debug.js +++ b/node_modules/@duckduckgo/autofill/dist/autofill-debug.js @@ -14,6 +14,7 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj)); var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value); var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value); + var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method); // src/requestIdleCallback.js /*! @@ -147,6 +148,10 @@ matchers: { fields: { unknown: { type: "unknown", strategies: { ddgMatcher: "unknown" } }, + totp: { + type: "totp", + strategies: { cssSelector: "totp", ddgMatcher: "totp" } + }, emailAddress: { type: "emailAddress", strategies: { @@ -313,6 +318,7 @@ }, lists: { unknown: ["unknown"], + totp: ["totp"], emailAddress: ["emailAddress"], password: ["password"], username: ["username"], @@ -345,14 +351,15 @@ strategies: { cssSelector: { selectors: { - genericTextInputField: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([name*=otp]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month])', + genericTextInputField: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month])', submitButtonSelector: 'input[type=submit], input[type=button], input[type=image], button:not([role=switch]):not([role=link]):not([aria-label="clear" i]), [role=button]:not([aria-label="clear" i]), a[href="#"][id*=button i], a[href="#"][id*=btn i]', - formInputsSelectorWithoutSelect: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([name*=otp]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month]),[autocomplete=username]', - formInputsSelector: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([name*=otp]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month]),[autocomplete=username],select', + formInputsSelectorWithoutSelect: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month]),[autocomplete=username]', + formInputsSelector: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month]),[autocomplete=username],select', safeUniversalSelector: "*:not(select):not(option):not(script):not(noscript):not(style):not(br)", emailAddress: 'input:not([type])[name*=email i]:not([placeholder*=search i]):not([placeholder*=filter i]):not([placeholder*=subject i]):not([name*=code i]), input[type=""][name*=email i]:not([placeholder*=search i]):not([placeholder*=filter i]):not([placeholder*=subject i]):not([type=tel]), input[type=text][name*=email i]:not([placeholder*=search i]):not([placeholder*=filter i]):not([placeholder*=subject i]):not([name*=title i]):not([name*=tab i]):not([name*=code i]), input:not([type])[placeholder*=email i]:not([placeholder*=search i]):not([placeholder*=filter i]):not([placeholder*=subject i]):not([name*=code i]), input[type=text][placeholder*=email i]:not([placeholder*=search i]):not([placeholder*=filter i]):not([placeholder*=subject i]), input[type=""][placeholder*=email i]:not([placeholder*=search i]):not([placeholder*=filter i]):not([placeholder*=subject i]), input[type=email], input[type=text][aria-label*=email i]:not([aria-label*=search i]), input:not([type])[aria-label*=email i]:not([aria-label*=search i]), input[name=username][type=email], input[autocomplete=username][type=email], input[autocomplete=username][placeholder*=email i], input[autocomplete=email],input[name="mail_tel" i],input[value=email i]', - username: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([name*=otp]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month])[autocomplete^=user i],input[name=username i],input[name="loginId" i],input[name="userid" i],input[id="userid" i],input[name="user_id" i],input[name="user-id" i],input[id="login-id" i],input[id="login_id" i],input[id="loginid" i],input[name="login" i],input[name=accountname i],input[autocomplete=username i],input[name*=accountid i],input[name="j_username" i],input[id="j_username" i],input[name="uwinid" i],input[name="livedoor_id" i],input[name="ssousername" i],input[name="j_userlogin_pwd" i],input[name="user[login]" i],input[name="user" i],input[name$="_username" i],input[id="lmSsoinput" i],input[name="account_subdomain" i],input[name="masterid" i],input[name="tridField" i],input[id="signInName" i],input[id="w3c_accountsbundle_accountrequeststep1_login" i],input[id="username" i],input[name="_user" i],input[name="login_username" i],input[name^="login-user-account" i],input[id="loginusuario" i],input[name="usuario" i],input[id="UserLoginFormUsername" i],input[id="nw_username" i],input[can-field="accountName"],input[name="login[username]"],input[placeholder^="username" i]', + username: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month])[autocomplete^=user i],input[name=username i],input[name="loginId" i],input[name="userid" i],input[id="userid" i],input[name="user_id" i],input[name="user-id" i],input[id="login-id" i],input[id="login_id" i],input[id="loginid" i],input[name="login" i],input[name=accountname i],input[autocomplete=username i],input[name*=accountid i],input[name="j_username" i],input[id="j_username" i],input[name="uwinid" i],input[name="livedoor_id" i],input[name="ssousername" i],input[name="j_userlogin_pwd" i],input[name="user[login]" i],input[name="user" i],input[name$="_username" i],input[id="lmSsoinput" i],input[name="account_subdomain" i],input[name="masterid" i],input[name="tridField" i],input[id="signInName" i],input[id="w3c_accountsbundle_accountrequeststep1_login" i],input[id="username" i],input[name="_user" i],input[name="login_username" i],input[name^="login-user-account" i],input[id="loginusuario" i],input[name="usuario" i],input[id="UserLoginFormUsername" i],input[id="nw_username" i],input[can-field="accountName"],input[name="login[username]"],input[placeholder^="username" i]', password: "input[type=password]:not([autocomplete*=cc]):not([autocomplete=one-time-code]):not([name*=answer i]):not([name*=mfa i]):not([name*=tin i]):not([name*=card i]):not([name*=cvv i]),input.js-cloudsave-phrase", + totp: 'input[name*=otp i], input[name*=otpCode i] input[aria-describedby=otpCode], input[autocomplete="one-time-code"]', cardName: 'input[autocomplete="cc-name" i], input[autocomplete="ccname" i], input[name="ccname" i], input[name="cc-name" i], input[name="ppw-accountHolderName" i], input[name="payment[name]"], input[id="cc-name" i], input[id="ccname" i], input[id*=cardname i], input[id*=card-name i], input[id*=card_name i]', cardNumber: 'input[autocomplete="cc-number" i], input[autocomplete="ccnumber" i], input[autocomplete="cardnumber" i], input[autocomplete="card-number" i], input[name="ccnumber" i], input[name="cc-number" i], input[name*=card i][name*=number i]:not([name*=verif i]):not([name*=phone i]):not([name*=secur i]), input[name*=cardnumber i], input[name="payment[card_no]"], input[id="cc-number" i], input[id="ccnumber" i], input[id*=cardnumber i], input[id*=card-number i], input[id*=card_number i]', cardSecurityCode: 'input[autocomplete="cc-csc" i], input[autocomplete="csc" i], input[autocomplete="cc-cvc" i], input[autocomplete="cvc" i], input[name*="cvc" i], input[name*="cvv" i], input[name="cc-cvc" i], input[name="cc-csc" i], input[name="csc" i], input[name*=security i][name*=code i], input[id="cc-csc" i], input[id="csc" i], input[id="cc-cvc" i], input[id="cvc" i]', @@ -378,7 +385,11 @@ ddgMatcher: { matchers: { unknown: { - match: /search|find|filter|subject|title|captcha|mfa|2fa|(two|2).?factor|one-time|otp|social security number|ssn|cerca|filtr|oggetto|titolo|(due|2|più).?fattori|suche|filtern|betreff|zoeken|filter|onderwerp|titel|chercher|filtrer|objet|titre|authentification multifacteur|double authentification|à usage unique|busca|busqueda|filtra|dos pasos|un solo uso|sök|filter|ämne|multifaktorsautentisering|tvåfaktorsautentisering|två.?faktor|engångs/iu, + match: /search|find|filter|subject|title|captcha|social security number|ssn|cerca|filtr|oggetto|titolo|(due|2|più).?fattori|suche|filtern|betreff|zoeken|filter|onderwerp|titel|chercher|filtrer|objet|titre|authentification multifacteur|double authentification|à usage unique|busca|busqueda|filtra|dos pasos|un solo uso|sök|filter|ämne|multifaktorsautentisering|tvåfaktorsautentisering|två.?faktor|engångs/iu, + skip: /phone|mobile|email|password/iu + }, + totp: { + match: /mfa|2fa|(two|2).?factor|one-time|otp|totp/iu, skip: /phone|mobile|email|password/iu }, emailAddress: { @@ -389,7 +400,7 @@ password: { match: /password|passwort|kennwort|wachtwoord|mot de passe|clave|contraseña|lösenord/iu, skip: /email|one-time|error|hint|^username$/iu, - forceUnknown: /search|captcha|mfa|2fa|two factor|otp|pin/iu + forceUnknown: /search|captcha|pin/iu }, newPassword: { match: /new|confirm|re.?(enter|type)|repeat|update\b/iu }, currentPassword: { match: /current|old|previous|expired|existing/iu }, @@ -681,7 +692,8 @@ Source: "${matchedFrom}"`; id: [], password: [], username: [], - emailAddress: [] + emailAddress: [], + totp: [] }); for (const [listName, matcherNames] of Object.entries(__privateGet(this, _config).matchers.lists)) { for (const fieldName of matcherNames) { @@ -862,6 +874,9 @@ Source: "${matchedFrom}"`; if (this.subtypeFromMatchers("username", input)) { return "credentials.username"; } + if (this.subtypeFromMatchers("totp", input)) { + return "credentials.totp"; + } } const idSubtype = this.subtypeFromMatchers("id", input); if (idSubtype && isValidIdentitiesSubtype(idSubtype)) { @@ -1183,7 +1198,7 @@ Source: "${matchedFrom}"`; } var supportedCredentialsSubtypes = ( /** @type {const} */ - ["password", "password.new", "password.current", "username"] + ["password", "password.new", "password.current", "username", "totp"] ); var supportedVariants = ( /** @type {const} */ @@ -1331,33 +1346,45 @@ Source: "${matchedFrom}"`; var Map2 = globalThis.Map; var Error2 = globalThis.Error; var randomUUID = globalThis.crypto?.randomUUID?.bind(globalThis.crypto); + var console2 = globalThis.console; + var consoleLog = console2.log.bind(console2); + var consoleWarn = console2.warn.bind(console2); + var consoleError = console2.error.bind(console2); // node_modules/@duckduckgo/content-scope-scripts/injected/src/utils.js var globalObj = typeof window === "undefined" ? globalThis : window; var Error3 = globalObj.Error; var originalWindowDispatchEvent = typeof window === "undefined" ? null : window.dispatchEvent.bind(window); - function getTabHostname() { - let framingOrigin = null; + function getTabUrl() { + let framingURLString = null; try { - framingOrigin = globalThis.top.location.href; + framingURLString = globalThis.top.location.href; } catch { - framingOrigin = globalThis.document.referrer; - } - if ("ancestorOrigins" in globalThis.location && globalThis.location.ancestorOrigins.length) { - framingOrigin = globalThis.location.ancestorOrigins.item(globalThis.location.ancestorOrigins.length - 1); + framingURLString = getTopLevelOriginFromFrameAncestors() ?? globalThis.document.referrer; } + let framingURL; try { - framingOrigin = new URL(framingOrigin).hostname; + framingURL = new URL(framingURLString); } catch { - framingOrigin = null; + framingURL = null; + } + return framingURL; + } + function getTopLevelOriginFromFrameAncestors() { + if ("ancestorOrigins" in globalThis.location && globalThis.location.ancestorOrigins.length) { + return globalThis.location.ancestorOrigins.item(globalThis.location.ancestorOrigins.length - 1); } - return framingOrigin; + return null; + } + function getTabHostname() { + const topURLString = getTabUrl()?.hostname; + return topURLString || null; } function matchHostname(hostname, exceptionDomain) { return hostname === exceptionDomain || hostname.endsWith(`.${exceptionDomain}`); } function camelcase(dashCaseText) { - return dashCaseText.replace(/-(.)/g, (_, letter) => { + return dashCaseText.replace(/-(.)/g, (_2, letter) => { return letter.toUpperCase(); }); } @@ -1377,12 +1404,16 @@ Source: "${matchedFrom}"`; return unprotectedDomain; } function computeLimitedSiteObject() { - const topLevelHostname = getTabHostname(); + const tabURL = getTabUrl(); return { - domain: topLevelHostname + domain: tabURL?.hostname || null, + url: tabURL?.href || null }; } function getPlatformVersion(preferences) { + if (preferences.platform?.version !== void 0 && preferences.platform?.version !== "") { + return preferences.platform.version; + } if (preferences.versionNumber) { return preferences.versionNumber; } @@ -1422,6 +1453,18 @@ Source: "${matchedFrom}"`; } return false; } + function isMaxSupportedVersion(maxSupportedVersion, currentVersion) { + if (typeof currentVersion === "string" && typeof maxSupportedVersion === "string") { + if (satisfiesMinVersion(currentVersion, maxSupportedVersion)) { + return true; + } + } else if (typeof currentVersion === "number" && typeof maxSupportedVersion === "number") { + if (maxSupportedVersion >= currentVersion) { + return true; + } + } + return false; + } function processConfig(data, userList, preferences, platformSpecificFeatures = []) { const topLevelHostname = getTabHostname(); const site = computeLimitedSiteObject(); @@ -3077,7 +3120,7 @@ Source: "${matchedFrom}"`; if (minimumMaximumConsecutiveCharacters !== null) { newPasswordRules.push(new Rule(RuleName.MAX_CONSECUTIVE, minimumMaximumConsecutiveCharacters)); } - const sortedRequiredRules = requiredRules.sort(function(a, b) { + const sortedRequiredRules = requiredRules.sort(function(a2, b2) { const namedCharacterClassOrder = [ Identifier.LOWER, Identifier.UPPER, @@ -3086,8 +3129,8 @@ Source: "${matchedFrom}"`; Identifier.ASCII_PRINTABLE, Identifier.UNICODE ]; - const aIsJustOneNamedCharacterClass = a.value.length === 1 && a.value[0] instanceof NamedCharacterClass; - const bIsJustOneNamedCharacterClass = b.value.length === 1 && b.value[0] instanceof NamedCharacterClass; + const aIsJustOneNamedCharacterClass = a2.value.length === 1 && a2.value[0] instanceof NamedCharacterClass; + const bIsJustOneNamedCharacterClass = b2.value.length === 1 && b2.value[0] instanceof NamedCharacterClass; if (aIsJustOneNamedCharacterClass && !bIsJustOneNamedCharacterClass) { return -1; } @@ -3095,8 +3138,8 @@ Source: "${matchedFrom}"`; return 1; } if (aIsJustOneNamedCharacterClass && bIsJustOneNamedCharacterClass) { - const aIndex = namedCharacterClassOrder.indexOf(a.value[0].name); - const bIndex = namedCharacterClassOrder.indexOf(b.value[0].name); + const aIndex = namedCharacterClassOrder.indexOf(a2.value[0].name); + const bIndex = namedCharacterClassOrder.indexOf(b2.value[0].name); return aIndex - bIndex; } return 0; @@ -3275,11 +3318,11 @@ Source: "${matchedFrom}"`; _randomNumberWithUniformDistribution(range) { const getRandomValues = this.options.getRandomValues || safeGlobals.getRandomValues; const max = Math.floor(2 ** 32 / range) * range; - let x; + let x2; do { - x = getRandomValues(new Uint32Array(1))[0]; - } while (x >= max); - return x % range; + x2 = getRandomValues(new Uint32Array(1))[0]; + } while (x2 >= max); + return x2 % range; } /** * @param {number} numberOfRequiredRandomCharacters @@ -3376,8 +3419,8 @@ Source: "${matchedFrom}"`; for (let i = 0; i < requiredCharacterSetsLength; i++) { const requiredCharacterSet = requiredCharacterSets[i]; let hasRequiredChar = false; - for (let j = 0; j < passwordLength; j++) { - const char = password.charAt(j); + for (let j2 = 0; j2 < passwordLength; j2++) { + const char = password.charAt(j2); if (requiredCharacterSet.indexOf(char) !== -1) { hasRequiredChar = true; break; @@ -3450,8 +3493,8 @@ Source: "${matchedFrom}"`; for (let i = 0; i < requiredCharacterSetsLength; i++) { const requiredCharacterSet = requiredCharacterSets[i]; let requiredCharacterSetContainsAllowedCharacters = false; - for (let j = 0; j < allowedCharactersLength; j++) { - const character = allowedCharacters.charAt(j); + for (let j2 = 0; j2 < allowedCharactersLength; j2++) { + const character = allowedCharacters.charAt(j2); if (requiredCharacterSet.indexOf(character) !== -1) { requiredCharacterSetContainsAllowedCharacters = true; break; @@ -3555,7 +3598,7 @@ Source: "${matchedFrom}"`; return ""; } const shadowCharacters = Array.prototype.slice.call(characters); - shadowCharacters.sort((a, b) => this.options.SCAN_SET_ORDER.indexOf(a) - this.options.SCAN_SET_ORDER.indexOf(b)); + shadowCharacters.sort((a2, b2) => this.options.SCAN_SET_ORDER.indexOf(a2) - this.options.SCAN_SET_ORDER.indexOf(b2)); const uniqueCharacters = [shadowCharacters[0]]; for (let i = 1, length = shadowCharacters.length; i < length; ++i) { if (shadowCharacters[i] === shadowCharacters[i - 1]) { @@ -5205,6 +5248,7 @@ Source: "${matchedFrom}"`; var ddgPasswordIconFilled = keyFilled; var ddgPasswordGenIconBase = keyLogin; var ddgPasswordGenIconFilled = keyLoginFilled; + var ddgTOTPIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgIGQ9Ik0zIDQuOTQ4MjhWNy4wMjA5NEMxLjg3MDY0IDcuMTczNSAxIDguMTQxMzIgMSA5LjMxMjVWMTMuNjg3NUMxIDE0Ljk2NDcgMi4wMzUzNCAxNiAzLjMxMjUgMTZIMTIuNjg3NUMxMy45NjQ3IDE2IDE1IDE0Ljk2NDcgMTUgMTMuNjg3NVY5LjMxMjVDMTUgOC4xNDEzMiAxNC4xMjk0IDcuMTczNSAxMyA3LjAyMDk0VjQuOTQ4MjhDMTMgMi4yMDg0MyAxMC43NTQ0IDAgOCAwQzUuMjQ1NiAwIDMgMi4yMDg0MyAzIDQuOTQ4MjhaTTggMS4yNUM1LjkyMTkgMS4yNSA0LjI1IDIuOTEyNzYgNC4yNSA0Ljk0ODI4VjdIMTEuNzVWNC45NDgyOEMxMS43NSAyLjkxMjc2IDEwLjA3ODEgMS4yNSA4IDEuMjVaTTIuMjUgOS4zMTI1QzIuMjUgOC43MjU3IDIuNzI1NyA4LjI1IDMuMzEyNSA4LjI1SDEyLjY4NzVDMTMuMjc0MyA4LjI1IDEzLjc1IDguNzI1NyAxMy43NSA5LjMxMjVWMTMuNjg3NUMxMy43NSAxNC4yNzQzIDEzLjI3NDMgMTQuNzUgMTIuNjg3NSAxNC43NUgzLjMxMjVDMi43MjU3IDE0Ljc1IDIuMjUgMTQuMjc0MyAyLjI1IDEzLjY4NzVWOS4zMTI1WiIKICAgICAgICBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0IiBzdHlsZT0iZmlsbDpibGFjaztmaWxsLW9wYWNpdHk6MC44NDsiIC8+CiAgICA8cGF0aAogICAgICAgIGQ9Ik0zLjUgMTEuNUMzLjUgMTAuOTQ3NyAzLjk0NzcyIDEwLjUgNC41IDEwLjVDNS4wNTIyOCAxMC41IDUuNSAxMC45NDc3IDUuNSAxMS41QzUuNSAxMi4wNTIzIDUuMDUyMjggMTIuNSA0LjUgMTIuNUMzLjk0NzcyIDEyLjUgMy41IDEyLjA1MjMgMy41IDExLjVaIgogICAgICAgIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuODQiIHN0eWxlPSJmaWxsOmJsYWNrO2ZpbGwtb3BhY2l0eTowLjg0OyIgLz4KICAgIDxwYXRoCiAgICAgICAgZD0iTTcgMTEuNUM3IDEwLjk0NzcgNy40NDc3MiAxMC41IDggMTAuNUM4LjU1MjI4IDEwLjUgOSAxMC45NDc3IDkgMTEuNUM5IDEyLjA1MjMgOC41NTIyOCAxMi41IDggMTIuNUM3LjQ0NzcyIDEyLjUgNyAxMi4wNTIzIDcgMTEuNVoiCiAgICAgICAgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC44NCIgc3R5bGU9ImZpbGw6YmxhY2s7ZmlsbC1vcGFjaXR5OjAuODQ7IiAvPgogICAgPHBhdGgKICAgICAgICBkPSJNMTAuNSAxMS41QzEwLjUgMTAuOTQ3NyAxMC45NDc3IDEwLjUgMTEuNSAxMC41QzEyLjA1MjMgMTAuNSAxMi41IDEwLjk0NzcgMTIuNSAxMS41QzEyLjUgMTIuMDUyMyAxMi4wNTIzIDEyLjUgMTEuNSAxMi41QzEwLjk0NzcgMTIuNSAxMC41IDEyLjA1MjMgMTAuNSAxMS41WiIKICAgICAgICBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0IiBzdHlsZT0iZmlsbDpibGFjaztmaWxsLW9wYWNpdHk6MC44NDsiIC8+Cjwvc3ZnPg=="; // src/InputTypes/CreditCard.js var _data4; @@ -5248,12 +5292,12 @@ Source: "${matchedFrom}"`; } return __privateGet(this, _data5)[subtype]; }); - __publicField(this, "labelSmall", (_) => { + __publicField(this, "labelSmall", (_2) => { return __privateGet(this, _data5).title; }); __privateSet(this, _data5, data); } - label(_t, subtype) { + label(_t3, subtype) { if (__privateGet(this, _data5).id === "privateAddress") { return __privateGet(this, _data5)[subtype]; } @@ -5316,10 +5360,11 @@ Source: "${matchedFrom}"`; getIconBase: (input, form) => { const { device } = form; if (!canBeInteractedWith(input)) return ""; + const subtype = getInputSubtype(input); + const variant = getInputVariant(input); + if (subtype === "totp" && device.settings.availableInputTypes.credentials?.totp) return ddgTOTPIcon; if (device.credentialsImport?.isAvailable() && (form?.isLogin || form?.isHybrid)) return ""; if (device.settings.featureToggles.inlineIcon_credentials) { - const subtype = getInputSubtype(input); - const variant = getInputVariant(input); if (subtype === "password" && variant === "new") { return ddgPasswordGenIconBase; } @@ -5577,6 +5622,9 @@ Source: "${matchedFrom}"`; if (subtype === "password" && value?.length <= 3) { value = void 0; } + if (subtype === "totp") { + value = void 0; + } if (value) { output[mainType][subtype] = value; } @@ -6086,7 +6134,8 @@ Source: "${matchedFrom}"`; return false; } else { const isInputEmpty = input.value === ""; - return this.isCredentialsImportAvailable && isInputEmpty; + const isTotp = subtype === "totp"; + return this.isCredentialsImportAvailable && isInputEmpty && !isTotp; } } if (this.device.globalConfig.isExtension || this.device.globalConfig.isMobileApp) { @@ -6206,8 +6255,8 @@ Source: "${matchedFrom}"`; if (this.device.settings.canAutofillType({ mainType, subtype, variant }, this.device.inContextSignup) || this.isCredentialsImportAvailable) { setTimeout(() => { safeExecute(this.form, () => { - const { x, y, width, height } = this.form.getBoundingClientRect(); - const elHCenter = x + width / 2; + const { x: x2, y, width, height } = this.form.getBoundingClientRect(); + const elHCenter = x2 + width / 2; const elVCenter = y + height / 2; const topMostElementFromPoint = document.elementFromPoint(elHCenter, elVCenter); if (this.form.contains(topMostElementFromPoint)) { @@ -6781,7 +6830,7 @@ Source: "${matchedFrom}"`; // node_modules/zod/v3/helpers/util.js var util; (function(util2) { - util2.assertEqual = (_) => { + util2.assertEqual = (_2) => { }; function assertIs(_arg) { } @@ -6831,7 +6880,7 @@ Source: "${matchedFrom}"`; return array.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator); } util2.joinValues = joinValues; - util2.jsonStringifyReplacer = (_, value) => { + util2.jsonStringifyReplacer = (_2, value) => { if (typeof value === "bigint") { return value.toString(); } @@ -7184,7 +7233,7 @@ Source: "${matchedFrom}"`; // then global override map overrideMap === en_default ? void 0 : en_default // then global default map - ].filter((x) => !!x) + ].filter((x2) => !!x2) }); ctx.common.issues.push(issue); } @@ -7247,10 +7296,10 @@ Source: "${matchedFrom}"`; }); var DIRTY = (value) => ({ status: "dirty", value }); var OK = (value) => ({ status: "valid", value }); - var isAborted = (x) => x.status === "aborted"; - var isDirty = (x) => x.status === "dirty"; - var isValid = (x) => x.status === "valid"; - var isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise; + var isAborted = (x2) => x2.status === "aborted"; + var isDirty = (x2) => x2.status === "dirty"; + var isValid = (x2) => x2.status === "valid"; + var isAsync = (x2) => typeof Promise !== "undefined" && x2 instanceof Promise; // node_modules/zod/v3/helpers/errorUtil.js var errorUtil; @@ -9570,17 +9619,17 @@ Source: "${matchedFrom}"`; }); } }; - function mergeValues(a, b) { - const aType = getParsedType(a); - const bType = getParsedType(b); - if (a === b) { - return { valid: true, data: a }; + function mergeValues(a2, b2) { + const aType = getParsedType(a2); + const bType = getParsedType(b2); + if (a2 === b2) { + return { valid: true, data: a2 }; } else if (aType === ZodParsedType.object && bType === ZodParsedType.object) { - const bKeys = util.objectKeys(b); - const sharedKeys = util.objectKeys(a).filter((key2) => bKeys.indexOf(key2) !== -1); - const newObj = { ...a, ...b }; + const bKeys = util.objectKeys(b2); + const sharedKeys = util.objectKeys(a2).filter((key2) => bKeys.indexOf(key2) !== -1); + const newObj = { ...a2, ...b2 }; for (const key2 of sharedKeys) { - const sharedValue = mergeValues(a[key2], b[key2]); + const sharedValue = mergeValues(a2[key2], b2[key2]); if (!sharedValue.valid) { return { valid: false }; } @@ -9588,13 +9637,13 @@ Source: "${matchedFrom}"`; } return { valid: true, data: newObj }; } else if (aType === ZodParsedType.array && bType === ZodParsedType.array) { - if (a.length !== b.length) { + if (a2.length !== b2.length) { return { valid: false }; } const newArray = []; - for (let index = 0; index < a.length; index++) { - const itemA = a[index]; - const itemB = b[index]; + for (let index = 0; index < a2.length; index++) { + const itemA = a2[index]; + const itemB = b2[index]; const sharedValue = mergeValues(itemA, itemB); if (!sharedValue.valid) { return { valid: false }; @@ -9602,8 +9651,8 @@ Source: "${matchedFrom}"`; newArray.push(sharedValue.data); } return { valid: true, data: newArray }; - } else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) { - return { valid: true, data: a }; + } else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a2 === +b2) { + return { valid: true, data: a2 }; } else { return { valid: false }; } @@ -9698,7 +9747,7 @@ Source: "${matchedFrom}"`; if (!schema) return null; return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex)); - }).filter((x) => !!x); + }).filter((x2) => !!x2); if (ctx.common.async) { return Promise.all(items).then((results) => { return ParseStatus.mergeArray(status, results); @@ -9951,7 +10000,7 @@ Source: "${matchedFrom}"`; return makeIssue({ data: args, path: ctx.path, - errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x) => !!x), + errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x2) => !!x2), issueData: { code: ZodIssueCode.invalid_arguments, argumentsError: error @@ -9962,7 +10011,7 @@ Source: "${matchedFrom}"`; return makeIssue({ data: returns, path: ctx.path, - errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x) => !!x), + errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x2) => !!x2), issueData: { code: ZodIssueCode.invalid_return_type, returnTypeError: error @@ -9972,29 +10021,29 @@ Source: "${matchedFrom}"`; const params = { errorMap: ctx.common.contextualErrorMap }; const fn = ctx.data; if (this._def.returns instanceof ZodPromise) { - const me = this; + const me2 = this; return OK(async function(...args) { const error = new ZodError([]); - const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => { + const parsedArgs = await me2._def.args.parseAsync(args, params).catch((e) => { error.addIssue(makeArgsIssue(args, e)); throw error; }); const result = await Reflect.apply(fn, this, parsedArgs); - const parsedReturns = await me._def.returns._def.type.parseAsync(result, params).catch((e) => { + const parsedReturns = await me2._def.returns._def.type.parseAsync(result, params).catch((e) => { error.addIssue(makeReturnsIssue(result, e)); throw error; }); return parsedReturns; }); } else { - const me = this; + const me2 = this; return OK(function(...args) { - const parsedArgs = me._def.args.safeParse(args, params); + const parsedArgs = me2._def.args.safeParse(args, params); if (!parsedArgs.success) { throw new ZodError([makeArgsIssue(args, parsedArgs.error)]); } const result = Reflect.apply(fn, this, parsedArgs.data); - const parsedReturns = me._def.returns.safeParse(result, params); + const parsedReturns = me2._def.returns.safeParse(result, params); if (!parsedReturns.success) { throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]); } @@ -10556,10 +10605,10 @@ Source: "${matchedFrom}"`; } } } - static create(a, b) { + static create(a2, b2) { return new _ZodPipeline({ - in: a, - out: b, + in: a2, + out: b2, typeName: ZodFirstPartyTypeKind.ZodPipeline }); } @@ -10696,14 +10745,14 @@ Source: "${matchedFrom}"`; var onumber = () => numberType().optional(); var oboolean = () => booleanType().optional(); var coerce = { - string: (arg) => ZodString.create({ ...arg, coerce: true }), - number: (arg) => ZodNumber.create({ ...arg, coerce: true }), - boolean: (arg) => ZodBoolean.create({ + string: ((arg) => ZodString.create({ ...arg, coerce: true })), + number: ((arg) => ZodNumber.create({ ...arg, coerce: true })), + boolean: ((arg) => ZodBoolean.create({ ...arg, coerce: true - }), - bigint: (arg) => ZodBigInt.create({ ...arg, coerce: true }), - date: (arg) => ZodDate.create({ ...arg, coerce: true }) + })), + bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })), + date: ((arg) => ZodDate.create({ ...arg, coerce: true })) }; var NEVER = INVALID; @@ -10795,6 +10844,7 @@ Source: "${matchedFrom}"`; id: external_exports.string().optional(), username: external_exports.string(), password: external_exports.string(), + totp: external_exports.string().optional(), origin: external_exports.object({ url: external_exports.string() }).optional(), @@ -10833,7 +10883,8 @@ Source: "${matchedFrom}"`; var availableInputTypesSchema = external_exports.object({ credentials: external_exports.object({ username: external_exports.boolean().optional(), - password: external_exports.boolean().optional() + password: external_exports.boolean().optional(), + totp: external_exports.boolean().optional() }).optional(), identities: external_exports.object({ firstName: external_exports.boolean().optional(), @@ -10892,7 +10943,8 @@ Source: "${matchedFrom}"`; var availableInputTypes1Schema = external_exports.object({ credentials: external_exports.object({ username: external_exports.boolean().optional(), - password: external_exports.boolean().optional() + password: external_exports.boolean().optional(), + totp: external_exports.boolean().optional() }).optional(), identities: external_exports.object({ firstName: external_exports.boolean().optional(), @@ -10937,7 +10989,8 @@ Source: "${matchedFrom}"`; id: external_exports.string().optional(), autogenerated: external_exports.boolean().optional(), username: external_exports.string(), - password: external_exports.string().optional() + password: external_exports.string().optional(), + totp: external_exports.string().optional() }).optional(), error: genericErrorSchema.optional() }); @@ -11855,7 +11908,7 @@ Source: "${matchedFrom}"`; this.wkSend(handler, data); }); const cipher = new this.globals.Uint8Array([...ciphertext, ...tag]); - const decrypted = await this.decrypt(cipher, key2, iv); + const decrypted = await this.decrypt(cipher, new this.globals.Uint8Array(key2), iv); return this.globals.JSONparse(decrypted || "{}"); } catch (e) { if (e instanceof MissingHandler) { @@ -12229,8 +12282,8 @@ Source: "${matchedFrom}"`; } // node_modules/immutable-json-patch/lib/esm/utils.js - function isEqual(a, b) { - return JSON.stringify(a) === JSON.stringify(b); + function isEqual(a2, b2) { + return JSON.stringify(a2) === JSON.stringify(b2); } function initial(array) { return array.slice(0, array.length - 1); @@ -12250,7 +12303,8 @@ Source: "${matchedFrom}"`; copy2[symbol] = value[symbol]; }); return copy2; - } else if (isJSONObject(value)) { + } + if (isJSONObject(value)) { const copy2 = { ...value }; @@ -12258,18 +12312,16 @@ Source: "${matchedFrom}"`; copy2[symbol] = value[symbol]; }); return copy2; - } else { - return value; } + return value; } function applyProp(object, key2, value) { if (object[key2] === value) { return object; - } else { - const updatedObject = shallowClone(object); - updatedObject[key2] = value; - return updatedObject; } + const updatedObject = shallowClone(object); + updatedObject[key2] = value; + return updatedObject; } function getIn(object, path) { let value = object; @@ -12278,7 +12330,7 @@ Source: "${matchedFrom}"`; if (isJSONObject(value)) { value = value[path[i]]; } else if (isJSONArray(value)) { - value = value[parseInt(path[i])]; + value = value[Number.parseInt(path[i])]; } else { value = void 0; } @@ -12295,15 +12347,13 @@ Source: "${matchedFrom}"`; const updatedValue = setIn(object ? object[key2] : void 0, path.slice(1), value, createPath); if (isJSONObject(object) || isJSONArray(object)) { return applyProp(object, key2, updatedValue); - } else { - if (createPath) { - const newObject = IS_INTEGER_REGEX.test(key2) ? [] : {}; - newObject[key2] = updatedValue; - return newObject; - } else { - throw new Error("Path does not exist"); - } } + if (createPath) { + const newObject = IS_INTEGER_REGEX.test(key2) ? [] : {}; + newObject[key2] = updatedValue; + return newObject; + } + throw new Error("Path does not exist"); } var IS_INTEGER_REGEX = /^\d+$/; function updateIn(object, path, transform) { @@ -12328,16 +12378,15 @@ Source: "${matchedFrom}"`; const key3 = path[0]; if (!(key3 in object)) { return object; - } else { - const updatedObject = shallowClone(object); - if (isJSONArray(updatedObject)) { - updatedObject.splice(parseInt(key3), 1); - } - if (isJSONObject(updatedObject)) { - delete updatedObject[key3]; - } - return updatedObject; } + const updatedObject = shallowClone(object); + if (isJSONArray(updatedObject)) { + updatedObject.splice(Number.parseInt(key3), 1); + } + if (isJSONObject(updatedObject)) { + delete updatedObject[key3]; + } + return updatedObject; } const key2 = path[0]; const updatedValue = deleteIn(object[key2], path.slice(1)); @@ -12348,10 +12397,10 @@ Source: "${matchedFrom}"`; const index = path[path.length - 1]; return updateIn(document2, parentPath, (items) => { if (!Array.isArray(items)) { - throw new TypeError("Array expected at path " + JSON.stringify(parentPath)); + throw new TypeError(`Array expected at path ${JSON.stringify(parentPath)}`); } const updatedItems = shallowClone(items); - updatedItems.splice(parseInt(index), 0, value); + updatedItems.splice(Number.parseInt(index), 0, value); return updatedItems; }); } @@ -12378,7 +12427,7 @@ Source: "${matchedFrom}"`; return path.map(compileJSONPointerProp).join(""); } function compileJSONPointerProp(pathProp) { - return "/" + String(pathProp).replace(/~/g, "~0").replace(/\//g, "~1"); + return `/${String(pathProp).replace(/~/g, "~0").replace(/\//g, "~1")}`; } // node_modules/immutable-json-patch/lib/esm/immutableJSONPatch.js @@ -12387,7 +12436,7 @@ Source: "${matchedFrom}"`; for (let i = 0; i < operations.length; i++) { validateJSONPatchOperation(operations[i]); let operation = operations[i]; - if (options && options.before) { + if (options?.before) { const result = options.before(updatedDocument, operation); if (result !== void 0) { if (result.document !== void 0) { @@ -12416,9 +12465,9 @@ Source: "${matchedFrom}"`; } else if (operation.op === "test") { test(updatedDocument, path, operation.value); } else { - throw new Error("Unknown JSONPatch operation " + JSON.stringify(operation)); + throw new Error(`Unknown JSONPatch operation ${JSON.stringify(operation)}`); } - if (options && options.after) { + if (options?.after) { const result = options.after(updatedDocument, operation, previousDocument); if (result !== void 0) { updatedDocument = result; @@ -12428,7 +12477,7 @@ Source: "${matchedFrom}"`; return updatedDocument; } function replace(document2, path, value) { - return setIn(document2, path, value); + return existsIn(document2, path) ? setIn(document2, path, value) : document2; } function remove(document2, path) { return deleteIn(document2, path); @@ -12436,18 +12485,15 @@ Source: "${matchedFrom}"`; function add(document2, path, value) { if (isArrayItem(document2, path)) { return insertAt(document2, path, value); - } else { - return setIn(document2, path, value); } + return setIn(document2, path, value); } function copy(document2, path, from) { const value = getIn(document2, from); if (isArrayItem(document2, path)) { return insertAt(document2, path, value); - } else { - const value2 = getIn(document2, from); - return setIn(document2, path, value2); } + return setIn(document2, path, value); } function move(document2, path, from) { const value = getIn(document2, from); @@ -12484,14 +12530,14 @@ Source: "${matchedFrom}"`; function validateJSONPatchOperation(operation) { const ops = ["add", "remove", "replace", "copy", "move", "test"]; if (!ops.includes(operation.op)) { - throw new Error("Unknown JSONPatch op " + JSON.stringify(operation.op)); + throw new Error(`Unknown JSONPatch op ${JSON.stringify(operation.op)}`); } if (typeof operation.path !== "string") { - throw new Error('Required property "path" missing or not a string in operation ' + JSON.stringify(operation)); + throw new Error(`Required property "path" missing or not a string in operation ${JSON.stringify(operation)}`); } if (operation.op === "copy" || operation.op === "move") { if (typeof operation.from !== "string") { - throw new Error('Required property "from" missing or not a string in operation ' + JSON.stringify(operation)); + throw new Error(`Required property "from" missing or not a string in operation ${JSON.stringify(operation)}`); } } } @@ -12502,6 +12548,771 @@ Source: "${matchedFrom}"`; return parseJSONPointer(fromPointer); } + // node_modules/urlpattern-polyfill/dist/urlpattern.js + var Pe = Object.defineProperty; + var a = (e, t) => Pe(e, "name", { value: t, configurable: true }); + var P = class { + constructor(t, r, n, c, l, f) { + __publicField(this, "type", 3); + __publicField(this, "name", ""); + __publicField(this, "prefix", ""); + __publicField(this, "value", ""); + __publicField(this, "suffix", ""); + __publicField(this, "modifier", 3); + this.type = t, this.name = r, this.prefix = n, this.value = c, this.suffix = l, this.modifier = f; + } + hasCustomName() { + return this.name !== "" && typeof this.name != "number"; + } + }; + a(P, "Part"); + var Re = /[$_\p{ID_Start}]/u; + var Ee = /[$_\u200C\u200D\p{ID_Continue}]/u; + var v = ".*"; + function Oe(e, t) { + return (t ? /^[\x00-\xFF]*$/ : /^[\x00-\x7F]*$/).test(e); + } + a(Oe, "isASCII"); + function D(e, t = false) { + let r = [], n = 0; + for (; n < e.length; ) { + let c = e[n], l = a(function(f) { + if (!t) throw new TypeError(f); + r.push({ type: "INVALID_CHAR", index: n, value: e[n++] }); + }, "ErrorOrInvalid"); + if (c === "*") { + r.push({ type: "ASTERISK", index: n, value: e[n++] }); + continue; + } + if (c === "+" || c === "?") { + r.push({ type: "OTHER_MODIFIER", index: n, value: e[n++] }); + continue; + } + if (c === "\\") { + r.push({ type: "ESCAPED_CHAR", index: n++, value: e[n++] }); + continue; + } + if (c === "{") { + r.push({ type: "OPEN", index: n, value: e[n++] }); + continue; + } + if (c === "}") { + r.push({ type: "CLOSE", index: n, value: e[n++] }); + continue; + } + if (c === ":") { + let f = "", s = n + 1; + for (; s < e.length; ) { + let i = e.substr(s, 1); + if (s === n + 1 && Re.test(i) || s !== n + 1 && Ee.test(i)) { + f += e[s++]; + continue; + } + break; + } + if (!f) { + l(`Missing parameter name at ${n}`); + continue; + } + r.push({ type: "NAME", index: n, value: f }), n = s; + continue; + } + if (c === "(") { + let f = 1, s = "", i = n + 1, o = false; + if (e[i] === "?") { + l(`Pattern cannot start with "?" at ${i}`); + continue; + } + for (; i < e.length; ) { + if (!Oe(e[i], false)) { + l(`Invalid character '${e[i]}' at ${i}.`), o = true; + break; + } + if (e[i] === "\\") { + s += e[i++] + e[i++]; + continue; + } + if (e[i] === ")") { + if (f--, f === 0) { + i++; + break; + } + } else if (e[i] === "(" && (f++, e[i + 1] !== "?")) { + l(`Capturing groups are not allowed at ${i}`), o = true; + break; + } + s += e[i++]; + } + if (o) continue; + if (f) { + l(`Unbalanced pattern at ${n}`); + continue; + } + if (!s) { + l(`Missing pattern at ${n}`); + continue; + } + r.push({ type: "REGEX", index: n, value: s }), n = i; + continue; + } + r.push({ type: "CHAR", index: n, value: e[n++] }); + } + return r.push({ type: "END", index: n, value: "" }), r; + } + a(D, "lexer"); + function F(e, t = {}) { + let r = D(e); + t.delimiter ??= "/#?", t.prefixes ??= "./"; + let n = `[^${x(t.delimiter)}]+?`, c = [], l = 0, f = 0, s = "", i = /* @__PURE__ */ new Set(), o = a((u) => { + if (f < r.length && r[f].type === u) return r[f++].value; + }, "tryConsume"), h = a(() => o("OTHER_MODIFIER") ?? o("ASTERISK"), "tryConsumeModifier"), p = a((u) => { + let d = o(u); + if (d !== void 0) return d; + let { type: g, index: y } = r[f]; + throw new TypeError(`Unexpected ${g} at ${y}, expected ${u}`); + }, "mustConsume"), A = a(() => { + let u = "", d; + for (; d = o("CHAR") ?? o("ESCAPED_CHAR"); ) u += d; + return u; + }, "consumeText"), xe = a((u) => u, "DefaultEncodePart"), N = t.encodePart || xe, H = "", $ = a((u) => { + H += u; + }, "appendToPendingFixedValue"), M = a(() => { + H.length && (c.push(new P(3, "", "", N(H), "", 3)), H = ""); + }, "maybeAddPartFromPendingFixedValue"), X = a((u, d, g, y, Z) => { + let m = 3; + switch (Z) { + case "?": + m = 1; + break; + case "*": + m = 0; + break; + case "+": + m = 2; + break; + } + if (!d && !g && m === 3) { + $(u); + return; + } + if (M(), !d && !g) { + if (!u) return; + c.push(new P(3, "", "", N(u), "", m)); + return; + } + let S; + g ? g === "*" ? S = v : S = g : S = n; + let k = 2; + S === n ? (k = 1, S = "") : S === v && (k = 0, S = ""); + let E; + if (d ? E = d : g && (E = l++), i.has(E)) throw new TypeError(`Duplicate name '${E}'.`); + i.add(E), c.push(new P(k, E, N(u), S, N(y), m)); + }, "addPart"); + for (; f < r.length; ) { + let u = o("CHAR"), d = o("NAME"), g = o("REGEX"); + if (!d && !g && (g = o("ASTERISK")), d || g) { + let m = u ?? ""; + t.prefixes.indexOf(m) === -1 && ($(m), m = ""), M(); + let S = h(); + X(m, d, g, "", S); + continue; + } + let y = u ?? o("ESCAPED_CHAR"); + if (y) { + $(y); + continue; + } + if (o("OPEN")) { + let m = A(), S = o("NAME"), k = o("REGEX"); + !S && !k && (k = o("ASTERISK")); + let E = A(); + p("CLOSE"); + let be = h(); + X(m, S, k, E, be); + continue; + } + M(), p("END"); + } + return c; + } + a(F, "parse"); + function x(e) { + return e.replace(/([.+*?^${}()[\]|/\\])/g, "\\$1"); + } + a(x, "escapeString"); + function B(e) { + return e && e.ignoreCase ? "ui" : "u"; + } + a(B, "flags"); + function q(e, t, r) { + return W(F(e, r), t, r); + } + a(q, "stringToRegexp"); + function T(e) { + switch (e) { + case 0: + return "*"; + case 1: + return "?"; + case 2: + return "+"; + case 3: + return ""; + } + } + a(T, "modifierToString"); + function W(e, t, r = {}) { + r.delimiter ??= "/#?", r.prefixes ??= "./", r.sensitive ??= false, r.strict ??= false, r.end ??= true, r.start ??= true, r.endsWith = ""; + let n = r.start ? "^" : ""; + for (let s of e) { + if (s.type === 3) { + s.modifier === 3 ? n += x(s.value) : n += `(?:${x(s.value)})${T(s.modifier)}`; + continue; + } + t && t.push(s.name); + let i = `[^${x(r.delimiter)}]+?`, o = s.value; + if (s.type === 1 ? o = i : s.type === 0 && (o = v), !s.prefix.length && !s.suffix.length) { + s.modifier === 3 || s.modifier === 1 ? n += `(${o})${T(s.modifier)}` : n += `((?:${o})${T(s.modifier)})`; + continue; + } + if (s.modifier === 3 || s.modifier === 1) { + n += `(?:${x(s.prefix)}(${o})${x(s.suffix)})`, n += T(s.modifier); + continue; + } + n += `(?:${x(s.prefix)}`, n += `((?:${o})(?:`, n += x(s.suffix), n += x(s.prefix), n += `(?:${o}))*)${x(s.suffix)})`, s.modifier === 0 && (n += "?"); + } + let c = `[${x(r.endsWith)}]|$`, l = `[${x(r.delimiter)}]`; + if (r.end) return r.strict || (n += `${l}?`), r.endsWith.length ? n += `(?=${c})` : n += "$", new RegExp(n, B(r)); + r.strict || (n += `(?:${l}(?=${c}))?`); + let f = false; + if (e.length) { + let s = e[e.length - 1]; + s.type === 3 && s.modifier === 3 && (f = r.delimiter.indexOf(s) > -1); + } + return f || (n += `(?=${l}|${c})`), new RegExp(n, B(r)); + } + a(W, "partsToRegexp"); + var b = { delimiter: "", prefixes: "", sensitive: true, strict: true }; + var J = { delimiter: ".", prefixes: "", sensitive: true, strict: true }; + var Q = { delimiter: "/", prefixes: "/", sensitive: true, strict: true }; + function ee(e, t) { + return e.length ? e[0] === "/" ? true : !t || e.length < 2 ? false : (e[0] == "\\" || e[0] == "{") && e[1] == "/" : false; + } + a(ee, "isAbsolutePathname"); + function te(e, t) { + return e.startsWith(t) ? e.substring(t.length, e.length) : e; + } + a(te, "maybeStripPrefix"); + function ke(e, t) { + return e.endsWith(t) ? e.substr(0, e.length - t.length) : e; + } + a(ke, "maybeStripSuffix"); + function _(e) { + return !e || e.length < 2 ? false : e[0] === "[" || (e[0] === "\\" || e[0] === "{") && e[1] === "["; + } + a(_, "treatAsIPv6Hostname"); + var re = ["ftp", "file", "http", "https", "ws", "wss"]; + function U(e) { + if (!e) return true; + for (let t of re) if (e.test(t)) return true; + return false; + } + a(U, "isSpecialScheme"); + function ne(e, t) { + if (e = te(e, "#"), t || e === "") return e; + let r = new URL("https://example.com"); + return r.hash = e, r.hash ? r.hash.substring(1, r.hash.length) : ""; + } + a(ne, "canonicalizeHash"); + function se(e, t) { + if (e = te(e, "?"), t || e === "") return e; + let r = new URL("https://example.com"); + return r.search = e, r.search ? r.search.substring(1, r.search.length) : ""; + } + a(se, "canonicalizeSearch"); + function ie(e, t) { + return t || e === "" ? e : _(e) ? K(e) : j(e); + } + a(ie, "canonicalizeHostname"); + function ae(e, t) { + if (t || e === "") return e; + let r = new URL("https://example.com"); + return r.password = e, r.password; + } + a(ae, "canonicalizePassword"); + function oe(e, t) { + if (t || e === "") return e; + let r = new URL("https://example.com"); + return r.username = e, r.username; + } + a(oe, "canonicalizeUsername"); + function ce(e, t, r) { + if (r || e === "") return e; + if (t && !re.includes(t)) return new URL(`${t}:${e}`).pathname; + let n = e[0] == "/"; + return e = new URL(n ? e : "/-" + e, "https://example.com").pathname, n || (e = e.substring(2, e.length)), e; + } + a(ce, "canonicalizePathname"); + function le(e, t, r) { + return z(t) === e && (e = ""), r || e === "" ? e : G(e); + } + a(le, "canonicalizePort"); + function fe(e, t) { + return e = ke(e, ":"), t || e === "" ? e : w(e); + } + a(fe, "canonicalizeProtocol"); + function z(e) { + switch (e) { + case "ws": + case "http": + return "80"; + case "wws": + case "https": + return "443"; + case "ftp": + return "21"; + default: + return ""; + } + } + a(z, "defaultPortForProtocol"); + function w(e) { + if (e === "") return e; + if (/^[-+.A-Za-z0-9]*$/.test(e)) return e.toLowerCase(); + throw new TypeError(`Invalid protocol '${e}'.`); + } + a(w, "protocolEncodeCallback"); + function he(e) { + if (e === "") return e; + let t = new URL("https://example.com"); + return t.username = e, t.username; + } + a(he, "usernameEncodeCallback"); + function ue(e) { + if (e === "") return e; + let t = new URL("https://example.com"); + return t.password = e, t.password; + } + a(ue, "passwordEncodeCallback"); + function j(e) { + if (e === "") return e; + if (/[\t\n\r #%/:<>?@[\]^\\|]/g.test(e)) throw new TypeError(`Invalid hostname '${e}'`); + let t = new URL("https://example.com"); + return t.hostname = e, t.hostname; + } + a(j, "hostnameEncodeCallback"); + function K(e) { + if (e === "") return e; + if (/[^0-9a-fA-F[\]:]/g.test(e)) throw new TypeError(`Invalid IPv6 hostname '${e}'`); + return e.toLowerCase(); + } + a(K, "ipv6HostnameEncodeCallback"); + function G(e) { + if (e === "" || /^[0-9]*$/.test(e) && parseInt(e) <= 65535) return e; + throw new TypeError(`Invalid port '${e}'.`); + } + a(G, "portEncodeCallback"); + function de(e) { + if (e === "") return e; + let t = new URL("https://example.com"); + return t.pathname = e[0] !== "/" ? "/-" + e : e, e[0] !== "/" ? t.pathname.substring(2, t.pathname.length) : t.pathname; + } + a(de, "standardURLPathnameEncodeCallback"); + function pe(e) { + return e === "" ? e : new URL(`data:${e}`).pathname; + } + a(pe, "pathURLPathnameEncodeCallback"); + function ge(e) { + if (e === "") return e; + let t = new URL("https://example.com"); + return t.search = e, t.search.substring(1, t.search.length); + } + a(ge, "searchEncodeCallback"); + function me(e) { + if (e === "") return e; + let t = new URL("https://example.com"); + return t.hash = e, t.hash.substring(1, t.hash.length); + } + a(me, "hashEncodeCallback"); + var _i, _n, _t, _e, _s, _l, _o, _d, _p, _g, _C_instances, r_fn, R_fn, b_fn, u_fn, m_fn, a_fn, P_fn, E_fn, S_fn, O_fn, k_fn, x_fn, h_fn, f_fn, T_fn, A_fn, y_fn, w_fn, c_fn, C_fn, _a; + var C = (_a = class { + constructor(t) { + __privateAdd(this, _C_instances); + __privateAdd(this, _i); + __privateAdd(this, _n, []); + __privateAdd(this, _t, {}); + __privateAdd(this, _e, 0); + __privateAdd(this, _s, 1); + __privateAdd(this, _l, 0); + __privateAdd(this, _o, 0); + __privateAdd(this, _d, 0); + __privateAdd(this, _p, 0); + __privateAdd(this, _g, false); + __privateSet(this, _i, t); + } + get result() { + return __privateGet(this, _t); + } + parse() { + for (__privateSet(this, _n, D(__privateGet(this, _i), true)); __privateGet(this, _e) < __privateGet(this, _n).length; __privateSet(this, _e, __privateGet(this, _e) + __privateGet(this, _s))) { + if (__privateSet(this, _s, 1), __privateGet(this, _n)[__privateGet(this, _e)].type === "END") { + if (__privateGet(this, _o) === 0) { + __privateMethod(this, _C_instances, b_fn).call(this), __privateMethod(this, _C_instances, f_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 9, 1) : __privateMethod(this, _C_instances, h_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 8, 1) : __privateMethod(this, _C_instances, r_fn).call(this, 7, 0); + continue; + } else if (__privateGet(this, _o) === 2) { + __privateMethod(this, _C_instances, u_fn).call(this, 5); + continue; + } + __privateMethod(this, _C_instances, r_fn).call(this, 10, 0); + break; + } + if (__privateGet(this, _d) > 0) if (__privateMethod(this, _C_instances, A_fn).call(this)) __privateSet(this, _d, __privateGet(this, _d) - 1); + else continue; + if (__privateMethod(this, _C_instances, T_fn).call(this)) { + __privateSet(this, _d, __privateGet(this, _d) + 1); + continue; + } + switch (__privateGet(this, _o)) { + case 0: + __privateMethod(this, _C_instances, P_fn).call(this) && __privateMethod(this, _C_instances, u_fn).call(this, 1); + break; + case 1: + if (__privateMethod(this, _C_instances, P_fn).call(this)) { + __privateMethod(this, _C_instances, C_fn).call(this); + let t = 7, r = 1; + __privateMethod(this, _C_instances, E_fn).call(this) ? (t = 2, r = 3) : __privateGet(this, _g) && (t = 2), __privateMethod(this, _C_instances, r_fn).call(this, t, r); + } + break; + case 2: + __privateMethod(this, _C_instances, S_fn).call(this) ? __privateMethod(this, _C_instances, u_fn).call(this, 3) : (__privateMethod(this, _C_instances, x_fn).call(this) || __privateMethod(this, _C_instances, h_fn).call(this) || __privateMethod(this, _C_instances, f_fn).call(this)) && __privateMethod(this, _C_instances, u_fn).call(this, 5); + break; + case 3: + __privateMethod(this, _C_instances, O_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 4, 1) : __privateMethod(this, _C_instances, S_fn).call(this) && __privateMethod(this, _C_instances, r_fn).call(this, 5, 1); + break; + case 4: + __privateMethod(this, _C_instances, S_fn).call(this) && __privateMethod(this, _C_instances, r_fn).call(this, 5, 1); + break; + case 5: + __privateMethod(this, _C_instances, y_fn).call(this) ? __privateSet(this, _p, __privateGet(this, _p) + 1) : __privateMethod(this, _C_instances, w_fn).call(this) && __privateSet(this, _p, __privateGet(this, _p) - 1), __privateMethod(this, _C_instances, k_fn).call(this) && !__privateGet(this, _p) ? __privateMethod(this, _C_instances, r_fn).call(this, 6, 1) : __privateMethod(this, _C_instances, x_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 7, 0) : __privateMethod(this, _C_instances, h_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 8, 1) : __privateMethod(this, _C_instances, f_fn).call(this) && __privateMethod(this, _C_instances, r_fn).call(this, 9, 1); + break; + case 6: + __privateMethod(this, _C_instances, x_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 7, 0) : __privateMethod(this, _C_instances, h_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 8, 1) : __privateMethod(this, _C_instances, f_fn).call(this) && __privateMethod(this, _C_instances, r_fn).call(this, 9, 1); + break; + case 7: + __privateMethod(this, _C_instances, h_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 8, 1) : __privateMethod(this, _C_instances, f_fn).call(this) && __privateMethod(this, _C_instances, r_fn).call(this, 9, 1); + break; + case 8: + __privateMethod(this, _C_instances, f_fn).call(this) && __privateMethod(this, _C_instances, r_fn).call(this, 9, 1); + break; + case 9: + break; + case 10: + break; + } + } + __privateGet(this, _t).hostname !== void 0 && __privateGet(this, _t).port === void 0 && (__privateGet(this, _t).port = ""); + } + }, _i = new WeakMap(), _n = new WeakMap(), _t = new WeakMap(), _e = new WeakMap(), _s = new WeakMap(), _l = new WeakMap(), _o = new WeakMap(), _d = new WeakMap(), _p = new WeakMap(), _g = new WeakMap(), _C_instances = new WeakSet(), r_fn = function(t, r) { + switch (__privateGet(this, _o)) { + case 0: + break; + case 1: + __privateGet(this, _t).protocol = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 2: + break; + case 3: + __privateGet(this, _t).username = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 4: + __privateGet(this, _t).password = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 5: + __privateGet(this, _t).hostname = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 6: + __privateGet(this, _t).port = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 7: + __privateGet(this, _t).pathname = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 8: + __privateGet(this, _t).search = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 9: + __privateGet(this, _t).hash = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 10: + break; + } + __privateGet(this, _o) !== 0 && t !== 10 && ([1, 2, 3, 4].includes(__privateGet(this, _o)) && [6, 7, 8, 9].includes(t) && (__privateGet(this, _t).hostname ??= ""), [1, 2, 3, 4, 5, 6].includes(__privateGet(this, _o)) && [8, 9].includes(t) && (__privateGet(this, _t).pathname ??= __privateGet(this, _g) ? "/" : ""), [1, 2, 3, 4, 5, 6, 7].includes(__privateGet(this, _o)) && t === 9 && (__privateGet(this, _t).search ??= "")), __privateMethod(this, _C_instances, R_fn).call(this, t, r); + }, R_fn = function(t, r) { + __privateSet(this, _o, t), __privateSet(this, _l, __privateGet(this, _e) + r), __privateSet(this, _e, __privateGet(this, _e) + r), __privateSet(this, _s, 0); + }, b_fn = function() { + __privateSet(this, _e, __privateGet(this, _l)), __privateSet(this, _s, 0); + }, u_fn = function(t) { + __privateMethod(this, _C_instances, b_fn).call(this), __privateSet(this, _o, t); + }, m_fn = function(t) { + return t < 0 && (t = __privateGet(this, _n).length - t), t < __privateGet(this, _n).length ? __privateGet(this, _n)[t] : __privateGet(this, _n)[__privateGet(this, _n).length - 1]; + }, a_fn = function(t, r) { + let n = __privateMethod(this, _C_instances, m_fn).call(this, t); + return n.value === r && (n.type === "CHAR" || n.type === "ESCAPED_CHAR" || n.type === "INVALID_CHAR"); + }, P_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), ":"); + }, E_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e) + 1, "/") && __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e) + 2, "/"); + }, S_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), "@"); + }, O_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), ":"); + }, k_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), ":"); + }, x_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), "/"); + }, h_fn = function() { + if (__privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), "?")) return true; + if (__privateGet(this, _n)[__privateGet(this, _e)].value !== "?") return false; + let t = __privateMethod(this, _C_instances, m_fn).call(this, __privateGet(this, _e) - 1); + return t.type !== "NAME" && t.type !== "REGEX" && t.type !== "CLOSE" && t.type !== "ASTERISK"; + }, f_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), "#"); + }, T_fn = function() { + return __privateGet(this, _n)[__privateGet(this, _e)].type == "OPEN"; + }, A_fn = function() { + return __privateGet(this, _n)[__privateGet(this, _e)].type == "CLOSE"; + }, y_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), "["); + }, w_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), "]"); + }, c_fn = function() { + let t = __privateGet(this, _n)[__privateGet(this, _e)], r = __privateMethod(this, _C_instances, m_fn).call(this, __privateGet(this, _l)).index; + return __privateGet(this, _i).substring(r, t.index); + }, C_fn = function() { + let t = {}; + Object.assign(t, b), t.encodePart = w; + let r = q(__privateMethod(this, _C_instances, c_fn).call(this), void 0, t); + __privateSet(this, _g, U(r)); + }, _a); + a(C, "Parser"); + var V = ["protocol", "username", "password", "hostname", "port", "pathname", "search", "hash"]; + var O = "*"; + function Se(e, t) { + if (typeof e != "string") throw new TypeError("parameter 1 is not of type 'string'."); + let r = new URL(e, t); + return { protocol: r.protocol.substring(0, r.protocol.length - 1), username: r.username, password: r.password, hostname: r.hostname, port: r.port, pathname: r.pathname, search: r.search !== "" ? r.search.substring(1, r.search.length) : void 0, hash: r.hash !== "" ? r.hash.substring(1, r.hash.length) : void 0 }; + } + a(Se, "extractValues"); + function R(e, t) { + return t ? I(e) : e; + } + a(R, "processBaseURLString"); + function L(e, t, r) { + let n; + if (typeof t.baseURL == "string") try { + n = new URL(t.baseURL), t.protocol === void 0 && (e.protocol = R(n.protocol.substring(0, n.protocol.length - 1), r)), !r && t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.username === void 0 && (e.username = R(n.username, r)), !r && t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.username === void 0 && t.password === void 0 && (e.password = R(n.password, r)), t.protocol === void 0 && t.hostname === void 0 && (e.hostname = R(n.hostname, r)), t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && (e.port = R(n.port, r)), t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.pathname === void 0 && (e.pathname = R(n.pathname, r)), t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.pathname === void 0 && t.search === void 0 && (e.search = R(n.search.substring(1, n.search.length), r)), t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.pathname === void 0 && t.search === void 0 && t.hash === void 0 && (e.hash = R(n.hash.substring(1, n.hash.length), r)); + } catch { + throw new TypeError(`invalid baseURL '${t.baseURL}'.`); + } + if (typeof t.protocol == "string" && (e.protocol = fe(t.protocol, r)), typeof t.username == "string" && (e.username = oe(t.username, r)), typeof t.password == "string" && (e.password = ae(t.password, r)), typeof t.hostname == "string" && (e.hostname = ie(t.hostname, r)), typeof t.port == "string" && (e.port = le(t.port, e.protocol, r)), typeof t.pathname == "string") { + if (e.pathname = t.pathname, n && !ee(e.pathname, r)) { + let c = n.pathname.lastIndexOf("/"); + c >= 0 && (e.pathname = R(n.pathname.substring(0, c + 1), r) + e.pathname); + } + e.pathname = ce(e.pathname, e.protocol, r); + } + return typeof t.search == "string" && (e.search = se(t.search, r)), typeof t.hash == "string" && (e.hash = ne(t.hash, r)), e; + } + a(L, "applyInit"); + function I(e) { + return e.replace(/([+*?:{}()\\])/g, "\\$1"); + } + a(I, "escapePatternString"); + function Te(e) { + return e.replace(/([.+*?^${}()[\]|/\\])/g, "\\$1"); + } + a(Te, "escapeRegexpString"); + function Ae(e, t) { + t.delimiter ??= "/#?", t.prefixes ??= "./", t.sensitive ??= false, t.strict ??= false, t.end ??= true, t.start ??= true, t.endsWith = ""; + let r = ".*", n = `[^${Te(t.delimiter)}]+?`, c = /[$_\u200C\u200D\p{ID_Continue}]/u, l = ""; + for (let f = 0; f < e.length; ++f) { + let s = e[f]; + if (s.type === 3) { + if (s.modifier === 3) { + l += I(s.value); + continue; + } + l += `{${I(s.value)}}${T(s.modifier)}`; + continue; + } + let i = s.hasCustomName(), o = !!s.suffix.length || !!s.prefix.length && (s.prefix.length !== 1 || !t.prefixes.includes(s.prefix)), h = f > 0 ? e[f - 1] : null, p = f < e.length - 1 ? e[f + 1] : null; + if (!o && i && s.type === 1 && s.modifier === 3 && p && !p.prefix.length && !p.suffix.length) if (p.type === 3) { + let A = p.value.length > 0 ? p.value[0] : ""; + o = c.test(A); + } else o = !p.hasCustomName(); + if (!o && !s.prefix.length && h && h.type === 3) { + let A = h.value[h.value.length - 1]; + o = t.prefixes.includes(A); + } + o && (l += "{"), l += I(s.prefix), i && (l += `:${s.name}`), s.type === 2 ? l += `(${s.value})` : s.type === 1 ? i || (l += `(${n})`) : s.type === 0 && (!i && (!h || h.type === 3 || h.modifier !== 3 || o || s.prefix !== "") ? l += "*" : l += `(${r})`), s.type === 1 && i && s.suffix.length && c.test(s.suffix[0]) && (l += "\\"), l += I(s.suffix), o && (l += "}"), s.modifier !== 3 && (l += T(s.modifier)); + } + return l; + } + a(Ae, "partsToPattern"); + var _i2, _n2, _t2, _e2, _s2, _l2, _a2; + var Y = (_a2 = class { + constructor(t = {}, r, n) { + __privateAdd(this, _i2); + __privateAdd(this, _n2, {}); + __privateAdd(this, _t2, {}); + __privateAdd(this, _e2, {}); + __privateAdd(this, _s2, {}); + __privateAdd(this, _l2, false); + try { + let c; + if (typeof r == "string" ? c = r : n = r, typeof t == "string") { + let i = new C(t); + if (i.parse(), t = i.result, c === void 0 && typeof t.protocol != "string") throw new TypeError("A base URL must be provided for a relative constructor string."); + t.baseURL = c; + } else { + if (!t || typeof t != "object") throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary."); + if (c) throw new TypeError("parameter 1 is not of type 'string'."); + } + typeof n > "u" && (n = { ignoreCase: false }); + let l = { ignoreCase: n.ignoreCase === true }, f = { pathname: O, protocol: O, username: O, password: O, hostname: O, port: O, search: O, hash: O }; + __privateSet(this, _i2, L(f, t, true)), z(__privateGet(this, _i2).protocol) === __privateGet(this, _i2).port && (__privateGet(this, _i2).port = ""); + let s; + for (s of V) { + if (!(s in __privateGet(this, _i2))) continue; + let i = {}, o = __privateGet(this, _i2)[s]; + switch (__privateGet(this, _t2)[s] = [], s) { + case "protocol": + Object.assign(i, b), i.encodePart = w; + break; + case "username": + Object.assign(i, b), i.encodePart = he; + break; + case "password": + Object.assign(i, b), i.encodePart = ue; + break; + case "hostname": + Object.assign(i, J), _(o) ? i.encodePart = K : i.encodePart = j; + break; + case "port": + Object.assign(i, b), i.encodePart = G; + break; + case "pathname": + U(__privateGet(this, _n2).protocol) ? (Object.assign(i, Q, l), i.encodePart = de) : (Object.assign(i, b, l), i.encodePart = pe); + break; + case "search": + Object.assign(i, b, l), i.encodePart = ge; + break; + case "hash": + Object.assign(i, b, l), i.encodePart = me; + break; + } + try { + __privateGet(this, _s2)[s] = F(o, i), __privateGet(this, _n2)[s] = W(__privateGet(this, _s2)[s], __privateGet(this, _t2)[s], i), __privateGet(this, _e2)[s] = Ae(__privateGet(this, _s2)[s], i), __privateSet(this, _l2, __privateGet(this, _l2) || __privateGet(this, _s2)[s].some((h) => h.type === 2)); + } catch { + throw new TypeError(`invalid ${s} pattern '${__privateGet(this, _i2)[s]}'.`); + } + } + } catch (c) { + throw new TypeError(`Failed to construct 'URLPattern': ${c.message}`); + } + } + get [Symbol.toStringTag]() { + return "URLPattern"; + } + test(t = {}, r) { + let n = { pathname: "", protocol: "", username: "", password: "", hostname: "", port: "", search: "", hash: "" }; + if (typeof t != "string" && r) throw new TypeError("parameter 1 is not of type 'string'."); + if (typeof t > "u") return false; + try { + typeof t == "object" ? n = L(n, t, false) : n = L(n, Se(t, r), false); + } catch { + return false; + } + let c; + for (c of V) if (!__privateGet(this, _n2)[c].exec(n[c])) return false; + return true; + } + exec(t = {}, r) { + let n = { pathname: "", protocol: "", username: "", password: "", hostname: "", port: "", search: "", hash: "" }; + if (typeof t != "string" && r) throw new TypeError("parameter 1 is not of type 'string'."); + if (typeof t > "u") return; + try { + typeof t == "object" ? n = L(n, t, false) : n = L(n, Se(t, r), false); + } catch { + return null; + } + let c = {}; + r ? c.inputs = [t, r] : c.inputs = [t]; + let l; + for (l of V) { + let f = __privateGet(this, _n2)[l].exec(n[l]); + if (!f) return null; + let s = {}; + for (let [i, o] of __privateGet(this, _t2)[l].entries()) if (typeof o == "string" || typeof o == "number") { + let h = f[i + 1]; + s[o] = h; + } + c[l] = { input: n[l] ?? "", groups: s }; + } + return c; + } + static compareComponent(t, r, n) { + let c = a((i, o) => { + for (let h of ["type", "modifier", "prefix", "value", "suffix"]) { + if (i[h] < o[h]) return -1; + if (i[h] === o[h]) continue; + return 1; + } + return 0; + }, "comparePart"), l = new P(3, "", "", "", "", 3), f = new P(0, "", "", "", "", 3), s = a((i, o) => { + let h = 0; + for (; h < Math.min(i.length, o.length); ++h) { + let p = c(i[h], o[h]); + if (p) return p; + } + return i.length === o.length ? 0 : c(i[h] ?? l, o[h] ?? l); + }, "comparePartList"); + return !__privateGet(r, _e2)[t] && !__privateGet(n, _e2)[t] ? 0 : __privateGet(r, _e2)[t] && !__privateGet(n, _e2)[t] ? s(__privateGet(r, _s2)[t], [f]) : !__privateGet(r, _e2)[t] && __privateGet(n, _e2)[t] ? s([f], __privateGet(n, _s2)[t]) : s(__privateGet(r, _s2)[t], __privateGet(n, _s2)[t]); + } + get protocol() { + return __privateGet(this, _e2).protocol; + } + get username() { + return __privateGet(this, _e2).username; + } + get password() { + return __privateGet(this, _e2).password; + } + get hostname() { + return __privateGet(this, _e2).hostname; + } + get port() { + return __privateGet(this, _e2).port; + } + get pathname() { + return __privateGet(this, _e2).pathname; + } + get search() { + return __privateGet(this, _e2).search; + } + get hash() { + return __privateGet(this, _e2).hash; + } + get hasRegExpGroups() { + return __privateGet(this, _l2); + } + }, _i2 = new WeakMap(), _n2 = new WeakMap(), _t2 = new WeakMap(), _e2 = new WeakMap(), _s2 = new WeakMap(), _l2 = new WeakMap(), _a2); + a(Y, "URLPattern"); + + // node_modules/urlpattern-polyfill/index.js + if (!globalThis.URLPattern) { + globalThis.URLPattern = Y; + } + // node_modules/@duckduckgo/content-scope-scripts/injected/src/config-feature.js var _bundledConfig, _args; var ConfigFeature = class { @@ -12514,7 +13325,20 @@ Source: "${matchedFrom}"`; __privateAdd(this, _bundledConfig); /** @type {string} */ __publicField(this, "name"); - /** @type {{ debug?: boolean, desktopModeEnabled?: boolean, forcedZoomEnabled?: boolean, featureSettings?: Record, assets?: import('./content-feature.js').AssetConfig | undefined, site: import('./content-feature.js').Site, messagingConfig?: import('@duckduckgo/messaging').MessagingConfig } | null} */ + /** + * @type {{ + * debug?: boolean, + * platform: import('./utils.js').Platform, + * desktopModeEnabled?: boolean, + * forcedZoomEnabled?: boolean, + * isDdgWebView?: boolean, + * featureSettings?: Record, + * assets?: import('./content-feature.js').AssetConfig | undefined, + * site: import('./content-feature.js').Site, + * messagingConfig?: import('@duckduckgo/messaging').MessagingConfig, + * currentCohorts?: [{feature: string, cohort: string, subfeature: string}], + * } | null} + */ __privateAdd(this, _args); this.name = name; const { bundledConfig, site, platform } = args; @@ -12525,6 +13349,15 @@ Source: "${matchedFrom}"`; __privateGet(this, _args).featureSettings = parseFeatureSettings(bundledConfig, enabledFeatures); } } + /** + * Call this when the top URL has changed, to recompute the site object. + * This is used to update the path matching for urlPattern. + */ + recomputeSiteObject() { + if (__privateGet(this, _args)) { + __privateGet(this, _args).site = computeLimitedSiteObject(); + } + } get args() { return __privateGet(this, _args); } @@ -12535,25 +13368,203 @@ Source: "${matchedFrom}"`; return __privateGet(this, _args)?.featureSettings; } /** - * Given a config key, interpret the value as a list of domain overrides, and return the elements that match the current page - * Consider using patchSettings instead as per `getFeatureSetting`. + * Getter for injectName, will be overridden by subclasses (namely ContentFeature) + * @returns {string | undefined} + */ + get injectName() { + return void 0; + } + /** + * Given a config key, interpret the value as a list of conditionals objects, and return the elements that match the current page + * Consider in your feature using patchSettings instead as per `getFeatureSetting`. * @param {string} featureKeyName * @return {any[]} * @protected */ - matchDomainFeatureSetting(featureKeyName) { - const domain = this.args?.site.domain; - if (!domain) return []; - const domains = this._getFeatureSettings()?.[featureKeyName] || []; - return domains.filter((rule) => { - if (Array.isArray(rule.domain)) { - return rule.domain.some((domainRule) => { - return matchHostname(domain, domainRule); - }); + matchConditionalFeatureSetting(featureKeyName) { + const conditionalChanges = this._getFeatureSettings()?.[featureKeyName] || []; + return conditionalChanges.filter((rule) => { + let condition = rule.condition; + if (condition === void 0 && "domain" in rule) { + condition = this._domainToConditonBlocks(rule.domain); + } + return this._matchConditionalBlockOrArray(condition); + }); + } + /** + * Takes a list of domains and returns a list of condition blocks + * @param {string|string[]} domain + * @returns {ConditionBlock[]} + */ + _domainToConditonBlocks(domain) { + if (Array.isArray(domain)) { + return domain.map((domain2) => ({ domain: domain2 })); + } else { + return [{ domain }]; + } + } + /** + * Used to match conditional changes for a settings feature. + * @typedef {object} ConditionBlock + * @property {string[] | string} [domain] + * @property {object} [urlPattern] + * @property {object} [minSupportedVersion] + * @property {object} [maxSupportedVersion] + * @property {object} [experiment] + * @property {string} [experiment.experimentName] + * @property {string} [experiment.cohort] + * @property {object} [context] + * @property {boolean} [context.frame] - true if the condition applies to frames + * @property {boolean} [context.top] - true if the condition applies to the top frame + * @property {string} [injectName] - the inject name to match against (e.g., "apple-isolated") + * @property {boolean} [internal] - true if the condition applies to internal builds + */ + /** + * Takes multiple conditional blocks and returns true if any apply. + * @param {ConditionBlock|ConditionBlock[]} conditionBlock + * @returns {boolean} + */ + _matchConditionalBlockOrArray(conditionBlock) { + if (Array.isArray(conditionBlock)) { + return conditionBlock.some((block) => this._matchConditionalBlock(block)); + } + return this._matchConditionalBlock(conditionBlock); + } + /** + * Takes a conditional block and returns true if it applies. + * All conditions must be met to return true. + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchConditionalBlock(conditionBlock) { + const conditionChecks = { + domain: this._matchDomainConditional, + context: this._matchContextConditional, + urlPattern: this._matchUrlPatternConditional, + experiment: this._matchExperimentConditional, + minSupportedVersion: this._matchMinSupportedVersion, + maxSupportedVersion: this._matchMaxSupportedVersion, + injectName: this._matchInjectNameConditional, + internal: this._matchInternalConditional + }; + for (const key2 in conditionBlock) { + if (!conditionChecks[key2]) { + return false; + } else if (!conditionChecks[key2].call(this, conditionBlock)) { + return false; } - return matchHostname(domain, rule.domain); + } + return true; + } + /** + * Takes a condition block and returns true if the current experiment matches the experimentName and cohort. + * Expects: + * ```json + * { + * "experiment": { + * "experimentName": "experimentName", + * "cohort": "cohort-name" + * } + * } + * ``` + * Where featureName "contentScopeExperiments" has a subfeature "experimentName" and cohort "cohort-name" + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchExperimentConditional(conditionBlock) { + if (!conditionBlock.experiment) return false; + const experiment = conditionBlock.experiment; + if (!experiment.experimentName || !experiment.cohort) return false; + const currentCohorts = this.args?.currentCohorts; + if (!currentCohorts) return false; + return currentCohorts.some((cohort) => { + return cohort.feature === "contentScopeExperiments" && cohort.subfeature === experiment.experimentName && cohort.cohort === experiment.cohort; }); } + /** + * Takes a condition block and returns true if the current context matches the context. + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchContextConditional(conditionBlock) { + if (!conditionBlock.context) return false; + const isFrame = window.self !== window.top; + if (conditionBlock.context.frame && isFrame) { + return true; + } + if (conditionBlock.context.top && !isFrame) { + return true; + } + return false; + } + /** + * Takes a condtion block and returns true if the current url matches the urlPattern. + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchUrlPatternConditional(conditionBlock) { + const url = this.args?.site.url; + if (!url) return false; + if (typeof conditionBlock.urlPattern === "string") { + return new Y(conditionBlock.urlPattern, url).test(url); + } + const pattern = new Y(conditionBlock.urlPattern); + return pattern.test(url); + } + /** + * Takes a condition block and returns true if the current domain matches the domain. + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchDomainConditional(conditionBlock) { + if (!conditionBlock.domain) return false; + const domain = this.args?.site.domain; + if (!domain) return false; + if (Array.isArray(conditionBlock.domain)) { + return false; + } + return matchHostname(domain, conditionBlock.domain); + } + /** + * Takes a condition block and returns true if the current inject name matches the injectName. + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchInjectNameConditional(conditionBlock) { + if (!conditionBlock.injectName) return false; + const currentInjectName = this.injectName; + if (!currentInjectName) return false; + return conditionBlock.injectName === currentInjectName; + } + /** + * Takes a condition block and returns true if the internal state matches the condition. + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchInternalConditional(conditionBlock) { + if (conditionBlock.internal === void 0) return false; + const isInternal = __privateGet(this, _args)?.platform?.internal; + if (isInternal === void 0) return false; + return Boolean(conditionBlock.internal) === Boolean(isInternal); + } + /** + * Takes a condition block and returns true if the platform version satisfies the `minSupportedFeature` + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchMinSupportedVersion(conditionBlock) { + if (!conditionBlock.minSupportedVersion) return false; + return isSupportedVersion(conditionBlock.minSupportedVersion, __privateGet(this, _args)?.platform?.version); + } + /** + * Takes a condition block and returns true if the platform version satisfies the `maxSupportedFeature` + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchMaxSupportedVersion(conditionBlock) { + if (!conditionBlock.maxSupportedVersion) return false; + return isMaxSupportedVersion(conditionBlock.maxSupportedVersion, __privateGet(this, _args)?.platform?.version); + } /** * Return the settings object for a feature * @param {string} [featureName] - The name of the feature to get the settings for; defaults to the name of the feature @@ -12584,51 +13595,95 @@ Source: "${matchedFrom}"`; * ``` * This also supports domain overrides as per `getFeatureSetting`. * @param {string} featureKeyName + * @param {'enabled' | 'disabled'} [defaultState] * @param {string} [featureName] * @returns {boolean} */ - getFeatureSettingEnabled(featureKeyName, featureName) { - const result = this.getFeatureSetting(featureKeyName, featureName); + getFeatureSettingEnabled(featureKeyName, defaultState, featureName) { + const result = this.getFeatureSetting(featureKeyName, featureName) || defaultState; if (typeof result === "object") { return result.state === "enabled"; } return result === "enabled"; } /** - * Return a specific setting from the feature settings - * If the "settings" key within the config has a "domains" key, it will be used to override the settings. - * This uses JSONPatch to apply the patches to settings before getting the setting value. - * For example.com getFeatureSettings('val') will return 1: - * ```json - * { - * "settings": { - * "domains": [ - * { - * "domain": "example.com", - * "patchSettings": [ - * { "op": "replace", "path": "/val", "value": 1 } - * ] - * } - * ] - * } - * } - * ``` - * "domain" can either be a string or an array of strings. - - * For boolean states you should consider using getFeatureSettingEnabled. - * @param {string} featureKeyName - * @param {string} [featureName] - * @returns {any} - */ + * Return a specific setting from the feature settings + * If the "settings" key within the config has a "conditionalChanges" key, it will be used to override the settings. + * This uses JSONPatch to apply the patches to settings before getting the setting value. + * For example.com getFeatureSettings('val') will return 1: + * ```json + * { + * "settings": { + * "conditionalChanges": [ + * { + * "domain": "example.com", + * "patchSettings": [ + * { "op": "replace", "path": "/val", "value": 1 } + * ] + * } + * ] + * } + * } + * ``` + * "domain" can either be a string or an array of strings. + * Additionally we support urlPattern for more complex matching. + * For example.com getFeatureSettings('val') will return 1: + * ```json + * { + * "settings": { + * "conditionalChanges": [ + * { + * "condition": { + * "urlPattern": "https://example.com/*", + * }, + * "patchSettings": [ + * { "op": "replace", "path": "/val", "value": 1 } + * ] + * } + * ] + * } + * } + * ``` + * We also support multiple conditions: + * ```json + * { + * "settings": { + * "conditionalChanges": [ + * { + * "condition": [ + * { + * "urlPattern": "https://example.com/*", + * }, + * { + * "urlPattern": "https://other.com/path/something", + * }, + * ], + * "patchSettings": [ + * { "op": "replace", "path": "/val", "value": 1 } + * ] + * } + * ] + * } + * } + * ``` + * + * For boolean states you should consider using getFeatureSettingEnabled. + * @param {string} featureKeyName + * @param {string} [featureName] + * @returns {any} + */ getFeatureSetting(featureKeyName, featureName) { let result = this._getFeatureSettings(featureName); - if (featureKeyName === "domains") { - throw new Error("domains is a reserved feature setting key name"); + if (featureKeyName in ["domains", "conditionalChanges"]) { + throw new Error(`${featureKeyName} is a reserved feature setting key name`); } - const domainMatch = [...this.matchDomainFeatureSetting("domains")].sort((a, b) => { - return a.domain.length - b.domain.length; - }); - for (const match of domainMatch) { + let conditionalMatches = []; + if (result?.conditionalChanges) { + conditionalMatches = this.matchConditionalFeatureSetting("conditionalChanges"); + } else { + conditionalMatches = this.matchConditionalFeatureSetting("domains"); + } + for (const match of conditionalMatches) { if (match.patchSettings === void 0) { continue; } @@ -17278,7 +18333,7 @@ Source: "${matchedFrom}"`; }; // src/UI/styles/autofill-tooltip-styles.css - var autofill_tooltip_styles_default = '/* src/UI/styles/autofill-tooltip-styles.css */\n:root {\n color-scheme: light dark;\n}\n:host {\n --t-text-primary: #1C1F21;\n --t-text-secondary: rgba(28, 31, 33, 0.72);\n --t-text-primary-dark: rgba(255, 255, 255, .84);\n --t-text-secondary-dark: rgba(255, 255, 255, .60);\n --t-backdrop-mac: #F2F0F0;\n --t-backdrop-mac-dark: #646264;\n --t-backdrop-windows: #FFF;\n --t-backdrop-windows-dark: #333;\n --t-mac-interactive: #3969EF;\n --t-mac-interactive-text: #FFF;\n --t-windows-interactive: #f0f0f0;\n --t-windows-interactive-dark: #3f3f3f;\n --color-primary: var(--t-text-primary);\n --color-secondary: var(--t-text-secondary);\n --color-primary-dark: var(--t-text-primary-dark);\n --color-secondary-dark: var(--t-text-secondary-dark);\n --bg: var(--t-backdrop-mac);\n --bg-dark: var(--t-backdrop-mac-dark);\n --font-size-primary: 13px;\n --font-size-secondary: 11px;\n --font-weight: 500;\n --padding: 6px;\n --hr-margin: 5px 9px;\n --border-radius: 4px;\n --hover-color-primary: var(--t-mac-interactive-text);\n --hover-color-secondary: var(--t-mac-interactive-text);\n --hover-color-primary-dark: var(--t-mac-interactive-text);\n --hover-color-secondary-dark: var(--t-mac-interactive-text);\n --hover-bg: var(--t-mac-interactive);\n --hover-bg-dark: var(--t-mac-interactive);\n --hover-effect: invert(100%);\n --hover-effect-dark: invert(100%);\n --top-autofill-min-height: 100vh;\n}\n:host:has([data-platform=windows]) {\n --bg: var(--t-backdrop-windows);\n --bg-dark: var(--t-backdrop-windows-dark);\n --font-size-primary: 14px;\n --font-size-secondary: 12px;\n --font-weight: 400;\n --padding: 0px;\n --hr-margin: 4px 0px;\n --border-radius: 3px;\n --hover-color-primary: var(--t-text-primary);\n --hover-color-secondary: var(--t-text-secondary);\n --hover-color-primary-dark: var(--t-text-primary-dark);\n --hover-color-secondary-dark: var(--t-text-secondary-dark);\n --hover-bg: var(--t-windows-interactive);\n --hover-bg-dark: var(--t-windows-interactive-dark);\n --hover-effect: none;\n --hover-effect-dark: invert(100%);\n --top-autofill-min-height: auto;\n}\n.wrapper *,\n.wrapper *::before,\n.wrapper *::after {\n box-sizing: border-box;\n}\n.wrapper {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 2147483647;\n padding: 0;\n font-family: system-ui;\n -webkit-font-smoothing: antialiased;\n}\n.wrapper:not(.top-autofill) .tooltip {\n position: absolute;\n width: 300px;\n max-width: calc(100vw - 25px);\n transform: translate(-1000px, -1000px);\n z-index: 2147483647;\n}\n.tooltip--data,\n#topAutofill {\n background-color: var(--bg);\n}\n@media (prefers-color-scheme: dark) {\n .tooltip--data,\n #topAutofill {\n background: var(--bg-dark);\n }\n}\n.tooltip--data {\n width: 315px;\n max-height: 290px;\n padding: var(--padding);\n font-size: var(--font-size-primary);\n line-height: 14px;\n overflow-y: auto;\n}\n.top-autofill .tooltip--data {\n min-height: var(--top-autofill-min-height);\n}\n.tooltip--data.tooltip--incontext-signup {\n width: 360px;\n}\n.wrapper:not(.top-autofill) .tooltip--data {\n top: 100%;\n left: 100%;\n}\n.wrapper:not(.top-autofill) .tooltip--email {\n top: calc(100% + 6px);\n right: calc(100% - 48px);\n padding: 8px;\n border: 1px solid #D0D0D0;\n border-radius: 10px;\n background-color: #FFF;\n font-size: 14px;\n line-height: 1.3;\n color: #333;\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);\n}\n.tooltip--email__caret {\n position: absolute;\n transform: translate(-1000px, -1000px);\n z-index: 2147483647;\n}\n.tooltip--email__caret::before,\n.tooltip--email__caret::after {\n content: "";\n display: block;\n width: 0;\n height: 0;\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n position: absolute;\n border-bottom: 8px solid #D0D0D0;\n right: -28px;\n}\n.tooltip--email__caret::before {\n border-bottom-color: #D0D0D0;\n top: -1px;\n}\n.tooltip--email__caret::after {\n border-bottom-color: #FFF;\n top: 0px;\n}\n.tooltip__button {\n display: flex;\n width: 100%;\n padding: 8px 8px 8px 0px;\n font-family: inherit;\n color: inherit;\n background: transparent;\n border: none;\n border-radius: 6px;\n text-align: left;\n}\n.tooltip__button.currentFocus,\n.wrapper:not(.top-autofill) .tooltip__button:hover {\n background-color: var(--hover-bg);\n color: var(--hover-color-primary);\n}\n@media (prefers-color-scheme: dark) {\n .tooltip__button.currentFocus,\n .wrapper:not(.top-autofill) .tooltip__button:hover {\n background-color: var(--hover-bg-dark);\n }\n}\n.tooltip__button--data {\n position: relative;\n min-height: 48px;\n flex-direction: row;\n justify-content: flex-start;\n font-size: inherit;\n font-weight: var(--font-weight);\n line-height: 16px;\n text-align: left;\n border-radius: var(--border-radius);\n}\n.tooltip--data__item-container {\n max-height: 220px;\n overflow: auto;\n}\n.tooltip__button--data:first-child {\n margin-top: 0;\n}\n.tooltip__button--data:last-child {\n margin-bottom: 0;\n}\n.tooltip__button--data::before {\n content: "";\n display: block;\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n margin: 0 8px;\n background-size: 20px 20px;\n background-repeat: no-repeat;\n background-position: center center;\n}\n.tooltip__button--data.currentFocus:not(.tooltip__button--data--bitwarden)::before,\n.wrapper:not(.top-autofill) .tooltip__button--data:not(.tooltip__button--data--bitwarden):hover::before {\n filter: var(--hover-effect);\n}\n.tooltip__button--data.currentFocus.no-hover-effect::before,\n.wrapper:not(.top-autofill) .tooltip__button--data.no-hover-effect:hover::before,\n.tooltip__button--data.no-hover-effect:hover::before {\n filter: none;\n}\n@media (prefers-color-scheme: dark) {\n .tooltip__button--data:not(.tooltip__button--data--bitwarden)::before {\n filter: var(--hover-effect-dark);\n opacity: .9;\n }\n .tooltip__button--data.no-hover-effect::before,\n .wrapper:not(.top-autofill) .tooltip__button--data.no-hover-effect::before {\n filter: none;\n opacity: 1;\n }\n .tooltip__button--data.currentFocus:not(.tooltip__button--data--bitwarden)::before,\n .wrapper:not(.top-autofill) .tooltip__button--data:not(.tooltip__button--data--bitwarden):hover::before {\n filter: var(--hover-effect-dark);\n }\n .tooltip__button--data.currentFocus.no-hover-effect::before,\n .tooltip__button--data.no-hover-effect:hover::before,\n .wrapper:not(.top-autofill) .tooltip__button--data.no-hover-effect:hover::before {\n filter: none;\n }\n}\n.tooltip__button__text-container {\n margin: auto 0;\n width: 100%;\n}\n.label {\n display: block;\n font-weight: 400;\n letter-spacing: -0.25px;\n color: var(--color-primary);\n font-size: var(--font-size-primary);\n line-height: 1;\n}\n.label + .label {\n margin-top: 3px;\n}\n.label.label--medium {\n font-weight: var(--font-weight);\n letter-spacing: -0.25px;\n}\n.label.label--small {\n font-size: var(--font-size-secondary);\n font-weight: 400;\n letter-spacing: 0.06px;\n color: var(--color-secondary);\n}\n@media (prefers-color-scheme: dark) {\n .tooltip--data .label {\n color: var(--color-primary-dark);\n }\n .tooltip--data .label--medium {\n color: var(--color-primary-dark);\n }\n .tooltip--data .label--small {\n color: var(--color-secondary-dark);\n }\n}\n.tooltip__button.currentFocus .label,\n.wrapper:not(.top-autofill) .tooltip__button:hover .label {\n color: var(--hover-color-primary);\n &.label--small {\n color: var(--hover-color-secondary);\n }\n}\n@media (prefers-color-scheme: dark) {\n .tooltip__button.currentFocus .label,\n .wrapper:not(.top-autofill) .tooltip__button:hover .label {\n color: var(--hover-color-primary-dark);\n &.label--small {\n color: var(--hover-color-secondary-dark);\n }\n }\n}\n.tooltip__button--secondary {\n font-size: 13px;\n padding: 5px 9px;\n border-radius: var(--border-radius);\n margin: 0;\n}\n.tooltip__button--data--credentials::before,\n.tooltip__button--data--credentials__current::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTUuNSA2YTIuNSAyLjUgMCAxIDEgMCA1IDIuNSAyLjUgMCAwIDEgMC01bTAgMS41YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTQuOTk4IDJBNy4wMDUgNy4wMDUgMCAwIDEgMjIgOS4wMDdhNy4wMDQgNy4wMDQgMCAwIDEtOC43MDUgNi43OTdjLS4xNjMtLjA0MS0uMjg2LjAwOC0uMzQ1LjA2N2wtMi41NTcgMi41NTlhMiAyIDAgMCAxLTEuNDE1LjU4NmgtLjk4MnYuNzM0QTIuMjUgMi4yNSAwIDAgMSA1Ljc0NSAyMmgtLjk5M2EyLjc1IDIuNzUgMCAwIDEtMi43NS0yLjczNUwyIDE4Ljc3YTMuNzUgMy43NSAwIDAgMSAxLjA5OC0yLjY3bDUuMDQtNS4wNDNjLjA2LS4wNi4xMDctLjE4My4wNjYtLjM0NmE3IDcgMCAwIDEtLjIwOC0xLjcwNEE3LjAwNCA3LjAwNCAwIDAgMSAxNC45OTggMm0wIDEuNWE1LjUwNCA1LjUwNCAwIDAgMC01LjMzNyA2Ljg0OGMuMTQ3LjU4OS4wMjcgMS4yNzktLjQ2MiAxLjc2OGwtNS4wNCA1LjA0NGEyLjI1IDIuMjUgMCAwIDAtLjY1OSAxLjYwM2wuMDAzLjQ5NGExLjI1IDEuMjUgMCAwIDAgMS4yNSAxLjI0M2guOTkyYS43NS43NSAwIDAgMCAuNzUtLjc1di0uNzM0YTEuNSAxLjUgMCAwIDEgMS41LTEuNWguOTgzYS41LjUgMCAwIDAgLjM1My0uMTQ3bDIuNTU4LTIuNTU5Yy40OS0uNDkgMS4xOC0uNjA5IDEuNzctLjQ2MWE1LjUwNCA1LjUwNCAwIDAgMCA2Ljg0LTUuMzQyQTUuNTA1IDUuNTA1IDAgMCAwIDE1IDMuNVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4K);\n}\n.tooltip__button--data--credentials__new::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTExLjIyNCA0LjY0YS45LjkgMCAwIDAgLjY0Ny0uMTY1IDUuNDcgNS40NyAwIDAgMSAzLjEyNy0uOTc1QTUuNTA0IDUuNTA0IDAgMCAxIDIwLjUgOS4wMDZhNS41MDQgNS41MDQgMCAwIDEtNi44NCA1LjM0M2MtLjU5LS4xNDgtMS4yODEtLjAyOC0xLjc3MS40NjJsLTIuNTU3IDIuNTU4YS41LjUgMCAwIDEtLjM1NC4xNDdoLS45ODJhMS41IDEuNSAwIDAgMC0xLjUgMS41di43MzRhLjc1Ljc1IDAgMCAxLS43NS43NWgtLjk5M2ExLjI1IDEuMjUgMCAwIDEtMS4yNS0xLjI0NGwtLjAwMy0uNDk0YTIuMjUgMi4yNSAwIDAgMSAuNjU5LTEuNjAybDUuMDQtNS4wNDNjLjM0My0uMzQ0LjQ2MS0uNzExLjQ3OS0xLjA5NS4wMjctLjU4Mi0uNzM3LS44NDctMS4xNzktLjQ2N2wtLjA2Ni4wNTZhLjcuNyAwIDAgMC0uMTU4LjIzMi44LjggMCAwIDEtLjEzNy4yMTNMMy4wOTggMTYuMUEzLjc1IDMuNzUgMCAwIDAgMiAxOC43N2wuMDAzLjQ5NEEyLjc1IDIuNzUgMCAwIDAgNC43NTMgMjJoLjk5MmEyLjI1IDIuMjUgMCAwIDAgMi4yNS0yLjI1di0uNzM0aC45ODNhMiAyIDAgMCAwIDEuNDE1LS41ODZsMi41NTctMi41NTljLjA1OS0uMDU5LjE4Mi0uMTA4LjM0Ni0uMDY3QTcuMDA0IDcuMDA0IDAgMCAwIDIyIDkuMDA2IDcuMDA0IDcuMDA0IDAgMCAwIDEwLjgyNiAzLjM4Yy0uNTMzLjM5NS0uMjYgMS4xNjYuMzk3IDEuMjZaIi8+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTUuNSA2YTIuNSAyLjUgMCAxIDEgMCA1IDIuNSAyLjUgMCAwIDEgMC01bTAgMS41YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTcuMTI1IDIuODA0QzcgMi4xNiA2LjkxNSAyIDYuNSAyYy0uNDE0IDAtLjUuMTYtLjYyNS44MDQtLjA4LjQxMy0uMjEyIDEuODItLjI5NiAyLjc3NS0uOTU0LjA4NC0yLjM2Mi4yMTYtMi43NzUuMjk2QzIuMTYgNiAyIDYuMDg1IDIgNi41YzAgLjQxNC4xNjEuNS44MDQuNjI1LjQxMi4wOCAxLjgxOC4yMTIgMi43NzIuMjk2LjA4My45ODkuMjE4IDIuNDYxLjMgMi43NzUuMTI0LjQ4My4yMS44MDQuNjI0LjgwNHMuNS0uMTYuNjI1LS44MDRjLjA4LS40MTIuMjEyLTEuODE3LjI5Ni0yLjc3MS45OS0uMDg0IDIuNDYyLS4yMTkgMi43NzYtLjNDMTAuNjc5IDcgMTEgNi45MTUgMTEgNi41YzAtLjQxNC0uMTYtLjUtLjgwMy0uNjI1LS40MTMtLjA4LTEuODIxLS4yMTItMi43NzUtLjI5Ni0uMDg1LS45NTQtLjIxNi0yLjM2Mi0uMjk3LTIuNzc1bS00LjM0MiA4Ljc2MWEuNzgzLjc4MyAwIDEgMCAwLTEuNTY1Ljc4My43ODMgMCAwIDAgMCAxLjU2NSIvPgo8L3N2Zz4K);\n}\n.tooltip__button--data--creditCards::before,\n.tooltip__button--data--provider__generic::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI2IDRDMjkuMzEzNyA0IDMyIDYuNjg2MjkgMzIgMTBMMzIgMjJDMzIgMjUuMzEzNyAyOS4zMTM3IDI4IDI2IDI4TDYgMjhDMi42ODYyOSAyOCA5Ljc1Njk3ZS0wNyAyNS4zMTM3IDEuMTIwNTRlLTA2IDIyTDEuNjQ1MDhlLTA2IDEwQzEuNzg5OTNlLTA2IDYuNjg2MjkgMi42ODYyOSA0IDYgNEwyNiA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMCAyMkwzMCAxMEMzMCA3Ljc5MDg2IDI4LjIwOTEgNiAyNiA2TDYgNkMzLjc5MDg2IDYgMiA3Ljc5MDg2IDIgMTBMMiAyMkMyIDI0LjIwOTEgMy43OTA4NiAyNiA2IDI2TDI2IDI2QzI4LjIwOTEgMjYgMzAgMjQuMjA5MSAzMCAyMlpNMzIgMTBDMzIgNi42ODYyOSAyOS4zMTM3IDQgMjYgNEw2IDRDMi42ODYyOSA0IDEuNzg5OTNlLTA2IDYuNjg2MjkgMS42NDUwOGUtMDYgMTBMMS4xMjA1NGUtMDYgMjJDOS43NTY5N2UtMDcgMjUuMzEzNyAyLjY4NjI5IDI4IDYgMjhMMjYgMjhDMjkuMzEzNyAyOCAzMiAyNS4zMTM3IDMyIDIyTDMyIDEwWiIgZmlsbD0iI0NDQ0NDQyIvPgo8cGF0aCBkPSJNNCAxM0M0IDEyLjQ0NzcgNC40NDc3MiAxMiA1IDEySDlDOS41NTIyOCAxMiAxMCAxMi40NDc3IDEwIDEzVjE1QzEwIDE1LjU1MjMgOS41NTIyOCAxNiA5IDE2SDVDNC40NDc3MiAxNiA0IDE1LjU1MjMgNCAxNVYxM1oiIGZpbGw9IiNGRkQ2NUMiLz4KPHBhdGggZD0iTTQgMjBDNCAxOS40NDc3IDQuNDQ3NzIgMTkgNSAxOUgxMEMxMC41NTIzIDE5IDExIDE5LjQ0NzcgMTEgMjBDMTEgMjAuNTUyMyAxMC41NTIzIDIxIDEwIDIxSDVDNC40NDc3MiAyMSA0IDIwLjU1MjMgNCAyMFoiIGZpbGw9IiNBQUFBQUEiLz4KPHBhdGggZD0iTTEyIDIwQzEyIDE5LjQ0NzcgMTIuNDQ3NyAxOSAxMyAxOUgxNEMxNC41NTIzIDE5IDE1IDE5LjQ0NzcgMTUgMjBDMTUgMjAuNTUyMyAxNC41NTIzIDIxIDE0IDIxSDEzQzEyLjQ0NzcgMjEgMTIgMjAuNTUyMyAxMiAyMFoiIGZpbGw9IiNBQUFBQUEiLz4KPHBhdGggZD0iTTE2IDIwQzE2IDE5LjQ0NzcgMTYuNDQ3NyAxOSAxNyAxOUgyN0MyNy41NTIzIDE5IDI4IDE5LjQ0NzcgMjggMjBDMjggMjAuNTUyMyAyNy41NTIzIDIxIDI3IDIxSDE3QzE2LjQ0NzcgMjEgMTYgMjAuNTUyMyAxNiAyMFoiIGZpbGw9IiNBQUFBQUEiLz4KPC9zdmc+Cg==);\n}\n.tooltip__button--data--provider__dinersClub::before {\n background-image: url(data:image/png;base64,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);\n}\n.tooltip__button--data--provider__discover::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGxpbmVhckdyYWRpZW50IGlkPSJhIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE1LjU4MzkiIHgyPSIxNy45NjQ4IiB5MT0iMTQuNDU5NCIgeTI9IjE3LjMzNDQiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2U2NzcyZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2VhOWQyYyIvPjwvbGluZWFyR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPSJiIiBjeD0iMCIgY3k9IjAiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLTEuNTQ5ODIxMzUgLTEuOTc2NTYwNDMgMi4wNjU0OTE5NiAtMS42MTk1NTI1NyAxNy4xNzg3IDE2LjcwNTUpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgcj0iMSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZWE5ZDJjIiBzdG9wLW9wYWNpdHk9IjAiLz48c3RvcCBvZmZzZXQ9Ii4zMjgxMjUiIHN0b3AtY29sb3I9IiNkZjc2MjQiIHN0b3Atb3BhY2l0eT0iMCIvPjxzdG9wIG9mZnNldD0iLjc2MDE4OCIgc3RvcC1jb2xvcj0iI2JmNGIyMyIgc3RvcC1vcGFjaXR5PSIuNzUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM3ZDMwMTciLz48L3JhZGlhbEdyYWRpZW50PjxwYXRoIGQ9Im0yNiA0YzMuMzEzNyAwIDYgMi42ODYyOSA2IDZ2MTJjMCAzLjMxMzctMi42ODYzIDYtNiA2aC0yMGMtMy4zMTM3MSAwLTUuOTk5OTk5MDItMi42ODYzLTUuOTk5OTk4ODgtNmwuMDAwMDAwNTMtMTJjLjAwMDAwMDE0LTMuMzEzNzEgMi42ODYyODgzNS02IDUuOTk5OTk4MzUtNnoiIGZpbGw9IiNmZmYiLz48ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0ibTMwIDIydi0xMmMwLTIuMjA5MTQtMS43OTA5LTQtNC00aC0yMGMtMi4yMDkxNCAwLTQgMS43OTA4Ni00IDR2MTJjMCAyLjIwOTEgMS43OTA4NiA0IDQgNGgyMGMyLjIwOTEgMCA0LTEuNzkwOSA0LTR6bTItMTJjMC0zLjMxMzcxLTIuNjg2My02LTYtNmgtMjBjLTMuMzEzNzEgMC01Ljk5OTk5ODIxIDIuNjg2MjktNS45OTk5OTgzNSA2bC0uMDAwMDAwNTMgMTJjLS4wMDAwMDAxNCAzLjMxMzcgMi42ODYyODg4OCA2IDUuOTk5OTk4ODggNmgyMGMzLjMxMzcgMCA2LTIuNjg2MyA2LTZ6IiBmaWxsPSIjY2NjIi8+PHBhdGggZD0ibTYuNDg4NjMgMTYuODE2MWMtLjIyNzU0LjE5NDYtLjUxNzE5LjI3OTYtLjk4MDM5LjI3OTZoLS4xOTIydi0yLjMyMTdoLjE5MjJjLjQ2MzIgMCAuNzQxNzQuMDc5NC45ODAzOS4yODM2LjI0NjM0LjIxMTEuMzk0MzguNTM2Ni4zOTQzOC44NzM0IDAgLjMzODQtLjE0ODA0LjY3NTYtLjM5NDM4Ljg4NTF6bS0uODM2OTEtMi42MzY4aC0xLjA1MTYydjMuNTExNGgxLjA0NTIxYy41NTYyMyAwIC45NTc3My0uMTI2NyAxLjMwOTY1LS40MDYxLjQxODAzLS4zMzExLjY2NjA4LS44MzA5LjY2NjA4LTEuMzQ4NyAwLTEuMDM2Ni0uODA5MjctMS43NTY2LTEuOTY5MzItMS43NTY2eiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im03Ljk1MTE3IDE0LjE3OTNoLjcxMzF2My41MTE0aC0uNzEzMXoiIGZpbGw9IiMyMDFkMWMiLz48cGF0aCBkPSJtMTAuNDE1OSAxNS41MjUxYy0uNDMwNDYtLjE1MS0uNTU2MjctLjI1MTctLjU1NjI3LS40NDE0IDAtLjIyMDYuMjI0ODctLjM4NzkuNTMzOTctLjM4NzkuMjE0MyAwIC4zOTA5LjA4MjEuNTc4OS4yODI2bC4zNzIzLS40Njc0Yy0uMzA3Ni0uMjU5LS42NzU4LS4zOTAyLTEuMDc3MS0uMzkwMi0uNjQ5NDIgMC0xLjE0NDM5LjQzMjQtMS4xNDQzOSAxLjAwNCAwIC40ODU0LjIzMDEuNzMxNi45MDE1OS45NjU0LjI4MDcuMDkzNC40MjMzLjE1NzIuNDk1NS4yMDA1LjE0MzEuMDg4NC4yMTQzLjIxNTIuMjE0My4zNjE4IDAgLjI4NTYtLjIzNjUuNDk1Ni0uNTU2Mi40OTU2LS4zNDAzOCAwLS42MTU3OS0uMTYzMS0uNzgwNjMtLjQ2OTNsLS40NjEzNS40Mjc2Yy4zMjk4NC40NjI0LjcyNTIxLjY2OTEgMS4yNjk4OC42NjkxLjc0MjkgMCAxLjI2NjQtLjQ3NTkgMS4yNjY0LTEuMTUzOCAwLS41NTg2LS4yNDI4LS44MTE4LTEuMDU2OS0xLjA5NjZ6IiBmaWxsPSIjMjAxZDFjIi8+PHBhdGggZD0ibTExLjY5NzMgMTUuOTM1OWMwIDEuMDMyNi44NDcgMS44MzI4IDEuOTM3NCAxLjgzMjguMzA3NCAwIC41NzEtLjA1ODEuODk1Ni0uMjA0N3YtLjgwNjljLS4yODY4LjI3NTgtLjUzODYuMzg0Ni0uODY0My4zODQ2LS43MjA1IDAtMS4yMzA4LS40OTg5LTEuMjMwOC0xLjIxMDcgMC0uNjcyNi41MjY4LTEuMjA1NCAxLjE5OTUtMS4yMDU0LjMzOTQgMCAuNTk4Ny4xMTUxLjg5NTYuMzk1di0uODA2Yy0uMzEzNi0uMTUxOC0uNTcwOS0uMjE0Ni0uODgxLS4yMTQ2LTEuMDg0MSAwLTEuOTUyLjgxNTgtMS45NTIgMS44MzU5eiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im0yMC4zMjgxIDE2LjUzNjctLjk3ODYtMi4zNTc0aC0uNzgwMmwxLjU1NTYgMy42aC4zODM3bDEuNTg1OC0zLjZoLS43NzQxeiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im0yMi40MTg5IDE3LjY5MDdoMi4wMjkzdi0uNTk1aC0xLjMxMzN2LS45NDc4aDEuMjYzNXYtLjU5NDhoLTEuMjYzNXYtLjc3OTFoMS4zMTMzdi0uNTk0N2gtMi4wMjkzeiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im0yNS44NDU3IDE1Ljc5NGgtLjIwNzh2LTEuMDYyMWguMjE5NGMuNDQ3MSAwIC42ODY2LjE3OTYuNjg2Ni41MjE3IDAgLjM1MTQtLjIzOTUuNTQwNC0uNjk4Mi41NDA0em0xLjQzNTEtLjU3ODZjMC0uNjU3Ni0uNDcxMy0xLjAzNjEtMS4yOTc1LTEuMDM2MWgtMS4wNjI5djMuNTExNGguNzE3NXYtMS40MTE4aC4wOTMxbC45ODg2IDEuNDExOGguODgwNGwtMS4xNTQ1LTEuNDc5OWMuNTM5NS0uMTA1Ni44MzUzLS40NTgxLjgzNTMtLjk5NTR6IiBmaWxsPSIjMjAxZDFjIi8+PHBhdGggZD0ibTE4LjY3MDQgMTUuOTQ0MWMwIDEuMDEwOS0uODU2IDEuODMwMy0xLjkxMjkgMS44MzAzLTEuMDU2NiAwLTEuOTEyOC0uODE5NC0xLjkxMjgtMS44MzAzIDAtMS4wMTExLjg1NjItMS44MzA2IDEuOTEyOC0xLjgzMDYgMS4wNTY5IDAgMS45MTI5LjgxOTUgMS45MTI5IDEuODMwNnoiIGZpbGw9InVybCgjYSkiLz48cGF0aCBkPSJtMTguNjcwNCAxNS45NDQxYzAgMS4wMTA5LS44NTYgMS44MzAzLTEuOTEyOSAxLjgzMDMtMS4wNTY2IDAtMS45MTI4LS44MTk0LTEuOTEyOC0xLjgzMDMgMC0xLjAxMTEuODU2Mi0xLjgzMDYgMS45MTI4LTEuODMwNiAxLjA1NjkgMCAxLjkxMjkuODE5NSAxLjkxMjkgMS44MzA2eiIgZmlsbD0idXJsKCNiKSIvPjwvZz48L3N2Zz4=);\n}\n.tooltip__button--data--provider__jcb::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGxpbmVhckdyYWRpZW50IGlkPSJhIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMwMDc5NDAiLz48c3RvcCBvZmZzZXQ9Ii4yMjg1IiBzdG9wLWNvbG9yPSIjMDA4NzNmIi8+PHN0b3Agb2Zmc2V0PSIuNzQzMyIgc3RvcC1jb2xvcj0iIzQwYTczNyIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzVjYjUzMSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE5LjA4MjEiIHgyPSIyNC4wMTQ4IiB4bGluazpocmVmPSIjYSIgeTE9IjE2LjY1MSIgeTI9IjE2LjY1MSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxOS4wODIyIiB4Mj0iMjQuMDE0OCIgeGxpbms6aHJlZj0iI2EiIHkxPSIxNS44ODIyIiB5Mj0iMTUuODgyMiIvPjxsaW5lYXJHcmFkaWVudCBpZD0iZCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxOS4wODIiIHgyPSIyNC4wMTQ0IiB4bGluazpocmVmPSIjYSIgeTE9IjE1LjA0NTgiIHkyPSIxNS4wNDU4Ii8+PGxpbmVhckdyYWRpZW50IGlkPSJlIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjguMDQwMjIiIHgyPSIxMy4wNDg4IiB5MT0iMTUuODgyMiIgeTI9IjE1Ljg4MjIiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzFmMjg2ZiIvPjxzdG9wIG9mZnNldD0iLjQ3NTEiIHN0b3AtY29sb3I9IiMwMDRlOTQiLz48c3RvcCBvZmZzZXQ9Ii44MjYxIiBzdG9wLWNvbG9yPSIjMDA2NmIxIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA2ZmJjIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTMuNTM1IiB4Mj0iMTguMzk5MyIgeTE9IjE1Ljg4MjIiIHkyPSIxNS44ODIyIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM2YzJjMmYiLz48c3RvcCBvZmZzZXQ9Ii4xNzM1IiBzdG9wLWNvbG9yPSIjODgyNzMwIi8+PHN0b3Agb2Zmc2V0PSIuNTczMSIgc3RvcC1jb2xvcj0iI2JlMTgzMyIvPjxzdG9wIG9mZnNldD0iLjg1ODUiIHN0b3AtY29sb3I9IiNkYzA0MzYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNlNjAwMzkiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iZyI+PHBhdGggZD0ibTcgOWgxOHYxMy44MjkzaC0xOHoiLz48L2NsaXBQYXRoPjxwYXRoIGQ9Im0yNiA0YzMuMzEzNyAwIDYgMi42ODYyOSA2IDZ2MTJjMCAzLjMxMzctMi42ODYzIDYtNiA2aC0yMGMtMy4zMTM3MSAwLTUuOTk5OTk5MDItMi42ODYzLTUuOTk5OTk4ODgtNmwuMDAwMDAwNTMtMTJjLjAwMDAwMDE0LTMuMzEzNzEgMi42ODYyODgzNS02IDUuOTk5OTk4MzUtNnoiIGZpbGw9IiMwMDhlZWQiLz48cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0zMCAyMnYtMTJjMC0yLjIwOTE0LTEuNzkwOS00LTQtNGgtMjBjLTIuMjA5MTQgMC00IDEuNzkwODYtNCA0djEyYzAgMi4yMDkxIDEuNzkwODYgNCA0IDRoMjBjMi4yMDkxIDAgNC0xLjc5MDkgNC00em0yLTEyYzAtMy4zMTM3MS0yLjY4NjMtNi02LTZoLTIwYy0zLjMxMzcxIDAtNS45OTk5OTgyMSAyLjY4NjI5LTUuOTk5OTk4MzUgNmwtLjAwMDAwMDUzIDEyYy0uMDAwMDAwMTQgMy4zMTM3IDIuNjg2Mjg4ODggNiA1Ljk5OTk5ODg4IDZoMjBjMy4zMTM3IDAgNi0yLjY4NjMgNi02eiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuMTgiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxnIGNsaXAtcGF0aD0idXJsKCNnKSI+PHBhdGggZD0ibTI1IDIwLjAwODVjMCAxLjUzNjYtMS4yNTEyIDIuNzg3OC0yLjc4NzggMi43ODc4aC0xNS4xNjgyNXYtMTEuMDQxNWMwLTEuNTM2NSAxLjI1MTIxLTIuNzg3NzYgMi43ODc4LTIuNzg3NzZoMTUuMTY4MjV6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTIwLjA2MSAxNy4xNzY4aDEuMTUyNWMuMDMyOSAwIC4xMDk3LS4wMTEuMTQyNy0uMDExLjIxOTUtLjA0MzkuNDA2MS0uMjQxNS40MDYxLS41MTU5IDAtLjI2MzQtLjE4NjYtLjQ2MDktLjQwNjEtLjUxNTgtLjAzMy0uMDExLS4wOTg4LS4wMTEtLjE0MjctLjAxMWgtMS4xNTI1eiIgZmlsbD0idXJsKCNiKSIvPjxwYXRoIGQ9Im0yMS4wODE4IDkuODk5OTZjLTEuMDk3NiAwLTEuOTk3Ni44ODkwNC0xLjk5NzYgMS45OTc1NHYyLjA3NDRoMi44MjA3Yy4wNjU5IDAgLjE0MjcgMCAuMTk3Ni4wMTEuNjM2Ni4wMzI5IDEuMTA4NS4zNjIyIDEuMTA4NS45MzI5IDAgLjQ1LS4zMTgyLjgzNDItLjkxMDkuOTExdi4wMjE5Yy42NDc1LjA0MzkgMS4xNDE0LjQwNjEgMS4xNDE0Ljk2NTkgMCAuNjAzNy0uNTQ4Ny45OTg4LTEuMjczMS45OTg4aC0zLjA5NTJ2NC4wNjFoMi45MzA1YzEuMDk3NiAwIDEuOTk3Ni0uODg5MSAxLjk5NzYtMS45OTc2di05Ljk3Njg0eiIgZmlsbD0idXJsKCNjKSIvPjxwYXRoIGQ9Im0yMS42MTk2IDE1LjA0NzVjMC0uMjYzNC0uMTg2Ni0uNDM5LS40MDYxLS40NzE5LS4wMjIgMC0uMDc2OS0uMDExLS4xMDk4LS4wMTFoLTEuMDQyN3YuOTY1OGgxLjA0MjdjLjAzMjkgMCAuMDk4OCAwIC4xMDk4LS4wMTA5LjIxOTUtLjAzMy40MDYxLS4yMDg2LjQwNjEtLjQ3MnoiIGZpbGw9InVybCgjZCkiLz48cGF0aCBkPSJtMTAuMDQwMyA5Ljg5OTk2Yy0xLjA5NzU5IDAtMS45OTc1OS44ODkwNC0xLjk5NzU5IDEuOTk3NTR2NC45MjgxYy41NTk3Ni4yNzQ0IDEuMTQxNDcuNDUgMS43MjMxNy40NS42OTE0MiAwIDEuMDY0NjItLjQxNzEgMS4wNjQ2Mi0uOTg3OHYtMi4zMjY5aDEuNzEyMnYyLjMxNTljMCAuOS0uNTU5NyAxLjYzNTQtMi40NTg1IDEuNjM1NC0xLjE1MjQ2IDAtMi4wNTI0Ni0uMjUyNS0yLjA1MjQ2LS4yNTI1djQuMjAzN2gyLjkzMDQ2YzEuMDk3NiAwIDEuOTk3Ni0uODg5IDEuOTk3Ni0xLjk5NzZ2LTkuOTY1ODR6IiBmaWxsPSJ1cmwoI2UpIi8+PHBhdGggZD0ibTE1LjU2MSA5Ljg5OTk2Yy0xLjA5NzUgMC0xLjk5NzUuODg5MDQtMS45OTc1IDEuOTk3NTR2Mi42MTIyYy41MDQ5LS40MjggMS4zODI5LS43MDI0IDIuNzk4OC0uNjM2Ni43NTczLjAzMyAxLjU2OTUuMjQxNSAxLjU2OTUuMjQxNXYuODQ1MWMtLjQwNjEtLjIwODUtLjg4OTEtLjM5NTEtMS41MTQ3LS40MzktMS4wNzU2LS4wNzY4LTEuNzIzMS40NS0xLjcyMzEgMS4zNzE5IDAgLjkzMy42NDc1IDEuNDU5OCAxLjcyMzEgMS4zNzIuNjI1Ni0uMDQzOSAxLjEwODYtLjI0MTUgMS41MTQ3LS40Mzl2Ljg0NTFzLS44MDEzLjIwODUtMS41Njk1LjI0MTVjLTEuNDE1OS4wNjU4LTIuMjkzOS0uMjA4Ni0yLjc5ODgtLjYzNjZ2NC42MDk3aDIuOTMwNWMxLjA5NzUgMCAxLjk5NzUtLjg4OSAxLjk5NzUtMS45OTc1di05Ljk4Nzg0eiIgZmlsbD0idXJsKCNmKSIvPjwvZz48L3N2Zz4=);\n}\n.tooltip__button--data--provider__mastercard::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI2IDRDMjkuMzEzNyA0IDMyIDYuNjg2MjkgMzIgMTBMMzIgMjJDMzIgMjUuMzEzNyAyOS4zMTM3IDI4IDI2IDI4TDYgMjhDMi42ODYyOSAyOCA5Ljc1Njk3ZS0wNyAyNS4zMTM3IDEuMTIwNTRlLTA2IDIyTDEuNjQ1MDhlLTA2IDEwQzEuNzg5OTNlLTA2IDYuNjg2MjkgMi42ODYyOSA0IDYgNEwyNiA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMCAyMkwzMCAxMEMzMCA3Ljc5MDg2IDI4LjIwOTEgNiAyNiA2TDYgNkMzLjc5MDg2IDYgMiA3Ljc5MDg2IDIgMTBMMiAyMkMyIDI0LjIwOTEgMy43OTA4NiAyNiA2IDI2TDI2IDI2QzI4LjIwOTEgMjYgMzAgMjQuMjA5MSAzMCAyMlpNMzIgMTBDMzIgNi42ODYyOSAyOS4zMTM3IDQgMjYgNEw2IDRDMi42ODYyOSA0IDEuNzg5OTNlLTA2IDYuNjg2MjkgMS42NDUwOGUtMDYgMTBMMS4xMjA1NGUtMDYgMjJDOS43NTY5N2UtMDcgMjUuMzEzNyAyLjY4NjI5IDI4IDYgMjhMMjYgMjhDMjkuMzEzNyAyOCAzMiAyNS4zMTM3IDMyIDIyTDMyIDEwWiIgZmlsbD0iI0NDQ0NDQyIvPgo8cGF0aCBkPSJNMTguNDAzOCAyMC4xNjExSDEzLjU5MjhWMTEuNTY5SDE4LjQwMzhWMjAuMTYxMVoiIGZpbGw9IiNGRjVGMDAiLz4KPHBhdGggZD0iTTEzLjkwMTYgMTUuODY0NEMxMy45MDE2IDE0LjEyMTQgMTQuNzIyOCAxMi41Njg5IDE2LjAwMTcgMTEuNTY4M0MxNS4wNjY1IDEwLjgzNjcgMTMuODg2MyAxMC40IDEyLjYwMzYgMTAuNEM5LjU2Njk4IDEwLjQgNy4xMDU0NyAxMi44NDY0IDcuMTA1NDcgMTUuODY0NEM3LjEwNTQ3IDE4Ljg4MjMgOS41NjY5OCAyMS4zMjg3IDEyLjYwMzYgMjEuMzI4N0MxMy44ODYzIDIxLjMyODcgMTUuMDY2NSAyMC44OTIgMTYuMDAxNyAyMC4xNjA0QzE0LjcyMjggMTkuMTU5OSAxMy45MDE2IDE3LjYwNzMgMTMuOTAxNiAxNS44NjQ0WiIgZmlsbD0iI0VCMDAxQiIvPgo8cGF0aCBkPSJNMjQuODkzNiAxNS44NjQ0QzI0Ljg5MzYgMTguODgyMyAyMi40MzIxIDIxLjMyODcgMTkuMzk1NSAyMS4zMjg3QzE4LjExMjggMjEuMzI4NyAxNi45MzI2IDIwLjg5MiAxNS45OTcxIDIwLjE2MDRDMTcuMjc2MiAxOS4xNTk5IDE4LjA5NzQgMTcuNjA3MyAxOC4wOTc0IDE1Ljg2NDRDMTguMDk3NCAxNC4xMjE0IDE3LjI3NjIgMTIuNTY4OSAxNS45OTcxIDExLjU2ODNDMTYuOTMyNiAxMC44MzY3IDE4LjExMjggMTAuNCAxOS4zOTU1IDEwLjRDMjIuNDMyMSAxMC40IDI0Ljg5MzYgMTIuODQ2NCAyNC44OTM2IDE1Ljg2NDRaIiBmaWxsPSIjRjc5RTFCIi8+Cjwvc3ZnPgo=);\n}\n.tooltip__button--data--provider__unionPay::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMjYgNGMzLjMxMzcgMCA2IDIuNjg2MjkgNiA2djEyYzAgMy4zMTM3LTIuNjg2MyA2LTYgNmgtMjBjLTMuMzEzNzEgMC01Ljk5OTk5OTAyLTIuNjg2My01Ljk5OTk5ODg4LTZsLjAwMDAwMDUzLTEyYy4wMDAwMDAxNC0zLjMxMzcxIDIuNjg2Mjg4MzUtNiA1Ljk5OTk5ODM1LTZ6IiBmaWxsPSIjZmZmIi8+PGcgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Im0zMCAyMnYtMTJjMC0yLjIwOTE0LTEuNzkwOS00LTQtNGgtMjBjLTIuMjA5MTQgMC00IDEuNzkwODYtNCA0djEyYzAgMi4yMDkxIDEuNzkwODYgNCA0IDRoMjBjMi4yMDkxIDAgNC0xLjc5MDkgNC00em0yLTEyYzAtMy4zMTM3MS0yLjY4NjMtNi02LTZoLTIwYy0zLjMxMzcxIDAtNS45OTk5OTgyMSAyLjY4NjI5LTUuOTk5OTk4MzUgNmwtLjAwMDAwMDUzIDEyYy0uMDAwMDAwMTQgMy4zMTM3IDIuNjg2Mjg4ODggNiA1Ljk5OTk5ODg4IDZoMjBjMy4zMTM3IDAgNi0yLjY4NjMgNi02eiIgZmlsbD0iI2NjYyIvPjxwYXRoIGQ9Im0yNS4wMTM0IDkuNTAzNzItNC45MjUyLS4wMDEyOGMtLjAwMDYgMC0uMDAxMyAwLS4wMDEzIDAtLjAwMzggMC0uMDA3NS4wMDA2OC0uMDExMi4wMDA2OC0uNjc2Ni4wMjA5LTEuNTE5My41Njc5OC0xLjY3MjggMS4yNDI0OGwtMi4zMjkyIDEwLjM4OWMtLjE1MzQuNjgwOC4yNjQxIDEuMjM0OC45MzU4IDEuMjQ1aDUuMTc0MWMuNjYxNC0uMDMzIDEuMzA0Mi0uNTczNyAxLjQ1NTEtMS4yNDA2bDIuMzI5Mi0xMC4zODljLjE1NTktLjY4NzgtLjI3MTctMS4yNDYyOC0uOTU0NS0xLjI0NjI4eiIgZmlsbD0iIzAxNzk4YSIvPjxwYXRoIGQ9Im0xNi4wNzM4IDIxLjEzNDYgMi4zMjkxLTEwLjM4ODljLjE1MzUtLjY3NDYuOTk2Mi0xLjIyMTYyIDEuNjcyOC0xLjI0MjUybC0xLjk1ODItLjAwMTI4LTMuNTI4Mi0uMDAwNjhjLS42Nzg0LjAxMzk5LTEuNTMyMS41NjQ4OC0xLjY4NTUgMS4yNDQ0OGwtMi4zMjk5IDEwLjM4ODljLS4xNTQuNjgwOS4yNjQxIDEuMjM0OS45MzU0IDEuMjQ1MWg1LjUwMDJjLS42NzE3LS4wMTAyLTEuMDg5Mi0uNTY0Mi0uOTM1Ny0xLjI0NTF6IiBmaWxsPSIjMDI0MzgxIi8+PHBhdGggZD0ibTEwLjU3MzkgMjEuMTM0NiAyLjMyOTgtMTAuMzg5Yy4xNTM1LS42Nzk1IDEuMDA3MS0xLjIzMDQyIDEuNjg1Ni0xLjI0NDQxbC00LjUxOTctLjAwMTE5Yy0uNjgyMzMgMC0xLjU1NzA5LjU1NzItMS43MTMwMiAxLjI0NTZsLTIuMzI5ODQgMTAuMzg5Yy0uMDE0MTguMDYzNC0uMDIyMDUuMTI1NS0uMDI2NzQuMTg2M3YuMTkyOGMuMDQ1NjEuNDk2My40MjE2Mi44NTc3Ljk2MjExLjg2Nmg0LjU0NzE5Yy0uNjcxMy0uMDEwMi0xLjA4OTUtLjU2NDMtLjkzNTQtMS4yNDUxeiIgZmlsbD0iI2RkMDIyOCIvPjxwYXRoIGQ9Im0xNC42ODQ2IDE3LjA3MTNoLjA4NTVjLjA3ODYgMCAuMTMxNS0uMDI2Ni4xNTYzLS4wNzkybC4yMjIyLS4zMzU0aC41OTUybC0uMTI0MS4yMjA2aC43MTM3bC0uMDkwNS4zMzc5aC0uODQ5MmMtLjA5NzguMTQ4My0uMjE4Mi4yMTgxLS4zNjMuMjA5OGgtLjQ0MjN6bS0uMDk3OC40ODQzaDEuNTYzNmwtLjA5OTcuMzY3MWgtLjYyODhsLS4wOTU5LjM1NDNoLjYxMThsLS4wOTk2LjM2N2gtLjYxMTlsLS4xNDIxLjUyMzZjLS4wMzUyLjA4NzUuMDExLjEyNjkuMTM4LjExNzloLjQ5ODdsLS4wOTI0LjM0MTFoLS45NTc0Yy0uMTgxNSAwLS4yNDM3LS4xMDQ2LS4xODY4LS4zMTQ0bC4xODE3LS42NjgyaC0uMzkxMWwuMDk5NC0uMzY3aC4zOTExbC4wOTU5LS4zNTQzaC0uMzczOXptMi40OTU2LS45MDE0LS4wMjQ2LjIxNDlzLjI5NDktLjIyMzIuNTYyOC0uMjIzMmguOTg5OGwtLjM3ODUgMS4zODEzYy0uMDMxNC4xNTc5LS4xNjYuMjM2NC0uNDAzOC4yMzY0aC0xLjEyMTlsLS4yNjI3Ljk2OTljLS4wMTUyLjA1Mi4wMDYyLjA3ODYuMDYyOC4wNzg2aC4yMjA4bC0uMDgxMi4zMDExaC0uNTYxMmMtLjIxNTQgMC0uMzA1LS4wNjUzLS4yNjk1LS4xOTY0bC43NDI2LTIuNzYyNnptLjgzODIuMzkwNWgtLjg4MzVsLS4xMDU2LjM3MjdzLjE0NzEtLjEwNzEuMzkzLS4xMTA5Yy4yNDUyLS4wMDM5LjUyNSAwIC41MjUgMHptLS4zMjAxLjg2NDZjLjA2NTQuMDA4OS4xMDE5LS4wMTcxLjEwNjMtLjA3ODZsLjA1NDEtLjE5NjVoLS44ODQ4bC0uMDc0Mi4yNzUxem0tLjU5NjguNDQ2M2guNTEwMWwtLjAwOTUuMjIyNGguMTM1OGMuMDY4NiAwIC4xMDI2LS4wMjIxLjEwMjYtLjA2NThsLjA0MDItLjE0NGguNDIzOWwtLjA1NjYuMjA5OGMtLjA0NzkuMTc1LS4xNzQ4LjI2NjMtLjM4MTEuMjc1MmgtLjI3MTdsLS4wMDEyLjM4MDNjLS4wMDUuMDYwOS4wNDk2LjA5Mi4xNjIxLjA5MmguMjU1NGwtLjA4MjQuMzAxMWgtLjYxMjVjLS4xNzE3LjAwODItLjI1NTgtLjA3NDItLjI1NDEtLjI0OTJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTEwLjgyMzggMTQuODE0Yy0uMDY5Mi4zNDE3LS4yMjk2LjYwNDEtLjQ3ODMuNzkwNS0uMjQ2NS4xODMyLS41NjQ0LjI3NTEtLjk1MzYyLjI3NTEtLjM2NjI5IDAtLjYzNDgzLS4wOTM5LS44MDYxOS0uMjgyMS0uMTE4ODUtLjEzMzgtLjE3Nzk4LS4zMDM3LS4xNzc5OC0uNTA5MSAwLS4wODQ5LjAxMDA5LS4xNzYyLjAzMDIyLS4yNzQ0bC40MTQ3LTIuMDE1OGguNjI2MzNsLS40MDkwNiAxLjk5M2MtLjAxMjU5LjA1NTEtLjAxNzYxLjEwNjUtLjAxNjk1LjE1MjgtLjAwMDY2LjEwMi4wMjQ0OC4xODU3LjA3NTQyLjI1MS4wNzQyLjA5Ny4xOTQ2My4xNDUxLjM2MjIyLjE0NTEuMTkyNzIgMCAuMzUxNTItLjA0NzUuNDc0NzYtLjE0MzIuMTIzMjUtLjA5NTEuMjAzNzUtLjIzMDEuMjM5OTUtLjQwNTdsLjQxMDMtMS45OTNoLjYyMzJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTEzLjQ1NDEgMTQuMDIwOWguNDkwNWwtLjM4NDIgMS43OTloLS40ODk2em0uMTU0NC0uNjU1NGguNDk0OWwtLjA5MjUuNDM2N2gtLjQ5NDh6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTE0LjM3ODggMTUuNjgzYy0uMTI4My0uMTIzNi0uMTkzMS0uMjkwMy0uMTkzNy0uNTAyIDAtLjAzNjIuMDAyMS0uMDc3NC4wMDY5LS4xMjI0LjAwNDctLjA0NTcuMDEwNy0uMDkuMDE5Mi0uMTMxMi4wNTgxLS4yOTIyLjE4Mi0uNTI0Mi4zNzI5LS42OTU0LjE5MDUtLjE3MTguNDIwNC0uMjU4LjY4OTUtLjI1OC4yMjA0IDAgLjM5NTIuMDYyMS41MjMyLjE4NjQuMTI4LjEyNDkuMTkyMS4yOTM0LjE5MjEuNTA3OCAwIC4wMzY3LS4wMDI4LjA3OTItLjAwNzUuMTI0OC0uMDA1Ny4wNDYzLS4wMTI2LjA5MDctLjAyMDUuMTM0NC0uMDU2OS4yODc4LS4xODA0LjUxNzMtLjM3MTMuNjg1My0uMTkwOC4xNjkyLS40Mi4yNTM1LS42ODczLjI1MzUtLjIyMTQgMC0uMzk1Ni0uMDYwOS0uNTIzNS0uMTgzMnptLjkzNDctLjM1NjJjLjA4NjUtLjA5NDUuMTQ4NC0uMjM3OC4xODYyLS40Mjg1LjAwNTYtLjAyOTguMDEwNi0uMDYwOS4wMTM4LS4wOTIuMDAzMS0uMDMwNC4wMDQ0LS4wNTg5LjAwNDQtLjA4NDkgMC0uMTExLS4wMjgtLjE5NzEtLjA4NDMtLjI1OC0uMDU1OS0uMDYxNS0uMTM1NS0uMDkxOS0uMjM4My0uMDkxOS0uMTM1OCAwLS4yNDY1LjA0ODEtLjMzMzIuMTQ0NS0uMDg3NS4wOTY0LS4xNDk0LjI0MjItLjE4ODQuNDM2MS0uMDA1NC4wMjk4LS4wMDk4LjA1OTYtLjAxMzguMDg4OC0uMDAzMi4wMjk4LS4wMDQxLjA1NzctLjAwMzUuMDgzIDAgLjExMDMuMDI4LjE5NTMuMDg0My4yNTU1LjA1NTkuMDYwMi4xMzUxLjA5LjIzOTIuMDkuMTM2NSAwIC4yNDcyLS4wNDc2LjMzMzYtLjE0MjZ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTE5LjE3MTQgMTcuMDg2NS4xMTgzLS40MTk3aC41OThsLS4wMjU4LjE1NHMuMzA1Ni0uMTU0LjUyNTctLjE1NGguNzM5NGwtLjExNzUuNDE5N2gtLjExNjNsLS41NTc4IDEuOTc5aC4xMTYzbC0uMTEwNy4zOTNoLS4xMTYzbC0uMDQ4NC4xNzA2aC0uNTc5MWwuMDQ4My0uMTcwNmgtMS4xNDI2bC4xMTE0LS4zOTNoLjExNDRsLjU1ODQtMS45Nzl6bS42NDUyIDAtLjE1MjIuNTM1NnMuMjYwNC0uMTAwNy40ODQ5LS4xMjkzYy4wNDk2LS4xODcuMTE0NC0uNDA2My4xMTQ0LS40MDYzem0tLjIyMjcuNzg2Ni0uMTUyNy41NjFzLjI4ODYtLjE0MzIuNDg2Ny0uMTU1M2MuMDU3Mi0uMjE2OC4xMTQ1LS40MDU3LjExNDUtLjQwNTd6bS4xMTIgMS4xOTI0LjExNDUtLjQwNjloLS40NDY0bC0uMTE1MS40MDY5em0xLjQ0NjMtMi40MjQ2aC41NjIzbC4wMjM4LjIwOTFjLS4wMDM3LjA1MzIuMDI3Ny4wNzg2LjA5NDMuMDc4NmguMDk5NGwtLjEwMDUuMzU0NGgtLjQxMzNjLS4xNTc4LjAwODItLjIzODktLjA1MjYtLjI0NjQtLjE4Mzl6bS0uMTY0Ny43NmgxLjgyMTFsLS4xMDY5LjM4MDRoLS41Nzk4bC0uMDk5NC4zNTM2aC41NzkybC0uMTA3NS4zNzk3aC0uNjQ1MWwtLjE0Ni4yMjI2aC4zMTU4bC4wNzI5LjQ0NTZjLjAwODcuMDQ0NC4wNDc3LjA2NTkuMTE0NC4wNjU5aC4wOThsLS4xMDMuMzY3aC0uMzQ3MWMtLjE3OTkuMDA4OS0uMjcyOS0uMDUxOS0uMjgwNS0uMTgzMWwtLjA4MzctLjQwNy0uMjg3My40MzNjLS4wNjguMTIyMy0uMTcyNC4xNzk0LS4zMTMyLjE3MDVoLS41MzAxbC4xMDMxLS4zNjcxaC4xNjU0Yy4wNjggMCAuMTI0NS0uMDMwNC4xNzU0LS4wOTE5bC40NDk3LS42NTU1aC0uNTc5OGwuMTA3NS0uMzc5N2guNjI4OGwuMS0uMzUzNmgtLjYyOTR6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTExLjQwMDMgMTQuMDIwNGguNDQyNGwtLjA1MDYuMjU5OS4wNjM1LS4wNzQyYy4xNDM0LS4xNTQ2LjMxNzYtLjIzMTQuNTIzMi0uMjMxNC4xODYxIDAgLjMyMDQuMDU0Ni40MDQ3LjE2NDIuMDgyOS4xMDk3LjEwNTYuMjYxMi4wNjYzLjQ1NThsLS4yNDM3IDEuMjI2aC0uNDU0NmwuMjIwMS0xLjExMTNjLjAyMjYtLjExNDcuMDE2NC0uMjAwMy0uMDE4Ni0uMjU1NC0uMDM0Ni0uMDU1Mi0uMTAwNi0uMDgyNC0uMTk1OS0uMDgyNC0uMTE2OSAwLS4yMTU0LjAzNjctLjI5NTUuMTA5Ni0uMDgwNS4wNzM2LS4xMzM3LjE3NTYtLjE1OTguMzA1NmwtLjIwMjggMS4wMzM5aC0uNDU1NXoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMTYuNDczNSAxNC4wMjA0aC40NDI3bC0uMDUwMi4yNTk5LjA2MjgtLjA3NDJjLjE0MzUtLjE1NDYuMzE4My0uMjMxNC41MjMzLS4yMzE0LjE4NjEgMCAuMzIwNi4wNTQ2LjQwNDIuMTY0Mi4wODI1LjEwOTcuMTA2NC4yNjEyLjA2NjEuNDU1OGwtLjI0MjcgMS4yMjZoLS40NTUzbC4yMjAxLTEuMTExM2MuMDIyNi0uMTE0Ny4wMTY0LS4yMDAzLS4wMTgyLS4yNTU0LS4wMzU5LS4wNTUyLS4xMDA3LS4wODI0LS4xOTU2LS4wODI0LS4xMTcgMC0uMjE1LjAzNjctLjI5NjIuMTA5Ni0uMDgwNS4wNzM2LS4xMzM5LjE3NTYtLjE1OS4zMDU2bC0uMjAzOCAxLjAzMzloLS40NTV6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTE4LjY2MjEgMTIuOTA0N2gxLjI4NTNjLjI0NzEgMCAuNDM4My4wNTY0LjU2OTcuMTY3My4xMzA4LjExMjIuMTk2My4yNzMzLjE5NjMuNDgzMXYuMDA2M2MwIC4wMzk5LS4wMDI3LjA4NDktLjAwNjQuMTMzNy0uMDA2My4wNDgyLS4wMTQ1LjA5Ny0uMDI1MS4xNDc3LS4wNTY2LjI3NzctLjE4ODEuNTAwOC0uMzkxMi42NzAxLS4yMDM4LjE2ODYtLjQ0NTIuMjUzNi0uNzIzMS4yNTM2aC0uNjg5M2wtLjIxMzEgMS4wNTQxaC0uNTk2OHptLjMyMTIgMS4zNTQ2aC41NzE3Yy4xNDkgMCAuMjY3Mi0uMDM0OS4zNTM0LS4xMDM5LjA4NTUtLjA2OTguMTQyMS0uMTc2Mi4xNzM1LS4zMjA4LjAwNS0uMDI2Ny4wMDgxLS4wNTA3LjAxMi0uMDcyOS4wMDE5LS4wMjA5LjAwNDQtLjA0MTkuMDA0NC0uMDYyMSAwLS4xMDMzLS4wMzY0LS4xNzgxLS4xMDk0LS4yMjUtLjA3My0uMDQ3Ni0uMTg3NC0uMDcwNC0uMzQ1OS0uMDcwNGgtLjQ4NTV6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTIzLjM4NDggMTYuMTY4N2MtLjE4ODcuNDA0NC0uMzY4NS42NDAyLS40NzQxLjc0OTgtLjEwNTcuMTA4NS0uMzE1LjM2MDgtLjgxOTQuMzQxN2wuMDQzNC0uMzA4NmMuNDI0NC0uMTMxOS42NTM5LS43MjU5Ljc4NDctLjk4OWwtLjE1NTktMS45MzcyLjMyODMtLjAwNDRoLjI3NTRsLjAyOTYgMS4yMTUyLjUxNjItMS4yMTUyaC41MjI2eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im0yMS45MjMzIDE0LjE2NzMtLjIwNzYuMTQ0Yy0uMjE3LS4xNzEyLS40MTUtLjI3Ny0uNzk3My0uMDk4My0uNTIwNy4yNDM0LS45NTU5IDIuMTEwMy40Nzc5IDEuNDk1NGwuMDgxNy4wOTc2LjU2NDEuMDE0Ni4zNzA0LTEuNjk2NHptLS4zMjA4LjkyNzRjLS4wOTA2LjI2OTUtLjI5My40NDc2LS40NTE0LjM5NjktLjE1ODUtLjA0OTUtLjIxNTEtLjMwOTQtLjEyMzMtLjU3OTQuMDkwNS0uMjcwMS4yOTQzLS40NDc2LjQ1MTUtLjM5NjguMTU4NC4wNDk0LjIxNTYuMzA5My4xMjMyLjU3OTN6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==);\n}\n.tooltip__button--data--provider__visa::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI2IDRDMjkuMzEzNyA0IDMyIDYuNjg2MjkgMzIgMTBMMzIgMjJDMzIgMjUuMzEzNyAyOS4zMTM3IDI4IDI2IDI4TDYgMjhDMi42ODYyOSAyOCA5Ljc1Njk3ZS0wNyAyNS4zMTM3IDEuMTIwNTRlLTA2IDIyTDEuNjQ1MDhlLTA2IDEwQzEuNzg5OTNlLTA2IDYuNjg2MjkgMi42ODYyOSA0IDYgNEwyNiA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMCAyMkwzMCAxMEMzMCA3Ljc5MDg2IDI4LjIwOTEgNiAyNiA2TDYgNkMzLjc5MDg2IDYgMiA3Ljc5MDg2IDIgMTBMMiAyMkMyIDI0LjIwOTEgMy43OTA4NiAyNiA2IDI2TDI2IDI2QzI4LjIwOTEgMjYgMzAgMjQuMjA5MSAzMCAyMlpNMzIgMTBDMzIgNi42ODYyOSAyOS4zMTM3IDQgMjYgNEw2IDRDMi42ODYyOSA0IDEuNzg5OTNlLTA2IDYuNjg2MjkgMS42NDUwOGUtMDYgMTBMMS4xMjA1NGUtMDYgMjJDOS43NTY5N2UtMDcgMjUuMzEzNyAyLjY4NjI5IDI4IDYgMjhMMjYgMjhDMjkuMzEzNyAyOCAzMiAyNS4zMTM3IDMyIDIyTDMyIDEwWiIgZmlsbD0iI0NDQ0NDQyIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE4Ljg5NTYgMTIuNUMxOS41ODQ5IDEyLjUgMjAuMTQyNSAxMi42NDQ1IDIwLjQ5NCAxMi43NzU0TDIwLjI1MTYgMTQuMTcyNEwyMC4wOTA0IDE0LjEwMzdDMTkuNzY4IDEzLjk3MjkgMTkuMzQyMyAxMy44NDIyIDE4Ljc2MjkgMTMuODU2QzE4LjA1OTMgMTMuODU2IDE3Ljc0MzcgMTQuMTM4IDE3LjczNjQgMTQuNDEzM0MxNy43MzY0IDE0LjcxNjIgMTguMTE4MiAxNC45MTU4IDE4Ljc0MTUgMTUuMjExOEMxOS43NjgzIDE1LjY3MjkgMjAuMjQ0NSAxNi4yMzcyIDIwLjIzNzQgMTYuOTczN0MyMC4yMjMgMTguMzE1NyAxOS4wMDU2IDE5LjE4MyAxNy4xMzU2IDE5LjE4M0MxNi4zMzYxIDE5LjE3NiAxNS41NjYgMTkuMDE3NCAxNS4xNDggMTguODM4N0wxNS4zOTc0IDE3LjM4NjVMMTUuNjMyMSAxNy40ODk4QzE2LjIxMTUgMTcuNzMxIDE2LjU5MjcgMTcuODM0IDE3LjMwNDIgMTcuODM0QzE3LjgxNzMgMTcuODM0IDE4LjM2NzQgMTcuNjM0MiAxOC4zNzQ1IDE3LjIwMDhDMTguMzc0NSAxNi45MTg2IDE4LjE0MDEgMTYuNzExOSAxNy40NTA2IDE2LjM5NTRDMTYuNzc2IDE2LjA4NTUgMTUuODc0MSAxNS41Njk1IDE1Ljg4ODcgMTQuNjQwM0MxNS44OTYzIDEzLjM4MDkgMTcuMTM1NiAxMi41IDE4Ljg5NTYgMTIuNVpNMTIuMjUxMyAxOS4wODY3SDE0LjAzMzVMMTUuMTQ4IDEyLjYxNzRIMTMuMzY2TDEyLjI1MTMgMTkuMDg2N1pNMjMuNjgzNiAxMi42MTc0SDI1LjA2MjFMMjYuNDk5OSAxOS4wODY2SDI0Ljg0OThDMjQuODQ5OCAxOS4wODY2IDI0LjY4ODMgMTguMzQzMyAyNC42MzcxIDE4LjExNjFIMjIuMzQ5QzIyLjI4MjggMTguMjg4MSAyMS45NzQ5IDE5LjA4NjYgMjEuOTc0OSAxOS4wODY2SDIwLjEwNUwyMi43NTIxIDEzLjE1NDFDMjIuOTM1NiAxMi43MzQzIDIzLjI1ODUgMTIuNjE3NCAyMy42ODM2IDEyLjYxNzRaTTIzLjU3MzUgMTQuOTg0N0MyMy41NzM1IDE0Ljk4NDcgMjMuMDA4OCAxNi40MjMyIDIyLjg2MiAxNi43OTQ4SDI0LjM0MzNDMjQuMjcgMTYuNDcxNCAyMy45MzI2IDE0LjkyMjggMjMuOTMyNiAxNC45MjI4TDIzLjgwOCAxNC4zNjU0QzIzLjc1NTYgMTQuNTA4OSAyMy42Nzk3IDE0LjcwNjMgMjMuNjI4NiAxNC44Mzk0QzIzLjU5MzkgMTQuOTI5NiAyMy41NzA1IDE0Ljk5MDMgMjMuNTczNSAxNC45ODQ3Wk0xMC43NjI1IDEyLjYxNzRMOS4wMTcyIDE3LjAyODhMOC44MjY0OCAxNi4xMzQxTDguODI2NDUgMTYuMTM0TDguODI2NiAxNi4xMzQ0TDguMjAzMjggMTMuMTYxMkM4LjEwMDY2IDEyLjc0OCA3Ljc4NTMgMTIuNjMxIDcuMzk2NjUgMTIuNjE3NEg0LjUyOTMzTDQuNSAxMi43NDgxQzUuMTk5MjcgMTIuOTE1OSA1LjgyNDcxIDEzLjE1NzggNi4zNzI3MyAxMy40NTg1TDcuOTYxMTggMTkuMDc5OEg5Ljg0NTc2TDEyLjY0NyAxMi42MTc0SDEwLjc2MjVaIiBmaWxsPSIjMTQzNENCIi8+Cjwvc3ZnPgo=);\n}\n.tooltip__button--data--provider__amex::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMjYgNGMzLjMxMzcgMCA2IDIuNjg2MjkgNiA2djEyYzAgMy4zMTM3LTIuNjg2MyA2LTYgNmgtMjBjLTMuMzEzNzEgMC01Ljk5OTk5OTAyLTIuNjg2My01Ljk5OTk5ODg4LTZsLjAwMDAwMDUzLTEyYy4wMDAwMDAxNC0zLjMxMzcxIDIuNjg2Mjg4MzUtNiA1Ljk5OTk5ODM1LTZ6IiBmaWxsPSIjMDA2ZmNmIi8+PHBhdGggY2xpcC1ydWxlPSJldmVub2RkIiBkPSJtMzAgMjJ2LTEyYzAtMi4yMDkxNC0xLjc5MDktNC00LTRoLTIwYy0yLjIwOTE0IDAtNCAxLjc5MDg2LTQgNHYxMmMwIDIuMjA5MSAxLjc5MDg2IDQgNCA0aDIwYzIuMjA5MSAwIDQtMS43OTA5IDQtNHptMi0xMmMwLTMuMzEzNzEtMi42ODYzLTYtNi02aC0yMGMtMy4zMTM3MSAwLTUuOTk5OTk4MjEgMi42ODYyOS01Ljk5OTk5ODM1IDZsLS4wMDAwMDA1MyAxMmMtLjAwMDAwMDE0IDMuMzEzNyAyLjY4NjI4ODg4IDYgNS45OTk5OTg4OCA2aDIwYzMuMzEzNyAwIDYtMi42ODYzIDYtNnoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjE4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJtMjYuNTcwMiAxNC45MjY1aDIuMTIwMnYtNC45MjY1aC0yLjMwNzN2LjY4NmwtLjQzNjYtLjY4NmgtMS45OTU1di44NzMxbC0uMzc0Mi0uODczMWgtMy42NzkyYy0uMTI0OCAwLS4yNDk1LjA2MjQtLjM3NDIuMDYyNHMtLjE4NzEuMDYyMy0uMzExOC4xMjQ3Yy0uMTI0Ny4wNjIzLS4xODcxLjA2MjMtLjMxMTguMTI0N3YtLjMxMThoLTEwLjUzOWwtLjMxMTguODEwNy0uMzExODEtLjgxMDdoLTIuNDk0NDN2Ljg3MzFsLS4zNzQxNi0uODczMWgtMS45OTU1NWwtLjg3MzA1IDIuMTIwM3YyLjgwNjJoMS40MzQzbC4yNDk0NC0uNjg2aC40OTg4OWwuMjQ5NDQuNjg2aDEwLjk3NTUzdi0uNjIzNmwuNDM2NS42MjM2aDMuMDU1N3YtLjM3NDJjLjA2MjMuMDYyNC4xODcxLjA2MjQuMjQ5NC4xMjQ4LjA2MjQuMDYyMy4xODcxLjA2MjMuMjQ5NS4xMjQ3LjEyNDcuMDYyMy4yNDk0LjA2MjMuMzc0MS4wNjIzaDIuMjQ1bC4yNDk1LS42ODU5aC40OTg4bC4yNDk1LjY4NTloMy4wNTU3di0uNjIzNnptMy40Mjk4IDYuMjM2MXYtNC42MTQ3aC0xNy4xNDkybC0uNDM2NS42MjM2LS40MzY2LS42MjM2aC00Ljk4ODg0djQuOTI2NWg0Ljk4ODg0bC40MzY2LS42MjM2LjQzNjUuNjIzNmgzLjExOHYtMS4wNjAxaC0uMTI0N2MuNDM2NSAwIC44MTA3LS4wNjI0IDEuMTIyNS0uMTg3MXYxLjMwOTVoMi4yNDV2LS42MjM2bC40MzY1LjYyMzZoOS4yOTE4Yy4zNzQxLS4xMjQ3Ljc0ODMtLjE4NyAxLjA2MDEtLjM3NDF6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTI4LjkzOTkgMTkuOTc3N2gtMS42ODM4di42ODZoMS42MjE0Yy42ODYgMCAxLjEyMjUtLjQzNjYgMS4xMjI1LTEuMDYwMnMtLjM3NDItLjkzNTQtLjk5NzgtLjkzNTRoLS43NDgzYy0uMTg3MSAwLS4zMTE4LS4xMjQ3LS4zMTE4LS4zMTE4cy4xMjQ3LS4zMTE4LjMxMTgtLjMxMThoMS40MzQzbC4zMTE4LS42ODU5aC0xLjY4MzdjLS42ODYgMC0xLjEyMjUuNDM2NS0xLjEyMjUuOTk3NyAwIC42MjM2LjM3NDEuOTM1NC45OTc3LjkzNTRoLjc0ODRjLjE4NyAwIC4zMTE4LjEyNDguMzExOC4zMTE4LjA2MjMuMjQ5NS0uMDYyNC4zNzQyLS4zMTE4LjM3NDJ6bS0zLjA1NTcgMGgtMS42ODM4di42ODZoMS42MjE0Yy42ODYgMCAxLjEyMjUtLjQzNjYgMS4xMjI1LTEuMDYwMnMtLjM3NDEtLjkzNTQtLjk5NzgtLjkzNTRoLS43NDgzYy0uMTg3MSAwLS4zMTE4LS4xMjQ3LS4zMTE4LS4zMTE4cy4xMjQ3LS4zMTE4LjMxMTgtLjMxMThoMS40MzQzbC4zMTE4LS42ODU5aC0xLjY4MzdjLS42ODYgMC0xLjEyMjUuNDM2NS0xLjEyMjUuOTk3NyAwIC42MjM2LjM3NDEuOTM1NC45OTc4LjkzNTRoLjc0ODNjLjE4NzEgMCAuMzExOC4xMjQ4LjMxMTguMzExOC4wNjI0LjI0OTUtLjEyNDcuMzc0Mi0uMzExOC4zNzQyem0tMi4xODI2LTEuOTk1NXYtLjY4NmgtMi42MTkydjMuMzA1MWgyLjYxOTJ2LS42ODZoLTEuODcwOXYtLjY4NTloMS44MDg1di0uNjg2aC0xLjgwODV2LS42MjM2aDEuODcwOXptLTQuMjQwNiAwYy4zMTE4IDAgLjQzNjYuMTg3LjQzNjYuMzc0MXMtLjEyNDguMzc0Mi0uNDM2Ni4zNzQyaC0uOTM1NHYtLjgxMDd6bS0uOTM1NCAxLjQzNDNoLjM3NDJsLjk5NzggMS4xODQ4aC45MzU0bC0xLjEyMjUtMS4yNDcyYy41NjEyLS4xMjQ3Ljg3My0uNDk4OS44NzMtLjk5NzggMC0uNjIzNi0uNDM2NS0xLjA2MDEtMS4xMjI1LTEuMDYwMWgtMS43NDYxdjMuMzA1MWguNzQ4NHptLTEuOTk1NS0uOTk3OGMwIC4yNDk0LS4xMjQ4LjQzNjUtLjQzNjYuNDM2NWgtLjk5Nzd2LS44NzNoLjkzNTRjLjMxMTggMCAuNDk4OS4xODcuNDk4OS40MzY1em0tMi4xODI3LTEuMTIyNXYzLjMwNTFoLjc0ODR2LTEuMTIyNWguOTk3N2MuNjg2IDAgMS4xODQ5LS40MzY1IDEuMTg0OS0xLjEyMjUgMC0uNjIzNi0uNDM2NS0xLjEyMjUtMS4xMjI1LTEuMTIyNXptLTEuMTIyNSAzLjMwNTFoLjkzNTVsLTEuMzA5Ni0xLjY4MzcgMS4zMDk2LTEuNjIxNGgtLjkzNTVsLS44MTA2IDEuMDYwMS0uODEwNy0xLjA2MDFoLS45MzU0bDEuMzA5NSAxLjYyMTQtMS4zMDk1IDEuNjIxNGguOTM1NGwuODEwNy0xLjA2MDJ6bS0yLjgwNjItMi42MTkxdi0uNjg2aC0yLjYxOTE1djMuMzA1MWgyLjYxOTE1di0uNjg2aC0xLjg3MDgydi0uNjg1OWgxLjgwODQydi0uNjg2aC0xLjgwODQydi0uNjIzNmgxLjg3MDgyem0xNS4xNTM3LTUuODYyIDEuMzA5NiAxLjk5NTZoLjkzNTR2LTMuMzA1MWgtLjc0ODR2Mi4xODI2bC0uMTg3LS4zMTE4LTEuMTg0OS0xLjg3MDhoLS45OTc4djMuMzA1MWguNzQ4NHYtMi4yNDV6bS0zLjI0MjgtLjA2MjMuMjQ5NS0uNjg2LjI0OTQuNjg2LjMxMTguNzQ4M2gtMS4xMjI1em0xLjMwOTYgMi4wNTc5aC44MTA3bC0xLjQzNDMtMy4zMDUxaC0uOTk3OGwtMS40MzQzIDMuMzA1MWguODEwN2wuMzExOC0uNjg2aDEuNjIxNHptLTMuNDkyMiAwIC4zMTE4LS42ODZoLS4xODcxYy0uNTYxMiAwLS44NzMtLjM3NDEtLjg3My0uOTM1NHYtLjA2MjRjMC0uNTYxMi4zMTE4LS45MzU0Ljg3My0uOTM1NGguODEwN3YtLjY4NTloLS44NzNjLS45OTc4IDAtMS41NTkxLjY4NTktMS41NTkxIDEuNjIxM3YuMDYyNGMwIC45OTc4LjU2MTMgMS42MjE0IDEuNDk2NyAxLjYyMTR6bS0yLjgwNjIgMGguNzQ4M3YtMy4yNDI4aC0uNzQ4M3ptLTEuNjIxNC0yLjYxOTJjLjMxMTggMCAuNDM2NS4xODcxLjQzNjUuMzc0MnMtLjEyNDcuMzc0Mi0uNDM2NS4zNzQyaC0uOTM1NHYtLjgxMDd6bS0uOTM1NCAxLjQzNDNoLjM3NDFsLjk5NzggMS4xODQ5aC45MzU0bC0xLjEyMjUtMS4yNDcyYy41NjEzLS4xMjQ3Ljg3MzEtLjQ5ODkuODczMS0uOTk3OCAwLS42MjM2LS40MzY2LTEuMDYwMS0xLjEyMjUtMS4wNjAxaC0xLjc0NjF2My4zMDUxaC43NDgzem0tMS4zNzItMS40MzQzdi0uNjg1OWgtMi42MTkxdjMuMzA1MWgyLjYxOTF2LS42ODZoLTEuODcwOHYtLjY4NTloMS44MDg1di0uNjg2aC0xLjgwODV2LS42MjM2aDEuODcwOHptLTUuNjc0ODEgMi42MTkyaC42ODU5N2wuOTM1NDEtMi42ODE1djIuNjgxNWguNzQ4MzN2LTMuMzA1MWgtMS4yNDcyMWwtLjc0ODMzIDIuMjQ1LS43NDgzMy0yLjI0NWgtMS4yNDcyMnYzLjMwNTFoLjc0ODMzdi0yLjY4MTV6bS00LjA1MzQ1LTIuMDU3OS4yNDk0NC0uNjg2LjI0OTQ1LjY4Ni4zMTE4Ljc0ODNoLTEuMTIyNDl6bTEuMzA5NTggMi4wNTc5aC44MTA2OWwtMS40MzQzLTMuMzA1MWgtLjkzNTQxbC0xLjQzNDMgMy4zMDUxaC44MTA2OWwuMzExOC0uNjg2aDEuNjIxMzl6IiBmaWxsPSIjMDA2ZmNmIi8+PC9zdmc+);\n}\n.tooltip__button--data--identities::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTYgOS41YTQgNCAwIDEgMS04IDAgNCA0IDAgMCAxIDggMG0tMS41IDBhMi41IDIuNSAwIDEgMS01IDAgMi41IDIuNSAwIDAgMSA1IDAiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgogIDxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDIyYzUuNTIzIDAgMTAtNC40NzcgMTAtMTBTMTcuNTIzIDIgMTIgMiAyIDYuNDc3IDIgMTJzNC40NzcgMTAgMTAgMTBtMC0xLjVhOC40NyA4LjQ3IDAgMCAwIDUuNzA2LTIuMkE2LjU4IDYuNTggMCAwIDAgMTIgMTVhNi41OCA2LjU4IDAgMCAwLTUuNzA1IDMuM0E4LjQ3IDguNDcgMCAwIDAgMTIgMjAuNW0wLTdhOC4wNyA4LjA3IDAgMCAxIDYuNzYgMy42NTMgOC41IDguNSAwIDEgMC0xMy41MiAwQTguMDcgOC4wNyAwIDAgMSAxMiAxMy41IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+Cg==);\n}\n.tooltip__button--data--credentials.tooltip__button--data--bitwarden::before,\n.tooltip__button--data--credentials__current.tooltip__button--data--bitwarden::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTkuMzM3IDNINC42ODRjLS40MTgtLjAxNC0uODA3LjMyNy0uODA5Ljc0OHY5LjAxYy4wMDQuNjg2LjE1IDEuMzY1LjQyOCAyIC41MjggMS4yOSAxLjQ2NSAyLjM4IDIuNTQ1IDMuMjUzLjk2NC44MzggMi4wNDUgMS41IDMuMTY0IDIuMTEuNTIzLjI4NSAxLjM0OC44NzkgMS45NzQuODc5LjY0MyAwIDEuNDYtLjU4NSAxLjk5OS0uODc5IDEuMTItLjYxMSAyLjE5MS0xLjI4MyAzLjE2My0yLjExIDEuMDgtLjg5MyAxLjk5NC0xLjk2IDIuNTQ2LTMuMjUzYTUuMDQ4IDUuMDQ4IDAgMCAwIC40MjgtMnYtOS4wMWMuMDQ0LS40My0uMzgtLjc1NC0uNzg1LS43NDhaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8cGF0aCBmaWxsPSJ1cmwoI0JpdHdhcmRlbi1Db2xvci0yNF9zdmdfX2EpIiBkPSJNNS4wMzMgMmgxMy45NjVhMi4wNDcgMi4wNDcgMCAwIDEgMS4zNzMuNTI4Yy4zNjYuMzMuNjYyLjg1NC42MjYgMS40OXY4LjcyN2E2LjIzOCA2LjIzOCAwIDAgMS0uNTEgMi40MzFjLS42MjEgMS40NzYtMS42MyAyLjY2LTIuNzU4IDMuNjEzLS45NTMuODI2LTEuOTgxIDEuNDkzLTMuMDIgMi4wODJsLS4yMDguMTE3Yy0uMTAzLjA1Ny0uMjIuMTI5LS4zOS4yMzFhMTEuMyAxMS4zIDAgMCAxLS41NDguMzE1Yy0uMzU3LjE5LS45NC40NjYtMS41NzYuNDY2LS42MzUgMC0xLjIyLS4yODUtMS41Ny0uNDcyYTExLjYzIDExLjYzIDAgMCAxLS41NDItLjMxNGMtLjEyNi0uMDc2LS4yMjEtLjEzNS0uMzAyLS4xODJsLS4wNzctLjA0NGMtMS4wOTItLjYwOC0yLjIwOC0xLjI5OS0zLjIyMi0yLjE5NC0xLjEzMS0uOTM1LTIuMTY5LTIuMTQ1LTIuNzY5LTMuNjNBNi4yMzYgNi4yMzYgMCAwIDEgMyAxMi43NDVWMy45NzNjLjAwNC0xLjE0Ny45ODYtMS45OSAyLjAzMy0xLjk3MlptLS4wMTIgMS4yNWMtLjM5OC0uMDE0LS43Ny4zMTgtLjc3MS43Mjd2OC43NmMuMDA0LjY2Ny4xNDMgMS4zMjcuNDA4IDEuOTQ1LjUwMyAxLjI1NCAxLjM5OCAyLjMxNCAyLjQyOCAzLjE2Mi45Mi44MTQgMS45NSAxLjQ1NyAzLjAxOCAyLjA1MS40OTguMjc4IDEuMjg2Ljg1NSAxLjg4My44NTUuNjEzIDAgMS4zOTMtLjU3IDEuOTA2LS44NTUgMS4wNjgtLjU5NCAyLjA5LTEuMjQ3IDMuMDE4LTIuMDUgMS4wMjktLjg2OSAxLjkwMi0xLjkwNyAyLjQyOC0zLjE2M2E0Ljk4NiA0Ljk4NiAwIDAgMCAuNDA4LTEuOTQ1di04Ljc2Yy4wNDItLjQxNy0uMzYyLS43MzMtLjc0OS0uNzI3SDUuMDIxWm0xMi45NzYgOS40NzdjLS4wMDIuNDMtLjA5Mi44NTgtLjI2NiAxLjI2My0uNDI4Ljk5NC0xLjEyNiAxLjgyMi0xLjk0OCAyLjUxNmExNi4zNCAxNi4zNCAwIDAgMS0yLjU1MyAxLjc1NWMtLjQxLjIzLS44LjUwNy0xLjIzLjdWNS4wMDFoNS45OTd2Ny43MjZaIi8+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9IkJpdHdhcmRlbi1Db2xvci0yNF9zdmdfX2EiIHgxPSIxMiIgeDI9IjEyIiB5MT0iMiIgeTI9IjIyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM1NTdGRjMiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMkI1NUNBIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KPC9zdmc+Cg==);\n}\n.tooltip__button--data--credentials.tooltip__button--data--bitwarden#provider_locked::before,\n.tooltip__button--data--credentials__current.tooltip__button--data--bitwarden#provider_locked::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMiIgeDI9IjEyIiB5MT0iMiIgeTI9IjIxLjg0MSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjNTU3ZmYzIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMmI1NWNhIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTciIHgyPSIxNyIgeTE9IjE5LjI1IiB5Mj0iMTEuNjI1Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM4ODgiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNhYWEiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNi45ODYiIHgyPSIxNi45ODYiIHkxPSIxNy4wMzciIHkyPSIyMS4xNTQiPjxzdG9wIG9mZnNldD0iLjAwOCIgc3RvcC1jb2xvcj0iI2UyYTQxMiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2MxODAxMCIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZD0ibTE5LjMzNyAzYy40MDUtLjAwNi44MjkuMzE5Ljc4NS43NDh2NC4yNTJjMCAuNTY4LS4zMjYgMi44LS4zMjYgMi44YTQuMjMyIDQuMjMyIDAgMCAwIC0yLjY4Ny0xLjA0OGwtLjEwOS0uMDAyYTQuMjUgNC4yNSAwIDAgMCAtNC4yNSA0LjI1di44NjVhMi43OTggMi43OTggMCAwIDAgLTIgMi42ODJ2Mi43NDhzLS41My0uMDYtLjczOC0uMTc0Yy0xLjExOS0uNjExLTIuMi0xLjI3Mi0zLjE2My0yLjExLTEuMDgtLjg3Mi0yLjAxOS0xLjk2My0yLjU0Ni0zLjI1M2E1LjA0OCA1LjA0OCAwIDAgMSAtLjQyOC0ydi05LjAxYy4wMDItLjQyMS4zOS0uNzYyLjgwOS0uNzQ3aDE0LjY1M3oiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMTkuMTkgMi4wMWMuNDQ2LjA0Ljg2My4yMyAxLjE4MS41MTguMzY2LjMzLjY2Mi44NTQuNjI2IDEuNDl2Ni4zMjJjMCAuNDM1LS45MTguNjk5LTEuMjUuNDE4di02Ljc4Yy4wNDItLjQxOC0uMzYzLS43MzMtLjc0OS0uNzI3aC0xMy45NzdjLS4zOTgtLjAxNS0uNzcuMzE3LS43NzEuNzI2djguNzYxYy4wMDQuNjY3LjE0MiAxLjMyNy40MDggMS45NDQuNTAzIDEuMjU0IDEuMzk4IDIuMzE0IDIuNDI4IDMuMTYyLjkyLjgxNCAxLjk1IDEuNDU3IDMuMDE4IDIuMDUxLjE4My4xMDMuNDA4LjI0NS42NDYuMzg1IDAgLjU2NC0uNTgzIDEuMTAyLTEuMDcuODE1YTEyLjgzMyAxMi44MzMgMCAwIDAgLS4xODQtLjEwN2MtMS4wOTItLjYwOC0yLjIwOC0xLjMtMy4yMjMtMi4xOTQtMS4xMy0uOTM1LTIuMTY3LTIuMTQ1LTIuNzY3LTMuNjNhNi4yMzggNi4yMzggMCAwIDEgLS41MDYtMi40MTl2LTguNzcyYy4wMDQtMS4xNDcuOTg2LTEuOTkgMi4wMzMtMS45NzFoMTMuOTY1eiIgZmlsbD0idXJsKCNhKSIvPjxwYXRoIGQ9Im0xNy45OTcgOS44NjhhNC4yNTcgNC4yNTcgMCAwIDAgLS44ODgtLjExNmwtLjEwOS0uMDAyYTQuMjUgNC4yNSAwIDAgMCAtNC4yNSA0LjI1di44NjVjLS4yNy4wOC0uNTIxLjItLjc1LjM1MnYtMTAuMjE1aDUuOTk3djQuODY3eiIgZmlsbD0idXJsKCNhKSIvPjxnIHN0cm9rZS13aWR0aD0iMS4yNSI+PHJlY3QgaGVpZ2h0PSI3LjYyNSIgcng9IjIuMzc1IiBzdHJva2U9InVybCgjYikiIHdpZHRoPSI0Ljc1IiB4PSIxNC42MjUiIHk9IjExLjYyNSIvPjxwYXRoIGQ9Im0xMi42MjUgMTcuNTQ2YS45Mi45MiAwIDAgMSAuOTIxLS45MjFoNi45MDhhLjkyLjkyIDAgMCAxIC45MjEuOTIxdjIuOTA4YS45MjEuOTIxIDAgMCAxIC0uOTIxLjkyMWgtNi45MDhhLjkyMS45MjEgMCAwIDEgLS45MjEtLjkyMXoiIGZpbGw9IiNmYzMiIHN0cm9rZT0idXJsKCNjKSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9nPjwvc3ZnPg==);\n}\nhr {\n display: block;\n margin: var(--hr-margin);\n border: none;\n border-top: 1px solid rgba(0, 0, 0, .1);\n}\nhr:first-child {\n display: none;\n}\n@media (prefers-color-scheme: dark) {\n hr {\n border-top: 1px solid rgba(255, 255, 255, .2);\n }\n}\n#privateAddress {\n align-items: flex-start;\n}\n#personalAddress::before,\n#privateAddress::before,\n#incontextSignup::before,\n#personalAddress.currentFocus::before,\n#personalAddress:hover::before,\n#privateAddress.currentFocus::before,\n#privateAddress:hover::before {\n filter: none;\n background-size: 24px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iI0RFNTgzMyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTIgMjJjNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMxNy41MjMgMiAxMiAyIDIgNi40NzcgMiAxMnM0LjQ3NyAxMCAxMCAxMCIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iI0RERCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTMuNDA2IDE5LjQ2YzAtLjA3Ny4wMi0uMDk1LS4yMjktLjU5LS42Ni0xLjMyMi0xLjMyMy0zLjE4NS0xLjAyMS00LjM4Ny4wNTUtLjIxOC0uNjIyLTguMDg1LTEuMS04LjMzOC0uNTMyLS4yODMtMS4xODYtLjczMy0xLjc4NC0uODMzLS4zMDQtLjA0OC0uNzAyLS4wMjUtMS4wMTMuMDE3LS4wNTYuMDA3LS4wNTguMTA2LS4wMDUuMTI0LjIwNC4wNy40NTIuMTkuNTk5LjM3MS4wMjcuMDM1LS4wMS4wODktLjA1NC4wOS0uMTM4LjAwNi0uMzg4LjA2My0uNzE4LjM0NC0uMDM4LjAzMi0uMDA2LjA5Mi4wNDMuMDgyLjcwOS0uMTQgMS40MzMtLjA3IDEuODYuMzE3LjAyNy4wMjUuMDEzLjA3LS4wMjQuMDgtMy43MDIgMS4wMDYtMi45NjkgNC4yMjctMS45ODMgOC4xNzkuODc4IDMuNTIgMS4yMDggNC42NTUgMS4zMTIgNXEuMDE2LjA1Mi4wNjYuMDczYzEuMjc1LjUwOCA0LjA1MS41MyA0LjA1MS0uMzMzdi0uMTk1WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEzLjkxNCAyMC4yMDNjLS40NDkuMTc2LTEuMzI4LjI1NC0xLjgzNi4yNTQtLjc0NCAwLTEuODE2LS4xMTctMi4yMDctLjI5M2E4OCA4OCAwIDAgMS0xLjY3Ni01Ljk2NmwtLjA3LS4yODZ2LS4wMDJjLS44NDgtMy40NjItMS41NC02LjI5IDIuMjU0LTcuMTc4LjAzNS0uMDA4LjA1Mi0uMDUuMDI5LS4wNzctLjQzNi0uNTE2LTEuMjUxLS42ODYtMi4yODItLjMzLS4wNDMuMDE1LS4wOC0uMDI4LS4wNTMtLjA2NC4yMDItLjI3OS41OTctLjQ5My43OTItLjU4Ny4wNC0uMDIuMDM4LS4wNzktLjAwNC0uMDkyYTQgNCAwIDAgMC0uNTktLjE0Yy0uMDU4LS4wMS0uMDYzLS4xMDktLjAwNS0uMTE3IDEuNDYyLS4xOTYgMi45ODkuMjQzIDMuNzU1IDEuMjA3YS4wNS4wNSAwIDAgMCAuMDI5LjAxOGMyLjgwNS42MDMgMy4wMDYgNS4wMzcgMi42ODIgNS4yNC0uMDYzLjAzOS0uMjY3LjAxNi0uNTM3LS4wMTQtMS4wOTEtLjEyMi0zLjI1Mi0uMzY0LTEuNDY5IDIuOTYuMDE4LjAzMy0uMDA1LjA3Ny0uMDQyLjA4Mi0xLjAwNi4xNTcuMjgzIDMuMzA5IDEuMjMgNS4zODUiLz4KICA8cGF0aCBmaWxsPSIjM0NBODJCIiBkPSJNMTUuMTY5IDE2LjE3MmMtLjIxMy0uMS0xLjAzNS40OS0xLjU4Ljk0Mi0uMTE0LS4xNjItLjMyOC0uMjc5LS44MTMtLjE5NS0uNDI0LjA3NC0uNjU4LjE3Ny0uNzYyLjM1My0uNjctLjI1NC0xLjc5NS0uNjQ2LTIuMDY3LS4yNjctLjI5Ny40MTMuMDc0IDIuMzY4LjQ3IDIuNjIyLjIwNS4xMzMgMS4xOTEtLjUwMSAxLjcwNi0uOTM4LjA4My4xMTcuMjE3LjE4NC40OTIuMTc4LjQxNi0uMDEgMS4wOS0uMTA3IDEuMTk1LS4zYS4yLjIgMCAwIDAgLjAxNy0uMDQyYy41MjkuMTk4IDEuNDYuNDA3IDEuNjY5LjM3Ni41NDItLjA4MS0uMDc2LTIuNjEzLS4zMjctMi43M1oiLz4KICA8cGF0aCBmaWxsPSIjNENCQTNDIiBkPSJNMTMuNjQgMTcuMTcycS4wMzMuMDYuMDU1LjEyNWMuMDc2LjIxLjE5OS44ODIuMTA2IDEuMDQ4cy0uNjk3LjI0Ni0xLjA3LjI1MmMtLjM3Mi4wMDctLjQ1Ni0uMTMtLjUzMS0uMzQtLjA2LS4xNy0uMDktLjU2Ni0uMDktLjc5NC0uMDE1LS4zMzcuMTA4LS40NTUuNjc3LS41NDcuNDIyLS4wNjkuNjQ0LjAxLjc3My4xNDYuNTk4LS40NDYgMS41OTYtMS4wNzYgMS42OTMtLjk2LjQ4Ni41NzMuNTQ3IDEuOTQuNDQyIDIuNDktLjAzNC4xOC0xLjY0MS0uMTc4LTEuNjQxLS4zNzIgMC0uODA1LS4yMS0xLjAyNi0uNDE1LTEuMDQ4Wm0tMy41Mi0uMjUyYy4xMy0uMjA4IDEuMTk4LjA1IDEuNzg0LjMxMiAwIDAtLjEyLjU0NS4wNzEgMS4xODguMDU2LjE4OC0xLjM0OCAxLjAyNC0xLjUzMS44OC0uMjEyLS4xNjYtLjYwMi0xLjk0Mi0uMzI1LTIuMzhaIi8+CiAgPHBhdGggZmlsbD0iI0ZDMyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNjM2IDEyLjY4OGMuMDg2LS4zNzUuNDg5LTEuMDgzIDEuOTI1LTEuMDY2LjcyNi0uMDAyIDEuNjI5IDAgMi4yMjctLjA2OGE4IDggMCAwIDAgMS45ODgtLjQ4M2MuNjIyLS4yMzcuODQzLS4xODUuOTItLjA0My4wODUuMTU2LS4wMTUuNDI2LS4yMzIuNjczLS40MTUuNDc0LTEuMTYyLjg0MS0yLjQ4Ljk1LTEuMzE3LjEwOS0yLjE5LS4yNDUtMi41NjYuMzMtLjE2Mi4yNS0uMDM3LjgzNCAxLjIzOCAxLjAxOCAxLjcyMi4yNDkgMy4xMzYtLjMgMy4zMS4wMzIuMTc1LjMzLS44MzEgMS4wMDQtMi41NTYgMS4wMThzLTIuODAyLS42MDQtMy4xODQtLjkxYy0uNDg1LS4zOS0uNzAyLS45NTktLjU5LTEuNDVaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8ZyBmaWxsPSIjMTQzMDdFIiBvcGFjaXR5PSIuOCI+CiAgICA8cGF0aCBkPSJNMTIuODMzIDguNTgyYy4wOTYtLjE1Ny4zMS0uMjc5LjY1OC0uMjc5LjM1IDAgLjUxNC4xNC42MjcuMjk0LjAyNC4wMzItLjAxMi4wNjktLjA0OC4wNTNsLS4wMjYtLjAxMWExLjMgMS4zIDAgMCAwLS41NTMtLjEyOCAxLjE0IDEuMTQgMCAwIDAtLjU4Mi4xM2MtLjAzOS4wMi0uMS0uMDIxLS4wNzYtLjA1OW0tMy45MzEuMjAyYTEuMjUgMS4yNSAwIDAgMSAuNzk0LS4wNzljLjA0LjAxLjA2Ny0uMDMzLjAzNS0uMDU5LS4xNDYtLjExOC0uNDczLS4yNjQtLjktLjEwNS0uMzguMTQyLS41Ni40MzctLjU2MS42MyAwIC4wNDcuMDk0LjA1LjExOC4wMTIuMDY2LS4xMDUuMTc1LS4yNTcuNTE0LS40WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTMuNzg4IDEwLjczOGEuNTQyLjU0MiAwIDEgMS0uMDAyLTEuMDguNTQyLjU0MiAwIDAgMSAuMDAyIDEuMDhtLjM4Mi0uNzJhLjE0LjE0IDAgMCAwLS4yODEgMCAuMTQuMTQgMCAwIDAgLjI4MSAwbS0zLjk3OS41NTJhLjYzMi42MzIgMCAxIDEtMS4yNjMgMCAuNjMyLjYzMiAwIDAgMSAxLjI2MyAwbS0uMTg2LS4yMDhhLjE2NC4xNjQgMCAwIDAtLjMyOCAwIC4xNjQuMTY0IDAgMCAwIC4zMjggMCIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPC9nPgogIDxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDIwYTggOCAwIDEgMCAwLTE2IDggOCAwIDAgMCAwIDE2bTAgMWE5IDkgMCAxIDAgMC0xOCA5IDkgMCAwIDAgMCAxOCIgY2xpcC1ydWxlPSJldmVub2RkIi8+Cjwvc3ZnPgo=);\n}\n.tooltip__button--email {\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n font-size: 14px;\n padding: 4px 8px;\n}\n.tooltip__button--email__primary-text {\n font-weight: bold;\n}\n.tooltip__button--email__secondary-text {\n font-size: 12px;\n}\n:not(.top-autofill) .tooltip--email-signup {\n text-align: left;\n color: #222;\n padding: 16px 20px;\n width: 380px;\n}\n.tooltip--email-signup h1 {\n font-weight: 700;\n font-size: 16px;\n line-height: 1.5;\n margin: 0;\n}\n.tooltip--email-signup p {\n font-weight: 400;\n font-size: 14px;\n line-height: 1.4;\n}\n.notice-controls {\n display: flex;\n}\n.tooltip--email-signup .notice-controls > * {\n border-radius: 8px;\n border: 0;\n cursor: pointer;\n display: inline-block;\n font-family: inherit;\n font-style: normal;\n font-weight: bold;\n padding: 8px 12px;\n text-decoration: none;\n}\n.notice-controls .ghost {\n margin-left: 1rem;\n}\n.tooltip--email-signup a.primary {\n background: #3969EF;\n color: #fff;\n}\n.tooltip--email-signup a.primary:hover,\n.tooltip--email-signup a.primary:focus {\n background: #2b55ca;\n}\n.tooltip--email-signup a.primary:active {\n background: #1e42a4;\n}\n.tooltip--email-signup button.ghost {\n background: transparent;\n color: #3969EF;\n}\n.tooltip--email-signup button.ghost:hover,\n.tooltip--email-signup button.ghost:focus {\n background-color: rgba(0, 0, 0, 0.06);\n color: #2b55ca;\n}\n.tooltip--email-signup button.ghost:active {\n background-color: rgba(0, 0, 0, 0.12);\n color: #1e42a4;\n}\n.tooltip--email-signup button.close-tooltip {\n background-color: transparent;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMiAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjI5Mjg5NCAwLjY1NjkwN0MwLjY4MzQxOCAwLjI2NjM4MyAxLjMxNjU4IDAuMjY2MzgzIDEuNzA3MTEgMC42NTY5MDdMNiA0Ljk0OThMMTAuMjkyOSAwLjY1NjkwN0MxMC42ODM0IDAuMjY2MzgzIDExLjMxNjYgMC4yNjYzODMgMTEuNzA3MSAwLjY1NjkwN0MxMi4wOTc2IDEuMDQ3NDMgMTIuMDk3NiAxLjY4MDYgMTEuNzA3MSAyLjA3MTEyTDcuNDE0MjEgNi4zNjQwMUwxMS43MDcxIDEwLjY1NjlDMTIuMDk3NiAxMS4wNDc0IDEyLjA5NzYgMTEuNjgwNiAxMS43MDcxIDEyLjA3MTFDMTEuMzE2NiAxMi40NjE2IDEwLjY4MzQgMTIuNDYxNiAxMC4yOTI5IDEyLjA3MTFMNiA3Ljc3ODIzTDEuNzA3MTEgMTIuMDcxMUMxLjMxNjU4IDEyLjQ2MTYgMC42ODM0MTcgMTIuNDYxNiAwLjI5Mjg5MyAxMi4wNzExQy0wLjA5NzYzMTEgMTEuNjgwNiAtMC4wOTc2MzExIDExLjA0NzQgMC4yOTI4OTMgMTAuNjU2OUw0LjU4NTc5IDYuMzY0MDFMMC4yOTI4OTQgMi4wNzExMkMtMC4wOTc2MzA2IDEuNjgwNiAtMC4wOTc2MzA2IDEuMDQ3NDMgMC4yOTI4OTQgMC42NTY5MDdaIiBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0Ii8+Cjwvc3ZnPgo=);\n background-position: center center;\n background-repeat: no-repeat;\n border: 0;\n cursor: pointer;\n padding: 16px;\n position: absolute;\n right: 12px;\n top: 12px;\n}\n.tooltip__button--credentials-import::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgZD0iTTE0Ljk5OCAyQTcuMDA0IDcuMDA0IDAgMCAxIDIyIDkuMDA2YzAgMi0uODM4IDMuODA2LTIuMTgyIDUuMDgyYS42Ni42NiAwIDAgMS0uNzY4LjA5MmMtLjQ3Mi0uMjUxLS41MDctLjkzLS4xMzItMS4zMUE1LjUgNS41IDAgMCAwIDIwLjUgOS4wMDYgNS41MDQgNS41MDQgMCAwIDAgMTQuOTk4IDMuNWE1LjUwNCA1LjUwNCAwIDAgMC01LjMzOCA2Ljg0N2wuMDI1LjExMmMuMTAzLjU0NC0uMDE4IDEuMTU2LS40NCAxLjYxMWwtLjA0Ni4wNDctNS4wNCA1LjA0M2EyLjI1IDIuMjUgMCAwIDAtLjY1OSAxLjYwMmwuMDAzLjQ5NC4wMDIuMDY1QTEuMjUgMS4yNSAwIDAgMCA0Ljc1MyAyMC41aC45OTNhLjc1Ljc1IDAgMCAwIC43NS0uNzV2LS43MzRhMS41IDEuNSAwIDAgMSAxLjUtMS41aC45ODJhLjUuNSAwIDAgMCAuMzU0LS4xNDdsMS4xNzgtMS4xNzhhLjczNi43MzYgMCAwIDEgMS4wNjIgMS4wMmwtLjUzMi41Ny0uNjQ3LjY0OWEyIDIgMCAwIDEtMS40MTUuNTg2aC0uOTgydi43MzRBMi4yNSAyLjI1IDAgMCAxIDUuNzQ2IDIyaC0uOTkzYTIuNzUgMi43NSAwIDAgMS0yLjc0Ni0yLjU5NWwtLjAwNC0uMTRMMiAxOC43N2EzLjc1IDMuNzUgMCAwIDEgMS4wOTgtMi42N2w1LjA0LTUuMDQ0LjAyMi0uMDI1YS4zNi4zNiAwIDAgMCAuMDU2LS4yNmwtLjAxMS0uMDZBNy4wMDQgNy4wMDQgMCAwIDEgMTQuOTk4IDIiLz4KICA8cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii45IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS41IDZhMi41IDIuNSAwIDEgMSAwIDUgMi41IDIuNSAwIDAgMSAwLTVtMCAxLjVhMSAxIDAgMSAwIDAgMiAxIDEgMCAwIDAgMC0yIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTMuMDAzIDE2LjE5cTAtLjAzLjAwMy0uMDU4YTEgMSAwIDAgMSAuMDE5LS4wOTdsLjAxLS4wNGExIDEgMCAwIDEgLjA0Ni0uMTEybC4wMDgtLjAxOS4wMDMtLjAwNi4wMDYtLjAwOWExIDEgMCAwIDEgLjA2NS0uMDk2bC4wMDgtLjAxMS4wMDMtLjAwNCAzLjEyNS0zLjc1YS43NS43NSAwIDAgMSAxLjE1Mi45NjFsLTIuMTI2IDIuNTVoNS4xNDRhLjc1Ljc1IDAgMCAxIDAgMS41aC01LjA5MmwyLjA3NCAyLjQ5LjA0Ni4wNmEuNzUuNzUgMCAwIDEtMS4xNDYuOTU2bC0uMDUyLS4wNTYtMy4xMjUtMy43NS0uMDAzLS4wMDMtLjAxNi0uMDIxLS4wMjctLjAzOC0uMDItLjAzNi0uMDM1LS4wNjNhLjguOCAwIDAgMS0uMDctLjI3MXoiLz4KPC9zdmc+Cg==);\n}\n.truncate {\n display: block;\n width: 0;\n min-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: 1.25;\n}\n'; + var autofill_tooltip_styles_default = '/* src/UI/styles/autofill-tooltip-styles.css */\n:root {\n color-scheme: light dark;\n}\n:host {\n --t-text-primary: #1C1F21;\n --t-text-secondary: rgba(28, 31, 33, 0.72);\n --t-text-primary-dark: rgba(255, 255, 255, .84);\n --t-text-secondary-dark: rgba(255, 255, 255, .60);\n --t-backdrop-mac: #F2F0F0;\n --t-backdrop-mac-dark: #646264;\n --t-backdrop-windows: #FFF;\n --t-backdrop-windows-dark: #333;\n --t-mac-interactive: #3969EF;\n --t-mac-interactive-text: #FFF;\n --t-windows-interactive: #f0f0f0;\n --t-windows-interactive-dark: #3f3f3f;\n --color-primary: var(--t-text-primary);\n --color-secondary: var(--t-text-secondary);\n --color-primary-dark: var(--t-text-primary-dark);\n --color-secondary-dark: var(--t-text-secondary-dark);\n --bg: var(--t-backdrop-mac);\n --bg-dark: var(--t-backdrop-mac-dark);\n --font-size-primary: 13px;\n --font-size-secondary: 11px;\n --font-weight: 500;\n --padding: 6px;\n --hr-margin: 5px 9px;\n --border-radius: 4px;\n --hover-color-primary: var(--t-mac-interactive-text);\n --hover-color-secondary: var(--t-mac-interactive-text);\n --hover-color-primary-dark: var(--t-mac-interactive-text);\n --hover-color-secondary-dark: var(--t-mac-interactive-text);\n --hover-bg: var(--t-mac-interactive);\n --hover-bg-dark: var(--t-mac-interactive);\n --hover-effect: invert(100%);\n --hover-effect-dark: invert(100%);\n --top-autofill-min-height: 100vh;\n}\n:host:has([data-platform=windows]) {\n --bg: var(--t-backdrop-windows);\n --bg-dark: var(--t-backdrop-windows-dark);\n --font-size-primary: 14px;\n --font-size-secondary: 12px;\n --font-weight: 400;\n --padding: 0px;\n --hr-margin: 4px 0px;\n --border-radius: 3px;\n --hover-color-primary: var(--t-text-primary);\n --hover-color-secondary: var(--t-text-secondary);\n --hover-color-primary-dark: var(--t-text-primary-dark);\n --hover-color-secondary-dark: var(--t-text-secondary-dark);\n --hover-bg: var(--t-windows-interactive);\n --hover-bg-dark: var(--t-windows-interactive-dark);\n --hover-effect: none;\n --hover-effect-dark: invert(100%);\n --top-autofill-min-height: auto;\n}\n.wrapper *,\n.wrapper *::before,\n.wrapper *::after {\n box-sizing: border-box;\n}\n.wrapper {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 2147483647;\n padding: 0;\n font-family: system-ui;\n -webkit-font-smoothing: antialiased;\n}\n.wrapper:not(.top-autofill) .tooltip {\n position: absolute;\n width: 300px;\n max-width: calc(100vw - 25px);\n transform: translate(-1000px, -1000px);\n z-index: 2147483647;\n}\n.tooltip--data,\n#topAutofill {\n background-color: var(--bg);\n}\n@media (prefers-color-scheme: dark) {\n .tooltip--data,\n #topAutofill {\n background: var(--bg-dark);\n }\n}\n.tooltip--data {\n width: 315px;\n max-height: 290px;\n padding: var(--padding);\n font-size: var(--font-size-primary);\n line-height: 14px;\n overflow-y: auto;\n}\n.top-autofill .tooltip--data {\n min-height: var(--top-autofill-min-height);\n}\n.tooltip--data.tooltip--incontext-signup {\n width: 360px;\n}\n.wrapper:not(.top-autofill) .tooltip--data {\n top: 100%;\n left: 100%;\n}\n.wrapper:not(.top-autofill) .tooltip--email {\n top: calc(100% + 6px);\n right: calc(100% - 48px);\n padding: 8px;\n border: 1px solid #D0D0D0;\n border-radius: 10px;\n background-color: #FFF;\n font-size: 14px;\n line-height: 1.3;\n color: #333;\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);\n}\n.tooltip--email__caret {\n position: absolute;\n transform: translate(-1000px, -1000px);\n z-index: 2147483647;\n}\n.tooltip--email__caret::before,\n.tooltip--email__caret::after {\n content: "";\n display: block;\n width: 0;\n height: 0;\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n position: absolute;\n border-bottom: 8px solid #D0D0D0;\n right: -28px;\n}\n.tooltip--email__caret::before {\n border-bottom-color: #D0D0D0;\n top: -1px;\n}\n.tooltip--email__caret::after {\n border-bottom-color: #FFF;\n top: 0px;\n}\n.tooltip__button {\n display: flex;\n width: 100%;\n padding: 8px 8px 8px 0px;\n font-family: inherit;\n color: inherit;\n background: transparent;\n border: none;\n border-radius: 6px;\n text-align: left;\n}\n.tooltip__button.currentFocus,\n.wrapper:not(.top-autofill) .tooltip__button:hover {\n background-color: var(--hover-bg);\n color: var(--hover-color-primary);\n}\n@media (prefers-color-scheme: dark) {\n .tooltip__button.currentFocus,\n .wrapper:not(.top-autofill) .tooltip__button:hover {\n background-color: var(--hover-bg-dark);\n }\n}\n.tooltip__button--data {\n position: relative;\n min-height: 48px;\n flex-direction: row;\n justify-content: flex-start;\n font-size: inherit;\n font-weight: var(--font-weight);\n line-height: 16px;\n text-align: left;\n border-radius: var(--border-radius);\n}\n.tooltip--data__item-container {\n max-height: 220px;\n overflow: auto;\n}\n.tooltip__button--data:first-child {\n margin-top: 0;\n}\n.tooltip__button--data:last-child {\n margin-bottom: 0;\n}\n.tooltip__button--data::before {\n content: "";\n display: block;\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n margin: 0 8px;\n background-size: 20px 20px;\n background-repeat: no-repeat;\n background-position: center center;\n}\n.tooltip__button--data.currentFocus:not(.tooltip__button--data--bitwarden)::before,\n.wrapper:not(.top-autofill) .tooltip__button--data:not(.tooltip__button--data--bitwarden):hover::before {\n filter: var(--hover-effect);\n}\n.tooltip__button--data.currentFocus.no-hover-effect::before,\n.wrapper:not(.top-autofill) .tooltip__button--data.no-hover-effect:hover::before,\n.tooltip__button--data.no-hover-effect:hover::before {\n filter: none;\n}\n@media (prefers-color-scheme: dark) {\n .tooltip__button--data:not(.tooltip__button--data--bitwarden)::before {\n filter: var(--hover-effect-dark);\n opacity: .9;\n }\n .tooltip__button--data.no-hover-effect::before,\n .wrapper:not(.top-autofill) .tooltip__button--data.no-hover-effect::before {\n filter: none;\n opacity: 1;\n }\n .tooltip__button--data.currentFocus:not(.tooltip__button--data--bitwarden)::before,\n .wrapper:not(.top-autofill) .tooltip__button--data:not(.tooltip__button--data--bitwarden):hover::before {\n filter: var(--hover-effect-dark);\n }\n .tooltip__button--data.currentFocus.no-hover-effect::before,\n .tooltip__button--data.no-hover-effect:hover::before,\n .wrapper:not(.top-autofill) .tooltip__button--data.no-hover-effect:hover::before {\n filter: none;\n }\n}\n.tooltip__button__text-container {\n margin: auto 0;\n width: 100%;\n}\n.label {\n display: block;\n font-weight: 400;\n letter-spacing: -0.25px;\n color: var(--color-primary);\n font-size: var(--font-size-primary);\n line-height: 1;\n}\n.label + .label {\n margin-top: 3px;\n}\n.label.label--medium {\n font-weight: var(--font-weight);\n letter-spacing: -0.25px;\n}\n.label.label--small {\n font-size: var(--font-size-secondary);\n font-weight: 400;\n letter-spacing: 0.06px;\n color: var(--color-secondary);\n}\n@media (prefers-color-scheme: dark) {\n .tooltip--data .label {\n color: var(--color-primary-dark);\n }\n .tooltip--data .label--medium {\n color: var(--color-primary-dark);\n }\n .tooltip--data .label--small {\n color: var(--color-secondary-dark);\n }\n}\n.tooltip__button.currentFocus .label,\n.wrapper:not(.top-autofill) .tooltip__button:hover .label {\n color: var(--hover-color-primary);\n &.label--small {\n color: var(--hover-color-secondary);\n }\n}\n@media (prefers-color-scheme: dark) {\n .tooltip__button.currentFocus .label,\n .wrapper:not(.top-autofill) .tooltip__button:hover .label {\n color: var(--hover-color-primary-dark);\n &.label--small {\n color: var(--hover-color-secondary-dark);\n }\n }\n}\n.tooltip__button--secondary {\n font-size: 13px;\n padding: 5px 9px;\n border-radius: var(--border-radius);\n margin: 0;\n}\n.tooltip__button--data--credentials::before,\n.tooltip__button--data--credentials__current::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTUuNSA2YTIuNSAyLjUgMCAxIDEgMCA1IDIuNSAyLjUgMCAwIDEgMC01bTAgMS41YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTQuOTk4IDJBNy4wMDUgNy4wMDUgMCAwIDEgMjIgOS4wMDdhNy4wMDQgNy4wMDQgMCAwIDEtOC43MDUgNi43OTdjLS4xNjMtLjA0MS0uMjg2LjAwOC0uMzQ1LjA2N2wtMi41NTcgMi41NTlhMiAyIDAgMCAxLTEuNDE1LjU4NmgtLjk4MnYuNzM0QTIuMjUgMi4yNSAwIDAgMSA1Ljc0NSAyMmgtLjk5M2EyLjc1IDIuNzUgMCAwIDEtMi43NS0yLjczNUwyIDE4Ljc3YTMuNzUgMy43NSAwIDAgMSAxLjA5OC0yLjY3bDUuMDQtNS4wNDNjLjA2LS4wNi4xMDctLjE4My4wNjYtLjM0NmE3IDcgMCAwIDEtLjIwOC0xLjcwNEE3LjAwNCA3LjAwNCAwIDAgMSAxNC45OTggMm0wIDEuNWE1LjUwNCA1LjUwNCAwIDAgMC01LjMzNyA2Ljg0OGMuMTQ3LjU4OS4wMjcgMS4yNzktLjQ2MiAxLjc2OGwtNS4wNCA1LjA0NGEyLjI1IDIuMjUgMCAwIDAtLjY1OSAxLjYwM2wuMDAzLjQ5NGExLjI1IDEuMjUgMCAwIDAgMS4yNSAxLjI0M2guOTkyYS43NS43NSAwIDAgMCAuNzUtLjc1di0uNzM0YTEuNSAxLjUgMCAwIDEgMS41LTEuNWguOTgzYS41LjUgMCAwIDAgLjM1My0uMTQ3bDIuNTU4LTIuNTU5Yy40OS0uNDkgMS4xOC0uNjA5IDEuNzctLjQ2MWE1LjUwNCA1LjUwNCAwIDAgMCA2Ljg0LTUuMzQyQTUuNTA1IDUuNTA1IDAgMCAwIDE1IDMuNVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4K);\n}\n.tooltip__button--data--credentials__new::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTExLjIyNCA0LjY0YS45LjkgMCAwIDAgLjY0Ny0uMTY1IDUuNDcgNS40NyAwIDAgMSAzLjEyNy0uOTc1QTUuNTA0IDUuNTA0IDAgMCAxIDIwLjUgOS4wMDZhNS41MDQgNS41MDQgMCAwIDEtNi44NCA1LjM0M2MtLjU5LS4xNDgtMS4yODEtLjAyOC0xLjc3MS40NjJsLTIuNTU3IDIuNTU4YS41LjUgMCAwIDEtLjM1NC4xNDdoLS45ODJhMS41IDEuNSAwIDAgMC0xLjUgMS41di43MzRhLjc1Ljc1IDAgMCAxLS43NS43NWgtLjk5M2ExLjI1IDEuMjUgMCAwIDEtMS4yNS0xLjI0NGwtLjAwMy0uNDk0YTIuMjUgMi4yNSAwIDAgMSAuNjU5LTEuNjAybDUuMDQtNS4wNDNjLjM0My0uMzQ0LjQ2MS0uNzExLjQ3OS0xLjA5NS4wMjctLjU4Mi0uNzM3LS44NDctMS4xNzktLjQ2N2wtLjA2Ni4wNTZhLjcuNyAwIDAgMC0uMTU4LjIzMi44LjggMCAwIDEtLjEzNy4yMTNMMy4wOTggMTYuMUEzLjc1IDMuNzUgMCAwIDAgMiAxOC43N2wuMDAzLjQ5NEEyLjc1IDIuNzUgMCAwIDAgNC43NTMgMjJoLjk5MmEyLjI1IDIuMjUgMCAwIDAgMi4yNS0yLjI1di0uNzM0aC45ODNhMiAyIDAgMCAwIDEuNDE1LS41ODZsMi41NTctMi41NTljLjA1OS0uMDU5LjE4Mi0uMTA4LjM0Ni0uMDY3QTcuMDA0IDcuMDA0IDAgMCAwIDIyIDkuMDA2IDcuMDA0IDcuMDA0IDAgMCAwIDEwLjgyNiAzLjM4Yy0uNTMzLjM5NS0uMjYgMS4xNjYuMzk3IDEuMjZaIi8+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTUuNSA2YTIuNSAyLjUgMCAxIDEgMCA1IDIuNSAyLjUgMCAwIDEgMC01bTAgMS41YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTcuMTI1IDIuODA0QzcgMi4xNiA2LjkxNSAyIDYuNSAyYy0uNDE0IDAtLjUuMTYtLjYyNS44MDQtLjA4LjQxMy0uMjEyIDEuODItLjI5NiAyLjc3NS0uOTU0LjA4NC0yLjM2Mi4yMTYtMi43NzUuMjk2QzIuMTYgNiAyIDYuMDg1IDIgNi41YzAgLjQxNC4xNjEuNS44MDQuNjI1LjQxMi4wOCAxLjgxOC4yMTIgMi43NzIuMjk2LjA4My45ODkuMjE4IDIuNDYxLjMgMi43NzUuMTI0LjQ4My4yMS44MDQuNjI0LjgwNHMuNS0uMTYuNjI1LS44MDRjLjA4LS40MTIuMjEyLTEuODE3LjI5Ni0yLjc3MS45OS0uMDg0IDIuNDYyLS4yMTkgMi43NzYtLjNDMTAuNjc5IDcgMTEgNi45MTUgMTEgNi41YzAtLjQxNC0uMTYtLjUtLjgwMy0uNjI1LS40MTMtLjA4LTEuODIxLS4yMTItMi43NzUtLjI5Ni0uMDg1LS45NTQtLjIxNi0yLjM2Mi0uMjk3LTIuNzc1bS00LjM0MiA4Ljc2MWEuNzgzLjc4MyAwIDEgMCAwLTEuNTY1Ljc4My43ODMgMCAwIDAgMCAxLjU2NSIvPgo8L3N2Zz4K);\n}\n.tooltip__button--data--creditCards::before,\n.tooltip__button--data--provider__generic::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI2IDRDMjkuMzEzNyA0IDMyIDYuNjg2MjkgMzIgMTBMMzIgMjJDMzIgMjUuMzEzNyAyOS4zMTM3IDI4IDI2IDI4TDYgMjhDMi42ODYyOSAyOCA5Ljc1Njk3ZS0wNyAyNS4zMTM3IDEuMTIwNTRlLTA2IDIyTDEuNjQ1MDhlLTA2IDEwQzEuNzg5OTNlLTA2IDYuNjg2MjkgMi42ODYyOSA0IDYgNEwyNiA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMCAyMkwzMCAxMEMzMCA3Ljc5MDg2IDI4LjIwOTEgNiAyNiA2TDYgNkMzLjc5MDg2IDYgMiA3Ljc5MDg2IDIgMTBMMiAyMkMyIDI0LjIwOTEgMy43OTA4NiAyNiA2IDI2TDI2IDI2QzI4LjIwOTEgMjYgMzAgMjQuMjA5MSAzMCAyMlpNMzIgMTBDMzIgNi42ODYyOSAyOS4zMTM3IDQgMjYgNEw2IDRDMi42ODYyOSA0IDEuNzg5OTNlLTA2IDYuNjg2MjkgMS42NDUwOGUtMDYgMTBMMS4xMjA1NGUtMDYgMjJDOS43NTY5N2UtMDcgMjUuMzEzNyAyLjY4NjI5IDI4IDYgMjhMMjYgMjhDMjkuMzEzNyAyOCAzMiAyNS4zMTM3IDMyIDIyTDMyIDEwWiIgZmlsbD0iI0NDQ0NDQyIvPgo8cGF0aCBkPSJNNCAxM0M0IDEyLjQ0NzcgNC40NDc3MiAxMiA1IDEySDlDOS41NTIyOCAxMiAxMCAxMi40NDc3IDEwIDEzVjE1QzEwIDE1LjU1MjMgOS41NTIyOCAxNiA5IDE2SDVDNC40NDc3MiAxNiA0IDE1LjU1MjMgNCAxNVYxM1oiIGZpbGw9IiNGRkQ2NUMiLz4KPHBhdGggZD0iTTQgMjBDNCAxOS40NDc3IDQuNDQ3NzIgMTkgNSAxOUgxMEMxMC41NTIzIDE5IDExIDE5LjQ0NzcgMTEgMjBDMTEgMjAuNTUyMyAxMC41NTIzIDIxIDEwIDIxSDVDNC40NDc3MiAyMSA0IDIwLjU1MjMgNCAyMFoiIGZpbGw9IiNBQUFBQUEiLz4KPHBhdGggZD0iTTEyIDIwQzEyIDE5LjQ0NzcgMTIuNDQ3NyAxOSAxMyAxOUgxNEMxNC41NTIzIDE5IDE1IDE5LjQ0NzcgMTUgMjBDMTUgMjAuNTUyMyAxNC41NTIzIDIxIDE0IDIxSDEzQzEyLjQ0NzcgMjEgMTIgMjAuNTUyMyAxMiAyMFoiIGZpbGw9IiNBQUFBQUEiLz4KPHBhdGggZD0iTTE2IDIwQzE2IDE5LjQ0NzcgMTYuNDQ3NyAxOSAxNyAxOUgyN0MyNy41NTIzIDE5IDI4IDE5LjQ0NzcgMjggMjBDMjggMjAuNTUyMyAyNy41NTIzIDIxIDI3IDIxSDE3QzE2LjQ0NzcgMjEgMTYgMjAuNTUyMyAxNiAyMFoiIGZpbGw9IiNBQUFBQUEiLz4KPC9zdmc+Cg==);\n}\n.tooltip__button--data--provider__dinersClub::before {\n background-image: url(data:image/png;base64,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);\n}\n.tooltip__button--data--provider__discover::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGxpbmVhckdyYWRpZW50IGlkPSJhIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE1LjU4MzkiIHgyPSIxNy45NjQ4IiB5MT0iMTQuNDU5NCIgeTI9IjE3LjMzNDQiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2U2NzcyZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2VhOWQyYyIvPjwvbGluZWFyR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPSJiIiBjeD0iMCIgY3k9IjAiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLTEuNTQ5ODIxMzUgLTEuOTc2NTYwNDMgMi4wNjU0OTE5NiAtMS42MTk1NTI1NyAxNy4xNzg3IDE2LjcwNTUpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgcj0iMSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZWE5ZDJjIiBzdG9wLW9wYWNpdHk9IjAiLz48c3RvcCBvZmZzZXQ9Ii4zMjgxMjUiIHN0b3AtY29sb3I9IiNkZjc2MjQiIHN0b3Atb3BhY2l0eT0iMCIvPjxzdG9wIG9mZnNldD0iLjc2MDE4OCIgc3RvcC1jb2xvcj0iI2JmNGIyMyIgc3RvcC1vcGFjaXR5PSIuNzUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM3ZDMwMTciLz48L3JhZGlhbEdyYWRpZW50PjxwYXRoIGQ9Im0yNiA0YzMuMzEzNyAwIDYgMi42ODYyOSA2IDZ2MTJjMCAzLjMxMzctMi42ODYzIDYtNiA2aC0yMGMtMy4zMTM3MSAwLTUuOTk5OTk5MDItMi42ODYzLTUuOTk5OTk4ODgtNmwuMDAwMDAwNTMtMTJjLjAwMDAwMDE0LTMuMzEzNzEgMi42ODYyODgzNS02IDUuOTk5OTk4MzUtNnoiIGZpbGw9IiNmZmYiLz48ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0ibTMwIDIydi0xMmMwLTIuMjA5MTQtMS43OTA5LTQtNC00aC0yMGMtMi4yMDkxNCAwLTQgMS43OTA4Ni00IDR2MTJjMCAyLjIwOTEgMS43OTA4NiA0IDQgNGgyMGMyLjIwOTEgMCA0LTEuNzkwOSA0LTR6bTItMTJjMC0zLjMxMzcxLTIuNjg2My02LTYtNmgtMjBjLTMuMzEzNzEgMC01Ljk5OTk5ODIxIDIuNjg2MjktNS45OTk5OTgzNSA2bC0uMDAwMDAwNTMgMTJjLS4wMDAwMDAxNCAzLjMxMzcgMi42ODYyODg4OCA2IDUuOTk5OTk4ODggNmgyMGMzLjMxMzcgMCA2LTIuNjg2MyA2LTZ6IiBmaWxsPSIjY2NjIi8+PHBhdGggZD0ibTYuNDg4NjMgMTYuODE2MWMtLjIyNzU0LjE5NDYtLjUxNzE5LjI3OTYtLjk4MDM5LjI3OTZoLS4xOTIydi0yLjMyMTdoLjE5MjJjLjQ2MzIgMCAuNzQxNzQuMDc5NC45ODAzOS4yODM2LjI0NjM0LjIxMTEuMzk0MzguNTM2Ni4zOTQzOC44NzM0IDAgLjMzODQtLjE0ODA0LjY3NTYtLjM5NDM4Ljg4NTF6bS0uODM2OTEtMi42MzY4aC0xLjA1MTYydjMuNTExNGgxLjA0NTIxYy41NTYyMyAwIC45NTc3My0uMTI2NyAxLjMwOTY1LS40MDYxLjQxODAzLS4zMzExLjY2NjA4LS44MzA5LjY2NjA4LTEuMzQ4NyAwLTEuMDM2Ni0uODA5MjctMS43NTY2LTEuOTY5MzItMS43NTY2eiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im03Ljk1MTE3IDE0LjE3OTNoLjcxMzF2My41MTE0aC0uNzEzMXoiIGZpbGw9IiMyMDFkMWMiLz48cGF0aCBkPSJtMTAuNDE1OSAxNS41MjUxYy0uNDMwNDYtLjE1MS0uNTU2MjctLjI1MTctLjU1NjI3LS40NDE0IDAtLjIyMDYuMjI0ODctLjM4NzkuNTMzOTctLjM4NzkuMjE0MyAwIC4zOTA5LjA4MjEuNTc4OS4yODI2bC4zNzIzLS40Njc0Yy0uMzA3Ni0uMjU5LS42NzU4LS4zOTAyLTEuMDc3MS0uMzkwMi0uNjQ5NDIgMC0xLjE0NDM5LjQzMjQtMS4xNDQzOSAxLjAwNCAwIC40ODU0LjIzMDEuNzMxNi45MDE1OS45NjU0LjI4MDcuMDkzNC40MjMzLjE1NzIuNDk1NS4yMDA1LjE0MzEuMDg4NC4yMTQzLjIxNTIuMjE0My4zNjE4IDAgLjI4NTYtLjIzNjUuNDk1Ni0uNTU2Mi40OTU2LS4zNDAzOCAwLS42MTU3OS0uMTYzMS0uNzgwNjMtLjQ2OTNsLS40NjEzNS40Mjc2Yy4zMjk4NC40NjI0LjcyNTIxLjY2OTEgMS4yNjk4OC42NjkxLjc0MjkgMCAxLjI2NjQtLjQ3NTkgMS4yNjY0LTEuMTUzOCAwLS41NTg2LS4yNDI4LS44MTE4LTEuMDU2OS0xLjA5NjZ6IiBmaWxsPSIjMjAxZDFjIi8+PHBhdGggZD0ibTExLjY5NzMgMTUuOTM1OWMwIDEuMDMyNi44NDcgMS44MzI4IDEuOTM3NCAxLjgzMjguMzA3NCAwIC41NzEtLjA1ODEuODk1Ni0uMjA0N3YtLjgwNjljLS4yODY4LjI3NTgtLjUzODYuMzg0Ni0uODY0My4zODQ2LS43MjA1IDAtMS4yMzA4LS40OTg5LTEuMjMwOC0xLjIxMDcgMC0uNjcyNi41MjY4LTEuMjA1NCAxLjE5OTUtMS4yMDU0LjMzOTQgMCAuNTk4Ny4xMTUxLjg5NTYuMzk1di0uODA2Yy0uMzEzNi0uMTUxOC0uNTcwOS0uMjE0Ni0uODgxLS4yMTQ2LTEuMDg0MSAwLTEuOTUyLjgxNTgtMS45NTIgMS44MzU5eiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im0yMC4zMjgxIDE2LjUzNjctLjk3ODYtMi4zNTc0aC0uNzgwMmwxLjU1NTYgMy42aC4zODM3bDEuNTg1OC0zLjZoLS43NzQxeiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im0yMi40MTg5IDE3LjY5MDdoMi4wMjkzdi0uNTk1aC0xLjMxMzN2LS45NDc4aDEuMjYzNXYtLjU5NDhoLTEuMjYzNXYtLjc3OTFoMS4zMTMzdi0uNTk0N2gtMi4wMjkzeiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im0yNS44NDU3IDE1Ljc5NGgtLjIwNzh2LTEuMDYyMWguMjE5NGMuNDQ3MSAwIC42ODY2LjE3OTYuNjg2Ni41MjE3IDAgLjM1MTQtLjIzOTUuNTQwNC0uNjk4Mi41NDA0em0xLjQzNTEtLjU3ODZjMC0uNjU3Ni0uNDcxMy0xLjAzNjEtMS4yOTc1LTEuMDM2MWgtMS4wNjI5djMuNTExNGguNzE3NXYtMS40MTE4aC4wOTMxbC45ODg2IDEuNDExOGguODgwNGwtMS4xNTQ1LTEuNDc5OWMuNTM5NS0uMTA1Ni44MzUzLS40NTgxLjgzNTMtLjk5NTR6IiBmaWxsPSIjMjAxZDFjIi8+PHBhdGggZD0ibTE4LjY3MDQgMTUuOTQ0MWMwIDEuMDEwOS0uODU2IDEuODMwMy0xLjkxMjkgMS44MzAzLTEuMDU2NiAwLTEuOTEyOC0uODE5NC0xLjkxMjgtMS44MzAzIDAtMS4wMTExLjg1NjItMS44MzA2IDEuOTEyOC0xLjgzMDYgMS4wNTY5IDAgMS45MTI5LjgxOTUgMS45MTI5IDEuODMwNnoiIGZpbGw9InVybCgjYSkiLz48cGF0aCBkPSJtMTguNjcwNCAxNS45NDQxYzAgMS4wMTA5LS44NTYgMS44MzAzLTEuOTEyOSAxLjgzMDMtMS4wNTY2IDAtMS45MTI4LS44MTk0LTEuOTEyOC0xLjgzMDMgMC0xLjAxMTEuODU2Mi0xLjgzMDYgMS45MTI4LTEuODMwNiAxLjA1NjkgMCAxLjkxMjkuODE5NSAxLjkxMjkgMS44MzA2eiIgZmlsbD0idXJsKCNiKSIvPjwvZz48L3N2Zz4=);\n}\n.tooltip__button--data--provider__jcb::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGxpbmVhckdyYWRpZW50IGlkPSJhIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMwMDc5NDAiLz48c3RvcCBvZmZzZXQ9Ii4yMjg1IiBzdG9wLWNvbG9yPSIjMDA4NzNmIi8+PHN0b3Agb2Zmc2V0PSIuNzQzMyIgc3RvcC1jb2xvcj0iIzQwYTczNyIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzVjYjUzMSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE5LjA4MjEiIHgyPSIyNC4wMTQ4IiB4bGluazpocmVmPSIjYSIgeTE9IjE2LjY1MSIgeTI9IjE2LjY1MSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxOS4wODIyIiB4Mj0iMjQuMDE0OCIgeGxpbms6aHJlZj0iI2EiIHkxPSIxNS44ODIyIiB5Mj0iMTUuODgyMiIvPjxsaW5lYXJHcmFkaWVudCBpZD0iZCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxOS4wODIiIHgyPSIyNC4wMTQ0IiB4bGluazpocmVmPSIjYSIgeTE9IjE1LjA0NTgiIHkyPSIxNS4wNDU4Ii8+PGxpbmVhckdyYWRpZW50IGlkPSJlIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjguMDQwMjIiIHgyPSIxMy4wNDg4IiB5MT0iMTUuODgyMiIgeTI9IjE1Ljg4MjIiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzFmMjg2ZiIvPjxzdG9wIG9mZnNldD0iLjQ3NTEiIHN0b3AtY29sb3I9IiMwMDRlOTQiLz48c3RvcCBvZmZzZXQ9Ii44MjYxIiBzdG9wLWNvbG9yPSIjMDA2NmIxIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA2ZmJjIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTMuNTM1IiB4Mj0iMTguMzk5MyIgeTE9IjE1Ljg4MjIiIHkyPSIxNS44ODIyIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM2YzJjMmYiLz48c3RvcCBvZmZzZXQ9Ii4xNzM1IiBzdG9wLWNvbG9yPSIjODgyNzMwIi8+PHN0b3Agb2Zmc2V0PSIuNTczMSIgc3RvcC1jb2xvcj0iI2JlMTgzMyIvPjxzdG9wIG9mZnNldD0iLjg1ODUiIHN0b3AtY29sb3I9IiNkYzA0MzYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNlNjAwMzkiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iZyI+PHBhdGggZD0ibTcgOWgxOHYxMy44MjkzaC0xOHoiLz48L2NsaXBQYXRoPjxwYXRoIGQ9Im0yNiA0YzMuMzEzNyAwIDYgMi42ODYyOSA2IDZ2MTJjMCAzLjMxMzctMi42ODYzIDYtNiA2aC0yMGMtMy4zMTM3MSAwLTUuOTk5OTk5MDItMi42ODYzLTUuOTk5OTk4ODgtNmwuMDAwMDAwNTMtMTJjLjAwMDAwMDE0LTMuMzEzNzEgMi42ODYyODgzNS02IDUuOTk5OTk4MzUtNnoiIGZpbGw9IiMwMDhlZWQiLz48cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0zMCAyMnYtMTJjMC0yLjIwOTE0LTEuNzkwOS00LTQtNGgtMjBjLTIuMjA5MTQgMC00IDEuNzkwODYtNCA0djEyYzAgMi4yMDkxIDEuNzkwODYgNCA0IDRoMjBjMi4yMDkxIDAgNC0xLjc5MDkgNC00em0yLTEyYzAtMy4zMTM3MS0yLjY4NjMtNi02LTZoLTIwYy0zLjMxMzcxIDAtNS45OTk5OTgyMSAyLjY4NjI5LTUuOTk5OTk4MzUgNmwtLjAwMDAwMDUzIDEyYy0uMDAwMDAwMTQgMy4zMTM3IDIuNjg2Mjg4ODggNiA1Ljk5OTk5ODg4IDZoMjBjMy4zMTM3IDAgNi0yLjY4NjMgNi02eiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuMTgiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxnIGNsaXAtcGF0aD0idXJsKCNnKSI+PHBhdGggZD0ibTI1IDIwLjAwODVjMCAxLjUzNjYtMS4yNTEyIDIuNzg3OC0yLjc4NzggMi43ODc4aC0xNS4xNjgyNXYtMTEuMDQxNWMwLTEuNTM2NSAxLjI1MTIxLTIuNzg3NzYgMi43ODc4LTIuNzg3NzZoMTUuMTY4MjV6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTIwLjA2MSAxNy4xNzY4aDEuMTUyNWMuMDMyOSAwIC4xMDk3LS4wMTEuMTQyNy0uMDExLjIxOTUtLjA0MzkuNDA2MS0uMjQxNS40MDYxLS41MTU5IDAtLjI2MzQtLjE4NjYtLjQ2MDktLjQwNjEtLjUxNTgtLjAzMy0uMDExLS4wOTg4LS4wMTEtLjE0MjctLjAxMWgtMS4xNTI1eiIgZmlsbD0idXJsKCNiKSIvPjxwYXRoIGQ9Im0yMS4wODE4IDkuODk5OTZjLTEuMDk3NiAwLTEuOTk3Ni44ODkwNC0xLjk5NzYgMS45OTc1NHYyLjA3NDRoMi44MjA3Yy4wNjU5IDAgLjE0MjcgMCAuMTk3Ni4wMTEuNjM2Ni4wMzI5IDEuMTA4NS4zNjIyIDEuMTA4NS45MzI5IDAgLjQ1LS4zMTgyLjgzNDItLjkxMDkuOTExdi4wMjE5Yy42NDc1LjA0MzkgMS4xNDE0LjQwNjEgMS4xNDE0Ljk2NTkgMCAuNjAzNy0uNTQ4Ny45OTg4LTEuMjczMS45OTg4aC0zLjA5NTJ2NC4wNjFoMi45MzA1YzEuMDk3NiAwIDEuOTk3Ni0uODg5MSAxLjk5NzYtMS45OTc2di05Ljk3Njg0eiIgZmlsbD0idXJsKCNjKSIvPjxwYXRoIGQ9Im0yMS42MTk2IDE1LjA0NzVjMC0uMjYzNC0uMTg2Ni0uNDM5LS40MDYxLS40NzE5LS4wMjIgMC0uMDc2OS0uMDExLS4xMDk4LS4wMTFoLTEuMDQyN3YuOTY1OGgxLjA0MjdjLjAzMjkgMCAuMDk4OCAwIC4xMDk4LS4wMTA5LjIxOTUtLjAzMy40MDYxLS4yMDg2LjQwNjEtLjQ3MnoiIGZpbGw9InVybCgjZCkiLz48cGF0aCBkPSJtMTAuMDQwMyA5Ljg5OTk2Yy0xLjA5NzU5IDAtMS45OTc1OS44ODkwNC0xLjk5NzU5IDEuOTk3NTR2NC45MjgxYy41NTk3Ni4yNzQ0IDEuMTQxNDcuNDUgMS43MjMxNy40NS42OTE0MiAwIDEuMDY0NjItLjQxNzEgMS4wNjQ2Mi0uOTg3OHYtMi4zMjY5aDEuNzEyMnYyLjMxNTljMCAuOS0uNTU5NyAxLjYzNTQtMi40NTg1IDEuNjM1NC0xLjE1MjQ2IDAtMi4wNTI0Ni0uMjUyNS0yLjA1MjQ2LS4yNTI1djQuMjAzN2gyLjkzMDQ2YzEuMDk3NiAwIDEuOTk3Ni0uODg5IDEuOTk3Ni0xLjk5NzZ2LTkuOTY1ODR6IiBmaWxsPSJ1cmwoI2UpIi8+PHBhdGggZD0ibTE1LjU2MSA5Ljg5OTk2Yy0xLjA5NzUgMC0xLjk5NzUuODg5MDQtMS45OTc1IDEuOTk3NTR2Mi42MTIyYy41MDQ5LS40MjggMS4zODI5LS43MDI0IDIuNzk4OC0uNjM2Ni43NTczLjAzMyAxLjU2OTUuMjQxNSAxLjU2OTUuMjQxNXYuODQ1MWMtLjQwNjEtLjIwODUtLjg4OTEtLjM5NTEtMS41MTQ3LS40MzktMS4wNzU2LS4wNzY4LTEuNzIzMS40NS0xLjcyMzEgMS4zNzE5IDAgLjkzMy42NDc1IDEuNDU5OCAxLjcyMzEgMS4zNzIuNjI1Ni0uMDQzOSAxLjEwODYtLjI0MTUgMS41MTQ3LS40Mzl2Ljg0NTFzLS44MDEzLjIwODUtMS41Njk1LjI0MTVjLTEuNDE1OS4wNjU4LTIuMjkzOS0uMjA4Ni0yLjc5ODgtLjYzNjZ2NC42MDk3aDIuOTMwNWMxLjA5NzUgMCAxLjk5NzUtLjg4OSAxLjk5NzUtMS45OTc1di05Ljk4Nzg0eiIgZmlsbD0idXJsKCNmKSIvPjwvZz48L3N2Zz4=);\n}\n.tooltip__button--data--provider__mastercard::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI2IDRDMjkuMzEzNyA0IDMyIDYuNjg2MjkgMzIgMTBMMzIgMjJDMzIgMjUuMzEzNyAyOS4zMTM3IDI4IDI2IDI4TDYgMjhDMi42ODYyOSAyOCA5Ljc1Njk3ZS0wNyAyNS4zMTM3IDEuMTIwNTRlLTA2IDIyTDEuNjQ1MDhlLTA2IDEwQzEuNzg5OTNlLTA2IDYuNjg2MjkgMi42ODYyOSA0IDYgNEwyNiA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMCAyMkwzMCAxMEMzMCA3Ljc5MDg2IDI4LjIwOTEgNiAyNiA2TDYgNkMzLjc5MDg2IDYgMiA3Ljc5MDg2IDIgMTBMMiAyMkMyIDI0LjIwOTEgMy43OTA4NiAyNiA2IDI2TDI2IDI2QzI4LjIwOTEgMjYgMzAgMjQuMjA5MSAzMCAyMlpNMzIgMTBDMzIgNi42ODYyOSAyOS4zMTM3IDQgMjYgNEw2IDRDMi42ODYyOSA0IDEuNzg5OTNlLTA2IDYuNjg2MjkgMS42NDUwOGUtMDYgMTBMMS4xMjA1NGUtMDYgMjJDOS43NTY5N2UtMDcgMjUuMzEzNyAyLjY4NjI5IDI4IDYgMjhMMjYgMjhDMjkuMzEzNyAyOCAzMiAyNS4zMTM3IDMyIDIyTDMyIDEwWiIgZmlsbD0iI0NDQ0NDQyIvPgo8cGF0aCBkPSJNMTguNDAzOCAyMC4xNjExSDEzLjU5MjhWMTEuNTY5SDE4LjQwMzhWMjAuMTYxMVoiIGZpbGw9IiNGRjVGMDAiLz4KPHBhdGggZD0iTTEzLjkwMTYgMTUuODY0NEMxMy45MDE2IDE0LjEyMTQgMTQuNzIyOCAxMi41Njg5IDE2LjAwMTcgMTEuNTY4M0MxNS4wNjY1IDEwLjgzNjcgMTMuODg2MyAxMC40IDEyLjYwMzYgMTAuNEM5LjU2Njk4IDEwLjQgNy4xMDU0NyAxMi44NDY0IDcuMTA1NDcgMTUuODY0NEM3LjEwNTQ3IDE4Ljg4MjMgOS41NjY5OCAyMS4zMjg3IDEyLjYwMzYgMjEuMzI4N0MxMy44ODYzIDIxLjMyODcgMTUuMDY2NSAyMC44OTIgMTYuMDAxNyAyMC4xNjA0QzE0LjcyMjggMTkuMTU5OSAxMy45MDE2IDE3LjYwNzMgMTMuOTAxNiAxNS44NjQ0WiIgZmlsbD0iI0VCMDAxQiIvPgo8cGF0aCBkPSJNMjQuODkzNiAxNS44NjQ0QzI0Ljg5MzYgMTguODgyMyAyMi40MzIxIDIxLjMyODcgMTkuMzk1NSAyMS4zMjg3QzE4LjExMjggMjEuMzI4NyAxNi45MzI2IDIwLjg5MiAxNS45OTcxIDIwLjE2MDRDMTcuMjc2MiAxOS4xNTk5IDE4LjA5NzQgMTcuNjA3MyAxOC4wOTc0IDE1Ljg2NDRDMTguMDk3NCAxNC4xMjE0IDE3LjI3NjIgMTIuNTY4OSAxNS45OTcxIDExLjU2ODNDMTYuOTMyNiAxMC44MzY3IDE4LjExMjggMTAuNCAxOS4zOTU1IDEwLjRDMjIuNDMyMSAxMC40IDI0Ljg5MzYgMTIuODQ2NCAyNC44OTM2IDE1Ljg2NDRaIiBmaWxsPSIjRjc5RTFCIi8+Cjwvc3ZnPgo=);\n}\n.tooltip__button--data--provider__unionPay::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMjYgNGMzLjMxMzcgMCA2IDIuNjg2MjkgNiA2djEyYzAgMy4zMTM3LTIuNjg2MyA2LTYgNmgtMjBjLTMuMzEzNzEgMC01Ljk5OTk5OTAyLTIuNjg2My01Ljk5OTk5ODg4LTZsLjAwMDAwMDUzLTEyYy4wMDAwMDAxNC0zLjMxMzcxIDIuNjg2Mjg4MzUtNiA1Ljk5OTk5ODM1LTZ6IiBmaWxsPSIjZmZmIi8+PGcgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Im0zMCAyMnYtMTJjMC0yLjIwOTE0LTEuNzkwOS00LTQtNGgtMjBjLTIuMjA5MTQgMC00IDEuNzkwODYtNCA0djEyYzAgMi4yMDkxIDEuNzkwODYgNCA0IDRoMjBjMi4yMDkxIDAgNC0xLjc5MDkgNC00em0yLTEyYzAtMy4zMTM3MS0yLjY4NjMtNi02LTZoLTIwYy0zLjMxMzcxIDAtNS45OTk5OTgyMSAyLjY4NjI5LTUuOTk5OTk4MzUgNmwtLjAwMDAwMDUzIDEyYy0uMDAwMDAwMTQgMy4zMTM3IDIuNjg2Mjg4ODggNiA1Ljk5OTk5ODg4IDZoMjBjMy4zMTM3IDAgNi0yLjY4NjMgNi02eiIgZmlsbD0iI2NjYyIvPjxwYXRoIGQ9Im0yNS4wMTM0IDkuNTAzNzItNC45MjUyLS4wMDEyOGMtLjAwMDYgMC0uMDAxMyAwLS4wMDEzIDAtLjAwMzggMC0uMDA3NS4wMDA2OC0uMDExMi4wMDA2OC0uNjc2Ni4wMjA5LTEuNTE5My41Njc5OC0xLjY3MjggMS4yNDI0OGwtMi4zMjkyIDEwLjM4OWMtLjE1MzQuNjgwOC4yNjQxIDEuMjM0OC45MzU4IDEuMjQ1aDUuMTc0MWMuNjYxNC0uMDMzIDEuMzA0Mi0uNTczNyAxLjQ1NTEtMS4yNDA2bDIuMzI5Mi0xMC4zODljLjE1NTktLjY4NzgtLjI3MTctMS4yNDYyOC0uOTU0NS0xLjI0NjI4eiIgZmlsbD0iIzAxNzk4YSIvPjxwYXRoIGQ9Im0xNi4wNzM4IDIxLjEzNDYgMi4zMjkxLTEwLjM4ODljLjE1MzUtLjY3NDYuOTk2Mi0xLjIyMTYyIDEuNjcyOC0xLjI0MjUybC0xLjk1ODItLjAwMTI4LTMuNTI4Mi0uMDAwNjhjLS42Nzg0LjAxMzk5LTEuNTMyMS41NjQ4OC0xLjY4NTUgMS4yNDQ0OGwtMi4zMjk5IDEwLjM4ODljLS4xNTQuNjgwOS4yNjQxIDEuMjM0OS45MzU0IDEuMjQ1MWg1LjUwMDJjLS42NzE3LS4wMTAyLTEuMDg5Mi0uNTY0Mi0uOTM1Ny0xLjI0NTF6IiBmaWxsPSIjMDI0MzgxIi8+PHBhdGggZD0ibTEwLjU3MzkgMjEuMTM0NiAyLjMyOTgtMTAuMzg5Yy4xNTM1LS42Nzk1IDEuMDA3MS0xLjIzMDQyIDEuNjg1Ni0xLjI0NDQxbC00LjUxOTctLjAwMTE5Yy0uNjgyMzMgMC0xLjU1NzA5LjU1NzItMS43MTMwMiAxLjI0NTZsLTIuMzI5ODQgMTAuMzg5Yy0uMDE0MTguMDYzNC0uMDIyMDUuMTI1NS0uMDI2NzQuMTg2M3YuMTkyOGMuMDQ1NjEuNDk2My40MjE2Mi44NTc3Ljk2MjExLjg2Nmg0LjU0NzE5Yy0uNjcxMy0uMDEwMi0xLjA4OTUtLjU2NDMtLjkzNTQtMS4yNDUxeiIgZmlsbD0iI2RkMDIyOCIvPjxwYXRoIGQ9Im0xNC42ODQ2IDE3LjA3MTNoLjA4NTVjLjA3ODYgMCAuMTMxNS0uMDI2Ni4xNTYzLS4wNzkybC4yMjIyLS4zMzU0aC41OTUybC0uMTI0MS4yMjA2aC43MTM3bC0uMDkwNS4zMzc5aC0uODQ5MmMtLjA5NzguMTQ4My0uMjE4Mi4yMTgxLS4zNjMuMjA5OGgtLjQ0MjN6bS0uMDk3OC40ODQzaDEuNTYzNmwtLjA5OTcuMzY3MWgtLjYyODhsLS4wOTU5LjM1NDNoLjYxMThsLS4wOTk2LjM2N2gtLjYxMTlsLS4xNDIxLjUyMzZjLS4wMzUyLjA4NzUuMDExLjEyNjkuMTM4LjExNzloLjQ5ODdsLS4wOTI0LjM0MTFoLS45NTc0Yy0uMTgxNSAwLS4yNDM3LS4xMDQ2LS4xODY4LS4zMTQ0bC4xODE3LS42NjgyaC0uMzkxMWwuMDk5NC0uMzY3aC4zOTExbC4wOTU5LS4zNTQzaC0uMzczOXptMi40OTU2LS45MDE0LS4wMjQ2LjIxNDlzLjI5NDktLjIyMzIuNTYyOC0uMjIzMmguOTg5OGwtLjM3ODUgMS4zODEzYy0uMDMxNC4xNTc5LS4xNjYuMjM2NC0uNDAzOC4yMzY0aC0xLjEyMTlsLS4yNjI3Ljk2OTljLS4wMTUyLjA1Mi4wMDYyLjA3ODYuMDYyOC4wNzg2aC4yMjA4bC0uMDgxMi4zMDExaC0uNTYxMmMtLjIxNTQgMC0uMzA1LS4wNjUzLS4yNjk1LS4xOTY0bC43NDI2LTIuNzYyNnptLjgzODIuMzkwNWgtLjg4MzVsLS4xMDU2LjM3MjdzLjE0NzEtLjEwNzEuMzkzLS4xMTA5Yy4yNDUyLS4wMDM5LjUyNSAwIC41MjUgMHptLS4zMjAxLjg2NDZjLjA2NTQuMDA4OS4xMDE5LS4wMTcxLjEwNjMtLjA3ODZsLjA1NDEtLjE5NjVoLS44ODQ4bC0uMDc0Mi4yNzUxem0tLjU5NjguNDQ2M2guNTEwMWwtLjAwOTUuMjIyNGguMTM1OGMuMDY4NiAwIC4xMDI2LS4wMjIxLjEwMjYtLjA2NThsLjA0MDItLjE0NGguNDIzOWwtLjA1NjYuMjA5OGMtLjA0NzkuMTc1LS4xNzQ4LjI2NjMtLjM4MTEuMjc1MmgtLjI3MTdsLS4wMDEyLjM4MDNjLS4wMDUuMDYwOS4wNDk2LjA5Mi4xNjIxLjA5MmguMjU1NGwtLjA4MjQuMzAxMWgtLjYxMjVjLS4xNzE3LjAwODItLjI1NTgtLjA3NDItLjI1NDEtLjI0OTJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTEwLjgyMzggMTQuODE0Yy0uMDY5Mi4zNDE3LS4yMjk2LjYwNDEtLjQ3ODMuNzkwNS0uMjQ2NS4xODMyLS41NjQ0LjI3NTEtLjk1MzYyLjI3NTEtLjM2NjI5IDAtLjYzNDgzLS4wOTM5LS44MDYxOS0uMjgyMS0uMTE4ODUtLjEzMzgtLjE3Nzk4LS4zMDM3LS4xNzc5OC0uNTA5MSAwLS4wODQ5LjAxMDA5LS4xNzYyLjAzMDIyLS4yNzQ0bC40MTQ3LTIuMDE1OGguNjI2MzNsLS40MDkwNiAxLjk5M2MtLjAxMjU5LjA1NTEtLjAxNzYxLjEwNjUtLjAxNjk1LjE1MjgtLjAwMDY2LjEwMi4wMjQ0OC4xODU3LjA3NTQyLjI1MS4wNzQyLjA5Ny4xOTQ2My4xNDUxLjM2MjIyLjE0NTEuMTkyNzIgMCAuMzUxNTItLjA0NzUuNDc0NzYtLjE0MzIuMTIzMjUtLjA5NTEuMjAzNzUtLjIzMDEuMjM5OTUtLjQwNTdsLjQxMDMtMS45OTNoLjYyMzJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTEzLjQ1NDEgMTQuMDIwOWguNDkwNWwtLjM4NDIgMS43OTloLS40ODk2em0uMTU0NC0uNjU1NGguNDk0OWwtLjA5MjUuNDM2N2gtLjQ5NDh6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTE0LjM3ODggMTUuNjgzYy0uMTI4My0uMTIzNi0uMTkzMS0uMjkwMy0uMTkzNy0uNTAyIDAtLjAzNjIuMDAyMS0uMDc3NC4wMDY5LS4xMjI0LjAwNDctLjA0NTcuMDEwNy0uMDkuMDE5Mi0uMTMxMi4wNTgxLS4yOTIyLjE4Mi0uNTI0Mi4zNzI5LS42OTU0LjE5MDUtLjE3MTguNDIwNC0uMjU4LjY4OTUtLjI1OC4yMjA0IDAgLjM5NTIuMDYyMS41MjMyLjE4NjQuMTI4LjEyNDkuMTkyMS4yOTM0LjE5MjEuNTA3OCAwIC4wMzY3LS4wMDI4LjA3OTItLjAwNzUuMTI0OC0uMDA1Ny4wNDYzLS4wMTI2LjA5MDctLjAyMDUuMTM0NC0uMDU2OS4yODc4LS4xODA0LjUxNzMtLjM3MTMuNjg1My0uMTkwOC4xNjkyLS40Mi4yNTM1LS42ODczLjI1MzUtLjIyMTQgMC0uMzk1Ni0uMDYwOS0uNTIzNS0uMTgzMnptLjkzNDctLjM1NjJjLjA4NjUtLjA5NDUuMTQ4NC0uMjM3OC4xODYyLS40Mjg1LjAwNTYtLjAyOTguMDEwNi0uMDYwOS4wMTM4LS4wOTIuMDAzMS0uMDMwNC4wMDQ0LS4wNTg5LjAwNDQtLjA4NDkgMC0uMTExLS4wMjgtLjE5NzEtLjA4NDMtLjI1OC0uMDU1OS0uMDYxNS0uMTM1NS0uMDkxOS0uMjM4My0uMDkxOS0uMTM1OCAwLS4yNDY1LjA0ODEtLjMzMzIuMTQ0NS0uMDg3NS4wOTY0LS4xNDk0LjI0MjItLjE4ODQuNDM2MS0uMDA1NC4wMjk4LS4wMDk4LjA1OTYtLjAxMzguMDg4OC0uMDAzMi4wMjk4LS4wMDQxLjA1NzctLjAwMzUuMDgzIDAgLjExMDMuMDI4LjE5NTMuMDg0My4yNTU1LjA1NTkuMDYwMi4xMzUxLjA5LjIzOTIuMDkuMTM2NSAwIC4yNDcyLS4wNDc2LjMzMzYtLjE0MjZ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTE5LjE3MTQgMTcuMDg2NS4xMTgzLS40MTk3aC41OThsLS4wMjU4LjE1NHMuMzA1Ni0uMTU0LjUyNTctLjE1NGguNzM5NGwtLjExNzUuNDE5N2gtLjExNjNsLS41NTc4IDEuOTc5aC4xMTYzbC0uMTEwNy4zOTNoLS4xMTYzbC0uMDQ4NC4xNzA2aC0uNTc5MWwuMDQ4My0uMTcwNmgtMS4xNDI2bC4xMTE0LS4zOTNoLjExNDRsLjU1ODQtMS45Nzl6bS42NDUyIDAtLjE1MjIuNTM1NnMuMjYwNC0uMTAwNy40ODQ5LS4xMjkzYy4wNDk2LS4xODcuMTE0NC0uNDA2My4xMTQ0LS40MDYzem0tLjIyMjcuNzg2Ni0uMTUyNy41NjFzLjI4ODYtLjE0MzIuNDg2Ny0uMTU1M2MuMDU3Mi0uMjE2OC4xMTQ1LS40MDU3LjExNDUtLjQwNTd6bS4xMTIgMS4xOTI0LjExNDUtLjQwNjloLS40NDY0bC0uMTE1MS40MDY5em0xLjQ0NjMtMi40MjQ2aC41NjIzbC4wMjM4LjIwOTFjLS4wMDM3LjA1MzIuMDI3Ny4wNzg2LjA5NDMuMDc4NmguMDk5NGwtLjEwMDUuMzU0NGgtLjQxMzNjLS4xNTc4LjAwODItLjIzODktLjA1MjYtLjI0NjQtLjE4Mzl6bS0uMTY0Ny43NmgxLjgyMTFsLS4xMDY5LjM4MDRoLS41Nzk4bC0uMDk5NC4zNTM2aC41NzkybC0uMTA3NS4zNzk3aC0uNjQ1MWwtLjE0Ni4yMjI2aC4zMTU4bC4wNzI5LjQ0NTZjLjAwODcuMDQ0NC4wNDc3LjA2NTkuMTE0NC4wNjU5aC4wOThsLS4xMDMuMzY3aC0uMzQ3MWMtLjE3OTkuMDA4OS0uMjcyOS0uMDUxOS0uMjgwNS0uMTgzMWwtLjA4MzctLjQwNy0uMjg3My40MzNjLS4wNjguMTIyMy0uMTcyNC4xNzk0LS4zMTMyLjE3MDVoLS41MzAxbC4xMDMxLS4zNjcxaC4xNjU0Yy4wNjggMCAuMTI0NS0uMDMwNC4xNzU0LS4wOTE5bC40NDk3LS42NTU1aC0uNTc5OGwuMTA3NS0uMzc5N2guNjI4OGwuMS0uMzUzNmgtLjYyOTR6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTExLjQwMDMgMTQuMDIwNGguNDQyNGwtLjA1MDYuMjU5OS4wNjM1LS4wNzQyYy4xNDM0LS4xNTQ2LjMxNzYtLjIzMTQuNTIzMi0uMjMxNC4xODYxIDAgLjMyMDQuMDU0Ni40MDQ3LjE2NDIuMDgyOS4xMDk3LjEwNTYuMjYxMi4wNjYzLjQ1NThsLS4yNDM3IDEuMjI2aC0uNDU0NmwuMjIwMS0xLjExMTNjLjAyMjYtLjExNDcuMDE2NC0uMjAwMy0uMDE4Ni0uMjU1NC0uMDM0Ni0uMDU1Mi0uMTAwNi0uMDgyNC0uMTk1OS0uMDgyNC0uMTE2OSAwLS4yMTU0LjAzNjctLjI5NTUuMTA5Ni0uMDgwNS4wNzM2LS4xMzM3LjE3NTYtLjE1OTguMzA1NmwtLjIwMjggMS4wMzM5aC0uNDU1NXoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMTYuNDczNSAxNC4wMjA0aC40NDI3bC0uMDUwMi4yNTk5LjA2MjgtLjA3NDJjLjE0MzUtLjE1NDYuMzE4My0uMjMxNC41MjMzLS4yMzE0LjE4NjEgMCAuMzIwNi4wNTQ2LjQwNDIuMTY0Mi4wODI1LjEwOTcuMTA2NC4yNjEyLjA2NjEuNDU1OGwtLjI0MjcgMS4yMjZoLS40NTUzbC4yMjAxLTEuMTExM2MuMDIyNi0uMTE0Ny4wMTY0LS4yMDAzLS4wMTgyLS4yNTU0LS4wMzU5LS4wNTUyLS4xMDA3LS4wODI0LS4xOTU2LS4wODI0LS4xMTcgMC0uMjE1LjAzNjctLjI5NjIuMTA5Ni0uMDgwNS4wNzM2LS4xMzM5LjE3NTYtLjE1OS4zMDU2bC0uMjAzOCAxLjAzMzloLS40NTV6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTE4LjY2MjEgMTIuOTA0N2gxLjI4NTNjLjI0NzEgMCAuNDM4My4wNTY0LjU2OTcuMTY3My4xMzA4LjExMjIuMTk2My4yNzMzLjE5NjMuNDgzMXYuMDA2M2MwIC4wMzk5LS4wMDI3LjA4NDktLjAwNjQuMTMzNy0uMDA2My4wNDgyLS4wMTQ1LjA5Ny0uMDI1MS4xNDc3LS4wNTY2LjI3NzctLjE4ODEuNTAwOC0uMzkxMi42NzAxLS4yMDM4LjE2ODYtLjQ0NTIuMjUzNi0uNzIzMS4yNTM2aC0uNjg5M2wtLjIxMzEgMS4wNTQxaC0uNTk2OHptLjMyMTIgMS4zNTQ2aC41NzE3Yy4xNDkgMCAuMjY3Mi0uMDM0OS4zNTM0LS4xMDM5LjA4NTUtLjA2OTguMTQyMS0uMTc2Mi4xNzM1LS4zMjA4LjAwNS0uMDI2Ny4wMDgxLS4wNTA3LjAxMi0uMDcyOS4wMDE5LS4wMjA5LjAwNDQtLjA0MTkuMDA0NC0uMDYyMSAwLS4xMDMzLS4wMzY0LS4xNzgxLS4xMDk0LS4yMjUtLjA3My0uMDQ3Ni0uMTg3NC0uMDcwNC0uMzQ1OS0uMDcwNGgtLjQ4NTV6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTIzLjM4NDggMTYuMTY4N2MtLjE4ODcuNDA0NC0uMzY4NS42NDAyLS40NzQxLjc0OTgtLjEwNTcuMTA4NS0uMzE1LjM2MDgtLjgxOTQuMzQxN2wuMDQzNC0uMzA4NmMuNDI0NC0uMTMxOS42NTM5LS43MjU5Ljc4NDctLjk4OWwtLjE1NTktMS45MzcyLjMyODMtLjAwNDRoLjI3NTRsLjAyOTYgMS4yMTUyLjUxNjItMS4yMTUyaC41MjI2eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im0yMS45MjMzIDE0LjE2NzMtLjIwNzYuMTQ0Yy0uMjE3LS4xNzEyLS40MTUtLjI3Ny0uNzk3My0uMDk4My0uNTIwNy4yNDM0LS45NTU5IDIuMTEwMy40Nzc5IDEuNDk1NGwuMDgxNy4wOTc2LjU2NDEuMDE0Ni4zNzA0LTEuNjk2NHptLS4zMjA4LjkyNzRjLS4wOTA2LjI2OTUtLjI5My40NDc2LS40NTE0LjM5NjktLjE1ODUtLjA0OTUtLjIxNTEtLjMwOTQtLjEyMzMtLjU3OTQuMDkwNS0uMjcwMS4yOTQzLS40NDc2LjQ1MTUtLjM5NjguMTU4NC4wNDk0LjIxNTYuMzA5My4xMjMyLjU3OTN6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==);\n}\n.tooltip__button--data--provider__visa::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI2IDRDMjkuMzEzNyA0IDMyIDYuNjg2MjkgMzIgMTBMMzIgMjJDMzIgMjUuMzEzNyAyOS4zMTM3IDI4IDI2IDI4TDYgMjhDMi42ODYyOSAyOCA5Ljc1Njk3ZS0wNyAyNS4zMTM3IDEuMTIwNTRlLTA2IDIyTDEuNjQ1MDhlLTA2IDEwQzEuNzg5OTNlLTA2IDYuNjg2MjkgMi42ODYyOSA0IDYgNEwyNiA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMCAyMkwzMCAxMEMzMCA3Ljc5MDg2IDI4LjIwOTEgNiAyNiA2TDYgNkMzLjc5MDg2IDYgMiA3Ljc5MDg2IDIgMTBMMiAyMkMyIDI0LjIwOTEgMy43OTA4NiAyNiA2IDI2TDI2IDI2QzI4LjIwOTEgMjYgMzAgMjQuMjA5MSAzMCAyMlpNMzIgMTBDMzIgNi42ODYyOSAyOS4zMTM3IDQgMjYgNEw2IDRDMi42ODYyOSA0IDEuNzg5OTNlLTA2IDYuNjg2MjkgMS42NDUwOGUtMDYgMTBMMS4xMjA1NGUtMDYgMjJDOS43NTY5N2UtMDcgMjUuMzEzNyAyLjY4NjI5IDI4IDYgMjhMMjYgMjhDMjkuMzEzNyAyOCAzMiAyNS4zMTM3IDMyIDIyTDMyIDEwWiIgZmlsbD0iI0NDQ0NDQyIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE4Ljg5NTYgMTIuNUMxOS41ODQ5IDEyLjUgMjAuMTQyNSAxMi42NDQ1IDIwLjQ5NCAxMi43NzU0TDIwLjI1MTYgMTQuMTcyNEwyMC4wOTA0IDE0LjEwMzdDMTkuNzY4IDEzLjk3MjkgMTkuMzQyMyAxMy44NDIyIDE4Ljc2MjkgMTMuODU2QzE4LjA1OTMgMTMuODU2IDE3Ljc0MzcgMTQuMTM4IDE3LjczNjQgMTQuNDEzM0MxNy43MzY0IDE0LjcxNjIgMTguMTE4MiAxNC45MTU4IDE4Ljc0MTUgMTUuMjExOEMxOS43NjgzIDE1LjY3MjkgMjAuMjQ0NSAxNi4yMzcyIDIwLjIzNzQgMTYuOTczN0MyMC4yMjMgMTguMzE1NyAxOS4wMDU2IDE5LjE4MyAxNy4xMzU2IDE5LjE4M0MxNi4zMzYxIDE5LjE3NiAxNS41NjYgMTkuMDE3NCAxNS4xNDggMTguODM4N0wxNS4zOTc0IDE3LjM4NjVMMTUuNjMyMSAxNy40ODk4QzE2LjIxMTUgMTcuNzMxIDE2LjU5MjcgMTcuODM0IDE3LjMwNDIgMTcuODM0QzE3LjgxNzMgMTcuODM0IDE4LjM2NzQgMTcuNjM0MiAxOC4zNzQ1IDE3LjIwMDhDMTguMzc0NSAxNi45MTg2IDE4LjE0MDEgMTYuNzExOSAxNy40NTA2IDE2LjM5NTRDMTYuNzc2IDE2LjA4NTUgMTUuODc0MSAxNS41Njk1IDE1Ljg4ODcgMTQuNjQwM0MxNS44OTYzIDEzLjM4MDkgMTcuMTM1NiAxMi41IDE4Ljg5NTYgMTIuNVpNMTIuMjUxMyAxOS4wODY3SDE0LjAzMzVMMTUuMTQ4IDEyLjYxNzRIMTMuMzY2TDEyLjI1MTMgMTkuMDg2N1pNMjMuNjgzNiAxMi42MTc0SDI1LjA2MjFMMjYuNDk5OSAxOS4wODY2SDI0Ljg0OThDMjQuODQ5OCAxOS4wODY2IDI0LjY4ODMgMTguMzQzMyAyNC42MzcxIDE4LjExNjFIMjIuMzQ5QzIyLjI4MjggMTguMjg4MSAyMS45NzQ5IDE5LjA4NjYgMjEuOTc0OSAxOS4wODY2SDIwLjEwNUwyMi43NTIxIDEzLjE1NDFDMjIuOTM1NiAxMi43MzQzIDIzLjI1ODUgMTIuNjE3NCAyMy42ODM2IDEyLjYxNzRaTTIzLjU3MzUgMTQuOTg0N0MyMy41NzM1IDE0Ljk4NDcgMjMuMDA4OCAxNi40MjMyIDIyLjg2MiAxNi43OTQ4SDI0LjM0MzNDMjQuMjcgMTYuNDcxNCAyMy45MzI2IDE0LjkyMjggMjMuOTMyNiAxNC45MjI4TDIzLjgwOCAxNC4zNjU0QzIzLjc1NTYgMTQuNTA4OSAyMy42Nzk3IDE0LjcwNjMgMjMuNjI4NiAxNC44Mzk0QzIzLjU5MzkgMTQuOTI5NiAyMy41NzA1IDE0Ljk5MDMgMjMuNTczNSAxNC45ODQ3Wk0xMC43NjI1IDEyLjYxNzRMOS4wMTcyIDE3LjAyODhMOC44MjY0OCAxNi4xMzQxTDguODI2NDUgMTYuMTM0TDguODI2NiAxNi4xMzQ0TDguMjAzMjggMTMuMTYxMkM4LjEwMDY2IDEyLjc0OCA3Ljc4NTMgMTIuNjMxIDcuMzk2NjUgMTIuNjE3NEg0LjUyOTMzTDQuNSAxMi43NDgxQzUuMTk5MjcgMTIuOTE1OSA1LjgyNDcxIDEzLjE1NzggNi4zNzI3MyAxMy40NTg1TDcuOTYxMTggMTkuMDc5OEg5Ljg0NTc2TDEyLjY0NyAxMi42MTc0SDEwLjc2MjVaIiBmaWxsPSIjMTQzNENCIi8+Cjwvc3ZnPgo=);\n}\n.tooltip__button--data--provider__amex::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMjYgNGMzLjMxMzcgMCA2IDIuNjg2MjkgNiA2djEyYzAgMy4zMTM3LTIuNjg2MyA2LTYgNmgtMjBjLTMuMzEzNzEgMC01Ljk5OTk5OTAyLTIuNjg2My01Ljk5OTk5ODg4LTZsLjAwMDAwMDUzLTEyYy4wMDAwMDAxNC0zLjMxMzcxIDIuNjg2Mjg4MzUtNiA1Ljk5OTk5ODM1LTZ6IiBmaWxsPSIjMDA2ZmNmIi8+PHBhdGggY2xpcC1ydWxlPSJldmVub2RkIiBkPSJtMzAgMjJ2LTEyYzAtMi4yMDkxNC0xLjc5MDktNC00LTRoLTIwYy0yLjIwOTE0IDAtNCAxLjc5MDg2LTQgNHYxMmMwIDIuMjA5MSAxLjc5MDg2IDQgNCA0aDIwYzIuMjA5MSAwIDQtMS43OTA5IDQtNHptMi0xMmMwLTMuMzEzNzEtMi42ODYzLTYtNi02aC0yMGMtMy4zMTM3MSAwLTUuOTk5OTk4MjEgMi42ODYyOS01Ljk5OTk5ODM1IDZsLS4wMDAwMDA1MyAxMmMtLjAwMDAwMDE0IDMuMzEzNyAyLjY4NjI4ODg4IDYgNS45OTk5OTg4OCA2aDIwYzMuMzEzNyAwIDYtMi42ODYzIDYtNnoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjE4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJtMjYuNTcwMiAxNC45MjY1aDIuMTIwMnYtNC45MjY1aC0yLjMwNzN2LjY4NmwtLjQzNjYtLjY4NmgtMS45OTU1di44NzMxbC0uMzc0Mi0uODczMWgtMy42NzkyYy0uMTI0OCAwLS4yNDk1LjA2MjQtLjM3NDIuMDYyNHMtLjE4NzEuMDYyMy0uMzExOC4xMjQ3Yy0uMTI0Ny4wNjIzLS4xODcxLjA2MjMtLjMxMTguMTI0N3YtLjMxMThoLTEwLjUzOWwtLjMxMTguODEwNy0uMzExODEtLjgxMDdoLTIuNDk0NDN2Ljg3MzFsLS4zNzQxNi0uODczMWgtMS45OTU1NWwtLjg3MzA1IDIuMTIwM3YyLjgwNjJoMS40MzQzbC4yNDk0NC0uNjg2aC40OTg4OWwuMjQ5NDQuNjg2aDEwLjk3NTUzdi0uNjIzNmwuNDM2NS42MjM2aDMuMDU1N3YtLjM3NDJjLjA2MjMuMDYyNC4xODcxLjA2MjQuMjQ5NC4xMjQ4LjA2MjQuMDYyMy4xODcxLjA2MjMuMjQ5NS4xMjQ3LjEyNDcuMDYyMy4yNDk0LjA2MjMuMzc0MS4wNjIzaDIuMjQ1bC4yNDk1LS42ODU5aC40OTg4bC4yNDk1LjY4NTloMy4wNTU3di0uNjIzNnptMy40Mjk4IDYuMjM2MXYtNC42MTQ3aC0xNy4xNDkybC0uNDM2NS42MjM2LS40MzY2LS42MjM2aC00Ljk4ODg0djQuOTI2NWg0Ljk4ODg0bC40MzY2LS42MjM2LjQzNjUuNjIzNmgzLjExOHYtMS4wNjAxaC0uMTI0N2MuNDM2NSAwIC44MTA3LS4wNjI0IDEuMTIyNS0uMTg3MXYxLjMwOTVoMi4yNDV2LS42MjM2bC40MzY1LjYyMzZoOS4yOTE4Yy4zNzQxLS4xMjQ3Ljc0ODMtLjE4NyAxLjA2MDEtLjM3NDF6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTI4LjkzOTkgMTkuOTc3N2gtMS42ODM4di42ODZoMS42MjE0Yy42ODYgMCAxLjEyMjUtLjQzNjYgMS4xMjI1LTEuMDYwMnMtLjM3NDItLjkzNTQtLjk5NzgtLjkzNTRoLS43NDgzYy0uMTg3MSAwLS4zMTE4LS4xMjQ3LS4zMTE4LS4zMTE4cy4xMjQ3LS4zMTE4LjMxMTgtLjMxMThoMS40MzQzbC4zMTE4LS42ODU5aC0xLjY4MzdjLS42ODYgMC0xLjEyMjUuNDM2NS0xLjEyMjUuOTk3NyAwIC42MjM2LjM3NDEuOTM1NC45OTc3LjkzNTRoLjc0ODRjLjE4NyAwIC4zMTE4LjEyNDguMzExOC4zMTE4LjA2MjMuMjQ5NS0uMDYyNC4zNzQyLS4zMTE4LjM3NDJ6bS0zLjA1NTcgMGgtMS42ODM4di42ODZoMS42MjE0Yy42ODYgMCAxLjEyMjUtLjQzNjYgMS4xMjI1LTEuMDYwMnMtLjM3NDEtLjkzNTQtLjk5NzgtLjkzNTRoLS43NDgzYy0uMTg3MSAwLS4zMTE4LS4xMjQ3LS4zMTE4LS4zMTE4cy4xMjQ3LS4zMTE4LjMxMTgtLjMxMThoMS40MzQzbC4zMTE4LS42ODU5aC0xLjY4MzdjLS42ODYgMC0xLjEyMjUuNDM2NS0xLjEyMjUuOTk3NyAwIC42MjM2LjM3NDEuOTM1NC45OTc4LjkzNTRoLjc0ODNjLjE4NzEgMCAuMzExOC4xMjQ4LjMxMTguMzExOC4wNjI0LjI0OTUtLjEyNDcuMzc0Mi0uMzExOC4zNzQyem0tMi4xODI2LTEuOTk1NXYtLjY4NmgtMi42MTkydjMuMzA1MWgyLjYxOTJ2LS42ODZoLTEuODcwOXYtLjY4NTloMS44MDg1di0uNjg2aC0xLjgwODV2LS42MjM2aDEuODcwOXptLTQuMjQwNiAwYy4zMTE4IDAgLjQzNjYuMTg3LjQzNjYuMzc0MXMtLjEyNDguMzc0Mi0uNDM2Ni4zNzQyaC0uOTM1NHYtLjgxMDd6bS0uOTM1NCAxLjQzNDNoLjM3NDJsLjk5NzggMS4xODQ4aC45MzU0bC0xLjEyMjUtMS4yNDcyYy41NjEyLS4xMjQ3Ljg3My0uNDk4OS44NzMtLjk5NzggMC0uNjIzNi0uNDM2NS0xLjA2MDEtMS4xMjI1LTEuMDYwMWgtMS43NDYxdjMuMzA1MWguNzQ4NHptLTEuOTk1NS0uOTk3OGMwIC4yNDk0LS4xMjQ4LjQzNjUtLjQzNjYuNDM2NWgtLjk5Nzd2LS44NzNoLjkzNTRjLjMxMTggMCAuNDk4OS4xODcuNDk4OS40MzY1em0tMi4xODI3LTEuMTIyNXYzLjMwNTFoLjc0ODR2LTEuMTIyNWguOTk3N2MuNjg2IDAgMS4xODQ5LS40MzY1IDEuMTg0OS0xLjEyMjUgMC0uNjIzNi0uNDM2NS0xLjEyMjUtMS4xMjI1LTEuMTIyNXptLTEuMTIyNSAzLjMwNTFoLjkzNTVsLTEuMzA5Ni0xLjY4MzcgMS4zMDk2LTEuNjIxNGgtLjkzNTVsLS44MTA2IDEuMDYwMS0uODEwNy0xLjA2MDFoLS45MzU0bDEuMzA5NSAxLjYyMTQtMS4zMDk1IDEuNjIxNGguOTM1NGwuODEwNy0xLjA2MDJ6bS0yLjgwNjItMi42MTkxdi0uNjg2aC0yLjYxOTE1djMuMzA1MWgyLjYxOTE1di0uNjg2aC0xLjg3MDgydi0uNjg1OWgxLjgwODQydi0uNjg2aC0xLjgwODQydi0uNjIzNmgxLjg3MDgyem0xNS4xNTM3LTUuODYyIDEuMzA5NiAxLjk5NTZoLjkzNTR2LTMuMzA1MWgtLjc0ODR2Mi4xODI2bC0uMTg3LS4zMTE4LTEuMTg0OS0xLjg3MDhoLS45OTc4djMuMzA1MWguNzQ4NHYtMi4yNDV6bS0zLjI0MjgtLjA2MjMuMjQ5NS0uNjg2LjI0OTQuNjg2LjMxMTguNzQ4M2gtMS4xMjI1em0xLjMwOTYgMi4wNTc5aC44MTA3bC0xLjQzNDMtMy4zMDUxaC0uOTk3OGwtMS40MzQzIDMuMzA1MWguODEwN2wuMzExOC0uNjg2aDEuNjIxNHptLTMuNDkyMiAwIC4zMTE4LS42ODZoLS4xODcxYy0uNTYxMiAwLS44NzMtLjM3NDEtLjg3My0uOTM1NHYtLjA2MjRjMC0uNTYxMi4zMTE4LS45MzU0Ljg3My0uOTM1NGguODEwN3YtLjY4NTloLS44NzNjLS45OTc4IDAtMS41NTkxLjY4NTktMS41NTkxIDEuNjIxM3YuMDYyNGMwIC45OTc4LjU2MTMgMS42MjE0IDEuNDk2NyAxLjYyMTR6bS0yLjgwNjIgMGguNzQ4M3YtMy4yNDI4aC0uNzQ4M3ptLTEuNjIxNC0yLjYxOTJjLjMxMTggMCAuNDM2NS4xODcxLjQzNjUuMzc0MnMtLjEyNDcuMzc0Mi0uNDM2NS4zNzQyaC0uOTM1NHYtLjgxMDd6bS0uOTM1NCAxLjQzNDNoLjM3NDFsLjk5NzggMS4xODQ5aC45MzU0bC0xLjEyMjUtMS4yNDcyYy41NjEzLS4xMjQ3Ljg3MzEtLjQ5ODkuODczMS0uOTk3OCAwLS42MjM2LS40MzY2LTEuMDYwMS0xLjEyMjUtMS4wNjAxaC0xLjc0NjF2My4zMDUxaC43NDgzem0tMS4zNzItMS40MzQzdi0uNjg1OWgtMi42MTkxdjMuMzA1MWgyLjYxOTF2LS42ODZoLTEuODcwOHYtLjY4NTloMS44MDg1di0uNjg2aC0xLjgwODV2LS42MjM2aDEuODcwOHptLTUuNjc0ODEgMi42MTkyaC42ODU5N2wuOTM1NDEtMi42ODE1djIuNjgxNWguNzQ4MzN2LTMuMzA1MWgtMS4yNDcyMWwtLjc0ODMzIDIuMjQ1LS43NDgzMy0yLjI0NWgtMS4yNDcyMnYzLjMwNTFoLjc0ODMzdi0yLjY4MTV6bS00LjA1MzQ1LTIuMDU3OS4yNDk0NC0uNjg2LjI0OTQ1LjY4Ni4zMTE4Ljc0ODNoLTEuMTIyNDl6bTEuMzA5NTggMi4wNTc5aC44MTA2OWwtMS40MzQzLTMuMzA1MWgtLjkzNTQxbC0xLjQzNDMgMy4zMDUxaC44MTA2OWwuMzExOC0uNjg2aDEuNjIxMzl6IiBmaWxsPSIjMDA2ZmNmIi8+PC9zdmc+);\n}\n.tooltip__button--data--identities::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTYgOS41YTQgNCAwIDEgMS04IDAgNCA0IDAgMCAxIDggMG0tMS41IDBhMi41IDIuNSAwIDEgMS01IDAgMi41IDIuNSAwIDAgMSA1IDAiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgogIDxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDIyYzUuNTIzIDAgMTAtNC40NzcgMTAtMTBTMTcuNTIzIDIgMTIgMiAyIDYuNDc3IDIgMTJzNC40NzcgMTAgMTAgMTBtMC0xLjVhOC40NyA4LjQ3IDAgMCAwIDUuNzA2LTIuMkE2LjU4IDYuNTggMCAwIDAgMTIgMTVhNi41OCA2LjU4IDAgMCAwLTUuNzA1IDMuM0E4LjQ3IDguNDcgMCAwIDAgMTIgMjAuNW0wLTdhOC4wNyA4LjA3IDAgMCAxIDYuNzYgMy42NTMgOC41IDguNSAwIDEgMC0xMy41MiAwQTguMDcgOC4wNyAwIDAgMSAxMiAxMy41IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+Cg==);\n}\n.tooltip__button--data--credentials.tooltip__button--data--bitwarden::before,\n.tooltip__button--data--credentials__current.tooltip__button--data--bitwarden::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTkuMzM3IDNINC42ODRjLS40MTgtLjAxNC0uODA3LjMyNy0uODA5Ljc0OHY5LjAxYy4wMDQuNjg2LjE1IDEuMzY1LjQyOCAyIC41MjggMS4yOSAxLjQ2NSAyLjM4IDIuNTQ1IDMuMjUzLjk2NC44MzggMi4wNDUgMS41IDMuMTY0IDIuMTEuNTIzLjI4NSAxLjM0OC44NzkgMS45NzQuODc5LjY0MyAwIDEuNDYtLjU4NSAxLjk5OS0uODc5IDEuMTItLjYxMSAyLjE5MS0xLjI4MyAzLjE2My0yLjExIDEuMDgtLjg5MyAxLjk5NC0xLjk2IDIuNTQ2LTMuMjUzYTUuMDQ4IDUuMDQ4IDAgMCAwIC40MjgtMnYtOS4wMWMuMDQ0LS40My0uMzgtLjc1NC0uNzg1LS43NDhaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8cGF0aCBmaWxsPSJ1cmwoI0JpdHdhcmRlbi1Db2xvci0yNF9zdmdfX2EpIiBkPSJNNS4wMzMgMmgxMy45NjVhMi4wNDcgMi4wNDcgMCAwIDEgMS4zNzMuNTI4Yy4zNjYuMzMuNjYyLjg1NC42MjYgMS40OXY4LjcyN2E2LjIzOCA2LjIzOCAwIDAgMS0uNTEgMi40MzFjLS42MjEgMS40NzYtMS42MyAyLjY2LTIuNzU4IDMuNjEzLS45NTMuODI2LTEuOTgxIDEuNDkzLTMuMDIgMi4wODJsLS4yMDguMTE3Yy0uMTAzLjA1Ny0uMjIuMTI5LS4zOS4yMzFhMTEuMyAxMS4zIDAgMCAxLS41NDguMzE1Yy0uMzU3LjE5LS45NC40NjYtMS41NzYuNDY2LS42MzUgMC0xLjIyLS4yODUtMS41Ny0uNDcyYTExLjYzIDExLjYzIDAgMCAxLS41NDItLjMxNGMtLjEyNi0uMDc2LS4yMjEtLjEzNS0uMzAyLS4xODJsLS4wNzctLjA0NGMtMS4wOTItLjYwOC0yLjIwOC0xLjI5OS0zLjIyMi0yLjE5NC0xLjEzMS0uOTM1LTIuMTY5LTIuMTQ1LTIuNzY5LTMuNjNBNi4yMzYgNi4yMzYgMCAwIDEgMyAxMi43NDVWMy45NzNjLjAwNC0xLjE0Ny45ODYtMS45OSAyLjAzMy0xLjk3MlptLS4wMTIgMS4yNWMtLjM5OC0uMDE0LS43Ny4zMTgtLjc3MS43Mjd2OC43NmMuMDA0LjY2Ny4xNDMgMS4zMjcuNDA4IDEuOTQ1LjUwMyAxLjI1NCAxLjM5OCAyLjMxNCAyLjQyOCAzLjE2Mi45Mi44MTQgMS45NSAxLjQ1NyAzLjAxOCAyLjA1MS40OTguMjc4IDEuMjg2Ljg1NSAxLjg4My44NTUuNjEzIDAgMS4zOTMtLjU3IDEuOTA2LS44NTUgMS4wNjgtLjU5NCAyLjA5LTEuMjQ3IDMuMDE4LTIuMDUgMS4wMjktLjg2OSAxLjkwMi0xLjkwNyAyLjQyOC0zLjE2M2E0Ljk4NiA0Ljk4NiAwIDAgMCAuNDA4LTEuOTQ1di04Ljc2Yy4wNDItLjQxNy0uMzYyLS43MzMtLjc0OS0uNzI3SDUuMDIxWm0xMi45NzYgOS40NzdjLS4wMDIuNDMtLjA5Mi44NTgtLjI2NiAxLjI2My0uNDI4Ljk5NC0xLjEyNiAxLjgyMi0xLjk0OCAyLjUxNmExNi4zNCAxNi4zNCAwIDAgMS0yLjU1MyAxLjc1NWMtLjQxLjIzLS44LjUwNy0xLjIzLjdWNS4wMDFoNS45OTd2Ny43MjZaIi8+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9IkJpdHdhcmRlbi1Db2xvci0yNF9zdmdfX2EiIHgxPSIxMiIgeDI9IjEyIiB5MT0iMiIgeTI9IjIyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM1NTdGRjMiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMkI1NUNBIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KPC9zdmc+Cg==);\n}\n.tooltip__button--data--credentials.tooltip__button--data--bitwarden#provider_locked::before,\n.tooltip__button--data--credentials__current.tooltip__button--data--bitwarden#provider_locked::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMiIgeDI9IjEyIiB5MT0iMiIgeTI9IjIxLjg0MSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjNTU3ZmYzIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMmI1NWNhIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTciIHgyPSIxNyIgeTE9IjE5LjI1IiB5Mj0iMTEuNjI1Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM4ODgiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNhYWEiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNi45ODYiIHgyPSIxNi45ODYiIHkxPSIxNy4wMzciIHkyPSIyMS4xNTQiPjxzdG9wIG9mZnNldD0iLjAwOCIgc3RvcC1jb2xvcj0iI2UyYTQxMiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2MxODAxMCIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZD0ibTE5LjMzNyAzYy40MDUtLjAwNi44MjkuMzE5Ljc4NS43NDh2NC4yNTJjMCAuNTY4LS4zMjYgMi44LS4zMjYgMi44YTQuMjMyIDQuMjMyIDAgMCAwIC0yLjY4Ny0xLjA0OGwtLjEwOS0uMDAyYTQuMjUgNC4yNSAwIDAgMCAtNC4yNSA0LjI1di44NjVhMi43OTggMi43OTggMCAwIDAgLTIgMi42ODJ2Mi43NDhzLS41My0uMDYtLjczOC0uMTc0Yy0xLjExOS0uNjExLTIuMi0xLjI3Mi0zLjE2My0yLjExLTEuMDgtLjg3Mi0yLjAxOS0xLjk2My0yLjU0Ni0zLjI1M2E1LjA0OCA1LjA0OCAwIDAgMSAtLjQyOC0ydi05LjAxYy4wMDItLjQyMS4zOS0uNzYyLjgwOS0uNzQ3aDE0LjY1M3oiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMTkuMTkgMi4wMWMuNDQ2LjA0Ljg2My4yMyAxLjE4MS41MTguMzY2LjMzLjY2Mi44NTQuNjI2IDEuNDl2Ni4zMjJjMCAuNDM1LS45MTguNjk5LTEuMjUuNDE4di02Ljc4Yy4wNDItLjQxOC0uMzYzLS43MzMtLjc0OS0uNzI3aC0xMy45NzdjLS4zOTgtLjAxNS0uNzcuMzE3LS43NzEuNzI2djguNzYxYy4wMDQuNjY3LjE0MiAxLjMyNy40MDggMS45NDQuNTAzIDEuMjU0IDEuMzk4IDIuMzE0IDIuNDI4IDMuMTYyLjkyLjgxNCAxLjk1IDEuNDU3IDMuMDE4IDIuMDUxLjE4My4xMDMuNDA4LjI0NS42NDYuMzg1IDAgLjU2NC0uNTgzIDEuMTAyLTEuMDcuODE1YTEyLjgzMyAxMi44MzMgMCAwIDAgLS4xODQtLjEwN2MtMS4wOTItLjYwOC0yLjIwOC0xLjMtMy4yMjMtMi4xOTQtMS4xMy0uOTM1LTIuMTY3LTIuMTQ1LTIuNzY3LTMuNjNhNi4yMzggNi4yMzggMCAwIDEgLS41MDYtMi40MTl2LTguNzcyYy4wMDQtMS4xNDcuOTg2LTEuOTkgMi4wMzMtMS45NzFoMTMuOTY1eiIgZmlsbD0idXJsKCNhKSIvPjxwYXRoIGQ9Im0xNy45OTcgOS44NjhhNC4yNTcgNC4yNTcgMCAwIDAgLS44ODgtLjExNmwtLjEwOS0uMDAyYTQuMjUgNC4yNSAwIDAgMCAtNC4yNSA0LjI1di44NjVjLS4yNy4wOC0uNTIxLjItLjc1LjM1MnYtMTAuMjE1aDUuOTk3djQuODY3eiIgZmlsbD0idXJsKCNhKSIvPjxnIHN0cm9rZS13aWR0aD0iMS4yNSI+PHJlY3QgaGVpZ2h0PSI3LjYyNSIgcng9IjIuMzc1IiBzdHJva2U9InVybCgjYikiIHdpZHRoPSI0Ljc1IiB4PSIxNC42MjUiIHk9IjExLjYyNSIvPjxwYXRoIGQ9Im0xMi42MjUgMTcuNTQ2YS45Mi45MiAwIDAgMSAuOTIxLS45MjFoNi45MDhhLjkyLjkyIDAgMCAxIC45MjEuOTIxdjIuOTA4YS45MjEuOTIxIDAgMCAxIC0uOTIxLjkyMWgtNi45MDhhLjkyMS45MjEgMCAwIDEgLS45MjEtLjkyMXoiIGZpbGw9IiNmYzMiIHN0cm9rZT0idXJsKCNjKSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9nPjwvc3ZnPg==);\n}\nhr {\n display: block;\n margin: var(--hr-margin);\n border: none;\n border-top: 1px solid rgba(0, 0, 0, .1);\n}\nhr:first-child {\n display: none;\n}\n@media (prefers-color-scheme: dark) {\n hr {\n border-top: 1px solid rgba(255, 255, 255, .2);\n }\n}\n#privateAddress {\n align-items: flex-start;\n}\n#personalAddress::before,\n#privateAddress::before,\n#incontextSignup::before,\n#personalAddress.currentFocus::before,\n#personalAddress:hover::before,\n#privateAddress.currentFocus::before,\n#privateAddress:hover::before {\n filter: none;\n background-size: 24px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iI0RFNTgzMyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTIgMjJjNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMxNy41MjMgMiAxMiAyIDIgNi40NzcgMiAxMnM0LjQ3NyAxMCAxMCAxMCIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iI0RERCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTMuNDA2IDE5LjQ2YzAtLjA3Ny4wMi0uMDk1LS4yMjktLjU5LS42Ni0xLjMyMi0xLjMyMy0zLjE4NS0xLjAyMS00LjM4Ny4wNTUtLjIxOC0uNjIyLTguMDg1LTEuMS04LjMzOC0uNTMyLS4yODMtMS4xODYtLjczMy0xLjc4NC0uODMzLS4zMDQtLjA0OC0uNzAyLS4wMjUtMS4wMTMuMDE3LS4wNTYuMDA3LS4wNTguMTA2LS4wMDUuMTI0LjIwNC4wNy40NTIuMTkuNTk5LjM3MS4wMjcuMDM1LS4wMS4wODktLjA1NC4wOS0uMTM4LjAwNi0uMzg4LjA2My0uNzE4LjM0NC0uMDM4LjAzMi0uMDA2LjA5Mi4wNDMuMDgyLjcwOS0uMTQgMS40MzMtLjA3IDEuODYuMzE3LjAyNy4wMjUuMDEzLjA3LS4wMjQuMDgtMy43MDIgMS4wMDYtMi45NjkgNC4yMjctMS45ODMgOC4xNzkuODc4IDMuNTIgMS4yMDggNC42NTUgMS4zMTIgNXEuMDE2LjA1Mi4wNjYuMDczYzEuMjc1LjUwOCA0LjA1MS41MyA0LjA1MS0uMzMzdi0uMTk1WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEzLjkxNCAyMC4yMDNjLS40NDkuMTc2LTEuMzI4LjI1NC0xLjgzNi4yNTQtLjc0NCAwLTEuODE2LS4xMTctMi4yMDctLjI5M2E4OCA4OCAwIDAgMS0xLjY3Ni01Ljk2NmwtLjA3LS4yODZ2LS4wMDJjLS44NDgtMy40NjItMS41NC02LjI5IDIuMjU0LTcuMTc4LjAzNS0uMDA4LjA1Mi0uMDUuMDI5LS4wNzctLjQzNi0uNTE2LTEuMjUxLS42ODYtMi4yODItLjMzLS4wNDMuMDE1LS4wOC0uMDI4LS4wNTMtLjA2NC4yMDItLjI3OS41OTctLjQ5My43OTItLjU4Ny4wNC0uMDIuMDM4LS4wNzktLjAwNC0uMDkyYTQgNCAwIDAgMC0uNTktLjE0Yy0uMDU4LS4wMS0uMDYzLS4xMDktLjAwNS0uMTE3IDEuNDYyLS4xOTYgMi45ODkuMjQzIDMuNzU1IDEuMjA3YS4wNS4wNSAwIDAgMCAuMDI5LjAxOGMyLjgwNS42MDMgMy4wMDYgNS4wMzcgMi42ODIgNS4yNC0uMDYzLjAzOS0uMjY3LjAxNi0uNTM3LS4wMTQtMS4wOTEtLjEyMi0zLjI1Mi0uMzY0LTEuNDY5IDIuOTYuMDE4LjAzMy0uMDA1LjA3Ny0uMDQyLjA4Mi0xLjAwNi4xNTcuMjgzIDMuMzA5IDEuMjMgNS4zODUiLz4KICA8cGF0aCBmaWxsPSIjM0NBODJCIiBkPSJNMTUuMTY5IDE2LjE3MmMtLjIxMy0uMS0xLjAzNS40OS0xLjU4Ljk0Mi0uMTE0LS4xNjItLjMyOC0uMjc5LS44MTMtLjE5NS0uNDI0LjA3NC0uNjU4LjE3Ny0uNzYyLjM1My0uNjctLjI1NC0xLjc5NS0uNjQ2LTIuMDY3LS4yNjctLjI5Ny40MTMuMDc0IDIuMzY4LjQ3IDIuNjIyLjIwNS4xMzMgMS4xOTEtLjUwMSAxLjcwNi0uOTM4LjA4My4xMTcuMjE3LjE4NC40OTIuMTc4LjQxNi0uMDEgMS4wOS0uMTA3IDEuMTk1LS4zYS4yLjIgMCAwIDAgLjAxNy0uMDQyYy41MjkuMTk4IDEuNDYuNDA3IDEuNjY5LjM3Ni41NDItLjA4MS0uMDc2LTIuNjEzLS4zMjctMi43M1oiLz4KICA8cGF0aCBmaWxsPSIjNENCQTNDIiBkPSJNMTMuNjQgMTcuMTcycS4wMzMuMDYuMDU1LjEyNWMuMDc2LjIxLjE5OS44ODIuMTA2IDEuMDQ4cy0uNjk3LjI0Ni0xLjA3LjI1MmMtLjM3Mi4wMDctLjQ1Ni0uMTMtLjUzMS0uMzQtLjA2LS4xNy0uMDktLjU2Ni0uMDktLjc5NC0uMDE1LS4zMzcuMTA4LS40NTUuNjc3LS41NDcuNDIyLS4wNjkuNjQ0LjAxLjc3My4xNDYuNTk4LS40NDYgMS41OTYtMS4wNzYgMS42OTMtLjk2LjQ4Ni41NzMuNTQ3IDEuOTQuNDQyIDIuNDktLjAzNC4xOC0xLjY0MS0uMTc4LTEuNjQxLS4zNzIgMC0uODA1LS4yMS0xLjAyNi0uNDE1LTEuMDQ4Wm0tMy41Mi0uMjUyYy4xMy0uMjA4IDEuMTk4LjA1IDEuNzg0LjMxMiAwIDAtLjEyLjU0NS4wNzEgMS4xODguMDU2LjE4OC0xLjM0OCAxLjAyNC0xLjUzMS44OC0uMjEyLS4xNjYtLjYwMi0xLjk0Mi0uMzI1LTIuMzhaIi8+CiAgPHBhdGggZmlsbD0iI0ZDMyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNjM2IDEyLjY4OGMuMDg2LS4zNzUuNDg5LTEuMDgzIDEuOTI1LTEuMDY2LjcyNi0uMDAyIDEuNjI5IDAgMi4yMjctLjA2OGE4IDggMCAwIDAgMS45ODgtLjQ4M2MuNjIyLS4yMzcuODQzLS4xODUuOTItLjA0My4wODUuMTU2LS4wMTUuNDI2LS4yMzIuNjczLS40MTUuNDc0LTEuMTYyLjg0MS0yLjQ4Ljk1LTEuMzE3LjEwOS0yLjE5LS4yNDUtMi41NjYuMzMtLjE2Mi4yNS0uMDM3LjgzNCAxLjIzOCAxLjAxOCAxLjcyMi4yNDkgMy4xMzYtLjMgMy4zMS4wMzIuMTc1LjMzLS44MzEgMS4wMDQtMi41NTYgMS4wMThzLTIuODAyLS42MDQtMy4xODQtLjkxYy0uNDg1LS4zOS0uNzAyLS45NTktLjU5LTEuNDVaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8ZyBmaWxsPSIjMTQzMDdFIiBvcGFjaXR5PSIuOCI+CiAgICA8cGF0aCBkPSJNMTIuODMzIDguNTgyYy4wOTYtLjE1Ny4zMS0uMjc5LjY1OC0uMjc5LjM1IDAgLjUxNC4xNC42MjcuMjk0LjAyNC4wMzItLjAxMi4wNjktLjA0OC4wNTNsLS4wMjYtLjAxMWExLjMgMS4zIDAgMCAwLS41NTMtLjEyOCAxLjE0IDEuMTQgMCAwIDAtLjU4Mi4xM2MtLjAzOS4wMi0uMS0uMDIxLS4wNzYtLjA1OW0tMy45MzEuMjAyYTEuMjUgMS4yNSAwIDAgMSAuNzk0LS4wNzljLjA0LjAxLjA2Ny0uMDMzLjAzNS0uMDU5LS4xNDYtLjExOC0uNDczLS4yNjQtLjktLjEwNS0uMzguMTQyLS41Ni40MzctLjU2MS42MyAwIC4wNDcuMDk0LjA1LjExOC4wMTIuMDY2LS4xMDUuMTc1LS4yNTcuNTE0LS40WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTMuNzg4IDEwLjczOGEuNTQyLjU0MiAwIDEgMS0uMDAyLTEuMDguNTQyLjU0MiAwIDAgMSAuMDAyIDEuMDhtLjM4Mi0uNzJhLjE0LjE0IDAgMCAwLS4yODEgMCAuMTQuMTQgMCAwIDAgLjI4MSAwbS0zLjk3OS41NTJhLjYzMi42MzIgMCAxIDEtMS4yNjMgMCAuNjMyLjYzMiAwIDAgMSAxLjI2MyAwbS0uMTg2LS4yMDhhLjE2NC4xNjQgMCAwIDAtLjMyOCAwIC4xNjQuMTY0IDAgMCAwIC4zMjggMCIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPC9nPgogIDxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDIwYTggOCAwIDEgMCAwLTE2IDggOCAwIDAgMCAwIDE2bTAgMWE5IDkgMCAxIDAgMC0xOCA5IDkgMCAwIDAgMCAxOCIgY2xpcC1ydWxlPSJldmVub2RkIi8+Cjwvc3ZnPgo=);\n}\n.tooltip__button--email {\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n font-size: 14px;\n padding: 4px 8px;\n}\n.tooltip__button--email__primary-text {\n font-weight: bold;\n}\n.tooltip__button--email__secondary-text {\n font-size: 12px;\n}\n:not(.top-autofill) .tooltip--email-signup {\n text-align: left;\n color: #222;\n padding: 16px 20px;\n width: 380px;\n}\n.tooltip--email-signup h1 {\n font-weight: 700;\n font-size: 16px;\n line-height: 1.5;\n margin: 0;\n}\n.tooltip--email-signup p {\n font-weight: 400;\n font-size: 14px;\n line-height: 1.4;\n}\n.notice-controls {\n display: flex;\n}\n.tooltip--email-signup .notice-controls > * {\n border-radius: 8px;\n border: 0;\n cursor: pointer;\n display: inline-block;\n font-family: inherit;\n font-style: normal;\n font-weight: bold;\n padding: 8px 12px;\n text-decoration: none;\n}\n.notice-controls .ghost {\n margin-left: 1rem;\n}\n.tooltip--email-signup a.primary {\n background: #3969EF;\n color: #fff;\n}\n.tooltip--email-signup a.primary:hover,\n.tooltip--email-signup a.primary:focus {\n background: #2b55ca;\n}\n.tooltip--email-signup a.primary:active {\n background: #1e42a4;\n}\n.tooltip--email-signup button.ghost {\n background: transparent;\n color: #3969EF;\n}\n.tooltip--email-signup button.ghost:hover,\n.tooltip--email-signup button.ghost:focus {\n background-color: rgba(0, 0, 0, 0.06);\n color: #2b55ca;\n}\n.tooltip--email-signup button.ghost:active {\n background-color: rgba(0, 0, 0, 0.12);\n color: #1e42a4;\n}\n.tooltip--email-signup button.close-tooltip {\n background-color: transparent;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMiAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjI5Mjg5NCAwLjY1NjkwN0MwLjY4MzQxOCAwLjI2NjM4MyAxLjMxNjU4IDAuMjY2MzgzIDEuNzA3MTEgMC42NTY5MDdMNiA0Ljk0OThMMTAuMjkyOSAwLjY1NjkwN0MxMC42ODM0IDAuMjY2MzgzIDExLjMxNjYgMC4yNjYzODMgMTEuNzA3MSAwLjY1NjkwN0MxMi4wOTc2IDEuMDQ3NDMgMTIuMDk3NiAxLjY4MDYgMTEuNzA3MSAyLjA3MTEyTDcuNDE0MjEgNi4zNjQwMUwxMS43MDcxIDEwLjY1NjlDMTIuMDk3NiAxMS4wNDc0IDEyLjA5NzYgMTEuNjgwNiAxMS43MDcxIDEyLjA3MTFDMTEuMzE2NiAxMi40NjE2IDEwLjY4MzQgMTIuNDYxNiAxMC4yOTI5IDEyLjA3MTFMNiA3Ljc3ODIzTDEuNzA3MTEgMTIuMDcxMUMxLjMxNjU4IDEyLjQ2MTYgMC42ODM0MTcgMTIuNDYxNiAwLjI5Mjg5MyAxMi4wNzExQy0wLjA5NzYzMTEgMTEuNjgwNiAtMC4wOTc2MzExIDExLjA0NzQgMC4yOTI4OTMgMTAuNjU2OUw0LjU4NTc5IDYuMzY0MDFMMC4yOTI4OTQgMi4wNzExMkMtMC4wOTc2MzA2IDEuNjgwNiAtMC4wOTc2MzA2IDEuMDQ3NDMgMC4yOTI4OTQgMC42NTY5MDdaIiBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0Ii8+Cjwvc3ZnPgo=);\n background-position: center center;\n background-repeat: no-repeat;\n border: 0;\n cursor: pointer;\n padding: 16px;\n position: absolute;\n right: 12px;\n top: 12px;\n}\n.tooltip__button--credentials-import::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgZD0iTTE0Ljk5OCAyQTcuMDA0IDcuMDA0IDAgMCAxIDIyIDkuMDA2YzAgMi0uODM4IDMuODA2LTIuMTgyIDUuMDgyYS42Ni42NiAwIDAgMS0uNzY4LjA5MmMtLjQ3Mi0uMjUxLS41MDctLjkzLS4xMzItMS4zMUE1LjUgNS41IDAgMCAwIDIwLjUgOS4wMDYgNS41MDQgNS41MDQgMCAwIDAgMTQuOTk4IDMuNWE1LjUwNCA1LjUwNCAwIDAgMC01LjMzOCA2Ljg0N2wuMDI1LjExMmMuMTAzLjU0NC0uMDE4IDEuMTU2LS40NCAxLjYxMWwtLjA0Ni4wNDctNS4wNCA1LjA0M2EyLjI1IDIuMjUgMCAwIDAtLjY1OSAxLjYwMmwuMDAzLjQ5NC4wMDIuMDY1QTEuMjUgMS4yNSAwIDAgMCA0Ljc1MyAyMC41aC45OTNhLjc1Ljc1IDAgMCAwIC43NS0uNzV2LS43MzRhMS41IDEuNSAwIDAgMSAxLjUtMS41aC45ODJhLjUuNSAwIDAgMCAuMzU0LS4xNDdsMS4xNzgtMS4xNzhhLjczNi43MzYgMCAwIDEgMS4wNjIgMS4wMmwtLjUzMi41Ny0uNjQ3LjY0OWEyIDIgMCAwIDEtMS40MTUuNTg2aC0uOTgydi43MzRBMi4yNSAyLjI1IDAgMCAxIDUuNzQ2IDIyaC0uOTkzYTIuNzUgMi43NSAwIDAgMS0yLjc0Ni0yLjU5NWwtLjAwNC0uMTRMMiAxOC43N2EzLjc1IDMuNzUgMCAwIDEgMS4wOTgtMi42N2w1LjA0LTUuMDQ0LjAyMi0uMDI1YS4zNi4zNiAwIDAgMCAuMDU2LS4yNmwtLjAxMS0uMDZBNy4wMDQgNy4wMDQgMCAwIDEgMTQuOTk4IDIiLz4KICA8cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii45IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS41IDZhMi41IDIuNSAwIDEgMSAwIDUgMi41IDIuNSAwIDAgMSAwLTVtMCAxLjVhMSAxIDAgMSAwIDAgMiAxIDEgMCAwIDAgMC0yIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTMuMDAzIDE2LjE5cTAtLjAzLjAwMy0uMDU4YTEgMSAwIDAgMSAuMDE5LS4wOTdsLjAxLS4wNGExIDEgMCAwIDEgLjA0Ni0uMTEybC4wMDgtLjAxOS4wMDMtLjAwNi4wMDYtLjAwOWExIDEgMCAwIDEgLjA2NS0uMDk2bC4wMDgtLjAxMS4wMDMtLjAwNCAzLjEyNS0zLjc1YS43NS43NSAwIDAgMSAxLjE1Mi45NjFsLTIuMTI2IDIuNTVoNS4xNDRhLjc1Ljc1IDAgMCAxIDAgMS41aC01LjA5MmwyLjA3NCAyLjQ5LjA0Ni4wNmEuNzUuNzUgMCAwIDEtMS4xNDYuOTU2bC0uMDUyLS4wNTYtMy4xMjUtMy43NS0uMDAzLS4wMDMtLjAxNi0uMDIxLS4wMjctLjAzOC0uMDItLjAzNi0uMDM1LS4wNjNhLjguOCAwIDAgMS0uMDctLjI3MXoiLz4KPC9zdmc+Cg==);\n}\n.tooltip__button--totp::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgIGQ9Ik0zIDQuOTQ4MjhWNy4wMjA5NEMxLjg3MDY0IDcuMTczNSAxIDguMTQxMzIgMSA5LjMxMjVWMTMuNjg3NUMxIDE0Ljk2NDcgMi4wMzUzNCAxNiAzLjMxMjUgMTZIMTIuNjg3NUMxMy45NjQ3IDE2IDE1IDE0Ljk2NDcgMTUgMTMuNjg3NVY5LjMxMjVDMTUgOC4xNDEzMiAxNC4xMjk0IDcuMTczNSAxMyA3LjAyMDk0VjQuOTQ4MjhDMTMgMi4yMDg0MyAxMC43NTQ0IDAgOCAwQzUuMjQ1NiAwIDMgMi4yMDg0MyAzIDQuOTQ4MjhaTTggMS4yNUM1LjkyMTkgMS4yNSA0LjI1IDIuOTEyNzYgNC4yNSA0Ljk0ODI4VjdIMTEuNzVWNC45NDgyOEMxMS43NSAyLjkxMjc2IDEwLjA3ODEgMS4yNSA4IDEuMjVaTTIuMjUgOS4zMTI1QzIuMjUgOC43MjU3IDIuNzI1NyA4LjI1IDMuMzEyNSA4LjI1SDEyLjY4NzVDMTMuMjc0MyA4LjI1IDEzLjc1IDguNzI1NyAxMy43NSA5LjMxMjVWMTMuNjg3NUMxMy43NSAxNC4yNzQzIDEzLjI3NDMgMTQuNzUgMTIuNjg3NSAxNC43NUgzLjMxMjVDMi43MjU3IDE0Ljc1IDIuMjUgMTQuMjc0MyAyLjI1IDEzLjY4NzVWOS4zMTI1WiIKICAgICAgICBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0IiBzdHlsZT0iZmlsbDpibGFjaztmaWxsLW9wYWNpdHk6MC44NDsiIC8+CiAgICA8cGF0aAogICAgICAgIGQ9Ik0zLjUgMTEuNUMzLjUgMTAuOTQ3NyAzLjk0NzcyIDEwLjUgNC41IDEwLjVDNS4wNTIyOCAxMC41IDUuNSAxMC45NDc3IDUuNSAxMS41QzUuNSAxMi4wNTIzIDUuMDUyMjggMTIuNSA0LjUgMTIuNUMzLjk0NzcyIDEyLjUgMy41IDEyLjA1MjMgMy41IDExLjVaIgogICAgICAgIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuODQiIHN0eWxlPSJmaWxsOmJsYWNrO2ZpbGwtb3BhY2l0eTowLjg0OyIgLz4KICAgIDxwYXRoCiAgICAgICAgZD0iTTcgMTEuNUM3IDEwLjk0NzcgNy40NDc3MiAxMC41IDggMTAuNUM4LjU1MjI4IDEwLjUgOSAxMC45NDc3IDkgMTEuNUM5IDEyLjA1MjMgOC41NTIyOCAxMi41IDggMTIuNUM3LjQ0NzcyIDEyLjUgNyAxMi4wNTIzIDcgMTEuNVoiCiAgICAgICAgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC44NCIgc3R5bGU9ImZpbGw6YmxhY2s7ZmlsbC1vcGFjaXR5OjAuODQ7IiAvPgogICAgPHBhdGgKICAgICAgICBkPSJNMTAuNSAxMS41QzEwLjUgMTAuOTQ3NyAxMC45NDc3IDEwLjUgMTEuNSAxMC41QzEyLjA1MjMgMTAuNSAxMi41IDEwLjk0NzcgMTIuNSAxMS41QzEyLjUgMTIuMDUyMyAxMi4wNTIzIDEyLjUgMTEuNSAxMi41QzEwLjk0NzcgMTIuNSAxMC41IDEyLjA1MjMgMTAuNSAxMS41WiIKICAgICAgICBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0IiBzdHlsZT0iZmlsbDpibGFjaztmaWxsLW9wYWNpdHk6MC44NDsiIC8+Cjwvc3ZnPg==);\n}\n.truncate {\n display: block;\n width: 0;\n min-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: 1.25;\n}\n'; // src/UI/HTMLTooltip.js var defaultOptions = { @@ -17380,14 +18435,14 @@ Source: "${matchedFrom}"`; break; } } - focus(x, y) { + focus(x2, y) { const focusableElements = "button"; const currentFocusClassName = "currentFocus"; const currentFocused = this.shadow.querySelectorAll(`.${currentFocusClassName}`); [...currentFocused].forEach((el) => { el.classList.remove(currentFocusClassName); }); - this.shadow.elementFromPoint(x, y)?.closest(focusableElements)?.classList.add(currentFocusClassName); + this.shadow.elementFromPoint(x2, y)?.closest(focusableElements)?.classList.add(currentFocusClassName); } checkPosition() { if (this.animationFrame) { @@ -17822,6 +18877,50 @@ ${this.options.css} } }; + // src/UI/TOTPHTMLTooltip.js + var TOTPHTMLTooltip = class extends HTMLTooltip_default { + /** + * Render the TOTP tooltip with the current TOTP code + * @param {import("../DeviceInterface/InterfacePrototype").default} device - The device interface + * @param {InputTypeConfigs} config - The input type configs + * @param {Object} callbacks - Callback functions for the tooltip + * @returns {TOTPHTMLTooltip} The rendered tooltip instance + */ + render(device, config, callbacks) { + const localCredential = device.getLocalCredentials()[0]; + const t = device.t; + this.shadow.innerHTML = ` +${this.options.css} +
+
+ +
+ +
+
+`; + this.tooltip = this.shadow.querySelector(".tooltip"); + this.buttonWrapper = this.shadow.querySelector(".js-select"); + this.manageWrapper = this.shadow.querySelector(".js-manage"); + this.registerClickableButton(this.buttonWrapper, () => { + callbacks.onSelect(this.buttonWrapper?.id); + }); + this.registerClickableButton(this.manageWrapper, () => { + callbacks.onManage(config.type); + }); + this.init(); + return this; + } + }; + // src/UI/controllers/HTMLTooltipUIController.js var HTMLTooltipUIController = class extends UIController { /** @@ -17894,7 +18993,7 @@ ${this.options.css} } }; const hasNoCredentialsData = this._options.device.getLocalCredentials().length === 0; - if (topContextData.credentialsImport && hasNoCredentialsData) { + if (topContextData.credentialsImport && hasNoCredentialsData && topContextData.inputType.includes("credentials")) { this._options.device.firePixel({ pixelName: "autofill_import_credentials_prompt_shown" }); return new CredentialsImportTooltip(topContextData.inputType, getPosition, tooltipOptions).render(this._options.device, { onStarted: () => { @@ -17914,6 +19013,17 @@ ${this.options.css} return new EmailSignupHTMLTooltip(topContextData.inputType, getPosition, tooltipOptions).render(this._options.device); } const data = this._dataForAutofill(config, topContextData.inputType, topContextData); + const hasTotp = this._options.device.getLocalCredentials().some((cred) => cred.totp); + if (hasTotp && topContextData.inputType === "credentials.totp") { + return new TOTPHTMLTooltip(topContextData.inputType, getPosition, tooltipOptions).render(this._options.device, config, { + onSelect: (id) => { + this._onSelect(topContextData.inputType, data, id); + }, + onManage: (type) => { + this._onManage(type); + } + }); + } const asRenderers = data.map((d) => config.tooltipItem(d)); return new DataHTMLTooltip(topContextData.inputType, getPosition, tooltipOptions).render( this._options.device, @@ -18318,34 +19428,12 @@ ${this.options.css} }); this._mutObs.observe(document.body, { childList: true, subtree: true }); const position = getPosition(); - if (!click && !this.elementIsInViewport(position)) { - input.scrollIntoView(true); - this._mutObs?.disconnect(); - setTimeout(() => { - this.attachTooltip(args); - }, 50); - return; - } __privateSet(this, _state, "parentShown"); this.showTopTooltip(click, position, topContextData).catch((e) => { console.error("error from showTopTooltip", e); __privateSet(this, _state, "idle"); }); } - /** - * @param {{ x: number; y: number; height: number; width: number; }} inputDimensions - * @returns {boolean} - */ - elementIsInViewport(inputDimensions) { - if (inputDimensions.x < 0 || inputDimensions.y < 0 || inputDimensions.x + inputDimensions.width > document.documentElement.clientWidth || inputDimensions.y + inputDimensions.height > document.documentElement.clientHeight) { - return false; - } - const viewport = document.documentElement; - if (inputDimensions.x + inputDimensions.width > viewport.clientWidth || inputDimensions.y + inputDimensions.height > viewport.clientHeight) { - return false; - } - return true; - } /** * @param {{ x: number; y: number; } | null} click * @param {{ x: number; y: number; height: number; width: number; }} inputDimensions @@ -18357,8 +19445,6 @@ ${this.options.css} if (click) { diffX -= click.x; diffY -= click.y; - } else if (!this.elementIsInViewport(inputDimensions)) { - return; } if (!data.inputType) { throw new Error("No input type found"); diff --git a/node_modules/@duckduckgo/autofill/dist/autofill.css b/node_modules/@duckduckgo/autofill/dist/autofill.css index 2c1afd58fa4b..77d651419ece 100644 --- a/node_modules/@duckduckgo/autofill/dist/autofill.css +++ b/node_modules/@duckduckgo/autofill/dist/autofill.css @@ -444,6 +444,10 @@ hr:first-child { background-size: 20px; background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgZD0iTTE0Ljk5OCAyQTcuMDA0IDcuMDA0IDAgMCAxIDIyIDkuMDA2YzAgMi0uODM4IDMuODA2LTIuMTgyIDUuMDgyYS42Ni42NiAwIDAgMS0uNzY4LjA5MmMtLjQ3Mi0uMjUxLS41MDctLjkzLS4xMzItMS4zMUE1LjUgNS41IDAgMCAwIDIwLjUgOS4wMDYgNS41MDQgNS41MDQgMCAwIDAgMTQuOTk4IDMuNWE1LjUwNCA1LjUwNCAwIDAgMC01LjMzOCA2Ljg0N2wuMDI1LjExMmMuMTAzLjU0NC0uMDE4IDEuMTU2LS40NCAxLjYxMWwtLjA0Ni4wNDctNS4wNCA1LjA0M2EyLjI1IDIuMjUgMCAwIDAtLjY1OSAxLjYwMmwuMDAzLjQ5NC4wMDIuMDY1QTEuMjUgMS4yNSAwIDAgMCA0Ljc1MyAyMC41aC45OTNhLjc1Ljc1IDAgMCAwIC43NS0uNzV2LS43MzRhMS41IDEuNSAwIDAgMSAxLjUtMS41aC45ODJhLjUuNSAwIDAgMCAuMzU0LS4xNDdsMS4xNzgtMS4xNzhhLjczNi43MzYgMCAwIDEgMS4wNjIgMS4wMmwtLjUzMi41Ny0uNjQ3LjY0OWEyIDIgMCAwIDEtMS40MTUuNTg2aC0uOTgydi43MzRBMi4yNSAyLjI1IDAgMCAxIDUuNzQ2IDIyaC0uOTkzYTIuNzUgMi43NSAwIDAgMS0yLjc0Ni0yLjU5NWwtLjAwNC0uMTRMMiAxOC43N2EzLjc1IDMuNzUgMCAwIDEgMS4wOTgtMi42N2w1LjA0LTUuMDQ0LjAyMi0uMDI1YS4zNi4zNiAwIDAgMCAuMDU2LS4yNmwtLjAxMS0uMDZBNy4wMDQgNy4wMDQgMCAwIDEgMTQuOTk4IDIiLz4KICA8cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii45IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS41IDZhMi41IDIuNSAwIDEgMSAwIDUgMi41IDIuNSAwIDAgMSAwLTVtMCAxLjVhMSAxIDAgMSAwIDAgMiAxIDEgMCAwIDAgMC0yIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTMuMDAzIDE2LjE5cTAtLjAzLjAwMy0uMDU4YTEgMSAwIDAgMSAuMDE5LS4wOTdsLjAxLS4wNGExIDEgMCAwIDEgLjA0Ni0uMTEybC4wMDgtLjAxOS4wMDMtLjAwNi4wMDYtLjAwOWExIDEgMCAwIDEgLjA2NS0uMDk2bC4wMDgtLjAxMS4wMDMtLjAwNCAzLjEyNS0zLjc1YS43NS43NSAwIDAgMSAxLjE1Mi45NjFsLTIuMTI2IDIuNTVoNS4xNDRhLjc1Ljc1IDAgMCAxIDAgMS41aC01LjA5MmwyLjA3NCAyLjQ5LjA0Ni4wNmEuNzUuNzUgMCAwIDEtMS4xNDYuOTU2bC0uMDUyLS4wNTYtMy4xMjUtMy43NS0uMDAzLS4wMDMtLjAxNi0uMDIxLS4wMjctLjAzOC0uMDItLjAzNi0uMDM1LS4wNjNhLjguOCAwIDAgMS0uMDctLjI3MXoiLz4KPC9zdmc+Cg==); } +.tooltip__button--totp::before { + background-size: 20px; + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgIGQ9Ik0zIDQuOTQ4MjhWNy4wMjA5NEMxLjg3MDY0IDcuMTczNSAxIDguMTQxMzIgMSA5LjMxMjVWMTMuNjg3NUMxIDE0Ljk2NDcgMi4wMzUzNCAxNiAzLjMxMjUgMTZIMTIuNjg3NUMxMy45NjQ3IDE2IDE1IDE0Ljk2NDcgMTUgMTMuNjg3NVY5LjMxMjVDMTUgOC4xNDEzMiAxNC4xMjk0IDcuMTczNSAxMyA3LjAyMDk0VjQuOTQ4MjhDMTMgMi4yMDg0MyAxMC43NTQ0IDAgOCAwQzUuMjQ1NiAwIDMgMi4yMDg0MyAzIDQuOTQ4MjhaTTggMS4yNUM1LjkyMTkgMS4yNSA0LjI1IDIuOTEyNzYgNC4yNSA0Ljk0ODI4VjdIMTEuNzVWNC45NDgyOEMxMS43NSAyLjkxMjc2IDEwLjA3ODEgMS4yNSA4IDEuMjVaTTIuMjUgOS4zMTI1QzIuMjUgOC43MjU3IDIuNzI1NyA4LjI1IDMuMzEyNSA4LjI1SDEyLjY4NzVDMTMuMjc0MyA4LjI1IDEzLjc1IDguNzI1NyAxMy43NSA5LjMxMjVWMTMuNjg3NUMxMy43NSAxNC4yNzQzIDEzLjI3NDMgMTQuNzUgMTIuNjg3NSAxNC43NUgzLjMxMjVDMi43MjU3IDE0Ljc1IDIuMjUgMTQuMjc0MyAyLjI1IDEzLjY4NzVWOS4zMTI1WiIKICAgICAgICBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0IiBzdHlsZT0iZmlsbDpibGFjaztmaWxsLW9wYWNpdHk6MC44NDsiIC8+CiAgICA8cGF0aAogICAgICAgIGQ9Ik0zLjUgMTEuNUMzLjUgMTAuOTQ3NyAzLjk0NzcyIDEwLjUgNC41IDEwLjVDNS4wNTIyOCAxMC41IDUuNSAxMC45NDc3IDUuNSAxMS41QzUuNSAxMi4wNTIzIDUuMDUyMjggMTIuNSA0LjUgMTIuNUMzLjk0NzcyIDEyLjUgMy41IDEyLjA1MjMgMy41IDExLjVaIgogICAgICAgIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuODQiIHN0eWxlPSJmaWxsOmJsYWNrO2ZpbGwtb3BhY2l0eTowLjg0OyIgLz4KICAgIDxwYXRoCiAgICAgICAgZD0iTTcgMTEuNUM3IDEwLjk0NzcgNy40NDc3MiAxMC41IDggMTAuNUM4LjU1MjI4IDEwLjUgOSAxMC45NDc3IDkgMTEuNUM5IDEyLjA1MjMgOC41NTIyOCAxMi41IDggMTIuNUM3LjQ0NzcyIDEyLjUgNyAxMi4wNTIzIDcgMTEuNVoiCiAgICAgICAgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC44NCIgc3R5bGU9ImZpbGw6YmxhY2s7ZmlsbC1vcGFjaXR5OjAuODQ7IiAvPgogICAgPHBhdGgKICAgICAgICBkPSJNMTAuNSAxMS41QzEwLjUgMTAuOTQ3NyAxMC45NDc3IDEwLjUgMTEuNSAxMC41QzEyLjA1MjMgMTAuNSAxMi41IDEwLjk0NzcgMTIuNSAxMS41QzEyLjUgMTIuMDUyMyAxMi4wNTIzIDEyLjUgMTEuNSAxMi41QzEwLjk0NzcgMTIuNSAxMC41IDEyLjA1MjMgMTAuNSAxMS41WiIKICAgICAgICBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0IiBzdHlsZT0iZmlsbDpibGFjaztmaWxsLW9wYWNpdHk6MC44NDsiIC8+Cjwvc3ZnPg==); +} .truncate { display: block; width: 0; diff --git a/node_modules/@duckduckgo/autofill/dist/autofill.js b/node_modules/@duckduckgo/autofill/dist/autofill.js index e59b7c3205a9..3589da9c3072 100644 --- a/node_modules/@duckduckgo/autofill/dist/autofill.js +++ b/node_modules/@duckduckgo/autofill/dist/autofill.js @@ -10,6 +10,7 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj)); var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value); var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value); + var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method); // src/requestIdleCallback.js /*! @@ -143,6 +144,10 @@ matchers: { fields: { unknown: { type: "unknown", strategies: { ddgMatcher: "unknown" } }, + totp: { + type: "totp", + strategies: { cssSelector: "totp", ddgMatcher: "totp" } + }, emailAddress: { type: "emailAddress", strategies: { @@ -309,6 +314,7 @@ }, lists: { unknown: ["unknown"], + totp: ["totp"], emailAddress: ["emailAddress"], password: ["password"], username: ["username"], @@ -341,14 +347,15 @@ strategies: { cssSelector: { selectors: { - genericTextInputField: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([name*=otp]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month])', + genericTextInputField: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month])', submitButtonSelector: 'input[type=submit], input[type=button], input[type=image], button:not([role=switch]):not([role=link]):not([aria-label="clear" i]), [role=button]:not([aria-label="clear" i]), a[href="#"][id*=button i], a[href="#"][id*=btn i]', - formInputsSelectorWithoutSelect: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([name*=otp]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month]),[autocomplete=username]', - formInputsSelector: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([name*=otp]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month]),[autocomplete=username],select', + formInputsSelectorWithoutSelect: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month]),[autocomplete=username]', + formInputsSelector: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month]),[autocomplete=username],select', safeUniversalSelector: "*:not(select):not(option):not(script):not(noscript):not(style):not(br)", emailAddress: 'input:not([type])[name*=email i]:not([placeholder*=search i]):not([placeholder*=filter i]):not([placeholder*=subject i]):not([name*=code i]), input[type=""][name*=email i]:not([placeholder*=search i]):not([placeholder*=filter i]):not([placeholder*=subject i]):not([type=tel]), input[type=text][name*=email i]:not([placeholder*=search i]):not([placeholder*=filter i]):not([placeholder*=subject i]):not([name*=title i]):not([name*=tab i]):not([name*=code i]), input:not([type])[placeholder*=email i]:not([placeholder*=search i]):not([placeholder*=filter i]):not([placeholder*=subject i]):not([name*=code i]), input[type=text][placeholder*=email i]:not([placeholder*=search i]):not([placeholder*=filter i]):not([placeholder*=subject i]), input[type=""][placeholder*=email i]:not([placeholder*=search i]):not([placeholder*=filter i]):not([placeholder*=subject i]), input[type=email], input[type=text][aria-label*=email i]:not([aria-label*=search i]), input:not([type])[aria-label*=email i]:not([aria-label*=search i]), input[name=username][type=email], input[autocomplete=username][type=email], input[autocomplete=username][placeholder*=email i], input[autocomplete=email],input[name="mail_tel" i],input[value=email i]', - username: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([name*=otp]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month])[autocomplete^=user i],input[name=username i],input[name="loginId" i],input[name="userid" i],input[id="userid" i],input[name="user_id" i],input[name="user-id" i],input[id="login-id" i],input[id="login_id" i],input[id="loginid" i],input[name="login" i],input[name=accountname i],input[autocomplete=username i],input[name*=accountid i],input[name="j_username" i],input[id="j_username" i],input[name="uwinid" i],input[name="livedoor_id" i],input[name="ssousername" i],input[name="j_userlogin_pwd" i],input[name="user[login]" i],input[name="user" i],input[name$="_username" i],input[id="lmSsoinput" i],input[name="account_subdomain" i],input[name="masterid" i],input[name="tridField" i],input[id="signInName" i],input[id="w3c_accountsbundle_accountrequeststep1_login" i],input[id="username" i],input[name="_user" i],input[name="login_username" i],input[name^="login-user-account" i],input[id="loginusuario" i],input[name="usuario" i],input[id="UserLoginFormUsername" i],input[id="nw_username" i],input[can-field="accountName"],input[name="login[username]"],input[placeholder^="username" i]', + username: 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=radio]):not([type=range]):not([type=reset]):not([type=image]):not([type=search]):not([role=search]):not([type=submit]):not([type=time]):not([type=url]):not([type=week]):not([name^=fake i]):not([data-description^=dummy i]):not([autocomplete="fake"]):not([placeholder^=search i]):not([type=date]):not([type=datetime-local]):not([type=datetime]):not([type=month])[autocomplete^=user i],input[name=username i],input[name="loginId" i],input[name="userid" i],input[id="userid" i],input[name="user_id" i],input[name="user-id" i],input[id="login-id" i],input[id="login_id" i],input[id="loginid" i],input[name="login" i],input[name=accountname i],input[autocomplete=username i],input[name*=accountid i],input[name="j_username" i],input[id="j_username" i],input[name="uwinid" i],input[name="livedoor_id" i],input[name="ssousername" i],input[name="j_userlogin_pwd" i],input[name="user[login]" i],input[name="user" i],input[name$="_username" i],input[id="lmSsoinput" i],input[name="account_subdomain" i],input[name="masterid" i],input[name="tridField" i],input[id="signInName" i],input[id="w3c_accountsbundle_accountrequeststep1_login" i],input[id="username" i],input[name="_user" i],input[name="login_username" i],input[name^="login-user-account" i],input[id="loginusuario" i],input[name="usuario" i],input[id="UserLoginFormUsername" i],input[id="nw_username" i],input[can-field="accountName"],input[name="login[username]"],input[placeholder^="username" i]', password: "input[type=password]:not([autocomplete*=cc]):not([autocomplete=one-time-code]):not([name*=answer i]):not([name*=mfa i]):not([name*=tin i]):not([name*=card i]):not([name*=cvv i]),input.js-cloudsave-phrase", + totp: 'input[name*=otp i], input[name*=otpCode i] input[aria-describedby=otpCode], input[autocomplete="one-time-code"]', cardName: 'input[autocomplete="cc-name" i], input[autocomplete="ccname" i], input[name="ccname" i], input[name="cc-name" i], input[name="ppw-accountHolderName" i], input[name="payment[name]"], input[id="cc-name" i], input[id="ccname" i], input[id*=cardname i], input[id*=card-name i], input[id*=card_name i]', cardNumber: 'input[autocomplete="cc-number" i], input[autocomplete="ccnumber" i], input[autocomplete="cardnumber" i], input[autocomplete="card-number" i], input[name="ccnumber" i], input[name="cc-number" i], input[name*=card i][name*=number i]:not([name*=verif i]):not([name*=phone i]):not([name*=secur i]), input[name*=cardnumber i], input[name="payment[card_no]"], input[id="cc-number" i], input[id="ccnumber" i], input[id*=cardnumber i], input[id*=card-number i], input[id*=card_number i]', cardSecurityCode: 'input[autocomplete="cc-csc" i], input[autocomplete="csc" i], input[autocomplete="cc-cvc" i], input[autocomplete="cvc" i], input[name*="cvc" i], input[name*="cvv" i], input[name="cc-cvc" i], input[name="cc-csc" i], input[name="csc" i], input[name*=security i][name*=code i], input[id="cc-csc" i], input[id="csc" i], input[id="cc-cvc" i], input[id="cvc" i]', @@ -374,7 +381,11 @@ ddgMatcher: { matchers: { unknown: { - match: /search|find|filter|subject|title|captcha|mfa|2fa|(two|2).?factor|one-time|otp|social security number|ssn|cerca|filtr|oggetto|titolo|(due|2|più).?fattori|suche|filtern|betreff|zoeken|filter|onderwerp|titel|chercher|filtrer|objet|titre|authentification multifacteur|double authentification|à usage unique|busca|busqueda|filtra|dos pasos|un solo uso|sök|filter|ämne|multifaktorsautentisering|tvåfaktorsautentisering|två.?faktor|engångs/iu, + match: /search|find|filter|subject|title|captcha|social security number|ssn|cerca|filtr|oggetto|titolo|(due|2|più).?fattori|suche|filtern|betreff|zoeken|filter|onderwerp|titel|chercher|filtrer|objet|titre|authentification multifacteur|double authentification|à usage unique|busca|busqueda|filtra|dos pasos|un solo uso|sök|filter|ämne|multifaktorsautentisering|tvåfaktorsautentisering|två.?faktor|engångs/iu, + skip: /phone|mobile|email|password/iu + }, + totp: { + match: /mfa|2fa|(two|2).?factor|one-time|otp|totp/iu, skip: /phone|mobile|email|password/iu }, emailAddress: { @@ -385,7 +396,7 @@ password: { match: /password|passwort|kennwort|wachtwoord|mot de passe|clave|contraseña|lösenord/iu, skip: /email|one-time|error|hint|^username$/iu, - forceUnknown: /search|captcha|mfa|2fa|two factor|otp|pin/iu + forceUnknown: /search|captcha|pin/iu }, newPassword: { match: /new|confirm|re.?(enter|type)|repeat|update\b/iu }, currentPassword: { match: /current|old|previous|expired|existing/iu }, @@ -677,7 +688,8 @@ Source: "${matchedFrom}"`; id: [], password: [], username: [], - emailAddress: [] + emailAddress: [], + totp: [] }); for (const [listName, matcherNames] of Object.entries(__privateGet(this, _config).matchers.lists)) { for (const fieldName of matcherNames) { @@ -858,6 +870,9 @@ Source: "${matchedFrom}"`; if (this.subtypeFromMatchers("username", input)) { return "credentials.username"; } + if (this.subtypeFromMatchers("totp", input)) { + return "credentials.totp"; + } } const idSubtype = this.subtypeFromMatchers("id", input); if (idSubtype && isValidIdentitiesSubtype(idSubtype)) { @@ -1179,7 +1194,7 @@ Source: "${matchedFrom}"`; } var supportedCredentialsSubtypes = ( /** @type {const} */ - ["password", "password.new", "password.current", "username"] + ["password", "password.new", "password.current", "username", "totp"] ); var supportedVariants = ( /** @type {const} */ @@ -1327,33 +1342,45 @@ Source: "${matchedFrom}"`; var Map2 = globalThis.Map; var Error2 = globalThis.Error; var randomUUID = globalThis.crypto?.randomUUID?.bind(globalThis.crypto); + var console2 = globalThis.console; + var consoleLog = console2.log.bind(console2); + var consoleWarn = console2.warn.bind(console2); + var consoleError = console2.error.bind(console2); // node_modules/@duckduckgo/content-scope-scripts/injected/src/utils.js var globalObj = typeof window === "undefined" ? globalThis : window; var Error3 = globalObj.Error; var originalWindowDispatchEvent = typeof window === "undefined" ? null : window.dispatchEvent.bind(window); - function getTabHostname() { - let framingOrigin = null; + function getTabUrl() { + let framingURLString = null; try { - framingOrigin = globalThis.top.location.href; + framingURLString = globalThis.top.location.href; } catch { - framingOrigin = globalThis.document.referrer; - } - if ("ancestorOrigins" in globalThis.location && globalThis.location.ancestorOrigins.length) { - framingOrigin = globalThis.location.ancestorOrigins.item(globalThis.location.ancestorOrigins.length - 1); + framingURLString = getTopLevelOriginFromFrameAncestors() ?? globalThis.document.referrer; } + let framingURL; try { - framingOrigin = new URL(framingOrigin).hostname; + framingURL = new URL(framingURLString); } catch { - framingOrigin = null; + framingURL = null; } - return framingOrigin; + return framingURL; + } + function getTopLevelOriginFromFrameAncestors() { + if ("ancestorOrigins" in globalThis.location && globalThis.location.ancestorOrigins.length) { + return globalThis.location.ancestorOrigins.item(globalThis.location.ancestorOrigins.length - 1); + } + return null; + } + function getTabHostname() { + const topURLString = getTabUrl()?.hostname; + return topURLString || null; } function matchHostname(hostname, exceptionDomain) { return hostname === exceptionDomain || hostname.endsWith(`.${exceptionDomain}`); } function camelcase(dashCaseText) { - return dashCaseText.replace(/-(.)/g, (_, letter) => { + return dashCaseText.replace(/-(.)/g, (_2, letter) => { return letter.toUpperCase(); }); } @@ -1373,12 +1400,16 @@ Source: "${matchedFrom}"`; return unprotectedDomain; } function computeLimitedSiteObject() { - const topLevelHostname = getTabHostname(); + const tabURL = getTabUrl(); return { - domain: topLevelHostname + domain: tabURL?.hostname || null, + url: tabURL?.href || null }; } function getPlatformVersion(preferences) { + if (preferences.platform?.version !== void 0 && preferences.platform?.version !== "") { + return preferences.platform.version; + } if (preferences.versionNumber) { return preferences.versionNumber; } @@ -1418,6 +1449,18 @@ Source: "${matchedFrom}"`; } return false; } + function isMaxSupportedVersion(maxSupportedVersion, currentVersion) { + if (typeof currentVersion === "string" && typeof maxSupportedVersion === "string") { + if (satisfiesMinVersion(currentVersion, maxSupportedVersion)) { + return true; + } + } else if (typeof currentVersion === "number" && typeof maxSupportedVersion === "number") { + if (maxSupportedVersion >= currentVersion) { + return true; + } + } + return false; + } function processConfig(data, userList, preferences, platformSpecificFeatures = []) { const topLevelHostname = getTabHostname(); const site = computeLimitedSiteObject(); @@ -3073,7 +3116,7 @@ Source: "${matchedFrom}"`; if (minimumMaximumConsecutiveCharacters !== null) { newPasswordRules.push(new Rule(RuleName.MAX_CONSECUTIVE, minimumMaximumConsecutiveCharacters)); } - const sortedRequiredRules = requiredRules.sort(function(a, b) { + const sortedRequiredRules = requiredRules.sort(function(a2, b2) { const namedCharacterClassOrder = [ Identifier.LOWER, Identifier.UPPER, @@ -3082,8 +3125,8 @@ Source: "${matchedFrom}"`; Identifier.ASCII_PRINTABLE, Identifier.UNICODE ]; - const aIsJustOneNamedCharacterClass = a.value.length === 1 && a.value[0] instanceof NamedCharacterClass; - const bIsJustOneNamedCharacterClass = b.value.length === 1 && b.value[0] instanceof NamedCharacterClass; + const aIsJustOneNamedCharacterClass = a2.value.length === 1 && a2.value[0] instanceof NamedCharacterClass; + const bIsJustOneNamedCharacterClass = b2.value.length === 1 && b2.value[0] instanceof NamedCharacterClass; if (aIsJustOneNamedCharacterClass && !bIsJustOneNamedCharacterClass) { return -1; } @@ -3091,8 +3134,8 @@ Source: "${matchedFrom}"`; return 1; } if (aIsJustOneNamedCharacterClass && bIsJustOneNamedCharacterClass) { - const aIndex = namedCharacterClassOrder.indexOf(a.value[0].name); - const bIndex = namedCharacterClassOrder.indexOf(b.value[0].name); + const aIndex = namedCharacterClassOrder.indexOf(a2.value[0].name); + const bIndex = namedCharacterClassOrder.indexOf(b2.value[0].name); return aIndex - bIndex; } return 0; @@ -3271,11 +3314,11 @@ Source: "${matchedFrom}"`; _randomNumberWithUniformDistribution(range) { const getRandomValues = this.options.getRandomValues || safeGlobals.getRandomValues; const max = Math.floor(2 ** 32 / range) * range; - let x; + let x2; do { - x = getRandomValues(new Uint32Array(1))[0]; - } while (x >= max); - return x % range; + x2 = getRandomValues(new Uint32Array(1))[0]; + } while (x2 >= max); + return x2 % range; } /** * @param {number} numberOfRequiredRandomCharacters @@ -3372,8 +3415,8 @@ Source: "${matchedFrom}"`; for (let i = 0; i < requiredCharacterSetsLength; i++) { const requiredCharacterSet = requiredCharacterSets[i]; let hasRequiredChar = false; - for (let j = 0; j < passwordLength; j++) { - const char = password.charAt(j); + for (let j2 = 0; j2 < passwordLength; j2++) { + const char = password.charAt(j2); if (requiredCharacterSet.indexOf(char) !== -1) { hasRequiredChar = true; break; @@ -3446,8 +3489,8 @@ Source: "${matchedFrom}"`; for (let i = 0; i < requiredCharacterSetsLength; i++) { const requiredCharacterSet = requiredCharacterSets[i]; let requiredCharacterSetContainsAllowedCharacters = false; - for (let j = 0; j < allowedCharactersLength; j++) { - const character = allowedCharacters.charAt(j); + for (let j2 = 0; j2 < allowedCharactersLength; j2++) { + const character = allowedCharacters.charAt(j2); if (requiredCharacterSet.indexOf(character) !== -1) { requiredCharacterSetContainsAllowedCharacters = true; break; @@ -3551,7 +3594,7 @@ Source: "${matchedFrom}"`; return ""; } const shadowCharacters = Array.prototype.slice.call(characters); - shadowCharacters.sort((a, b) => this.options.SCAN_SET_ORDER.indexOf(a) - this.options.SCAN_SET_ORDER.indexOf(b)); + shadowCharacters.sort((a2, b2) => this.options.SCAN_SET_ORDER.indexOf(a2) - this.options.SCAN_SET_ORDER.indexOf(b2)); const uniqueCharacters = [shadowCharacters[0]]; for (let i = 1, length = shadowCharacters.length; i < length; ++i) { if (shadowCharacters[i] === shadowCharacters[i - 1]) { @@ -5201,6 +5244,7 @@ Source: "${matchedFrom}"`; var ddgPasswordIconFilled = keyFilled; var ddgPasswordGenIconBase = keyLogin; var ddgPasswordGenIconFilled = keyLoginFilled; + var ddgTOTPIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgIGQ9Ik0zIDQuOTQ4MjhWNy4wMjA5NEMxLjg3MDY0IDcuMTczNSAxIDguMTQxMzIgMSA5LjMxMjVWMTMuNjg3NUMxIDE0Ljk2NDcgMi4wMzUzNCAxNiAzLjMxMjUgMTZIMTIuNjg3NUMxMy45NjQ3IDE2IDE1IDE0Ljk2NDcgMTUgMTMuNjg3NVY5LjMxMjVDMTUgOC4xNDEzMiAxNC4xMjk0IDcuMTczNSAxMyA3LjAyMDk0VjQuOTQ4MjhDMTMgMi4yMDg0MyAxMC43NTQ0IDAgOCAwQzUuMjQ1NiAwIDMgMi4yMDg0MyAzIDQuOTQ4MjhaTTggMS4yNUM1LjkyMTkgMS4yNSA0LjI1IDIuOTEyNzYgNC4yNSA0Ljk0ODI4VjdIMTEuNzVWNC45NDgyOEMxMS43NSAyLjkxMjc2IDEwLjA3ODEgMS4yNSA4IDEuMjVaTTIuMjUgOS4zMTI1QzIuMjUgOC43MjU3IDIuNzI1NyA4LjI1IDMuMzEyNSA4LjI1SDEyLjY4NzVDMTMuMjc0MyA4LjI1IDEzLjc1IDguNzI1NyAxMy43NSA5LjMxMjVWMTMuNjg3NUMxMy43NSAxNC4yNzQzIDEzLjI3NDMgMTQuNzUgMTIuNjg3NSAxNC43NUgzLjMxMjVDMi43MjU3IDE0Ljc1IDIuMjUgMTQuMjc0MyAyLjI1IDEzLjY4NzVWOS4zMTI1WiIKICAgICAgICBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0IiBzdHlsZT0iZmlsbDpibGFjaztmaWxsLW9wYWNpdHk6MC44NDsiIC8+CiAgICA8cGF0aAogICAgICAgIGQ9Ik0zLjUgMTEuNUMzLjUgMTAuOTQ3NyAzLjk0NzcyIDEwLjUgNC41IDEwLjVDNS4wNTIyOCAxMC41IDUuNSAxMC45NDc3IDUuNSAxMS41QzUuNSAxMi4wNTIzIDUuMDUyMjggMTIuNSA0LjUgMTIuNUMzLjk0NzcyIDEyLjUgMy41IDEyLjA1MjMgMy41IDExLjVaIgogICAgICAgIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuODQiIHN0eWxlPSJmaWxsOmJsYWNrO2ZpbGwtb3BhY2l0eTowLjg0OyIgLz4KICAgIDxwYXRoCiAgICAgICAgZD0iTTcgMTEuNUM3IDEwLjk0NzcgNy40NDc3MiAxMC41IDggMTAuNUM4LjU1MjI4IDEwLjUgOSAxMC45NDc3IDkgMTEuNUM5IDEyLjA1MjMgOC41NTIyOCAxMi41IDggMTIuNUM3LjQ0NzcyIDEyLjUgNyAxMi4wNTIzIDcgMTEuNVoiCiAgICAgICAgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC44NCIgc3R5bGU9ImZpbGw6YmxhY2s7ZmlsbC1vcGFjaXR5OjAuODQ7IiAvPgogICAgPHBhdGgKICAgICAgICBkPSJNMTAuNSAxMS41QzEwLjUgMTAuOTQ3NyAxMC45NDc3IDEwLjUgMTEuNSAxMC41QzEyLjA1MjMgMTAuNSAxMi41IDEwLjk0NzcgMTIuNSAxMS41QzEyLjUgMTIuMDUyMyAxMi4wNTIzIDEyLjUgMTEuNSAxMi41QzEwLjk0NzcgMTIuNSAxMC41IDEyLjA1MjMgMTAuNSAxMS41WiIKICAgICAgICBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0IiBzdHlsZT0iZmlsbDpibGFjaztmaWxsLW9wYWNpdHk6MC44NDsiIC8+Cjwvc3ZnPg=="; // src/InputTypes/CreditCard.js var _data4; @@ -5244,12 +5288,12 @@ Source: "${matchedFrom}"`; } return __privateGet(this, _data5)[subtype]; }); - __publicField(this, "labelSmall", (_) => { + __publicField(this, "labelSmall", (_2) => { return __privateGet(this, _data5).title; }); __privateSet(this, _data5, data); } - label(_t, subtype) { + label(_t3, subtype) { if (__privateGet(this, _data5).id === "privateAddress") { return __privateGet(this, _data5)[subtype]; } @@ -5312,10 +5356,11 @@ Source: "${matchedFrom}"`; getIconBase: (input, form) => { const { device } = form; if (!canBeInteractedWith(input)) return ""; + const subtype = getInputSubtype(input); + const variant = getInputVariant(input); + if (subtype === "totp" && device.settings.availableInputTypes.credentials?.totp) return ddgTOTPIcon; if (device.credentialsImport?.isAvailable() && (form?.isLogin || form?.isHybrid)) return ""; if (device.settings.featureToggles.inlineIcon_credentials) { - const subtype = getInputSubtype(input); - const variant = getInputVariant(input); if (subtype === "password" && variant === "new") { return ddgPasswordGenIconBase; } @@ -5573,6 +5618,9 @@ Source: "${matchedFrom}"`; if (subtype === "password" && value?.length <= 3) { value = void 0; } + if (subtype === "totp") { + value = void 0; + } if (value) { output[mainType][subtype] = value; } @@ -6082,7 +6130,8 @@ Source: "${matchedFrom}"`; return false; } else { const isInputEmpty = input.value === ""; - return this.isCredentialsImportAvailable && isInputEmpty; + const isTotp = subtype === "totp"; + return this.isCredentialsImportAvailable && isInputEmpty && !isTotp; } } if (this.device.globalConfig.isExtension || this.device.globalConfig.isMobileApp) { @@ -6202,8 +6251,8 @@ Source: "${matchedFrom}"`; if (this.device.settings.canAutofillType({ mainType, subtype, variant }, this.device.inContextSignup) || this.isCredentialsImportAvailable) { setTimeout(() => { safeExecute(this.form, () => { - const { x, y, width, height } = this.form.getBoundingClientRect(); - const elHCenter = x + width / 2; + const { x: x2, y, width, height } = this.form.getBoundingClientRect(); + const elHCenter = x2 + width / 2; const elVCenter = y + height / 2; const topMostElementFromPoint = document.elementFromPoint(elHCenter, elVCenter); if (this.form.contains(topMostElementFromPoint)) { @@ -7383,7 +7432,7 @@ Source: "${matchedFrom}"`; this.wkSend(handler, data); }); const cipher = new this.globals.Uint8Array([...ciphertext, ...tag]); - const decrypted = await this.decrypt(cipher, key2, iv); + const decrypted = await this.decrypt(cipher, new this.globals.Uint8Array(key2), iv); return this.globals.JSONparse(decrypted || "{}"); } catch (e) { if (e instanceof MissingHandler) { @@ -7761,8 +7810,8 @@ Source: "${matchedFrom}"`; } // node_modules/immutable-json-patch/lib/esm/utils.js - function isEqual(a, b) { - return JSON.stringify(a) === JSON.stringify(b); + function isEqual(a2, b2) { + return JSON.stringify(a2) === JSON.stringify(b2); } function initial(array) { return array.slice(0, array.length - 1); @@ -7782,7 +7831,8 @@ Source: "${matchedFrom}"`; copy2[symbol] = value[symbol]; }); return copy2; - } else if (isJSONObject(value)) { + } + if (isJSONObject(value)) { const copy2 = { ...value }; @@ -7790,18 +7840,16 @@ Source: "${matchedFrom}"`; copy2[symbol] = value[symbol]; }); return copy2; - } else { - return value; } + return value; } function applyProp(object, key2, value) { if (object[key2] === value) { return object; - } else { - const updatedObject = shallowClone(object); - updatedObject[key2] = value; - return updatedObject; } + const updatedObject = shallowClone(object); + updatedObject[key2] = value; + return updatedObject; } function getIn(object, path) { let value = object; @@ -7810,7 +7858,7 @@ Source: "${matchedFrom}"`; if (isJSONObject(value)) { value = value[path[i]]; } else if (isJSONArray(value)) { - value = value[parseInt(path[i])]; + value = value[Number.parseInt(path[i])]; } else { value = void 0; } @@ -7827,15 +7875,13 @@ Source: "${matchedFrom}"`; const updatedValue = setIn(object ? object[key2] : void 0, path.slice(1), value, createPath); if (isJSONObject(object) || isJSONArray(object)) { return applyProp(object, key2, updatedValue); - } else { - if (createPath) { - const newObject = IS_INTEGER_REGEX.test(key2) ? [] : {}; - newObject[key2] = updatedValue; - return newObject; - } else { - throw new Error("Path does not exist"); - } } + if (createPath) { + const newObject = IS_INTEGER_REGEX.test(key2) ? [] : {}; + newObject[key2] = updatedValue; + return newObject; + } + throw new Error("Path does not exist"); } var IS_INTEGER_REGEX = /^\d+$/; function updateIn(object, path, transform) { @@ -7860,16 +7906,15 @@ Source: "${matchedFrom}"`; const key3 = path[0]; if (!(key3 in object)) { return object; - } else { - const updatedObject = shallowClone(object); - if (isJSONArray(updatedObject)) { - updatedObject.splice(parseInt(key3), 1); - } - if (isJSONObject(updatedObject)) { - delete updatedObject[key3]; - } - return updatedObject; } + const updatedObject = shallowClone(object); + if (isJSONArray(updatedObject)) { + updatedObject.splice(Number.parseInt(key3), 1); + } + if (isJSONObject(updatedObject)) { + delete updatedObject[key3]; + } + return updatedObject; } const key2 = path[0]; const updatedValue = deleteIn(object[key2], path.slice(1)); @@ -7880,10 +7925,10 @@ Source: "${matchedFrom}"`; const index = path[path.length - 1]; return updateIn(document2, parentPath, (items) => { if (!Array.isArray(items)) { - throw new TypeError("Array expected at path " + JSON.stringify(parentPath)); + throw new TypeError(`Array expected at path ${JSON.stringify(parentPath)}`); } const updatedItems = shallowClone(items); - updatedItems.splice(parseInt(index), 0, value); + updatedItems.splice(Number.parseInt(index), 0, value); return updatedItems; }); } @@ -7910,7 +7955,7 @@ Source: "${matchedFrom}"`; return path.map(compileJSONPointerProp).join(""); } function compileJSONPointerProp(pathProp) { - return "/" + String(pathProp).replace(/~/g, "~0").replace(/\//g, "~1"); + return `/${String(pathProp).replace(/~/g, "~0").replace(/\//g, "~1")}`; } // node_modules/immutable-json-patch/lib/esm/immutableJSONPatch.js @@ -7919,7 +7964,7 @@ Source: "${matchedFrom}"`; for (let i = 0; i < operations.length; i++) { validateJSONPatchOperation(operations[i]); let operation = operations[i]; - if (options && options.before) { + if (options?.before) { const result = options.before(updatedDocument, operation); if (result !== void 0) { if (result.document !== void 0) { @@ -7948,9 +7993,9 @@ Source: "${matchedFrom}"`; } else if (operation.op === "test") { test(updatedDocument, path, operation.value); } else { - throw new Error("Unknown JSONPatch operation " + JSON.stringify(operation)); + throw new Error(`Unknown JSONPatch operation ${JSON.stringify(operation)}`); } - if (options && options.after) { + if (options?.after) { const result = options.after(updatedDocument, operation, previousDocument); if (result !== void 0) { updatedDocument = result; @@ -7960,7 +8005,7 @@ Source: "${matchedFrom}"`; return updatedDocument; } function replace(document2, path, value) { - return setIn(document2, path, value); + return existsIn(document2, path) ? setIn(document2, path, value) : document2; } function remove(document2, path) { return deleteIn(document2, path); @@ -7968,18 +8013,15 @@ Source: "${matchedFrom}"`; function add(document2, path, value) { if (isArrayItem(document2, path)) { return insertAt(document2, path, value); - } else { - return setIn(document2, path, value); } + return setIn(document2, path, value); } function copy(document2, path, from) { const value = getIn(document2, from); if (isArrayItem(document2, path)) { return insertAt(document2, path, value); - } else { - const value2 = getIn(document2, from); - return setIn(document2, path, value2); } + return setIn(document2, path, value); } function move(document2, path, from) { const value = getIn(document2, from); @@ -8016,14 +8058,14 @@ Source: "${matchedFrom}"`; function validateJSONPatchOperation(operation) { const ops = ["add", "remove", "replace", "copy", "move", "test"]; if (!ops.includes(operation.op)) { - throw new Error("Unknown JSONPatch op " + JSON.stringify(operation.op)); + throw new Error(`Unknown JSONPatch op ${JSON.stringify(operation.op)}`); } if (typeof operation.path !== "string") { - throw new Error('Required property "path" missing or not a string in operation ' + JSON.stringify(operation)); + throw new Error(`Required property "path" missing or not a string in operation ${JSON.stringify(operation)}`); } if (operation.op === "copy" || operation.op === "move") { if (typeof operation.from !== "string") { - throw new Error('Required property "from" missing or not a string in operation ' + JSON.stringify(operation)); + throw new Error(`Required property "from" missing or not a string in operation ${JSON.stringify(operation)}`); } } } @@ -8034,6 +8076,771 @@ Source: "${matchedFrom}"`; return parseJSONPointer(fromPointer); } + // node_modules/urlpattern-polyfill/dist/urlpattern.js + var Pe = Object.defineProperty; + var a = (e, t) => Pe(e, "name", { value: t, configurable: true }); + var P = class { + constructor(t, r, n, c, l, f) { + __publicField(this, "type", 3); + __publicField(this, "name", ""); + __publicField(this, "prefix", ""); + __publicField(this, "value", ""); + __publicField(this, "suffix", ""); + __publicField(this, "modifier", 3); + this.type = t, this.name = r, this.prefix = n, this.value = c, this.suffix = l, this.modifier = f; + } + hasCustomName() { + return this.name !== "" && typeof this.name != "number"; + } + }; + a(P, "Part"); + var Re = /[$_\p{ID_Start}]/u; + var Ee = /[$_\u200C\u200D\p{ID_Continue}]/u; + var v = ".*"; + function Oe(e, t) { + return (t ? /^[\x00-\xFF]*$/ : /^[\x00-\x7F]*$/).test(e); + } + a(Oe, "isASCII"); + function D(e, t = false) { + let r = [], n = 0; + for (; n < e.length; ) { + let c = e[n], l = a(function(f) { + if (!t) throw new TypeError(f); + r.push({ type: "INVALID_CHAR", index: n, value: e[n++] }); + }, "ErrorOrInvalid"); + if (c === "*") { + r.push({ type: "ASTERISK", index: n, value: e[n++] }); + continue; + } + if (c === "+" || c === "?") { + r.push({ type: "OTHER_MODIFIER", index: n, value: e[n++] }); + continue; + } + if (c === "\\") { + r.push({ type: "ESCAPED_CHAR", index: n++, value: e[n++] }); + continue; + } + if (c === "{") { + r.push({ type: "OPEN", index: n, value: e[n++] }); + continue; + } + if (c === "}") { + r.push({ type: "CLOSE", index: n, value: e[n++] }); + continue; + } + if (c === ":") { + let f = "", s = n + 1; + for (; s < e.length; ) { + let i = e.substr(s, 1); + if (s === n + 1 && Re.test(i) || s !== n + 1 && Ee.test(i)) { + f += e[s++]; + continue; + } + break; + } + if (!f) { + l(`Missing parameter name at ${n}`); + continue; + } + r.push({ type: "NAME", index: n, value: f }), n = s; + continue; + } + if (c === "(") { + let f = 1, s = "", i = n + 1, o = false; + if (e[i] === "?") { + l(`Pattern cannot start with "?" at ${i}`); + continue; + } + for (; i < e.length; ) { + if (!Oe(e[i], false)) { + l(`Invalid character '${e[i]}' at ${i}.`), o = true; + break; + } + if (e[i] === "\\") { + s += e[i++] + e[i++]; + continue; + } + if (e[i] === ")") { + if (f--, f === 0) { + i++; + break; + } + } else if (e[i] === "(" && (f++, e[i + 1] !== "?")) { + l(`Capturing groups are not allowed at ${i}`), o = true; + break; + } + s += e[i++]; + } + if (o) continue; + if (f) { + l(`Unbalanced pattern at ${n}`); + continue; + } + if (!s) { + l(`Missing pattern at ${n}`); + continue; + } + r.push({ type: "REGEX", index: n, value: s }), n = i; + continue; + } + r.push({ type: "CHAR", index: n, value: e[n++] }); + } + return r.push({ type: "END", index: n, value: "" }), r; + } + a(D, "lexer"); + function F(e, t = {}) { + let r = D(e); + t.delimiter ??= "/#?", t.prefixes ??= "./"; + let n = `[^${x(t.delimiter)}]+?`, c = [], l = 0, f = 0, s = "", i = /* @__PURE__ */ new Set(), o = a((u) => { + if (f < r.length && r[f].type === u) return r[f++].value; + }, "tryConsume"), h = a(() => o("OTHER_MODIFIER") ?? o("ASTERISK"), "tryConsumeModifier"), p = a((u) => { + let d = o(u); + if (d !== void 0) return d; + let { type: g, index: y } = r[f]; + throw new TypeError(`Unexpected ${g} at ${y}, expected ${u}`); + }, "mustConsume"), A = a(() => { + let u = "", d; + for (; d = o("CHAR") ?? o("ESCAPED_CHAR"); ) u += d; + return u; + }, "consumeText"), xe = a((u) => u, "DefaultEncodePart"), N = t.encodePart || xe, H = "", $ = a((u) => { + H += u; + }, "appendToPendingFixedValue"), M = a(() => { + H.length && (c.push(new P(3, "", "", N(H), "", 3)), H = ""); + }, "maybeAddPartFromPendingFixedValue"), X = a((u, d, g, y, Z) => { + let m = 3; + switch (Z) { + case "?": + m = 1; + break; + case "*": + m = 0; + break; + case "+": + m = 2; + break; + } + if (!d && !g && m === 3) { + $(u); + return; + } + if (M(), !d && !g) { + if (!u) return; + c.push(new P(3, "", "", N(u), "", m)); + return; + } + let S; + g ? g === "*" ? S = v : S = g : S = n; + let k = 2; + S === n ? (k = 1, S = "") : S === v && (k = 0, S = ""); + let E; + if (d ? E = d : g && (E = l++), i.has(E)) throw new TypeError(`Duplicate name '${E}'.`); + i.add(E), c.push(new P(k, E, N(u), S, N(y), m)); + }, "addPart"); + for (; f < r.length; ) { + let u = o("CHAR"), d = o("NAME"), g = o("REGEX"); + if (!d && !g && (g = o("ASTERISK")), d || g) { + let m = u ?? ""; + t.prefixes.indexOf(m) === -1 && ($(m), m = ""), M(); + let S = h(); + X(m, d, g, "", S); + continue; + } + let y = u ?? o("ESCAPED_CHAR"); + if (y) { + $(y); + continue; + } + if (o("OPEN")) { + let m = A(), S = o("NAME"), k = o("REGEX"); + !S && !k && (k = o("ASTERISK")); + let E = A(); + p("CLOSE"); + let be = h(); + X(m, S, k, E, be); + continue; + } + M(), p("END"); + } + return c; + } + a(F, "parse"); + function x(e) { + return e.replace(/([.+*?^${}()[\]|/\\])/g, "\\$1"); + } + a(x, "escapeString"); + function B(e) { + return e && e.ignoreCase ? "ui" : "u"; + } + a(B, "flags"); + function q(e, t, r) { + return W(F(e, r), t, r); + } + a(q, "stringToRegexp"); + function T(e) { + switch (e) { + case 0: + return "*"; + case 1: + return "?"; + case 2: + return "+"; + case 3: + return ""; + } + } + a(T, "modifierToString"); + function W(e, t, r = {}) { + r.delimiter ??= "/#?", r.prefixes ??= "./", r.sensitive ??= false, r.strict ??= false, r.end ??= true, r.start ??= true, r.endsWith = ""; + let n = r.start ? "^" : ""; + for (let s of e) { + if (s.type === 3) { + s.modifier === 3 ? n += x(s.value) : n += `(?:${x(s.value)})${T(s.modifier)}`; + continue; + } + t && t.push(s.name); + let i = `[^${x(r.delimiter)}]+?`, o = s.value; + if (s.type === 1 ? o = i : s.type === 0 && (o = v), !s.prefix.length && !s.suffix.length) { + s.modifier === 3 || s.modifier === 1 ? n += `(${o})${T(s.modifier)}` : n += `((?:${o})${T(s.modifier)})`; + continue; + } + if (s.modifier === 3 || s.modifier === 1) { + n += `(?:${x(s.prefix)}(${o})${x(s.suffix)})`, n += T(s.modifier); + continue; + } + n += `(?:${x(s.prefix)}`, n += `((?:${o})(?:`, n += x(s.suffix), n += x(s.prefix), n += `(?:${o}))*)${x(s.suffix)})`, s.modifier === 0 && (n += "?"); + } + let c = `[${x(r.endsWith)}]|$`, l = `[${x(r.delimiter)}]`; + if (r.end) return r.strict || (n += `${l}?`), r.endsWith.length ? n += `(?=${c})` : n += "$", new RegExp(n, B(r)); + r.strict || (n += `(?:${l}(?=${c}))?`); + let f = false; + if (e.length) { + let s = e[e.length - 1]; + s.type === 3 && s.modifier === 3 && (f = r.delimiter.indexOf(s) > -1); + } + return f || (n += `(?=${l}|${c})`), new RegExp(n, B(r)); + } + a(W, "partsToRegexp"); + var b = { delimiter: "", prefixes: "", sensitive: true, strict: true }; + var J = { delimiter: ".", prefixes: "", sensitive: true, strict: true }; + var Q = { delimiter: "/", prefixes: "/", sensitive: true, strict: true }; + function ee(e, t) { + return e.length ? e[0] === "/" ? true : !t || e.length < 2 ? false : (e[0] == "\\" || e[0] == "{") && e[1] == "/" : false; + } + a(ee, "isAbsolutePathname"); + function te(e, t) { + return e.startsWith(t) ? e.substring(t.length, e.length) : e; + } + a(te, "maybeStripPrefix"); + function ke(e, t) { + return e.endsWith(t) ? e.substr(0, e.length - t.length) : e; + } + a(ke, "maybeStripSuffix"); + function _(e) { + return !e || e.length < 2 ? false : e[0] === "[" || (e[0] === "\\" || e[0] === "{") && e[1] === "["; + } + a(_, "treatAsIPv6Hostname"); + var re = ["ftp", "file", "http", "https", "ws", "wss"]; + function U(e) { + if (!e) return true; + for (let t of re) if (e.test(t)) return true; + return false; + } + a(U, "isSpecialScheme"); + function ne(e, t) { + if (e = te(e, "#"), t || e === "") return e; + let r = new URL("https://example.com"); + return r.hash = e, r.hash ? r.hash.substring(1, r.hash.length) : ""; + } + a(ne, "canonicalizeHash"); + function se(e, t) { + if (e = te(e, "?"), t || e === "") return e; + let r = new URL("https://example.com"); + return r.search = e, r.search ? r.search.substring(1, r.search.length) : ""; + } + a(se, "canonicalizeSearch"); + function ie(e, t) { + return t || e === "" ? e : _(e) ? K(e) : j(e); + } + a(ie, "canonicalizeHostname"); + function ae(e, t) { + if (t || e === "") return e; + let r = new URL("https://example.com"); + return r.password = e, r.password; + } + a(ae, "canonicalizePassword"); + function oe(e, t) { + if (t || e === "") return e; + let r = new URL("https://example.com"); + return r.username = e, r.username; + } + a(oe, "canonicalizeUsername"); + function ce(e, t, r) { + if (r || e === "") return e; + if (t && !re.includes(t)) return new URL(`${t}:${e}`).pathname; + let n = e[0] == "/"; + return e = new URL(n ? e : "/-" + e, "https://example.com").pathname, n || (e = e.substring(2, e.length)), e; + } + a(ce, "canonicalizePathname"); + function le(e, t, r) { + return z(t) === e && (e = ""), r || e === "" ? e : G(e); + } + a(le, "canonicalizePort"); + function fe(e, t) { + return e = ke(e, ":"), t || e === "" ? e : w(e); + } + a(fe, "canonicalizeProtocol"); + function z(e) { + switch (e) { + case "ws": + case "http": + return "80"; + case "wws": + case "https": + return "443"; + case "ftp": + return "21"; + default: + return ""; + } + } + a(z, "defaultPortForProtocol"); + function w(e) { + if (e === "") return e; + if (/^[-+.A-Za-z0-9]*$/.test(e)) return e.toLowerCase(); + throw new TypeError(`Invalid protocol '${e}'.`); + } + a(w, "protocolEncodeCallback"); + function he(e) { + if (e === "") return e; + let t = new URL("https://example.com"); + return t.username = e, t.username; + } + a(he, "usernameEncodeCallback"); + function ue(e) { + if (e === "") return e; + let t = new URL("https://example.com"); + return t.password = e, t.password; + } + a(ue, "passwordEncodeCallback"); + function j(e) { + if (e === "") return e; + if (/[\t\n\r #%/:<>?@[\]^\\|]/g.test(e)) throw new TypeError(`Invalid hostname '${e}'`); + let t = new URL("https://example.com"); + return t.hostname = e, t.hostname; + } + a(j, "hostnameEncodeCallback"); + function K(e) { + if (e === "") return e; + if (/[^0-9a-fA-F[\]:]/g.test(e)) throw new TypeError(`Invalid IPv6 hostname '${e}'`); + return e.toLowerCase(); + } + a(K, "ipv6HostnameEncodeCallback"); + function G(e) { + if (e === "" || /^[0-9]*$/.test(e) && parseInt(e) <= 65535) return e; + throw new TypeError(`Invalid port '${e}'.`); + } + a(G, "portEncodeCallback"); + function de(e) { + if (e === "") return e; + let t = new URL("https://example.com"); + return t.pathname = e[0] !== "/" ? "/-" + e : e, e[0] !== "/" ? t.pathname.substring(2, t.pathname.length) : t.pathname; + } + a(de, "standardURLPathnameEncodeCallback"); + function pe(e) { + return e === "" ? e : new URL(`data:${e}`).pathname; + } + a(pe, "pathURLPathnameEncodeCallback"); + function ge(e) { + if (e === "") return e; + let t = new URL("https://example.com"); + return t.search = e, t.search.substring(1, t.search.length); + } + a(ge, "searchEncodeCallback"); + function me(e) { + if (e === "") return e; + let t = new URL("https://example.com"); + return t.hash = e, t.hash.substring(1, t.hash.length); + } + a(me, "hashEncodeCallback"); + var _i, _n, _t, _e, _s, _l, _o, _d, _p, _g, _C_instances, r_fn, R_fn, b_fn, u_fn, m_fn, a_fn, P_fn, E_fn, S_fn, O_fn, k_fn, x_fn, h_fn, f_fn, T_fn, A_fn, y_fn, w_fn, c_fn, C_fn, _a; + var C = (_a = class { + constructor(t) { + __privateAdd(this, _C_instances); + __privateAdd(this, _i); + __privateAdd(this, _n, []); + __privateAdd(this, _t, {}); + __privateAdd(this, _e, 0); + __privateAdd(this, _s, 1); + __privateAdd(this, _l, 0); + __privateAdd(this, _o, 0); + __privateAdd(this, _d, 0); + __privateAdd(this, _p, 0); + __privateAdd(this, _g, false); + __privateSet(this, _i, t); + } + get result() { + return __privateGet(this, _t); + } + parse() { + for (__privateSet(this, _n, D(__privateGet(this, _i), true)); __privateGet(this, _e) < __privateGet(this, _n).length; __privateSet(this, _e, __privateGet(this, _e) + __privateGet(this, _s))) { + if (__privateSet(this, _s, 1), __privateGet(this, _n)[__privateGet(this, _e)].type === "END") { + if (__privateGet(this, _o) === 0) { + __privateMethod(this, _C_instances, b_fn).call(this), __privateMethod(this, _C_instances, f_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 9, 1) : __privateMethod(this, _C_instances, h_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 8, 1) : __privateMethod(this, _C_instances, r_fn).call(this, 7, 0); + continue; + } else if (__privateGet(this, _o) === 2) { + __privateMethod(this, _C_instances, u_fn).call(this, 5); + continue; + } + __privateMethod(this, _C_instances, r_fn).call(this, 10, 0); + break; + } + if (__privateGet(this, _d) > 0) if (__privateMethod(this, _C_instances, A_fn).call(this)) __privateSet(this, _d, __privateGet(this, _d) - 1); + else continue; + if (__privateMethod(this, _C_instances, T_fn).call(this)) { + __privateSet(this, _d, __privateGet(this, _d) + 1); + continue; + } + switch (__privateGet(this, _o)) { + case 0: + __privateMethod(this, _C_instances, P_fn).call(this) && __privateMethod(this, _C_instances, u_fn).call(this, 1); + break; + case 1: + if (__privateMethod(this, _C_instances, P_fn).call(this)) { + __privateMethod(this, _C_instances, C_fn).call(this); + let t = 7, r = 1; + __privateMethod(this, _C_instances, E_fn).call(this) ? (t = 2, r = 3) : __privateGet(this, _g) && (t = 2), __privateMethod(this, _C_instances, r_fn).call(this, t, r); + } + break; + case 2: + __privateMethod(this, _C_instances, S_fn).call(this) ? __privateMethod(this, _C_instances, u_fn).call(this, 3) : (__privateMethod(this, _C_instances, x_fn).call(this) || __privateMethod(this, _C_instances, h_fn).call(this) || __privateMethod(this, _C_instances, f_fn).call(this)) && __privateMethod(this, _C_instances, u_fn).call(this, 5); + break; + case 3: + __privateMethod(this, _C_instances, O_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 4, 1) : __privateMethod(this, _C_instances, S_fn).call(this) && __privateMethod(this, _C_instances, r_fn).call(this, 5, 1); + break; + case 4: + __privateMethod(this, _C_instances, S_fn).call(this) && __privateMethod(this, _C_instances, r_fn).call(this, 5, 1); + break; + case 5: + __privateMethod(this, _C_instances, y_fn).call(this) ? __privateSet(this, _p, __privateGet(this, _p) + 1) : __privateMethod(this, _C_instances, w_fn).call(this) && __privateSet(this, _p, __privateGet(this, _p) - 1), __privateMethod(this, _C_instances, k_fn).call(this) && !__privateGet(this, _p) ? __privateMethod(this, _C_instances, r_fn).call(this, 6, 1) : __privateMethod(this, _C_instances, x_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 7, 0) : __privateMethod(this, _C_instances, h_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 8, 1) : __privateMethod(this, _C_instances, f_fn).call(this) && __privateMethod(this, _C_instances, r_fn).call(this, 9, 1); + break; + case 6: + __privateMethod(this, _C_instances, x_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 7, 0) : __privateMethod(this, _C_instances, h_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 8, 1) : __privateMethod(this, _C_instances, f_fn).call(this) && __privateMethod(this, _C_instances, r_fn).call(this, 9, 1); + break; + case 7: + __privateMethod(this, _C_instances, h_fn).call(this) ? __privateMethod(this, _C_instances, r_fn).call(this, 8, 1) : __privateMethod(this, _C_instances, f_fn).call(this) && __privateMethod(this, _C_instances, r_fn).call(this, 9, 1); + break; + case 8: + __privateMethod(this, _C_instances, f_fn).call(this) && __privateMethod(this, _C_instances, r_fn).call(this, 9, 1); + break; + case 9: + break; + case 10: + break; + } + } + __privateGet(this, _t).hostname !== void 0 && __privateGet(this, _t).port === void 0 && (__privateGet(this, _t).port = ""); + } + }, _i = new WeakMap(), _n = new WeakMap(), _t = new WeakMap(), _e = new WeakMap(), _s = new WeakMap(), _l = new WeakMap(), _o = new WeakMap(), _d = new WeakMap(), _p = new WeakMap(), _g = new WeakMap(), _C_instances = new WeakSet(), r_fn = function(t, r) { + switch (__privateGet(this, _o)) { + case 0: + break; + case 1: + __privateGet(this, _t).protocol = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 2: + break; + case 3: + __privateGet(this, _t).username = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 4: + __privateGet(this, _t).password = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 5: + __privateGet(this, _t).hostname = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 6: + __privateGet(this, _t).port = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 7: + __privateGet(this, _t).pathname = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 8: + __privateGet(this, _t).search = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 9: + __privateGet(this, _t).hash = __privateMethod(this, _C_instances, c_fn).call(this); + break; + case 10: + break; + } + __privateGet(this, _o) !== 0 && t !== 10 && ([1, 2, 3, 4].includes(__privateGet(this, _o)) && [6, 7, 8, 9].includes(t) && (__privateGet(this, _t).hostname ??= ""), [1, 2, 3, 4, 5, 6].includes(__privateGet(this, _o)) && [8, 9].includes(t) && (__privateGet(this, _t).pathname ??= __privateGet(this, _g) ? "/" : ""), [1, 2, 3, 4, 5, 6, 7].includes(__privateGet(this, _o)) && t === 9 && (__privateGet(this, _t).search ??= "")), __privateMethod(this, _C_instances, R_fn).call(this, t, r); + }, R_fn = function(t, r) { + __privateSet(this, _o, t), __privateSet(this, _l, __privateGet(this, _e) + r), __privateSet(this, _e, __privateGet(this, _e) + r), __privateSet(this, _s, 0); + }, b_fn = function() { + __privateSet(this, _e, __privateGet(this, _l)), __privateSet(this, _s, 0); + }, u_fn = function(t) { + __privateMethod(this, _C_instances, b_fn).call(this), __privateSet(this, _o, t); + }, m_fn = function(t) { + return t < 0 && (t = __privateGet(this, _n).length - t), t < __privateGet(this, _n).length ? __privateGet(this, _n)[t] : __privateGet(this, _n)[__privateGet(this, _n).length - 1]; + }, a_fn = function(t, r) { + let n = __privateMethod(this, _C_instances, m_fn).call(this, t); + return n.value === r && (n.type === "CHAR" || n.type === "ESCAPED_CHAR" || n.type === "INVALID_CHAR"); + }, P_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), ":"); + }, E_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e) + 1, "/") && __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e) + 2, "/"); + }, S_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), "@"); + }, O_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), ":"); + }, k_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), ":"); + }, x_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), "/"); + }, h_fn = function() { + if (__privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), "?")) return true; + if (__privateGet(this, _n)[__privateGet(this, _e)].value !== "?") return false; + let t = __privateMethod(this, _C_instances, m_fn).call(this, __privateGet(this, _e) - 1); + return t.type !== "NAME" && t.type !== "REGEX" && t.type !== "CLOSE" && t.type !== "ASTERISK"; + }, f_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), "#"); + }, T_fn = function() { + return __privateGet(this, _n)[__privateGet(this, _e)].type == "OPEN"; + }, A_fn = function() { + return __privateGet(this, _n)[__privateGet(this, _e)].type == "CLOSE"; + }, y_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), "["); + }, w_fn = function() { + return __privateMethod(this, _C_instances, a_fn).call(this, __privateGet(this, _e), "]"); + }, c_fn = function() { + let t = __privateGet(this, _n)[__privateGet(this, _e)], r = __privateMethod(this, _C_instances, m_fn).call(this, __privateGet(this, _l)).index; + return __privateGet(this, _i).substring(r, t.index); + }, C_fn = function() { + let t = {}; + Object.assign(t, b), t.encodePart = w; + let r = q(__privateMethod(this, _C_instances, c_fn).call(this), void 0, t); + __privateSet(this, _g, U(r)); + }, _a); + a(C, "Parser"); + var V = ["protocol", "username", "password", "hostname", "port", "pathname", "search", "hash"]; + var O = "*"; + function Se(e, t) { + if (typeof e != "string") throw new TypeError("parameter 1 is not of type 'string'."); + let r = new URL(e, t); + return { protocol: r.protocol.substring(0, r.protocol.length - 1), username: r.username, password: r.password, hostname: r.hostname, port: r.port, pathname: r.pathname, search: r.search !== "" ? r.search.substring(1, r.search.length) : void 0, hash: r.hash !== "" ? r.hash.substring(1, r.hash.length) : void 0 }; + } + a(Se, "extractValues"); + function R(e, t) { + return t ? I(e) : e; + } + a(R, "processBaseURLString"); + function L(e, t, r) { + let n; + if (typeof t.baseURL == "string") try { + n = new URL(t.baseURL), t.protocol === void 0 && (e.protocol = R(n.protocol.substring(0, n.protocol.length - 1), r)), !r && t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.username === void 0 && (e.username = R(n.username, r)), !r && t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.username === void 0 && t.password === void 0 && (e.password = R(n.password, r)), t.protocol === void 0 && t.hostname === void 0 && (e.hostname = R(n.hostname, r)), t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && (e.port = R(n.port, r)), t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.pathname === void 0 && (e.pathname = R(n.pathname, r)), t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.pathname === void 0 && t.search === void 0 && (e.search = R(n.search.substring(1, n.search.length), r)), t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.pathname === void 0 && t.search === void 0 && t.hash === void 0 && (e.hash = R(n.hash.substring(1, n.hash.length), r)); + } catch { + throw new TypeError(`invalid baseURL '${t.baseURL}'.`); + } + if (typeof t.protocol == "string" && (e.protocol = fe(t.protocol, r)), typeof t.username == "string" && (e.username = oe(t.username, r)), typeof t.password == "string" && (e.password = ae(t.password, r)), typeof t.hostname == "string" && (e.hostname = ie(t.hostname, r)), typeof t.port == "string" && (e.port = le(t.port, e.protocol, r)), typeof t.pathname == "string") { + if (e.pathname = t.pathname, n && !ee(e.pathname, r)) { + let c = n.pathname.lastIndexOf("/"); + c >= 0 && (e.pathname = R(n.pathname.substring(0, c + 1), r) + e.pathname); + } + e.pathname = ce(e.pathname, e.protocol, r); + } + return typeof t.search == "string" && (e.search = se(t.search, r)), typeof t.hash == "string" && (e.hash = ne(t.hash, r)), e; + } + a(L, "applyInit"); + function I(e) { + return e.replace(/([+*?:{}()\\])/g, "\\$1"); + } + a(I, "escapePatternString"); + function Te(e) { + return e.replace(/([.+*?^${}()[\]|/\\])/g, "\\$1"); + } + a(Te, "escapeRegexpString"); + function Ae(e, t) { + t.delimiter ??= "/#?", t.prefixes ??= "./", t.sensitive ??= false, t.strict ??= false, t.end ??= true, t.start ??= true, t.endsWith = ""; + let r = ".*", n = `[^${Te(t.delimiter)}]+?`, c = /[$_\u200C\u200D\p{ID_Continue}]/u, l = ""; + for (let f = 0; f < e.length; ++f) { + let s = e[f]; + if (s.type === 3) { + if (s.modifier === 3) { + l += I(s.value); + continue; + } + l += `{${I(s.value)}}${T(s.modifier)}`; + continue; + } + let i = s.hasCustomName(), o = !!s.suffix.length || !!s.prefix.length && (s.prefix.length !== 1 || !t.prefixes.includes(s.prefix)), h = f > 0 ? e[f - 1] : null, p = f < e.length - 1 ? e[f + 1] : null; + if (!o && i && s.type === 1 && s.modifier === 3 && p && !p.prefix.length && !p.suffix.length) if (p.type === 3) { + let A = p.value.length > 0 ? p.value[0] : ""; + o = c.test(A); + } else o = !p.hasCustomName(); + if (!o && !s.prefix.length && h && h.type === 3) { + let A = h.value[h.value.length - 1]; + o = t.prefixes.includes(A); + } + o && (l += "{"), l += I(s.prefix), i && (l += `:${s.name}`), s.type === 2 ? l += `(${s.value})` : s.type === 1 ? i || (l += `(${n})`) : s.type === 0 && (!i && (!h || h.type === 3 || h.modifier !== 3 || o || s.prefix !== "") ? l += "*" : l += `(${r})`), s.type === 1 && i && s.suffix.length && c.test(s.suffix[0]) && (l += "\\"), l += I(s.suffix), o && (l += "}"), s.modifier !== 3 && (l += T(s.modifier)); + } + return l; + } + a(Ae, "partsToPattern"); + var _i2, _n2, _t2, _e2, _s2, _l2, _a2; + var Y = (_a2 = class { + constructor(t = {}, r, n) { + __privateAdd(this, _i2); + __privateAdd(this, _n2, {}); + __privateAdd(this, _t2, {}); + __privateAdd(this, _e2, {}); + __privateAdd(this, _s2, {}); + __privateAdd(this, _l2, false); + try { + let c; + if (typeof r == "string" ? c = r : n = r, typeof t == "string") { + let i = new C(t); + if (i.parse(), t = i.result, c === void 0 && typeof t.protocol != "string") throw new TypeError("A base URL must be provided for a relative constructor string."); + t.baseURL = c; + } else { + if (!t || typeof t != "object") throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary."); + if (c) throw new TypeError("parameter 1 is not of type 'string'."); + } + typeof n > "u" && (n = { ignoreCase: false }); + let l = { ignoreCase: n.ignoreCase === true }, f = { pathname: O, protocol: O, username: O, password: O, hostname: O, port: O, search: O, hash: O }; + __privateSet(this, _i2, L(f, t, true)), z(__privateGet(this, _i2).protocol) === __privateGet(this, _i2).port && (__privateGet(this, _i2).port = ""); + let s; + for (s of V) { + if (!(s in __privateGet(this, _i2))) continue; + let i = {}, o = __privateGet(this, _i2)[s]; + switch (__privateGet(this, _t2)[s] = [], s) { + case "protocol": + Object.assign(i, b), i.encodePart = w; + break; + case "username": + Object.assign(i, b), i.encodePart = he; + break; + case "password": + Object.assign(i, b), i.encodePart = ue; + break; + case "hostname": + Object.assign(i, J), _(o) ? i.encodePart = K : i.encodePart = j; + break; + case "port": + Object.assign(i, b), i.encodePart = G; + break; + case "pathname": + U(__privateGet(this, _n2).protocol) ? (Object.assign(i, Q, l), i.encodePart = de) : (Object.assign(i, b, l), i.encodePart = pe); + break; + case "search": + Object.assign(i, b, l), i.encodePart = ge; + break; + case "hash": + Object.assign(i, b, l), i.encodePart = me; + break; + } + try { + __privateGet(this, _s2)[s] = F(o, i), __privateGet(this, _n2)[s] = W(__privateGet(this, _s2)[s], __privateGet(this, _t2)[s], i), __privateGet(this, _e2)[s] = Ae(__privateGet(this, _s2)[s], i), __privateSet(this, _l2, __privateGet(this, _l2) || __privateGet(this, _s2)[s].some((h) => h.type === 2)); + } catch { + throw new TypeError(`invalid ${s} pattern '${__privateGet(this, _i2)[s]}'.`); + } + } + } catch (c) { + throw new TypeError(`Failed to construct 'URLPattern': ${c.message}`); + } + } + get [Symbol.toStringTag]() { + return "URLPattern"; + } + test(t = {}, r) { + let n = { pathname: "", protocol: "", username: "", password: "", hostname: "", port: "", search: "", hash: "" }; + if (typeof t != "string" && r) throw new TypeError("parameter 1 is not of type 'string'."); + if (typeof t > "u") return false; + try { + typeof t == "object" ? n = L(n, t, false) : n = L(n, Se(t, r), false); + } catch { + return false; + } + let c; + for (c of V) if (!__privateGet(this, _n2)[c].exec(n[c])) return false; + return true; + } + exec(t = {}, r) { + let n = { pathname: "", protocol: "", username: "", password: "", hostname: "", port: "", search: "", hash: "" }; + if (typeof t != "string" && r) throw new TypeError("parameter 1 is not of type 'string'."); + if (typeof t > "u") return; + try { + typeof t == "object" ? n = L(n, t, false) : n = L(n, Se(t, r), false); + } catch { + return null; + } + let c = {}; + r ? c.inputs = [t, r] : c.inputs = [t]; + let l; + for (l of V) { + let f = __privateGet(this, _n2)[l].exec(n[l]); + if (!f) return null; + let s = {}; + for (let [i, o] of __privateGet(this, _t2)[l].entries()) if (typeof o == "string" || typeof o == "number") { + let h = f[i + 1]; + s[o] = h; + } + c[l] = { input: n[l] ?? "", groups: s }; + } + return c; + } + static compareComponent(t, r, n) { + let c = a((i, o) => { + for (let h of ["type", "modifier", "prefix", "value", "suffix"]) { + if (i[h] < o[h]) return -1; + if (i[h] === o[h]) continue; + return 1; + } + return 0; + }, "comparePart"), l = new P(3, "", "", "", "", 3), f = new P(0, "", "", "", "", 3), s = a((i, o) => { + let h = 0; + for (; h < Math.min(i.length, o.length); ++h) { + let p = c(i[h], o[h]); + if (p) return p; + } + return i.length === o.length ? 0 : c(i[h] ?? l, o[h] ?? l); + }, "comparePartList"); + return !__privateGet(r, _e2)[t] && !__privateGet(n, _e2)[t] ? 0 : __privateGet(r, _e2)[t] && !__privateGet(n, _e2)[t] ? s(__privateGet(r, _s2)[t], [f]) : !__privateGet(r, _e2)[t] && __privateGet(n, _e2)[t] ? s([f], __privateGet(n, _s2)[t]) : s(__privateGet(r, _s2)[t], __privateGet(n, _s2)[t]); + } + get protocol() { + return __privateGet(this, _e2).protocol; + } + get username() { + return __privateGet(this, _e2).username; + } + get password() { + return __privateGet(this, _e2).password; + } + get hostname() { + return __privateGet(this, _e2).hostname; + } + get port() { + return __privateGet(this, _e2).port; + } + get pathname() { + return __privateGet(this, _e2).pathname; + } + get search() { + return __privateGet(this, _e2).search; + } + get hash() { + return __privateGet(this, _e2).hash; + } + get hasRegExpGroups() { + return __privateGet(this, _l2); + } + }, _i2 = new WeakMap(), _n2 = new WeakMap(), _t2 = new WeakMap(), _e2 = new WeakMap(), _s2 = new WeakMap(), _l2 = new WeakMap(), _a2); + a(Y, "URLPattern"); + + // node_modules/urlpattern-polyfill/index.js + if (!globalThis.URLPattern) { + globalThis.URLPattern = Y; + } + // node_modules/@duckduckgo/content-scope-scripts/injected/src/config-feature.js var _bundledConfig, _args; var ConfigFeature = class { @@ -8046,7 +8853,20 @@ Source: "${matchedFrom}"`; __privateAdd(this, _bundledConfig); /** @type {string} */ __publicField(this, "name"); - /** @type {{ debug?: boolean, desktopModeEnabled?: boolean, forcedZoomEnabled?: boolean, featureSettings?: Record, assets?: import('./content-feature.js').AssetConfig | undefined, site: import('./content-feature.js').Site, messagingConfig?: import('@duckduckgo/messaging').MessagingConfig } | null} */ + /** + * @type {{ + * debug?: boolean, + * platform: import('./utils.js').Platform, + * desktopModeEnabled?: boolean, + * forcedZoomEnabled?: boolean, + * isDdgWebView?: boolean, + * featureSettings?: Record, + * assets?: import('./content-feature.js').AssetConfig | undefined, + * site: import('./content-feature.js').Site, + * messagingConfig?: import('@duckduckgo/messaging').MessagingConfig, + * currentCohorts?: [{feature: string, cohort: string, subfeature: string}], + * } | null} + */ __privateAdd(this, _args); this.name = name; const { bundledConfig, site, platform } = args; @@ -8057,6 +8877,15 @@ Source: "${matchedFrom}"`; __privateGet(this, _args).featureSettings = parseFeatureSettings(bundledConfig, enabledFeatures); } } + /** + * Call this when the top URL has changed, to recompute the site object. + * This is used to update the path matching for urlPattern. + */ + recomputeSiteObject() { + if (__privateGet(this, _args)) { + __privateGet(this, _args).site = computeLimitedSiteObject(); + } + } get args() { return __privateGet(this, _args); } @@ -8067,25 +8896,203 @@ Source: "${matchedFrom}"`; return __privateGet(this, _args)?.featureSettings; } /** - * Given a config key, interpret the value as a list of domain overrides, and return the elements that match the current page - * Consider using patchSettings instead as per `getFeatureSetting`. + * Getter for injectName, will be overridden by subclasses (namely ContentFeature) + * @returns {string | undefined} + */ + get injectName() { + return void 0; + } + /** + * Given a config key, interpret the value as a list of conditionals objects, and return the elements that match the current page + * Consider in your feature using patchSettings instead as per `getFeatureSetting`. * @param {string} featureKeyName * @return {any[]} * @protected */ - matchDomainFeatureSetting(featureKeyName) { - const domain = this.args?.site.domain; - if (!domain) return []; - const domains = this._getFeatureSettings()?.[featureKeyName] || []; - return domains.filter((rule) => { - if (Array.isArray(rule.domain)) { - return rule.domain.some((domainRule) => { - return matchHostname(domain, domainRule); - }); + matchConditionalFeatureSetting(featureKeyName) { + const conditionalChanges = this._getFeatureSettings()?.[featureKeyName] || []; + return conditionalChanges.filter((rule) => { + let condition = rule.condition; + if (condition === void 0 && "domain" in rule) { + condition = this._domainToConditonBlocks(rule.domain); } - return matchHostname(domain, rule.domain); + return this._matchConditionalBlockOrArray(condition); }); } + /** + * Takes a list of domains and returns a list of condition blocks + * @param {string|string[]} domain + * @returns {ConditionBlock[]} + */ + _domainToConditonBlocks(domain) { + if (Array.isArray(domain)) { + return domain.map((domain2) => ({ domain: domain2 })); + } else { + return [{ domain }]; + } + } + /** + * Used to match conditional changes for a settings feature. + * @typedef {object} ConditionBlock + * @property {string[] | string} [domain] + * @property {object} [urlPattern] + * @property {object} [minSupportedVersion] + * @property {object} [maxSupportedVersion] + * @property {object} [experiment] + * @property {string} [experiment.experimentName] + * @property {string} [experiment.cohort] + * @property {object} [context] + * @property {boolean} [context.frame] - true if the condition applies to frames + * @property {boolean} [context.top] - true if the condition applies to the top frame + * @property {string} [injectName] - the inject name to match against (e.g., "apple-isolated") + * @property {boolean} [internal] - true if the condition applies to internal builds + */ + /** + * Takes multiple conditional blocks and returns true if any apply. + * @param {ConditionBlock|ConditionBlock[]} conditionBlock + * @returns {boolean} + */ + _matchConditionalBlockOrArray(conditionBlock) { + if (Array.isArray(conditionBlock)) { + return conditionBlock.some((block) => this._matchConditionalBlock(block)); + } + return this._matchConditionalBlock(conditionBlock); + } + /** + * Takes a conditional block and returns true if it applies. + * All conditions must be met to return true. + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchConditionalBlock(conditionBlock) { + const conditionChecks = { + domain: this._matchDomainConditional, + context: this._matchContextConditional, + urlPattern: this._matchUrlPatternConditional, + experiment: this._matchExperimentConditional, + minSupportedVersion: this._matchMinSupportedVersion, + maxSupportedVersion: this._matchMaxSupportedVersion, + injectName: this._matchInjectNameConditional, + internal: this._matchInternalConditional + }; + for (const key2 in conditionBlock) { + if (!conditionChecks[key2]) { + return false; + } else if (!conditionChecks[key2].call(this, conditionBlock)) { + return false; + } + } + return true; + } + /** + * Takes a condition block and returns true if the current experiment matches the experimentName and cohort. + * Expects: + * ```json + * { + * "experiment": { + * "experimentName": "experimentName", + * "cohort": "cohort-name" + * } + * } + * ``` + * Where featureName "contentScopeExperiments" has a subfeature "experimentName" and cohort "cohort-name" + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchExperimentConditional(conditionBlock) { + if (!conditionBlock.experiment) return false; + const experiment = conditionBlock.experiment; + if (!experiment.experimentName || !experiment.cohort) return false; + const currentCohorts = this.args?.currentCohorts; + if (!currentCohorts) return false; + return currentCohorts.some((cohort) => { + return cohort.feature === "contentScopeExperiments" && cohort.subfeature === experiment.experimentName && cohort.cohort === experiment.cohort; + }); + } + /** + * Takes a condition block and returns true if the current context matches the context. + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchContextConditional(conditionBlock) { + if (!conditionBlock.context) return false; + const isFrame = window.self !== window.top; + if (conditionBlock.context.frame && isFrame) { + return true; + } + if (conditionBlock.context.top && !isFrame) { + return true; + } + return false; + } + /** + * Takes a condtion block and returns true if the current url matches the urlPattern. + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchUrlPatternConditional(conditionBlock) { + const url = this.args?.site.url; + if (!url) return false; + if (typeof conditionBlock.urlPattern === "string") { + return new Y(conditionBlock.urlPattern, url).test(url); + } + const pattern = new Y(conditionBlock.urlPattern); + return pattern.test(url); + } + /** + * Takes a condition block and returns true if the current domain matches the domain. + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchDomainConditional(conditionBlock) { + if (!conditionBlock.domain) return false; + const domain = this.args?.site.domain; + if (!domain) return false; + if (Array.isArray(conditionBlock.domain)) { + return false; + } + return matchHostname(domain, conditionBlock.domain); + } + /** + * Takes a condition block and returns true if the current inject name matches the injectName. + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchInjectNameConditional(conditionBlock) { + if (!conditionBlock.injectName) return false; + const currentInjectName = this.injectName; + if (!currentInjectName) return false; + return conditionBlock.injectName === currentInjectName; + } + /** + * Takes a condition block and returns true if the internal state matches the condition. + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchInternalConditional(conditionBlock) { + if (conditionBlock.internal === void 0) return false; + const isInternal = __privateGet(this, _args)?.platform?.internal; + if (isInternal === void 0) return false; + return Boolean(conditionBlock.internal) === Boolean(isInternal); + } + /** + * Takes a condition block and returns true if the platform version satisfies the `minSupportedFeature` + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchMinSupportedVersion(conditionBlock) { + if (!conditionBlock.minSupportedVersion) return false; + return isSupportedVersion(conditionBlock.minSupportedVersion, __privateGet(this, _args)?.platform?.version); + } + /** + * Takes a condition block and returns true if the platform version satisfies the `maxSupportedFeature` + * @param {ConditionBlock} conditionBlock + * @returns {boolean} + */ + _matchMaxSupportedVersion(conditionBlock) { + if (!conditionBlock.maxSupportedVersion) return false; + return isMaxSupportedVersion(conditionBlock.maxSupportedVersion, __privateGet(this, _args)?.platform?.version); + } /** * Return the settings object for a feature * @param {string} [featureName] - The name of the feature to get the settings for; defaults to the name of the feature @@ -8116,51 +9123,95 @@ Source: "${matchedFrom}"`; * ``` * This also supports domain overrides as per `getFeatureSetting`. * @param {string} featureKeyName + * @param {'enabled' | 'disabled'} [defaultState] * @param {string} [featureName] * @returns {boolean} */ - getFeatureSettingEnabled(featureKeyName, featureName) { - const result = this.getFeatureSetting(featureKeyName, featureName); + getFeatureSettingEnabled(featureKeyName, defaultState, featureName) { + const result = this.getFeatureSetting(featureKeyName, featureName) || defaultState; if (typeof result === "object") { return result.state === "enabled"; } return result === "enabled"; } /** - * Return a specific setting from the feature settings - * If the "settings" key within the config has a "domains" key, it will be used to override the settings. - * This uses JSONPatch to apply the patches to settings before getting the setting value. - * For example.com getFeatureSettings('val') will return 1: - * ```json - * { - * "settings": { - * "domains": [ - * { - * "domain": "example.com", - * "patchSettings": [ - * { "op": "replace", "path": "/val", "value": 1 } - * ] - * } - * ] - * } - * } - * ``` - * "domain" can either be a string or an array of strings. - - * For boolean states you should consider using getFeatureSettingEnabled. - * @param {string} featureKeyName - * @param {string} [featureName] - * @returns {any} - */ + * Return a specific setting from the feature settings + * If the "settings" key within the config has a "conditionalChanges" key, it will be used to override the settings. + * This uses JSONPatch to apply the patches to settings before getting the setting value. + * For example.com getFeatureSettings('val') will return 1: + * ```json + * { + * "settings": { + * "conditionalChanges": [ + * { + * "domain": "example.com", + * "patchSettings": [ + * { "op": "replace", "path": "/val", "value": 1 } + * ] + * } + * ] + * } + * } + * ``` + * "domain" can either be a string or an array of strings. + * Additionally we support urlPattern for more complex matching. + * For example.com getFeatureSettings('val') will return 1: + * ```json + * { + * "settings": { + * "conditionalChanges": [ + * { + * "condition": { + * "urlPattern": "https://example.com/*", + * }, + * "patchSettings": [ + * { "op": "replace", "path": "/val", "value": 1 } + * ] + * } + * ] + * } + * } + * ``` + * We also support multiple conditions: + * ```json + * { + * "settings": { + * "conditionalChanges": [ + * { + * "condition": [ + * { + * "urlPattern": "https://example.com/*", + * }, + * { + * "urlPattern": "https://other.com/path/something", + * }, + * ], + * "patchSettings": [ + * { "op": "replace", "path": "/val", "value": 1 } + * ] + * } + * ] + * } + * } + * ``` + * + * For boolean states you should consider using getFeatureSettingEnabled. + * @param {string} featureKeyName + * @param {string} [featureName] + * @returns {any} + */ getFeatureSetting(featureKeyName, featureName) { let result = this._getFeatureSettings(featureName); - if (featureKeyName === "domains") { - throw new Error("domains is a reserved feature setting key name"); + if (featureKeyName in ["domains", "conditionalChanges"]) { + throw new Error(`${featureKeyName} is a reserved feature setting key name`); } - const domainMatch = [...this.matchDomainFeatureSetting("domains")].sort((a, b) => { - return a.domain.length - b.domain.length; - }); - for (const match of domainMatch) { + let conditionalMatches = []; + if (result?.conditionalChanges) { + conditionalMatches = this.matchConditionalFeatureSetting("conditionalChanges"); + } else { + conditionalMatches = this.matchConditionalFeatureSetting("domains"); + } + for (const match of conditionalMatches) { if (match.patchSettings === void 0) { continue; } @@ -12810,7 +13861,7 @@ Source: "${matchedFrom}"`; }; // src/UI/styles/autofill-tooltip-styles.css - var autofill_tooltip_styles_default = '/* src/UI/styles/autofill-tooltip-styles.css */\n:root {\n color-scheme: light dark;\n}\n:host {\n --t-text-primary: #1C1F21;\n --t-text-secondary: rgba(28, 31, 33, 0.72);\n --t-text-primary-dark: rgba(255, 255, 255, .84);\n --t-text-secondary-dark: rgba(255, 255, 255, .60);\n --t-backdrop-mac: #F2F0F0;\n --t-backdrop-mac-dark: #646264;\n --t-backdrop-windows: #FFF;\n --t-backdrop-windows-dark: #333;\n --t-mac-interactive: #3969EF;\n --t-mac-interactive-text: #FFF;\n --t-windows-interactive: #f0f0f0;\n --t-windows-interactive-dark: #3f3f3f;\n --color-primary: var(--t-text-primary);\n --color-secondary: var(--t-text-secondary);\n --color-primary-dark: var(--t-text-primary-dark);\n --color-secondary-dark: var(--t-text-secondary-dark);\n --bg: var(--t-backdrop-mac);\n --bg-dark: var(--t-backdrop-mac-dark);\n --font-size-primary: 13px;\n --font-size-secondary: 11px;\n --font-weight: 500;\n --padding: 6px;\n --hr-margin: 5px 9px;\n --border-radius: 4px;\n --hover-color-primary: var(--t-mac-interactive-text);\n --hover-color-secondary: var(--t-mac-interactive-text);\n --hover-color-primary-dark: var(--t-mac-interactive-text);\n --hover-color-secondary-dark: var(--t-mac-interactive-text);\n --hover-bg: var(--t-mac-interactive);\n --hover-bg-dark: var(--t-mac-interactive);\n --hover-effect: invert(100%);\n --hover-effect-dark: invert(100%);\n --top-autofill-min-height: 100vh;\n}\n:host:has([data-platform=windows]) {\n --bg: var(--t-backdrop-windows);\n --bg-dark: var(--t-backdrop-windows-dark);\n --font-size-primary: 14px;\n --font-size-secondary: 12px;\n --font-weight: 400;\n --padding: 0px;\n --hr-margin: 4px 0px;\n --border-radius: 3px;\n --hover-color-primary: var(--t-text-primary);\n --hover-color-secondary: var(--t-text-secondary);\n --hover-color-primary-dark: var(--t-text-primary-dark);\n --hover-color-secondary-dark: var(--t-text-secondary-dark);\n --hover-bg: var(--t-windows-interactive);\n --hover-bg-dark: var(--t-windows-interactive-dark);\n --hover-effect: none;\n --hover-effect-dark: invert(100%);\n --top-autofill-min-height: auto;\n}\n.wrapper *,\n.wrapper *::before,\n.wrapper *::after {\n box-sizing: border-box;\n}\n.wrapper {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 2147483647;\n padding: 0;\n font-family: system-ui;\n -webkit-font-smoothing: antialiased;\n}\n.wrapper:not(.top-autofill) .tooltip {\n position: absolute;\n width: 300px;\n max-width: calc(100vw - 25px);\n transform: translate(-1000px, -1000px);\n z-index: 2147483647;\n}\n.tooltip--data,\n#topAutofill {\n background-color: var(--bg);\n}\n@media (prefers-color-scheme: dark) {\n .tooltip--data,\n #topAutofill {\n background: var(--bg-dark);\n }\n}\n.tooltip--data {\n width: 315px;\n max-height: 290px;\n padding: var(--padding);\n font-size: var(--font-size-primary);\n line-height: 14px;\n overflow-y: auto;\n}\n.top-autofill .tooltip--data {\n min-height: var(--top-autofill-min-height);\n}\n.tooltip--data.tooltip--incontext-signup {\n width: 360px;\n}\n.wrapper:not(.top-autofill) .tooltip--data {\n top: 100%;\n left: 100%;\n}\n.wrapper:not(.top-autofill) .tooltip--email {\n top: calc(100% + 6px);\n right: calc(100% - 48px);\n padding: 8px;\n border: 1px solid #D0D0D0;\n border-radius: 10px;\n background-color: #FFF;\n font-size: 14px;\n line-height: 1.3;\n color: #333;\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);\n}\n.tooltip--email__caret {\n position: absolute;\n transform: translate(-1000px, -1000px);\n z-index: 2147483647;\n}\n.tooltip--email__caret::before,\n.tooltip--email__caret::after {\n content: "";\n display: block;\n width: 0;\n height: 0;\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n position: absolute;\n border-bottom: 8px solid #D0D0D0;\n right: -28px;\n}\n.tooltip--email__caret::before {\n border-bottom-color: #D0D0D0;\n top: -1px;\n}\n.tooltip--email__caret::after {\n border-bottom-color: #FFF;\n top: 0px;\n}\n.tooltip__button {\n display: flex;\n width: 100%;\n padding: 8px 8px 8px 0px;\n font-family: inherit;\n color: inherit;\n background: transparent;\n border: none;\n border-radius: 6px;\n text-align: left;\n}\n.tooltip__button.currentFocus,\n.wrapper:not(.top-autofill) .tooltip__button:hover {\n background-color: var(--hover-bg);\n color: var(--hover-color-primary);\n}\n@media (prefers-color-scheme: dark) {\n .tooltip__button.currentFocus,\n .wrapper:not(.top-autofill) .tooltip__button:hover {\n background-color: var(--hover-bg-dark);\n }\n}\n.tooltip__button--data {\n position: relative;\n min-height: 48px;\n flex-direction: row;\n justify-content: flex-start;\n font-size: inherit;\n font-weight: var(--font-weight);\n line-height: 16px;\n text-align: left;\n border-radius: var(--border-radius);\n}\n.tooltip--data__item-container {\n max-height: 220px;\n overflow: auto;\n}\n.tooltip__button--data:first-child {\n margin-top: 0;\n}\n.tooltip__button--data:last-child {\n margin-bottom: 0;\n}\n.tooltip__button--data::before {\n content: "";\n display: block;\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n margin: 0 8px;\n background-size: 20px 20px;\n background-repeat: no-repeat;\n background-position: center center;\n}\n.tooltip__button--data.currentFocus:not(.tooltip__button--data--bitwarden)::before,\n.wrapper:not(.top-autofill) .tooltip__button--data:not(.tooltip__button--data--bitwarden):hover::before {\n filter: var(--hover-effect);\n}\n.tooltip__button--data.currentFocus.no-hover-effect::before,\n.wrapper:not(.top-autofill) .tooltip__button--data.no-hover-effect:hover::before,\n.tooltip__button--data.no-hover-effect:hover::before {\n filter: none;\n}\n@media (prefers-color-scheme: dark) {\n .tooltip__button--data:not(.tooltip__button--data--bitwarden)::before {\n filter: var(--hover-effect-dark);\n opacity: .9;\n }\n .tooltip__button--data.no-hover-effect::before,\n .wrapper:not(.top-autofill) .tooltip__button--data.no-hover-effect::before {\n filter: none;\n opacity: 1;\n }\n .tooltip__button--data.currentFocus:not(.tooltip__button--data--bitwarden)::before,\n .wrapper:not(.top-autofill) .tooltip__button--data:not(.tooltip__button--data--bitwarden):hover::before {\n filter: var(--hover-effect-dark);\n }\n .tooltip__button--data.currentFocus.no-hover-effect::before,\n .tooltip__button--data.no-hover-effect:hover::before,\n .wrapper:not(.top-autofill) .tooltip__button--data.no-hover-effect:hover::before {\n filter: none;\n }\n}\n.tooltip__button__text-container {\n margin: auto 0;\n width: 100%;\n}\n.label {\n display: block;\n font-weight: 400;\n letter-spacing: -0.25px;\n color: var(--color-primary);\n font-size: var(--font-size-primary);\n line-height: 1;\n}\n.label + .label {\n margin-top: 3px;\n}\n.label.label--medium {\n font-weight: var(--font-weight);\n letter-spacing: -0.25px;\n}\n.label.label--small {\n font-size: var(--font-size-secondary);\n font-weight: 400;\n letter-spacing: 0.06px;\n color: var(--color-secondary);\n}\n@media (prefers-color-scheme: dark) {\n .tooltip--data .label {\n color: var(--color-primary-dark);\n }\n .tooltip--data .label--medium {\n color: var(--color-primary-dark);\n }\n .tooltip--data .label--small {\n color: var(--color-secondary-dark);\n }\n}\n.tooltip__button.currentFocus .label,\n.wrapper:not(.top-autofill) .tooltip__button:hover .label {\n color: var(--hover-color-primary);\n &.label--small {\n color: var(--hover-color-secondary);\n }\n}\n@media (prefers-color-scheme: dark) {\n .tooltip__button.currentFocus .label,\n .wrapper:not(.top-autofill) .tooltip__button:hover .label {\n color: var(--hover-color-primary-dark);\n &.label--small {\n color: var(--hover-color-secondary-dark);\n }\n }\n}\n.tooltip__button--secondary {\n font-size: 13px;\n padding: 5px 9px;\n border-radius: var(--border-radius);\n margin: 0;\n}\n.tooltip__button--data--credentials::before,\n.tooltip__button--data--credentials__current::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTUuNSA2YTIuNSAyLjUgMCAxIDEgMCA1IDIuNSAyLjUgMCAwIDEgMC01bTAgMS41YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTQuOTk4IDJBNy4wMDUgNy4wMDUgMCAwIDEgMjIgOS4wMDdhNy4wMDQgNy4wMDQgMCAwIDEtOC43MDUgNi43OTdjLS4xNjMtLjA0MS0uMjg2LjAwOC0uMzQ1LjA2N2wtMi41NTcgMi41NTlhMiAyIDAgMCAxLTEuNDE1LjU4NmgtLjk4MnYuNzM0QTIuMjUgMi4yNSAwIDAgMSA1Ljc0NSAyMmgtLjk5M2EyLjc1IDIuNzUgMCAwIDEtMi43NS0yLjczNUwyIDE4Ljc3YTMuNzUgMy43NSAwIDAgMSAxLjA5OC0yLjY3bDUuMDQtNS4wNDNjLjA2LS4wNi4xMDctLjE4My4wNjYtLjM0NmE3IDcgMCAwIDEtLjIwOC0xLjcwNEE3LjAwNCA3LjAwNCAwIDAgMSAxNC45OTggMm0wIDEuNWE1LjUwNCA1LjUwNCAwIDAgMC01LjMzNyA2Ljg0OGMuMTQ3LjU4OS4wMjcgMS4yNzktLjQ2MiAxLjc2OGwtNS4wNCA1LjA0NGEyLjI1IDIuMjUgMCAwIDAtLjY1OSAxLjYwM2wuMDAzLjQ5NGExLjI1IDEuMjUgMCAwIDAgMS4yNSAxLjI0M2guOTkyYS43NS43NSAwIDAgMCAuNzUtLjc1di0uNzM0YTEuNSAxLjUgMCAwIDEgMS41LTEuNWguOTgzYS41LjUgMCAwIDAgLjM1My0uMTQ3bDIuNTU4LTIuNTU5Yy40OS0uNDkgMS4xOC0uNjA5IDEuNzctLjQ2MWE1LjUwNCA1LjUwNCAwIDAgMCA2Ljg0LTUuMzQyQTUuNTA1IDUuNTA1IDAgMCAwIDE1IDMuNVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4K);\n}\n.tooltip__button--data--credentials__new::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTExLjIyNCA0LjY0YS45LjkgMCAwIDAgLjY0Ny0uMTY1IDUuNDcgNS40NyAwIDAgMSAzLjEyNy0uOTc1QTUuNTA0IDUuNTA0IDAgMCAxIDIwLjUgOS4wMDZhNS41MDQgNS41MDQgMCAwIDEtNi44NCA1LjM0M2MtLjU5LS4xNDgtMS4yODEtLjAyOC0xLjc3MS40NjJsLTIuNTU3IDIuNTU4YS41LjUgMCAwIDEtLjM1NC4xNDdoLS45ODJhMS41IDEuNSAwIDAgMC0xLjUgMS41di43MzRhLjc1Ljc1IDAgMCAxLS43NS43NWgtLjk5M2ExLjI1IDEuMjUgMCAwIDEtMS4yNS0xLjI0NGwtLjAwMy0uNDk0YTIuMjUgMi4yNSAwIDAgMSAuNjU5LTEuNjAybDUuMDQtNS4wNDNjLjM0My0uMzQ0LjQ2MS0uNzExLjQ3OS0xLjA5NS4wMjctLjU4Mi0uNzM3LS44NDctMS4xNzktLjQ2N2wtLjA2Ni4wNTZhLjcuNyAwIDAgMC0uMTU4LjIzMi44LjggMCAwIDEtLjEzNy4yMTNMMy4wOTggMTYuMUEzLjc1IDMuNzUgMCAwIDAgMiAxOC43N2wuMDAzLjQ5NEEyLjc1IDIuNzUgMCAwIDAgNC43NTMgMjJoLjk5MmEyLjI1IDIuMjUgMCAwIDAgMi4yNS0yLjI1di0uNzM0aC45ODNhMiAyIDAgMCAwIDEuNDE1LS41ODZsMi41NTctMi41NTljLjA1OS0uMDU5LjE4Mi0uMTA4LjM0Ni0uMDY3QTcuMDA0IDcuMDA0IDAgMCAwIDIyIDkuMDA2IDcuMDA0IDcuMDA0IDAgMCAwIDEwLjgyNiAzLjM4Yy0uNTMzLjM5NS0uMjYgMS4xNjYuMzk3IDEuMjZaIi8+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTUuNSA2YTIuNSAyLjUgMCAxIDEgMCA1IDIuNSAyLjUgMCAwIDEgMC01bTAgMS41YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTcuMTI1IDIuODA0QzcgMi4xNiA2LjkxNSAyIDYuNSAyYy0uNDE0IDAtLjUuMTYtLjYyNS44MDQtLjA4LjQxMy0uMjEyIDEuODItLjI5NiAyLjc3NS0uOTU0LjA4NC0yLjM2Mi4yMTYtMi43NzUuMjk2QzIuMTYgNiAyIDYuMDg1IDIgNi41YzAgLjQxNC4xNjEuNS44MDQuNjI1LjQxMi4wOCAxLjgxOC4yMTIgMi43NzIuMjk2LjA4My45ODkuMjE4IDIuNDYxLjMgMi43NzUuMTI0LjQ4My4yMS44MDQuNjI0LjgwNHMuNS0uMTYuNjI1LS44MDRjLjA4LS40MTIuMjEyLTEuODE3LjI5Ni0yLjc3MS45OS0uMDg0IDIuNDYyLS4yMTkgMi43NzYtLjNDMTAuNjc5IDcgMTEgNi45MTUgMTEgNi41YzAtLjQxNC0uMTYtLjUtLjgwMy0uNjI1LS40MTMtLjA4LTEuODIxLS4yMTItMi43NzUtLjI5Ni0uMDg1LS45NTQtLjIxNi0yLjM2Mi0uMjk3LTIuNzc1bS00LjM0MiA4Ljc2MWEuNzgzLjc4MyAwIDEgMCAwLTEuNTY1Ljc4My43ODMgMCAwIDAgMCAxLjU2NSIvPgo8L3N2Zz4K);\n}\n.tooltip__button--data--creditCards::before,\n.tooltip__button--data--provider__generic::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI2IDRDMjkuMzEzNyA0IDMyIDYuNjg2MjkgMzIgMTBMMzIgMjJDMzIgMjUuMzEzNyAyOS4zMTM3IDI4IDI2IDI4TDYgMjhDMi42ODYyOSAyOCA5Ljc1Njk3ZS0wNyAyNS4zMTM3IDEuMTIwNTRlLTA2IDIyTDEuNjQ1MDhlLTA2IDEwQzEuNzg5OTNlLTA2IDYuNjg2MjkgMi42ODYyOSA0IDYgNEwyNiA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMCAyMkwzMCAxMEMzMCA3Ljc5MDg2IDI4LjIwOTEgNiAyNiA2TDYgNkMzLjc5MDg2IDYgMiA3Ljc5MDg2IDIgMTBMMiAyMkMyIDI0LjIwOTEgMy43OTA4NiAyNiA2IDI2TDI2IDI2QzI4LjIwOTEgMjYgMzAgMjQuMjA5MSAzMCAyMlpNMzIgMTBDMzIgNi42ODYyOSAyOS4zMTM3IDQgMjYgNEw2IDRDMi42ODYyOSA0IDEuNzg5OTNlLTA2IDYuNjg2MjkgMS42NDUwOGUtMDYgMTBMMS4xMjA1NGUtMDYgMjJDOS43NTY5N2UtMDcgMjUuMzEzNyAyLjY4NjI5IDI4IDYgMjhMMjYgMjhDMjkuMzEzNyAyOCAzMiAyNS4zMTM3IDMyIDIyTDMyIDEwWiIgZmlsbD0iI0NDQ0NDQyIvPgo8cGF0aCBkPSJNNCAxM0M0IDEyLjQ0NzcgNC40NDc3MiAxMiA1IDEySDlDOS41NTIyOCAxMiAxMCAxMi40NDc3IDEwIDEzVjE1QzEwIDE1LjU1MjMgOS41NTIyOCAxNiA5IDE2SDVDNC40NDc3MiAxNiA0IDE1LjU1MjMgNCAxNVYxM1oiIGZpbGw9IiNGRkQ2NUMiLz4KPHBhdGggZD0iTTQgMjBDNCAxOS40NDc3IDQuNDQ3NzIgMTkgNSAxOUgxMEMxMC41NTIzIDE5IDExIDE5LjQ0NzcgMTEgMjBDMTEgMjAuNTUyMyAxMC41NTIzIDIxIDEwIDIxSDVDNC40NDc3MiAyMSA0IDIwLjU1MjMgNCAyMFoiIGZpbGw9IiNBQUFBQUEiLz4KPHBhdGggZD0iTTEyIDIwQzEyIDE5LjQ0NzcgMTIuNDQ3NyAxOSAxMyAxOUgxNEMxNC41NTIzIDE5IDE1IDE5LjQ0NzcgMTUgMjBDMTUgMjAuNTUyMyAxNC41NTIzIDIxIDE0IDIxSDEzQzEyLjQ0NzcgMjEgMTIgMjAuNTUyMyAxMiAyMFoiIGZpbGw9IiNBQUFBQUEiLz4KPHBhdGggZD0iTTE2IDIwQzE2IDE5LjQ0NzcgMTYuNDQ3NyAxOSAxNyAxOUgyN0MyNy41NTIzIDE5IDI4IDE5LjQ0NzcgMjggMjBDMjggMjAuNTUyMyAyNy41NTIzIDIxIDI3IDIxSDE3QzE2LjQ0NzcgMjEgMTYgMjAuNTUyMyAxNiAyMFoiIGZpbGw9IiNBQUFBQUEiLz4KPC9zdmc+Cg==);\n}\n.tooltip__button--data--provider__dinersClub::before {\n background-image: url(data:image/png;base64,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);\n}\n.tooltip__button--data--provider__discover::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGxpbmVhckdyYWRpZW50IGlkPSJhIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE1LjU4MzkiIHgyPSIxNy45NjQ4IiB5MT0iMTQuNDU5NCIgeTI9IjE3LjMzNDQiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2U2NzcyZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2VhOWQyYyIvPjwvbGluZWFyR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPSJiIiBjeD0iMCIgY3k9IjAiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLTEuNTQ5ODIxMzUgLTEuOTc2NTYwNDMgMi4wNjU0OTE5NiAtMS42MTk1NTI1NyAxNy4xNzg3IDE2LjcwNTUpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgcj0iMSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZWE5ZDJjIiBzdG9wLW9wYWNpdHk9IjAiLz48c3RvcCBvZmZzZXQ9Ii4zMjgxMjUiIHN0b3AtY29sb3I9IiNkZjc2MjQiIHN0b3Atb3BhY2l0eT0iMCIvPjxzdG9wIG9mZnNldD0iLjc2MDE4OCIgc3RvcC1jb2xvcj0iI2JmNGIyMyIgc3RvcC1vcGFjaXR5PSIuNzUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM3ZDMwMTciLz48L3JhZGlhbEdyYWRpZW50PjxwYXRoIGQ9Im0yNiA0YzMuMzEzNyAwIDYgMi42ODYyOSA2IDZ2MTJjMCAzLjMxMzctMi42ODYzIDYtNiA2aC0yMGMtMy4zMTM3MSAwLTUuOTk5OTk5MDItMi42ODYzLTUuOTk5OTk4ODgtNmwuMDAwMDAwNTMtMTJjLjAwMDAwMDE0LTMuMzEzNzEgMi42ODYyODgzNS02IDUuOTk5OTk4MzUtNnoiIGZpbGw9IiNmZmYiLz48ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0ibTMwIDIydi0xMmMwLTIuMjA5MTQtMS43OTA5LTQtNC00aC0yMGMtMi4yMDkxNCAwLTQgMS43OTA4Ni00IDR2MTJjMCAyLjIwOTEgMS43OTA4NiA0IDQgNGgyMGMyLjIwOTEgMCA0LTEuNzkwOSA0LTR6bTItMTJjMC0zLjMxMzcxLTIuNjg2My02LTYtNmgtMjBjLTMuMzEzNzEgMC01Ljk5OTk5ODIxIDIuNjg2MjktNS45OTk5OTgzNSA2bC0uMDAwMDAwNTMgMTJjLS4wMDAwMDAxNCAzLjMxMzcgMi42ODYyODg4OCA2IDUuOTk5OTk4ODggNmgyMGMzLjMxMzcgMCA2LTIuNjg2MyA2LTZ6IiBmaWxsPSIjY2NjIi8+PHBhdGggZD0ibTYuNDg4NjMgMTYuODE2MWMtLjIyNzU0LjE5NDYtLjUxNzE5LjI3OTYtLjk4MDM5LjI3OTZoLS4xOTIydi0yLjMyMTdoLjE5MjJjLjQ2MzIgMCAuNzQxNzQuMDc5NC45ODAzOS4yODM2LjI0NjM0LjIxMTEuMzk0MzguNTM2Ni4zOTQzOC44NzM0IDAgLjMzODQtLjE0ODA0LjY3NTYtLjM5NDM4Ljg4NTF6bS0uODM2OTEtMi42MzY4aC0xLjA1MTYydjMuNTExNGgxLjA0NTIxYy41NTYyMyAwIC45NTc3My0uMTI2NyAxLjMwOTY1LS40MDYxLjQxODAzLS4zMzExLjY2NjA4LS44MzA5LjY2NjA4LTEuMzQ4NyAwLTEuMDM2Ni0uODA5MjctMS43NTY2LTEuOTY5MzItMS43NTY2eiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im03Ljk1MTE3IDE0LjE3OTNoLjcxMzF2My41MTE0aC0uNzEzMXoiIGZpbGw9IiMyMDFkMWMiLz48cGF0aCBkPSJtMTAuNDE1OSAxNS41MjUxYy0uNDMwNDYtLjE1MS0uNTU2MjctLjI1MTctLjU1NjI3LS40NDE0IDAtLjIyMDYuMjI0ODctLjM4NzkuNTMzOTctLjM4NzkuMjE0MyAwIC4zOTA5LjA4MjEuNTc4OS4yODI2bC4zNzIzLS40Njc0Yy0uMzA3Ni0uMjU5LS42NzU4LS4zOTAyLTEuMDc3MS0uMzkwMi0uNjQ5NDIgMC0xLjE0NDM5LjQzMjQtMS4xNDQzOSAxLjAwNCAwIC40ODU0LjIzMDEuNzMxNi45MDE1OS45NjU0LjI4MDcuMDkzNC40MjMzLjE1NzIuNDk1NS4yMDA1LjE0MzEuMDg4NC4yMTQzLjIxNTIuMjE0My4zNjE4IDAgLjI4NTYtLjIzNjUuNDk1Ni0uNTU2Mi40OTU2LS4zNDAzOCAwLS42MTU3OS0uMTYzMS0uNzgwNjMtLjQ2OTNsLS40NjEzNS40Mjc2Yy4zMjk4NC40NjI0LjcyNTIxLjY2OTEgMS4yNjk4OC42NjkxLjc0MjkgMCAxLjI2NjQtLjQ3NTkgMS4yNjY0LTEuMTUzOCAwLS41NTg2LS4yNDI4LS44MTE4LTEuMDU2OS0xLjA5NjZ6IiBmaWxsPSIjMjAxZDFjIi8+PHBhdGggZD0ibTExLjY5NzMgMTUuOTM1OWMwIDEuMDMyNi44NDcgMS44MzI4IDEuOTM3NCAxLjgzMjguMzA3NCAwIC41NzEtLjA1ODEuODk1Ni0uMjA0N3YtLjgwNjljLS4yODY4LjI3NTgtLjUzODYuMzg0Ni0uODY0My4zODQ2LS43MjA1IDAtMS4yMzA4LS40OTg5LTEuMjMwOC0xLjIxMDcgMC0uNjcyNi41MjY4LTEuMjA1NCAxLjE5OTUtMS4yMDU0LjMzOTQgMCAuNTk4Ny4xMTUxLjg5NTYuMzk1di0uODA2Yy0uMzEzNi0uMTUxOC0uNTcwOS0uMjE0Ni0uODgxLS4yMTQ2LTEuMDg0MSAwLTEuOTUyLjgxNTgtMS45NTIgMS44MzU5eiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im0yMC4zMjgxIDE2LjUzNjctLjk3ODYtMi4zNTc0aC0uNzgwMmwxLjU1NTYgMy42aC4zODM3bDEuNTg1OC0zLjZoLS43NzQxeiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im0yMi40MTg5IDE3LjY5MDdoMi4wMjkzdi0uNTk1aC0xLjMxMzN2LS45NDc4aDEuMjYzNXYtLjU5NDhoLTEuMjYzNXYtLjc3OTFoMS4zMTMzdi0uNTk0N2gtMi4wMjkzeiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im0yNS44NDU3IDE1Ljc5NGgtLjIwNzh2LTEuMDYyMWguMjE5NGMuNDQ3MSAwIC42ODY2LjE3OTYuNjg2Ni41MjE3IDAgLjM1MTQtLjIzOTUuNTQwNC0uNjk4Mi41NDA0em0xLjQzNTEtLjU3ODZjMC0uNjU3Ni0uNDcxMy0xLjAzNjEtMS4yOTc1LTEuMDM2MWgtMS4wNjI5djMuNTExNGguNzE3NXYtMS40MTE4aC4wOTMxbC45ODg2IDEuNDExOGguODgwNGwtMS4xNTQ1LTEuNDc5OWMuNTM5NS0uMTA1Ni44MzUzLS40NTgxLjgzNTMtLjk5NTR6IiBmaWxsPSIjMjAxZDFjIi8+PHBhdGggZD0ibTE4LjY3MDQgMTUuOTQ0MWMwIDEuMDEwOS0uODU2IDEuODMwMy0xLjkxMjkgMS44MzAzLTEuMDU2NiAwLTEuOTEyOC0uODE5NC0xLjkxMjgtMS44MzAzIDAtMS4wMTExLjg1NjItMS44MzA2IDEuOTEyOC0xLjgzMDYgMS4wNTY5IDAgMS45MTI5LjgxOTUgMS45MTI5IDEuODMwNnoiIGZpbGw9InVybCgjYSkiLz48cGF0aCBkPSJtMTguNjcwNCAxNS45NDQxYzAgMS4wMTA5LS44NTYgMS44MzAzLTEuOTEyOSAxLjgzMDMtMS4wNTY2IDAtMS45MTI4LS44MTk0LTEuOTEyOC0xLjgzMDMgMC0xLjAxMTEuODU2Mi0xLjgzMDYgMS45MTI4LTEuODMwNiAxLjA1NjkgMCAxLjkxMjkuODE5NSAxLjkxMjkgMS44MzA2eiIgZmlsbD0idXJsKCNiKSIvPjwvZz48L3N2Zz4=);\n}\n.tooltip__button--data--provider__jcb::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGxpbmVhckdyYWRpZW50IGlkPSJhIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMwMDc5NDAiLz48c3RvcCBvZmZzZXQ9Ii4yMjg1IiBzdG9wLWNvbG9yPSIjMDA4NzNmIi8+PHN0b3Agb2Zmc2V0PSIuNzQzMyIgc3RvcC1jb2xvcj0iIzQwYTczNyIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzVjYjUzMSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE5LjA4MjEiIHgyPSIyNC4wMTQ4IiB4bGluazpocmVmPSIjYSIgeTE9IjE2LjY1MSIgeTI9IjE2LjY1MSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxOS4wODIyIiB4Mj0iMjQuMDE0OCIgeGxpbms6aHJlZj0iI2EiIHkxPSIxNS44ODIyIiB5Mj0iMTUuODgyMiIvPjxsaW5lYXJHcmFkaWVudCBpZD0iZCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxOS4wODIiIHgyPSIyNC4wMTQ0IiB4bGluazpocmVmPSIjYSIgeTE9IjE1LjA0NTgiIHkyPSIxNS4wNDU4Ii8+PGxpbmVhckdyYWRpZW50IGlkPSJlIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjguMDQwMjIiIHgyPSIxMy4wNDg4IiB5MT0iMTUuODgyMiIgeTI9IjE1Ljg4MjIiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzFmMjg2ZiIvPjxzdG9wIG9mZnNldD0iLjQ3NTEiIHN0b3AtY29sb3I9IiMwMDRlOTQiLz48c3RvcCBvZmZzZXQ9Ii44MjYxIiBzdG9wLWNvbG9yPSIjMDA2NmIxIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA2ZmJjIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTMuNTM1IiB4Mj0iMTguMzk5MyIgeTE9IjE1Ljg4MjIiIHkyPSIxNS44ODIyIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM2YzJjMmYiLz48c3RvcCBvZmZzZXQ9Ii4xNzM1IiBzdG9wLWNvbG9yPSIjODgyNzMwIi8+PHN0b3Agb2Zmc2V0PSIuNTczMSIgc3RvcC1jb2xvcj0iI2JlMTgzMyIvPjxzdG9wIG9mZnNldD0iLjg1ODUiIHN0b3AtY29sb3I9IiNkYzA0MzYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNlNjAwMzkiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iZyI+PHBhdGggZD0ibTcgOWgxOHYxMy44MjkzaC0xOHoiLz48L2NsaXBQYXRoPjxwYXRoIGQ9Im0yNiA0YzMuMzEzNyAwIDYgMi42ODYyOSA2IDZ2MTJjMCAzLjMxMzctMi42ODYzIDYtNiA2aC0yMGMtMy4zMTM3MSAwLTUuOTk5OTk5MDItMi42ODYzLTUuOTk5OTk4ODgtNmwuMDAwMDAwNTMtMTJjLjAwMDAwMDE0LTMuMzEzNzEgMi42ODYyODgzNS02IDUuOTk5OTk4MzUtNnoiIGZpbGw9IiMwMDhlZWQiLz48cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0zMCAyMnYtMTJjMC0yLjIwOTE0LTEuNzkwOS00LTQtNGgtMjBjLTIuMjA5MTQgMC00IDEuNzkwODYtNCA0djEyYzAgMi4yMDkxIDEuNzkwODYgNCA0IDRoMjBjMi4yMDkxIDAgNC0xLjc5MDkgNC00em0yLTEyYzAtMy4zMTM3MS0yLjY4NjMtNi02LTZoLTIwYy0zLjMxMzcxIDAtNS45OTk5OTgyMSAyLjY4NjI5LTUuOTk5OTk4MzUgNmwtLjAwMDAwMDUzIDEyYy0uMDAwMDAwMTQgMy4zMTM3IDIuNjg2Mjg4ODggNiA1Ljk5OTk5ODg4IDZoMjBjMy4zMTM3IDAgNi0yLjY4NjMgNi02eiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuMTgiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxnIGNsaXAtcGF0aD0idXJsKCNnKSI+PHBhdGggZD0ibTI1IDIwLjAwODVjMCAxLjUzNjYtMS4yNTEyIDIuNzg3OC0yLjc4NzggMi43ODc4aC0xNS4xNjgyNXYtMTEuMDQxNWMwLTEuNTM2NSAxLjI1MTIxLTIuNzg3NzYgMi43ODc4LTIuNzg3NzZoMTUuMTY4MjV6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTIwLjA2MSAxNy4xNzY4aDEuMTUyNWMuMDMyOSAwIC4xMDk3LS4wMTEuMTQyNy0uMDExLjIxOTUtLjA0MzkuNDA2MS0uMjQxNS40MDYxLS41MTU5IDAtLjI2MzQtLjE4NjYtLjQ2MDktLjQwNjEtLjUxNTgtLjAzMy0uMDExLS4wOTg4LS4wMTEtLjE0MjctLjAxMWgtMS4xNTI1eiIgZmlsbD0idXJsKCNiKSIvPjxwYXRoIGQ9Im0yMS4wODE4IDkuODk5OTZjLTEuMDk3NiAwLTEuOTk3Ni44ODkwNC0xLjk5NzYgMS45OTc1NHYyLjA3NDRoMi44MjA3Yy4wNjU5IDAgLjE0MjcgMCAuMTk3Ni4wMTEuNjM2Ni4wMzI5IDEuMTA4NS4zNjIyIDEuMTA4NS45MzI5IDAgLjQ1LS4zMTgyLjgzNDItLjkxMDkuOTExdi4wMjE5Yy42NDc1LjA0MzkgMS4xNDE0LjQwNjEgMS4xNDE0Ljk2NTkgMCAuNjAzNy0uNTQ4Ny45OTg4LTEuMjczMS45OTg4aC0zLjA5NTJ2NC4wNjFoMi45MzA1YzEuMDk3NiAwIDEuOTk3Ni0uODg5MSAxLjk5NzYtMS45OTc2di05Ljk3Njg0eiIgZmlsbD0idXJsKCNjKSIvPjxwYXRoIGQ9Im0yMS42MTk2IDE1LjA0NzVjMC0uMjYzNC0uMTg2Ni0uNDM5LS40MDYxLS40NzE5LS4wMjIgMC0uMDc2OS0uMDExLS4xMDk4LS4wMTFoLTEuMDQyN3YuOTY1OGgxLjA0MjdjLjAzMjkgMCAuMDk4OCAwIC4xMDk4LS4wMTA5LjIxOTUtLjAzMy40MDYxLS4yMDg2LjQwNjEtLjQ3MnoiIGZpbGw9InVybCgjZCkiLz48cGF0aCBkPSJtMTAuMDQwMyA5Ljg5OTk2Yy0xLjA5NzU5IDAtMS45OTc1OS44ODkwNC0xLjk5NzU5IDEuOTk3NTR2NC45MjgxYy41NTk3Ni4yNzQ0IDEuMTQxNDcuNDUgMS43MjMxNy40NS42OTE0MiAwIDEuMDY0NjItLjQxNzEgMS4wNjQ2Mi0uOTg3OHYtMi4zMjY5aDEuNzEyMnYyLjMxNTljMCAuOS0uNTU5NyAxLjYzNTQtMi40NTg1IDEuNjM1NC0xLjE1MjQ2IDAtMi4wNTI0Ni0uMjUyNS0yLjA1MjQ2LS4yNTI1djQuMjAzN2gyLjkzMDQ2YzEuMDk3NiAwIDEuOTk3Ni0uODg5IDEuOTk3Ni0xLjk5NzZ2LTkuOTY1ODR6IiBmaWxsPSJ1cmwoI2UpIi8+PHBhdGggZD0ibTE1LjU2MSA5Ljg5OTk2Yy0xLjA5NzUgMC0xLjk5NzUuODg5MDQtMS45OTc1IDEuOTk3NTR2Mi42MTIyYy41MDQ5LS40MjggMS4zODI5LS43MDI0IDIuNzk4OC0uNjM2Ni43NTczLjAzMyAxLjU2OTUuMjQxNSAxLjU2OTUuMjQxNXYuODQ1MWMtLjQwNjEtLjIwODUtLjg4OTEtLjM5NTEtMS41MTQ3LS40MzktMS4wNzU2LS4wNzY4LTEuNzIzMS40NS0xLjcyMzEgMS4zNzE5IDAgLjkzMy42NDc1IDEuNDU5OCAxLjcyMzEgMS4zNzIuNjI1Ni0uMDQzOSAxLjEwODYtLjI0MTUgMS41MTQ3LS40Mzl2Ljg0NTFzLS44MDEzLjIwODUtMS41Njk1LjI0MTVjLTEuNDE1OS4wNjU4LTIuMjkzOS0uMjA4Ni0yLjc5ODgtLjYzNjZ2NC42MDk3aDIuOTMwNWMxLjA5NzUgMCAxLjk5NzUtLjg4OSAxLjk5NzUtMS45OTc1di05Ljk4Nzg0eiIgZmlsbD0idXJsKCNmKSIvPjwvZz48L3N2Zz4=);\n}\n.tooltip__button--data--provider__mastercard::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI2IDRDMjkuMzEzNyA0IDMyIDYuNjg2MjkgMzIgMTBMMzIgMjJDMzIgMjUuMzEzNyAyOS4zMTM3IDI4IDI2IDI4TDYgMjhDMi42ODYyOSAyOCA5Ljc1Njk3ZS0wNyAyNS4zMTM3IDEuMTIwNTRlLTA2IDIyTDEuNjQ1MDhlLTA2IDEwQzEuNzg5OTNlLTA2IDYuNjg2MjkgMi42ODYyOSA0IDYgNEwyNiA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMCAyMkwzMCAxMEMzMCA3Ljc5MDg2IDI4LjIwOTEgNiAyNiA2TDYgNkMzLjc5MDg2IDYgMiA3Ljc5MDg2IDIgMTBMMiAyMkMyIDI0LjIwOTEgMy43OTA4NiAyNiA2IDI2TDI2IDI2QzI4LjIwOTEgMjYgMzAgMjQuMjA5MSAzMCAyMlpNMzIgMTBDMzIgNi42ODYyOSAyOS4zMTM3IDQgMjYgNEw2IDRDMi42ODYyOSA0IDEuNzg5OTNlLTA2IDYuNjg2MjkgMS42NDUwOGUtMDYgMTBMMS4xMjA1NGUtMDYgMjJDOS43NTY5N2UtMDcgMjUuMzEzNyAyLjY4NjI5IDI4IDYgMjhMMjYgMjhDMjkuMzEzNyAyOCAzMiAyNS4zMTM3IDMyIDIyTDMyIDEwWiIgZmlsbD0iI0NDQ0NDQyIvPgo8cGF0aCBkPSJNMTguNDAzOCAyMC4xNjExSDEzLjU5MjhWMTEuNTY5SDE4LjQwMzhWMjAuMTYxMVoiIGZpbGw9IiNGRjVGMDAiLz4KPHBhdGggZD0iTTEzLjkwMTYgMTUuODY0NEMxMy45MDE2IDE0LjEyMTQgMTQuNzIyOCAxMi41Njg5IDE2LjAwMTcgMTEuNTY4M0MxNS4wNjY1IDEwLjgzNjcgMTMuODg2MyAxMC40IDEyLjYwMzYgMTAuNEM5LjU2Njk4IDEwLjQgNy4xMDU0NyAxMi44NDY0IDcuMTA1NDcgMTUuODY0NEM3LjEwNTQ3IDE4Ljg4MjMgOS41NjY5OCAyMS4zMjg3IDEyLjYwMzYgMjEuMzI4N0MxMy44ODYzIDIxLjMyODcgMTUuMDY2NSAyMC44OTIgMTYuMDAxNyAyMC4xNjA0QzE0LjcyMjggMTkuMTU5OSAxMy45MDE2IDE3LjYwNzMgMTMuOTAxNiAxNS44NjQ0WiIgZmlsbD0iI0VCMDAxQiIvPgo8cGF0aCBkPSJNMjQuODkzNiAxNS44NjQ0QzI0Ljg5MzYgMTguODgyMyAyMi40MzIxIDIxLjMyODcgMTkuMzk1NSAyMS4zMjg3QzE4LjExMjggMjEuMzI4NyAxNi45MzI2IDIwLjg5MiAxNS45OTcxIDIwLjE2MDRDMTcuMjc2MiAxOS4xNTk5IDE4LjA5NzQgMTcuNjA3MyAxOC4wOTc0IDE1Ljg2NDRDMTguMDk3NCAxNC4xMjE0IDE3LjI3NjIgMTIuNTY4OSAxNS45OTcxIDExLjU2ODNDMTYuOTMyNiAxMC44MzY3IDE4LjExMjggMTAuNCAxOS4zOTU1IDEwLjRDMjIuNDMyMSAxMC40IDI0Ljg5MzYgMTIuODQ2NCAyNC44OTM2IDE1Ljg2NDRaIiBmaWxsPSIjRjc5RTFCIi8+Cjwvc3ZnPgo=);\n}\n.tooltip__button--data--provider__unionPay::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMjYgNGMzLjMxMzcgMCA2IDIuNjg2MjkgNiA2djEyYzAgMy4zMTM3LTIuNjg2MyA2LTYgNmgtMjBjLTMuMzEzNzEgMC01Ljk5OTk5OTAyLTIuNjg2My01Ljk5OTk5ODg4LTZsLjAwMDAwMDUzLTEyYy4wMDAwMDAxNC0zLjMxMzcxIDIuNjg2Mjg4MzUtNiA1Ljk5OTk5ODM1LTZ6IiBmaWxsPSIjZmZmIi8+PGcgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Im0zMCAyMnYtMTJjMC0yLjIwOTE0LTEuNzkwOS00LTQtNGgtMjBjLTIuMjA5MTQgMC00IDEuNzkwODYtNCA0djEyYzAgMi4yMDkxIDEuNzkwODYgNCA0IDRoMjBjMi4yMDkxIDAgNC0xLjc5MDkgNC00em0yLTEyYzAtMy4zMTM3MS0yLjY4NjMtNi02LTZoLTIwYy0zLjMxMzcxIDAtNS45OTk5OTgyMSAyLjY4NjI5LTUuOTk5OTk4MzUgNmwtLjAwMDAwMDUzIDEyYy0uMDAwMDAwMTQgMy4zMTM3IDIuNjg2Mjg4ODggNiA1Ljk5OTk5ODg4IDZoMjBjMy4zMTM3IDAgNi0yLjY4NjMgNi02eiIgZmlsbD0iI2NjYyIvPjxwYXRoIGQ9Im0yNS4wMTM0IDkuNTAzNzItNC45MjUyLS4wMDEyOGMtLjAwMDYgMC0uMDAxMyAwLS4wMDEzIDAtLjAwMzggMC0uMDA3NS4wMDA2OC0uMDExMi4wMDA2OC0uNjc2Ni4wMjA5LTEuNTE5My41Njc5OC0xLjY3MjggMS4yNDI0OGwtMi4zMjkyIDEwLjM4OWMtLjE1MzQuNjgwOC4yNjQxIDEuMjM0OC45MzU4IDEuMjQ1aDUuMTc0MWMuNjYxNC0uMDMzIDEuMzA0Mi0uNTczNyAxLjQ1NTEtMS4yNDA2bDIuMzI5Mi0xMC4zODljLjE1NTktLjY4NzgtLjI3MTctMS4yNDYyOC0uOTU0NS0xLjI0NjI4eiIgZmlsbD0iIzAxNzk4YSIvPjxwYXRoIGQ9Im0xNi4wNzM4IDIxLjEzNDYgMi4zMjkxLTEwLjM4ODljLjE1MzUtLjY3NDYuOTk2Mi0xLjIyMTYyIDEuNjcyOC0xLjI0MjUybC0xLjk1ODItLjAwMTI4LTMuNTI4Mi0uMDAwNjhjLS42Nzg0LjAxMzk5LTEuNTMyMS41NjQ4OC0xLjY4NTUgMS4yNDQ0OGwtMi4zMjk5IDEwLjM4ODljLS4xNTQuNjgwOS4yNjQxIDEuMjM0OS45MzU0IDEuMjQ1MWg1LjUwMDJjLS42NzE3LS4wMTAyLTEuMDg5Mi0uNTY0Mi0uOTM1Ny0xLjI0NTF6IiBmaWxsPSIjMDI0MzgxIi8+PHBhdGggZD0ibTEwLjU3MzkgMjEuMTM0NiAyLjMyOTgtMTAuMzg5Yy4xNTM1LS42Nzk1IDEuMDA3MS0xLjIzMDQyIDEuNjg1Ni0xLjI0NDQxbC00LjUxOTctLjAwMTE5Yy0uNjgyMzMgMC0xLjU1NzA5LjU1NzItMS43MTMwMiAxLjI0NTZsLTIuMzI5ODQgMTAuMzg5Yy0uMDE0MTguMDYzNC0uMDIyMDUuMTI1NS0uMDI2NzQuMTg2M3YuMTkyOGMuMDQ1NjEuNDk2My40MjE2Mi44NTc3Ljk2MjExLjg2Nmg0LjU0NzE5Yy0uNjcxMy0uMDEwMi0xLjA4OTUtLjU2NDMtLjkzNTQtMS4yNDUxeiIgZmlsbD0iI2RkMDIyOCIvPjxwYXRoIGQ9Im0xNC42ODQ2IDE3LjA3MTNoLjA4NTVjLjA3ODYgMCAuMTMxNS0uMDI2Ni4xNTYzLS4wNzkybC4yMjIyLS4zMzU0aC41OTUybC0uMTI0MS4yMjA2aC43MTM3bC0uMDkwNS4zMzc5aC0uODQ5MmMtLjA5NzguMTQ4My0uMjE4Mi4yMTgxLS4zNjMuMjA5OGgtLjQ0MjN6bS0uMDk3OC40ODQzaDEuNTYzNmwtLjA5OTcuMzY3MWgtLjYyODhsLS4wOTU5LjM1NDNoLjYxMThsLS4wOTk2LjM2N2gtLjYxMTlsLS4xNDIxLjUyMzZjLS4wMzUyLjA4NzUuMDExLjEyNjkuMTM4LjExNzloLjQ5ODdsLS4wOTI0LjM0MTFoLS45NTc0Yy0uMTgxNSAwLS4yNDM3LS4xMDQ2LS4xODY4LS4zMTQ0bC4xODE3LS42NjgyaC0uMzkxMWwuMDk5NC0uMzY3aC4zOTExbC4wOTU5LS4zNTQzaC0uMzczOXptMi40OTU2LS45MDE0LS4wMjQ2LjIxNDlzLjI5NDktLjIyMzIuNTYyOC0uMjIzMmguOTg5OGwtLjM3ODUgMS4zODEzYy0uMDMxNC4xNTc5LS4xNjYuMjM2NC0uNDAzOC4yMzY0aC0xLjEyMTlsLS4yNjI3Ljk2OTljLS4wMTUyLjA1Mi4wMDYyLjA3ODYuMDYyOC4wNzg2aC4yMjA4bC0uMDgxMi4zMDExaC0uNTYxMmMtLjIxNTQgMC0uMzA1LS4wNjUzLS4yNjk1LS4xOTY0bC43NDI2LTIuNzYyNnptLjgzODIuMzkwNWgtLjg4MzVsLS4xMDU2LjM3MjdzLjE0NzEtLjEwNzEuMzkzLS4xMTA5Yy4yNDUyLS4wMDM5LjUyNSAwIC41MjUgMHptLS4zMjAxLjg2NDZjLjA2NTQuMDA4OS4xMDE5LS4wMTcxLjEwNjMtLjA3ODZsLjA1NDEtLjE5NjVoLS44ODQ4bC0uMDc0Mi4yNzUxem0tLjU5NjguNDQ2M2guNTEwMWwtLjAwOTUuMjIyNGguMTM1OGMuMDY4NiAwIC4xMDI2LS4wMjIxLjEwMjYtLjA2NThsLjA0MDItLjE0NGguNDIzOWwtLjA1NjYuMjA5OGMtLjA0NzkuMTc1LS4xNzQ4LjI2NjMtLjM4MTEuMjc1MmgtLjI3MTdsLS4wMDEyLjM4MDNjLS4wMDUuMDYwOS4wNDk2LjA5Mi4xNjIxLjA5MmguMjU1NGwtLjA4MjQuMzAxMWgtLjYxMjVjLS4xNzE3LjAwODItLjI1NTgtLjA3NDItLjI1NDEtLjI0OTJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTEwLjgyMzggMTQuODE0Yy0uMDY5Mi4zNDE3LS4yMjk2LjYwNDEtLjQ3ODMuNzkwNS0uMjQ2NS4xODMyLS41NjQ0LjI3NTEtLjk1MzYyLjI3NTEtLjM2NjI5IDAtLjYzNDgzLS4wOTM5LS44MDYxOS0uMjgyMS0uMTE4ODUtLjEzMzgtLjE3Nzk4LS4zMDM3LS4xNzc5OC0uNTA5MSAwLS4wODQ5LjAxMDA5LS4xNzYyLjAzMDIyLS4yNzQ0bC40MTQ3LTIuMDE1OGguNjI2MzNsLS40MDkwNiAxLjk5M2MtLjAxMjU5LjA1NTEtLjAxNzYxLjEwNjUtLjAxNjk1LjE1MjgtLjAwMDY2LjEwMi4wMjQ0OC4xODU3LjA3NTQyLjI1MS4wNzQyLjA5Ny4xOTQ2My4xNDUxLjM2MjIyLjE0NTEuMTkyNzIgMCAuMzUxNTItLjA0NzUuNDc0NzYtLjE0MzIuMTIzMjUtLjA5NTEuMjAzNzUtLjIzMDEuMjM5OTUtLjQwNTdsLjQxMDMtMS45OTNoLjYyMzJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTEzLjQ1NDEgMTQuMDIwOWguNDkwNWwtLjM4NDIgMS43OTloLS40ODk2em0uMTU0NC0uNjU1NGguNDk0OWwtLjA5MjUuNDM2N2gtLjQ5NDh6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTE0LjM3ODggMTUuNjgzYy0uMTI4My0uMTIzNi0uMTkzMS0uMjkwMy0uMTkzNy0uNTAyIDAtLjAzNjIuMDAyMS0uMDc3NC4wMDY5LS4xMjI0LjAwNDctLjA0NTcuMDEwNy0uMDkuMDE5Mi0uMTMxMi4wNTgxLS4yOTIyLjE4Mi0uNTI0Mi4zNzI5LS42OTU0LjE5MDUtLjE3MTguNDIwNC0uMjU4LjY4OTUtLjI1OC4yMjA0IDAgLjM5NTIuMDYyMS41MjMyLjE4NjQuMTI4LjEyNDkuMTkyMS4yOTM0LjE5MjEuNTA3OCAwIC4wMzY3LS4wMDI4LjA3OTItLjAwNzUuMTI0OC0uMDA1Ny4wNDYzLS4wMTI2LjA5MDctLjAyMDUuMTM0NC0uMDU2OS4yODc4LS4xODA0LjUxNzMtLjM3MTMuNjg1My0uMTkwOC4xNjkyLS40Mi4yNTM1LS42ODczLjI1MzUtLjIyMTQgMC0uMzk1Ni0uMDYwOS0uNTIzNS0uMTgzMnptLjkzNDctLjM1NjJjLjA4NjUtLjA5NDUuMTQ4NC0uMjM3OC4xODYyLS40Mjg1LjAwNTYtLjAyOTguMDEwNi0uMDYwOS4wMTM4LS4wOTIuMDAzMS0uMDMwNC4wMDQ0LS4wNTg5LjAwNDQtLjA4NDkgMC0uMTExLS4wMjgtLjE5NzEtLjA4NDMtLjI1OC0uMDU1OS0uMDYxNS0uMTM1NS0uMDkxOS0uMjM4My0uMDkxOS0uMTM1OCAwLS4yNDY1LjA0ODEtLjMzMzIuMTQ0NS0uMDg3NS4wOTY0LS4xNDk0LjI0MjItLjE4ODQuNDM2MS0uMDA1NC4wMjk4LS4wMDk4LjA1OTYtLjAxMzguMDg4OC0uMDAzMi4wMjk4LS4wMDQxLjA1NzctLjAwMzUuMDgzIDAgLjExMDMuMDI4LjE5NTMuMDg0My4yNTU1LjA1NTkuMDYwMi4xMzUxLjA5LjIzOTIuMDkuMTM2NSAwIC4yNDcyLS4wNDc2LjMzMzYtLjE0MjZ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTE5LjE3MTQgMTcuMDg2NS4xMTgzLS40MTk3aC41OThsLS4wMjU4LjE1NHMuMzA1Ni0uMTU0LjUyNTctLjE1NGguNzM5NGwtLjExNzUuNDE5N2gtLjExNjNsLS41NTc4IDEuOTc5aC4xMTYzbC0uMTEwNy4zOTNoLS4xMTYzbC0uMDQ4NC4xNzA2aC0uNTc5MWwuMDQ4My0uMTcwNmgtMS4xNDI2bC4xMTE0LS4zOTNoLjExNDRsLjU1ODQtMS45Nzl6bS42NDUyIDAtLjE1MjIuNTM1NnMuMjYwNC0uMTAwNy40ODQ5LS4xMjkzYy4wNDk2LS4xODcuMTE0NC0uNDA2My4xMTQ0LS40MDYzem0tLjIyMjcuNzg2Ni0uMTUyNy41NjFzLjI4ODYtLjE0MzIuNDg2Ny0uMTU1M2MuMDU3Mi0uMjE2OC4xMTQ1LS40MDU3LjExNDUtLjQwNTd6bS4xMTIgMS4xOTI0LjExNDUtLjQwNjloLS40NDY0bC0uMTE1MS40MDY5em0xLjQ0NjMtMi40MjQ2aC41NjIzbC4wMjM4LjIwOTFjLS4wMDM3LjA1MzIuMDI3Ny4wNzg2LjA5NDMuMDc4NmguMDk5NGwtLjEwMDUuMzU0NGgtLjQxMzNjLS4xNTc4LjAwODItLjIzODktLjA1MjYtLjI0NjQtLjE4Mzl6bS0uMTY0Ny43NmgxLjgyMTFsLS4xMDY5LjM4MDRoLS41Nzk4bC0uMDk5NC4zNTM2aC41NzkybC0uMTA3NS4zNzk3aC0uNjQ1MWwtLjE0Ni4yMjI2aC4zMTU4bC4wNzI5LjQ0NTZjLjAwODcuMDQ0NC4wNDc3LjA2NTkuMTE0NC4wNjU5aC4wOThsLS4xMDMuMzY3aC0uMzQ3MWMtLjE3OTkuMDA4OS0uMjcyOS0uMDUxOS0uMjgwNS0uMTgzMWwtLjA4MzctLjQwNy0uMjg3My40MzNjLS4wNjguMTIyMy0uMTcyNC4xNzk0LS4zMTMyLjE3MDVoLS41MzAxbC4xMDMxLS4zNjcxaC4xNjU0Yy4wNjggMCAuMTI0NS0uMDMwNC4xNzU0LS4wOTE5bC40NDk3LS42NTU1aC0uNTc5OGwuMTA3NS0uMzc5N2guNjI4OGwuMS0uMzUzNmgtLjYyOTR6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTExLjQwMDMgMTQuMDIwNGguNDQyNGwtLjA1MDYuMjU5OS4wNjM1LS4wNzQyYy4xNDM0LS4xNTQ2LjMxNzYtLjIzMTQuNTIzMi0uMjMxNC4xODYxIDAgLjMyMDQuMDU0Ni40MDQ3LjE2NDIuMDgyOS4xMDk3LjEwNTYuMjYxMi4wNjYzLjQ1NThsLS4yNDM3IDEuMjI2aC0uNDU0NmwuMjIwMS0xLjExMTNjLjAyMjYtLjExNDcuMDE2NC0uMjAwMy0uMDE4Ni0uMjU1NC0uMDM0Ni0uMDU1Mi0uMTAwNi0uMDgyNC0uMTk1OS0uMDgyNC0uMTE2OSAwLS4yMTU0LjAzNjctLjI5NTUuMTA5Ni0uMDgwNS4wNzM2LS4xMzM3LjE3NTYtLjE1OTguMzA1NmwtLjIwMjggMS4wMzM5aC0uNDU1NXoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMTYuNDczNSAxNC4wMjA0aC40NDI3bC0uMDUwMi4yNTk5LjA2MjgtLjA3NDJjLjE0MzUtLjE1NDYuMzE4My0uMjMxNC41MjMzLS4yMzE0LjE4NjEgMCAuMzIwNi4wNTQ2LjQwNDIuMTY0Mi4wODI1LjEwOTcuMTA2NC4yNjEyLjA2NjEuNDU1OGwtLjI0MjcgMS4yMjZoLS40NTUzbC4yMjAxLTEuMTExM2MuMDIyNi0uMTE0Ny4wMTY0LS4yMDAzLS4wMTgyLS4yNTU0LS4wMzU5LS4wNTUyLS4xMDA3LS4wODI0LS4xOTU2LS4wODI0LS4xMTcgMC0uMjE1LjAzNjctLjI5NjIuMTA5Ni0uMDgwNS4wNzM2LS4xMzM5LjE3NTYtLjE1OS4zMDU2bC0uMjAzOCAxLjAzMzloLS40NTV6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTE4LjY2MjEgMTIuOTA0N2gxLjI4NTNjLjI0NzEgMCAuNDM4My4wNTY0LjU2OTcuMTY3My4xMzA4LjExMjIuMTk2My4yNzMzLjE5NjMuNDgzMXYuMDA2M2MwIC4wMzk5LS4wMDI3LjA4NDktLjAwNjQuMTMzNy0uMDA2My4wNDgyLS4wMTQ1LjA5Ny0uMDI1MS4xNDc3LS4wNTY2LjI3NzctLjE4ODEuNTAwOC0uMzkxMi42NzAxLS4yMDM4LjE2ODYtLjQ0NTIuMjUzNi0uNzIzMS4yNTM2aC0uNjg5M2wtLjIxMzEgMS4wNTQxaC0uNTk2OHptLjMyMTIgMS4zNTQ2aC41NzE3Yy4xNDkgMCAuMjY3Mi0uMDM0OS4zNTM0LS4xMDM5LjA4NTUtLjA2OTguMTQyMS0uMTc2Mi4xNzM1LS4zMjA4LjAwNS0uMDI2Ny4wMDgxLS4wNTA3LjAxMi0uMDcyOS4wMDE5LS4wMjA5LjAwNDQtLjA0MTkuMDA0NC0uMDYyMSAwLS4xMDMzLS4wMzY0LS4xNzgxLS4xMDk0LS4yMjUtLjA3My0uMDQ3Ni0uMTg3NC0uMDcwNC0uMzQ1OS0uMDcwNGgtLjQ4NTV6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTIzLjM4NDggMTYuMTY4N2MtLjE4ODcuNDA0NC0uMzY4NS42NDAyLS40NzQxLjc0OTgtLjEwNTcuMTA4NS0uMzE1LjM2MDgtLjgxOTQuMzQxN2wuMDQzNC0uMzA4NmMuNDI0NC0uMTMxOS42NTM5LS43MjU5Ljc4NDctLjk4OWwtLjE1NTktMS45MzcyLjMyODMtLjAwNDRoLjI3NTRsLjAyOTYgMS4yMTUyLjUxNjItMS4yMTUyaC41MjI2eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im0yMS45MjMzIDE0LjE2NzMtLjIwNzYuMTQ0Yy0uMjE3LS4xNzEyLS40MTUtLjI3Ny0uNzk3My0uMDk4My0uNTIwNy4yNDM0LS45NTU5IDIuMTEwMy40Nzc5IDEuNDk1NGwuMDgxNy4wOTc2LjU2NDEuMDE0Ni4zNzA0LTEuNjk2NHptLS4zMjA4LjkyNzRjLS4wOTA2LjI2OTUtLjI5My40NDc2LS40NTE0LjM5NjktLjE1ODUtLjA0OTUtLjIxNTEtLjMwOTQtLjEyMzMtLjU3OTQuMDkwNS0uMjcwMS4yOTQzLS40NDc2LjQ1MTUtLjM5NjguMTU4NC4wNDk0LjIxNTYuMzA5My4xMjMyLjU3OTN6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==);\n}\n.tooltip__button--data--provider__visa::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI2IDRDMjkuMzEzNyA0IDMyIDYuNjg2MjkgMzIgMTBMMzIgMjJDMzIgMjUuMzEzNyAyOS4zMTM3IDI4IDI2IDI4TDYgMjhDMi42ODYyOSAyOCA5Ljc1Njk3ZS0wNyAyNS4zMTM3IDEuMTIwNTRlLTA2IDIyTDEuNjQ1MDhlLTA2IDEwQzEuNzg5OTNlLTA2IDYuNjg2MjkgMi42ODYyOSA0IDYgNEwyNiA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMCAyMkwzMCAxMEMzMCA3Ljc5MDg2IDI4LjIwOTEgNiAyNiA2TDYgNkMzLjc5MDg2IDYgMiA3Ljc5MDg2IDIgMTBMMiAyMkMyIDI0LjIwOTEgMy43OTA4NiAyNiA2IDI2TDI2IDI2QzI4LjIwOTEgMjYgMzAgMjQuMjA5MSAzMCAyMlpNMzIgMTBDMzIgNi42ODYyOSAyOS4zMTM3IDQgMjYgNEw2IDRDMi42ODYyOSA0IDEuNzg5OTNlLTA2IDYuNjg2MjkgMS42NDUwOGUtMDYgMTBMMS4xMjA1NGUtMDYgMjJDOS43NTY5N2UtMDcgMjUuMzEzNyAyLjY4NjI5IDI4IDYgMjhMMjYgMjhDMjkuMzEzNyAyOCAzMiAyNS4zMTM3IDMyIDIyTDMyIDEwWiIgZmlsbD0iI0NDQ0NDQyIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE4Ljg5NTYgMTIuNUMxOS41ODQ5IDEyLjUgMjAuMTQyNSAxMi42NDQ1IDIwLjQ5NCAxMi43NzU0TDIwLjI1MTYgMTQuMTcyNEwyMC4wOTA0IDE0LjEwMzdDMTkuNzY4IDEzLjk3MjkgMTkuMzQyMyAxMy44NDIyIDE4Ljc2MjkgMTMuODU2QzE4LjA1OTMgMTMuODU2IDE3Ljc0MzcgMTQuMTM4IDE3LjczNjQgMTQuNDEzM0MxNy43MzY0IDE0LjcxNjIgMTguMTE4MiAxNC45MTU4IDE4Ljc0MTUgMTUuMjExOEMxOS43NjgzIDE1LjY3MjkgMjAuMjQ0NSAxNi4yMzcyIDIwLjIzNzQgMTYuOTczN0MyMC4yMjMgMTguMzE1NyAxOS4wMDU2IDE5LjE4MyAxNy4xMzU2IDE5LjE4M0MxNi4zMzYxIDE5LjE3NiAxNS41NjYgMTkuMDE3NCAxNS4xNDggMTguODM4N0wxNS4zOTc0IDE3LjM4NjVMMTUuNjMyMSAxNy40ODk4QzE2LjIxMTUgMTcuNzMxIDE2LjU5MjcgMTcuODM0IDE3LjMwNDIgMTcuODM0QzE3LjgxNzMgMTcuODM0IDE4LjM2NzQgMTcuNjM0MiAxOC4zNzQ1IDE3LjIwMDhDMTguMzc0NSAxNi45MTg2IDE4LjE0MDEgMTYuNzExOSAxNy40NTA2IDE2LjM5NTRDMTYuNzc2IDE2LjA4NTUgMTUuODc0MSAxNS41Njk1IDE1Ljg4ODcgMTQuNjQwM0MxNS44OTYzIDEzLjM4MDkgMTcuMTM1NiAxMi41IDE4Ljg5NTYgMTIuNVpNMTIuMjUxMyAxOS4wODY3SDE0LjAzMzVMMTUuMTQ4IDEyLjYxNzRIMTMuMzY2TDEyLjI1MTMgMTkuMDg2N1pNMjMuNjgzNiAxMi42MTc0SDI1LjA2MjFMMjYuNDk5OSAxOS4wODY2SDI0Ljg0OThDMjQuODQ5OCAxOS4wODY2IDI0LjY4ODMgMTguMzQzMyAyNC42MzcxIDE4LjExNjFIMjIuMzQ5QzIyLjI4MjggMTguMjg4MSAyMS45NzQ5IDE5LjA4NjYgMjEuOTc0OSAxOS4wODY2SDIwLjEwNUwyMi43NTIxIDEzLjE1NDFDMjIuOTM1NiAxMi43MzQzIDIzLjI1ODUgMTIuNjE3NCAyMy42ODM2IDEyLjYxNzRaTTIzLjU3MzUgMTQuOTg0N0MyMy41NzM1IDE0Ljk4NDcgMjMuMDA4OCAxNi40MjMyIDIyLjg2MiAxNi43OTQ4SDI0LjM0MzNDMjQuMjcgMTYuNDcxNCAyMy45MzI2IDE0LjkyMjggMjMuOTMyNiAxNC45MjI4TDIzLjgwOCAxNC4zNjU0QzIzLjc1NTYgMTQuNTA4OSAyMy42Nzk3IDE0LjcwNjMgMjMuNjI4NiAxNC44Mzk0QzIzLjU5MzkgMTQuOTI5NiAyMy41NzA1IDE0Ljk5MDMgMjMuNTczNSAxNC45ODQ3Wk0xMC43NjI1IDEyLjYxNzRMOS4wMTcyIDE3LjAyODhMOC44MjY0OCAxNi4xMzQxTDguODI2NDUgMTYuMTM0TDguODI2NiAxNi4xMzQ0TDguMjAzMjggMTMuMTYxMkM4LjEwMDY2IDEyLjc0OCA3Ljc4NTMgMTIuNjMxIDcuMzk2NjUgMTIuNjE3NEg0LjUyOTMzTDQuNSAxMi43NDgxQzUuMTk5MjcgMTIuOTE1OSA1LjgyNDcxIDEzLjE1NzggNi4zNzI3MyAxMy40NTg1TDcuOTYxMTggMTkuMDc5OEg5Ljg0NTc2TDEyLjY0NyAxMi42MTc0SDEwLjc2MjVaIiBmaWxsPSIjMTQzNENCIi8+Cjwvc3ZnPgo=);\n}\n.tooltip__button--data--provider__amex::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMjYgNGMzLjMxMzcgMCA2IDIuNjg2MjkgNiA2djEyYzAgMy4zMTM3LTIuNjg2MyA2LTYgNmgtMjBjLTMuMzEzNzEgMC01Ljk5OTk5OTAyLTIuNjg2My01Ljk5OTk5ODg4LTZsLjAwMDAwMDUzLTEyYy4wMDAwMDAxNC0zLjMxMzcxIDIuNjg2Mjg4MzUtNiA1Ljk5OTk5ODM1LTZ6IiBmaWxsPSIjMDA2ZmNmIi8+PHBhdGggY2xpcC1ydWxlPSJldmVub2RkIiBkPSJtMzAgMjJ2LTEyYzAtMi4yMDkxNC0xLjc5MDktNC00LTRoLTIwYy0yLjIwOTE0IDAtNCAxLjc5MDg2LTQgNHYxMmMwIDIuMjA5MSAxLjc5MDg2IDQgNCA0aDIwYzIuMjA5MSAwIDQtMS43OTA5IDQtNHptMi0xMmMwLTMuMzEzNzEtMi42ODYzLTYtNi02aC0yMGMtMy4zMTM3MSAwLTUuOTk5OTk4MjEgMi42ODYyOS01Ljk5OTk5ODM1IDZsLS4wMDAwMDA1MyAxMmMtLjAwMDAwMDE0IDMuMzEzNyAyLjY4NjI4ODg4IDYgNS45OTk5OTg4OCA2aDIwYzMuMzEzNyAwIDYtMi42ODYzIDYtNnoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjE4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJtMjYuNTcwMiAxNC45MjY1aDIuMTIwMnYtNC45MjY1aC0yLjMwNzN2LjY4NmwtLjQzNjYtLjY4NmgtMS45OTU1di44NzMxbC0uMzc0Mi0uODczMWgtMy42NzkyYy0uMTI0OCAwLS4yNDk1LjA2MjQtLjM3NDIuMDYyNHMtLjE4NzEuMDYyMy0uMzExOC4xMjQ3Yy0uMTI0Ny4wNjIzLS4xODcxLjA2MjMtLjMxMTguMTI0N3YtLjMxMThoLTEwLjUzOWwtLjMxMTguODEwNy0uMzExODEtLjgxMDdoLTIuNDk0NDN2Ljg3MzFsLS4zNzQxNi0uODczMWgtMS45OTU1NWwtLjg3MzA1IDIuMTIwM3YyLjgwNjJoMS40MzQzbC4yNDk0NC0uNjg2aC40OTg4OWwuMjQ5NDQuNjg2aDEwLjk3NTUzdi0uNjIzNmwuNDM2NS42MjM2aDMuMDU1N3YtLjM3NDJjLjA2MjMuMDYyNC4xODcxLjA2MjQuMjQ5NC4xMjQ4LjA2MjQuMDYyMy4xODcxLjA2MjMuMjQ5NS4xMjQ3LjEyNDcuMDYyMy4yNDk0LjA2MjMuMzc0MS4wNjIzaDIuMjQ1bC4yNDk1LS42ODU5aC40OTg4bC4yNDk1LjY4NTloMy4wNTU3di0uNjIzNnptMy40Mjk4IDYuMjM2MXYtNC42MTQ3aC0xNy4xNDkybC0uNDM2NS42MjM2LS40MzY2LS42MjM2aC00Ljk4ODg0djQuOTI2NWg0Ljk4ODg0bC40MzY2LS42MjM2LjQzNjUuNjIzNmgzLjExOHYtMS4wNjAxaC0uMTI0N2MuNDM2NSAwIC44MTA3LS4wNjI0IDEuMTIyNS0uMTg3MXYxLjMwOTVoMi4yNDV2LS42MjM2bC40MzY1LjYyMzZoOS4yOTE4Yy4zNzQxLS4xMjQ3Ljc0ODMtLjE4NyAxLjA2MDEtLjM3NDF6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTI4LjkzOTkgMTkuOTc3N2gtMS42ODM4di42ODZoMS42MjE0Yy42ODYgMCAxLjEyMjUtLjQzNjYgMS4xMjI1LTEuMDYwMnMtLjM3NDItLjkzNTQtLjk5NzgtLjkzNTRoLS43NDgzYy0uMTg3MSAwLS4zMTE4LS4xMjQ3LS4zMTE4LS4zMTE4cy4xMjQ3LS4zMTE4LjMxMTgtLjMxMThoMS40MzQzbC4zMTE4LS42ODU5aC0xLjY4MzdjLS42ODYgMC0xLjEyMjUuNDM2NS0xLjEyMjUuOTk3NyAwIC42MjM2LjM3NDEuOTM1NC45OTc3LjkzNTRoLjc0ODRjLjE4NyAwIC4zMTE4LjEyNDguMzExOC4zMTE4LjA2MjMuMjQ5NS0uMDYyNC4zNzQyLS4zMTE4LjM3NDJ6bS0zLjA1NTcgMGgtMS42ODM4di42ODZoMS42MjE0Yy42ODYgMCAxLjEyMjUtLjQzNjYgMS4xMjI1LTEuMDYwMnMtLjM3NDEtLjkzNTQtLjk5NzgtLjkzNTRoLS43NDgzYy0uMTg3MSAwLS4zMTE4LS4xMjQ3LS4zMTE4LS4zMTE4cy4xMjQ3LS4zMTE4LjMxMTgtLjMxMThoMS40MzQzbC4zMTE4LS42ODU5aC0xLjY4MzdjLS42ODYgMC0xLjEyMjUuNDM2NS0xLjEyMjUuOTk3NyAwIC42MjM2LjM3NDEuOTM1NC45OTc4LjkzNTRoLjc0ODNjLjE4NzEgMCAuMzExOC4xMjQ4LjMxMTguMzExOC4wNjI0LjI0OTUtLjEyNDcuMzc0Mi0uMzExOC4zNzQyem0tMi4xODI2LTEuOTk1NXYtLjY4NmgtMi42MTkydjMuMzA1MWgyLjYxOTJ2LS42ODZoLTEuODcwOXYtLjY4NTloMS44MDg1di0uNjg2aC0xLjgwODV2LS42MjM2aDEuODcwOXptLTQuMjQwNiAwYy4zMTE4IDAgLjQzNjYuMTg3LjQzNjYuMzc0MXMtLjEyNDguMzc0Mi0uNDM2Ni4zNzQyaC0uOTM1NHYtLjgxMDd6bS0uOTM1NCAxLjQzNDNoLjM3NDJsLjk5NzggMS4xODQ4aC45MzU0bC0xLjEyMjUtMS4yNDcyYy41NjEyLS4xMjQ3Ljg3My0uNDk4OS44NzMtLjk5NzggMC0uNjIzNi0uNDM2NS0xLjA2MDEtMS4xMjI1LTEuMDYwMWgtMS43NDYxdjMuMzA1MWguNzQ4NHptLTEuOTk1NS0uOTk3OGMwIC4yNDk0LS4xMjQ4LjQzNjUtLjQzNjYuNDM2NWgtLjk5Nzd2LS44NzNoLjkzNTRjLjMxMTggMCAuNDk4OS4xODcuNDk4OS40MzY1em0tMi4xODI3LTEuMTIyNXYzLjMwNTFoLjc0ODR2LTEuMTIyNWguOTk3N2MuNjg2IDAgMS4xODQ5LS40MzY1IDEuMTg0OS0xLjEyMjUgMC0uNjIzNi0uNDM2NS0xLjEyMjUtMS4xMjI1LTEuMTIyNXptLTEuMTIyNSAzLjMwNTFoLjkzNTVsLTEuMzA5Ni0xLjY4MzcgMS4zMDk2LTEuNjIxNGgtLjkzNTVsLS44MTA2IDEuMDYwMS0uODEwNy0xLjA2MDFoLS45MzU0bDEuMzA5NSAxLjYyMTQtMS4zMDk1IDEuNjIxNGguOTM1NGwuODEwNy0xLjA2MDJ6bS0yLjgwNjItMi42MTkxdi0uNjg2aC0yLjYxOTE1djMuMzA1MWgyLjYxOTE1di0uNjg2aC0xLjg3MDgydi0uNjg1OWgxLjgwODQydi0uNjg2aC0xLjgwODQydi0uNjIzNmgxLjg3MDgyem0xNS4xNTM3LTUuODYyIDEuMzA5NiAxLjk5NTZoLjkzNTR2LTMuMzA1MWgtLjc0ODR2Mi4xODI2bC0uMTg3LS4zMTE4LTEuMTg0OS0xLjg3MDhoLS45OTc4djMuMzA1MWguNzQ4NHYtMi4yNDV6bS0zLjI0MjgtLjA2MjMuMjQ5NS0uNjg2LjI0OTQuNjg2LjMxMTguNzQ4M2gtMS4xMjI1em0xLjMwOTYgMi4wNTc5aC44MTA3bC0xLjQzNDMtMy4zMDUxaC0uOTk3OGwtMS40MzQzIDMuMzA1MWguODEwN2wuMzExOC0uNjg2aDEuNjIxNHptLTMuNDkyMiAwIC4zMTE4LS42ODZoLS4xODcxYy0uNTYxMiAwLS44NzMtLjM3NDEtLjg3My0uOTM1NHYtLjA2MjRjMC0uNTYxMi4zMTE4LS45MzU0Ljg3My0uOTM1NGguODEwN3YtLjY4NTloLS44NzNjLS45OTc4IDAtMS41NTkxLjY4NTktMS41NTkxIDEuNjIxM3YuMDYyNGMwIC45OTc4LjU2MTMgMS42MjE0IDEuNDk2NyAxLjYyMTR6bS0yLjgwNjIgMGguNzQ4M3YtMy4yNDI4aC0uNzQ4M3ptLTEuNjIxNC0yLjYxOTJjLjMxMTggMCAuNDM2NS4xODcxLjQzNjUuMzc0MnMtLjEyNDcuMzc0Mi0uNDM2NS4zNzQyaC0uOTM1NHYtLjgxMDd6bS0uOTM1NCAxLjQzNDNoLjM3NDFsLjk5NzggMS4xODQ5aC45MzU0bC0xLjEyMjUtMS4yNDcyYy41NjEzLS4xMjQ3Ljg3MzEtLjQ5ODkuODczMS0uOTk3OCAwLS42MjM2LS40MzY2LTEuMDYwMS0xLjEyMjUtMS4wNjAxaC0xLjc0NjF2My4zMDUxaC43NDgzem0tMS4zNzItMS40MzQzdi0uNjg1OWgtMi42MTkxdjMuMzA1MWgyLjYxOTF2LS42ODZoLTEuODcwOHYtLjY4NTloMS44MDg1di0uNjg2aC0xLjgwODV2LS42MjM2aDEuODcwOHptLTUuNjc0ODEgMi42MTkyaC42ODU5N2wuOTM1NDEtMi42ODE1djIuNjgxNWguNzQ4MzN2LTMuMzA1MWgtMS4yNDcyMWwtLjc0ODMzIDIuMjQ1LS43NDgzMy0yLjI0NWgtMS4yNDcyMnYzLjMwNTFoLjc0ODMzdi0yLjY4MTV6bS00LjA1MzQ1LTIuMDU3OS4yNDk0NC0uNjg2LjI0OTQ1LjY4Ni4zMTE4Ljc0ODNoLTEuMTIyNDl6bTEuMzA5NTggMi4wNTc5aC44MTA2OWwtMS40MzQzLTMuMzA1MWgtLjkzNTQxbC0xLjQzNDMgMy4zMDUxaC44MTA2OWwuMzExOC0uNjg2aDEuNjIxMzl6IiBmaWxsPSIjMDA2ZmNmIi8+PC9zdmc+);\n}\n.tooltip__button--data--identities::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTYgOS41YTQgNCAwIDEgMS04IDAgNCA0IDAgMCAxIDggMG0tMS41IDBhMi41IDIuNSAwIDEgMS01IDAgMi41IDIuNSAwIDAgMSA1IDAiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgogIDxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDIyYzUuNTIzIDAgMTAtNC40NzcgMTAtMTBTMTcuNTIzIDIgMTIgMiAyIDYuNDc3IDIgMTJzNC40NzcgMTAgMTAgMTBtMC0xLjVhOC40NyA4LjQ3IDAgMCAwIDUuNzA2LTIuMkE2LjU4IDYuNTggMCAwIDAgMTIgMTVhNi41OCA2LjU4IDAgMCAwLTUuNzA1IDMuM0E4LjQ3IDguNDcgMCAwIDAgMTIgMjAuNW0wLTdhOC4wNyA4LjA3IDAgMCAxIDYuNzYgMy42NTMgOC41IDguNSAwIDEgMC0xMy41MiAwQTguMDcgOC4wNyAwIDAgMSAxMiAxMy41IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+Cg==);\n}\n.tooltip__button--data--credentials.tooltip__button--data--bitwarden::before,\n.tooltip__button--data--credentials__current.tooltip__button--data--bitwarden::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTkuMzM3IDNINC42ODRjLS40MTgtLjAxNC0uODA3LjMyNy0uODA5Ljc0OHY5LjAxYy4wMDQuNjg2LjE1IDEuMzY1LjQyOCAyIC41MjggMS4yOSAxLjQ2NSAyLjM4IDIuNTQ1IDMuMjUzLjk2NC44MzggMi4wNDUgMS41IDMuMTY0IDIuMTEuNTIzLjI4NSAxLjM0OC44NzkgMS45NzQuODc5LjY0MyAwIDEuNDYtLjU4NSAxLjk5OS0uODc5IDEuMTItLjYxMSAyLjE5MS0xLjI4MyAzLjE2My0yLjExIDEuMDgtLjg5MyAxLjk5NC0xLjk2IDIuNTQ2LTMuMjUzYTUuMDQ4IDUuMDQ4IDAgMCAwIC40MjgtMnYtOS4wMWMuMDQ0LS40My0uMzgtLjc1NC0uNzg1LS43NDhaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8cGF0aCBmaWxsPSJ1cmwoI0JpdHdhcmRlbi1Db2xvci0yNF9zdmdfX2EpIiBkPSJNNS4wMzMgMmgxMy45NjVhMi4wNDcgMi4wNDcgMCAwIDEgMS4zNzMuNTI4Yy4zNjYuMzMuNjYyLjg1NC42MjYgMS40OXY4LjcyN2E2LjIzOCA2LjIzOCAwIDAgMS0uNTEgMi40MzFjLS42MjEgMS40NzYtMS42MyAyLjY2LTIuNzU4IDMuNjEzLS45NTMuODI2LTEuOTgxIDEuNDkzLTMuMDIgMi4wODJsLS4yMDguMTE3Yy0uMTAzLjA1Ny0uMjIuMTI5LS4zOS4yMzFhMTEuMyAxMS4zIDAgMCAxLS41NDguMzE1Yy0uMzU3LjE5LS45NC40NjYtMS41NzYuNDY2LS42MzUgMC0xLjIyLS4yODUtMS41Ny0uNDcyYTExLjYzIDExLjYzIDAgMCAxLS41NDItLjMxNGMtLjEyNi0uMDc2LS4yMjEtLjEzNS0uMzAyLS4xODJsLS4wNzctLjA0NGMtMS4wOTItLjYwOC0yLjIwOC0xLjI5OS0zLjIyMi0yLjE5NC0xLjEzMS0uOTM1LTIuMTY5LTIuMTQ1LTIuNzY5LTMuNjNBNi4yMzYgNi4yMzYgMCAwIDEgMyAxMi43NDVWMy45NzNjLjAwNC0xLjE0Ny45ODYtMS45OSAyLjAzMy0xLjk3MlptLS4wMTIgMS4yNWMtLjM5OC0uMDE0LS43Ny4zMTgtLjc3MS43Mjd2OC43NmMuMDA0LjY2Ny4xNDMgMS4zMjcuNDA4IDEuOTQ1LjUwMyAxLjI1NCAxLjM5OCAyLjMxNCAyLjQyOCAzLjE2Mi45Mi44MTQgMS45NSAxLjQ1NyAzLjAxOCAyLjA1MS40OTguMjc4IDEuMjg2Ljg1NSAxLjg4My44NTUuNjEzIDAgMS4zOTMtLjU3IDEuOTA2LS44NTUgMS4wNjgtLjU5NCAyLjA5LTEuMjQ3IDMuMDE4LTIuMDUgMS4wMjktLjg2OSAxLjkwMi0xLjkwNyAyLjQyOC0zLjE2M2E0Ljk4NiA0Ljk4NiAwIDAgMCAuNDA4LTEuOTQ1di04Ljc2Yy4wNDItLjQxNy0uMzYyLS43MzMtLjc0OS0uNzI3SDUuMDIxWm0xMi45NzYgOS40NzdjLS4wMDIuNDMtLjA5Mi44NTgtLjI2NiAxLjI2My0uNDI4Ljk5NC0xLjEyNiAxLjgyMi0xLjk0OCAyLjUxNmExNi4zNCAxNi4zNCAwIDAgMS0yLjU1MyAxLjc1NWMtLjQxLjIzLS44LjUwNy0xLjIzLjdWNS4wMDFoNS45OTd2Ny43MjZaIi8+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9IkJpdHdhcmRlbi1Db2xvci0yNF9zdmdfX2EiIHgxPSIxMiIgeDI9IjEyIiB5MT0iMiIgeTI9IjIyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM1NTdGRjMiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMkI1NUNBIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KPC9zdmc+Cg==);\n}\n.tooltip__button--data--credentials.tooltip__button--data--bitwarden#provider_locked::before,\n.tooltip__button--data--credentials__current.tooltip__button--data--bitwarden#provider_locked::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMiIgeDI9IjEyIiB5MT0iMiIgeTI9IjIxLjg0MSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjNTU3ZmYzIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMmI1NWNhIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTciIHgyPSIxNyIgeTE9IjE5LjI1IiB5Mj0iMTEuNjI1Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM4ODgiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNhYWEiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNi45ODYiIHgyPSIxNi45ODYiIHkxPSIxNy4wMzciIHkyPSIyMS4xNTQiPjxzdG9wIG9mZnNldD0iLjAwOCIgc3RvcC1jb2xvcj0iI2UyYTQxMiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2MxODAxMCIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZD0ibTE5LjMzNyAzYy40MDUtLjAwNi44MjkuMzE5Ljc4NS43NDh2NC4yNTJjMCAuNTY4LS4zMjYgMi44LS4zMjYgMi44YTQuMjMyIDQuMjMyIDAgMCAwIC0yLjY4Ny0xLjA0OGwtLjEwOS0uMDAyYTQuMjUgNC4yNSAwIDAgMCAtNC4yNSA0LjI1di44NjVhMi43OTggMi43OTggMCAwIDAgLTIgMi42ODJ2Mi43NDhzLS41My0uMDYtLjczOC0uMTc0Yy0xLjExOS0uNjExLTIuMi0xLjI3Mi0zLjE2My0yLjExLTEuMDgtLjg3Mi0yLjAxOS0xLjk2My0yLjU0Ni0zLjI1M2E1LjA0OCA1LjA0OCAwIDAgMSAtLjQyOC0ydi05LjAxYy4wMDItLjQyMS4zOS0uNzYyLjgwOS0uNzQ3aDE0LjY1M3oiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMTkuMTkgMi4wMWMuNDQ2LjA0Ljg2My4yMyAxLjE4MS41MTguMzY2LjMzLjY2Mi44NTQuNjI2IDEuNDl2Ni4zMjJjMCAuNDM1LS45MTguNjk5LTEuMjUuNDE4di02Ljc4Yy4wNDItLjQxOC0uMzYzLS43MzMtLjc0OS0uNzI3aC0xMy45NzdjLS4zOTgtLjAxNS0uNzcuMzE3LS43NzEuNzI2djguNzYxYy4wMDQuNjY3LjE0MiAxLjMyNy40MDggMS45NDQuNTAzIDEuMjU0IDEuMzk4IDIuMzE0IDIuNDI4IDMuMTYyLjkyLjgxNCAxLjk1IDEuNDU3IDMuMDE4IDIuMDUxLjE4My4xMDMuNDA4LjI0NS42NDYuMzg1IDAgLjU2NC0uNTgzIDEuMTAyLTEuMDcuODE1YTEyLjgzMyAxMi44MzMgMCAwIDAgLS4xODQtLjEwN2MtMS4wOTItLjYwOC0yLjIwOC0xLjMtMy4yMjMtMi4xOTQtMS4xMy0uOTM1LTIuMTY3LTIuMTQ1LTIuNzY3LTMuNjNhNi4yMzggNi4yMzggMCAwIDEgLS41MDYtMi40MTl2LTguNzcyYy4wMDQtMS4xNDcuOTg2LTEuOTkgMi4wMzMtMS45NzFoMTMuOTY1eiIgZmlsbD0idXJsKCNhKSIvPjxwYXRoIGQ9Im0xNy45OTcgOS44NjhhNC4yNTcgNC4yNTcgMCAwIDAgLS44ODgtLjExNmwtLjEwOS0uMDAyYTQuMjUgNC4yNSAwIDAgMCAtNC4yNSA0LjI1di44NjVjLS4yNy4wOC0uNTIxLjItLjc1LjM1MnYtMTAuMjE1aDUuOTk3djQuODY3eiIgZmlsbD0idXJsKCNhKSIvPjxnIHN0cm9rZS13aWR0aD0iMS4yNSI+PHJlY3QgaGVpZ2h0PSI3LjYyNSIgcng9IjIuMzc1IiBzdHJva2U9InVybCgjYikiIHdpZHRoPSI0Ljc1IiB4PSIxNC42MjUiIHk9IjExLjYyNSIvPjxwYXRoIGQ9Im0xMi42MjUgMTcuNTQ2YS45Mi45MiAwIDAgMSAuOTIxLS45MjFoNi45MDhhLjkyLjkyIDAgMCAxIC45MjEuOTIxdjIuOTA4YS45MjEuOTIxIDAgMCAxIC0uOTIxLjkyMWgtNi45MDhhLjkyMS45MjEgMCAwIDEgLS45MjEtLjkyMXoiIGZpbGw9IiNmYzMiIHN0cm9rZT0idXJsKCNjKSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9nPjwvc3ZnPg==);\n}\nhr {\n display: block;\n margin: var(--hr-margin);\n border: none;\n border-top: 1px solid rgba(0, 0, 0, .1);\n}\nhr:first-child {\n display: none;\n}\n@media (prefers-color-scheme: dark) {\n hr {\n border-top: 1px solid rgba(255, 255, 255, .2);\n }\n}\n#privateAddress {\n align-items: flex-start;\n}\n#personalAddress::before,\n#privateAddress::before,\n#incontextSignup::before,\n#personalAddress.currentFocus::before,\n#personalAddress:hover::before,\n#privateAddress.currentFocus::before,\n#privateAddress:hover::before {\n filter: none;\n background-size: 24px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iI0RFNTgzMyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTIgMjJjNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMxNy41MjMgMiAxMiAyIDIgNi40NzcgMiAxMnM0LjQ3NyAxMCAxMCAxMCIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iI0RERCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTMuNDA2IDE5LjQ2YzAtLjA3Ny4wMi0uMDk1LS4yMjktLjU5LS42Ni0xLjMyMi0xLjMyMy0zLjE4NS0xLjAyMS00LjM4Ny4wNTUtLjIxOC0uNjIyLTguMDg1LTEuMS04LjMzOC0uNTMyLS4yODMtMS4xODYtLjczMy0xLjc4NC0uODMzLS4zMDQtLjA0OC0uNzAyLS4wMjUtMS4wMTMuMDE3LS4wNTYuMDA3LS4wNTguMTA2LS4wMDUuMTI0LjIwNC4wNy40NTIuMTkuNTk5LjM3MS4wMjcuMDM1LS4wMS4wODktLjA1NC4wOS0uMTM4LjAwNi0uMzg4LjA2My0uNzE4LjM0NC0uMDM4LjAzMi0uMDA2LjA5Mi4wNDMuMDgyLjcwOS0uMTQgMS40MzMtLjA3IDEuODYuMzE3LjAyNy4wMjUuMDEzLjA3LS4wMjQuMDgtMy43MDIgMS4wMDYtMi45NjkgNC4yMjctMS45ODMgOC4xNzkuODc4IDMuNTIgMS4yMDggNC42NTUgMS4zMTIgNXEuMDE2LjA1Mi4wNjYuMDczYzEuMjc1LjUwOCA0LjA1MS41MyA0LjA1MS0uMzMzdi0uMTk1WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEzLjkxNCAyMC4yMDNjLS40NDkuMTc2LTEuMzI4LjI1NC0xLjgzNi4yNTQtLjc0NCAwLTEuODE2LS4xMTctMi4yMDctLjI5M2E4OCA4OCAwIDAgMS0xLjY3Ni01Ljk2NmwtLjA3LS4yODZ2LS4wMDJjLS44NDgtMy40NjItMS41NC02LjI5IDIuMjU0LTcuMTc4LjAzNS0uMDA4LjA1Mi0uMDUuMDI5LS4wNzctLjQzNi0uNTE2LTEuMjUxLS42ODYtMi4yODItLjMzLS4wNDMuMDE1LS4wOC0uMDI4LS4wNTMtLjA2NC4yMDItLjI3OS41OTctLjQ5My43OTItLjU4Ny4wNC0uMDIuMDM4LS4wNzktLjAwNC0uMDkyYTQgNCAwIDAgMC0uNTktLjE0Yy0uMDU4LS4wMS0uMDYzLS4xMDktLjAwNS0uMTE3IDEuNDYyLS4xOTYgMi45ODkuMjQzIDMuNzU1IDEuMjA3YS4wNS4wNSAwIDAgMCAuMDI5LjAxOGMyLjgwNS42MDMgMy4wMDYgNS4wMzcgMi42ODIgNS4yNC0uMDYzLjAzOS0uMjY3LjAxNi0uNTM3LS4wMTQtMS4wOTEtLjEyMi0zLjI1Mi0uMzY0LTEuNDY5IDIuOTYuMDE4LjAzMy0uMDA1LjA3Ny0uMDQyLjA4Mi0xLjAwNi4xNTcuMjgzIDMuMzA5IDEuMjMgNS4zODUiLz4KICA8cGF0aCBmaWxsPSIjM0NBODJCIiBkPSJNMTUuMTY5IDE2LjE3MmMtLjIxMy0uMS0xLjAzNS40OS0xLjU4Ljk0Mi0uMTE0LS4xNjItLjMyOC0uMjc5LS44MTMtLjE5NS0uNDI0LjA3NC0uNjU4LjE3Ny0uNzYyLjM1My0uNjctLjI1NC0xLjc5NS0uNjQ2LTIuMDY3LS4yNjctLjI5Ny40MTMuMDc0IDIuMzY4LjQ3IDIuNjIyLjIwNS4xMzMgMS4xOTEtLjUwMSAxLjcwNi0uOTM4LjA4My4xMTcuMjE3LjE4NC40OTIuMTc4LjQxNi0uMDEgMS4wOS0uMTA3IDEuMTk1LS4zYS4yLjIgMCAwIDAgLjAxNy0uMDQyYy41MjkuMTk4IDEuNDYuNDA3IDEuNjY5LjM3Ni41NDItLjA4MS0uMDc2LTIuNjEzLS4zMjctMi43M1oiLz4KICA8cGF0aCBmaWxsPSIjNENCQTNDIiBkPSJNMTMuNjQgMTcuMTcycS4wMzMuMDYuMDU1LjEyNWMuMDc2LjIxLjE5OS44ODIuMTA2IDEuMDQ4cy0uNjk3LjI0Ni0xLjA3LjI1MmMtLjM3Mi4wMDctLjQ1Ni0uMTMtLjUzMS0uMzQtLjA2LS4xNy0uMDktLjU2Ni0uMDktLjc5NC0uMDE1LS4zMzcuMTA4LS40NTUuNjc3LS41NDcuNDIyLS4wNjkuNjQ0LjAxLjc3My4xNDYuNTk4LS40NDYgMS41OTYtMS4wNzYgMS42OTMtLjk2LjQ4Ni41NzMuNTQ3IDEuOTQuNDQyIDIuNDktLjAzNC4xOC0xLjY0MS0uMTc4LTEuNjQxLS4zNzIgMC0uODA1LS4yMS0xLjAyNi0uNDE1LTEuMDQ4Wm0tMy41Mi0uMjUyYy4xMy0uMjA4IDEuMTk4LjA1IDEuNzg0LjMxMiAwIDAtLjEyLjU0NS4wNzEgMS4xODguMDU2LjE4OC0xLjM0OCAxLjAyNC0xLjUzMS44OC0uMjEyLS4xNjYtLjYwMi0xLjk0Mi0uMzI1LTIuMzhaIi8+CiAgPHBhdGggZmlsbD0iI0ZDMyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNjM2IDEyLjY4OGMuMDg2LS4zNzUuNDg5LTEuMDgzIDEuOTI1LTEuMDY2LjcyNi0uMDAyIDEuNjI5IDAgMi4yMjctLjA2OGE4IDggMCAwIDAgMS45ODgtLjQ4M2MuNjIyLS4yMzcuODQzLS4xODUuOTItLjA0My4wODUuMTU2LS4wMTUuNDI2LS4yMzIuNjczLS40MTUuNDc0LTEuMTYyLjg0MS0yLjQ4Ljk1LTEuMzE3LjEwOS0yLjE5LS4yNDUtMi41NjYuMzMtLjE2Mi4yNS0uMDM3LjgzNCAxLjIzOCAxLjAxOCAxLjcyMi4yNDkgMy4xMzYtLjMgMy4zMS4wMzIuMTc1LjMzLS44MzEgMS4wMDQtMi41NTYgMS4wMThzLTIuODAyLS42MDQtMy4xODQtLjkxYy0uNDg1LS4zOS0uNzAyLS45NTktLjU5LTEuNDVaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8ZyBmaWxsPSIjMTQzMDdFIiBvcGFjaXR5PSIuOCI+CiAgICA8cGF0aCBkPSJNMTIuODMzIDguNTgyYy4wOTYtLjE1Ny4zMS0uMjc5LjY1OC0uMjc5LjM1IDAgLjUxNC4xNC42MjcuMjk0LjAyNC4wMzItLjAxMi4wNjktLjA0OC4wNTNsLS4wMjYtLjAxMWExLjMgMS4zIDAgMCAwLS41NTMtLjEyOCAxLjE0IDEuMTQgMCAwIDAtLjU4Mi4xM2MtLjAzOS4wMi0uMS0uMDIxLS4wNzYtLjA1OW0tMy45MzEuMjAyYTEuMjUgMS4yNSAwIDAgMSAuNzk0LS4wNzljLjA0LjAxLjA2Ny0uMDMzLjAzNS0uMDU5LS4xNDYtLjExOC0uNDczLS4yNjQtLjktLjEwNS0uMzguMTQyLS41Ni40MzctLjU2MS42MyAwIC4wNDcuMDk0LjA1LjExOC4wMTIuMDY2LS4xMDUuMTc1LS4yNTcuNTE0LS40WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTMuNzg4IDEwLjczOGEuNTQyLjU0MiAwIDEgMS0uMDAyLTEuMDguNTQyLjU0MiAwIDAgMSAuMDAyIDEuMDhtLjM4Mi0uNzJhLjE0LjE0IDAgMCAwLS4yODEgMCAuMTQuMTQgMCAwIDAgLjI4MSAwbS0zLjk3OS41NTJhLjYzMi42MzIgMCAxIDEtMS4yNjMgMCAuNjMyLjYzMiAwIDAgMSAxLjI2MyAwbS0uMTg2LS4yMDhhLjE2NC4xNjQgMCAwIDAtLjMyOCAwIC4xNjQuMTY0IDAgMCAwIC4zMjggMCIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPC9nPgogIDxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDIwYTggOCAwIDEgMCAwLTE2IDggOCAwIDAgMCAwIDE2bTAgMWE5IDkgMCAxIDAgMC0xOCA5IDkgMCAwIDAgMCAxOCIgY2xpcC1ydWxlPSJldmVub2RkIi8+Cjwvc3ZnPgo=);\n}\n.tooltip__button--email {\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n font-size: 14px;\n padding: 4px 8px;\n}\n.tooltip__button--email__primary-text {\n font-weight: bold;\n}\n.tooltip__button--email__secondary-text {\n font-size: 12px;\n}\n:not(.top-autofill) .tooltip--email-signup {\n text-align: left;\n color: #222;\n padding: 16px 20px;\n width: 380px;\n}\n.tooltip--email-signup h1 {\n font-weight: 700;\n font-size: 16px;\n line-height: 1.5;\n margin: 0;\n}\n.tooltip--email-signup p {\n font-weight: 400;\n font-size: 14px;\n line-height: 1.4;\n}\n.notice-controls {\n display: flex;\n}\n.tooltip--email-signup .notice-controls > * {\n border-radius: 8px;\n border: 0;\n cursor: pointer;\n display: inline-block;\n font-family: inherit;\n font-style: normal;\n font-weight: bold;\n padding: 8px 12px;\n text-decoration: none;\n}\n.notice-controls .ghost {\n margin-left: 1rem;\n}\n.tooltip--email-signup a.primary {\n background: #3969EF;\n color: #fff;\n}\n.tooltip--email-signup a.primary:hover,\n.tooltip--email-signup a.primary:focus {\n background: #2b55ca;\n}\n.tooltip--email-signup a.primary:active {\n background: #1e42a4;\n}\n.tooltip--email-signup button.ghost {\n background: transparent;\n color: #3969EF;\n}\n.tooltip--email-signup button.ghost:hover,\n.tooltip--email-signup button.ghost:focus {\n background-color: rgba(0, 0, 0, 0.06);\n color: #2b55ca;\n}\n.tooltip--email-signup button.ghost:active {\n background-color: rgba(0, 0, 0, 0.12);\n color: #1e42a4;\n}\n.tooltip--email-signup button.close-tooltip {\n background-color: transparent;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMiAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjI5Mjg5NCAwLjY1NjkwN0MwLjY4MzQxOCAwLjI2NjM4MyAxLjMxNjU4IDAuMjY2MzgzIDEuNzA3MTEgMC42NTY5MDdMNiA0Ljk0OThMMTAuMjkyOSAwLjY1NjkwN0MxMC42ODM0IDAuMjY2MzgzIDExLjMxNjYgMC4yNjYzODMgMTEuNzA3MSAwLjY1NjkwN0MxMi4wOTc2IDEuMDQ3NDMgMTIuMDk3NiAxLjY4MDYgMTEuNzA3MSAyLjA3MTEyTDcuNDE0MjEgNi4zNjQwMUwxMS43MDcxIDEwLjY1NjlDMTIuMDk3NiAxMS4wNDc0IDEyLjA5NzYgMTEuNjgwNiAxMS43MDcxIDEyLjA3MTFDMTEuMzE2NiAxMi40NjE2IDEwLjY4MzQgMTIuNDYxNiAxMC4yOTI5IDEyLjA3MTFMNiA3Ljc3ODIzTDEuNzA3MTEgMTIuMDcxMUMxLjMxNjU4IDEyLjQ2MTYgMC42ODM0MTcgMTIuNDYxNiAwLjI5Mjg5MyAxMi4wNzExQy0wLjA5NzYzMTEgMTEuNjgwNiAtMC4wOTc2MzExIDExLjA0NzQgMC4yOTI4OTMgMTAuNjU2OUw0LjU4NTc5IDYuMzY0MDFMMC4yOTI4OTQgMi4wNzExMkMtMC4wOTc2MzA2IDEuNjgwNiAtMC4wOTc2MzA2IDEuMDQ3NDMgMC4yOTI4OTQgMC42NTY5MDdaIiBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0Ii8+Cjwvc3ZnPgo=);\n background-position: center center;\n background-repeat: no-repeat;\n border: 0;\n cursor: pointer;\n padding: 16px;\n position: absolute;\n right: 12px;\n top: 12px;\n}\n.tooltip__button--credentials-import::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgZD0iTTE0Ljk5OCAyQTcuMDA0IDcuMDA0IDAgMCAxIDIyIDkuMDA2YzAgMi0uODM4IDMuODA2LTIuMTgyIDUuMDgyYS42Ni42NiAwIDAgMS0uNzY4LjA5MmMtLjQ3Mi0uMjUxLS41MDctLjkzLS4xMzItMS4zMUE1LjUgNS41IDAgMCAwIDIwLjUgOS4wMDYgNS41MDQgNS41MDQgMCAwIDAgMTQuOTk4IDMuNWE1LjUwNCA1LjUwNCAwIDAgMC01LjMzOCA2Ljg0N2wuMDI1LjExMmMuMTAzLjU0NC0uMDE4IDEuMTU2LS40NCAxLjYxMWwtLjA0Ni4wNDctNS4wNCA1LjA0M2EyLjI1IDIuMjUgMCAwIDAtLjY1OSAxLjYwMmwuMDAzLjQ5NC4wMDIuMDY1QTEuMjUgMS4yNSAwIDAgMCA0Ljc1MyAyMC41aC45OTNhLjc1Ljc1IDAgMCAwIC43NS0uNzV2LS43MzRhMS41IDEuNSAwIDAgMSAxLjUtMS41aC45ODJhLjUuNSAwIDAgMCAuMzU0LS4xNDdsMS4xNzgtMS4xNzhhLjczNi43MzYgMCAwIDEgMS4wNjIgMS4wMmwtLjUzMi41Ny0uNjQ3LjY0OWEyIDIgMCAwIDEtMS40MTUuNTg2aC0uOTgydi43MzRBMi4yNSAyLjI1IDAgMCAxIDUuNzQ2IDIyaC0uOTkzYTIuNzUgMi43NSAwIDAgMS0yLjc0Ni0yLjU5NWwtLjAwNC0uMTRMMiAxOC43N2EzLjc1IDMuNzUgMCAwIDEgMS4wOTgtMi42N2w1LjA0LTUuMDQ0LjAyMi0uMDI1YS4zNi4zNiAwIDAgMCAuMDU2LS4yNmwtLjAxMS0uMDZBNy4wMDQgNy4wMDQgMCAwIDEgMTQuOTk4IDIiLz4KICA8cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii45IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS41IDZhMi41IDIuNSAwIDEgMSAwIDUgMi41IDIuNSAwIDAgMSAwLTVtMCAxLjVhMSAxIDAgMSAwIDAgMiAxIDEgMCAwIDAgMC0yIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTMuMDAzIDE2LjE5cTAtLjAzLjAwMy0uMDU4YTEgMSAwIDAgMSAuMDE5LS4wOTdsLjAxLS4wNGExIDEgMCAwIDEgLjA0Ni0uMTEybC4wMDgtLjAxOS4wMDMtLjAwNi4wMDYtLjAwOWExIDEgMCAwIDEgLjA2NS0uMDk2bC4wMDgtLjAxMS4wMDMtLjAwNCAzLjEyNS0zLjc1YS43NS43NSAwIDAgMSAxLjE1Mi45NjFsLTIuMTI2IDIuNTVoNS4xNDRhLjc1Ljc1IDAgMCAxIDAgMS41aC01LjA5MmwyLjA3NCAyLjQ5LjA0Ni4wNmEuNzUuNzUgMCAwIDEtMS4xNDYuOTU2bC0uMDUyLS4wNTYtMy4xMjUtMy43NS0uMDAzLS4wMDMtLjAxNi0uMDIxLS4wMjctLjAzOC0uMDItLjAzNi0uMDM1LS4wNjNhLjguOCAwIDAgMS0uMDctLjI3MXoiLz4KPC9zdmc+Cg==);\n}\n.truncate {\n display: block;\n width: 0;\n min-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: 1.25;\n}\n'; + var autofill_tooltip_styles_default = '/* src/UI/styles/autofill-tooltip-styles.css */\n:root {\n color-scheme: light dark;\n}\n:host {\n --t-text-primary: #1C1F21;\n --t-text-secondary: rgba(28, 31, 33, 0.72);\n --t-text-primary-dark: rgba(255, 255, 255, .84);\n --t-text-secondary-dark: rgba(255, 255, 255, .60);\n --t-backdrop-mac: #F2F0F0;\n --t-backdrop-mac-dark: #646264;\n --t-backdrop-windows: #FFF;\n --t-backdrop-windows-dark: #333;\n --t-mac-interactive: #3969EF;\n --t-mac-interactive-text: #FFF;\n --t-windows-interactive: #f0f0f0;\n --t-windows-interactive-dark: #3f3f3f;\n --color-primary: var(--t-text-primary);\n --color-secondary: var(--t-text-secondary);\n --color-primary-dark: var(--t-text-primary-dark);\n --color-secondary-dark: var(--t-text-secondary-dark);\n --bg: var(--t-backdrop-mac);\n --bg-dark: var(--t-backdrop-mac-dark);\n --font-size-primary: 13px;\n --font-size-secondary: 11px;\n --font-weight: 500;\n --padding: 6px;\n --hr-margin: 5px 9px;\n --border-radius: 4px;\n --hover-color-primary: var(--t-mac-interactive-text);\n --hover-color-secondary: var(--t-mac-interactive-text);\n --hover-color-primary-dark: var(--t-mac-interactive-text);\n --hover-color-secondary-dark: var(--t-mac-interactive-text);\n --hover-bg: var(--t-mac-interactive);\n --hover-bg-dark: var(--t-mac-interactive);\n --hover-effect: invert(100%);\n --hover-effect-dark: invert(100%);\n --top-autofill-min-height: 100vh;\n}\n:host:has([data-platform=windows]) {\n --bg: var(--t-backdrop-windows);\n --bg-dark: var(--t-backdrop-windows-dark);\n --font-size-primary: 14px;\n --font-size-secondary: 12px;\n --font-weight: 400;\n --padding: 0px;\n --hr-margin: 4px 0px;\n --border-radius: 3px;\n --hover-color-primary: var(--t-text-primary);\n --hover-color-secondary: var(--t-text-secondary);\n --hover-color-primary-dark: var(--t-text-primary-dark);\n --hover-color-secondary-dark: var(--t-text-secondary-dark);\n --hover-bg: var(--t-windows-interactive);\n --hover-bg-dark: var(--t-windows-interactive-dark);\n --hover-effect: none;\n --hover-effect-dark: invert(100%);\n --top-autofill-min-height: auto;\n}\n.wrapper *,\n.wrapper *::before,\n.wrapper *::after {\n box-sizing: border-box;\n}\n.wrapper {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 2147483647;\n padding: 0;\n font-family: system-ui;\n -webkit-font-smoothing: antialiased;\n}\n.wrapper:not(.top-autofill) .tooltip {\n position: absolute;\n width: 300px;\n max-width: calc(100vw - 25px);\n transform: translate(-1000px, -1000px);\n z-index: 2147483647;\n}\n.tooltip--data,\n#topAutofill {\n background-color: var(--bg);\n}\n@media (prefers-color-scheme: dark) {\n .tooltip--data,\n #topAutofill {\n background: var(--bg-dark);\n }\n}\n.tooltip--data {\n width: 315px;\n max-height: 290px;\n padding: var(--padding);\n font-size: var(--font-size-primary);\n line-height: 14px;\n overflow-y: auto;\n}\n.top-autofill .tooltip--data {\n min-height: var(--top-autofill-min-height);\n}\n.tooltip--data.tooltip--incontext-signup {\n width: 360px;\n}\n.wrapper:not(.top-autofill) .tooltip--data {\n top: 100%;\n left: 100%;\n}\n.wrapper:not(.top-autofill) .tooltip--email {\n top: calc(100% + 6px);\n right: calc(100% - 48px);\n padding: 8px;\n border: 1px solid #D0D0D0;\n border-radius: 10px;\n background-color: #FFF;\n font-size: 14px;\n line-height: 1.3;\n color: #333;\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);\n}\n.tooltip--email__caret {\n position: absolute;\n transform: translate(-1000px, -1000px);\n z-index: 2147483647;\n}\n.tooltip--email__caret::before,\n.tooltip--email__caret::after {\n content: "";\n display: block;\n width: 0;\n height: 0;\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n position: absolute;\n border-bottom: 8px solid #D0D0D0;\n right: -28px;\n}\n.tooltip--email__caret::before {\n border-bottom-color: #D0D0D0;\n top: -1px;\n}\n.tooltip--email__caret::after {\n border-bottom-color: #FFF;\n top: 0px;\n}\n.tooltip__button {\n display: flex;\n width: 100%;\n padding: 8px 8px 8px 0px;\n font-family: inherit;\n color: inherit;\n background: transparent;\n border: none;\n border-radius: 6px;\n text-align: left;\n}\n.tooltip__button.currentFocus,\n.wrapper:not(.top-autofill) .tooltip__button:hover {\n background-color: var(--hover-bg);\n color: var(--hover-color-primary);\n}\n@media (prefers-color-scheme: dark) {\n .tooltip__button.currentFocus,\n .wrapper:not(.top-autofill) .tooltip__button:hover {\n background-color: var(--hover-bg-dark);\n }\n}\n.tooltip__button--data {\n position: relative;\n min-height: 48px;\n flex-direction: row;\n justify-content: flex-start;\n font-size: inherit;\n font-weight: var(--font-weight);\n line-height: 16px;\n text-align: left;\n border-radius: var(--border-radius);\n}\n.tooltip--data__item-container {\n max-height: 220px;\n overflow: auto;\n}\n.tooltip__button--data:first-child {\n margin-top: 0;\n}\n.tooltip__button--data:last-child {\n margin-bottom: 0;\n}\n.tooltip__button--data::before {\n content: "";\n display: block;\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n margin: 0 8px;\n background-size: 20px 20px;\n background-repeat: no-repeat;\n background-position: center center;\n}\n.tooltip__button--data.currentFocus:not(.tooltip__button--data--bitwarden)::before,\n.wrapper:not(.top-autofill) .tooltip__button--data:not(.tooltip__button--data--bitwarden):hover::before {\n filter: var(--hover-effect);\n}\n.tooltip__button--data.currentFocus.no-hover-effect::before,\n.wrapper:not(.top-autofill) .tooltip__button--data.no-hover-effect:hover::before,\n.tooltip__button--data.no-hover-effect:hover::before {\n filter: none;\n}\n@media (prefers-color-scheme: dark) {\n .tooltip__button--data:not(.tooltip__button--data--bitwarden)::before {\n filter: var(--hover-effect-dark);\n opacity: .9;\n }\n .tooltip__button--data.no-hover-effect::before,\n .wrapper:not(.top-autofill) .tooltip__button--data.no-hover-effect::before {\n filter: none;\n opacity: 1;\n }\n .tooltip__button--data.currentFocus:not(.tooltip__button--data--bitwarden)::before,\n .wrapper:not(.top-autofill) .tooltip__button--data:not(.tooltip__button--data--bitwarden):hover::before {\n filter: var(--hover-effect-dark);\n }\n .tooltip__button--data.currentFocus.no-hover-effect::before,\n .tooltip__button--data.no-hover-effect:hover::before,\n .wrapper:not(.top-autofill) .tooltip__button--data.no-hover-effect:hover::before {\n filter: none;\n }\n}\n.tooltip__button__text-container {\n margin: auto 0;\n width: 100%;\n}\n.label {\n display: block;\n font-weight: 400;\n letter-spacing: -0.25px;\n color: var(--color-primary);\n font-size: var(--font-size-primary);\n line-height: 1;\n}\n.label + .label {\n margin-top: 3px;\n}\n.label.label--medium {\n font-weight: var(--font-weight);\n letter-spacing: -0.25px;\n}\n.label.label--small {\n font-size: var(--font-size-secondary);\n font-weight: 400;\n letter-spacing: 0.06px;\n color: var(--color-secondary);\n}\n@media (prefers-color-scheme: dark) {\n .tooltip--data .label {\n color: var(--color-primary-dark);\n }\n .tooltip--data .label--medium {\n color: var(--color-primary-dark);\n }\n .tooltip--data .label--small {\n color: var(--color-secondary-dark);\n }\n}\n.tooltip__button.currentFocus .label,\n.wrapper:not(.top-autofill) .tooltip__button:hover .label {\n color: var(--hover-color-primary);\n &.label--small {\n color: var(--hover-color-secondary);\n }\n}\n@media (prefers-color-scheme: dark) {\n .tooltip__button.currentFocus .label,\n .wrapper:not(.top-autofill) .tooltip__button:hover .label {\n color: var(--hover-color-primary-dark);\n &.label--small {\n color: var(--hover-color-secondary-dark);\n }\n }\n}\n.tooltip__button--secondary {\n font-size: 13px;\n padding: 5px 9px;\n border-radius: var(--border-radius);\n margin: 0;\n}\n.tooltip__button--data--credentials::before,\n.tooltip__button--data--credentials__current::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTUuNSA2YTIuNSAyLjUgMCAxIDEgMCA1IDIuNSAyLjUgMCAwIDEgMC01bTAgMS41YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTQuOTk4IDJBNy4wMDUgNy4wMDUgMCAwIDEgMjIgOS4wMDdhNy4wMDQgNy4wMDQgMCAwIDEtOC43MDUgNi43OTdjLS4xNjMtLjA0MS0uMjg2LjAwOC0uMzQ1LjA2N2wtMi41NTcgMi41NTlhMiAyIDAgMCAxLTEuNDE1LjU4NmgtLjk4MnYuNzM0QTIuMjUgMi4yNSAwIDAgMSA1Ljc0NSAyMmgtLjk5M2EyLjc1IDIuNzUgMCAwIDEtMi43NS0yLjczNUwyIDE4Ljc3YTMuNzUgMy43NSAwIDAgMSAxLjA5OC0yLjY3bDUuMDQtNS4wNDNjLjA2LS4wNi4xMDctLjE4My4wNjYtLjM0NmE3IDcgMCAwIDEtLjIwOC0xLjcwNEE3LjAwNCA3LjAwNCAwIDAgMSAxNC45OTggMm0wIDEuNWE1LjUwNCA1LjUwNCAwIDAgMC01LjMzNyA2Ljg0OGMuMTQ3LjU4OS4wMjcgMS4yNzktLjQ2MiAxLjc2OGwtNS4wNCA1LjA0NGEyLjI1IDIuMjUgMCAwIDAtLjY1OSAxLjYwM2wuMDAzLjQ5NGExLjI1IDEuMjUgMCAwIDAgMS4yNSAxLjI0M2guOTkyYS43NS43NSAwIDAgMCAuNzUtLjc1di0uNzM0YTEuNSAxLjUgMCAwIDEgMS41LTEuNWguOTgzYS41LjUgMCAwIDAgLjM1My0uMTQ3bDIuNTU4LTIuNTU5Yy40OS0uNDkgMS4xOC0uNjA5IDEuNzctLjQ2MWE1LjUwNCA1LjUwNCAwIDAgMCA2Ljg0LTUuMzQyQTUuNTA1IDUuNTA1IDAgMCAwIDE1IDMuNVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4K);\n}\n.tooltip__button--data--credentials__new::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTExLjIyNCA0LjY0YS45LjkgMCAwIDAgLjY0Ny0uMTY1IDUuNDcgNS40NyAwIDAgMSAzLjEyNy0uOTc1QTUuNTA0IDUuNTA0IDAgMCAxIDIwLjUgOS4wMDZhNS41MDQgNS41MDQgMCAwIDEtNi44NCA1LjM0M2MtLjU5LS4xNDgtMS4yODEtLjAyOC0xLjc3MS40NjJsLTIuNTU3IDIuNTU4YS41LjUgMCAwIDEtLjM1NC4xNDdoLS45ODJhMS41IDEuNSAwIDAgMC0xLjUgMS41di43MzRhLjc1Ljc1IDAgMCAxLS43NS43NWgtLjk5M2ExLjI1IDEuMjUgMCAwIDEtMS4yNS0xLjI0NGwtLjAwMy0uNDk0YTIuMjUgMi4yNSAwIDAgMSAuNjU5LTEuNjAybDUuMDQtNS4wNDNjLjM0My0uMzQ0LjQ2MS0uNzExLjQ3OS0xLjA5NS4wMjctLjU4Mi0uNzM3LS44NDctMS4xNzktLjQ2N2wtLjA2Ni4wNTZhLjcuNyAwIDAgMC0uMTU4LjIzMi44LjggMCAwIDEtLjEzNy4yMTNMMy4wOTggMTYuMUEzLjc1IDMuNzUgMCAwIDAgMiAxOC43N2wuMDAzLjQ5NEEyLjc1IDIuNzUgMCAwIDAgNC43NTMgMjJoLjk5MmEyLjI1IDIuMjUgMCAwIDAgMi4yNS0yLjI1di0uNzM0aC45ODNhMiAyIDAgMCAwIDEuNDE1LS41ODZsMi41NTctMi41NTljLjA1OS0uMDU5LjE4Mi0uMTA4LjM0Ni0uMDY3QTcuMDA0IDcuMDA0IDAgMCAwIDIyIDkuMDA2IDcuMDA0IDcuMDA0IDAgMCAwIDEwLjgyNiAzLjM4Yy0uNTMzLjM5NS0uMjYgMS4xNjYuMzk3IDEuMjZaIi8+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTUuNSA2YTIuNSAyLjUgMCAxIDEgMCA1IDIuNSAyLjUgMCAwIDEgMC01bTAgMS41YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTcuMTI1IDIuODA0QzcgMi4xNiA2LjkxNSAyIDYuNSAyYy0uNDE0IDAtLjUuMTYtLjYyNS44MDQtLjA4LjQxMy0uMjEyIDEuODItLjI5NiAyLjc3NS0uOTU0LjA4NC0yLjM2Mi4yMTYtMi43NzUuMjk2QzIuMTYgNiAyIDYuMDg1IDIgNi41YzAgLjQxNC4xNjEuNS44MDQuNjI1LjQxMi4wOCAxLjgxOC4yMTIgMi43NzIuMjk2LjA4My45ODkuMjE4IDIuNDYxLjMgMi43NzUuMTI0LjQ4My4yMS44MDQuNjI0LjgwNHMuNS0uMTYuNjI1LS44MDRjLjA4LS40MTIuMjEyLTEuODE3LjI5Ni0yLjc3MS45OS0uMDg0IDIuNDYyLS4yMTkgMi43NzYtLjNDMTAuNjc5IDcgMTEgNi45MTUgMTEgNi41YzAtLjQxNC0uMTYtLjUtLjgwMy0uNjI1LS40MTMtLjA4LTEuODIxLS4yMTItMi43NzUtLjI5Ni0uMDg1LS45NTQtLjIxNi0yLjM2Mi0uMjk3LTIuNzc1bS00LjM0MiA4Ljc2MWEuNzgzLjc4MyAwIDEgMCAwLTEuNTY1Ljc4My43ODMgMCAwIDAgMCAxLjU2NSIvPgo8L3N2Zz4K);\n}\n.tooltip__button--data--creditCards::before,\n.tooltip__button--data--provider__generic::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI2IDRDMjkuMzEzNyA0IDMyIDYuNjg2MjkgMzIgMTBMMzIgMjJDMzIgMjUuMzEzNyAyOS4zMTM3IDI4IDI2IDI4TDYgMjhDMi42ODYyOSAyOCA5Ljc1Njk3ZS0wNyAyNS4zMTM3IDEuMTIwNTRlLTA2IDIyTDEuNjQ1MDhlLTA2IDEwQzEuNzg5OTNlLTA2IDYuNjg2MjkgMi42ODYyOSA0IDYgNEwyNiA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMCAyMkwzMCAxMEMzMCA3Ljc5MDg2IDI4LjIwOTEgNiAyNiA2TDYgNkMzLjc5MDg2IDYgMiA3Ljc5MDg2IDIgMTBMMiAyMkMyIDI0LjIwOTEgMy43OTA4NiAyNiA2IDI2TDI2IDI2QzI4LjIwOTEgMjYgMzAgMjQuMjA5MSAzMCAyMlpNMzIgMTBDMzIgNi42ODYyOSAyOS4zMTM3IDQgMjYgNEw2IDRDMi42ODYyOSA0IDEuNzg5OTNlLTA2IDYuNjg2MjkgMS42NDUwOGUtMDYgMTBMMS4xMjA1NGUtMDYgMjJDOS43NTY5N2UtMDcgMjUuMzEzNyAyLjY4NjI5IDI4IDYgMjhMMjYgMjhDMjkuMzEzNyAyOCAzMiAyNS4zMTM3IDMyIDIyTDMyIDEwWiIgZmlsbD0iI0NDQ0NDQyIvPgo8cGF0aCBkPSJNNCAxM0M0IDEyLjQ0NzcgNC40NDc3MiAxMiA1IDEySDlDOS41NTIyOCAxMiAxMCAxMi40NDc3IDEwIDEzVjE1QzEwIDE1LjU1MjMgOS41NTIyOCAxNiA5IDE2SDVDNC40NDc3MiAxNiA0IDE1LjU1MjMgNCAxNVYxM1oiIGZpbGw9IiNGRkQ2NUMiLz4KPHBhdGggZD0iTTQgMjBDNCAxOS40NDc3IDQuNDQ3NzIgMTkgNSAxOUgxMEMxMC41NTIzIDE5IDExIDE5LjQ0NzcgMTEgMjBDMTEgMjAuNTUyMyAxMC41NTIzIDIxIDEwIDIxSDVDNC40NDc3MiAyMSA0IDIwLjU1MjMgNCAyMFoiIGZpbGw9IiNBQUFBQUEiLz4KPHBhdGggZD0iTTEyIDIwQzEyIDE5LjQ0NzcgMTIuNDQ3NyAxOSAxMyAxOUgxNEMxNC41NTIzIDE5IDE1IDE5LjQ0NzcgMTUgMjBDMTUgMjAuNTUyMyAxNC41NTIzIDIxIDE0IDIxSDEzQzEyLjQ0NzcgMjEgMTIgMjAuNTUyMyAxMiAyMFoiIGZpbGw9IiNBQUFBQUEiLz4KPHBhdGggZD0iTTE2IDIwQzE2IDE5LjQ0NzcgMTYuNDQ3NyAxOSAxNyAxOUgyN0MyNy41NTIzIDE5IDI4IDE5LjQ0NzcgMjggMjBDMjggMjAuNTUyMyAyNy41NTIzIDIxIDI3IDIxSDE3QzE2LjQ0NzcgMjEgMTYgMjAuNTUyMyAxNiAyMFoiIGZpbGw9IiNBQUFBQUEiLz4KPC9zdmc+Cg==);\n}\n.tooltip__button--data--provider__dinersClub::before {\n background-image: url(data:image/png;base64,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);\n}\n.tooltip__button--data--provider__discover::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGxpbmVhckdyYWRpZW50IGlkPSJhIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE1LjU4MzkiIHgyPSIxNy45NjQ4IiB5MT0iMTQuNDU5NCIgeTI9IjE3LjMzNDQiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2U2NzcyZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2VhOWQyYyIvPjwvbGluZWFyR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPSJiIiBjeD0iMCIgY3k9IjAiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLTEuNTQ5ODIxMzUgLTEuOTc2NTYwNDMgMi4wNjU0OTE5NiAtMS42MTk1NTI1NyAxNy4xNzg3IDE2LjcwNTUpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgcj0iMSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZWE5ZDJjIiBzdG9wLW9wYWNpdHk9IjAiLz48c3RvcCBvZmZzZXQ9Ii4zMjgxMjUiIHN0b3AtY29sb3I9IiNkZjc2MjQiIHN0b3Atb3BhY2l0eT0iMCIvPjxzdG9wIG9mZnNldD0iLjc2MDE4OCIgc3RvcC1jb2xvcj0iI2JmNGIyMyIgc3RvcC1vcGFjaXR5PSIuNzUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM3ZDMwMTciLz48L3JhZGlhbEdyYWRpZW50PjxwYXRoIGQ9Im0yNiA0YzMuMzEzNyAwIDYgMi42ODYyOSA2IDZ2MTJjMCAzLjMxMzctMi42ODYzIDYtNiA2aC0yMGMtMy4zMTM3MSAwLTUuOTk5OTk5MDItMi42ODYzLTUuOTk5OTk4ODgtNmwuMDAwMDAwNTMtMTJjLjAwMDAwMDE0LTMuMzEzNzEgMi42ODYyODgzNS02IDUuOTk5OTk4MzUtNnoiIGZpbGw9IiNmZmYiLz48ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0ibTMwIDIydi0xMmMwLTIuMjA5MTQtMS43OTA5LTQtNC00aC0yMGMtMi4yMDkxNCAwLTQgMS43OTA4Ni00IDR2MTJjMCAyLjIwOTEgMS43OTA4NiA0IDQgNGgyMGMyLjIwOTEgMCA0LTEuNzkwOSA0LTR6bTItMTJjMC0zLjMxMzcxLTIuNjg2My02LTYtNmgtMjBjLTMuMzEzNzEgMC01Ljk5OTk5ODIxIDIuNjg2MjktNS45OTk5OTgzNSA2bC0uMDAwMDAwNTMgMTJjLS4wMDAwMDAxNCAzLjMxMzcgMi42ODYyODg4OCA2IDUuOTk5OTk4ODggNmgyMGMzLjMxMzcgMCA2LTIuNjg2MyA2LTZ6IiBmaWxsPSIjY2NjIi8+PHBhdGggZD0ibTYuNDg4NjMgMTYuODE2MWMtLjIyNzU0LjE5NDYtLjUxNzE5LjI3OTYtLjk4MDM5LjI3OTZoLS4xOTIydi0yLjMyMTdoLjE5MjJjLjQ2MzIgMCAuNzQxNzQuMDc5NC45ODAzOS4yODM2LjI0NjM0LjIxMTEuMzk0MzguNTM2Ni4zOTQzOC44NzM0IDAgLjMzODQtLjE0ODA0LjY3NTYtLjM5NDM4Ljg4NTF6bS0uODM2OTEtMi42MzY4aC0xLjA1MTYydjMuNTExNGgxLjA0NTIxYy41NTYyMyAwIC45NTc3My0uMTI2NyAxLjMwOTY1LS40MDYxLjQxODAzLS4zMzExLjY2NjA4LS44MzA5LjY2NjA4LTEuMzQ4NyAwLTEuMDM2Ni0uODA5MjctMS43NTY2LTEuOTY5MzItMS43NTY2eiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im03Ljk1MTE3IDE0LjE3OTNoLjcxMzF2My41MTE0aC0uNzEzMXoiIGZpbGw9IiMyMDFkMWMiLz48cGF0aCBkPSJtMTAuNDE1OSAxNS41MjUxYy0uNDMwNDYtLjE1MS0uNTU2MjctLjI1MTctLjU1NjI3LS40NDE0IDAtLjIyMDYuMjI0ODctLjM4NzkuNTMzOTctLjM4NzkuMjE0MyAwIC4zOTA5LjA4MjEuNTc4OS4yODI2bC4zNzIzLS40Njc0Yy0uMzA3Ni0uMjU5LS42NzU4LS4zOTAyLTEuMDc3MS0uMzkwMi0uNjQ5NDIgMC0xLjE0NDM5LjQzMjQtMS4xNDQzOSAxLjAwNCAwIC40ODU0LjIzMDEuNzMxNi45MDE1OS45NjU0LjI4MDcuMDkzNC40MjMzLjE1NzIuNDk1NS4yMDA1LjE0MzEuMDg4NC4yMTQzLjIxNTIuMjE0My4zNjE4IDAgLjI4NTYtLjIzNjUuNDk1Ni0uNTU2Mi40OTU2LS4zNDAzOCAwLS42MTU3OS0uMTYzMS0uNzgwNjMtLjQ2OTNsLS40NjEzNS40Mjc2Yy4zMjk4NC40NjI0LjcyNTIxLjY2OTEgMS4yNjk4OC42NjkxLjc0MjkgMCAxLjI2NjQtLjQ3NTkgMS4yNjY0LTEuMTUzOCAwLS41NTg2LS4yNDI4LS44MTE4LTEuMDU2OS0xLjA5NjZ6IiBmaWxsPSIjMjAxZDFjIi8+PHBhdGggZD0ibTExLjY5NzMgMTUuOTM1OWMwIDEuMDMyNi44NDcgMS44MzI4IDEuOTM3NCAxLjgzMjguMzA3NCAwIC41NzEtLjA1ODEuODk1Ni0uMjA0N3YtLjgwNjljLS4yODY4LjI3NTgtLjUzODYuMzg0Ni0uODY0My4zODQ2LS43MjA1IDAtMS4yMzA4LS40OTg5LTEuMjMwOC0xLjIxMDcgMC0uNjcyNi41MjY4LTEuMjA1NCAxLjE5OTUtMS4yMDU0LjMzOTQgMCAuNTk4Ny4xMTUxLjg5NTYuMzk1di0uODA2Yy0uMzEzNi0uMTUxOC0uNTcwOS0uMjE0Ni0uODgxLS4yMTQ2LTEuMDg0MSAwLTEuOTUyLjgxNTgtMS45NTIgMS44MzU5eiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im0yMC4zMjgxIDE2LjUzNjctLjk3ODYtMi4zNTc0aC0uNzgwMmwxLjU1NTYgMy42aC4zODM3bDEuNTg1OC0zLjZoLS43NzQxeiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im0yMi40MTg5IDE3LjY5MDdoMi4wMjkzdi0uNTk1aC0xLjMxMzN2LS45NDc4aDEuMjYzNXYtLjU5NDhoLTEuMjYzNXYtLjc3OTFoMS4zMTMzdi0uNTk0N2gtMi4wMjkzeiIgZmlsbD0iIzIwMWQxYyIvPjxwYXRoIGQ9Im0yNS44NDU3IDE1Ljc5NGgtLjIwNzh2LTEuMDYyMWguMjE5NGMuNDQ3MSAwIC42ODY2LjE3OTYuNjg2Ni41MjE3IDAgLjM1MTQtLjIzOTUuNTQwNC0uNjk4Mi41NDA0em0xLjQzNTEtLjU3ODZjMC0uNjU3Ni0uNDcxMy0xLjAzNjEtMS4yOTc1LTEuMDM2MWgtMS4wNjI5djMuNTExNGguNzE3NXYtMS40MTE4aC4wOTMxbC45ODg2IDEuNDExOGguODgwNGwtMS4xNTQ1LTEuNDc5OWMuNTM5NS0uMTA1Ni44MzUzLS40NTgxLjgzNTMtLjk5NTR6IiBmaWxsPSIjMjAxZDFjIi8+PHBhdGggZD0ibTE4LjY3MDQgMTUuOTQ0MWMwIDEuMDEwOS0uODU2IDEuODMwMy0xLjkxMjkgMS44MzAzLTEuMDU2NiAwLTEuOTEyOC0uODE5NC0xLjkxMjgtMS44MzAzIDAtMS4wMTExLjg1NjItMS44MzA2IDEuOTEyOC0xLjgzMDYgMS4wNTY5IDAgMS45MTI5LjgxOTUgMS45MTI5IDEuODMwNnoiIGZpbGw9InVybCgjYSkiLz48cGF0aCBkPSJtMTguNjcwNCAxNS45NDQxYzAgMS4wMTA5LS44NTYgMS44MzAzLTEuOTEyOSAxLjgzMDMtMS4wNTY2IDAtMS45MTI4LS44MTk0LTEuOTEyOC0xLjgzMDMgMC0xLjAxMTEuODU2Mi0xLjgzMDYgMS45MTI4LTEuODMwNiAxLjA1NjkgMCAxLjkxMjkuODE5NSAxLjkxMjkgMS44MzA2eiIgZmlsbD0idXJsKCNiKSIvPjwvZz48L3N2Zz4=);\n}\n.tooltip__button--data--provider__jcb::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGxpbmVhckdyYWRpZW50IGlkPSJhIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMwMDc5NDAiLz48c3RvcCBvZmZzZXQ9Ii4yMjg1IiBzdG9wLWNvbG9yPSIjMDA4NzNmIi8+PHN0b3Agb2Zmc2V0PSIuNzQzMyIgc3RvcC1jb2xvcj0iIzQwYTczNyIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzVjYjUzMSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE5LjA4MjEiIHgyPSIyNC4wMTQ4IiB4bGluazpocmVmPSIjYSIgeTE9IjE2LjY1MSIgeTI9IjE2LjY1MSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxOS4wODIyIiB4Mj0iMjQuMDE0OCIgeGxpbms6aHJlZj0iI2EiIHkxPSIxNS44ODIyIiB5Mj0iMTUuODgyMiIvPjxsaW5lYXJHcmFkaWVudCBpZD0iZCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxOS4wODIiIHgyPSIyNC4wMTQ0IiB4bGluazpocmVmPSIjYSIgeTE9IjE1LjA0NTgiIHkyPSIxNS4wNDU4Ii8+PGxpbmVhckdyYWRpZW50IGlkPSJlIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjguMDQwMjIiIHgyPSIxMy4wNDg4IiB5MT0iMTUuODgyMiIgeTI9IjE1Ljg4MjIiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzFmMjg2ZiIvPjxzdG9wIG9mZnNldD0iLjQ3NTEiIHN0b3AtY29sb3I9IiMwMDRlOTQiLz48c3RvcCBvZmZzZXQ9Ii44MjYxIiBzdG9wLWNvbG9yPSIjMDA2NmIxIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA2ZmJjIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTMuNTM1IiB4Mj0iMTguMzk5MyIgeTE9IjE1Ljg4MjIiIHkyPSIxNS44ODIyIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM2YzJjMmYiLz48c3RvcCBvZmZzZXQ9Ii4xNzM1IiBzdG9wLWNvbG9yPSIjODgyNzMwIi8+PHN0b3Agb2Zmc2V0PSIuNTczMSIgc3RvcC1jb2xvcj0iI2JlMTgzMyIvPjxzdG9wIG9mZnNldD0iLjg1ODUiIHN0b3AtY29sb3I9IiNkYzA0MzYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNlNjAwMzkiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iZyI+PHBhdGggZD0ibTcgOWgxOHYxMy44MjkzaC0xOHoiLz48L2NsaXBQYXRoPjxwYXRoIGQ9Im0yNiA0YzMuMzEzNyAwIDYgMi42ODYyOSA2IDZ2MTJjMCAzLjMxMzctMi42ODYzIDYtNiA2aC0yMGMtMy4zMTM3MSAwLTUuOTk5OTk5MDItMi42ODYzLTUuOTk5OTk4ODgtNmwuMDAwMDAwNTMtMTJjLjAwMDAwMDE0LTMuMzEzNzEgMi42ODYyODgzNS02IDUuOTk5OTk4MzUtNnoiIGZpbGw9IiMwMDhlZWQiLz48cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0zMCAyMnYtMTJjMC0yLjIwOTE0LTEuNzkwOS00LTQtNGgtMjBjLTIuMjA5MTQgMC00IDEuNzkwODYtNCA0djEyYzAgMi4yMDkxIDEuNzkwODYgNCA0IDRoMjBjMi4yMDkxIDAgNC0xLjc5MDkgNC00em0yLTEyYzAtMy4zMTM3MS0yLjY4NjMtNi02LTZoLTIwYy0zLjMxMzcxIDAtNS45OTk5OTgyMSAyLjY4NjI5LTUuOTk5OTk4MzUgNmwtLjAwMDAwMDUzIDEyYy0uMDAwMDAwMTQgMy4zMTM3IDIuNjg2Mjg4ODggNiA1Ljk5OTk5ODg4IDZoMjBjMy4zMTM3IDAgNi0yLjY4NjMgNi02eiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuMTgiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxnIGNsaXAtcGF0aD0idXJsKCNnKSI+PHBhdGggZD0ibTI1IDIwLjAwODVjMCAxLjUzNjYtMS4yNTEyIDIuNzg3OC0yLjc4NzggMi43ODc4aC0xNS4xNjgyNXYtMTEuMDQxNWMwLTEuNTM2NSAxLjI1MTIxLTIuNzg3NzYgMi43ODc4LTIuNzg3NzZoMTUuMTY4MjV6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTIwLjA2MSAxNy4xNzY4aDEuMTUyNWMuMDMyOSAwIC4xMDk3LS4wMTEuMTQyNy0uMDExLjIxOTUtLjA0MzkuNDA2MS0uMjQxNS40MDYxLS41MTU5IDAtLjI2MzQtLjE4NjYtLjQ2MDktLjQwNjEtLjUxNTgtLjAzMy0uMDExLS4wOTg4LS4wMTEtLjE0MjctLjAxMWgtMS4xNTI1eiIgZmlsbD0idXJsKCNiKSIvPjxwYXRoIGQ9Im0yMS4wODE4IDkuODk5OTZjLTEuMDk3NiAwLTEuOTk3Ni44ODkwNC0xLjk5NzYgMS45OTc1NHYyLjA3NDRoMi44MjA3Yy4wNjU5IDAgLjE0MjcgMCAuMTk3Ni4wMTEuNjM2Ni4wMzI5IDEuMTA4NS4zNjIyIDEuMTA4NS45MzI5IDAgLjQ1LS4zMTgyLjgzNDItLjkxMDkuOTExdi4wMjE5Yy42NDc1LjA0MzkgMS4xNDE0LjQwNjEgMS4xNDE0Ljk2NTkgMCAuNjAzNy0uNTQ4Ny45OTg4LTEuMjczMS45OTg4aC0zLjA5NTJ2NC4wNjFoMi45MzA1YzEuMDk3NiAwIDEuOTk3Ni0uODg5MSAxLjk5NzYtMS45OTc2di05Ljk3Njg0eiIgZmlsbD0idXJsKCNjKSIvPjxwYXRoIGQ9Im0yMS42MTk2IDE1LjA0NzVjMC0uMjYzNC0uMTg2Ni0uNDM5LS40MDYxLS40NzE5LS4wMjIgMC0uMDc2OS0uMDExLS4xMDk4LS4wMTFoLTEuMDQyN3YuOTY1OGgxLjA0MjdjLjAzMjkgMCAuMDk4OCAwIC4xMDk4LS4wMTA5LjIxOTUtLjAzMy40MDYxLS4yMDg2LjQwNjEtLjQ3MnoiIGZpbGw9InVybCgjZCkiLz48cGF0aCBkPSJtMTAuMDQwMyA5Ljg5OTk2Yy0xLjA5NzU5IDAtMS45OTc1OS44ODkwNC0xLjk5NzU5IDEuOTk3NTR2NC45MjgxYy41NTk3Ni4yNzQ0IDEuMTQxNDcuNDUgMS43MjMxNy40NS42OTE0MiAwIDEuMDY0NjItLjQxNzEgMS4wNjQ2Mi0uOTg3OHYtMi4zMjY5aDEuNzEyMnYyLjMxNTljMCAuOS0uNTU5NyAxLjYzNTQtMi40NTg1IDEuNjM1NC0xLjE1MjQ2IDAtMi4wNTI0Ni0uMjUyNS0yLjA1MjQ2LS4yNTI1djQuMjAzN2gyLjkzMDQ2YzEuMDk3NiAwIDEuOTk3Ni0uODg5IDEuOTk3Ni0xLjk5NzZ2LTkuOTY1ODR6IiBmaWxsPSJ1cmwoI2UpIi8+PHBhdGggZD0ibTE1LjU2MSA5Ljg5OTk2Yy0xLjA5NzUgMC0xLjk5NzUuODg5MDQtMS45OTc1IDEuOTk3NTR2Mi42MTIyYy41MDQ5LS40MjggMS4zODI5LS43MDI0IDIuNzk4OC0uNjM2Ni43NTczLjAzMyAxLjU2OTUuMjQxNSAxLjU2OTUuMjQxNXYuODQ1MWMtLjQwNjEtLjIwODUtLjg4OTEtLjM5NTEtMS41MTQ3LS40MzktMS4wNzU2LS4wNzY4LTEuNzIzMS40NS0xLjcyMzEgMS4zNzE5IDAgLjkzMy42NDc1IDEuNDU5OCAxLjcyMzEgMS4zNzIuNjI1Ni0uMDQzOSAxLjEwODYtLjI0MTUgMS41MTQ3LS40Mzl2Ljg0NTFzLS44MDEzLjIwODUtMS41Njk1LjI0MTVjLTEuNDE1OS4wNjU4LTIuMjkzOS0uMjA4Ni0yLjc5ODgtLjYzNjZ2NC42MDk3aDIuOTMwNWMxLjA5NzUgMCAxLjk5NzUtLjg4OSAxLjk5NzUtMS45OTc1di05Ljk4Nzg0eiIgZmlsbD0idXJsKCNmKSIvPjwvZz48L3N2Zz4=);\n}\n.tooltip__button--data--provider__mastercard::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI2IDRDMjkuMzEzNyA0IDMyIDYuNjg2MjkgMzIgMTBMMzIgMjJDMzIgMjUuMzEzNyAyOS4zMTM3IDI4IDI2IDI4TDYgMjhDMi42ODYyOSAyOCA5Ljc1Njk3ZS0wNyAyNS4zMTM3IDEuMTIwNTRlLTA2IDIyTDEuNjQ1MDhlLTA2IDEwQzEuNzg5OTNlLTA2IDYuNjg2MjkgMi42ODYyOSA0IDYgNEwyNiA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMCAyMkwzMCAxMEMzMCA3Ljc5MDg2IDI4LjIwOTEgNiAyNiA2TDYgNkMzLjc5MDg2IDYgMiA3Ljc5MDg2IDIgMTBMMiAyMkMyIDI0LjIwOTEgMy43OTA4NiAyNiA2IDI2TDI2IDI2QzI4LjIwOTEgMjYgMzAgMjQuMjA5MSAzMCAyMlpNMzIgMTBDMzIgNi42ODYyOSAyOS4zMTM3IDQgMjYgNEw2IDRDMi42ODYyOSA0IDEuNzg5OTNlLTA2IDYuNjg2MjkgMS42NDUwOGUtMDYgMTBMMS4xMjA1NGUtMDYgMjJDOS43NTY5N2UtMDcgMjUuMzEzNyAyLjY4NjI5IDI4IDYgMjhMMjYgMjhDMjkuMzEzNyAyOCAzMiAyNS4zMTM3IDMyIDIyTDMyIDEwWiIgZmlsbD0iI0NDQ0NDQyIvPgo8cGF0aCBkPSJNMTguNDAzOCAyMC4xNjExSDEzLjU5MjhWMTEuNTY5SDE4LjQwMzhWMjAuMTYxMVoiIGZpbGw9IiNGRjVGMDAiLz4KPHBhdGggZD0iTTEzLjkwMTYgMTUuODY0NEMxMy45MDE2IDE0LjEyMTQgMTQuNzIyOCAxMi41Njg5IDE2LjAwMTcgMTEuNTY4M0MxNS4wNjY1IDEwLjgzNjcgMTMuODg2MyAxMC40IDEyLjYwMzYgMTAuNEM5LjU2Njk4IDEwLjQgNy4xMDU0NyAxMi44NDY0IDcuMTA1NDcgMTUuODY0NEM3LjEwNTQ3IDE4Ljg4MjMgOS41NjY5OCAyMS4zMjg3IDEyLjYwMzYgMjEuMzI4N0MxMy44ODYzIDIxLjMyODcgMTUuMDY2NSAyMC44OTIgMTYuMDAxNyAyMC4xNjA0QzE0LjcyMjggMTkuMTU5OSAxMy45MDE2IDE3LjYwNzMgMTMuOTAxNiAxNS44NjQ0WiIgZmlsbD0iI0VCMDAxQiIvPgo8cGF0aCBkPSJNMjQuODkzNiAxNS44NjQ0QzI0Ljg5MzYgMTguODgyMyAyMi40MzIxIDIxLjMyODcgMTkuMzk1NSAyMS4zMjg3QzE4LjExMjggMjEuMzI4NyAxNi45MzI2IDIwLjg5MiAxNS45OTcxIDIwLjE2MDRDMTcuMjc2MiAxOS4xNTk5IDE4LjA5NzQgMTcuNjA3MyAxOC4wOTc0IDE1Ljg2NDRDMTguMDk3NCAxNC4xMjE0IDE3LjI3NjIgMTIuNTY4OSAxNS45OTcxIDExLjU2ODNDMTYuOTMyNiAxMC44MzY3IDE4LjExMjggMTAuNCAxOS4zOTU1IDEwLjRDMjIuNDMyMSAxMC40IDI0Ljg5MzYgMTIuODQ2NCAyNC44OTM2IDE1Ljg2NDRaIiBmaWxsPSIjRjc5RTFCIi8+Cjwvc3ZnPgo=);\n}\n.tooltip__button--data--provider__unionPay::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMjYgNGMzLjMxMzcgMCA2IDIuNjg2MjkgNiA2djEyYzAgMy4zMTM3LTIuNjg2MyA2LTYgNmgtMjBjLTMuMzEzNzEgMC01Ljk5OTk5OTAyLTIuNjg2My01Ljk5OTk5ODg4LTZsLjAwMDAwMDUzLTEyYy4wMDAwMDAxNC0zLjMxMzcxIDIuNjg2Mjg4MzUtNiA1Ljk5OTk5ODM1LTZ6IiBmaWxsPSIjZmZmIi8+PGcgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Im0zMCAyMnYtMTJjMC0yLjIwOTE0LTEuNzkwOS00LTQtNGgtMjBjLTIuMjA5MTQgMC00IDEuNzkwODYtNCA0djEyYzAgMi4yMDkxIDEuNzkwODYgNCA0IDRoMjBjMi4yMDkxIDAgNC0xLjc5MDkgNC00em0yLTEyYzAtMy4zMTM3MS0yLjY4NjMtNi02LTZoLTIwYy0zLjMxMzcxIDAtNS45OTk5OTgyMSAyLjY4NjI5LTUuOTk5OTk4MzUgNmwtLjAwMDAwMDUzIDEyYy0uMDAwMDAwMTQgMy4zMTM3IDIuNjg2Mjg4ODggNiA1Ljk5OTk5ODg4IDZoMjBjMy4zMTM3IDAgNi0yLjY4NjMgNi02eiIgZmlsbD0iI2NjYyIvPjxwYXRoIGQ9Im0yNS4wMTM0IDkuNTAzNzItNC45MjUyLS4wMDEyOGMtLjAwMDYgMC0uMDAxMyAwLS4wMDEzIDAtLjAwMzggMC0uMDA3NS4wMDA2OC0uMDExMi4wMDA2OC0uNjc2Ni4wMjA5LTEuNTE5My41Njc5OC0xLjY3MjggMS4yNDI0OGwtMi4zMjkyIDEwLjM4OWMtLjE1MzQuNjgwOC4yNjQxIDEuMjM0OC45MzU4IDEuMjQ1aDUuMTc0MWMuNjYxNC0uMDMzIDEuMzA0Mi0uNTczNyAxLjQ1NTEtMS4yNDA2bDIuMzI5Mi0xMC4zODljLjE1NTktLjY4NzgtLjI3MTctMS4yNDYyOC0uOTU0NS0xLjI0NjI4eiIgZmlsbD0iIzAxNzk4YSIvPjxwYXRoIGQ9Im0xNi4wNzM4IDIxLjEzNDYgMi4zMjkxLTEwLjM4ODljLjE1MzUtLjY3NDYuOTk2Mi0xLjIyMTYyIDEuNjcyOC0xLjI0MjUybC0xLjk1ODItLjAwMTI4LTMuNTI4Mi0uMDAwNjhjLS42Nzg0LjAxMzk5LTEuNTMyMS41NjQ4OC0xLjY4NTUgMS4yNDQ0OGwtMi4zMjk5IDEwLjM4ODljLS4xNTQuNjgwOS4yNjQxIDEuMjM0OS45MzU0IDEuMjQ1MWg1LjUwMDJjLS42NzE3LS4wMTAyLTEuMDg5Mi0uNTY0Mi0uOTM1Ny0xLjI0NTF6IiBmaWxsPSIjMDI0MzgxIi8+PHBhdGggZD0ibTEwLjU3MzkgMjEuMTM0NiAyLjMyOTgtMTAuMzg5Yy4xNTM1LS42Nzk1IDEuMDA3MS0xLjIzMDQyIDEuNjg1Ni0xLjI0NDQxbC00LjUxOTctLjAwMTE5Yy0uNjgyMzMgMC0xLjU1NzA5LjU1NzItMS43MTMwMiAxLjI0NTZsLTIuMzI5ODQgMTAuMzg5Yy0uMDE0MTguMDYzNC0uMDIyMDUuMTI1NS0uMDI2NzQuMTg2M3YuMTkyOGMuMDQ1NjEuNDk2My40MjE2Mi44NTc3Ljk2MjExLjg2Nmg0LjU0NzE5Yy0uNjcxMy0uMDEwMi0xLjA4OTUtLjU2NDMtLjkzNTQtMS4yNDUxeiIgZmlsbD0iI2RkMDIyOCIvPjxwYXRoIGQ9Im0xNC42ODQ2IDE3LjA3MTNoLjA4NTVjLjA3ODYgMCAuMTMxNS0uMDI2Ni4xNTYzLS4wNzkybC4yMjIyLS4zMzU0aC41OTUybC0uMTI0MS4yMjA2aC43MTM3bC0uMDkwNS4zMzc5aC0uODQ5MmMtLjA5NzguMTQ4My0uMjE4Mi4yMTgxLS4zNjMuMjA5OGgtLjQ0MjN6bS0uMDk3OC40ODQzaDEuNTYzNmwtLjA5OTcuMzY3MWgtLjYyODhsLS4wOTU5LjM1NDNoLjYxMThsLS4wOTk2LjM2N2gtLjYxMTlsLS4xNDIxLjUyMzZjLS4wMzUyLjA4NzUuMDExLjEyNjkuMTM4LjExNzloLjQ5ODdsLS4wOTI0LjM0MTFoLS45NTc0Yy0uMTgxNSAwLS4yNDM3LS4xMDQ2LS4xODY4LS4zMTQ0bC4xODE3LS42NjgyaC0uMzkxMWwuMDk5NC0uMzY3aC4zOTExbC4wOTU5LS4zNTQzaC0uMzczOXptMi40OTU2LS45MDE0LS4wMjQ2LjIxNDlzLjI5NDktLjIyMzIuNTYyOC0uMjIzMmguOTg5OGwtLjM3ODUgMS4zODEzYy0uMDMxNC4xNTc5LS4xNjYuMjM2NC0uNDAzOC4yMzY0aC0xLjEyMTlsLS4yNjI3Ljk2OTljLS4wMTUyLjA1Mi4wMDYyLjA3ODYuMDYyOC4wNzg2aC4yMjA4bC0uMDgxMi4zMDExaC0uNTYxMmMtLjIxNTQgMC0uMzA1LS4wNjUzLS4yNjk1LS4xOTY0bC43NDI2LTIuNzYyNnptLjgzODIuMzkwNWgtLjg4MzVsLS4xMDU2LjM3MjdzLjE0NzEtLjEwNzEuMzkzLS4xMTA5Yy4yNDUyLS4wMDM5LjUyNSAwIC41MjUgMHptLS4zMjAxLjg2NDZjLjA2NTQuMDA4OS4xMDE5LS4wMTcxLjEwNjMtLjA3ODZsLjA1NDEtLjE5NjVoLS44ODQ4bC0uMDc0Mi4yNzUxem0tLjU5NjguNDQ2M2guNTEwMWwtLjAwOTUuMjIyNGguMTM1OGMuMDY4NiAwIC4xMDI2LS4wMjIxLjEwMjYtLjA2NThsLjA0MDItLjE0NGguNDIzOWwtLjA1NjYuMjA5OGMtLjA0NzkuMTc1LS4xNzQ4LjI2NjMtLjM4MTEuMjc1MmgtLjI3MTdsLS4wMDEyLjM4MDNjLS4wMDUuMDYwOS4wNDk2LjA5Mi4xNjIxLjA5MmguMjU1NGwtLjA4MjQuMzAxMWgtLjYxMjVjLS4xNzE3LjAwODItLjI1NTgtLjA3NDItLjI1NDEtLjI0OTJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTEwLjgyMzggMTQuODE0Yy0uMDY5Mi4zNDE3LS4yMjk2LjYwNDEtLjQ3ODMuNzkwNS0uMjQ2NS4xODMyLS41NjQ0LjI3NTEtLjk1MzYyLjI3NTEtLjM2NjI5IDAtLjYzNDgzLS4wOTM5LS44MDYxOS0uMjgyMS0uMTE4ODUtLjEzMzgtLjE3Nzk4LS4zMDM3LS4xNzc5OC0uNTA5MSAwLS4wODQ5LjAxMDA5LS4xNzYyLjAzMDIyLS4yNzQ0bC40MTQ3LTIuMDE1OGguNjI2MzNsLS40MDkwNiAxLjk5M2MtLjAxMjU5LjA1NTEtLjAxNzYxLjEwNjUtLjAxNjk1LjE1MjgtLjAwMDY2LjEwMi4wMjQ0OC4xODU3LjA3NTQyLjI1MS4wNzQyLjA5Ny4xOTQ2My4xNDUxLjM2MjIyLjE0NTEuMTkyNzIgMCAuMzUxNTItLjA0NzUuNDc0NzYtLjE0MzIuMTIzMjUtLjA5NTEuMjAzNzUtLjIzMDEuMjM5OTUtLjQwNTdsLjQxMDMtMS45OTNoLjYyMzJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTEzLjQ1NDEgMTQuMDIwOWguNDkwNWwtLjM4NDIgMS43OTloLS40ODk2em0uMTU0NC0uNjU1NGguNDk0OWwtLjA5MjUuNDM2N2gtLjQ5NDh6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTE0LjM3ODggMTUuNjgzYy0uMTI4My0uMTIzNi0uMTkzMS0uMjkwMy0uMTkzNy0uNTAyIDAtLjAzNjIuMDAyMS0uMDc3NC4wMDY5LS4xMjI0LjAwNDctLjA0NTcuMDEwNy0uMDkuMDE5Mi0uMTMxMi4wNTgxLS4yOTIyLjE4Mi0uNTI0Mi4zNzI5LS42OTU0LjE5MDUtLjE3MTguNDIwNC0uMjU4LjY4OTUtLjI1OC4yMjA0IDAgLjM5NTIuMDYyMS41MjMyLjE4NjQuMTI4LjEyNDkuMTkyMS4yOTM0LjE5MjEuNTA3OCAwIC4wMzY3LS4wMDI4LjA3OTItLjAwNzUuMTI0OC0uMDA1Ny4wNDYzLS4wMTI2LjA5MDctLjAyMDUuMTM0NC0uMDU2OS4yODc4LS4xODA0LjUxNzMtLjM3MTMuNjg1My0uMTkwOC4xNjkyLS40Mi4yNTM1LS42ODczLjI1MzUtLjIyMTQgMC0uMzk1Ni0uMDYwOS0uNTIzNS0uMTgzMnptLjkzNDctLjM1NjJjLjA4NjUtLjA5NDUuMTQ4NC0uMjM3OC4xODYyLS40Mjg1LjAwNTYtLjAyOTguMDEwNi0uMDYwOS4wMTM4LS4wOTIuMDAzMS0uMDMwNC4wMDQ0LS4wNTg5LjAwNDQtLjA4NDkgMC0uMTExLS4wMjgtLjE5NzEtLjA4NDMtLjI1OC0uMDU1OS0uMDYxNS0uMTM1NS0uMDkxOS0uMjM4My0uMDkxOS0uMTM1OCAwLS4yNDY1LjA0ODEtLjMzMzIuMTQ0NS0uMDg3NS4wOTY0LS4xNDk0LjI0MjItLjE4ODQuNDM2MS0uMDA1NC4wMjk4LS4wMDk4LjA1OTYtLjAxMzguMDg4OC0uMDAzMi4wMjk4LS4wMDQxLjA1NzctLjAwMzUuMDgzIDAgLjExMDMuMDI4LjE5NTMuMDg0My4yNTU1LjA1NTkuMDYwMi4xMzUxLjA5LjIzOTIuMDkuMTM2NSAwIC4yNDcyLS4wNDc2LjMzMzYtLjE0MjZ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTE5LjE3MTQgMTcuMDg2NS4xMTgzLS40MTk3aC41OThsLS4wMjU4LjE1NHMuMzA1Ni0uMTU0LjUyNTctLjE1NGguNzM5NGwtLjExNzUuNDE5N2gtLjExNjNsLS41NTc4IDEuOTc5aC4xMTYzbC0uMTEwNy4zOTNoLS4xMTYzbC0uMDQ4NC4xNzA2aC0uNTc5MWwuMDQ4My0uMTcwNmgtMS4xNDI2bC4xMTE0LS4zOTNoLjExNDRsLjU1ODQtMS45Nzl6bS42NDUyIDAtLjE1MjIuNTM1NnMuMjYwNC0uMTAwNy40ODQ5LS4xMjkzYy4wNDk2LS4xODcuMTE0NC0uNDA2My4xMTQ0LS40MDYzem0tLjIyMjcuNzg2Ni0uMTUyNy41NjFzLjI4ODYtLjE0MzIuNDg2Ny0uMTU1M2MuMDU3Mi0uMjE2OC4xMTQ1LS40MDU3LjExNDUtLjQwNTd6bS4xMTIgMS4xOTI0LjExNDUtLjQwNjloLS40NDY0bC0uMTE1MS40MDY5em0xLjQ0NjMtMi40MjQ2aC41NjIzbC4wMjM4LjIwOTFjLS4wMDM3LjA1MzIuMDI3Ny4wNzg2LjA5NDMuMDc4NmguMDk5NGwtLjEwMDUuMzU0NGgtLjQxMzNjLS4xNTc4LjAwODItLjIzODktLjA1MjYtLjI0NjQtLjE4Mzl6bS0uMTY0Ny43NmgxLjgyMTFsLS4xMDY5LjM4MDRoLS41Nzk4bC0uMDk5NC4zNTM2aC41NzkybC0uMTA3NS4zNzk3aC0uNjQ1MWwtLjE0Ni4yMjI2aC4zMTU4bC4wNzI5LjQ0NTZjLjAwODcuMDQ0NC4wNDc3LjA2NTkuMTE0NC4wNjU5aC4wOThsLS4xMDMuMzY3aC0uMzQ3MWMtLjE3OTkuMDA4OS0uMjcyOS0uMDUxOS0uMjgwNS0uMTgzMWwtLjA4MzctLjQwNy0uMjg3My40MzNjLS4wNjguMTIyMy0uMTcyNC4xNzk0LS4zMTMyLjE3MDVoLS41MzAxbC4xMDMxLS4zNjcxaC4xNjU0Yy4wNjggMCAuMTI0NS0uMDMwNC4xNzU0LS4wOTE5bC40NDk3LS42NTU1aC0uNTc5OGwuMTA3NS0uMzc5N2guNjI4OGwuMS0uMzUzNmgtLjYyOTR6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTExLjQwMDMgMTQuMDIwNGguNDQyNGwtLjA1MDYuMjU5OS4wNjM1LS4wNzQyYy4xNDM0LS4xNTQ2LjMxNzYtLjIzMTQuNTIzMi0uMjMxNC4xODYxIDAgLjMyMDQuMDU0Ni40MDQ3LjE2NDIuMDgyOS4xMDk3LjEwNTYuMjYxMi4wNjYzLjQ1NThsLS4yNDM3IDEuMjI2aC0uNDU0NmwuMjIwMS0xLjExMTNjLjAyMjYtLjExNDcuMDE2NC0uMjAwMy0uMDE4Ni0uMjU1NC0uMDM0Ni0uMDU1Mi0uMTAwNi0uMDgyNC0uMTk1OS0uMDgyNC0uMTE2OSAwLS4yMTU0LjAzNjctLjI5NTUuMTA5Ni0uMDgwNS4wNzM2LS4xMzM3LjE3NTYtLjE1OTguMzA1NmwtLjIwMjggMS4wMzM5aC0uNDU1NXoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMTYuNDczNSAxNC4wMjA0aC40NDI3bC0uMDUwMi4yNTk5LjA2MjgtLjA3NDJjLjE0MzUtLjE1NDYuMzE4My0uMjMxNC41MjMzLS4yMzE0LjE4NjEgMCAuMzIwNi4wNTQ2LjQwNDIuMTY0Mi4wODI1LjEwOTcuMTA2NC4yNjEyLjA2NjEuNDU1OGwtLjI0MjcgMS4yMjZoLS40NTUzbC4yMjAxLTEuMTExM2MuMDIyNi0uMTE0Ny4wMTY0LS4yMDAzLS4wMTgyLS4yNTU0LS4wMzU5LS4wNTUyLS4xMDA3LS4wODI0LS4xOTU2LS4wODI0LS4xMTcgMC0uMjE1LjAzNjctLjI5NjIuMTA5Ni0uMDgwNS4wNzM2LS4xMzM5LjE3NTYtLjE1OS4zMDU2bC0uMjAzOCAxLjAzMzloLS40NTV6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTE4LjY2MjEgMTIuOTA0N2gxLjI4NTNjLjI0NzEgMCAuNDM4My4wNTY0LjU2OTcuMTY3My4xMzA4LjExMjIuMTk2My4yNzMzLjE5NjMuNDgzMXYuMDA2M2MwIC4wMzk5LS4wMDI3LjA4NDktLjAwNjQuMTMzNy0uMDA2My4wNDgyLS4wMTQ1LjA5Ny0uMDI1MS4xNDc3LS4wNTY2LjI3NzctLjE4ODEuNTAwOC0uMzkxMi42NzAxLS4yMDM4LjE2ODYtLjQ0NTIuMjUzNi0uNzIzMS4yNTM2aC0uNjg5M2wtLjIxMzEgMS4wNTQxaC0uNTk2OHptLjMyMTIgMS4zNTQ2aC41NzE3Yy4xNDkgMCAuMjY3Mi0uMDM0OS4zNTM0LS4xMDM5LjA4NTUtLjA2OTguMTQyMS0uMTc2Mi4xNzM1LS4zMjA4LjAwNS0uMDI2Ny4wMDgxLS4wNTA3LjAxMi0uMDcyOS4wMDE5LS4wMjA5LjAwNDQtLjA0MTkuMDA0NC0uMDYyMSAwLS4xMDMzLS4wMzY0LS4xNzgxLS4xMDk0LS4yMjUtLjA3My0uMDQ3Ni0uMTg3NC0uMDcwNC0uMzQ1OS0uMDcwNGgtLjQ4NTV6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTIzLjM4NDggMTYuMTY4N2MtLjE4ODcuNDA0NC0uMzY4NS42NDAyLS40NzQxLjc0OTgtLjEwNTcuMTA4NS0uMzE1LjM2MDgtLjgxOTQuMzQxN2wuMDQzNC0uMzA4NmMuNDI0NC0uMTMxOS42NTM5LS43MjU5Ljc4NDctLjk4OWwtLjE1NTktMS45MzcyLjMyODMtLjAwNDRoLjI3NTRsLjAyOTYgMS4yMTUyLjUxNjItMS4yMTUyaC41MjI2eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im0yMS45MjMzIDE0LjE2NzMtLjIwNzYuMTQ0Yy0uMjE3LS4xNzEyLS40MTUtLjI3Ny0uNzk3My0uMDk4My0uNTIwNy4yNDM0LS45NTU5IDIuMTEwMy40Nzc5IDEuNDk1NGwuMDgxNy4wOTc2LjU2NDEuMDE0Ni4zNzA0LTEuNjk2NHptLS4zMjA4LjkyNzRjLS4wOTA2LjI2OTUtLjI5My40NDc2LS40NTE0LjM5NjktLjE1ODUtLjA0OTUtLjIxNTEtLjMwOTQtLjEyMzMtLjU3OTQuMDkwNS0uMjcwMS4yOTQzLS40NDc2LjQ1MTUtLjM5NjguMTU4NC4wNDk0LjIxNTYuMzA5My4xMjMyLjU3OTN6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==);\n}\n.tooltip__button--data--provider__visa::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI2IDRDMjkuMzEzNyA0IDMyIDYuNjg2MjkgMzIgMTBMMzIgMjJDMzIgMjUuMzEzNyAyOS4zMTM3IDI4IDI2IDI4TDYgMjhDMi42ODYyOSAyOCA5Ljc1Njk3ZS0wNyAyNS4zMTM3IDEuMTIwNTRlLTA2IDIyTDEuNjQ1MDhlLTA2IDEwQzEuNzg5OTNlLTA2IDYuNjg2MjkgMi42ODYyOSA0IDYgNEwyNiA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMCAyMkwzMCAxMEMzMCA3Ljc5MDg2IDI4LjIwOTEgNiAyNiA2TDYgNkMzLjc5MDg2IDYgMiA3Ljc5MDg2IDIgMTBMMiAyMkMyIDI0LjIwOTEgMy43OTA4NiAyNiA2IDI2TDI2IDI2QzI4LjIwOTEgMjYgMzAgMjQuMjA5MSAzMCAyMlpNMzIgMTBDMzIgNi42ODYyOSAyOS4zMTM3IDQgMjYgNEw2IDRDMi42ODYyOSA0IDEuNzg5OTNlLTA2IDYuNjg2MjkgMS42NDUwOGUtMDYgMTBMMS4xMjA1NGUtMDYgMjJDOS43NTY5N2UtMDcgMjUuMzEzNyAyLjY4NjI5IDI4IDYgMjhMMjYgMjhDMjkuMzEzNyAyOCAzMiAyNS4zMTM3IDMyIDIyTDMyIDEwWiIgZmlsbD0iI0NDQ0NDQyIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE4Ljg5NTYgMTIuNUMxOS41ODQ5IDEyLjUgMjAuMTQyNSAxMi42NDQ1IDIwLjQ5NCAxMi43NzU0TDIwLjI1MTYgMTQuMTcyNEwyMC4wOTA0IDE0LjEwMzdDMTkuNzY4IDEzLjk3MjkgMTkuMzQyMyAxMy44NDIyIDE4Ljc2MjkgMTMuODU2QzE4LjA1OTMgMTMuODU2IDE3Ljc0MzcgMTQuMTM4IDE3LjczNjQgMTQuNDEzM0MxNy43MzY0IDE0LjcxNjIgMTguMTE4MiAxNC45MTU4IDE4Ljc0MTUgMTUuMjExOEMxOS43NjgzIDE1LjY3MjkgMjAuMjQ0NSAxNi4yMzcyIDIwLjIzNzQgMTYuOTczN0MyMC4yMjMgMTguMzE1NyAxOS4wMDU2IDE5LjE4MyAxNy4xMzU2IDE5LjE4M0MxNi4zMzYxIDE5LjE3NiAxNS41NjYgMTkuMDE3NCAxNS4xNDggMTguODM4N0wxNS4zOTc0IDE3LjM4NjVMMTUuNjMyMSAxNy40ODk4QzE2LjIxMTUgMTcuNzMxIDE2LjU5MjcgMTcuODM0IDE3LjMwNDIgMTcuODM0QzE3LjgxNzMgMTcuODM0IDE4LjM2NzQgMTcuNjM0MiAxOC4zNzQ1IDE3LjIwMDhDMTguMzc0NSAxNi45MTg2IDE4LjE0MDEgMTYuNzExOSAxNy40NTA2IDE2LjM5NTRDMTYuNzc2IDE2LjA4NTUgMTUuODc0MSAxNS41Njk1IDE1Ljg4ODcgMTQuNjQwM0MxNS44OTYzIDEzLjM4MDkgMTcuMTM1NiAxMi41IDE4Ljg5NTYgMTIuNVpNMTIuMjUxMyAxOS4wODY3SDE0LjAzMzVMMTUuMTQ4IDEyLjYxNzRIMTMuMzY2TDEyLjI1MTMgMTkuMDg2N1pNMjMuNjgzNiAxMi42MTc0SDI1LjA2MjFMMjYuNDk5OSAxOS4wODY2SDI0Ljg0OThDMjQuODQ5OCAxOS4wODY2IDI0LjY4ODMgMTguMzQzMyAyNC42MzcxIDE4LjExNjFIMjIuMzQ5QzIyLjI4MjggMTguMjg4MSAyMS45NzQ5IDE5LjA4NjYgMjEuOTc0OSAxOS4wODY2SDIwLjEwNUwyMi43NTIxIDEzLjE1NDFDMjIuOTM1NiAxMi43MzQzIDIzLjI1ODUgMTIuNjE3NCAyMy42ODM2IDEyLjYxNzRaTTIzLjU3MzUgMTQuOTg0N0MyMy41NzM1IDE0Ljk4NDcgMjMuMDA4OCAxNi40MjMyIDIyLjg2MiAxNi43OTQ4SDI0LjM0MzNDMjQuMjcgMTYuNDcxNCAyMy45MzI2IDE0LjkyMjggMjMuOTMyNiAxNC45MjI4TDIzLjgwOCAxNC4zNjU0QzIzLjc1NTYgMTQuNTA4OSAyMy42Nzk3IDE0LjcwNjMgMjMuNjI4NiAxNC44Mzk0QzIzLjU5MzkgMTQuOTI5NiAyMy41NzA1IDE0Ljk5MDMgMjMuNTczNSAxNC45ODQ3Wk0xMC43NjI1IDEyLjYxNzRMOS4wMTcyIDE3LjAyODhMOC44MjY0OCAxNi4xMzQxTDguODI2NDUgMTYuMTM0TDguODI2NiAxNi4xMzQ0TDguMjAzMjggMTMuMTYxMkM4LjEwMDY2IDEyLjc0OCA3Ljc4NTMgMTIuNjMxIDcuMzk2NjUgMTIuNjE3NEg0LjUyOTMzTDQuNSAxMi43NDgxQzUuMTk5MjcgMTIuOTE1OSA1LjgyNDcxIDEzLjE1NzggNi4zNzI3MyAxMy40NTg1TDcuOTYxMTggMTkuMDc5OEg5Ljg0NTc2TDEyLjY0NyAxMi42MTc0SDEwLjc2MjVaIiBmaWxsPSIjMTQzNENCIi8+Cjwvc3ZnPgo=);\n}\n.tooltip__button--data--provider__amex::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMjYgNGMzLjMxMzcgMCA2IDIuNjg2MjkgNiA2djEyYzAgMy4zMTM3LTIuNjg2MyA2LTYgNmgtMjBjLTMuMzEzNzEgMC01Ljk5OTk5OTAyLTIuNjg2My01Ljk5OTk5ODg4LTZsLjAwMDAwMDUzLTEyYy4wMDAwMDAxNC0zLjMxMzcxIDIuNjg2Mjg4MzUtNiA1Ljk5OTk5ODM1LTZ6IiBmaWxsPSIjMDA2ZmNmIi8+PHBhdGggY2xpcC1ydWxlPSJldmVub2RkIiBkPSJtMzAgMjJ2LTEyYzAtMi4yMDkxNC0xLjc5MDktNC00LTRoLTIwYy0yLjIwOTE0IDAtNCAxLjc5MDg2LTQgNHYxMmMwIDIuMjA5MSAxLjc5MDg2IDQgNCA0aDIwYzIuMjA5MSAwIDQtMS43OTA5IDQtNHptMi0xMmMwLTMuMzEzNzEtMi42ODYzLTYtNi02aC0yMGMtMy4zMTM3MSAwLTUuOTk5OTk4MjEgMi42ODYyOS01Ljk5OTk5ODM1IDZsLS4wMDAwMDA1MyAxMmMtLjAwMDAwMDE0IDMuMzEzNyAyLjY4NjI4ODg4IDYgNS45OTk5OTg4OCA2aDIwYzMuMzEzNyAwIDYtMi42ODYzIDYtNnoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjE4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJtMjYuNTcwMiAxNC45MjY1aDIuMTIwMnYtNC45MjY1aC0yLjMwNzN2LjY4NmwtLjQzNjYtLjY4NmgtMS45OTU1di44NzMxbC0uMzc0Mi0uODczMWgtMy42NzkyYy0uMTI0OCAwLS4yNDk1LjA2MjQtLjM3NDIuMDYyNHMtLjE4NzEuMDYyMy0uMzExOC4xMjQ3Yy0uMTI0Ny4wNjIzLS4xODcxLjA2MjMtLjMxMTguMTI0N3YtLjMxMThoLTEwLjUzOWwtLjMxMTguODEwNy0uMzExODEtLjgxMDdoLTIuNDk0NDN2Ljg3MzFsLS4zNzQxNi0uODczMWgtMS45OTU1NWwtLjg3MzA1IDIuMTIwM3YyLjgwNjJoMS40MzQzbC4yNDk0NC0uNjg2aC40OTg4OWwuMjQ5NDQuNjg2aDEwLjk3NTUzdi0uNjIzNmwuNDM2NS42MjM2aDMuMDU1N3YtLjM3NDJjLjA2MjMuMDYyNC4xODcxLjA2MjQuMjQ5NC4xMjQ4LjA2MjQuMDYyMy4xODcxLjA2MjMuMjQ5NS4xMjQ3LjEyNDcuMDYyMy4yNDk0LjA2MjMuMzc0MS4wNjIzaDIuMjQ1bC4yNDk1LS42ODU5aC40OTg4bC4yNDk1LjY4NTloMy4wNTU3di0uNjIzNnptMy40Mjk4IDYuMjM2MXYtNC42MTQ3aC0xNy4xNDkybC0uNDM2NS42MjM2LS40MzY2LS42MjM2aC00Ljk4ODg0djQuOTI2NWg0Ljk4ODg0bC40MzY2LS42MjM2LjQzNjUuNjIzNmgzLjExOHYtMS4wNjAxaC0uMTI0N2MuNDM2NSAwIC44MTA3LS4wNjI0IDEuMTIyNS0uMTg3MXYxLjMwOTVoMi4yNDV2LS42MjM2bC40MzY1LjYyMzZoOS4yOTE4Yy4zNzQxLS4xMjQ3Ljc0ODMtLjE4NyAxLjA2MDEtLjM3NDF6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTI4LjkzOTkgMTkuOTc3N2gtMS42ODM4di42ODZoMS42MjE0Yy42ODYgMCAxLjEyMjUtLjQzNjYgMS4xMjI1LTEuMDYwMnMtLjM3NDItLjkzNTQtLjk5NzgtLjkzNTRoLS43NDgzYy0uMTg3MSAwLS4zMTE4LS4xMjQ3LS4zMTE4LS4zMTE4cy4xMjQ3LS4zMTE4LjMxMTgtLjMxMThoMS40MzQzbC4zMTE4LS42ODU5aC0xLjY4MzdjLS42ODYgMC0xLjEyMjUuNDM2NS0xLjEyMjUuOTk3NyAwIC42MjM2LjM3NDEuOTM1NC45OTc3LjkzNTRoLjc0ODRjLjE4NyAwIC4zMTE4LjEyNDguMzExOC4zMTE4LjA2MjMuMjQ5NS0uMDYyNC4zNzQyLS4zMTE4LjM3NDJ6bS0zLjA1NTcgMGgtMS42ODM4di42ODZoMS42MjE0Yy42ODYgMCAxLjEyMjUtLjQzNjYgMS4xMjI1LTEuMDYwMnMtLjM3NDEtLjkzNTQtLjk5NzgtLjkzNTRoLS43NDgzYy0uMTg3MSAwLS4zMTE4LS4xMjQ3LS4zMTE4LS4zMTE4cy4xMjQ3LS4zMTE4LjMxMTgtLjMxMThoMS40MzQzbC4zMTE4LS42ODU5aC0xLjY4MzdjLS42ODYgMC0xLjEyMjUuNDM2NS0xLjEyMjUuOTk3NyAwIC42MjM2LjM3NDEuOTM1NC45OTc4LjkzNTRoLjc0ODNjLjE4NzEgMCAuMzExOC4xMjQ4LjMxMTguMzExOC4wNjI0LjI0OTUtLjEyNDcuMzc0Mi0uMzExOC4zNzQyem0tMi4xODI2LTEuOTk1NXYtLjY4NmgtMi42MTkydjMuMzA1MWgyLjYxOTJ2LS42ODZoLTEuODcwOXYtLjY4NTloMS44MDg1di0uNjg2aC0xLjgwODV2LS42MjM2aDEuODcwOXptLTQuMjQwNiAwYy4zMTE4IDAgLjQzNjYuMTg3LjQzNjYuMzc0MXMtLjEyNDguMzc0Mi0uNDM2Ni4zNzQyaC0uOTM1NHYtLjgxMDd6bS0uOTM1NCAxLjQzNDNoLjM3NDJsLjk5NzggMS4xODQ4aC45MzU0bC0xLjEyMjUtMS4yNDcyYy41NjEyLS4xMjQ3Ljg3My0uNDk4OS44NzMtLjk5NzggMC0uNjIzNi0uNDM2NS0xLjA2MDEtMS4xMjI1LTEuMDYwMWgtMS43NDYxdjMuMzA1MWguNzQ4NHptLTEuOTk1NS0uOTk3OGMwIC4yNDk0LS4xMjQ4LjQzNjUtLjQzNjYuNDM2NWgtLjk5Nzd2LS44NzNoLjkzNTRjLjMxMTggMCAuNDk4OS4xODcuNDk4OS40MzY1em0tMi4xODI3LTEuMTIyNXYzLjMwNTFoLjc0ODR2LTEuMTIyNWguOTk3N2MuNjg2IDAgMS4xODQ5LS40MzY1IDEuMTg0OS0xLjEyMjUgMC0uNjIzNi0uNDM2NS0xLjEyMjUtMS4xMjI1LTEuMTIyNXptLTEuMTIyNSAzLjMwNTFoLjkzNTVsLTEuMzA5Ni0xLjY4MzcgMS4zMDk2LTEuNjIxNGgtLjkzNTVsLS44MTA2IDEuMDYwMS0uODEwNy0xLjA2MDFoLS45MzU0bDEuMzA5NSAxLjYyMTQtMS4zMDk1IDEuNjIxNGguOTM1NGwuODEwNy0xLjA2MDJ6bS0yLjgwNjItMi42MTkxdi0uNjg2aC0yLjYxOTE1djMuMzA1MWgyLjYxOTE1di0uNjg2aC0xLjg3MDgydi0uNjg1OWgxLjgwODQydi0uNjg2aC0xLjgwODQydi0uNjIzNmgxLjg3MDgyem0xNS4xNTM3LTUuODYyIDEuMzA5NiAxLjk5NTZoLjkzNTR2LTMuMzA1MWgtLjc0ODR2Mi4xODI2bC0uMTg3LS4zMTE4LTEuMTg0OS0xLjg3MDhoLS45OTc4djMuMzA1MWguNzQ4NHYtMi4yNDV6bS0zLjI0MjgtLjA2MjMuMjQ5NS0uNjg2LjI0OTQuNjg2LjMxMTguNzQ4M2gtMS4xMjI1em0xLjMwOTYgMi4wNTc5aC44MTA3bC0xLjQzNDMtMy4zMDUxaC0uOTk3OGwtMS40MzQzIDMuMzA1MWguODEwN2wuMzExOC0uNjg2aDEuNjIxNHptLTMuNDkyMiAwIC4zMTE4LS42ODZoLS4xODcxYy0uNTYxMiAwLS44NzMtLjM3NDEtLjg3My0uOTM1NHYtLjA2MjRjMC0uNTYxMi4zMTE4LS45MzU0Ljg3My0uOTM1NGguODEwN3YtLjY4NTloLS44NzNjLS45OTc4IDAtMS41NTkxLjY4NTktMS41NTkxIDEuNjIxM3YuMDYyNGMwIC45OTc4LjU2MTMgMS42MjE0IDEuNDk2NyAxLjYyMTR6bS0yLjgwNjIgMGguNzQ4M3YtMy4yNDI4aC0uNzQ4M3ptLTEuNjIxNC0yLjYxOTJjLjMxMTggMCAuNDM2NS4xODcxLjQzNjUuMzc0MnMtLjEyNDcuMzc0Mi0uNDM2NS4zNzQyaC0uOTM1NHYtLjgxMDd6bS0uOTM1NCAxLjQzNDNoLjM3NDFsLjk5NzggMS4xODQ5aC45MzU0bC0xLjEyMjUtMS4yNDcyYy41NjEzLS4xMjQ3Ljg3MzEtLjQ5ODkuODczMS0uOTk3OCAwLS42MjM2LS40MzY2LTEuMDYwMS0xLjEyMjUtMS4wNjAxaC0xLjc0NjF2My4zMDUxaC43NDgzem0tMS4zNzItMS40MzQzdi0uNjg1OWgtMi42MTkxdjMuMzA1MWgyLjYxOTF2LS42ODZoLTEuODcwOHYtLjY4NTloMS44MDg1di0uNjg2aC0xLjgwODV2LS42MjM2aDEuODcwOHptLTUuNjc0ODEgMi42MTkyaC42ODU5N2wuOTM1NDEtMi42ODE1djIuNjgxNWguNzQ4MzN2LTMuMzA1MWgtMS4yNDcyMWwtLjc0ODMzIDIuMjQ1LS43NDgzMy0yLjI0NWgtMS4yNDcyMnYzLjMwNTFoLjc0ODMzdi0yLjY4MTV6bS00LjA1MzQ1LTIuMDU3OS4yNDk0NC0uNjg2LjI0OTQ1LjY4Ni4zMTE4Ljc0ODNoLTEuMTIyNDl6bTEuMzA5NTggMi4wNTc5aC44MTA2OWwtMS40MzQzLTMuMzA1MWgtLjkzNTQxbC0xLjQzNDMgMy4zMDUxaC44MTA2OWwuMzExOC0uNjg2aDEuNjIxMzl6IiBmaWxsPSIjMDA2ZmNmIi8+PC9zdmc+);\n}\n.tooltip__button--data--identities::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTYgOS41YTQgNCAwIDEgMS04IDAgNCA0IDAgMCAxIDggMG0tMS41IDBhMi41IDIuNSAwIDEgMS01IDAgMi41IDIuNSAwIDAgMSA1IDAiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgogIDxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDIyYzUuNTIzIDAgMTAtNC40NzcgMTAtMTBTMTcuNTIzIDIgMTIgMiAyIDYuNDc3IDIgMTJzNC40NzcgMTAgMTAgMTBtMC0xLjVhOC40NyA4LjQ3IDAgMCAwIDUuNzA2LTIuMkE2LjU4IDYuNTggMCAwIDAgMTIgMTVhNi41OCA2LjU4IDAgMCAwLTUuNzA1IDMuM0E4LjQ3IDguNDcgMCAwIDAgMTIgMjAuNW0wLTdhOC4wNyA4LjA3IDAgMCAxIDYuNzYgMy42NTMgOC41IDguNSAwIDEgMC0xMy41MiAwQTguMDcgOC4wNyAwIDAgMSAxMiAxMy41IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+Cg==);\n}\n.tooltip__button--data--credentials.tooltip__button--data--bitwarden::before,\n.tooltip__button--data--credentials__current.tooltip__button--data--bitwarden::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTkuMzM3IDNINC42ODRjLS40MTgtLjAxNC0uODA3LjMyNy0uODA5Ljc0OHY5LjAxYy4wMDQuNjg2LjE1IDEuMzY1LjQyOCAyIC41MjggMS4yOSAxLjQ2NSAyLjM4IDIuNTQ1IDMuMjUzLjk2NC44MzggMi4wNDUgMS41IDMuMTY0IDIuMTEuNTIzLjI4NSAxLjM0OC44NzkgMS45NzQuODc5LjY0MyAwIDEuNDYtLjU4NSAxLjk5OS0uODc5IDEuMTItLjYxMSAyLjE5MS0xLjI4MyAzLjE2My0yLjExIDEuMDgtLjg5MyAxLjk5NC0xLjk2IDIuNTQ2LTMuMjUzYTUuMDQ4IDUuMDQ4IDAgMCAwIC40MjgtMnYtOS4wMWMuMDQ0LS40My0uMzgtLjc1NC0uNzg1LS43NDhaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8cGF0aCBmaWxsPSJ1cmwoI0JpdHdhcmRlbi1Db2xvci0yNF9zdmdfX2EpIiBkPSJNNS4wMzMgMmgxMy45NjVhMi4wNDcgMi4wNDcgMCAwIDEgMS4zNzMuNTI4Yy4zNjYuMzMuNjYyLjg1NC42MjYgMS40OXY4LjcyN2E2LjIzOCA2LjIzOCAwIDAgMS0uNTEgMi40MzFjLS42MjEgMS40NzYtMS42MyAyLjY2LTIuNzU4IDMuNjEzLS45NTMuODI2LTEuOTgxIDEuNDkzLTMuMDIgMi4wODJsLS4yMDguMTE3Yy0uMTAzLjA1Ny0uMjIuMTI5LS4zOS4yMzFhMTEuMyAxMS4zIDAgMCAxLS41NDguMzE1Yy0uMzU3LjE5LS45NC40NjYtMS41NzYuNDY2LS42MzUgMC0xLjIyLS4yODUtMS41Ny0uNDcyYTExLjYzIDExLjYzIDAgMCAxLS41NDItLjMxNGMtLjEyNi0uMDc2LS4yMjEtLjEzNS0uMzAyLS4xODJsLS4wNzctLjA0NGMtMS4wOTItLjYwOC0yLjIwOC0xLjI5OS0zLjIyMi0yLjE5NC0xLjEzMS0uOTM1LTIuMTY5LTIuMTQ1LTIuNzY5LTMuNjNBNi4yMzYgNi4yMzYgMCAwIDEgMyAxMi43NDVWMy45NzNjLjAwNC0xLjE0Ny45ODYtMS45OSAyLjAzMy0xLjk3MlptLS4wMTIgMS4yNWMtLjM5OC0uMDE0LS43Ny4zMTgtLjc3MS43Mjd2OC43NmMuMDA0LjY2Ny4xNDMgMS4zMjcuNDA4IDEuOTQ1LjUwMyAxLjI1NCAxLjM5OCAyLjMxNCAyLjQyOCAzLjE2Mi45Mi44MTQgMS45NSAxLjQ1NyAzLjAxOCAyLjA1MS40OTguMjc4IDEuMjg2Ljg1NSAxLjg4My44NTUuNjEzIDAgMS4zOTMtLjU3IDEuOTA2LS44NTUgMS4wNjgtLjU5NCAyLjA5LTEuMjQ3IDMuMDE4LTIuMDUgMS4wMjktLjg2OSAxLjkwMi0xLjkwNyAyLjQyOC0zLjE2M2E0Ljk4NiA0Ljk4NiAwIDAgMCAuNDA4LTEuOTQ1di04Ljc2Yy4wNDItLjQxNy0uMzYyLS43MzMtLjc0OS0uNzI3SDUuMDIxWm0xMi45NzYgOS40NzdjLS4wMDIuNDMtLjA5Mi44NTgtLjI2NiAxLjI2My0uNDI4Ljk5NC0xLjEyNiAxLjgyMi0xLjk0OCAyLjUxNmExNi4zNCAxNi4zNCAwIDAgMS0yLjU1MyAxLjc1NWMtLjQxLjIzLS44LjUwNy0xLjIzLjdWNS4wMDFoNS45OTd2Ny43MjZaIi8+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9IkJpdHdhcmRlbi1Db2xvci0yNF9zdmdfX2EiIHgxPSIxMiIgeDI9IjEyIiB5MT0iMiIgeTI9IjIyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM1NTdGRjMiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMkI1NUNBIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KPC9zdmc+Cg==);\n}\n.tooltip__button--data--credentials.tooltip__button--data--bitwarden#provider_locked::before,\n.tooltip__button--data--credentials__current.tooltip__button--data--bitwarden#provider_locked::before {\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMiIgeDI9IjEyIiB5MT0iMiIgeTI9IjIxLjg0MSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjNTU3ZmYzIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMmI1NWNhIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTciIHgyPSIxNyIgeTE9IjE5LjI1IiB5Mj0iMTEuNjI1Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM4ODgiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNhYWEiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNi45ODYiIHgyPSIxNi45ODYiIHkxPSIxNy4wMzciIHkyPSIyMS4xNTQiPjxzdG9wIG9mZnNldD0iLjAwOCIgc3RvcC1jb2xvcj0iI2UyYTQxMiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2MxODAxMCIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZD0ibTE5LjMzNyAzYy40MDUtLjAwNi44MjkuMzE5Ljc4NS43NDh2NC4yNTJjMCAuNTY4LS4zMjYgMi44LS4zMjYgMi44YTQuMjMyIDQuMjMyIDAgMCAwIC0yLjY4Ny0xLjA0OGwtLjEwOS0uMDAyYTQuMjUgNC4yNSAwIDAgMCAtNC4yNSA0LjI1di44NjVhMi43OTggMi43OTggMCAwIDAgLTIgMi42ODJ2Mi43NDhzLS41My0uMDYtLjczOC0uMTc0Yy0xLjExOS0uNjExLTIuMi0xLjI3Mi0zLjE2My0yLjExLTEuMDgtLjg3Mi0yLjAxOS0xLjk2My0yLjU0Ni0zLjI1M2E1LjA0OCA1LjA0OCAwIDAgMSAtLjQyOC0ydi05LjAxYy4wMDItLjQyMS4zOS0uNzYyLjgwOS0uNzQ3aDE0LjY1M3oiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMTkuMTkgMi4wMWMuNDQ2LjA0Ljg2My4yMyAxLjE4MS41MTguMzY2LjMzLjY2Mi44NTQuNjI2IDEuNDl2Ni4zMjJjMCAuNDM1LS45MTguNjk5LTEuMjUuNDE4di02Ljc4Yy4wNDItLjQxOC0uMzYzLS43MzMtLjc0OS0uNzI3aC0xMy45NzdjLS4zOTgtLjAxNS0uNzcuMzE3LS43NzEuNzI2djguNzYxYy4wMDQuNjY3LjE0MiAxLjMyNy40MDggMS45NDQuNTAzIDEuMjU0IDEuMzk4IDIuMzE0IDIuNDI4IDMuMTYyLjkyLjgxNCAxLjk1IDEuNDU3IDMuMDE4IDIuMDUxLjE4My4xMDMuNDA4LjI0NS42NDYuMzg1IDAgLjU2NC0uNTgzIDEuMTAyLTEuMDcuODE1YTEyLjgzMyAxMi44MzMgMCAwIDAgLS4xODQtLjEwN2MtMS4wOTItLjYwOC0yLjIwOC0xLjMtMy4yMjMtMi4xOTQtMS4xMy0uOTM1LTIuMTY3LTIuMTQ1LTIuNzY3LTMuNjNhNi4yMzggNi4yMzggMCAwIDEgLS41MDYtMi40MTl2LTguNzcyYy4wMDQtMS4xNDcuOTg2LTEuOTkgMi4wMzMtMS45NzFoMTMuOTY1eiIgZmlsbD0idXJsKCNhKSIvPjxwYXRoIGQ9Im0xNy45OTcgOS44NjhhNC4yNTcgNC4yNTcgMCAwIDAgLS44ODgtLjExNmwtLjEwOS0uMDAyYTQuMjUgNC4yNSAwIDAgMCAtNC4yNSA0LjI1di44NjVjLS4yNy4wOC0uNTIxLjItLjc1LjM1MnYtMTAuMjE1aDUuOTk3djQuODY3eiIgZmlsbD0idXJsKCNhKSIvPjxnIHN0cm9rZS13aWR0aD0iMS4yNSI+PHJlY3QgaGVpZ2h0PSI3LjYyNSIgcng9IjIuMzc1IiBzdHJva2U9InVybCgjYikiIHdpZHRoPSI0Ljc1IiB4PSIxNC42MjUiIHk9IjExLjYyNSIvPjxwYXRoIGQ9Im0xMi42MjUgMTcuNTQ2YS45Mi45MiAwIDAgMSAuOTIxLS45MjFoNi45MDhhLjkyLjkyIDAgMCAxIC45MjEuOTIxdjIuOTA4YS45MjEuOTIxIDAgMCAxIC0uOTIxLjkyMWgtNi45MDhhLjkyMS45MjEgMCAwIDEgLS45MjEtLjkyMXoiIGZpbGw9IiNmYzMiIHN0cm9rZT0idXJsKCNjKSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9nPjwvc3ZnPg==);\n}\nhr {\n display: block;\n margin: var(--hr-margin);\n border: none;\n border-top: 1px solid rgba(0, 0, 0, .1);\n}\nhr:first-child {\n display: none;\n}\n@media (prefers-color-scheme: dark) {\n hr {\n border-top: 1px solid rgba(255, 255, 255, .2);\n }\n}\n#privateAddress {\n align-items: flex-start;\n}\n#personalAddress::before,\n#privateAddress::before,\n#incontextSignup::before,\n#personalAddress.currentFocus::before,\n#personalAddress:hover::before,\n#privateAddress.currentFocus::before,\n#privateAddress:hover::before {\n filter: none;\n background-size: 24px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iI0RFNTgzMyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTIgMjJjNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMxNy41MjMgMiAxMiAyIDIgNi40NzcgMiAxMnM0LjQ3NyAxMCAxMCAxMCIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iI0RERCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTMuNDA2IDE5LjQ2YzAtLjA3Ny4wMi0uMDk1LS4yMjktLjU5LS42Ni0xLjMyMi0xLjMyMy0zLjE4NS0xLjAyMS00LjM4Ny4wNTUtLjIxOC0uNjIyLTguMDg1LTEuMS04LjMzOC0uNTMyLS4yODMtMS4xODYtLjczMy0xLjc4NC0uODMzLS4zMDQtLjA0OC0uNzAyLS4wMjUtMS4wMTMuMDE3LS4wNTYuMDA3LS4wNTguMTA2LS4wMDUuMTI0LjIwNC4wNy40NTIuMTkuNTk5LjM3MS4wMjcuMDM1LS4wMS4wODktLjA1NC4wOS0uMTM4LjAwNi0uMzg4LjA2My0uNzE4LjM0NC0uMDM4LjAzMi0uMDA2LjA5Mi4wNDMuMDgyLjcwOS0uMTQgMS40MzMtLjA3IDEuODYuMzE3LjAyNy4wMjUuMDEzLjA3LS4wMjQuMDgtMy43MDIgMS4wMDYtMi45NjkgNC4yMjctMS45ODMgOC4xNzkuODc4IDMuNTIgMS4yMDggNC42NTUgMS4zMTIgNXEuMDE2LjA1Mi4wNjYuMDczYzEuMjc1LjUwOCA0LjA1MS41MyA0LjA1MS0uMzMzdi0uMTk1WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEzLjkxNCAyMC4yMDNjLS40NDkuMTc2LTEuMzI4LjI1NC0xLjgzNi4yNTQtLjc0NCAwLTEuODE2LS4xMTctMi4yMDctLjI5M2E4OCA4OCAwIDAgMS0xLjY3Ni01Ljk2NmwtLjA3LS4yODZ2LS4wMDJjLS44NDgtMy40NjItMS41NC02LjI5IDIuMjU0LTcuMTc4LjAzNS0uMDA4LjA1Mi0uMDUuMDI5LS4wNzctLjQzNi0uNTE2LTEuMjUxLS42ODYtMi4yODItLjMzLS4wNDMuMDE1LS4wOC0uMDI4LS4wNTMtLjA2NC4yMDItLjI3OS41OTctLjQ5My43OTItLjU4Ny4wNC0uMDIuMDM4LS4wNzktLjAwNC0uMDkyYTQgNCAwIDAgMC0uNTktLjE0Yy0uMDU4LS4wMS0uMDYzLS4xMDktLjAwNS0uMTE3IDEuNDYyLS4xOTYgMi45ODkuMjQzIDMuNzU1IDEuMjA3YS4wNS4wNSAwIDAgMCAuMDI5LjAxOGMyLjgwNS42MDMgMy4wMDYgNS4wMzcgMi42ODIgNS4yNC0uMDYzLjAzOS0uMjY3LjAxNi0uNTM3LS4wMTQtMS4wOTEtLjEyMi0zLjI1Mi0uMzY0LTEuNDY5IDIuOTYuMDE4LjAzMy0uMDA1LjA3Ny0uMDQyLjA4Mi0xLjAwNi4xNTcuMjgzIDMuMzA5IDEuMjMgNS4zODUiLz4KICA8cGF0aCBmaWxsPSIjM0NBODJCIiBkPSJNMTUuMTY5IDE2LjE3MmMtLjIxMy0uMS0xLjAzNS40OS0xLjU4Ljk0Mi0uMTE0LS4xNjItLjMyOC0uMjc5LS44MTMtLjE5NS0uNDI0LjA3NC0uNjU4LjE3Ny0uNzYyLjM1My0uNjctLjI1NC0xLjc5NS0uNjQ2LTIuMDY3LS4yNjctLjI5Ny40MTMuMDc0IDIuMzY4LjQ3IDIuNjIyLjIwNS4xMzMgMS4xOTEtLjUwMSAxLjcwNi0uOTM4LjA4My4xMTcuMjE3LjE4NC40OTIuMTc4LjQxNi0uMDEgMS4wOS0uMTA3IDEuMTk1LS4zYS4yLjIgMCAwIDAgLjAxNy0uMDQyYy41MjkuMTk4IDEuNDYuNDA3IDEuNjY5LjM3Ni41NDItLjA4MS0uMDc2LTIuNjEzLS4zMjctMi43M1oiLz4KICA8cGF0aCBmaWxsPSIjNENCQTNDIiBkPSJNMTMuNjQgMTcuMTcycS4wMzMuMDYuMDU1LjEyNWMuMDc2LjIxLjE5OS44ODIuMTA2IDEuMDQ4cy0uNjk3LjI0Ni0xLjA3LjI1MmMtLjM3Mi4wMDctLjQ1Ni0uMTMtLjUzMS0uMzQtLjA2LS4xNy0uMDktLjU2Ni0uMDktLjc5NC0uMDE1LS4zMzcuMTA4LS40NTUuNjc3LS41NDcuNDIyLS4wNjkuNjQ0LjAxLjc3My4xNDYuNTk4LS40NDYgMS41OTYtMS4wNzYgMS42OTMtLjk2LjQ4Ni41NzMuNTQ3IDEuOTQuNDQyIDIuNDktLjAzNC4xOC0xLjY0MS0uMTc4LTEuNjQxLS4zNzIgMC0uODA1LS4yMS0xLjAyNi0uNDE1LTEuMDQ4Wm0tMy41Mi0uMjUyYy4xMy0uMjA4IDEuMTk4LjA1IDEuNzg0LjMxMiAwIDAtLjEyLjU0NS4wNzEgMS4xODguMDU2LjE4OC0xLjM0OCAxLjAyNC0xLjUzMS44OC0uMjEyLS4xNjYtLjYwMi0xLjk0Mi0uMzI1LTIuMzhaIi8+CiAgPHBhdGggZmlsbD0iI0ZDMyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNjM2IDEyLjY4OGMuMDg2LS4zNzUuNDg5LTEuMDgzIDEuOTI1LTEuMDY2LjcyNi0uMDAyIDEuNjI5IDAgMi4yMjctLjA2OGE4IDggMCAwIDAgMS45ODgtLjQ4M2MuNjIyLS4yMzcuODQzLS4xODUuOTItLjA0My4wODUuMTU2LS4wMTUuNDI2LS4yMzIuNjczLS40MTUuNDc0LTEuMTYyLjg0MS0yLjQ4Ljk1LTEuMzE3LjEwOS0yLjE5LS4yNDUtMi41NjYuMzMtLjE2Mi4yNS0uMDM3LjgzNCAxLjIzOCAxLjAxOCAxLjcyMi4yNDkgMy4xMzYtLjMgMy4zMS4wMzIuMTc1LjMzLS44MzEgMS4wMDQtMi41NTYgMS4wMThzLTIuODAyLS42MDQtMy4xODQtLjkxYy0uNDg1LS4zOS0uNzAyLS45NTktLjU5LTEuNDVaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8ZyBmaWxsPSIjMTQzMDdFIiBvcGFjaXR5PSIuOCI+CiAgICA8cGF0aCBkPSJNMTIuODMzIDguNTgyYy4wOTYtLjE1Ny4zMS0uMjc5LjY1OC0uMjc5LjM1IDAgLjUxNC4xNC42MjcuMjk0LjAyNC4wMzItLjAxMi4wNjktLjA0OC4wNTNsLS4wMjYtLjAxMWExLjMgMS4zIDAgMCAwLS41NTMtLjEyOCAxLjE0IDEuMTQgMCAwIDAtLjU4Mi4xM2MtLjAzOS4wMi0uMS0uMDIxLS4wNzYtLjA1OW0tMy45MzEuMjAyYTEuMjUgMS4yNSAwIDAgMSAuNzk0LS4wNzljLjA0LjAxLjA2Ny0uMDMzLjAzNS0uMDU5LS4xNDYtLjExOC0uNDczLS4yNjQtLjktLjEwNS0uMzguMTQyLS41Ni40MzctLjU2MS42MyAwIC4wNDcuMDk0LjA1LjExOC4wMTIuMDY2LS4xMDUuMTc1LS4yNTcuNTE0LS40WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTMuNzg4IDEwLjczOGEuNTQyLjU0MiAwIDEgMS0uMDAyLTEuMDguNTQyLjU0MiAwIDAgMSAuMDAyIDEuMDhtLjM4Mi0uNzJhLjE0LjE0IDAgMCAwLS4yODEgMCAuMTQuMTQgMCAwIDAgLjI4MSAwbS0zLjk3OS41NTJhLjYzMi42MzIgMCAxIDEtMS4yNjMgMCAuNjMyLjYzMiAwIDAgMSAxLjI2MyAwbS0uMTg2LS4yMDhhLjE2NC4xNjQgMCAwIDAtLjMyOCAwIC4xNjQuMTY0IDAgMCAwIC4zMjggMCIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPC9nPgogIDxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDIwYTggOCAwIDEgMCAwLTE2IDggOCAwIDAgMCAwIDE2bTAgMWE5IDkgMCAxIDAgMC0xOCA5IDkgMCAwIDAgMCAxOCIgY2xpcC1ydWxlPSJldmVub2RkIi8+Cjwvc3ZnPgo=);\n}\n.tooltip__button--email {\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n font-size: 14px;\n padding: 4px 8px;\n}\n.tooltip__button--email__primary-text {\n font-weight: bold;\n}\n.tooltip__button--email__secondary-text {\n font-size: 12px;\n}\n:not(.top-autofill) .tooltip--email-signup {\n text-align: left;\n color: #222;\n padding: 16px 20px;\n width: 380px;\n}\n.tooltip--email-signup h1 {\n font-weight: 700;\n font-size: 16px;\n line-height: 1.5;\n margin: 0;\n}\n.tooltip--email-signup p {\n font-weight: 400;\n font-size: 14px;\n line-height: 1.4;\n}\n.notice-controls {\n display: flex;\n}\n.tooltip--email-signup .notice-controls > * {\n border-radius: 8px;\n border: 0;\n cursor: pointer;\n display: inline-block;\n font-family: inherit;\n font-style: normal;\n font-weight: bold;\n padding: 8px 12px;\n text-decoration: none;\n}\n.notice-controls .ghost {\n margin-left: 1rem;\n}\n.tooltip--email-signup a.primary {\n background: #3969EF;\n color: #fff;\n}\n.tooltip--email-signup a.primary:hover,\n.tooltip--email-signup a.primary:focus {\n background: #2b55ca;\n}\n.tooltip--email-signup a.primary:active {\n background: #1e42a4;\n}\n.tooltip--email-signup button.ghost {\n background: transparent;\n color: #3969EF;\n}\n.tooltip--email-signup button.ghost:hover,\n.tooltip--email-signup button.ghost:focus {\n background-color: rgba(0, 0, 0, 0.06);\n color: #2b55ca;\n}\n.tooltip--email-signup button.ghost:active {\n background-color: rgba(0, 0, 0, 0.12);\n color: #1e42a4;\n}\n.tooltip--email-signup button.close-tooltip {\n background-color: transparent;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMiAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjI5Mjg5NCAwLjY1NjkwN0MwLjY4MzQxOCAwLjI2NjM4MyAxLjMxNjU4IDAuMjY2MzgzIDEuNzA3MTEgMC42NTY5MDdMNiA0Ljk0OThMMTAuMjkyOSAwLjY1NjkwN0MxMC42ODM0IDAuMjY2MzgzIDExLjMxNjYgMC4yNjYzODMgMTEuNzA3MSAwLjY1NjkwN0MxMi4wOTc2IDEuMDQ3NDMgMTIuMDk3NiAxLjY4MDYgMTEuNzA3MSAyLjA3MTEyTDcuNDE0MjEgNi4zNjQwMUwxMS43MDcxIDEwLjY1NjlDMTIuMDk3NiAxMS4wNDc0IDEyLjA5NzYgMTEuNjgwNiAxMS43MDcxIDEyLjA3MTFDMTEuMzE2NiAxMi40NjE2IDEwLjY4MzQgMTIuNDYxNiAxMC4yOTI5IDEyLjA3MTFMNiA3Ljc3ODIzTDEuNzA3MTEgMTIuMDcxMUMxLjMxNjU4IDEyLjQ2MTYgMC42ODM0MTcgMTIuNDYxNiAwLjI5Mjg5MyAxMi4wNzExQy0wLjA5NzYzMTEgMTEuNjgwNiAtMC4wOTc2MzExIDExLjA0NzQgMC4yOTI4OTMgMTAuNjU2OUw0LjU4NTc5IDYuMzY0MDFMMC4yOTI4OTQgMi4wNzExMkMtMC4wOTc2MzA2IDEuNjgwNiAtMC4wOTc2MzA2IDEuMDQ3NDMgMC4yOTI4OTQgMC42NTY5MDdaIiBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0Ii8+Cjwvc3ZnPgo=);\n background-position: center center;\n background-repeat: no-repeat;\n border: 0;\n cursor: pointer;\n padding: 16px;\n position: absolute;\n right: 12px;\n top: 12px;\n}\n.tooltip__button--credentials-import::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgZD0iTTE0Ljk5OCAyQTcuMDA0IDcuMDA0IDAgMCAxIDIyIDkuMDA2YzAgMi0uODM4IDMuODA2LTIuMTgyIDUuMDgyYS42Ni42NiAwIDAgMS0uNzY4LjA5MmMtLjQ3Mi0uMjUxLS41MDctLjkzLS4xMzItMS4zMUE1LjUgNS41IDAgMCAwIDIwLjUgOS4wMDYgNS41MDQgNS41MDQgMCAwIDAgMTQuOTk4IDMuNWE1LjUwNCA1LjUwNCAwIDAgMC01LjMzOCA2Ljg0N2wuMDI1LjExMmMuMTAzLjU0NC0uMDE4IDEuMTU2LS40NCAxLjYxMWwtLjA0Ni4wNDctNS4wNCA1LjA0M2EyLjI1IDIuMjUgMCAwIDAtLjY1OSAxLjYwMmwuMDAzLjQ5NC4wMDIuMDY1QTEuMjUgMS4yNSAwIDAgMCA0Ljc1MyAyMC41aC45OTNhLjc1Ljc1IDAgMCAwIC43NS0uNzV2LS43MzRhMS41IDEuNSAwIDAgMSAxLjUtMS41aC45ODJhLjUuNSAwIDAgMCAuMzU0LS4xNDdsMS4xNzgtMS4xNzhhLjczNi43MzYgMCAwIDEgMS4wNjIgMS4wMmwtLjUzMi41Ny0uNjQ3LjY0OWEyIDIgMCAwIDEtMS40MTUuNTg2aC0uOTgydi43MzRBMi4yNSAyLjI1IDAgMCAxIDUuNzQ2IDIyaC0uOTkzYTIuNzUgMi43NSAwIDAgMS0yLjc0Ni0yLjU5NWwtLjAwNC0uMTRMMiAxOC43N2EzLjc1IDMuNzUgMCAwIDEgMS4wOTgtMi42N2w1LjA0LTUuMDQ0LjAyMi0uMDI1YS4zNi4zNiAwIDAgMCAuMDU2LS4yNmwtLjAxMS0uMDZBNy4wMDQgNy4wMDQgMCAwIDEgMTQuOTk4IDIiLz4KICA8cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii45IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS41IDZhMi41IDIuNSAwIDEgMSAwIDUgMi41IDIuNSAwIDAgMSAwLTVtMCAxLjVhMSAxIDAgMSAwIDAgMiAxIDEgMCAwIDAgMC0yIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTMuMDAzIDE2LjE5cTAtLjAzLjAwMy0uMDU4YTEgMSAwIDAgMSAuMDE5LS4wOTdsLjAxLS4wNGExIDEgMCAwIDEgLjA0Ni0uMTEybC4wMDgtLjAxOS4wMDMtLjAwNi4wMDYtLjAwOWExIDEgMCAwIDEgLjA2NS0uMDk2bC4wMDgtLjAxMS4wMDMtLjAwNCAzLjEyNS0zLjc1YS43NS43NSAwIDAgMSAxLjE1Mi45NjFsLTIuMTI2IDIuNTVoNS4xNDRhLjc1Ljc1IDAgMCAxIDAgMS41aC01LjA5MmwyLjA3NCAyLjQ5LjA0Ni4wNmEuNzUuNzUgMCAwIDEtMS4xNDYuOTU2bC0uMDUyLS4wNTYtMy4xMjUtMy43NS0uMDAzLS4wMDMtLjAxNi0uMDIxLS4wMjctLjAzOC0uMDItLjAzNi0uMDM1LS4wNjNhLjguOCAwIDAgMS0uMDctLjI3MXoiLz4KPC9zdmc+Cg==);\n}\n.tooltip__button--totp::before {\n background-size: 20px;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgIGQ9Ik0zIDQuOTQ4MjhWNy4wMjA5NEMxLjg3MDY0IDcuMTczNSAxIDguMTQxMzIgMSA5LjMxMjVWMTMuNjg3NUMxIDE0Ljk2NDcgMi4wMzUzNCAxNiAzLjMxMjUgMTZIMTIuNjg3NUMxMy45NjQ3IDE2IDE1IDE0Ljk2NDcgMTUgMTMuNjg3NVY5LjMxMjVDMTUgOC4xNDEzMiAxNC4xMjk0IDcuMTczNSAxMyA3LjAyMDk0VjQuOTQ4MjhDMTMgMi4yMDg0MyAxMC43NTQ0IDAgOCAwQzUuMjQ1NiAwIDMgMi4yMDg0MyAzIDQuOTQ4MjhaTTggMS4yNUM1LjkyMTkgMS4yNSA0LjI1IDIuOTEyNzYgNC4yNSA0Ljk0ODI4VjdIMTEuNzVWNC45NDgyOEMxMS43NSAyLjkxMjc2IDEwLjA3ODEgMS4yNSA4IDEuMjVaTTIuMjUgOS4zMTI1QzIuMjUgOC43MjU3IDIuNzI1NyA4LjI1IDMuMzEyNSA4LjI1SDEyLjY4NzVDMTMuMjc0MyA4LjI1IDEzLjc1IDguNzI1NyAxMy43NSA5LjMxMjVWMTMuNjg3NUMxMy43NSAxNC4yNzQzIDEzLjI3NDMgMTQuNzUgMTIuNjg3NSAxNC43NUgzLjMxMjVDMi43MjU3IDE0Ljc1IDIuMjUgMTQuMjc0MyAyLjI1IDEzLjY4NzVWOS4zMTI1WiIKICAgICAgICBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0IiBzdHlsZT0iZmlsbDpibGFjaztmaWxsLW9wYWNpdHk6MC44NDsiIC8+CiAgICA8cGF0aAogICAgICAgIGQ9Ik0zLjUgMTEuNUMzLjUgMTAuOTQ3NyAzLjk0NzcyIDEwLjUgNC41IDEwLjVDNS4wNTIyOCAxMC41IDUuNSAxMC45NDc3IDUuNSAxMS41QzUuNSAxMi4wNTIzIDUuMDUyMjggMTIuNSA0LjUgMTIuNUMzLjk0NzcyIDEyLjUgMy41IDEyLjA1MjMgMy41IDExLjVaIgogICAgICAgIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuODQiIHN0eWxlPSJmaWxsOmJsYWNrO2ZpbGwtb3BhY2l0eTowLjg0OyIgLz4KICAgIDxwYXRoCiAgICAgICAgZD0iTTcgMTEuNUM3IDEwLjk0NzcgNy40NDc3MiAxMC41IDggMTAuNUM4LjU1MjI4IDEwLjUgOSAxMC45NDc3IDkgMTEuNUM5IDEyLjA1MjMgOC41NTIyOCAxMi41IDggMTIuNUM3LjQ0NzcyIDEyLjUgNyAxMi4wNTIzIDcgMTEuNVoiCiAgICAgICAgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC44NCIgc3R5bGU9ImZpbGw6YmxhY2s7ZmlsbC1vcGFjaXR5OjAuODQ7IiAvPgogICAgPHBhdGgKICAgICAgICBkPSJNMTAuNSAxMS41QzEwLjUgMTAuOTQ3NyAxMC45NDc3IDEwLjUgMTEuNSAxMC41QzEyLjA1MjMgMTAuNSAxMi41IDEwLjk0NzcgMTIuNSAxMS41QzEyLjUgMTIuMDUyMyAxMi4wNTIzIDEyLjUgMTEuNSAxMi41QzEwLjk0NzcgMTIuNSAxMC41IDEyLjA1MjMgMTAuNSAxMS41WiIKICAgICAgICBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjg0IiBzdHlsZT0iZmlsbDpibGFjaztmaWxsLW9wYWNpdHk6MC44NDsiIC8+Cjwvc3ZnPg==);\n}\n.truncate {\n display: block;\n width: 0;\n min-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: 1.25;\n}\n'; // src/UI/HTMLTooltip.js var defaultOptions = { @@ -12912,14 +13963,14 @@ Source: "${matchedFrom}"`; break; } } - focus(x, y) { + focus(x2, y) { const focusableElements = "button"; const currentFocusClassName = "currentFocus"; const currentFocused = this.shadow.querySelectorAll(`.${currentFocusClassName}`); [...currentFocused].forEach((el) => { el.classList.remove(currentFocusClassName); }); - this.shadow.elementFromPoint(x, y)?.closest(focusableElements)?.classList.add(currentFocusClassName); + this.shadow.elementFromPoint(x2, y)?.closest(focusableElements)?.classList.add(currentFocusClassName); } checkPosition() { if (this.animationFrame) { @@ -13354,6 +14405,50 @@ ${this.options.css} } }; + // src/UI/TOTPHTMLTooltip.js + var TOTPHTMLTooltip = class extends HTMLTooltip_default { + /** + * Render the TOTP tooltip with the current TOTP code + * @param {import("../DeviceInterface/InterfacePrototype").default} device - The device interface + * @param {InputTypeConfigs} config - The input type configs + * @param {Object} callbacks - Callback functions for the tooltip + * @returns {TOTPHTMLTooltip} The rendered tooltip instance + */ + render(device, config, callbacks) { + const localCredential = device.getLocalCredentials()[0]; + const t = device.t; + this.shadow.innerHTML = ` +${this.options.css} +
+
+ +
+ +
+
+`; + this.tooltip = this.shadow.querySelector(".tooltip"); + this.buttonWrapper = this.shadow.querySelector(".js-select"); + this.manageWrapper = this.shadow.querySelector(".js-manage"); + this.registerClickableButton(this.buttonWrapper, () => { + callbacks.onSelect(this.buttonWrapper?.id); + }); + this.registerClickableButton(this.manageWrapper, () => { + callbacks.onManage(config.type); + }); + this.init(); + return this; + } + }; + // src/UI/controllers/HTMLTooltipUIController.js var HTMLTooltipUIController = class extends UIController { /** @@ -13426,7 +14521,7 @@ ${this.options.css} } }; const hasNoCredentialsData = this._options.device.getLocalCredentials().length === 0; - if (topContextData.credentialsImport && hasNoCredentialsData) { + if (topContextData.credentialsImport && hasNoCredentialsData && topContextData.inputType.includes("credentials")) { this._options.device.firePixel({ pixelName: "autofill_import_credentials_prompt_shown" }); return new CredentialsImportTooltip(topContextData.inputType, getPosition, tooltipOptions).render(this._options.device, { onStarted: () => { @@ -13446,6 +14541,17 @@ ${this.options.css} return new EmailSignupHTMLTooltip(topContextData.inputType, getPosition, tooltipOptions).render(this._options.device); } const data = this._dataForAutofill(config, topContextData.inputType, topContextData); + const hasTotp = this._options.device.getLocalCredentials().some((cred) => cred.totp); + if (hasTotp && topContextData.inputType === "credentials.totp") { + return new TOTPHTMLTooltip(topContextData.inputType, getPosition, tooltipOptions).render(this._options.device, config, { + onSelect: (id) => { + this._onSelect(topContextData.inputType, data, id); + }, + onManage: (type) => { + this._onManage(type); + } + }); + } const asRenderers = data.map((d) => config.tooltipItem(d)); return new DataHTMLTooltip(topContextData.inputType, getPosition, tooltipOptions).render( this._options.device, @@ -13850,34 +14956,12 @@ ${this.options.css} }); this._mutObs.observe(document.body, { childList: true, subtree: true }); const position = getPosition(); - if (!click && !this.elementIsInViewport(position)) { - input.scrollIntoView(true); - this._mutObs?.disconnect(); - setTimeout(() => { - this.attachTooltip(args); - }, 50); - return; - } __privateSet(this, _state, "parentShown"); this.showTopTooltip(click, position, topContextData).catch((e) => { console.error("error from showTopTooltip", e); __privateSet(this, _state, "idle"); }); } - /** - * @param {{ x: number; y: number; height: number; width: number; }} inputDimensions - * @returns {boolean} - */ - elementIsInViewport(inputDimensions) { - if (inputDimensions.x < 0 || inputDimensions.y < 0 || inputDimensions.x + inputDimensions.width > document.documentElement.clientWidth || inputDimensions.y + inputDimensions.height > document.documentElement.clientHeight) { - return false; - } - const viewport = document.documentElement; - if (inputDimensions.x + inputDimensions.width > viewport.clientWidth || inputDimensions.y + inputDimensions.height > viewport.clientHeight) { - return false; - } - return true; - } /** * @param {{ x: number; y: number; } | null} click * @param {{ x: number; y: number; height: number; width: number; }} inputDimensions @@ -13889,8 +14973,6 @@ ${this.options.css} if (click) { diffX -= click.x; diffY -= click.y; - } else if (!this.elementIsInViewport(inputDimensions)) { - return; } if (!data.inputType) { throw new Error("No input type found"); diff --git a/node_modules/@duckduckgo/autofill/dist/shared-credentials.json b/node_modules/@duckduckgo/autofill/dist/shared-credentials.json index c93c223618e2..1e41d0b0bfe7 100644 --- a/node_modules/@duckduckgo/autofill/dist/shared-credentials.json +++ b/node_modules/@duckduckgo/autofill/dist/shared-credentials.json @@ -488,6 +488,12 @@ ], "fromDomainsAreObsoleted": true }, + { + "shared": [ + "monarch.com", + "monarchmoney.com" + ] + }, { "from": [ "moneybird.nl", diff --git a/package-lock.json b/package-lock.json index 6ca206ff93c7..308c502ca8f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "dependencies": { "@duckduckgo/autoconsent": "^14.34.1", - "@duckduckgo/autofill": "github:duckduckgo/duckduckgo-autofill#18.4.0", + "@duckduckgo/autofill": "github:duckduckgo/duckduckgo-autofill#18.5.0", "@duckduckgo/content-scope-scripts": "github:duckduckgo/content-scope-scripts#12.0.0", "@duckduckgo/privacy-dashboard": "github:duckduckgo/privacy-dashboard#9.0.0", "@duckduckgo/privacy-reference-tests": "github:duckduckgo/privacy-reference-tests#1760787856" @@ -58,7 +58,7 @@ } }, "node_modules/@duckduckgo/autofill": { - "resolved": "git+ssh://git@github.com/duckduckgo/duckduckgo-autofill.git#0b91be6b29805466d101b556f775763f7c0c5c18", + "resolved": "git+ssh://git@github.com/duckduckgo/duckduckgo-autofill.git#8f6c384312a9b27824333e7d23382481ee1183e9", "hasInstallScript": true, "license": "Apache-2.0" }, @@ -542,6 +542,7 @@ "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", "dev": true, "license": "MIT", + "peer": true, "bin": { "rollup": "dist/bin/rollup" }, diff --git a/package.json b/package.json index 93af6890d69b..365d3fcb309d 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "@duckduckgo/autoconsent": "^14.34.1", - "@duckduckgo/autofill": "github:duckduckgo/duckduckgo-autofill#18.4.0", + "@duckduckgo/autofill": "github:duckduckgo/duckduckgo-autofill#18.5.0", "@duckduckgo/content-scope-scripts": "github:duckduckgo/content-scope-scripts#12.0.0", "@duckduckgo/privacy-dashboard": "github:duckduckgo/privacy-dashboard#9.0.0", "@duckduckgo/privacy-reference-tests": "github:duckduckgo/privacy-reference-tests#1760787856"