@sezzle/sezzle-react-widget 3.1.5 → 3.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -48
- package/dist/index.cjs +465 -535
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +465 -535
- package/dist/index.es.js.map +1 -1
- package/package.json +20 -19
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/Helpers/helper.js","../src/Helpers/renderFunctions.js","../node_modules/style-inject/dist/style-inject.es.js","../src/Components/StandardModal.js","../src/Components/PI5Modal.js","../src/Components/LongtermModal.js","../src/Components/Modal.js","../src/Components/SezzleWidget.js","../src/index.cjs"],"sourcesContent":["import enTranslations from '../translations/en'\nimport frTranslations from '../translations/fr'\nimport esTranslations from '../translations/es'\n\nexport const supportedLanguages = ['en', 'es', 'fr']\n\n/**\n * This function will return the price string\n * @param price - string value\n * @return string\n */\n\nexport function parsePriceString(price) {\n let formattedPrice = ''\n if (!price) return formattedPrice\n for (let i = 0; i < price.length; i++) {\n if (isNumeric(price[i]) || price[i] === '.' || price[i] === ',') {\n // Ignore actual sentence punctuation\n if (i > 0 && price[i] === '.' && isAlphabet(price[i - 1])) continue\n\n formattedPrice += price[i]\n }\n }\n return formattedPrice\n}\n\n/**\n * Function parses the price from string to float\n * @param price -> String\n * @return float\n */\nexport function parsePrice(price) {\n return parseFloat(parsePriceString(price))\n}\n\n/**\n * This is helper function for formatPrice\n * @param n char value\n * @return boolean [if it's numeric or not]\n */\nexport function isNumeric(n) {\n return !isNaN(parseFloat(n)) && isFinite(n)\n}\n\n/**\n * This is helper function for formatPrice\n * @param n char value\n * @return boolean [if it's alphabet or not]\n */\nexport function isAlphabet(n) {\n return /^[a-zA-Z()]+$/.test(n)\n}\n\n/**\n * This is a helper function for formatting the language\n * @return string\n */\n\nexport function getLanguage() {\n const lang = document\n .querySelector('html')\n .lang.substring(0, 2)\n .toLowerCase()\n return supportedLanguages.indexOf(lang) > -1 ? lang : 'en'\n}\n\nexport async function getAPModal(modalNode) {\n const currentLang = getLanguage()\n modalNode.className =\n 'sezzle-checkout-modal-lightbox close-sezzle-modal sezzle-ap-modal'\n const url = `https://media.sezzle.com/afterpay/modal/${currentLang}.html`\n try {\n const response = await fetch(url)\n if (!response.ok) {\n throw new Error(\n `Failed to fetch afterpay modal, status: ${response.status}`\n )\n }\n modalNode.innerHTML = await response.text()\n } catch (error) {\n console.error(error)\n }\n}\n\n/**\n * Extracts the currency symbol from a price string\n * @param priceString - String containing price with currency symbol\n * @param defaultCurrency - Default currency to return if not found (optional, defaults to \"$\")\n * @return string - The currency symbol or default\n */\nexport function getCurrency(priceString, defaultCurrency = '$') {\n const CURRENCY_REGEX = /[$€£₤₹]/\n const currencyMatch = priceString.match(CURRENCY_REGEX)\n return currencyMatch ? currencyMatch[0] : defaultCurrency\n}\n\n/**\n * Returns the translation object for the specified language\n * @param currentLang - Language code (en, fr, es)\n * @return object - The translation object for the given language\n */\nexport function getTranslations(currentLang) {\n const translationsMap = {\n en: enTranslations,\n fr: frTranslations,\n es: esTranslations\n }\n return translationsMap[currentLang]\n}\n","import { parsePriceString, parsePrice } from './helper'\n\nexport function isProductEligibleLT(priceText, minPriceLT, maxPrice) {\n const price = parsePrice(priceText)\n return minPriceLT && price >= minPriceLT && price <= maxPrice\n}\n\nfunction termsToShow(price) {\n switch (true) {\n case price > 1000:\n return [24, 36, 48]\n case price > 500:\n return [12, 18, 24]\n case price > 300:\n return [6, 9, 12]\n default:\n return [3, 6, 9]\n }\n}\n\nfunction calculateMonthlyWithInterest(priceText, term, APR) {\n const price = Number(priceText)\n if (APR > 0) {\n const rate = APR / 100 / 12\n const numerator = price * rate * Math.pow(1 + rate, term)\n const denominator = Math.pow(1 + rate, term) - 1\n const interestPayment = numerator / denominator\n return interestPayment\n } else {\n return price / term\n }\n}\n\nexport function getFormattedPrice(\n price,\n numberOfPayments,\n minPriceLT,\n maxPrice,\n bestAPR\n) {\n const priceString = parsePriceString(price)\n const priceReplacer = parsePrice(price)\n const formatter = price.replace(priceString, '{price}')\n const terms = termsToShow(priceReplacer)\n const sezzleInstallmentPrice = isProductEligibleLT(\n priceString,\n minPriceLT,\n maxPrice\n )\n ? calculateMonthlyWithInterest(\n priceString,\n terms[terms.length - 1],\n bestAPR\n )\n : priceReplacer / numberOfPayments\n const sezzleInstallmentFormattedPrice = formatter.replace(\n '{price}',\n sezzleInstallmentPrice.toFixed(2)\n )\n\n return sezzleInstallmentFormattedPrice\n};\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { getLanguage, getTranslations } from '../Helpers/helper'\n\nexport function getStandardModal(modalNode, minPrice, maxPrice) {\n const currentLang = getLanguage()\n const translations = getTranslations(currentLang)\n modalNode.className =\n 'sezzle-checkout-modal-lightbox close-sezzle-modal sezzle-modal'\n\n const modalContent = `<section class=\"sezzle-checkout-modal-lightbox close-sezzle-modal\" lang=\"${\n translations.locale\n }\"\n aria-label=\"${translations.sezzleInformation}\" style=\"display: block;\">\n <div id=\"sezzle-modal-container\" role=\"dialog\" aria-label=\"Sezzle Modal\"\n class=\"sezzle-checkout-modal-hidden sezzle-four-pay\">\n <div class=\"sezzle-modal\">\n <div><button role=\"button\" aria-label=\"${\n translations.closeSezzleModal\n }\" class=\"close-sezzle-modal\"></button></div>\n <div class=\"sezzle-logo\" title=\"Sezzle\"></div>\n <div id=\"sezzle-modal-core-content\" class=\"sezzle-modal-content\">\n <div id=\"tp-widget-wrapper\" class=\"tp-widget-wrapper visible\">\n <a id=\"profile-link\" target=\"_blank\" href=\"https://www.trustpilot.com/review/sezzle.com?utm_medium=trustbox&utm_source=MicroCombo\">\n <div id=\"tp-review-status\" class=\"tp-review-status\">${\n translations.PI4trustPilotReviewStatus\n }</div>\n <!-- Stars -->\n <div id=\"tp-widget-stars\" class=\"tp-widget-stars\">\n <div class=\"\">\n <div class=\"tp-stars tp-stars--4 tp-stars--4--half\">\n <div style=\"position: relative; height: 0; width: 100%; padding: 0; padding-bottom: 18.326693227091635%;\">\n\n <svg role=\"img\" viewBox=\"0 0 251 46\" xmlns=\"http://www.w3.org/2000/svg\" style=\"position: absolute; height: 100%; width: 100%; left: 0; top: 0;\">\n <title id=\"starRating-tfnn0cd6r0c\" lang=\"en-US\">${\n translations.PI4trustPilotTitle\n }</title>\n <g class=\"tp-star\">\n <path class=\"tp-star__canvas\" fill=\"#dcdce6\" d=\"M0 46.330002h46.375586V0H0z\"></path>\n <path class=\"tp-star__shape\" d=\"M39.533936 19.711433L13.230239 38.80065l3.838216-11.797827L7.02115 19.711433h12.418975l3.837417-11.798624 3.837418 11.798624h12.418975zM23.2785 31.510075l7.183595-1.509576 2.862114 8.800152L23.2785 31.510075z\" fill=\"#FFF\"></path>\n </g>\n <g class=\"tp-star\">\n <path class=\"tp-star__canvas\" fill=\"#dcdce6\" d=\"M51.24816 46.330002h46.375587V0H51.248161z\"></path>\n <path class=\"tp-star__canvas--half\" fill=\"#dcdce6\" d=\"M51.24816 46.330002h23.187793V0H51.248161z\"></path>\n <path class=\"tp-star__shape\" d=\"M74.990978 31.32991L81.150908 30 84 39l-9.660206-7.202786L64.30279 39l3.895636-11.840666L58 19.841466h12.605577L74.499595 8l3.895637 11.841466H91L74.990978 31.329909z\" fill=\"#FFF\"></path>\n </g>\n <g class=\"tp-star\">\n <path class=\"tp-star__canvas\" fill=\"#dcdce6\" d=\"M102.532209 46.330002h46.375586V0h-46.375586z\"></path>\n <path class=\"tp-star__canvas--half\" fill=\"#dcdce6\" d=\"M102.532209 46.330002h23.187793V0h-23.187793z\"></path>\n <path class=\"tp-star__shape\" d=\"M142.066994 19.711433L115.763298 38.80065l3.838215-11.797827-10.047304-7.291391h12.418975l3.837418-11.798624 3.837417 11.798624h12.418975zM125.81156 31.510075l7.183595-1.509576 2.862113 8.800152-10.045708-7.290576z\" fill=\"#FFF\"></path>\n </g>\n <g class=\"tp-star\">\n <path class=\"tp-star__canvas\" fill=\"#dcdce6\" d=\"M153.815458 46.330002h46.375586V0h-46.375586z\"></path>\n <path class=\"tp-star__canvas--half\" fill=\"#dcdce6\" d=\"M153.815458 46.330002h23.187793V0h-23.187793z\"></path>\n <path class=\"tp-star__shape\" d=\"M193.348355 19.711433L167.045457 38.80065l3.837417-11.797827-10.047303-7.291391h12.418974l3.837418-11.798624 3.837418 11.798624h12.418974zM177.09292 31.510075l7.183595-1.509576 2.862114 8.800152-10.045709-7.290576z\" fill=\"#FFF\"></path>\n </g>\n <g class=\"tp-star\">\n <path class=\"tp-star__canvas\" fill=\"#dcdce6\" d=\"M205.064416 46.330002h46.375587V0h-46.375587z\"></path>\n <path class=\"tp-star__canvas--half\" fill=\"#dcdce6\" d=\"M205.064416 46.330002h23.187793V0h-23.187793z\"></path>\n <path class=\"tp-star__shape\" d=\"M244.597022 19.711433l-26.3029 19.089218 3.837419-11.797827-10.047304-7.291391h12.418974l3.837418-11.798624 3.837418 11.798624h12.418975zm-16.255436 11.798642l7.183595-1.509576 2.862114 8.800152-10.045709-7.290576z\" fill=\"#FFF\"></path>\n </g>\n </svg>\n </div>\n </div>\n </div>\n </div>\n <div class=\"widget-info\">\n <!-- Business Info -->\n <div id=\"tp-widget-review-count\" class=\"tp-widget-review-count\">${\n translations.PI4trustPilotReviewsCount\n }</div>\n <div id=\"tp-widget-rating\" class=\"tp-widget-rating\">${\n translations.PI4trustPilotReviews\n }</div>\n <!-- Logo -->\n <div id=\"tp-widget-logo\" class=\"tp-widget-logo\">\n <div class=\"\">\n <div style=\"position: relative; height: 0; width: 100%; padding: 0; padding-bottom: 24.6031746031746%;\">\n <svg role=\"img\" viewBox=\"0 0 126 31\" xmlns=\"http://www.w3.org/2000/svg\" style=\"position: absolute; height: 100%; width: 100%; left: 0; top: 0;\">\n <title id=\"trustpilotLogo-wwxihtot4h\">Trustpilot</title>\n <path class=\"tp-logo__text\" d=\"M33.074774 11.07005H45.81806v2.364196h-5.010656v13.290316h-2.755306V13.434246h-4.988435V11.07005h.01111zm12.198892 4.319629h2.355341v2.187433h.04444c.077771-.309334.222203-.60762.433295-.894859.211092-.287239.466624-.56343.766597-.79543.299972-.243048.633276-.430858.999909-.585525.366633-.14362.744377-.220953 1.12212-.220953.288863 0 .499955.011047.611056.022095.1111.011048.222202.033143.344413.04419v2.408387c-.177762-.033143-.355523-.055238-.544395-.077333-.188872-.022096-.366633-.033143-.544395-.033143-.422184 0-.822148.08838-1.199891.254096-.377744.165714-.699936.41981-.977689.740192-.277753.331429-.499955.729144-.666606 1.21524-.166652.486097-.244422 1.03848-.244422 1.668195v5.39125h-2.510883V15.38968h.01111zm18.220567 11.334883H61.02779v-1.579813h-.04444c-.311083.574477-.766597 1.02743-1.377653 1.369908-.611055.342477-1.233221.51924-1.866497.51924-1.499864 0-2.588654-.364573-3.25526-1.104765-.666606-.740193-.999909-1.856005-.999909-3.347437V15.38968h2.510883v6.948968c0 .994288.188872 1.701337.577725 2.1101.377744.408763.922139.618668 1.610965.618668.533285 0 .96658-.077333 1.322102-.243048.355524-.165714.644386-.37562.855478-.65181.222202-.265144.377744-.596574.477735-.972194.09999-.37562.144431-.784382.144431-1.226288v-6.573349h2.510883v11.323836zm4.27739-3.634675c.07777.729144.355522 1.237336.833257 1.535623.488844.287238 1.06657.441905 1.744286.441905.233312 0 .499954-.022095.799927-.055238.299973-.033143.588836-.110476.844368-.209905.266642-.099429.477734-.254096.655496-.452954.166652-.198857.244422-.452953.233312-.773335-.01111-.320381-.133321-.585525-.355523-.784382-.222202-.209906-.499955-.364573-.844368-.497144-.344413-.121525-.733267-.232-1.17767-.320382-.444405-.088381-.888809-.18781-1.344323-.287239-.466624-.099429-.922138-.232-1.355432-.37562-.433294-.14362-.822148-.342477-1.166561-.596573-.344413-.243048-.622166-.56343-.822148-.950097-.211092-.386668-.311083-.861716-.311083-1.436194 0-.618668.155542-1.12686.455515-1.54667.299972-.41981.688826-.75124 1.14434-1.005336.466624-.254095.97769-.430858 1.544304-.541334.566615-.099429 1.11101-.154667 1.622075-.154667.588836 0 1.15545.066286 1.688736.18781.533285.121524 1.02213.320381 1.455423.60762.433294.276191.788817.640764 1.07768 1.08267.288863.441905.466624.98324.544395 1.612955h-2.621984c-.122211-.596572-.388854-1.005335-.822148-1.204193-.433294-.209905-.933248-.309334-1.488753-.309334-.177762 0-.388854.011048-.633276.04419-.244422.033144-.466624.088382-.688826.165715-.211092.077334-.388854.198858-.544395.353525-.144432.154667-.222203.353525-.222203.60762 0 .309335.111101.552383.322193.740193.211092.18781.488845.342477.833258.475048.344413.121524.733267.232 1.177671.320382.444404.088381.899918.18781 1.366542.287239.455515.099429.899919.232 1.344323.37562.444404.14362.833257.342477 1.17767.596573.344414.254095.622166.56343.833258.93905.211092.37562.322193.850668.322193 1.40305 0 .673906-.155541 1.237336-.466624 1.712385-.311083.464001-.711047.850669-1.199891 1.137907-.488845.28724-1.04435.508192-1.644295.640764-.599946.132572-1.199891.198857-1.788727.198857-.722156 0-1.388762-.077333-1.999818-.243048-.611056-.165714-1.14434-.408763-1.588745-.729144-.444404-.33143-.799927-.740192-1.05546-1.226289-.255532-.486096-.388853-1.071621-.411073-1.745528h2.533103v-.022095zm8.288135-7.700208h1.899828v-3.402675h2.510883v3.402675h2.26646v1.867052h-2.26646v6.054109c0 .265143.01111.486096.03333.684954.02222.18781.07777.353524.155542.486096.07777.132572.199981.232.366633.298287.166651.066285.377743.099428.666606.099428.177762 0 .355523 0 .533285-.011047.177762-.011048.355523-.033143.533285-.077334v1.933338c-.277753.033143-.555505.055238-.811038.088381-.266642.033143-.533285.04419-.811037.04419-.666606 0-1.199891-.066285-1.599855-.18781-.399963-.121523-.722156-.309333-.944358-.552381-.233313-.243049-.377744-.541335-.466625-.905907-.07777-.364573-.13332-.784383-.144431-1.248384v-6.683825h-1.899827v-1.889147h-.02222zm8.454788 0h2.377562V16.9253h.04444c.355523-.662858.844368-1.12686 1.477644-1.414098.633276-.287239 1.310992-.430858 2.055369-.430858.899918 0 1.677625.154667 2.344231.475048.666606.309335 1.222111.740193 1.666515 1.292575.444405.552382.766597 1.193145.9888 1.92229.222202.729145.333303 1.513527.333303 2.3421 0 .762288-.099991 1.50248-.299973 2.20953-.199982.718096-.499955 1.347812-.899918 1.900194-.399964.552383-.911029.98324-1.533194 1.31467-.622166.33143-1.344323.497144-2.18869.497144-.366634 0-.733267-.033143-1.0999-.099429-.366634-.066286-.722157-.176762-1.05546-.320381-.333303-.14362-.655496-.33143-.933249-.56343-.288863-.232-.522175-.497144-.722157-.79543h-.04444v5.656393h-2.510883V15.38968zm8.77698 5.67849c0-.508193-.06666-1.005337-.199981-1.491433-.133321-.486096-.333303-.905907-.599946-1.281527-.266642-.37562-.599945-.673906-.988799-.894859-.399963-.220953-.855478-.342477-1.366542-.342477-1.05546 0-1.855387.364572-2.388672 1.093717-.533285.729144-.799928 1.701337-.799928 2.916578 0 .574478.066661 1.104764.211092 1.59086.144432.486097.344414.905908.633276 1.259432.277753.353525.611056.629716.99991.828574.388853.209905.844367.309334 1.355432.309334.577725 0 1.05546-.121524 1.455423-.353525.399964-.232.722157-.541335.97769-.905907.255531-.37562.444403-.79543.555504-1.270479.099991-.475049.155542-.961145.155542-1.458289zm4.432931-9.99812h2.510883v2.364197h-2.510883V11.07005zm0 4.31963h2.510883v11.334883h-2.510883V15.389679zm4.755124-4.31963h2.510883v15.654513h-2.510883V11.07005zm10.210184 15.963847c-.911029 0-1.722066-.154667-2.433113-.452953-.711046-.298287-1.310992-.718097-1.810946-1.237337-.488845-.530287-.866588-1.160002-1.12212-1.889147-.255533-.729144-.388854-1.535622-.388854-2.408386 0-.861716.133321-1.657147.388853-2.386291.255533-.729145.633276-1.35886 1.12212-1.889148.488845-.530287 1.0999-.93905 1.810947-1.237336.711047-.298286 1.522084-.452953 2.433113-.452953.911028 0 1.722066.154667 2.433112.452953.711047.298287 1.310992.718097 1.810947 1.237336.488844.530287.866588 1.160003 1.12212 1.889148.255532.729144.388854 1.524575.388854 2.38629 0 .872765-.133322 1.679243-.388854 2.408387-.255532.729145-.633276 1.35886-1.12212 1.889147-.488845.530287-1.0999.93905-1.810947 1.237337-.711046.298286-1.522084.452953-2.433112.452953zm0-1.977528c.555505 0 1.04435-.121524 1.455423-.353525.411074-.232.744377-.541335 1.01102-.916954.266642-.37562.455513-.806478.588835-1.281527.12221-.475049.188872-.961145.188872-1.45829 0-.486096-.066661-.961144-.188872-1.44724-.122211-.486097-.322193-.905907-.588836-1.281527-.266642-.37562-.599945-.673907-1.011019-.905907-.411074-.232-.899918-.353525-1.455423-.353525-.555505 0-1.04435.121524-1.455424.353525-.411073.232-.744376.541334-1.011019.905907-.266642.37562-.455514.79543-.588835 1.281526-.122211.486097-.188872.961145-.188872 1.447242 0 .497144.06666.98324.188872 1.458289.12221.475049.322193.905907.588835 1.281527.266643.37562.599946.684954 1.01102.916954.411073.243048.899918.353525 1.455423.353525zm6.4883-9.66669h1.899827v-3.402674h2.510883v3.402675h2.26646v1.867052h-2.26646v6.054109c0 .265143.01111.486096.03333.684954.02222.18781.07777.353524.155541.486096.077771.132572.199982.232.366634.298287.166651.066285.377743.099428.666606.099428.177762 0 .355523 0 .533285-.011047.177762-.011048.355523-.033143.533285-.077334v1.933338c-.277753.033143-.555505.055238-.811038.088381-.266642.033143-.533285.04419-.811037.04419-.666606 0-1.199891-.066285-1.599855-.18781-.399963-.121523-.722156-.309333-.944358-.552381-.233313-.243049-.377744-.541335-.466625-.905907-.07777-.364573-.133321-.784383-.144431-1.248384v-6.683825h-1.899827v-1.889147h-.02222z\" fill=\"#191919\"></path>\n <path class=\"tp-logo__star\" fill=\"#00B67A\" d=\"M30.141707 11.07005H18.63164L15.076408.177071l-3.566342 10.892977L0 11.059002l9.321376 6.739063-3.566343 10.88193 9.321375-6.728016 9.310266 6.728016-3.555233-10.88193 9.310266-6.728016z\"></path>\n <path class=\"tp-logo__star-notch\" fill=\"#005128\" d=\"M21.631369 20.26169l-.799928-2.463625-5.755033 4.153914z\"></path>\n </svg>\n </div>\n </div>\n </div>\n </div>\n </a>\n </div>\n <header class=\"sezzle-header\">${translations.PI4sezzleHeader}\n </header>\n <p class=\"sezzle-row\">\n <span>${translations.PI4sezzleHeaderChild}</span>\n <span>${translations.PI4sezzleHeaderChild2}</span>\n </p>\n <div class=\"sezzle-four-pay ${\n currentLang !== 'en' ? 'sezzle-four-pay-fr-es' : ''\n }\">\n <div class=\"sezzle-pie-area\">\n <div class=\"due-today\">\n <div class=\"payment-item\">\n <div class=\"pie-icon\" title=\"${translations.PI4pieAlt} 25%\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\">\n <path d=\"M45.9594 23.0996C45.9594 35.7835 35.677 46.0659 22.9931 46.0659C10.3092 46.0659 0.0268555 35.7835 0.0268555 23.0996C0.0268555 10.4157 10.3092 0.133301 22.9931 0.133301C35.677 0.133301 45.9594 10.4157 45.9594 23.0996ZM11.51 23.0996C11.51 29.4415 16.6512 34.5827 22.9931 34.5827C29.3351 34.5827 34.4763 29.4415 34.4763 23.0996C34.4763 16.7576 29.3351 11.6164 22.9931 11.6164C16.6512 11.6164 11.51 16.7576 11.51 23.0996Z\" fill=\"#8333D4\" fill-opacity=\"0.05\"/>\n <path d=\"M22.9927 0.133171C26.0086 0.133171 28.9951 0.727215 31.7815 1.88138C34.5679 3.03554 37.0997 4.72722 39.2323 6.85984C41.3649 8.99245 43.0566 11.5242 44.2107 14.3106C45.3649 17.097 45.9589 20.0835 45.9589 23.0994L34.4758 23.0994C34.4758 21.5915 34.1788 20.0982 33.6017 18.705C33.0246 17.3118 32.1788 16.0459 31.1125 14.9796C30.0462 13.9133 28.7803 13.0675 27.3871 12.4904C25.9939 11.9133 24.5007 11.6163 22.9927 11.6163L22.9927 0.133171Z\" fill=\"#8333D4\"/>\n <path d=\"M45.9589 23.0994C45.9589 26.2704 43.3884 28.8408 40.2174 28.8408C37.0464 28.8408 34.4758 26.2704 34.4758 23.0994C34.4758 19.9285 37.0464 17.3577 40.2174 17.3577C43.3884 17.3577 45.9589 19.9285 45.9589 23.0994Z\" fill=\"#8333D4\"/>\n <ellipse cx=\"40.2181\" cy=\"23.0995\" rx=\"5.74157\" ry=\"5.74157\" fill=\"#8333D4\"/>\n </svg>\n </div>\n <div class=\"breakdown-row\">\n <div class=\"percentage\">25%</div>\n <div class=\"due\">${translations.today}</div>\n </div>\n </div>\n </div>\n <div class=\"future-payments\">\n <div class=\"payment-item\">\n <div class=\"pie-icon\" title=\"${translations.PI4pieAlt} 50%\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"47\" height=\"47\" viewBox=\"0 0 47 47\" fill=\"none\">\n <path d=\"M46.1933 23.0998C46.1933 35.7837 35.9109 46.0661 23.227 46.0661C10.5431 46.0661 0.260742 35.7837 0.260742 23.0998C0.260742 10.4159 10.5431 0.133545 23.227 0.133545C35.9109 0.133545 46.1933 10.4159 46.1933 23.0998ZM11.7439 23.0998C11.7439 29.4418 16.8851 34.583 23.227 34.583C29.569 34.583 34.7101 29.4418 34.7101 23.0998C34.7101 16.7579 29.569 11.6167 23.227 11.6167C16.8851 11.6167 11.7439 16.7579 11.7439 23.0998Z\" fill=\"#8333D4\" fill-opacity=\"0.05\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M23.2953 46.0655C35.9478 46.0287 46.1933 35.7605 46.1933 23.0993C46.1933 10.4154 35.911 0.133057 23.2271 0.133057V11.6162C29.569 11.6162 34.7102 16.7574 34.7102 23.0993C34.7102 29.4413 29.569 34.5825 23.2271 34.5825V34.5828C20.0562 34.5829 17.4858 37.1535 17.4858 40.3243C17.4858 43.4953 20.0564 46.0659 23.2274 46.0659C23.2501 46.0659 23.2727 46.0658 23.2953 46.0655Z\" fill=\"#8333D4\"/>\n </svg>\n </div>\n <div class=\"breakdown-row\">\n <div class=\"percentage\">25%</div>\n <div class=\"due\">${translations.week} 2</div>\n </div>\n </div>\n <div class=\"payment-item\">\n <div class=\"pie-icon\" title=\"${translations.PI4pieAlt} 75%\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"47\" height=\"47\" viewBox=\"0 0 47 47\" fill=\"none\">\n <path d=\"M46.0663 23.0996C46.0663 35.7835 35.784 46.0659 23.1001 46.0659C10.4161 46.0659 0.133789 35.7835 0.133789 23.0996C0.133789 10.4157 10.4161 0.133301 23.1001 0.133301C35.784 0.133301 46.0663 10.4157 46.0663 23.0996ZM11.6169 23.0996C11.6169 29.4415 16.7581 34.5827 23.1001 34.5827C29.442 34.5827 34.5832 29.4415 34.5832 23.0996C34.5832 16.7576 29.442 11.6164 23.1001 11.6164C16.7581 11.6164 11.6169 16.7576 11.6169 23.0996Z\" fill=\"#8333D4\" fill-opacity=\"0.05\"/>\n <path d=\"M23.1001 0.133368C27.6424 0.133368 32.0826 1.48031 35.8594 4.00388C39.6362 6.52745 42.5799 10.1143 44.3181 14.3108C46.0564 18.5074 46.5112 23.1251 45.625 27.5801C44.7389 32.0352 42.5516 36.1274 39.3397 39.3392C36.1278 42.5511 32.0356 44.7385 27.5806 45.6246C23.1255 46.5108 18.5078 46.056 14.3112 44.3177C10.1147 42.5795 6.52787 39.6358 4.0043 35.859C1.48074 32.0822 0.133788 27.6419 0.133788 23.0996L11.6169 23.0996C11.6169 25.3708 12.2904 27.5909 13.5522 29.4793C14.814 31.3677 16.6074 32.8395 18.7057 33.7087C20.8039 34.5778 23.1128 34.8052 25.3403 34.3621C27.5678 33.9191 29.6139 32.8254 31.2199 31.2194C32.8258 29.6135 33.9195 27.5674 34.3625 25.3399C34.8056 23.1124 34.5782 20.8035 33.7091 18.7052C32.84 16.607 31.3681 14.8135 29.4797 13.5518C27.5914 12.29 25.3712 11.6165 23.1001 11.6165L23.1001 0.133368Z\" fill=\"#8333D4\"/>\n <path d=\"M11.6169 23.0996C11.6169 26.2706 9.04634 28.8412 5.87536 28.8412C2.70438 28.8412 0.133788 26.2706 0.133788 23.0996C0.133788 19.9287 2.70438 17.3581 5.87536 17.3581C9.04634 17.3581 11.6169 19.9287 11.6169 23.0996Z\" fill=\"#8333D4\"/>\n <ellipse cx=\"5.87536\" cy=\"23.0997\" rx=\"5.74157\" ry=\"5.74157\" fill=\"#8333D4\"/>\n </svg>\n </div>\n <div class=\"breakdown-row\">\n <div class=\"percentage\">25%</div>\n <div class=\"due\">${translations.week} 4</div>\n </div>\n </div>\n <div class=\"payment-item\">\n <div class=\"pie-icon\" title=\"${translations.PI4pieAlt} 100%\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"47\" height=\"47\" viewBox=\"0 0 47 47\" fill=\"none\">\n <path d=\"M46.4394 23.0996C46.4394 35.7835 36.157 46.0659 23.4731 46.0659C10.7892 46.0659 0.506836 35.7835 0.506836 23.0996C0.506836 10.4157 10.7892 0.133301 23.4731 0.133301C36.157 0.133301 46.4394 10.4157 46.4394 23.0996ZM11.99 23.0996C11.99 29.4415 17.1311 34.5827 23.4731 34.5827C29.8151 34.5827 34.9562 29.4415 34.9562 23.0996C34.9562 16.7576 29.8151 11.6164 23.4731 11.6164C17.1311 11.6164 11.99 16.7576 11.99 23.0996Z\" fill=\"#8333D4\"/>\n </svg>\n </div>\n <div class=\"breakdown-row\">\n <div class=\"percentage\">25%</div>\n <div class=\"due\">${translations.week} 6<sup>3</sup></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"sezzle-features\">\n <p class=\"single-feature\">\n ${translations.PI4selectSezzle}\n </p>\n <p class=\"single-feature\">\n ${translations.PI4completePurchase}\n </p>\n <p class=\"single-feature\">\n ${translations.PI4schedulePayments}\n </p>\n </div>\n <div class=\"terms-container\">\n <p class=\"terms\">\n <span><sup role=\"doc-noteref\" aria-label=\"${translations.PI4footnote} 1\">1</sup>${translations.terms1}</span><br /><span>${translations.termsHiw}</span>\n </p>\n <p class=\"terms\"><sup role=\"doc-noteref\" aria-label=\"${translations.PI4footnote} 2\">2</sup>${translations.terms2}</p>\n <p class=\"terms\">\n <span class=\"webbank-terms\"><sup role=\"doc-noteref\" aria-label=\"${translations.PI4footnote} 3\">3</sup>${translations.webBankTerms} ${translations.webBankTermsPI4}</span><br /><span>${translations.linkToCompleteTerms}</span>\n </p>\n </div>\n <div class=\"close-btn-container close-sezzle-modal\">\n <button class=\"close-btn\">${translations.PI4close}</button>\n </div>\n </div>\n </div>\n </div>\n</section>`\n modalNode.innerHTML = modalContent\n .replace('%%min-price%%', Intl.NumberFormat(currentLang).format(minPrice))\n .replace('%%max-price%%', Intl.NumberFormat(currentLang).format(maxPrice))\n}\n","import { getLanguage, getCurrency, getTranslations } from '../Helpers/helper'\nimport { getFormattedPrice } from '../Helpers/renderFunctions'\n\nconst CAROUSEL_MIN_TAB = 1\nconst CAROUSEL_MAX_TAB = 3\nconst INPUT_DEBOUNCE_DELAY_MS = 150\nconst CURRENCY_REGEX_GLOBAL = /[$€£₤₹]/g\nconst SANITIZE_REGEX = /[^0-9,.$€£₤₹]/g\n\nfunction updateInstallmentContent(elements, priceString) {\n for (let i = 0; i < elements.length; i++) {\n elements[i].textContent = priceString\n }\n}\n\n/**\n * Generates the HTML for a payment card with the specified number of installments\n * @param {number} numberOfPayments - Number of payments (4 or 5)\n * @param {string} currency - Currency symbol\n * @param {string} priceString - Price as string\n * @param {number} minPriceLT - Minimum price for long-term\n * @param {number} maxPrice - Maximum price\n * @param {number} bestAPR - Best APR rate\n * @param {object} translations - Translation object\n * @return {string} - HTML string for the payment card\n */\nfunction generatePaymentCard(numberOfPayments, currency, priceString, minPriceLT, maxPrice, bestAPR, translations) {\n const classModifier = numberOfPayments === 4 ? 'fourth' : 'fifth'\n const dashWidth = numberOfPayments === 4 ? 30 : 22\n const installmentPrice = getFormattedPrice(currency + priceString, numberOfPayments, minPriceLT, maxPrice, bestAPR)\n\n // Generate installment breakdowns\n const installments = []\n for (let i = 0; i < numberOfPayments; i++) {\n const isFirst = i === 0\n const isLast = i === numberOfPayments - 1\n const weekNumber = i * 2\n const dueText = isFirst ? translations.today : `${weekNumber} ${translations.PI5weeks}`\n\n installments.push(`\n <div class='installment'>\n <div class='graphic'>\n <div class='dash left ${classModifier}'>\n <svg width=\"${dashWidth}\" height=\"2\" viewBox=\"0 0 ${dashWidth} 2\" fill=\"#E8E8E8\" xmlns=\"http://www.w3.org/2000/svg\"${isFirst ? ' style=\"visibility: hidden\"' : ''}>\n <rect x=\"${dashWidth === 30 ? '0.75' : '0.399994'}\" width=\"${dashWidth}\" height=\"2\" fill=\"#E8E8E8\"/>\n </svg>\n </div>\n <div class='dot'>\n <svg width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.39999 12C10.6091 12 12.4 10.2091 12.4 8C12.4 5.79086 10.6091 4 8.39999 4C6.19085 4 4.39999 5.79086 4.39999 8C4.39999 10.2091 6.19085 12 8.39999 12Z\" fill=\"#8333D4\"></path>\n </svg>\n </div>\n <div class='dash right ${classModifier}'>\n <svg width=\"${dashWidth}\" height=\"${i > 0 && i < numberOfPayments - 1 ? 16 : 2}\" viewBox=\"0 0 ${dashWidth} ${i > 0 && i < numberOfPayments - 1 ? 16 : 2}\" fill=\"#E8E8E8\" xmlns=\"http://www.w3.org/2000/svg\"${isLast ? ' style=\"visibility: hidden\"' : ''}>\n <rect x=\"${dashWidth === 30 ? '0.75' : '0.399994'}\" ${i > 0 && i < numberOfPayments - 1 ? 'y=\"7\" ' : ''}width=\"${dashWidth}\" height=\"2\" fill=\"#E8E8E8\"/>\n </svg>\n </div>\n </div>\n <div class='detail${isFirst ? ' first-installment' : ''}'>\n <div class='amount ${numberOfPayments}-pay-installment'>\n ${installmentPrice}\n </div>\n <div class='due'>\n ${dueText}\n </div>\n </div>\n </div>\n `)\n }\n\n return `\n <div class='payment-card ${numberOfPayments}-pay-installment-card'>\n <div class='plan-summary'>\n <div class='purple'>\n <div class='left'>\n <span class='price ${numberOfPayments}-pay-installment'>${installmentPrice}</span>\n <span class='due'>${translations.today}</span>\n </div>\n <div class='right'>\n <span class='pill'>${translations.PI5payIn} ${numberOfPayments}</span>\n </div>\n </div>\n <div class='grey'>\n <span class=\"${numberOfPayments}-pay-installment\">${installmentPrice}</span> ${translations.PI5every2Weeks}\n </div>\n </div>\n <div class='payment-breakdown'>\n ${installments.join('')}\n </div>\n </div>\n `\n}\n\n/**\n * Updates the state of arrow buttons based on current position\n * @param {HTMLElement} leftArrow - The left arrow button element\n * @param {HTMLElement} rightArrow - The right arrow button element\n * @param {number} activeTab - Current active tab position (1-based)\n */\nfunction updateArrowStates(leftArrow, rightArrow, activeTab) {\n if (!leftArrow || !rightArrow) return\n\n // Update left arrow\n if (activeTab === CAROUSEL_MIN_TAB) {\n leftArrow.classList.add('disabled')\n leftArrow.setAttribute('aria-disabled', 'true')\n } else {\n leftArrow.classList.remove('disabled')\n leftArrow.removeAttribute('aria-disabled')\n }\n\n // Update right arrow\n if (activeTab === CAROUSEL_MAX_TAB) {\n rightArrow.classList.add('disabled')\n rightArrow.setAttribute('aria-disabled', 'true')\n } else {\n rightArrow.classList.remove('disabled')\n rightArrow.removeAttribute('aria-disabled')\n }\n}\n\n/**\n * Updates the visual state of carousel dots\n * @param {HTMLCollection} dots - Collection of dot elements\n * @param {number} activeTab - Current active tab position (1-based)\n */\nfunction updateDotStates(dots, activeTab) {\n if (!dots) return\n\n for (let i = 0; i < dots.length; i++) {\n const isActive = (activeTab - 1) === i\n dots[i].className = isActive ? 'dot active' : 'dot'\n dots[i].setAttribute('aria-selected', isActive ? 'true' : 'false')\n }\n}\n\n/**\n * Updates carousel position to specified tab\n * @param {HTMLElement} carouselWrapper - The carousel wrapper element\n * @param {number} activeTab - Target tab position (1-based)\n */\nfunction updateCarouselPosition(carouselWrapper, activeTab) {\n if (!carouselWrapper) return\n\n const carousel = carouselWrapper.querySelector('.carousel')\n if (carousel) {\n carousel.className = `carousel position-${activeTab}`\n }\n}\n\n/**\n * Handles arrow button clicks and updates carousel state\n * @param {HTMLElement} btn - The clicked arrow button\n */\nfunction handleCarouselTabStyles(btn) {\n if (!btn || btn.classList.contains('disabled')) return\n\n const modalNode = btn.closest('[data-carousel-initialized]')\n if (!modalNode) return\n\n const carouselWrapper = btn.closest('.how-to-sezzle')\n if (!carouselWrapper) return\n\n let activeTab = parseInt(modalNode.dataset.activeTab || CAROUSEL_MIN_TAB, 10)\n\n // Determine direction and update position\n const isRightArrow = btn.classList.contains('arrow-right')\n if (isRightArrow) {\n activeTab = Math.min(activeTab + 1, CAROUSEL_MAX_TAB)\n } else {\n activeTab = Math.max(activeTab - 1, CAROUSEL_MIN_TAB)\n }\n\n // Update state\n modalNode.dataset.activeTab = activeTab\n\n // Get arrow elements\n const arrows = btn.parentElement.querySelectorAll('.arrow')\n const leftArrow = Array.from(arrows).find(arrow => arrow.classList.contains('arrow-left'))\n const rightArrow = Array.from(arrows).find(arrow => arrow.classList.contains('arrow-right'))\n\n // Update UI\n updateCarouselPosition(carouselWrapper, activeTab)\n updateArrowStates(leftArrow, rightArrow, activeTab)\n\n const dots = carouselWrapper.querySelector('.carousel-dots')?.children\n updateDotStates(dots, activeTab)\n}\n\n/**\n * Initializes or resets the carousel to the first position\n * @param {HTMLElement} modalNode - The modal container element\n */\nexport function handleCarousel(modalNode) {\n if (!modalNode) return\n\n const carouselWrapper = modalNode.querySelector('.how-to-sezzle')\n if (!carouselWrapper) return\n\n const arrows = modalNode.getElementsByClassName('arrow')\n const leftArrow = Array.from(arrows).find(arrow => arrow.classList.contains('arrow-left'))\n const rightArrow = Array.from(arrows).find(arrow => arrow.classList.contains('arrow-right'))\n\n if (!leftArrow || !rightArrow) return\n\n const isInitialized = modalNode.dataset.carouselInitialized === 'true'\n\n if (isInitialized) {\n // Reset to first position\n modalNode.dataset.activeTab = CAROUSEL_MIN_TAB\n updateCarouselPosition(carouselWrapper, CAROUSEL_MIN_TAB)\n updateArrowStates(leftArrow, rightArrow, CAROUSEL_MIN_TAB)\n\n const dots = carouselWrapper.querySelector('.carousel-dots')?.children\n updateDotStates(dots, CAROUSEL_MIN_TAB)\n } else {\n // First time initialization\n modalNode.dataset.carouselInitialized = 'true'\n modalNode.dataset.activeTab = CAROUSEL_MIN_TAB\n\n // Attach event listeners\n for (let i = 0; i < arrows.length; i++) {\n arrows[i].addEventListener('click', (e) => {\n e.stopPropagation()\n handleCarouselTabStyles(e.currentTarget)\n })\n }\n }\n}\n\n/**\n * Sets up input event listener for the PI5 modal amount input\n * @param {HTMLElement} modalNode - The modal container element\n * @param {number} minPriceLT - Minimum price for long-term\n * @param {number} maxPrice - Maximum price\n * @param {number} bestAPR - Best APR rate\n * @param {string} initialCurrency - Initial currency symbol\n * @param {string} initialPriceString - Initial price string\n */\nfunction handlePI5Input(modalNode, minPriceLT, maxPrice, bestAPR, initialCurrency, initialPriceString) {\n const input = modalNode.querySelector('.input-amount')\n const pay4Installments = modalNode.getElementsByClassName('4-pay-installment')\n const pay5Installments = modalNode.getElementsByClassName('5-pay-installment')\n\n if (!input || input.dataset.listenersAdded) return\n\n // Validate installment elements exist\n if (!pay4Installments.length || !pay5Installments.length) return\n\n let currency = initialCurrency\n let priceString = initialPriceString\n let debounceTimer = null\n\n // Prevent input interactions from closing the modal\n input.addEventListener('click', (e) => e.stopPropagation())\n input.addEventListener('focus', (e) => e.stopPropagation())\n\n input.addEventListener('input', (event) => {\n event.stopPropagation()\n\n // Clear previous debounce timer\n if (debounceTimer) {\n clearTimeout(debounceTimer)\n }\n\n debounceTimer = setTimeout(() => {\n // Sanitize input to allowed characters only\n const amount = event.target.value.replace(SANITIZE_REGEX, '')\n\n // Detect and update currency if present\n currency = getCurrency(amount)\n\n // Remove currency symbols and normalize decimal format\n // Converts European format (1.234,56) to US format (1234.56)\n priceString = amount\n .replace(CURRENCY_REGEX_GLOBAL, '')\n\n // Update both payment plan displays\n updateInstallmentContent(\n pay4Installments,\n getFormattedPrice(currency + priceString, 4, minPriceLT, maxPrice, bestAPR)\n )\n updateInstallmentContent(\n pay5Installments,\n getFormattedPrice(currency + priceString, 5, minPriceLT, maxPrice, bestAPR)\n )\n }, INPUT_DEBOUNCE_DELAY_MS)\n })\n\n input.dataset.listenersAdded = 'true'\n}\n\nexport function getPI5Modal(modalNode, priceString, minPriceLT, maxPrice, bestAPR) {\n const currentLang = getLanguage()\n const translations = getTranslations(currentLang)\n const currency = getCurrency(priceString)\n priceString = priceString.replace(CURRENCY_REGEX_GLOBAL, '').trim()\n\n modalNode.className =\n 'sezzle-checkout-modal-lightbox close-sezzle-modal sezzle-modal'\n\n const modalContent = `<section class=\"sezzle-checkout-modal-lightbox close-sezzle-modal\" lang=\"${\n translations.locale\n }\"\n aria-label=\"${translations.sezzleInformation}\" style=\"display: block;\">\n <div id=\"sezzle-modal-container\" role=\"dialog\" aria-label=\"Sezzle Modal\" class=\"sezzle-checkout-modal-hidden sezzle-five-pay\">\n <div class=\"sezzle-modal\">\n <div><button role=\"button\" aria-label=\"${\n translations.closeSezzleModal\n }\" class=\"close-sezzle-modal\"></button></div>\n <div class=\"sezzle-logo\" title=\"Sezzle\"></div>\n <div id=\"sezzle-modal-core-content\" class=\"sezzle-modal-content\">\n <p class='trusted'>${translations.PI5trusted}</p>\n <header class='sezzle-header'>${translations.PI5header}</header>\n <div class='payment-plan-wrapper'>\n <p class='sample-payments ${\n currentLang === 'fr' ? 'sezzle-five-pay-fr' : ''\n }'>\n <span class=\"sample-payments-title\">${\n translations.PI5SeePlans\n }</span>\n <span class=\"input-amount-container\">\n <label class=\"input-amount-label\" for=\"PI5-input-amount\">${\n translations.PI5Amount\n }</label>\n <input class='price input-amount' id=\"PI5-input-amount\" value='${\n currency + priceString\n }'/>\n </span>\n </p>\n <div class='payment-cards'>\n ${generatePaymentCard(4, currency, priceString, minPriceLT, maxPrice, bestAPR, translations)}\n ${generatePaymentCard(5, currency, priceString, minPriceLT, maxPrice, bestAPR, translations)}\n </div>\n </div>\n <div class='how-to-sezzle'>\n <div class='carousel-header'>\n <div class='how-to-text-wrapper'>\n <span class='how-to-text'>${\n translations.PI5howToPay\n }</span>\n <div class='how-to-logo'>\n <svg width=\"58\" height=\"14\" viewBox=\"0 0 58 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0.969597 9.41471C2.2624 10.681 4.35809 10.681 5.65089 9.41471L5.7748 9.29334C6.42084 8.66055 5.12804 5.34085 5.7748 4.70805L0.969597 9.41471Z\" fill=\"url(#paint0_linear_366_310)\"/>\n <path d=\"M5.89942 4.58599L5.77552 4.70736C5.12947 5.34015 6.42156 8.65985 5.77552 9.29265L10.5807 4.58599C9.93396 3.9532 9.08737 3.6368 8.24007 3.6368C7.39277 3.6361 6.54547 3.9532 5.89942 4.58599Z\" fill=\"url(#paint1_linear_366_310)\"/>\n <path d=\"M0.969599 4.82942C-0.3232 6.09571 -0.3232 8.14843 0.969599 9.41471L5.90014 4.58529C7.19294 3.319 7.19294 1.26629 5.90014 0L0.969599 4.82942Z\" fill=\"url(#paint2_linear_366_310)\"/>\n <path d=\"M5.65089 9.41471C4.35809 10.681 4.35809 12.7337 5.65089 14L10.5814 9.17058C11.8742 7.90429 11.8742 5.85157 10.5814 4.58529L5.65089 9.41471Z\" fill=\"url(#paint3_linear_366_310)\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M29.3202 6.07817C29.5143 6.37212 29.6626 6.69132 29.7621 7.02526C29.8588 7.35007 29.6683 7.69172 29.3367 7.78713L24.1318 9.28212C24.3546 9.64552 24.6676 9.94228 25.0422 10.1422C25.6101 10.4453 26.2834 10.5161 26.9008 10.3386C27.183 10.2573 27.4437 10.131 27.6743 9.96262C27.685 9.94999 27.7058 9.93175 27.7273 9.91492C27.978 9.72129 28.1843 9.48417 28.3397 9.21197C28.4507 9.01694 28.6613 8.89627 28.8897 8.89627C28.9972 8.89627 29.1032 8.92363 29.197 8.97485C29.5 9.14111 29.6088 9.51784 29.4391 9.81459C29.3438 9.98226 29.2343 10.1429 29.1125 10.293L29.0824 10.3295C28.6061 10.9034 27.9758 11.3117 27.2532 11.5186C26.9115 11.6176 26.5598 11.6674 26.2075 11.6674C25.5944 11.6674 24.9834 11.5137 24.4405 11.2226C23.672 10.8115 23.1449 10.2608 22.8304 9.53959C22.8283 9.53538 22.7273 9.2716 22.6643 9.06535L22.6614 9.05623C22.3871 8.13019 22.4959 7.15504 22.9672 6.30828C23.4414 5.45731 24.2242 4.83995 25.1725 4.56915C26.1115 4.30116 27.1321 4.4085 27.9866 4.86521C28.5281 5.15564 28.9886 5.57517 29.3202 6.07817ZM27.3842 5.94348C27.0232 5.75125 26.62 5.64953 26.2175 5.64953C25.9861 5.64953 25.7534 5.6825 25.5256 5.74774C24.8996 5.92804 24.3832 6.33564 24.0709 6.89617C23.8632 7.26869 23.7601 7.68541 23.7716 8.10423L28.3032 6.80216C28.2942 6.78779 28.285 6.77342 28.2758 6.75933C28.2725 6.75415 28.2692 6.74902 28.2659 6.74394C28.0453 6.4107 27.7402 6.13359 27.3842 5.94348Z\" fill=\"#382757\"/>\n <path d=\"M36.4424 10.4958H32.9988L36.85 4.955C36.923 4.85047 36.9302 4.71578 36.87 4.60353C36.8098 4.49128 36.6917 4.42183 36.562 4.42183H31.6659C31.3407 4.42183 31.0764 4.6807 31.0764 4.9992C31.0764 5.3177 31.3407 5.57657 31.6659 5.57657H34.9469L31.0972 11.1174C31.0241 11.2226 31.017 11.3573 31.0771 11.4688C31.1373 11.5811 31.2555 11.6498 31.3851 11.6498H36.4417C36.7669 11.6498 37.0312 11.391 37.0312 11.0725C37.0319 10.7554 36.7676 10.4958 36.4424 10.4958Z\" fill=\"#382757\"/>\n <path d=\"M44.0717 10.4958H40.6288L44.4793 4.955C44.5523 4.85047 44.5595 4.71578 44.4993 4.60353C44.4391 4.49198 44.321 4.42253 44.1913 4.42253H39.2959C38.9707 4.42253 38.7064 4.6814 38.7064 4.9999C38.7064 5.3184 38.9707 5.57727 39.2959 5.57727H42.5769L38.7272 11.1181C38.6549 11.2233 38.647 11.358 38.7071 11.4695C38.768 11.5818 38.8855 11.6505 39.0151 11.6505H44.0717C44.3969 11.6505 44.6612 11.3917 44.6612 11.0732C44.6612 10.7554 44.3969 10.4958 44.0717 10.4958Z\" fill=\"#382757\"/>\n <path d=\"M47.4717 1.29575C47.1465 1.29575 46.8822 1.55462 46.8822 1.87312V11.0935C46.8822 11.412 47.1465 11.6709 47.4717 11.6709C47.7968 11.6709 48.0611 11.4113 48.0611 11.0935V1.87312C48.0611 1.55462 47.7968 1.29575 47.4717 1.29575Z\" fill=\"#382757\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M56.7003 6.07888C56.8937 6.37352 57.0427 6.69202 57.1415 7.02596C57.2382 7.35007 57.0477 7.69172 56.7161 7.78713L51.5105 9.28353C51.7325 9.64693 52.0462 9.94368 52.4208 10.1436C52.9888 10.4467 53.6628 10.5175 54.2795 10.3401C54.5624 10.2587 54.8231 10.1324 55.0537 9.96402C55.0652 9.9514 55.0852 9.93316 55.1074 9.91632C55.3574 9.72269 55.5637 9.48627 55.7191 9.21337C55.8301 9.01834 56.0407 8.89768 56.2691 8.89768C56.3766 8.89768 56.4826 8.92504 56.5764 8.97625C56.8794 9.14252 56.9882 9.51924 56.8185 9.816C56.7239 9.98156 56.6144 10.1422 56.4926 10.293L56.4618 10.3316C55.9862 10.9048 55.3559 11.3131 54.6333 11.52C54.2916 11.619 53.9392 11.6688 53.5876 11.6688C52.9745 11.6688 52.3635 11.5151 51.8206 11.224C51.0521 10.8122 50.525 10.2622 50.2105 9.54099C50.2084 9.53608 50.1074 9.2723 50.0444 9.06675L50.0415 9.05693C49.7679 8.13089 49.8761 7.15504 50.3481 6.30898C50.8215 5.45801 51.6043 4.84065 52.5526 4.56986C53.4923 4.30187 54.5115 4.4092 55.3667 4.86591C55.9074 5.15635 56.3687 5.57587 56.7003 6.07888ZM54.7643 5.94348C54.4033 5.75125 54.0001 5.64953 53.5976 5.64953C53.3655 5.64953 53.1328 5.6825 52.9057 5.74774C52.2797 5.92804 51.7633 6.33564 51.451 6.89617C51.2433 7.26869 51.1402 7.68471 51.1517 8.10423L55.6833 6.80216C55.6744 6.7878 55.6651 6.77344 55.656 6.75935C55.6526 6.75417 55.6493 6.74903 55.646 6.74394C55.4247 6.4107 55.1203 6.13359 54.7643 5.94348Z\" fill=\"#382757\"/>\n <path d=\"M20.6867 8.44027C20.512 8.18982 20.2592 7.98076 19.9368 7.8194C19.409 7.55632 18.725 7.43566 18.0689 7.33534L17.9651 7.3199C17.5045 7.24975 17.0282 7.17679 16.7224 7.02525C16.4911 6.9102 16.4087 6.78112 16.4087 6.52926C16.4087 6.04169 16.9509 5.67408 17.6693 5.67408C18.5273 5.67408 19.0057 5.91962 19.5429 6.24023C19.6425 6.29986 19.7571 6.33143 19.8731 6.33143C20.0966 6.33143 20.2993 6.22058 20.416 6.03397C20.5041 5.89226 20.5313 5.72529 20.4912 5.56324C20.4511 5.40188 20.3494 5.26508 20.2047 5.17879C19.9075 5.0006 19.5823 4.81539 19.1719 4.67087C18.7099 4.50882 18.2186 4.42954 17.67 4.42954C17.0082 4.42954 16.3886 4.62668 15.9267 4.98446C15.4189 5.37733 15.1388 5.92593 15.1388 6.52926C15.1388 7.25185 15.4883 7.80747 16.1494 8.1351C16.635 8.37572 17.2123 8.46342 17.7702 8.5483L17.8734 8.56374C19.3044 8.78332 19.7184 8.98116 19.7184 9.44488C19.7184 10.0194 19.1311 10.3955 18.2222 10.4032H18.1892C17.2137 10.4032 16.6665 10.0363 16.3729 9.83914C16.3242 9.80687 16.2826 9.77811 16.2411 9.75285C16.1401 9.69112 16.0241 9.65885 15.9052 9.65885C15.6846 9.65885 15.4826 9.76829 15.3659 9.95139C15.1804 10.2425 15.2713 10.627 15.5685 10.8087C15.585 10.8185 15.6101 10.8353 15.638 10.8543L15.6552 10.8655C16.004 11.0991 16.8205 11.6477 18.1892 11.6477H18.2329C19.0222 11.6407 19.6998 11.4331 20.194 11.0458C20.7061 10.6438 20.9883 10.0756 20.9883 9.44558C20.9876 9.06324 20.8859 8.72579 20.6867 8.44027Z\" fill=\"#382757\"/>\n <defs>\n <linearGradient id=\"paint0_linear_366_310\" x1=\"6.70119\" y1=\"8.23486\" x2=\"4.07958\" y2=\"5.85164\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#CE5DCB\"/>\n <stop offset=\"0.2095\" stop-color=\"#C558CC\"/>\n <stop offset=\"0.5525\" stop-color=\"#AC4ACF\"/>\n <stop offset=\"0.9845\" stop-color=\"#8534D4\"/>\n <stop offset=\"1\" stop-color=\"#8333D4\"/>\n </linearGradient>\n <linearGradient id=\"paint1_linear_366_310\" x1=\"5.58896\" y1=\"9.29233\" x2=\"10.5806\" y2=\"9.29233\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0.0237\" stop-color=\"#FF5667\"/>\n <stop offset=\"0.6592\" stop-color=\"#FC8B82\"/>\n <stop offset=\"1\" stop-color=\"#FBA28E\"/>\n </linearGradient>\n <linearGradient id=\"paint2_linear_366_310\" x1=\"-0.000179058\" y1=\"9.41484\" x2=\"6.86972\" y2=\"9.41484\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#00B874\"/>\n <stop offset=\"0.5126\" stop-color=\"#29D3A2\"/>\n <stop offset=\"0.6817\" stop-color=\"#53DFB6\"/>\n <stop offset=\"1\" stop-color=\"#9FF4D9\"/>\n </linearGradient>\n <linearGradient id=\"paint3_linear_366_310\" x1=\"4.6811\" y1=\"14\" x2=\"11.5509\" y2=\"14\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#FCD77E\"/>\n <stop offset=\"0.5241\" stop-color=\"#FEA500\"/>\n <stop offset=\"1\" stop-color=\"#FF5B00\"/>\n </linearGradient>\n </defs>\n </svg>\n </div>\n </div>\n <div class='arrows'>\n <button type='button' class='arrow arrow-left disabled' aria-label='${translations.PI5previousSlide}' aria-disabled='true'>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M14.5 16.4078C14.825 16.0828 14.825 15.5578 14.5 15.2328L11.2667 11.9995L14.5 8.76614C14.825 8.44114 14.825 7.91614 14.5 7.59114C14.175 7.26614 13.65 7.26614 13.325 7.59114L9.5 11.4161C9.175 11.7411 9.175 12.2661 9.5 12.5911L13.325 16.4161C13.6417 16.7328 14.175 16.7328 14.5 16.4078Z\" fill=\"#8333D4\"/>\n </svg>\n </button>\n <button type='button' class='arrow arrow-right' aria-label='${translations.PI5nextSlide}'>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9.5 7.59219C9.175 7.91719 9.175 8.44219 9.5 8.76719L12.7333 12.0005L9.5 15.2339C9.175 15.5589 9.175 16.0839 9.5 16.4089C9.825 16.7339 10.35 16.7339 10.675 16.4089L14.5 12.5839C14.825 12.2589 14.825 11.7339 14.5 11.4089L10.675 7.58386C10.3583 7.26719 9.825 7.26719 9.5 7.59219Z\" fill=\"#8333D4\"/>\n </svg>\n </button>\n </div>\n </div>\n <div class='carousel position-1'>\n <div class='carousel-item'>\n <div class='carousel-item-content'>\n <div class='step-number'>\n <span class='step-number-content'>1</span>\n </div>\n <div class='step-name'>${translations.PI5Step1}</div>\n <div class='step-image'>\n <svg width=\"29\" height=\"30\" viewBox=\"0 0 29 30\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4.20398 0.532364H23.2401C25.1839 0.532364 26.7606 2.10906 26.7606 4.05287V14.5919C26.7605 16.5356 25.1838 18.1115 23.2401 18.1115H4.20398C2.26027 18.1115 0.683633 16.5356 0.683472 14.5919V4.05287C0.683472 2.10906 2.26017 0.532364 4.20398 0.532364Z\" fill=\"#F9F5FD\" stroke=\"#E8E8E8\" stroke-width=\"0.479474\"/>\n <path d=\"M9.92301 11.1327C10.8766 12.0668 12.4225 12.0668 13.3761 11.1327L13.4675 11.0432C13.944 10.5764 12.9904 8.12767 13.4675 7.6609L9.92301 11.1327Z\" fill=\"url(#paint0_linear_366_339)\"/>\n <path d=\"M13.5596 7.57113L13.4682 7.66065C12.9917 8.12742 13.9447 10.5762 13.4682 11.0429L17.0127 7.57113C16.5356 7.10436 15.9112 6.87097 15.2861 6.87097C14.6611 6.87046 14.0361 7.10436 13.5596 7.57113Z\" fill=\"url(#paint1_linear_366_339)\"/>\n <path d=\"M9.9228 7.75064C8.96918 8.6847 8.96918 10.1989 9.9228 11.1329L13.5597 7.57055C14.5134 6.6365 14.5134 5.12234 13.5597 4.18828L9.9228 7.75064Z\" fill=\"url(#paint2_linear_366_339)\"/>\n <path d=\"M13.3763 11.1335C12.4226 12.0676 12.4226 13.5817 13.3763 14.5158L17.0132 10.9534C17.9668 10.0194 17.9668 8.50523 17.0132 7.57117L13.3763 11.1335Z\" fill=\"url(#paint3_linear_366_339)\"/>\n <path d=\"M24.8175 26.5304C25.9447 25.012 26.0538 22.3367 26.0538 21.1436V20.0229C26.0538 19.6975 25.9084 19.3721 25.6902 19.119C25.4356 18.866 25.1084 18.7575 24.7811 18.7575C24.5993 18.7575 24.4538 18.7937 24.3084 18.866C24.1993 18.2514 23.6902 17.7814 23.0357 17.7814C22.7447 17.7814 22.5266 17.8537 22.3084 17.9983C22.0902 17.5644 21.6538 17.2752 21.1448 17.2752C20.9266 17.2752 20.7448 17.3475 20.563 17.4198V13.9491C20.563 13.2261 19.9811 12.6476 19.2539 12.6476C18.5266 12.6476 17.9448 13.2261 17.9448 13.9491V20.4567L17.3993 19.119C17.2175 18.649 16.7448 18.3237 16.1994 18.3237C16.0175 18.3237 15.8721 18.3598 15.7266 18.4321C15.0721 18.7213 14.7448 19.4444 14.9994 20.0952L16.3448 24.4697C16.3812 24.6505 16.6721 25.9158 17.363 26.7112C17.2175 26.8558 17.1448 27.0004 17.1448 27.2174V28.4466C17.1448 28.8443 17.4721 29.1335 17.8357 29.1335H24.5629C24.9629 29.1335 25.2538 28.8081 25.2538 28.4466V27.1812C25.2902 26.892 25.1084 26.6389 24.8175 26.5304ZM17.0357 24.2889L15.6175 19.8059C15.5084 19.5167 15.6539 19.1552 15.9448 19.0467C16.2357 18.9383 16.2357 19.1913 16.3448 19.4806L17.6177 22.4361C17.6904 22.5807 18.163 22.5897 18.3448 22.5536C18.5266 22.5174 18.6357 22.3728 18.6357 22.1921V13.9491C18.6357 13.6237 18.8902 13.3707 19.2175 13.3707C19.5448 13.3707 19.5496 13.256 19.5496 13.5814V19.119C19.5496 19.2998 19.9448 19.4806 20.163 19.4806C20.3448 19.4806 20.5266 19.3359 20.5266 19.119V18.5406C20.5266 18.2152 20.7811 17.9621 21.1084 17.9621C21.4357 17.9621 21.497 18.2152 21.497 18.5406V19.7336C21.497 19.9144 21.8357 20.0952 22.0538 20.0952C22.2357 20.0952 22.4175 19.9506 22.4175 19.7336V19.0467C22.4175 18.7213 22.672 18.4683 22.9993 18.4683C23.3266 18.4683 23.5167 18.7213 23.5167 19.0467V20.3121C23.5167 20.4929 23.7266 20.6736 23.9447 20.6736C24.1629 20.6736 24.3084 20.529 24.3084 20.3121V19.6975C24.5266 19.4444 24.9629 19.3721 25.1811 19.6252C25.2902 19.7336 25.3629 19.8782 25.3629 20.059V21.1798C25.3993 23.7105 24.8538 25.6989 23.9447 26.4943H18.1993C17.5084 26.0605 17.1084 24.7589 17.0357 24.2889ZM24.5629 28.4466H17.8721V27.1812H24.5993V28.4466H24.5629Z\" fill=\"#FCD7B6\"/>\n <path d=\"M16.5722 27.7895C16.5722 27.0533 17.169 26.4564 17.9053 26.4564H24.7613C25.4976 26.4564 26.0944 27.0533 26.0944 27.7895C26.0944 28.5258 25.4976 29.1227 24.7613 29.1227H17.9053C17.169 29.1227 16.5722 28.5258 16.5722 27.7895Z\" fill=\"#FF8100\"/>\n <path d=\"M25.3768 20.9796V21.0547C25.4143 23.6819 24.8513 25.7462 23.913 26.5719H17.983C17.2699 26.1215 16.857 24.7704 16.7819 24.2824V24.2449L15.3182 19.6285C15.2056 19.3282 15.3557 18.9529 15.656 18.8403C15.9562 18.7277 16.3316 18.8778 16.4441 19.1781L17.7202 22.2557C17.7953 22.4058 17.9454 22.5184 18.1331 22.4809C18.3207 22.4434 18.4333 22.2933 18.4333 22.1056V13.5483C18.4333 13.2105 18.6961 12.9478 19.0339 12.9478C19.3716 12.9478 19.6344 13.2105 19.6344 13.5483V18.9154C19.6344 19.103 19.7845 19.2907 20.0097 19.2907C20.1973 19.2907 20.385 19.1406 20.385 18.9154V18.3149C20.385 17.9771 20.6477 17.7144 20.9855 17.7144C21.3233 17.7144 21.586 17.9771 21.586 18.3149V19.5534C21.586 19.7411 21.7362 19.9287 21.9613 19.9287C22.149 19.9287 22.3367 19.7786 22.3367 19.5534V18.8403C22.3367 18.5025 22.5994 18.2398 22.9372 18.2398C23.275 18.2398 23.5377 18.5025 23.5377 18.8403V20.1539C23.5377 20.3416 23.6878 20.5293 23.913 20.5293C24.1382 20.5293 24.2883 20.3791 24.2883 20.1539V19.5159C24.5135 19.2532 24.9639 19.1781 25.1891 19.4408C25.3017 19.5534 25.3768 19.7035 25.3768 19.8912V20.9796Z\" fill=\"#FCD7B6\"/>\n <defs>\n <linearGradient id=\"paint0_linear_366_339\" x1=\"14.1508\" y1=\"10.2624\" x2=\"12.217\" y2=\"8.50446\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#CE5DCB\"/>\n <stop offset=\"0.2095\" stop-color=\"#C558CC\"/>\n <stop offset=\"0.5525\" stop-color=\"#AC4ACF\"/>\n <stop offset=\"0.9845\" stop-color=\"#8534D4\"/>\n <stop offset=\"1\" stop-color=\"#8333D4\"/>\n </linearGradient>\n <linearGradient id=\"paint1_linear_366_339\" x1=\"13.3306\" y1=\"11.0427\" x2=\"17.0126\" y2=\"11.0427\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0.0237\" stop-color=\"#FF5667\"/>\n <stop offset=\"0.6592\" stop-color=\"#FC8B82\"/>\n <stop offset=\"1\" stop-color=\"#FBA28E\"/>\n </linearGradient>\n <linearGradient id=\"paint2_linear_366_339\" x1=\"9.20745\" y1=\"11.133\" x2=\"14.2749\" y2=\"11.133\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#00B874\"/>\n <stop offset=\"0.5126\" stop-color=\"#29D3A2\"/>\n <stop offset=\"0.6817\" stop-color=\"#53DFB6\"/>\n <stop offset=\"1\" stop-color=\"#9FF4D9\"/>\n </linearGradient>\n <linearGradient id=\"paint3_linear_366_339\" x1=\"12.6609\" y1=\"14.5158\" x2=\"17.7283\" y2=\"14.5158\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#FCD77E\"/>\n <stop offset=\"0.5241\" stop-color=\"#FEA500\"/>\n <stop offset=\"1\" stop-color=\"#FF5B00\"/>\n </linearGradient>\n </defs>\n </svg>\n </div>\n </div>\n </div>\n <div class='carousel-item'>\n <div class='carousel-item-content'>\n <div class='step-number'>\n <span class='step-number-content'>2</span>\n </div>\n <div class='step-name'>${translations.PI5Step2}</div>\n <div class='step-image'>\n <svg width=\"26\" height=\"34\" viewBox=\"0 0 26 34\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M3.64778 0.579407H23.2738C24.6286 0.579407 25.7277 1.67775 25.7279 3.03253V10.9378H1.19466V3.03253C1.1948 1.67784 2.29309 0.579548 3.64778 0.579407Z\" fill=\"#F9F5FD\" stroke=\"#E8E8E8\" stroke-width=\"0.54517\"/>\n <path d=\"M23.2746 21.2961L3.64859 21.2961C2.29378 21.2961 1.19463 20.1978 1.19449 18.843L1.19449 10.9377L25.7277 10.9377L25.7277 18.843C25.7275 20.1977 24.6293 21.296 23.2746 21.2961Z\" fill=\"#F9F5FD\" stroke=\"#E8E8E8\" stroke-width=\"0.54517\"/>\n <path d=\"M8.00809 2.7605C9.6633 2.7605 11.0051 4.10238 11.0052 5.75757C11.0052 7.41283 9.66336 8.75464 8.00809 8.75464C6.35291 8.75454 5.01102 7.41277 5.01102 5.75757C5.01112 4.10244 6.35297 2.76059 8.00809 2.7605Z\" stroke=\"#AEAEAE\" stroke-width=\"0.54517\"/>\n <path d=\"M8.00809 13.1184C9.6633 13.1184 11.0051 14.4603 11.0052 16.1155C11.0052 17.7707 9.66336 19.1125 8.00809 19.1125C6.35291 19.1125 5.01102 17.7707 5.01102 16.1155C5.01112 14.4604 6.35297 13.1185 8.00809 13.1184Z\" stroke=\"#8333D4\" stroke-width=\"0.54517\"/>\n <path d=\"M14.5516 6.84883C15.1538 6.84883 15.6419 6.36067 15.6419 5.75849C15.6419 5.15631 15.1538 4.66815 14.5516 4.66815C13.9494 4.66815 13.4613 5.15631 13.4613 5.75849C13.4613 6.36067 13.9494 6.84883 14.5516 6.84883Z\" fill=\"#E8E8E8\"/>\n <path d=\"M14.5516 17.2077C15.1538 17.2077 15.6419 16.7195 15.6419 16.1173C15.6419 15.5151 15.1538 15.027 14.5516 15.027C13.9494 15.027 13.4613 15.5151 13.4613 16.1173C13.4613 16.7195 13.9494 17.2077 14.5516 17.2077Z\" fill=\"#E8E8E8\"/>\n <path d=\"M17.8224 6.84883C18.4246 6.84883 18.9128 6.36067 18.9128 5.75849C18.9128 5.15631 18.4246 4.66815 17.8224 4.66815C17.2203 4.66815 16.7321 5.15631 16.7321 5.75849C16.7321 6.36067 17.2203 6.84883 17.8224 6.84883Z\" fill=\"#E8E8E8\"/>\n <path d=\"M17.8224 17.2077C18.4246 17.2077 18.9128 16.7195 18.9128 16.1173C18.9128 15.5151 18.4246 15.027 17.8224 15.027C17.2203 15.027 16.7321 15.5151 16.7321 16.1173C16.7321 16.7195 17.2203 17.2077 17.8224 17.2077Z\" fill=\"#E8E8E8\"/>\n <path d=\"M21.0937 6.84883C21.6959 6.84883 22.1841 6.36067 22.1841 5.75849C22.1841 5.15631 21.6959 4.66815 21.0937 4.66815C20.4916 4.66815 20.0034 5.15631 20.0034 5.75849C20.0034 6.36067 20.4916 6.84883 21.0937 6.84883Z\" fill=\"#E8E8E8\"/>\n <path d=\"M21.0937 17.2077C21.6959 17.2077 22.1841 16.7195 22.1841 16.1173C22.1841 15.5151 21.6959 15.027 21.0937 15.027C20.4916 15.027 20.0034 15.5151 20.0034 16.1173C20.0034 16.7195 20.4916 17.2077 21.0937 17.2077Z\" fill=\"#E8E8E8\"/>\n <path d=\"M8.00952 18.2976C9.21388 18.2976 10.1902 17.3213 10.1902 16.1169C10.1902 14.9125 9.21388 13.9362 8.00952 13.9362C6.80517 13.9362 5.82884 14.9125 5.82884 16.1169C5.82884 17.3213 6.80517 18.2976 8.00952 18.2976Z\" fill=\"#8333D4\"/>\n <path d=\"M13.5528 31.0899C14.68 29.5714 14.7891 26.8961 14.7891 25.703V24.5823C14.7891 24.2569 14.6437 23.9315 14.4255 23.6785C14.171 23.4254 13.8437 23.3169 13.5164 23.3169C13.3346 23.3169 13.1891 23.3531 13.0437 23.4254C12.9346 22.8108 12.4255 22.3408 11.771 22.3408C11.4801 22.3408 11.2619 22.4131 11.0437 22.5577C10.8255 22.1239 10.3892 21.8346 9.88008 21.8346C9.6619 21.8346 9.48009 21.907 9.29827 21.9793V18.5085C9.29827 17.7855 8.71646 17.207 7.98919 17.207C7.26192 17.207 6.68011 17.7855 6.68011 18.5085V25.0161L6.13466 23.6785C5.95285 23.2085 5.48012 22.8831 4.93467 22.8831C4.75286 22.8831 4.6074 22.9192 4.46195 22.9915C3.80741 23.2808 3.48014 24.0038 3.73468 24.6546L5.08013 29.0291C5.11649 29.2099 5.4074 30.4753 6.0983 31.2706C5.95285 31.4153 5.88012 31.5599 5.88012 31.7768V33.006C5.88012 33.4037 6.20739 33.6929 6.57102 33.6929H13.2982C13.6982 33.6929 13.9891 33.3675 13.9891 33.006V31.7406C14.0255 31.4514 13.8437 31.1983 13.5528 31.0899ZM5.77103 28.8484L4.35286 24.3654C4.24377 24.0761 4.38922 23.7146 4.68013 23.6062C4.97104 23.4977 4.97104 23.7508 5.08013 24.04L6.353 26.9955C6.42573 27.1401 6.89829 27.1492 7.08011 27.113C7.26193 27.0769 7.37101 26.9323 7.37101 26.7515V18.5085C7.37101 18.1832 7.62556 17.9301 7.95283 17.9301C8.2801 17.9301 8.28494 17.8154 8.28494 18.1408V23.6785C8.28494 23.8592 8.68009 24.04 8.89827 24.04C9.08009 24.04 9.26191 23.8954 9.26191 23.6785V23.1C9.26191 22.7746 9.51645 22.5216 9.84372 22.5216C10.171 22.5216 10.2323 22.7746 10.2323 23.1V24.2931C10.2323 24.4738 10.571 24.6546 10.7892 24.6546C10.971 24.6546 11.1528 24.51 11.1528 24.2931V23.6062C11.1528 23.2808 11.4073 23.0277 11.7346 23.0277C12.0619 23.0277 12.252 23.2808 12.252 23.6062V24.8715C12.252 25.0523 12.4619 25.2331 12.6801 25.2331C12.8982 25.2331 13.0437 25.0884 13.0437 24.8715V24.2569C13.2619 24.0038 13.6982 23.9315 13.9164 24.1846C14.0255 24.2931 14.0982 24.4377 14.0982 24.6184V25.7392C14.1346 28.2699 13.5891 30.2584 12.6801 31.0537H6.93466C6.24375 30.6199 5.84376 29.3184 5.77103 28.8484ZM13.2982 33.006H6.60739V31.7406H13.3346V33.006H13.2982Z\" fill=\"#FCD7B6\"/>\n <path d=\"M5.3075 32.349C5.3075 31.6127 5.90436 31.0158 6.64062 31.0158H13.4966C14.2329 31.0158 14.8298 31.6127 14.8298 32.349C14.8298 33.0852 14.2329 33.6821 13.4966 33.6821H6.64062C5.90436 33.6821 5.3075 33.0852 5.3075 32.349Z\" fill=\"#FF8100\"/>\n <path d=\"M14.1121 25.5391V25.6142C14.1496 28.2414 13.5866 30.3057 12.6483 31.1314H6.71828C6.00517 30.681 5.59232 29.3298 5.51726 28.8419V28.8044L4.05351 24.1879C3.94092 23.8877 4.09104 23.5124 4.3913 23.3998C4.69155 23.2872 5.06687 23.4373 5.17947 23.7376L6.45556 26.8152C6.53062 26.9653 6.68075 27.0779 6.86841 27.0404C7.05607 27.0028 7.16866 26.8527 7.16866 26.6651V18.1078C7.16866 17.77 7.43139 17.5073 7.76917 17.5073C8.10696 17.5073 8.36968 17.77 8.36968 18.1078V23.4748C8.36968 23.6625 8.51981 23.8502 8.745 23.8502C8.93266 23.8502 9.12032 23.7 9.12032 23.4748V22.8743C9.12032 22.5365 9.38305 22.2738 9.72084 22.2738C10.0586 22.2738 10.3213 22.5365 10.3213 22.8743V24.1129C10.3213 24.3005 10.4715 24.4882 10.6967 24.4882C10.8843 24.4882 11.072 24.3381 11.072 24.1129V23.3998C11.072 23.062 11.3347 22.7993 11.6725 22.7993C12.0103 22.7993 12.273 23.062 12.273 23.3998V24.7134C12.273 24.9011 12.4231 25.0887 12.6483 25.0887C12.8735 25.0887 13.0236 24.9386 13.0236 24.7134V24.0754C13.2488 23.8126 13.6992 23.7376 13.9244 24.0003C14.037 24.1129 14.1121 24.263 14.1121 24.4507V25.5391Z\" fill=\"#FCD7B6\"/>\n </svg>\n </div>\n </div>\n </div>\n <div class='carousel-item'>\n <div class='carousel-item-content'>\n <div class='step-number'>\n <span class='step-number-content'>3</span>\n </div>\n <div class='step-name'>${translations.PI5Step3}</div>\n <div class='step-image'>\n <svg width=\"27\" height=\"34\" viewBox=\"0 0 27 34\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect y=\"9.14136\" width=\"24.6\" height=\"9.6\" rx=\"4.8\" fill=\"#D39BD3\"/>\n <path d=\"M16.2 6.22824C16.2 2.59102 19.7403 0.0333434 23.2058 1.14939C25.4037 1.85362 27 3.91967 27 6.34017C27 9.32499 24.5842 11.7175 21.6 11.6849H21.5384C18.5874 11.6242 16.2 9.19439 16.2 6.22824Z\" fill=\"#29D3A2\"/>\n <path d=\"M20.0227 6.58523L20.9311 7.50497L22.3518 6.06665L23.7725 4.62833C23.9609 4.43753 24.2702 4.43753 24.4587 4.62833C24.6471 4.81913 24.6471 5.12734 24.4587 5.31814L22.8664 6.93013L21.2742 8.54213C21.0858 8.73293 20.7813 8.73293 20.5929 8.54213L19.3413 7.27504C19.1529 7.08424 19.1529 6.77603 19.3413 6.58523C19.5298 6.39443 19.8342 6.39443 20.0227 6.58523Z\" fill=\"white\"/>\n <path d=\"M8.4 15.1413C9.06274 15.1413 9.6 14.6041 9.6 13.9413C9.6 13.2786 9.06274 12.7413 8.4 12.7413C7.73726 12.7413 7.2 13.2786 7.2 13.9413C7.2 14.6041 7.73726 15.1413 8.4 15.1413Z\" fill=\"#E8E8E8\"/>\n <path d=\"M12.6 15.1413C13.2627 15.1413 13.8 14.6041 13.8 13.9413C13.8 13.2786 13.2627 12.7413 12.6 12.7413C11.9373 12.7413 11.4 13.2786 11.4 13.9413C11.4 14.6041 11.9373 15.1413 12.6 15.1413Z\" fill=\"#E8E8E8\"/>\n <path d=\"M16.8 15.1413C17.4627 15.1413 18 14.6041 18 13.9413C18 13.2786 17.4627 12.7413 16.8 12.7413C16.1373 12.7413 15.6 13.2786 15.6 13.9413C15.6 14.6041 16.1373 15.1413 16.8 15.1413Z\" fill=\"#E8E8E8\"/>\n <path d=\"M16.5045 30.5119C17.6318 28.9934 17.7409 26.3181 17.7409 25.125V24.0043C17.7409 23.6789 17.5954 23.3535 17.3772 23.1005C17.1227 22.8474 16.7954 22.7389 16.4681 22.7389C16.2863 22.7389 16.1409 22.7751 15.9954 22.8474C15.8863 22.2328 15.3772 21.7628 14.7227 21.7628C14.4318 21.7628 14.2136 21.8351 13.9954 21.9797C13.7773 21.5459 13.3409 21.2566 12.8318 21.2566C12.6136 21.2566 12.4318 21.3289 12.25 21.4013V17.9305C12.25 17.2075 11.6682 16.629 10.9409 16.629C10.2136 16.629 9.63183 17.2075 9.63183 17.9305V24.4381L9.08638 23.1005C8.90457 22.6305 8.43184 22.3051 7.88639 22.3051C7.70458 22.3051 7.55912 22.3412 7.41367 22.4135C6.75913 22.7028 6.43186 23.4258 6.6864 24.0766L8.03185 28.4511C8.06821 28.6319 8.35912 29.8973 9.05002 30.6926C8.90457 30.8373 8.83184 30.9819 8.83184 31.1988V32.428C8.83184 32.8257 9.15911 33.1149 9.52274 33.1149H16.25C16.65 33.1149 16.9409 32.7895 16.9409 32.428V31.1626C16.9772 30.8734 16.7954 30.6203 16.5045 30.5119ZM8.72275 28.2704L7.30458 23.7874C7.19549 23.4981 7.34094 23.1366 7.63185 23.0282C7.92276 22.9197 7.92276 23.1728 8.03185 23.462L9.30472 26.4175C9.37745 26.5621 9.85001 26.5712 10.0318 26.535C10.2136 26.4989 10.3227 26.3543 10.3227 26.1735V17.9305C10.3227 17.6052 10.5773 17.3521 10.9045 17.3521C11.2318 17.3521 11.2367 17.2374 11.2367 17.5628V23.1005C11.2367 23.2812 11.6318 23.462 11.85 23.462C12.0318 23.462 12.2136 23.3174 12.2136 23.1005V22.522C12.2136 22.1966 12.4682 21.9436 12.7954 21.9436C13.1227 21.9436 13.1841 22.1966 13.1841 22.522V23.7151C13.1841 23.8958 13.5227 24.0766 13.7409 24.0766C13.9227 24.0766 14.1045 23.932 14.1045 23.7151V23.0282C14.1045 22.7028 14.3591 22.4497 14.6863 22.4497C15.0136 22.4497 15.2037 22.7028 15.2037 23.0282V24.2935C15.2037 24.4743 15.4136 24.655 15.6318 24.655C15.85 24.655 15.9954 24.5104 15.9954 24.2935V23.6789C16.2136 23.4258 16.65 23.3535 16.8681 23.6066C16.9772 23.7151 17.05 23.8597 17.05 24.0404V25.1612C17.0863 27.6919 16.5409 29.6803 15.6318 30.4757H9.88638C9.19547 30.0419 8.79548 28.7404 8.72275 28.2704ZM16.25 32.428H9.55911V31.1626H16.2863V32.428H16.25Z\" fill=\"#FCD7B6\"/>\n <path d=\"M8.25923 31.771C8.25923 31.0347 8.85609 30.4378 9.59235 30.4378H16.4484C17.1846 30.4378 17.7815 31.0347 17.7815 31.771C17.7815 32.5072 17.1846 33.1041 16.4484 33.1041H9.59235C8.85609 33.1041 8.25923 32.5072 8.25923 31.771Z\" fill=\"#FF8100\"/>\n <path d=\"M17.0638 24.9611V25.0362C17.1013 27.6634 16.5383 29.7277 15.6 30.5534H9.67C8.95689 30.103 8.54404 28.7518 8.46898 28.2639V28.2264L7.00523 23.6099C6.89264 23.3097 7.04277 22.9344 7.34302 22.8218C7.64328 22.7092 8.0186 22.8593 8.13119 23.1596L9.40728 26.2372C9.48234 26.3873 9.63247 26.4999 9.82013 26.4624C10.0078 26.4248 10.1204 26.2747 10.1204 26.0871V17.5298C10.1204 17.192 10.3831 16.9293 10.7209 16.9293C11.0587 16.9293 11.3214 17.192 11.3214 17.5298V22.8968C11.3214 23.0845 11.4715 23.2722 11.6967 23.2722C11.8844 23.2722 12.072 23.122 12.072 22.8968V22.2963C12.072 21.9585 12.3348 21.6958 12.6726 21.6958C13.0103 21.6958 13.2731 21.9585 13.2731 22.2963V23.5349C13.2731 23.7225 13.4232 23.9102 13.6484 23.9102C13.836 23.9102 14.0237 23.7601 14.0237 23.5349V22.8218C14.0237 22.484 14.2864 22.2213 14.6242 22.2213C14.962 22.2213 15.2247 22.484 15.2247 22.8218V24.1354C15.2247 24.3231 15.3749 24.5107 15.6 24.5107C15.8252 24.5107 15.9754 24.3606 15.9754 24.1354V23.4974C16.2006 23.2346 16.6509 23.1596 16.8761 23.4223C16.9887 23.5349 17.0638 23.685 17.0638 23.8727V24.9611Z\" fill=\"#FCD7B6\"/>\n </svg>\n </div>\n </div>\n </div>\n </div>\n <div class='carousel-dots' role=\"tablist\" aria-label=\"${translations.PI5carouselPosition}\">\n <div class=\"dot active\" role=\"tab\" aria-selected=\"true\" aria-label=\"${translations.PI5slide} 1\">\n <svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#8333D4\"/>\n </svg>\n </div>\n <div class=\"dot\" role=\"tab\" aria-selected=\"false\" aria-label=\"${translations.PI5slide} 2\">\n <svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#8333D4\"/>\n </svg>\n </div>\n <div class=\"dot\" role=\"tab\" aria-selected=\"false\" aria-label=\"${translations.PI5slide} 3\">\n <svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#8333D4\"/>\n </svg>\n </div>\n </div>\n </div>\n <div class=\"terms-container\">\n <p class=\"terms\"><span>${\n translations.terms1\n }</span><br /><span>${translations.termsHiw}</span></p>\n <p class=\"terms\">${translations.terms2}</p>\n <p class=\"terms\">\n <span class=\"webbank-terms\">${\n translations.webBankTerms\n }</span> <span class=\"webbank-terms\">${\n translations.webBankTermsPI5\n }</span>\n <br />\n <span>${translations.linkToCompleteTerms}</span>\n </p>\n </div>\n </div></div></div>\n</section>`\n modalNode.innerHTML = modalContent\n handleCarousel(modalNode)\n handlePI5Input(modalNode, minPriceLT, maxPrice, bestAPR, currency, priceString)\n}\n","import { getLanguage, getCurrency, getTranslations } from '../Helpers/helper'\n\nconst CURRENCY_REGEX_GLOBAL = /[$€£₤₹]/g\n\nfunction addDelimiters(priceString) {\n const parsedPrice = Number(priceString).toFixed(2)\n if (parsedPrice.length > 6) {\n return (\n parsedPrice.substring(0, parsedPrice.indexOf('.') - 3) +\n ',' +\n parsedPrice.substring(parsedPrice.indexOf('.') - 3, parsedPrice.length)\n )\n } else {\n return parsedPrice\n }\n}\n\nfunction calculateMonthlyWithInterest(priceText, term, APR) {\n const price = Number(priceText)\n if (APR > 0) {\n const rate = APR / 100 / 12\n const numerator = price * rate * Math.pow(1 + rate, term)\n const denominator = Math.pow(1 + rate, term) - 1\n const interestPayment = numerator / denominator\n return interestPayment\n } else {\n return price / term\n }\n}\n\nfunction formatMonthly(priceString, term, APR) {\n const interestAmount = calculateMonthlyWithInterest(priceString, term, APR)\n return addDelimiters(interestAmount.toFixed(2))\n}\n\nfunction formatTotalInterest(priceString, term, APR) {\n const adjustedTotal =\n calculateMonthlyWithInterest(priceString, term, APR) * term\n return addDelimiters(adjustedTotal - priceString)\n}\n\nfunction formatAdjustedTotal(priceString, term, APR) {\n const amountPlusInterest = calculateMonthlyWithInterest(\n priceString,\n term,\n APR\n )\n return addDelimiters(amountPlusInterest * term)\n}\n\nfunction termsToShow(price) {\n switch (true) {\n case price > 1000:\n return [24, 36, 48]\n case price > 500:\n return [12, 18, 24]\n case price > 300:\n return [6, 9, 12]\n default:\n return [3, 6, 9]\n }\n}\n\nexport function getLongTermModal(modalNode, priceString, bestAPR) {\n const currentLang = getLanguage()\n const translations = getTranslations(currentLang)\n const currency = getCurrency(priceString)\n priceString = priceString.replace(CURRENCY_REGEX_GLOBAL, '').trim()\n const terms = termsToShow(priceString)\n\n modalNode.className =\n 'sezzle-checkout-modal-lightbox close-sezzle-modal sezzle-modal'\n modalNode.innerHTML = `<section class=\"sezzle-checkout-modal-lightbox close-sezzle-modal\" lang=\"${\n translations.locale\n }\" aria-label=\"${translations.sezzleInformation}\" style=\"display: block;\">\n <div id=\"sezzle-modal-container\" role=\"dialog\" aria-label=\"Sezzle Modal\" class=\"sezzle-checkout-modal-hidden long-term\">\n <div class=\"sezzle-modal\">\n <div>\n <button role=\"button\" aria-label=\"${\n translations.closeSezzleModal\n }\" class=\"close-sezzle-modal\"></button>\n </div>\n <div class=\"sezzle-logo\" title=\"Sezzle\"> </div>\n <div id=\"sezzle-modal-core-content\" class=\"sezzle-modal-content\">\n <header class=\"sezzle-header\">${\n translations.LTsezzleHeader\n }</header>\n <div class=\"sezzle-row\">${translations.LTsezzleRowChild}</div>\n <div class=\"sezzle-lt-payments\">\n <div class=\"sezzle-lt-payment-header\">${\n translations.LTsezzlePaymentHeader\n } <span> ${currency + addDelimiters(priceString)}</span></div>\n <div class=\"sezzle-lt-payment-options ${terms[2]}-month\" ${\n terms[2] === undefined\n ? 'style=\"display: none;\"'\n : 'style=\"display: block;\"'\n }>\n <div class=\"plan\">\n <div class=\"monthly-amount\">\n <span>${\n currency + formatMonthly(priceString, terms[2], bestAPR)\n }</span>\n <span aria-label=\"${translations.LTperMonth}\">\n <span class=\"per-month\" aria-hidden=\"true\">${\n translations.LTmonthlyAmount\n }<sup>*</sup></span>\n </span>\n </div>\n <div class=\"term-length\">${terms[2]} ${\n translations.LTtermLength\n }</div>\n </div>\n <div class=\"plan-details\">\n <div class=\"adjusted-total\">${\n translations.LTadjustedTotal\n } <span>${\n currency +\n formatAdjustedTotal(priceString, terms[2], bestAPR)\n }</span></div>\n <div class=\"interest-amount\">${translations.LTinterest} <span>${\n currency +\n formatTotalInterest(priceString, terms[2], bestAPR)\n }</span></div>\n <div class=\"sample-apr\">\n <span aria-label=\"${translations.LTreadApr} ${bestAPR} ${\n translations.LTpercent\n }\">\n <span class=\"apr-label\" aria-hidden=\"true\">${translations.LTsampleApr}</span>\n <span aria-hidden=\"true\">${bestAPR}%</span>\n </span>\n </div>\n </div>\n </div>\n <div class=\"sezzle-lt-payment-options ${terms[1]}-month\">\n <div class=\"plan\">\n <div class=\"monthly-amount\">\n <span>${\n currency + formatMonthly(priceString, terms[1], bestAPR)\n }</span>\n <span aria-label=\"${translations.LTperMonth}\">\n <span class=\"per-month\" aria-hidden=\"true\">${\n translations.LTmonthlyAmount\n }<sup>*</sup></span>\n </span>\n </div>\n <div class=\"term-length\">${terms[1]} ${\n translations.LTtermLength\n }</div>\n </div>\n <div class=\"plan-details\">\n <div class=\"adjusted-total\">${\n translations.LTadjustedTotal\n } <span>${\n currency +\n formatAdjustedTotal(priceString, terms[1], bestAPR)\n }</span></div>\n <div class=\"interest-amount\">${translations.LTinterest} <span>${\n currency +\n formatTotalInterest(priceString, terms[1], bestAPR)\n }</span></div>\n <div class=\"sample-apr\">\n <span aria-label=\"${translations.LTreadApr} ${bestAPR} ${\n translations.LTpercent\n }\">\n <span class=\"apr-label\" aria-hidden=\"true\">${translations.LTsampleApr}</span>\n <span aria-hidden=\"true\">${bestAPR}%</span>\n </span>\n </div>\n </div>\n </div>\n <div class=\"sezzle-lt-payment-options ${terms[0]}-month\">\n <div class=\"plan\">\n <div class=\"monthly-amount\">\n <span>${\n currency + formatMonthly(priceString, terms[0], bestAPR)\n }</span>\n <span aria-label=\"${translations.LTperMonth}\">\n <span class=\"per-month\" aria-hidden=\"true\">${\n translations.LTmonthlyAmount\n }<sup>*</sup></span>\n </span>\n </div>\n <div class=\"term-length\">${terms[0]} ${\n translations.LTtermLength\n }</div>\n </div>\n <div class=\"plan-details\">\n <div class=\"adjusted-total\">${\n translations.LTadjustedTotal\n } <span>${\n currency +\n formatAdjustedTotal(priceString, terms[0], bestAPR)\n }</span></div>\n <div class=\"interest-amount\">${translations.LTinterest} <span>${\n currency +\n formatTotalInterest(priceString, terms[0], bestAPR)\n }</span></div>\n <div class=\"sample-apr\">\n <span aria-label=\"${translations.LTreadApr} ${bestAPR} ${\n translations.LTpercent\n }\">\n <span class=\"apr-label\" aria-hidden=\"true\">${translations.LTsampleApr}</span>\n <span aria-hidden=\"true\">${bestAPR}%</span>\n </span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"details\">${translations.LTsingleFeatureAffordable}</div>\n <div class=\"details\">${translations.LTsingleFeaturePrequalify}</div>\n <div class=\"details\">${translations.LTsingleFeatureTrusted}</div>\n <div class=\"terms\">\n <p>${translations.LTterms1}</p>\n <p>${translations.LTterms2}</p>\n <p>${translations.LTterms3}</p>\n </div>\n </div>\n </div>\n </div>\n </section>`\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { getAPModal } from '../Helpers/helper'\nimport { isProductEligibleLT } from '../Helpers/renderFunctions.js'\nimport { getStandardModal } from './StandardModal'\nimport { getPI5Modal, handleCarousel } from './PI5Modal'\nimport { getLongTermModal } from './LongtermModal'\nimport './modal.scss'\n\nexport default class Modal extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modalElement: null,\n isModalVisible: false\n }\n }\n\n static getDerivedStateFromProps(props, state) {\n if (!state.modalElement) {\n let modalElement = document.createElement('div')\n switch (props.modalType) {\n case 'afterpay':\n if (document.querySelector('.sezzle-ap-modal')) {\n modalElement = document.querySelector('.sezzle-ap-modal')\n break\n }\n getAPModal(modalElement)\n break\n default:\n if (isProductEligibleLT(props.price, props.minPriceLT, props.maxPrice)) {\n getLongTermModal(modalElement, props.price, props.bestAPR)\n } else if (props.numberOfPayments === 5) {\n getPI5Modal(modalElement, props.price, props.minPriceLT, props.maxPrice, props.bestAPR)\n } else {\n getStandardModal(modalElement, props.minPrice, props.maxPrice)\n }\n }\n state = { ...state, modalElement }\n }\n state.modalElement.style.display = state.isModalVisible ? 'block' : 'none'\n return state\n }\n\n componentDidMount() {\n document.querySelector('html').appendChild(this.state.modalElement)\n\n let sezzleModal\n if (this.props.modalType === 'afterpay') {\n sezzleModal = document.querySelector('.sezzle-ap-modal')\n } else {\n sezzleModal = document.querySelector('.sezzle-modal')\n }\n\n sezzleModal.addEventListener('click', (event) => event.stopPropagation())\n document.querySelectorAll('.close-sezzle-modal').length &&\n document\n .querySelectorAll('.close-sezzle-modal')\n .forEach((modal) =>\n modal.addEventListener('click', (event) =>\n this.modalCloseHandler(event)\n )\n )\n }\n\n componentDidUpdate(prevProps, prevState) {\n this.toggleModalVisibility(this.props.toggleModalVisibility)\n }\n\n toggleModalVisibility = (isModalVisible) => {\n if (isModalVisible !== this.state.isModalVisible) {\n this.setState({ ...this.state, isModalVisible })\n\n // Reset carousel position when PI5 modal is opened\n if (isModalVisible && this.props.modalType !== 'afterpay') {\n const isPI5Modal = !isProductEligibleLT(this.props.price, this.props.minPriceLT, this.props.maxPrice) &&\n this.props.numberOfPayments === 5\n\n if (isPI5Modal && this.state.modalElement) {\n handleCarousel(this.state.modalElement)\n }\n }\n }\n }\n\n modalCloseHandler = (event) => {\n this.props.callbackModalClose(this.props.modalType)\n }\n\n render() {\n return null\n }\n}\n\nModal.propTypes = {\n toggleModalVisibility: PropTypes.bool,\n modalType: PropTypes.string,\n callbackModalClose: PropTypes.func,\n numberOfPayments: PropTypes.number,\n price: PropTypes.string,\n minPrice: PropTypes.number,\n maxPrice: PropTypes.number,\n minPriceLT: PropTypes.number,\n bestAPR: PropTypes.number\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { getFormattedPrice, isProductEligibleLT } from '../Helpers/renderFunctions'\nimport '../index.scss'\nimport { getLanguage, parsePriceString, parsePrice } from '../Helpers/helper'\n// eslint-disable-next-line no-unused-vars\nimport Modal from './Modal'\nimport enTranslations from '../translations/en'\nimport frTranslations from '../translations/fr'\nimport esTranslations from '../translations/es'\n\nexport const translationsMap = {\n en: enTranslations,\n fr: frTranslations,\n es: esTranslations\n}\n\nexport default class SezzleWidgetText extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n config: this.props.config,\n sezzle: false,\n afterpay: false,\n modalsToShow: ['sezzle', 'afterpay']\n }\n }\n\n static getDerivedStateFromProps(props, state) {\n const config = props.config\n state = { ...state, config }\n\n return state\n }\n\n renderSezzleWidgetText() {\n const logoURLs = {\n light: 'https://media.sezzle.com/branding/2.0/Sezzle_Logo_FullColor.svg',\n dark: 'https://media.sezzle.com/branding/2.0/Sezzle_Logo_FullColor_WhiteWM.svg',\n 'black-flat':\n 'https://media.sezzle.com/branding/2.0/Sezzle_Logo_BlackAlt.svg',\n 'white-flat':\n 'https://media.sezzle.com/branding/2.0/Sezzle_Logo_WhiteAlt.svg'\n }\n const language = getLanguage()\n\n const translations = translationsMap[language]\n\n const priceFloat = parsePrice(\n parsePriceString(this.state.config.price)\n )\n let widgetTemplate = ''\n if (priceFloat > this.state.config.maxPrice) {\n return\n } else if (\n isProductEligibleLT(\n parsePriceString(this.state.config.price),\n this.state.config.minPriceLT,\n this.state.config.maxPrice\n )\n ) {\n widgetTemplate = translations.longTerm\n } else if (this.state.config.numberOfPayments === 5 && this.state.config.includeAPModal) {\n widgetTemplate = translations.dualInstall\n } else {\n widgetTemplate = translations.widget\n }\n const subtemplates = []\n widgetTemplate.split('%%').forEach((subTemplate, index) => {\n switch (subTemplate) {\n case 'numberOfPayments':\n subtemplates.push(this.state.config.numberOfPayments)\n break\n case 'price':\n // eslint-disable-next-line no-case-declarations\n const priceElement = (\n <span\n className=\"sezzle-payment-amount sezzle-button-text\"\n key={index}\n >\n {getFormattedPrice(this.state.config.price, this.state.config.numberOfPayments, this.state.config.minPriceLT, this.state.config.maxPrice, this.state.config.bestAPR)}\n </span>\n )\n subtemplates.push(priceElement)\n break\n case 'logo':\n // eslint-disable-next-line no-case-declarations\n const logoElement = (\n <img\n alt=\"Sezzle\"\n className={`sezzle-logo szl-${\n this.state.config.theme === 'dark' ||\n this.state.config.theme === 'white-flat'\n ? 'dark'\n : 'light'\n }-image`}\n src={logoURLs[this.state.config.theme] || logoURLs.light}\n style={{\n transformOrigin: `top-${this.state.config.alignment}`,\n transform: `scale(${this.state.config.logoSize})`,\n cursor: 'pointer',\n width: '74px',\n height: '18px'\n }}\n key={index}\n onClick={() => this.openModal('sezzle')}\n />\n )\n subtemplates.push(logoElement)\n break\n case 'info':\n // eslint-disable-next-line no-case-declarations\n const infoElement = (\n <div\n aria-label={`${translations.clickToLearnMore}`}\n className=\"sezzle-info-icon\"\n key={index}\n onClick={() => this.openModal('sezzle')}\n >\n ⓘ\n </div>\n )\n subtemplates.push(infoElement)\n break\n case 'afterpay':\n if (this.state.config.includeAPModal) {\n subtemplates.push(`${translations.or}`)\n const apLogo = (\n <img\n className=\"sezzle-ap-logo ap-modal-info-link no-sezzle-info\"\n src={\n 'https://media.sezzle.com/sezzle-credit-website-assets/ap-badge-black-on-mint.svg'\n }\n onClick={(event) => {\n event.stopPropagation()\n this.openModal('afterpay')\n }}\n key={index}\n alt=\"Afterpay\"\n />\n )\n subtemplates.push(apLogo)\n }\n break\n case 'min-price': {\n const priceFloat = parsePrice(\n parsePriceString(this.state.config.price)\n )\n if (\n this.state.config.minPrice > priceFloat &&\n !this.state.config.includeAPModal\n ) {\n subtemplates.push(\n ` ${translations.thresholdPrice} $${this.state.config.minPrice}`\n )\n }\n break\n }\n default:\n subtemplates.push(subTemplate)\n }\n })\n return subtemplates\n }\n\n openModal(modalType) {\n modalType === 'afterpay'\n ? this.setState({ afterpay: true })\n : this.setState({ sezzle: true })\n }\n\n closeModal(modalType) {\n modalType === 'afterpay'\n ? this.setState({ afterpay: false })\n : this.setState({ sezzle: false })\n }\n\n render() {\n return (\n <div\n className={`sezzle-shopify-info-button sezzle-${\n this.state.config.merchantId || ''\n }`}\n >\n <div\n aria-haspopup=\"dialog\"\n role=\"button\"\n tabIndex=\"0\"\n className={`sezzle-checkout-button-wrapper sezzle-modal-link sezzle-${\n this.state.config.merchantId || ''\n } sezzle-${this.state.config.alignment || 'auto'}`}\n style={{ cursor: 'pointer' }}\n onClick={() => this.openModal('sezzle')}\n >\n <div\n className={`sezzle-button-text sezzle-${\n this.state.config.alignment || 'auto'\n } szl-${\n this.state.config.theme === 'dark' ||\n this.state.config.theme === 'white-flat'\n ? 'dark'\n : 'light'\n }`}\n style={{\n fontWeight: this.state.config.fontWeight || 500,\n fontFamily: this.state.config.fontFamily || 'inherit',\n fontSize: (this.state.config.fontSize || 14) + 'px',\n color: this.state.config.textColor || 'inherit'\n }}\n >\n {this.renderSezzleWidgetText()}\n </div>\n </div>\n {this.state.modalsToShow.map((modal, index) => (\n <Modal\n modalType={modal}\n key={index}\n toggleModalVisibility={this.state[modal]}\n callbackModalClose={(modal) => this.closeModal(modal)}\n minPrice={this.state.config.minPrice}\n maxPrice={this.state.config.maxPrice}\n minPriceLT={this.state.config.minPriceLT}\n bestAPR={this.state.config.bestAPR}\n price={this.state.config.price}\n numberOfPayments={this.state.config.numberOfPayments}\n />\n ))}\n </div>\n )\n }\n}\n\nSezzleWidgetText.propTypes = {\n config: PropTypes.object\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n// eslint-disable-next-line no-unused-vars\nimport SezzleWidget from './Components/SezzleWidget'\nimport './index.scss'\n\nexport default class SezzleWidgetWrapper extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n sezzleConfig: {\n price: this.props.price || 0,\n merchantId: this.props.merchantId || '',\n includeAPModal: this.props.includeAPModal || false,\n minPrice: this.props.minPrice || 20,\n maxPrice: this.props.maxPrice || 2500,\n minPriceLT: this.props.minPriceLT || 0,\n bestAPR: this.props.bestAPR || 9.99,\n theme: this.props.theme || 'light',\n alignment: this.props.alignment || 'auto',\n fontWeight: this.props.fontWeight || 500,\n fontFamily: this.props.fontFamily || 'inherit',\n fontSize: this.props.fontSize || 14,\n textColor: this.props.textColor || 'inherit',\n logoSize: this.props.logoSize || 1,\n modalsToShow: ['sezzle'],\n numberOfPayments: this.props.numberOfPayments === 4 ? 4 : 5\n }\n }\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.price !== state.sezzleConfig.price) {\n const updateState = state\n updateState.sezzleConfig.price = props.price\n return updateState\n }\n state = { ...state }\n if (\n props.includeAPModal &&\n state.sezzleConfig.modalsToShow.indexOf('afterpay') === -1\n ) {\n state.sezzleConfig.modalsToShow.push('afterpay')\n }\n return state\n }\n\n render() {\n return (\n <div>\n <SezzleWidget config={this.state.sezzleConfig} />\n </div>\n )\n }\n}\n\nSezzleWidgetWrapper.propTypes = {\n price: PropTypes.string.isRequired,\n merchantId: PropTypes.string.isRequired,\n theme: PropTypes.string,\n alignment: PropTypes.string,\n fontWeight: PropTypes.number,\n fontFamily: PropTypes.string,\n fontSize: PropTypes.number,\n textColor: PropTypes.string,\n logoSize: PropTypes.number,\n minPrice: PropTypes.number,\n maxPrice: PropTypes.number,\n minPriceLT: PropTypes.number,\n bestAPR: PropTypes.number,\n includeAPModal: PropTypes.bool,\n numberOfPayments: PropTypes.number\n}\n"],"names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","supportedLanguages","parsePriceString","price","formattedPrice","isNumeric","isAlphabet","parsePrice","parseFloat","isNaN","isFinite","test","getLanguage","lang","document","querySelector","substring","toLowerCase","indexOf","getAPModal","_x","_getAPModal","_callee","modalNode","currentLang","url","response","_t","_context","className","concat","fetch","ok","Error","status","text","innerHTML","console","error","getCurrency","priceString","defaultCurrency","undefined","CURRENCY_REGEX","currencyMatch","match","getTranslations","translationsMap","en","enTranslations","fr","frTranslations","es","esTranslations","isProductEligibleLT","priceText","minPriceLT","maxPrice","termsToShow","calculateMonthlyWithInterest","term","APR","Number","rate","numerator","Math","pow","denominator","interestPayment","getFormattedPrice","numberOfPayments","bestAPR","priceReplacer","formatter","replace","terms","sezzleInstallmentPrice","sezzleInstallmentFormattedPrice","toFixed","getStandardModal","minPrice","translations","modalContent","locale","sezzleInformation","closeSezzleModal","PI4trustPilotReviewStatus","PI4trustPilotTitle","PI4trustPilotReviewsCount","PI4trustPilotReviews","PI4sezzleHeader","PI4sezzleHeaderChild","PI4sezzleHeaderChild2","PI4pieAlt","today","week","PI4selectSezzle","PI4completePurchase","PI4schedulePayments","PI4footnote","terms1","termsHiw","terms2","webBankTerms","webBankTermsPI4","linkToCompleteTerms","PI4close","Intl","NumberFormat","format","CAROUSEL_MIN_TAB","CAROUSEL_MAX_TAB","INPUT_DEBOUNCE_DELAY_MS","CURRENCY_REGEX_GLOBAL","SANITIZE_REGEX","updateInstallmentContent","elements","textContent","generatePaymentCard","currency","classModifier","dashWidth","installmentPrice","installments","isFirst","isLast","weekNumber","dueText","PI5weeks","push","PI5payIn","PI5every2Weeks","join","updateArrowStates","leftArrow","rightArrow","activeTab","classList","add","setAttribute","remove","removeAttribute","updateDotStates","dots","isActive","updateCarouselPosition","carouselWrapper","carousel","handleCarouselTabStyles","btn","_carouselWrapper$quer","contains","closest","parseInt","dataset","isRightArrow","min","max","arrows","parentElement","querySelectorAll","Array","from","find","arrow","children","handleCarousel","getElementsByClassName","isInitialized","carouselInitialized","_carouselWrapper$quer2","addEventListener","stopPropagation","currentTarget","handlePI5Input","initialCurrency","initialPriceString","input","pay4Installments","pay5Installments","listenersAdded","debounceTimer","event","clearTimeout","setTimeout","amount","target","getPI5Modal","trim","PI5trusted","PI5header","PI5SeePlans","PI5Amount","PI5howToPay","PI5previousSlide","PI5nextSlide","PI5Step1","PI5Step2","PI5Step3","PI5carouselPosition","PI5slide","webBankTermsPI5","addDelimiters","parsedPrice","formatMonthly","interestAmount","formatTotalInterest","adjustedTotal","formatAdjustedTotal","amountPlusInterest","getLongTermModal","LTsezzleHeader","LTsezzleRowChild","LTsezzlePaymentHeader","LTperMonth","LTmonthlyAmount","LTtermLength","LTadjustedTotal","LTinterest","LTreadApr","LTpercent","LTsampleApr","LTsingleFeatureAffordable","LTsingleFeaturePrequalify","LTsingleFeatureTrusted","LTterms1","LTterms2","LTterms3","Modal","_React$Component","props","_this","_classCallCheck","_callSuper","_defineProperty","isModalVisible","state","setState","_objectSpread","modalType","isPI5Modal","modalElement","callbackModalClose","_inherits","_createClass","key","componentDidMount","_this2","appendChild","sezzleModal","forEach","modal","modalCloseHandler","componentDidUpdate","prevProps","prevState","toggleModalVisibility","render","getDerivedStateFromProps","createElement","style","display","React","Component","propTypes","PropTypes","bool","string","func","number","SezzleWidgetText","config","sezzle","afterpay","modalsToShow","renderSezzleWidgetText","logoURLs","light","dark","language","priceFloat","widgetTemplate","longTerm","includeAPModal","dualInstall","widget","subtemplates","split","subTemplate","index","priceElement","logoElement","alt","theme","src","transformOrigin","alignment","transform","logoSize","cursor","width","height","onClick","openModal","infoElement","clickToLearnMore","or","apLogo","thresholdPrice","closeModal","_this3","merchantId","role","tabIndex","fontWeight","fontFamily","fontSize","color","textColor","map","object","SezzleWidgetWrapper","sezzleConfig","SezzleWidget","updateState","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAA,YAAA,GAAA,qKAAA,IAAAA,CAAA,EAAAC,CAAA,EAAAC,CAAA,GAAAC,UAAAA,IAAAA,OAAAA,MAAA,GAAAA,MAAA,GAAAC,EAAAA,EAAAA,CAAA,GAAAF,CAAA,CAAAG,QAAA,IAAA,YAAA,EAAAC,CAAA,GAAAJ,CAAA,CAAAK,WAAA,IAAA,eAAA,CAAA,CAAA,SAAAC,EAAAN,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAC,EAAAA,IAAAA,CAAA,GAAAL,CAAA,IAAAA,CAAA,CAAAM,SAAA,YAAAC,SAAA,GAAAP,CAAA,GAAAO,SAAA,EAAAC,CAAA,GAAAC,MAAA,CAAAC,MAAA,CAAAL,CAAA,CAAAC,SAAA,CAAAK,CAAAA,CAAAA,OAAAA,mBAAA,CAAAH,CAAA,EAAAV,SAAAA,EAAAA,UAAAA,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAAE,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAI,CAAA,GAAA,CAAA,EAAAC,CAAA,GAAAX,CAAA,IAAA,EAAA,EAAAY,CAAA,GAAA,CAAA,CAAA,EAAAC,CAAA,GAAAF,EAAAA,CAAA,EAAAb,CAAAA,EAAAA,CAAA,EAAAgB,CAAAA,EAAAA,CAAA,EAAApB,CAAA,EAAAqB,CAAA,EAAAC,CAAA,EAAAN,CAAA,EAAAM,CAAA,CAAAC,IAAA,CAAAvB,CAAA,EAAAsB,CAAAA,CAAAA,EAAAA,CAAA,WAAAA,CAAArB,CAAAA,CAAA,EAAAC,CAAA,WAAAM,CAAA,GAAAP,CAAA,EAAAQ,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAZ,CAAA,EAAAmB,CAAA,CAAAf,CAAA,GAAAF,CAAA,EAAAmB,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,SAAAC,EAAApB,CAAA,EAAAE,CAAA,EAAA,EAAA,KAAAK,CAAA,GAAAP,CAAA,EAAAU,CAAA,GAAAR,CAAA,EAAAH,CAAA,OAAAiB,CAAA,IAAAF,CAAA,IAAA,CAAAV,CAAA,IAAAL,CAAA,GAAAgB,CAAA,CAAAO,MAAA,EAAAvB,CAAA,UAAAK,CAAA,EAAAE,CAAA,GAAAS,CAAA,CAAAhB,CAAA,CAAA,EAAAqB,CAAA,GAAAH,CAAA,CAAAF,CAAA,EAAAQ,CAAA,GAAAjB,CAAA,KAAAN,CAAA,GAAA,CAAA,GAAA,CAAAI,CAAA,GAAAmB,CAAA,KAAArB,CAAA,MAAAQ,CAAA,GAAAJ,CAAA,CAAA,CAAAC,CAAA,GAAAD,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,IAAAC,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAAD,CAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAA,CAAAR,CAAAA,CAAAA,GAAAA,CAAA,IAAAQ,CAAA,CAAA,CAAA,CAAA,IAAAc,CAAA,KAAA,CAAAhB,CAAA,GAAAJ,CAAA,GAAAoB,CAAAA,IAAAA,CAAA,GAAAd,CAAA,CAAAC,CAAAA,CAAAA,KAAAA,CAAA,MAAAU,CAAA,CAAAC,CAAA,GAAAhB,CAAA,EAAAe,CAAA,CAAAf,CAAA,GAAAI,CAAA,CAAA,CAAA,CAAA,IAAAc,CAAA,GAAAG,CAAA,KAAAnB,CAAA,GAAAJ,CAAA,GAAAM,CAAAA,IAAAA,CAAA,CAAAJ,CAAAA,CAAAA,GAAAA,CAAA,IAAAA,CAAA,GAAAqB,CAAA,MAAAjB,CAAA,CAAA,CAAA,CAAA,GAAAN,CAAA,EAAAM,CAAA,CAAA,CAAA,CAAA,GAAAJ,CAAA,EAAAe,CAAA,CAAAf,CAAA,GAAAqB,CAAA,EAAAhB,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,IAAAH,CAAA,IAAAJ,CAAA,GAAAmB,CAAAA,EAAAA,OAAAA,CAAA,CAAAH,CAAAA,MAAAA,CAAA,GAAAd,CAAAA,CAAAA,EAAAA,CAAA,CAAAE,EAAAA,CAAAA,OAAAA,UAAAA,CAAA,EAAAW,CAAA,EAAAQ,CAAA,EAAA,EAAA,IAAAT,CAAA,GAAAU,CAAAA,EAAAA,MAAAA,SAAA,CAAAR,8BAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAA,UAAAD,CAAA,IAAAK,CAAA,CAAAL,CAAA,EAAAQ,CAAA,CAAA,EAAAhB,CAAA,GAAAQ,CAAA,EAAAL,CAAA,GAAAa,CAAA,EAAA,CAAAxB,CAAA,GAAAQ,CAAA,GAAAT,CAAAA,GAAAA,CAAA,GAAAY,CAAA,KAAAM,CAAAA,CAAA,GAAAV,EAAAA,CAAA,KAAAC,CAAA,GAAAA,CAAA,GAAA,CAAA,IAAAA,CAAA,GAAA,CAAA,KAAAU,CAAA,CAAAf,CAAA,GAAAkB,CAAAA,CAAAA,CAAAA,EAAAA,CAAA,CAAAb,CAAA,EAAAG,CAAA,CAAAO,IAAAA,CAAA,CAAAf,CAAA,GAAAQ,CAAA,GAAAO,CAAA,CAAAC,CAAA,GAAAR,CAAA,aAAAI,CAAA,GAAA,CAAA,EAAAR,CAAA,EAAA,EAAA,IAAAC,CAAA,KAAAH,CAAA,GAAA,MAAA,CAAA,EAAAL,CAAA,GAAAO,CAAA,CAAAF,CAAA,WAAAL,CAAA,GAAAA,CAAA,CAAA0B,IAAA,CAAAnB,CAAA,EAAAI,CAAA,CAAAc,CAAAA,EAAAA,MAAAA,SAAA,CAAAzB,kCAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAA,CAAA2B,IAAA,EAAA,OAAA3B,CAAA,CAAA,CAAAW,CAAA,GAAAX,CAAA,CAAA4B,KAAA,EAAApB,CAAA,GAAA,CAAA,KAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,KAAAA,CAAA,KAAAR,CAAA,GAAAO,CAAA,CAAAP,QAAAA,CAAAA,CAAAA,IAAAA,CAAA,CAAA0B,IAAA,CAAAnB,CAAA,CAAAC,EAAAA,CAAA,SAAAG,CAAA,GAAAc,SAAA,CAAA,mCAAA,GAAApB,CAAA,GAAA,UAAA,CAAA,EAAAG,CAAA,GAAA,CAAA,CAAA,CAAA,CAAAD,CAAA,GAAAR,CAAA,CAAAC,EAAAA,MAAAA,IAAAA,CAAAA,CAAA,IAAAiB,CAAA,GAAAC,CAAA,CAAAf,CAAA,GAAAQ,CAAAA,IAAAA,CAAA,GAAAV,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,EAAAe,CAAA,CAAA,MAAAE,CAAA,EAAA,MAAA,EAAA,CAAA,OAAApB,CAAA,EAAAO,EAAAA,CAAA,GAAAR,CAAA,EAAAS,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAX,CAAA,CAAA,EAAA,SAAA,EAAAe,CAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAA,OAAA,EAAAa,KAAA,EAAA5B,CAAA,EAAA2B,IAAA,EAAAV,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAAhB,CAAA,EAAAI,CAAA,EAAAE,CAAA,CAAAI,EAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAA,CAAAS,EAAAA,CAAAA,IAAAA,CAAA,GAAAV,EAAAA,CAAAA,CAAAA,SAAAA,SAAAA,eAAAmB,iBAAA,GAAA,EAAA,CAAA,SAAAC,0BAAA,GAAA,EAAA,CAAA9B,CAAA,GAAAY,MAAA,CAAAmB,cAAA,CAAAvB,CAAAA,IAAAA,CAAA,GAAAL,EAAAA,CAAAA,CAAA,CAAAH,GAAAA,CAAA,CAAAA,CAAA,IAAAG,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAW,mBAAA,CAAAd,CAAA,GAAAG,EAAAA,EAAAA,CAAA,EAAAH,YAAAA,EAAAA,OAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAA,GAAAW,CAAA,GAAAmB,0BAAA,CAAArB,SAAA,GAAAC,SAAA,CAAAD,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAL,CAAA,CAAA,CAAA,CAAA,SAAAO,CAAAhB,CAAAA,CAAA,WAAAa,MAAA,CAAAoB,cAAA,GAAApB,MAAA,CAAAoB,cAAA,CAAAjC,CAAA,EAAA+B,0BAAA,CAAA/B,IAAAA,CAAA,CAAAkC,SAAA,GAAAH,0BAAA,EAAAhB,mBAAA,CAAAf,CAAA,EAAAM,CAAA,EAAAN,mBAAAA,CAAAA,CAAAA,EAAAA,CAAA,CAAAU,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAF,CAAA,CAAA,EAAAZ,CAAA,CAAA,EAAA,CAAA,OAAA8B,iBAAA,CAAApB,SAAA,GAAAqB,0BAAA,EAAAhB,mBAAA,CAAAH,CAAA,iBAAAmB,0BAAA,CAAA,EAAAhB,mBAAA,CAAAgB,0BAAA,EAAAD,aAAAA,EAAAA,iBAAA,CAAAA,EAAAA,iBAAA,CAAAK,WAAA,GAAA,mBAAA,EAAApB,mBAAA,CAAAgB,0BAAA,EAAAzB,CAAA,EAAA,mBAAA,CAAA,EAAAS,mBAAA,CAAAH,CAAA,CAAAG,EAAAA,mBAAA,CAAAH,CAAA,EAAAN,CAAA,EAAA,WAAA,CAAA,EAAAS,mBAAA,CAAAH,CAAA,EAAAR,CAAA,EAAAW,YAAAA,EAAAA,OAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAAAA,mBAAA,CAAAH,CAAA,8DAAAwB,YAAA,GAAA,SAAAA,YAAA,GAAA,EAAA,OAAA,EAAAC,CAAA,EAAA7B,CAAA,EAAA8B,CAAA,EAAAtB,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA;AAAA,SAAAD,mBAAAA,CAAAf,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAH,CAAA,EAAA,EAAA,IAAAO,CAAA,GAAAK,MAAA,CAAA0B,cAAA,QAAA/B,CAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA,CAAA,OAAAR,CAAA,EAAAQ,EAAAA,CAAA,GAAAO,CAAAA,CAAAA,EAAAA,CAAAA,mBAAA,GAAAyB,SAAAA,kBAAAA,CAAAxC,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAH,CAAA,EAAAC,EAAAA,IAAAA,CAAA,EAAAM,CAAA,GAAAA,CAAA,CAAAR,CAAA,EAAAE,CAAA,EAAA2B,EAAAA,KAAA,EAAAzB,CAAA,EAAAqC,UAAA,EAAA,CAAAxC,CAAA,EAAAyC,YAAA,EAAAzC,CAAAA,CAAA,EAAA0C,QAAA,EAAA,CAAA1C,CAAA,EAAAD,CAAAA,GAAAA,CAAA,CAAAE,CAAA,CAAAE,GAAAA,CAAA,YAAAE,CAAA,GAAA,SAAAA,EAAAJ,CAAA,EAAAE,CAAA,EAAAW,EAAAA,mBAAA,CAAAf,CAAA,EAAAE,CAAA,YAAAF,CAAA,EAAA,EAAA,OAAA,IAAA,CAAA4C,OAAA,CAAA1C,CAAA,EAAAE,CAAA,EAAAJ,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAAM,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAAA,CAAA,CAAAA,OAAAA,EAAAA,CAAAA,CAAAA,EAAAA,CAAA,CAAAS,QAAAA,EAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,EAAAA,mBAAA,CAAAf,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAH,CAAA,CAAA,CAAA,EAAA;AAAA,SAAA4C,kBAAAA,CAAAzC,CAAA,EAAAH,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAI,CAAA,EAAAe,CAAA,EAAAZ,CAAA,EAAA,EAAA,IAAA,EAAA,IAAAD,CAAA,GAAAJ,CAAA,CAAAiB,CAAA,CAAAZ,CAAAA,CAAA,CAAAG,EAAAA,CAAA,GAAAJ,CAAA,CAAAqB,KAAA,CAAA,EAAA,CAAA,OAAAzB,CAAA,EAAA,EAAA,OAAA,KAAAJ,CAAA,CAAAI,CAAA,CAAAI,CAAAA,EAAAA,CAAAA,CAAA,CAAAoB,IAAA,GAAA3B,CAAA,CAAAW,CAAA,CAAA,GAAAkC,OAAA,CAAAC,OAAA,CAAAnC,CAAA,CAAA,CAAAoC,IAAA,CAAA9C,CAAA,EAAAI,CAAA,CAAA,CAAA,EAAA;AAAA,SAAA2C,iBAAAA,CAAA7C,CAAA,EAAA,EAAA,OAAA,YAAA,EAAA,IAAAH,CAAA,GAAA,IAAA,EAAAD,CAAA,GAAAkD,SAAA,CAAA,CAAA,OAAA,IAAAJ,OAAA,CAAA,UAAA5C,CAAA,EAAAI,CAAA,EAAA,EAAA,IAAAe,CAAA,GAAAjB,CAAA,CAAA+C,KAAA,CAAAlD,CAAA,EAAAD,CAAA,CAAA,CAAA,CAAA,SAAAoD,KAAAhD,CAAAA,CAAA,EAAAyC,EAAAA,kBAAA,CAAAxB,CAAA,EAAAnB,CAAA,EAAAI,CAAA,EAAA8C,KAAA,EAAAC,MAAA,EAAAjD,MAAAA,EAAAA,CAAA,CAAAiD,CAAAA,EAAAA,CAAAA,SAAAA,MAAAA,CAAAjD,CAAA,EAAA,EAAAyC,kBAAA,CAAAxB,CAAA,EAAAnB,CAAA,EAAAI,CAAA,EAAA8C,KAAA,EAAAC,MAAA,EAAA,OAAA,EAAAjD,CAAA,CAAA,CAAA,EAAA,CAAAgD,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA;AAGO,IAAME,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;;AAEpD;AACA;AACA;AACA;AACA;;AAEO,SAASC,gBAAgBA,CAACC,KAAK,EAAE;EACtC,IAAIC,cAAc,GAAG,EAAE,CAAA;AACvB,EAAA,IAAI,CAACD,KAAK,EAAE,OAAOC,cAAc,CAAA;AACjC,EAAA,KAAK,IAAIjD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgD,KAAK,CAAChC,MAAM,EAAEhB,CAAC,EAAE,EAAE;IACrC,IAAIkD,SAAS,CAACF,KAAK,CAAChD,CAAC,CAAC,CAAC,IAAIgD,KAAK,CAAChD,CAAC,CAAC,KAAK,GAAG,IAAIgD,KAAK,CAAChD,CAAC,CAAC,KAAK,GAAG,EAAE;AAC/D;MACA,IAAIA,CAAC,GAAG,CAAC,IAAIgD,KAAK,CAAChD,CAAC,CAAC,KAAK,GAAG,IAAImD,UAAU,CAACH,KAAK,CAAChD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAA;AAE3DiD,MAAAA,cAAc,IAAID,KAAK,CAAChD,CAAC,CAAC,CAAA;AAC5B,KAAA;AACF,GAAA;AACA,EAAA,OAAOiD,cAAc,CAAA;AACvB,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASG,UAAUA,CAACJ,KAAK,EAAE;AAChC,EAAA,OAAOK,UAAU,CAACN,gBAAgB,CAACC,KAAK,CAAC,CAAC,CAAA;AAC5C,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASE,SAASA,CAACtD,CAAC,EAAE;AAC3B,EAAA,OAAO,CAAC0D,KAAK,CAACD,UAAU,CAACzD,CAAC,CAAC,CAAC,IAAI2D,QAAQ,CAAC3D,CAAC,CAAC,CAAA;AAC7C,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASuD,UAAUA,CAACvD,CAAC,EAAE;AAC5B,EAAA,OAAO,eAAe,CAAC4D,IAAI,CAAC5D,CAAC,CAAC,CAAA;AAChC,CAAA;;AAEA;AACA;AACA;AACA;;AAEO,SAAS6D,WAAWA,GAAG;EAC5B,IAAMC,IAAI,GAAGC,QAAQ,CAClBC,aAAa,CAAC,MAAM,CAAC,CACrBF,IAAI,CAACG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CACpBC,WAAW,EAAE,CAAA;AAChB,EAAA,OAAOhB,kBAAkB,CAACiB,OAAO,CAACL,IAAI,CAAC,GAAG,CAAC,CAAC,GAAGA,IAAI,GAAG,IAAI,CAAA;AAC5D,CAAA;AAEsBM,SAAAA,UAAUA,CAAAC,EAAA,EAAA;AAAA,EAAA,OAAAC,WAAA,CAAAvB,KAAA,CAAA,IAAA,EAAAD,SAAA,CAAA,CAAA;AAAA,CAAA;;AAkBhC;AACA;AACA;AACA;AACA;AACA;AALA,SAAAwB,WAAA,GAAA;EAAAA,WAAA,GAAAzB,iBAAA,cAAAb,YAAA,GAAAE,CAAA,CAlBO,SAAAqC,OAAAA,CAA0BC,SAAS,EAAA;AAAA,IAAA,IAAAC,WAAA,EAAAC,GAAA,EAAAC,QAAA,EAAAC,EAAA,CAAA;AAAA,IAAA,OAAA5C,YAAA,EAAA,CAAAC,CAAA,CAAA,UAAA4C,QAAA,EAAA;MAAA,OAAAA,CAAAA,EAAAA,QAAAA,QAAA,CAAA7E,CAAA;AAAA,QAAA,KAAA,CAAA;UAClCyE,WAAW,GAAGZ,WAAW,EAAE,CAAA;UACjCW,SAAS,CAACM,SAAS,GACjB,mEAAmE,CAAA;UAC/DJ,GAAG,GAAA,0CAAA,CAAAK,MAAA,CAA8CN,WAAW,EAAA,OAAA,CAAA,CAAA;AAAAI,UAAAA,QAAA,CAAAhE,CAAA,GAAA,CAAA,CAAA;AAAAgE,UAAAA,QAAA,CAAA7E,CAAA,GAAA,CAAA,CAAA;UAAA,OAEzCgF,KAAK,CAACN,GAAG,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAA3BC,QAAQ,GAAAE,QAAA,CAAA7D,CAAA,CAAA;UAAA,IACT2D,QAAQ,CAACM,EAAE,EAAA;AAAAJ,YAAAA,QAAA,CAAA7E,CAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;UAAA,MACR,IAAIkF,KAAK,CAAAH,0CAAAA,CAAAA,MAAA,CAC8BJ,QAAQ,CAACQ,MAAM,CAC5D,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;AAAAN,UAAAA,QAAA,CAAA7E,CAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OAEyB2E,QAAQ,CAACS,IAAI,EAAE,CAAA;AAAA,QAAA,KAAA,CAAA;AAA3CZ,UAAAA,SAAS,CAACa,SAAS,GAAAR,QAAA,CAAA7D,CAAA,CAAA;AAAA6D,UAAAA,QAAA,CAAA7E,CAAA,GAAA,CAAA,CAAA;AAAA,UAAA,MAAA;AAAA,QAAA,KAAA,CAAA;AAAA6E,UAAAA,QAAA,CAAAhE,CAAA,GAAA,CAAA,CAAA;UAAA+D,EAAA,GAAAC,QAAA,CAAA7D,CAAA,CAAA;AAEnBsE,UAAAA,OAAO,CAACC,KAAK,CAAAX,EAAM,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAAA,OAAAC,QAAA,CAAA5D,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAsD,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;GAEvB,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAD,WAAA,CAAAvB,KAAA,CAAA,IAAA,EAAAD,SAAA,CAAA,CAAA;AAAA,CAAA;AAQM,SAAS0C,WAAWA,CAACC,WAAW,EAAyB;AAAA,EAAA,IAAvBC,eAAe,GAAA5C,SAAA,CAAA1B,MAAA,GAAA,CAAA,IAAA0B,SAAA,CAAA,CAAA,CAAA,KAAA6C,SAAA,GAAA7C,SAAA,CAAA,CAAA,CAAA,GAAG,GAAG,CAAA;EAC5D,IAAM8C,cAAc,GAAG,SAAS,CAAA;AAChC,EAAA,IAAMC,aAAa,GAAGJ,WAAW,CAACK,KAAK,CAACF,cAAc,CAAC,CAAA;AACvD,EAAA,OAAOC,aAAa,GAAGA,aAAa,CAAC,CAAC,CAAC,GAAGH,eAAe,CAAA;AAC3D,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASK,eAAeA,CAACtB,WAAW,EAAE;AAC3C,EAAA,IAAMuB,eAAe,GAAG;AACtBC,IAAAA,EAAE,EAAEC,cAAc;AAClBC,IAAAA,EAAE,EAAEC,cAAc;AAClBC,IAAAA,EAAE,EAAEC,cAAAA;GACL,CAAA;EACD,OAAON,eAAe,CAACvB,WAAW,CAAC,CAAA;AACrC;;AC1GO,SAAS8B,mBAAmBA,CAACC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAE;AACnE,EAAA,IAAMtD,KAAK,GAAGI,UAAU,CAACgD,SAAS,CAAC,CAAA;EACnC,OAAOC,UAAU,IAAIrD,KAAK,IAAIqD,UAAU,IAAIrD,KAAK,IAAIsD,QAAQ,CAAA;AAC/D,CAAA;AAEA,SAASC,aAAWA,CAACvD,KAAK,EAAE;AAC1B,EAAA,QAAQ,IAAI;IACV,KAAKA,KAAK,GAAG,IAAI;AACf,MAAA,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACrB,KAAKA,KAAK,GAAG,GAAG;AACd,MAAA,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACrB,KAAKA,KAAK,GAAG,GAAG;AACd,MAAA,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AACnB,IAAA;AACE,MAAA,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AACpB,GAAA;AACF,CAAA;AAEA,SAASwD,8BAA4BA,CAACJ,SAAS,EAAEK,IAAI,EAAEC,GAAG,EAAE;AAC1D,EAAA,IAAM1D,KAAK,GAAG2D,MAAM,CAACP,SAAS,CAAC,CAAA;EAC/B,IAAIM,GAAG,GAAG,CAAC,EAAE;AACX,IAAA,IAAME,IAAI,GAAGF,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;AAC3B,IAAA,IAAMG,SAAS,GAAG7D,KAAK,GAAG4D,IAAI,GAAGE,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGH,IAAI,EAAEH,IAAI,CAAC,CAAA;AACzD,IAAA,IAAMO,WAAW,GAAGF,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGH,IAAI,EAAEH,IAAI,CAAC,GAAG,CAAC,CAAA;AAChD,IAAA,IAAMQ,eAAe,GAAGJ,SAAS,GAAGG,WAAW,CAAA;AAC/C,IAAA,OAAOC,eAAe,CAAA;AACxB,GAAC,MAAM;IACL,OAAOjE,KAAK,GAAGyD,IAAI,CAAA;AACrB,GAAA;AACF,CAAA;AAEO,SAASS,iBAAiBA,CAC/BlE,KAAK,EACLmE,gBAAgB,EAChBd,UAAU,EACVC,QAAQ,EACRc,OAAO,EACP;AACA,EAAA,IAAM/B,WAAW,GAAGtC,gBAAgB,CAACC,KAAK,CAAC,CAAA;AAC3C,EAAA,IAAMqE,aAAa,GAAGjE,UAAU,CAACJ,KAAK,CAAC,CAAA;EACvC,IAAMsE,SAAS,GAAGtE,KAAK,CAACuE,OAAO,CAAClC,WAAW,EAAE,SAAS,CAAC,CAAA;AACvD,EAAA,IAAMmC,KAAK,GAAGjB,aAAW,CAACc,aAAa,CAAC,CAAA;AACxC,EAAA,IAAMI,sBAAsB,GAAGtB,mBAAmB,CAChDd,WAAW,EACXgB,UAAU,EACVC,QACF,CAAC,GACGE,8BAA4B,CAC5BnB,WAAW,EACXmC,KAAK,CAACA,KAAK,CAACxG,MAAM,GAAG,CAAC,CAAC,EACvBoG,OACF,CAAC,GACCC,aAAa,GAAGF,gBAAgB,CAAA;AACpC,EAAA,IAAMO,+BAA+B,GAAGJ,SAAS,CAACC,OAAO,CACvD,SAAS,EACTE,sBAAsB,CAACE,OAAO,CAAC,CAAC,CAClC,CAAC,CAAA;AAED,EAAA,OAAOD,+BAA+B,CAAA;AACxC;;AC7DA,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AAC/B,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACjC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC9B;AACA,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,EAAE;AAC1D;AACA,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;AAC1B;AACA,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;AACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;AACnC,GAAG,MAAM;AACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;;;;;ACvBO,SAASE,gBAAgBA,CAACxD,SAAS,EAAEyD,QAAQ,EAAEvB,QAAQ,EAAE;AAC9D,EAAA,IAAMjC,WAAW,GAAGZ,WAAW,EAAE,CAAA;AACjC,EAAA,IAAMqE,YAAY,GAAGnC,eAAe,CAACtB,WAAW,CAAC,CAAA;EACjDD,SAAS,CAACM,SAAS,GACjB,gEAAgE,CAAA;EAElE,IAAMqD,YAAY,kFAAApD,MAAA,CAChBmD,YAAY,CAACE,MAAM,yBAAArD,MAAA,CAEPmD,YAAY,CAACG,iBAAiB,sQAAAtD,MAAA,CAKtCmD,YAAY,CAACI,gBAAgB,EAAAvD,ieAAAA,CAAAA,CAAAA,MAAA,CAOzBmD,YAAY,CAACK,yBAAyB,EAAA,wnBAAA,CAAA,CAAAxD,MAAA,CAUdmD,YAAY,CAACM,kBAAkB,EAAA,6kHAAA,CAAA,CAAAzD,MAAA,CAkC/CmD,YAAY,CAACO,yBAAyB,EAAA,oFAAA,CAAA,CAAA1D,MAAA,CAGtCmD,YAAY,CAACQ,oBAAoB,EAAA,osRAAA,CAAA,CAAA3D,MAAA,CAkBbmD,YAAY,CAACS,eAAe,EAAA5D,yEAAAA,CAAAA,CAAAA,MAAA,CAGlDmD,YAAY,CAACU,oBAAoB,EAAA7D,2BAAAA,CAAAA,CAAAA,MAAA,CACjCmD,YAAY,CAACW,qBAAqB,EAAA9D,8DAAAA,CAAAA,CAAAA,MAAA,CAG1CN,WAAW,KAAK,IAAI,GAAG,uBAAuB,GAAG,EAAE,EAAAM,yNAAAA,CAAAA,CAAAA,MAAA,CAKFmD,YAAY,CAACY,SAAS,EAAA/D,4xDAAAA,CAAAA,CAAAA,MAAA,CAU9BmD,YAAY,CAACa,KAAK,EAAAhE,iRAAAA,CAAAA,CAAAA,MAAA,CAMVmD,YAAY,CAACY,SAAS,EAAA/D,g3CAAAA,CAAAA,CAAAA,MAAA,CAQ9BmD,YAAY,CAACc,IAAI,EAAA,kMAAA,CAAA,CAAAjE,MAAA,CAITmD,YAAY,CAACY,SAAS,uoEAAA/D,MAAA,CAU9BmD,YAAY,CAACc,IAAI,sMAAAjE,MAAA,CAITmD,YAAY,CAACY,SAAS,63BAAA/D,MAAA,CAO9BmD,YAAY,CAACc,IAAI,EAAAjE,6PAAAA,CAAAA,CAAAA,MAAA,CAQtDmD,YAAY,CAACe,eAAe,EAAA,wEAAA,CAAA,CAAAlE,MAAA,CAG5BmD,YAAY,CAACgB,mBAAmB,EAAA,wEAAA,CAAA,CAAAnE,MAAA,CAGhCmD,YAAY,CAACiB,mBAAmB,EAAA,qKAAA,CAAA,CAAApE,MAAA,CAKUmD,YAAY,CAACkB,WAAW,EAAA,cAAA,CAAA,CAAArE,MAAA,CAAcmD,YAAY,CAACmB,MAAM,EAAAtE,qBAAAA,CAAAA,CAAAA,MAAA,CAAsBmD,YAAY,CAACoB,QAAQ,EAAAvE,+FAAAA,CAAAA,CAAAA,MAAA,CAE3FmD,YAAY,CAACkB,WAAW,EAAArE,cAAAA,CAAAA,CAAAA,MAAA,CAAcmD,YAAY,CAACqB,MAAM,EAAAxE,0HAAAA,CAAAA,CAAAA,MAAA,CAE1CmD,YAAY,CAACkB,WAAW,kBAAArE,MAAA,CAAcmD,YAAY,CAACsB,YAAY,OAAAzE,MAAA,CAAImD,YAAY,CAACuB,eAAe,EAAA,qBAAA,CAAA,CAAA1E,MAAA,CAAsBmD,YAAY,CAACwB,mBAAmB,EAAA,iJAAA,CAAA,CAAA3E,MAAA,CAI/LmD,YAAY,CAACyB,QAAQ,EAKhD,2EAAA,CAAA,CAAA;AACTnF,EAAAA,SAAS,CAACa,SAAS,GAAG8C,YAAY,CAC/BR,OAAO,CAAC,eAAe,EAAEiC,IAAI,CAACC,YAAY,CAACpF,WAAW,CAAC,CAACqF,MAAM,CAAC7B,QAAQ,CAAC,CAAC,CACzEN,OAAO,CAAC,eAAe,EAAEiC,IAAI,CAACC,YAAY,CAACpF,WAAW,CAAC,CAACqF,MAAM,CAACpD,QAAQ,CAAC,CAAC,CAAA;AAC9E;;ACtLA,IAAMqD,gBAAgB,GAAG,CAAC,CAAA;AAC1B,IAAMC,gBAAgB,GAAG,CAAC,CAAA;AAC1B,IAAMC,uBAAuB,GAAG,GAAG,CAAA;AACnC,IAAMC,uBAAqB,GAAG,UAAU,CAAA;AACxC,IAAMC,cAAc,GAAG,gBAAgB,CAAA;AAEvC,SAASC,wBAAwBA,CAACC,QAAQ,EAAE5E,WAAW,EAAE;AACvD,EAAA,KAAK,IAAIrF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGiK,QAAQ,CAACjJ,MAAM,EAAEhB,CAAC,EAAE,EAAE;AACxCiK,IAAAA,QAAQ,CAACjK,CAAC,CAAC,CAACkK,WAAW,GAAG7E,WAAW,CAAA;AACvC,GAAA;AACF,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS8E,mBAAmBA,CAAChD,gBAAgB,EAAEiD,QAAQ,EAAE/E,WAAW,EAAEgB,UAAU,EAAEC,QAAQ,EAAEc,OAAO,EAAEU,YAAY,EAAE;EACjH,IAAMuC,aAAa,GAAGlD,gBAAgB,KAAK,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAA;EACjE,IAAMmD,SAAS,GAAGnD,gBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;AAClD,EAAA,IAAMoD,gBAAgB,GAAGrD,iBAAiB,CAACkD,QAAQ,GAAG/E,WAAW,EAAE8B,gBAAgB,EAAEd,UAAU,EAAEC,QAAQ,EAAEc,OAAO,CAAC,CAAA;;AAEnH;EACA,IAAMoD,YAAY,GAAG,EAAE,CAAA;EACvB,KAAK,IAAIxK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmH,gBAAgB,EAAEnH,CAAC,EAAE,EAAE;AACzC,IAAA,IAAMyK,OAAO,GAAGzK,CAAC,KAAK,CAAC,CAAA;AACvB,IAAA,IAAM0K,MAAM,GAAG1K,CAAC,KAAKmH,gBAAgB,GAAG,CAAC,CAAA;AACzC,IAAA,IAAMwD,UAAU,GAAG3K,CAAC,GAAG,CAAC,CAAA;AACxB,IAAA,IAAM4K,OAAO,GAAGH,OAAO,GAAG3C,YAAY,CAACa,KAAK,GAAA,EAAA,CAAAhE,MAAA,CAAMgG,UAAU,EAAAhG,GAAAA,CAAAA,CAAAA,MAAA,CAAImD,YAAY,CAAC+C,QAAQ,CAAE,CAAA;AAEvFL,IAAAA,YAAY,CAACM,IAAI,CAAAnG,oGAAAA,CAAAA,MAAA,CAGa0F,aAAa,EAAA1F,+BAAAA,CAAAA,CAAAA,MAAA,CACrB2F,SAAS,EAAA3F,gCAAAA,CAAAA,CAAAA,MAAA,CAA6B2F,SAAS,EAAA,4DAAA,CAAA,CAAA3F,MAAA,CAAwD8F,OAAO,GAAG,6BAA6B,GAAG,EAAE,EAAA9F,6BAAAA,CAAAA,CAAAA,MAAA,CACpJ2F,SAAS,KAAK,EAAE,GAAG,MAAM,GAAG,UAAU,EAAA,aAAA,CAAA,CAAA3F,MAAA,CAAY2F,SAAS,EAAA,kfAAA,CAAA,CAAA3F,MAAA,CAQjD0F,aAAa,EAAA1F,+BAAAA,CAAAA,CAAAA,MAAA,CACtB2F,SAAS,EAAA3F,cAAAA,CAAAA,CAAAA,MAAA,CAAa3E,CAAC,GAAG,CAAC,IAAIA,CAAC,GAAGmH,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAAxC,mBAAAA,CAAAA,CAAAA,MAAA,CAAkB2F,SAAS,EAAA3F,GAAAA,CAAAA,CAAAA,MAAA,CAAI3E,CAAC,GAAG,CAAC,IAAIA,CAAC,GAAGmH,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAAxC,0DAAAA,CAAAA,CAAAA,MAAA,CAAsD+F,MAAM,GAAG,6BAA6B,GAAG,EAAE,EAAA,6BAAA,CAAA,CAAA/F,MAAA,CAC3O2F,SAAS,KAAK,EAAE,GAAG,MAAM,GAAG,UAAU,EAAA3F,KAAAA,CAAAA,CAAAA,MAAA,CAAK3E,CAAC,GAAG,CAAC,IAAIA,CAAC,GAAGmH,gBAAgB,GAAG,CAAC,GAAG,QAAQ,GAAG,EAAE,EAAAxC,UAAAA,CAAAA,CAAAA,MAAA,CAAU2F,SAAS,EAAA3F,sHAAAA,CAAAA,CAAAA,MAAA,CAI5G8F,OAAO,GAAG,oBAAoB,GAAG,EAAE,EAAA,mCAAA,CAAA,CAAA9F,MAAA,CAChCwC,gBAAgB,EAAAxC,kCAAAA,CAAAA,CAAAA,MAAA,CACjC4F,gBAAgB,EAAA5F,+DAAAA,CAAAA,CAAAA,MAAA,CAGhBiG,OAAO,2DAIhB,CAAC,CAAA;AACJ,GAAA;EAEA,OAAAjG,iCAAAA,CAAAA,MAAA,CAC6BwC,gBAAgB,EAAA,wJAAA,CAAA,CAAAxC,MAAA,CAIdwC,gBAAgB,EAAAxC,oBAAAA,CAAAA,CAAAA,MAAA,CAAqB4F,gBAAgB,6CAAA5F,MAAA,CACtDmD,YAAY,CAACa,KAAK,+FAAAhE,MAAA,CAGjBmD,YAAY,CAACiD,QAAQ,EAAA,GAAA,CAAA,CAAApG,MAAA,CAAIwC,gBAAgB,qGAAAxC,MAAA,CAIjDwC,gBAAgB,EAAAxC,qBAAAA,CAAAA,CAAAA,MAAA,CAAqB4F,gBAAgB,EAAA5F,UAAAA,CAAAA,CAAAA,MAAA,CAAWmD,YAAY,CAACkD,cAAc,EAAA,iFAAA,CAAA,CAAArG,MAAA,CAI1G6F,YAAY,CAACS,IAAI,CAAC,EAAE,CAAC,EAAA,gCAAA,CAAA,CAAA;AAI/B,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,iBAAiBA,CAACC,SAAS,EAAEC,UAAU,EAAEC,SAAS,EAAE;AAC3D,EAAA,IAAI,CAACF,SAAS,IAAI,CAACC,UAAU,EAAE,OAAA;;AAE/B;EACA,IAAIC,SAAS,KAAK1B,gBAAgB,EAAE;AAClCwB,IAAAA,SAAS,CAACG,SAAS,CAACC,GAAG,CAAC,UAAU,CAAC,CAAA;AACnCJ,IAAAA,SAAS,CAACK,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;AACjD,GAAC,MAAM;AACLL,IAAAA,SAAS,CAACG,SAAS,CAACG,MAAM,CAAC,UAAU,CAAC,CAAA;AACtCN,IAAAA,SAAS,CAACO,eAAe,CAAC,eAAe,CAAC,CAAA;AAC5C,GAAA;;AAEA;EACA,IAAIL,SAAS,KAAKzB,gBAAgB,EAAE;AAClCwB,IAAAA,UAAU,CAACE,SAAS,CAACC,GAAG,CAAC,UAAU,CAAC,CAAA;AACpCH,IAAAA,UAAU,CAACI,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;AAClD,GAAC,MAAM;AACLJ,IAAAA,UAAU,CAACE,SAAS,CAACG,MAAM,CAAC,UAAU,CAAC,CAAA;AACvCL,IAAAA,UAAU,CAACM,eAAe,CAAC,eAAe,CAAC,CAAA;AAC7C,GAAA;AACF,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CAACC,IAAI,EAAEP,SAAS,EAAE;EACxC,IAAI,CAACO,IAAI,EAAE,OAAA;AAEX,EAAA,KAAK,IAAI5L,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4L,IAAI,CAAC5K,MAAM,EAAEhB,CAAC,EAAE,EAAE;AACpC,IAAA,IAAM6L,QAAQ,GAAIR,SAAS,GAAG,CAAC,KAAMrL,CAAC,CAAA;IACtC4L,IAAI,CAAC5L,CAAC,CAAC,CAAC0E,SAAS,GAAGmH,QAAQ,GAAG,YAAY,GAAG,KAAK,CAAA;AACnDD,IAAAA,IAAI,CAAC5L,CAAC,CAAC,CAACwL,YAAY,CAAC,eAAe,EAAEK,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;AACpE,GAAA;AACF,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASC,sBAAsBA,CAACC,eAAe,EAAEV,SAAS,EAAE;EAC1D,IAAI,CAACU,eAAe,EAAE,OAAA;AAEtB,EAAA,IAAMC,QAAQ,GAAGD,eAAe,CAACnI,aAAa,CAAC,WAAW,CAAC,CAAA;AAC3D,EAAA,IAAIoI,QAAQ,EAAE;AACZA,IAAAA,QAAQ,CAACtH,SAAS,GAAA,oBAAA,CAAAC,MAAA,CAAwB0G,SAAS,CAAE,CAAA;AACvD,GAAA;AACF,CAAA;;AAEA;AACA;AACA;AACA;AACA,SAASY,uBAAuBA,CAACC,GAAG,EAAE;AAAA,EAAA,IAAAC,qBAAA,CAAA;EACpC,IAAI,CAACD,GAAG,IAAIA,GAAG,CAACZ,SAAS,CAACc,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAA;AAEhD,EAAA,IAAMhI,SAAS,GAAG8H,GAAG,CAACG,OAAO,CAAC,6BAA6B,CAAC,CAAA;EAC5D,IAAI,CAACjI,SAAS,EAAE,OAAA;AAEhB,EAAA,IAAM2H,eAAe,GAAGG,GAAG,CAACG,OAAO,CAAC,gBAAgB,CAAC,CAAA;EACrD,IAAI,CAACN,eAAe,EAAE,OAAA;AAEtB,EAAA,IAAIV,SAAS,GAAGiB,QAAQ,CAAClI,SAAS,CAACmI,OAAO,CAAClB,SAAS,IAAI1B,gBAAgB,EAAE,EAAE,CAAC,CAAA;;AAE7E;EACA,IAAM6C,YAAY,GAAGN,GAAG,CAACZ,SAAS,CAACc,QAAQ,CAAC,aAAa,CAAC,CAAA;AAC1D,EAAA,IAAII,YAAY,EAAE;IAChBnB,SAAS,GAAGvE,IAAI,CAAC2F,GAAG,CAACpB,SAAS,GAAG,CAAC,EAAEzB,gBAAgB,CAAC,CAAA;AACvD,GAAC,MAAM;IACLyB,SAAS,GAAGvE,IAAI,CAAC4F,GAAG,CAACrB,SAAS,GAAG,CAAC,EAAE1B,gBAAgB,CAAC,CAAA;AACvD,GAAA;;AAEA;AACAvF,EAAAA,SAAS,CAACmI,OAAO,CAAClB,SAAS,GAAGA,SAAS,CAAA;;AAEvC;EACA,IAAMsB,MAAM,GAAGT,GAAG,CAACU,aAAa,CAACC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AAC3D,EAAA,IAAM1B,SAAS,GAAG2B,KAAK,CAACC,IAAI,CAACJ,MAAM,CAAC,CAACK,IAAI,CAAC,UAAAC,KAAK,EAAA;AAAA,IAAA,OAAIA,KAAK,CAAC3B,SAAS,CAACc,QAAQ,CAAC,YAAY,CAAC,CAAA;GAAC,CAAA,CAAA;AAC1F,EAAA,IAAMhB,UAAU,GAAG0B,KAAK,CAACC,IAAI,CAACJ,MAAM,CAAC,CAACK,IAAI,CAAC,UAAAC,KAAK,EAAA;AAAA,IAAA,OAAIA,KAAK,CAAC3B,SAAS,CAACc,QAAQ,CAAC,aAAa,CAAC,CAAA;GAAC,CAAA,CAAA;;AAE5F;AACAN,EAAAA,sBAAsB,CAACC,eAAe,EAAEV,SAAS,CAAC,CAAA;AAClDH,EAAAA,iBAAiB,CAACC,SAAS,EAAEC,UAAU,EAAEC,SAAS,CAAC,CAAA;AAEnD,EAAA,IAAMO,IAAI,GAAA,CAAAO,qBAAA,GAAGJ,eAAe,CAACnI,aAAa,CAAC,gBAAgB,CAAC,MAAAuI,IAAAA,IAAAA,qBAAA,KAA/CA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAiDe,QAAQ,CAAA;AACtEvB,EAAAA,eAAe,CAACC,IAAI,EAAEP,SAAS,CAAC,CAAA;AAClC,CAAA;;AAEA;AACA;AACA;AACA;AACO,SAAS8B,cAAcA,CAAC/I,SAAS,EAAE;EACxC,IAAI,CAACA,SAAS,EAAE,OAAA;AAEhB,EAAA,IAAM2H,eAAe,GAAG3H,SAAS,CAACR,aAAa,CAAC,gBAAgB,CAAC,CAAA;EACjE,IAAI,CAACmI,eAAe,EAAE,OAAA;AAEtB,EAAA,IAAMY,MAAM,GAAGvI,SAAS,CAACgJ,sBAAsB,CAAC,OAAO,CAAC,CAAA;AACxD,EAAA,IAAMjC,SAAS,GAAG2B,KAAK,CAACC,IAAI,CAACJ,MAAM,CAAC,CAACK,IAAI,CAAC,UAAAC,KAAK,EAAA;AAAA,IAAA,OAAIA,KAAK,CAAC3B,SAAS,CAACc,QAAQ,CAAC,YAAY,CAAC,CAAA;GAAC,CAAA,CAAA;AAC1F,EAAA,IAAMhB,UAAU,GAAG0B,KAAK,CAACC,IAAI,CAACJ,MAAM,CAAC,CAACK,IAAI,CAAC,UAAAC,KAAK,EAAA;AAAA,IAAA,OAAIA,KAAK,CAAC3B,SAAS,CAACc,QAAQ,CAAC,aAAa,CAAC,CAAA;GAAC,CAAA,CAAA;AAE5F,EAAA,IAAI,CAACjB,SAAS,IAAI,CAACC,UAAU,EAAE,OAAA;EAE/B,IAAMiC,aAAa,GAAGjJ,SAAS,CAACmI,OAAO,CAACe,mBAAmB,KAAK,MAAM,CAAA;AAEtE,EAAA,IAAID,aAAa,EAAE;AAAA,IAAA,IAAAE,sBAAA,CAAA;AACjB;AACAnJ,IAAAA,SAAS,CAACmI,OAAO,CAAClB,SAAS,GAAG1B,gBAAgB,CAAA;AAC9CmC,IAAAA,sBAAsB,CAACC,eAAe,EAAEpC,gBAAgB,CAAC,CAAA;AACzDuB,IAAAA,iBAAiB,CAACC,SAAS,EAAEC,UAAU,EAAEzB,gBAAgB,CAAC,CAAA;AAE1D,IAAA,IAAMiC,IAAI,GAAA,CAAA2B,sBAAA,GAAGxB,eAAe,CAACnI,aAAa,CAAC,gBAAgB,CAAC,MAAA2J,IAAAA,IAAAA,sBAAA,KAA/CA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAA,CAAiDL,QAAQ,CAAA;AACtEvB,IAAAA,eAAe,CAACC,IAAI,EAAEjC,gBAAgB,CAAC,CAAA;AACzC,GAAC,MAAM;AACL;AACAvF,IAAAA,SAAS,CAACmI,OAAO,CAACe,mBAAmB,GAAG,MAAM,CAAA;AAC9ClJ,IAAAA,SAAS,CAACmI,OAAO,CAAClB,SAAS,GAAG1B,gBAAgB,CAAA;;AAE9C;AACA,IAAA,KAAK,IAAI3J,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2M,MAAM,CAAC3L,MAAM,EAAEhB,CAAC,EAAE,EAAE;MACtC2M,MAAM,CAAC3M,CAAC,CAAC,CAACwN,gBAAgB,CAAC,OAAO,EAAE,UAAChO,CAAC,EAAK;QACzCA,CAAC,CAACiO,eAAe,EAAE,CAAA;AACnBxB,QAAAA,uBAAuB,CAACzM,CAAC,CAACkO,aAAa,CAAC,CAAA;AAC1C,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;AACF,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,cAAcA,CAACvJ,SAAS,EAAEiC,UAAU,EAAEC,QAAQ,EAAEc,OAAO,EAAEwG,eAAe,EAAEC,kBAAkB,EAAE;AACrG,EAAA,IAAMC,KAAK,GAAG1J,SAAS,CAACR,aAAa,CAAC,eAAe,CAAC,CAAA;AACtD,EAAA,IAAMmK,gBAAgB,GAAG3J,SAAS,CAACgJ,sBAAsB,CAAC,mBAAmB,CAAC,CAAA;AAC9E,EAAA,IAAMY,gBAAgB,GAAG5J,SAAS,CAACgJ,sBAAsB,CAAC,mBAAmB,CAAC,CAAA;EAE9E,IAAI,CAACU,KAAK,IAAIA,KAAK,CAACvB,OAAO,CAAC0B,cAAc,EAAE,OAAA;;AAE5C;EACA,IAAI,CAACF,gBAAgB,CAAC/M,MAAM,IAAI,CAACgN,gBAAgB,CAAChN,MAAM,EAAE,OAAA;EAE1D,IAAIoJ,QAAQ,GAAGwD,eAAe,CAAA;EAC9B,IAAIvI,WAAW,GAAGwI,kBAAkB,CAAA;EACpC,IAAIK,aAAa,GAAG,IAAI,CAAA;;AAExB;AACAJ,EAAAA,KAAK,CAACN,gBAAgB,CAAC,OAAO,EAAE,UAAChO,CAAC,EAAA;AAAA,IAAA,OAAKA,CAAC,CAACiO,eAAe,EAAE,CAAA;GAAC,CAAA,CAAA;AAC3DK,EAAAA,KAAK,CAACN,gBAAgB,CAAC,OAAO,EAAE,UAAChO,CAAC,EAAA;AAAA,IAAA,OAAKA,CAAC,CAACiO,eAAe,EAAE,CAAA;GAAC,CAAA,CAAA;AAE3DK,EAAAA,KAAK,CAACN,gBAAgB,CAAC,OAAO,EAAE,UAACW,KAAK,EAAK;IACzCA,KAAK,CAACV,eAAe,EAAE,CAAA;;AAEvB;AACA,IAAA,IAAIS,aAAa,EAAE;MACjBE,YAAY,CAACF,aAAa,CAAC,CAAA;AAC7B,KAAA;IAEAA,aAAa,GAAGG,UAAU,CAAC,YAAM;AAC/B;AACA,MAAA,IAAMC,MAAM,GAAGH,KAAK,CAACI,MAAM,CAAClN,KAAK,CAACkG,OAAO,CAACwC,cAAc,EAAE,EAAE,CAAC,CAAA;;AAE7D;AACAK,MAAAA,QAAQ,GAAGhF,WAAW,CAACkJ,MAAM,CAAC,CAAA;;AAE9B;AACA;MACAjJ,WAAW,GAAGiJ,MAAM,CACjB/G,OAAO,CAACuC,uBAAqB,EAAE,EAAE,CAAC,CAAA;;AAErC;AACAE,MAAAA,wBAAwB,CACtB+D,gBAAgB,EAChB7G,iBAAiB,CAACkD,QAAQ,GAAG/E,WAAW,EAAE,CAAC,EAAEgB,UAAU,EAAEC,QAAQ,EAAEc,OAAO,CAC5E,CAAC,CAAA;AACD4C,MAAAA,wBAAwB,CACtBgE,gBAAgB,EAChB9G,iBAAiB,CAACkD,QAAQ,GAAG/E,WAAW,EAAE,CAAC,EAAEgB,UAAU,EAAEC,QAAQ,EAAEc,OAAO,CAC5E,CAAC,CAAA;KACF,EAAEyC,uBAAuB,CAAC,CAAA;AAC7B,GAAC,CAAC,CAAA;AAEFiE,EAAAA,KAAK,CAACvB,OAAO,CAAC0B,cAAc,GAAG,MAAM,CAAA;AACvC,CAAA;AAEO,SAASO,WAAWA,CAACpK,SAAS,EAAEiB,WAAW,EAAEgB,UAAU,EAAEC,QAAQ,EAAEc,OAAO,EAAE;AACjF,EAAA,IAAM/C,WAAW,GAAGZ,WAAW,EAAE,CAAA;AACjC,EAAA,IAAMqE,YAAY,GAAGnC,eAAe,CAACtB,WAAW,CAAC,CAAA;AACjD,EAAA,IAAM+F,QAAQ,GAAGhF,WAAW,CAACC,WAAW,CAAC,CAAA;AACzCA,EAAAA,WAAW,GAAGA,WAAW,CAACkC,OAAO,CAACuC,uBAAqB,EAAE,EAAE,CAAC,CAAC2E,IAAI,EAAE,CAAA;EAEnErK,SAAS,CAACM,SAAS,GACjB,gEAAgE,CAAA;EAElE,IAAMqD,YAAY,kFAAApD,MAAA,CAChBmD,YAAY,CAACE,MAAM,yBAAArD,MAAA,CAEPmD,YAAY,CAACG,iBAAiB,mQAAAtD,MAAA,CAIpCmD,YAAY,CAACI,gBAAgB,yOAAAvD,MAAA,CAIEmD,YAAY,CAAC4G,UAAU,sDAAA/J,MAAA,CACpBmD,YAAY,CAAC6G,SAAS,2GAAAhK,MAAA,CAGhDN,WAAW,KAAK,IAAI,GAAG,oBAAoB,GAAG,EAAE,EAAAM,gEAAAA,CAAAA,CAAAA,MAAA,CAG5CmD,YAAY,CAAC8G,WAAW,iKAAAjK,MAAA,CAIpBmD,YAAY,CAAC+G,SAAS,yGAAAlK,MAAA,CAGtByF,QAAQ,GAAG/E,WAAW,+HAAAV,MAAA,CAK1BwF,mBAAmB,CAAC,CAAC,EAAEC,QAAQ,EAAE/E,WAAW,EAAEgB,UAAU,EAAEC,QAAQ,EAAEc,OAAO,EAAEU,YAAY,CAAC,EAAAnD,wBAAAA,CAAAA,CAAAA,MAAA,CAC1FwF,mBAAmB,CAAC,CAAC,EAAEC,QAAQ,EAAE/E,WAAW,EAAEgB,UAAU,EAAEC,QAAQ,EAAEc,OAAO,EAAEU,YAAY,CAAC,EAAAnD,iPAAAA,CAAAA,CAAAA,MAAA,CAOtFmD,YAAY,CAACgH,WAAW,EAAAnK,8sSAAAA,CAAAA,CAAAA,MAAA,CA2C4CmD,YAAY,CAACiH,gBAAgB,EAAApK,0pBAAAA,CAAAA,CAAAA,MAAA,CAKrCmD,YAAY,CAACkH,YAAY,EAAArK,y9BAAAA,CAAAA,CAAAA,MAAA,CAa1DmD,YAAY,CAACmH,QAAQ,EAAAtK,uyPAAAA,CAAAA,CAAAA,MAAA,CA6CrBmD,YAAY,CAACoH,QAAQ,EAAAvK,kpOAAAA,CAAAA,CAAAA,MAAA,CA0BrBmD,YAAY,CAACqH,QAAQ,EAAAxK,05KAAAA,CAAAA,CAAAA,MAAA,CAiBFmD,YAAY,CAACsH,mBAAmB,EAAAzK,sGAAAA,CAAAA,CAAAA,MAAA,CACdmD,YAAY,CAACuH,QAAQ,8YAAA1K,MAAA,CAK3BmD,YAAY,CAACuH,QAAQ,8YAAA1K,MAAA,CAKrBmD,YAAY,CAACuH,QAAQ,ubAAA1K,MAAA,CASvFmD,YAAY,CAACmB,MAAM,yBAAAtE,MAAA,CACCmD,YAAY,CAACoB,QAAQ,EAAA,kDAAA,CAAA,CAAAvE,MAAA,CACxBmD,YAAY,CAACqB,MAAM,EAAA,+FAAA,CAAA,CAAAxE,MAAA,CAGhCmD,YAAY,CAACsB,YAAY,EAAA,wCAAA,CAAA,CAAAzE,MAAA,CAEzBmD,YAAY,CAACwH,eAAe,EAAA,iEAAA,CAAA,CAAA3K,MAAA,CAGtBmD,YAAY,CAACwB,mBAAmB,EAIjD,+FAAA,CAAA,CAAA;EACTlF,SAAS,CAACa,SAAS,GAAG8C,YAAY,CAAA;EAClCoF,cAAc,CAAC/I,SAAS,CAAC,CAAA;AACzBuJ,EAAAA,cAAc,CAACvJ,SAAS,EAAEiC,UAAU,EAAEC,QAAQ,EAAEc,OAAO,EAAEgD,QAAQ,EAAE/E,WAAW,CAAC,CAAA;AACjF;;AC5gBA,IAAMyE,qBAAqB,GAAG,UAAU,CAAA;AAExC,SAASyF,aAAaA,CAAClK,WAAW,EAAE;EAClC,IAAMmK,WAAW,GAAG7I,MAAM,CAACtB,WAAW,CAAC,CAACsC,OAAO,CAAC,CAAC,CAAC,CAAA;AAClD,EAAA,IAAI6H,WAAW,CAACxO,MAAM,GAAG,CAAC,EAAE;AAC1B,IAAA,OACEwO,WAAW,CAAC3L,SAAS,CAAC,CAAC,EAAE2L,WAAW,CAACzL,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GACtD,GAAG,GACHyL,WAAW,CAAC3L,SAAS,CAAC2L,WAAW,CAACzL,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAEyL,WAAW,CAACxO,MAAM,CAAC,CAAA;AAE3E,GAAC,MAAM;AACL,IAAA,OAAOwO,WAAW,CAAA;AACpB,GAAA;AACF,CAAA;AAEA,SAAShJ,4BAA4BA,CAACJ,SAAS,EAAEK,IAAI,EAAEC,GAAG,EAAE;AAC1D,EAAA,IAAM1D,KAAK,GAAG2D,MAAM,CAACP,SAAS,CAAC,CAAA;EAC/B,IAAIM,GAAG,GAAG,CAAC,EAAE;AACX,IAAA,IAAME,IAAI,GAAGF,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;AAC3B,IAAA,IAAMG,SAAS,GAAG7D,KAAK,GAAG4D,IAAI,GAAGE,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGH,IAAI,EAAEH,IAAI,CAAC,CAAA;AACzD,IAAA,IAAMO,WAAW,GAAGF,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGH,IAAI,EAAEH,IAAI,CAAC,GAAG,CAAC,CAAA;AAChD,IAAA,IAAMQ,eAAe,GAAGJ,SAAS,GAAGG,WAAW,CAAA;AAC/C,IAAA,OAAOC,eAAe,CAAA;AACxB,GAAC,MAAM;IACL,OAAOjE,KAAK,GAAGyD,IAAI,CAAA;AACrB,GAAA;AACF,CAAA;AAEA,SAASgJ,aAAaA,CAACpK,WAAW,EAAEoB,IAAI,EAAEC,GAAG,EAAE;EAC7C,IAAMgJ,cAAc,GAAGlJ,4BAA4B,CAACnB,WAAW,EAAEoB,IAAI,EAAEC,GAAG,CAAC,CAAA;EAC3E,OAAO6I,aAAa,CAACG,cAAc,CAAC/H,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AACjD,CAAA;AAEA,SAASgI,mBAAmBA,CAACtK,WAAW,EAAEoB,IAAI,EAAEC,GAAG,EAAE;EACnD,IAAMkJ,aAAa,GACjBpJ,4BAA4B,CAACnB,WAAW,EAAEoB,IAAI,EAAEC,GAAG,CAAC,GAAGD,IAAI,CAAA;AAC7D,EAAA,OAAO8I,aAAa,CAACK,aAAa,GAAGvK,WAAW,CAAC,CAAA;AACnD,CAAA;AAEA,SAASwK,mBAAmBA,CAACxK,WAAW,EAAEoB,IAAI,EAAEC,GAAG,EAAE;EACnD,IAAMoJ,kBAAkB,GAAGtJ,4BAA4B,CACrDnB,WAAW,EACXoB,IAAI,EACJC,GACF,CAAC,CAAA;AACD,EAAA,OAAO6I,aAAa,CAACO,kBAAkB,GAAGrJ,IAAI,CAAC,CAAA;AACjD,CAAA;AAEA,SAASF,WAAWA,CAACvD,KAAK,EAAE;AAC1B,EAAA,QAAQ,IAAI;IACV,KAAKA,KAAK,GAAG,IAAI;AACf,MAAA,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACrB,KAAKA,KAAK,GAAG,GAAG;AACd,MAAA,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACrB,KAAKA,KAAK,GAAG,GAAG;AACd,MAAA,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AACnB,IAAA;AACE,MAAA,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AACpB,GAAA;AACF,CAAA;AAEO,SAAS+M,gBAAgBA,CAAC3L,SAAS,EAAEiB,WAAW,EAAE+B,OAAO,EAAE;AAChE,EAAA,IAAM/C,WAAW,GAAGZ,WAAW,EAAE,CAAA;AACjC,EAAA,IAAMqE,YAAY,GAAGnC,eAAe,CAACtB,WAAW,CAAC,CAAA;AACjD,EAAA,IAAM+F,QAAQ,GAAGhF,WAAW,CAACC,WAAW,CAAC,CAAA;AACzCA,EAAAA,WAAW,GAAGA,WAAW,CAACkC,OAAO,CAACuC,qBAAqB,EAAE,EAAE,CAAC,CAAC2E,IAAI,EAAE,CAAA;AACnE,EAAA,IAAMjH,KAAK,GAAGjB,WAAW,CAAClB,WAAW,CAAC,CAAA;EAEtCjB,SAAS,CAACM,SAAS,GACjB,gEAAgE,CAAA;EAClEN,SAAS,CAACa,SAAS,GAAA,8EAAA,CAAAN,MAAA,CACjBmD,YAAY,CAACE,MAAM,EAAArD,kBAAAA,CAAAA,CAAAA,MAAA,CACJmD,YAAY,CAACG,iBAAiB,EAAA,iRAAA,CAAA,CAAAtD,MAAA,CAKnCmD,YAAY,CAACI,gBAAgB,EAAAvD,2PAAAA,CAAAA,CAAAA,MAAA,CAM7BmD,YAAY,CAACkI,cAAc,uDAAArL,MAAA,CAEHmD,YAAY,CAACmI,gBAAgB,EAAA,gHAAA,CAAA,CAAAtL,MAAA,CAGnDmD,YAAY,CAACoI,qBAAqB,EAAAvL,eAAAA,CAAAA,CAAAA,MAAA,CACpByF,QAAQ,GAAGmF,aAAa,CAAClK,WAAW,CAAC,0EAAAV,MAAA,CACb6C,KAAK,CAAC,CAAC,CAAC,eAAA7C,MAAA,CAC9C6C,KAAK,CAAC,CAAC,CAAC,KAAKjC,SAAS,GAClB,wBAAwB,GACxB,yBAAyB,EAAA,uHAAA,CAAA,CAAAZ,MAAA,CAKvByF,QAAQ,GAAGqF,aAAa,CAACpK,WAAW,EAAEmC,KAAK,CAAC,CAAC,CAAC,EAAEJ,OAAO,CAAC,EAAAzC,kDAAAA,CAAAA,CAAAA,MAAA,CAEtCmD,YAAY,CAACqI,UAAU,gFAAAxL,MAAA,CAEvCmD,YAAY,CAACsI,eAAe,EAAA,2HAAA,CAAA,CAAAzL,MAAA,CAIP6C,KAAK,CAAC,CAAC,CAAC,EAAA,GAAA,CAAA,CAAA7C,MAAA,CACjCmD,YAAY,CAACuI,YAAY,EAAA,gIAAA,CAAA,CAAA1L,MAAA,CAKzBmD,YAAY,CAACwI,eAAe,EAAA3L,SAAAA,CAAAA,CAAAA,MAAA,CAE5ByF,QAAQ,GACRyF,mBAAmB,CAACxK,WAAW,EAAEmC,KAAK,CAAC,CAAC,CAAC,EAAEJ,OAAO,CAAC,EAAAzC,kEAAAA,CAAAA,CAAAA,MAAA,CAEtBmD,YAAY,CAACyI,UAAU,EAAA,SAAA,CAAA,CAAA5L,MAAA,CACpDyF,QAAQ,GACRuF,mBAAmB,CAACtK,WAAW,EAAEmC,KAAK,CAAC,CAAC,CAAC,EAAEJ,OAAO,CAAC,EAAA,sGAAA,CAAA,CAAAzC,MAAA,CAG/BmD,YAAY,CAAC0I,SAAS,EAAA7L,GAAAA,CAAAA,CAAAA,MAAA,CAAIyC,OAAO,EAAAzC,GAAAA,CAAAA,CAAAA,MAAA,CACnDmD,YAAY,CAAC2I,SAAS,gFAAA9L,MAAA,CAEuBmD,YAAY,CAAC4I,WAAW,EAAA,4DAAA,CAAA,CAAA/L,MAAA,CAC1CyC,OAAO,EAAAzC,sKAAAA,CAAAA,CAAAA,MAAA,CAKF6C,KAAK,CAAC,CAAC,CAAC,EAAA7C,+HAAAA,CAAAA,CAAAA,MAAA,CAIxCyF,QAAQ,GAAGqF,aAAa,CAACpK,WAAW,EAAEmC,KAAK,CAAC,CAAC,CAAC,EAAEJ,OAAO,CAAC,EAAAzC,kDAAAA,CAAAA,CAAAA,MAAA,CAEtCmD,YAAY,CAACqI,UAAU,EAAA,4EAAA,CAAA,CAAAxL,MAAA,CAEvCmD,YAAY,CAACsI,eAAe,EAAAzL,2HAAAA,CAAAA,CAAAA,MAAA,CAIP6C,KAAK,CAAC,CAAC,CAAC,EAAA,GAAA,CAAA,CAAA7C,MAAA,CACjCmD,YAAY,CAACuI,YAAY,EAAA1L,gIAAAA,CAAAA,CAAAA,MAAA,CAKzBmD,YAAY,CAACwI,eAAe,aAAA3L,MAAA,CAE5ByF,QAAQ,GACRyF,mBAAmB,CAACxK,WAAW,EAAEmC,KAAK,CAAC,CAAC,CAAC,EAAEJ,OAAO,CAAC,EAAA,kEAAA,CAAA,CAAAzC,MAAA,CAEtBmD,YAAY,CAACyI,UAAU,EAAA5L,SAAAA,CAAAA,CAAAA,MAAA,CACpDyF,QAAQ,GACRuF,mBAAmB,CAACtK,WAAW,EAAEmC,KAAK,CAAC,CAAC,CAAC,EAAEJ,OAAO,CAAC,EAAAzC,sGAAAA,CAAAA,CAAAA,MAAA,CAG/BmD,YAAY,CAAC0I,SAAS,EAAA,GAAA,CAAA,CAAA7L,MAAA,CAAIyC,OAAO,EAAA,GAAA,CAAA,CAAAzC,MAAA,CACnDmD,YAAY,CAAC2I,SAAS,EAAA9L,4EAAAA,CAAAA,CAAAA,MAAA,CAEuBmD,YAAY,CAAC4I,WAAW,EAAA,4DAAA,CAAA,CAAA/L,MAAA,CAC1CyC,OAAO,EAAAzC,sKAAAA,CAAAA,CAAAA,MAAA,CAKF6C,KAAK,CAAC,CAAC,CAAC,EAAA7C,+HAAAA,CAAAA,CAAAA,MAAA,CAIxCyF,QAAQ,GAAGqF,aAAa,CAACpK,WAAW,EAAEmC,KAAK,CAAC,CAAC,CAAC,EAAEJ,OAAO,CAAC,EAAAzC,kDAAAA,CAAAA,CAAAA,MAAA,CAEtCmD,YAAY,CAACqI,UAAU,EAAA,4EAAA,CAAA,CAAAxL,MAAA,CAEvCmD,YAAY,CAACsI,eAAe,EAAA,2HAAA,CAAA,CAAAzL,MAAA,CAIP6C,KAAK,CAAC,CAAC,CAAC,OAAA7C,MAAA,CACjCmD,YAAY,CAACuI,YAAY,EAAA,gIAAA,CAAA,CAAA1L,MAAA,CAKzBmD,YAAY,CAACwI,eAAe,EAAA3L,SAAAA,CAAAA,CAAAA,MAAA,CAE5ByF,QAAQ,GACRyF,mBAAmB,CAACxK,WAAW,EAAEmC,KAAK,CAAC,CAAC,CAAC,EAAEJ,OAAO,CAAC,sEAAAzC,MAAA,CAEtBmD,YAAY,CAACyI,UAAU,EAAA,SAAA,CAAA,CAAA5L,MAAA,CACpDyF,QAAQ,GACRuF,mBAAmB,CAACtK,WAAW,EAAEmC,KAAK,CAAC,CAAC,CAAC,EAAEJ,OAAO,CAAC,EAAA,sGAAA,CAAA,CAAAzC,MAAA,CAG/BmD,YAAY,CAAC0I,SAAS,EAAA,GAAA,CAAA,CAAA7L,MAAA,CAAIyC,OAAO,EAAAzC,GAAAA,CAAAA,CAAAA,MAAA,CACnDmD,YAAY,CAAC2I,SAAS,EAAA,4EAAA,CAAA,CAAA9L,MAAA,CAEuBmD,YAAY,CAAC4I,WAAW,EAAA/L,4DAAAA,CAAAA,CAAAA,MAAA,CAC1CyC,OAAO,EAAAzC,wKAAAA,CAAAA,CAAAA,MAAA,CAMrBmD,YAAY,CAAC6I,yBAAyB,EAAA,6CAAA,CAAA,CAAAhM,MAAA,CACtCmD,YAAY,CAAC8I,yBAAyB,EAAAjM,6CAAAA,CAAAA,CAAAA,MAAA,CACtCmD,YAAY,CAAC+I,sBAAsB,EAAA,8DAAA,CAAA,CAAAlM,MAAA,CAEnDmD,YAAY,CAACgJ,QAAQ,EAAAnM,yBAAAA,CAAAA,CAAAA,MAAA,CACrBmD,YAAY,CAACiJ,QAAQ,EAAApM,yBAAAA,CAAAA,CAAAA,MAAA,CACrBmD,YAAY,CAACkJ,QAAQ,EAKzB,0FAAA,CAAA,CAAA;AACf;;;;;;;;;;;;;;;;;;;;;ACrNqB,IAEAC,KAAK,0BAAAC,gBAAA,EAAA;EACxB,SAAAD,KAAAA,CAAYE,KAAK,EAAE;AAAA,IAAA,IAAAC,KAAA,CAAA;AAAAC,IAAAA,iBAAA,OAAAJ,KAAA,CAAA,CAAA;AACjBG,IAAAA,KAAA,GAAAE,YAAA,CAAAL,IAAAA,EAAAA,KAAA,GAAME,KAAK,CAAA,CAAA,CAAA;AAACI,IAAAA,iBAAA,CAAAH,KAAA,EA0DU,uBAAA,EAAA,UAACI,cAAc,EAAK;AAC1C,MAAA,IAAIA,cAAc,KAAKJ,KAAA,CAAKK,KAAK,CAACD,cAAc,EAAE;QAChDJ,KAAA,CAAKM,QAAQ,CAAAC,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAMP,KAAA,CAAKK,KAAK,CAAA,EAAA,EAAA,EAAA;AAAED,UAAAA,cAAc,EAAdA,cAAAA;AAAc,SAAA,CAAE,CAAC,CAAA;;AAEhD;QACA,IAAIA,cAAc,IAAIJ,KAAA,CAAKD,KAAK,CAACS,SAAS,KAAK,UAAU,EAAE;AACzD,UAAA,IAAMC,UAAU,GAAG,CAAC1L,mBAAmB,CAACiL,KAAA,CAAKD,KAAK,CAACnO,KAAK,EAAEoO,KAAA,CAAKD,KAAK,CAAC9K,UAAU,EAAE+K,KAAA,CAAKD,KAAK,CAAC7K,QAAQ,CAAC,IACnG8K,KAAA,CAAKD,KAAK,CAAChK,gBAAgB,KAAK,CAAC,CAAA;AAEnC,UAAA,IAAI0K,UAAU,IAAIT,KAAA,CAAKK,KAAK,CAACK,YAAY,EAAE;AACzC3E,YAAAA,cAAc,CAACiE,KAAA,CAAKK,KAAK,CAACK,YAAY,CAAC,CAAA;AACzC,WAAA;AACF,SAAA;AACF,OAAA;KACD,CAAA,CAAA;AAAAP,IAAAA,iBAAA,CAAAH,KAAA,EAEmB,mBAAA,EAAA,UAACjD,KAAK,EAAK;MAC7BiD,KAAA,CAAKD,KAAK,CAACY,kBAAkB,CAACX,KAAA,CAAKD,KAAK,CAACS,SAAS,CAAC,CAAA;KACpD,CAAA,CAAA;IA3ECR,KAAA,CAAKK,KAAK,GAAG;AACXK,MAAAA,YAAY,EAAE,IAAI;AAClBN,MAAAA,cAAc,EAAE,KAAA;KACjB,CAAA;AAAA,IAAA,OAAAJ,KAAA,CAAA;AACH,GAAA;EAACY,WAAA,CAAAf,KAAA,EAAAC,gBAAA,CAAA,CAAA;EAAA,OAAAe,cAAA,CAAAhB,KAAA,EAAA,CAAA;IAAAiB,GAAA,EAAA,mBAAA;AAAA7Q,IAAAA,KAAA,EA4BD,SAAA8Q,iBAAiBA,GAAG;AAAA,MAAA,IAAAC,MAAA,GAAA,IAAA,CAAA;AAClBzO,MAAAA,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC,CAACyO,WAAW,CAAC,IAAI,CAACZ,KAAK,CAACK,YAAY,CAAC,CAAA;AAEnE,MAAA,IAAIQ,WAAW,CAAA;AACf,MAAA,IAAI,IAAI,CAACnB,KAAK,CAACS,SAAS,KAAK,UAAU,EAAE;AACvCU,QAAAA,WAAW,GAAG3O,QAAQ,CAACC,aAAa,CAAC,kBAAkB,CAAC,CAAA;AAC1D,OAAC,MAAM;AACL0O,QAAAA,WAAW,GAAG3O,QAAQ,CAACC,aAAa,CAAC,eAAe,CAAC,CAAA;AACvD,OAAA;AAEA0O,MAAAA,WAAW,CAAC9E,gBAAgB,CAAC,OAAO,EAAE,UAACW,KAAK,EAAA;AAAA,QAAA,OAAKA,KAAK,CAACV,eAAe,EAAE,CAAA;OAAC,CAAA,CAAA;AACzE9J,MAAAA,QAAQ,CAACkJ,gBAAgB,CAAC,qBAAqB,CAAC,CAAC7L,MAAM,IACrD2C,QAAQ,CACLkJ,gBAAgB,CAAC,qBAAqB,CAAC,CACvC0F,OAAO,CAAC,UAACC,KAAK,EAAA;AAAA,QAAA,OACbA,KAAK,CAAChF,gBAAgB,CAAC,OAAO,EAAE,UAACW,KAAK,EAAA;AAAA,UAAA,OACpCiE,MAAI,CAACK,iBAAiB,CAACtE,KAAK,CAAC,CAAA;AAAA,SAC/B,CAAC,CAAA;AAAA,OACH,CAAC,CAAA;AACP,KAAA;AAAC,GAAA,EAAA;IAAA+D,GAAA,EAAA,oBAAA;AAAA7Q,IAAAA,KAAA,EAED,SAAAqR,kBAAkBA,CAACC,SAAS,EAAEC,SAAS,EAAE;MACvC,IAAI,CAACC,qBAAqB,CAAC,IAAI,CAAC1B,KAAK,CAAC0B,qBAAqB,CAAC,CAAA;AAC9D,KAAA;AAAC,GAAA,EAAA;IAAAX,GAAA,EAAA,QAAA;AAAA7Q,IAAAA,KAAA,EAsBD,SAAAyR,MAAMA,GAAG;AACP,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AAAC,GAAA,CAAA,EAAA,CAAA;IAAAZ,GAAA,EAAA,0BAAA;AAAA7Q,IAAAA,KAAA,EAzED,SAAO0R,wBAAwBA,CAAC5B,KAAK,EAAEM,KAAK,EAAE;AAC5C,MAAA,IAAI,CAACA,KAAK,CAACK,YAAY,EAAE;AACvB,QAAA,IAAIA,YAAY,GAAGnO,QAAQ,CAACqP,aAAa,CAAC,KAAK,CAAC,CAAA;QAChD,QAAQ7B,KAAK,CAACS,SAAS;AACrB,UAAA,KAAK,UAAU;AACb,YAAA,IAAIjO,QAAQ,CAACC,aAAa,CAAC,kBAAkB,CAAC,EAAE;AAC9CkO,cAAAA,YAAY,GAAGnO,QAAQ,CAACC,aAAa,CAAC,kBAAkB,CAAC,CAAA;AACzD,cAAA,MAAA;AACF,aAAA;YACAI,UAAU,CAAC8N,YAAY,CAAC,CAAA;AACxB,YAAA,MAAA;AACF,UAAA;AACE,YAAA,IAAI3L,mBAAmB,CAACgL,KAAK,CAACnO,KAAK,EAAEmO,KAAK,CAAC9K,UAAU,EAAE8K,KAAK,CAAC7K,QAAQ,CAAC,EAAE;cACtEyJ,gBAAgB,CAAC+B,YAAY,EAAEX,KAAK,CAACnO,KAAK,EAAEmO,KAAK,CAAC/J,OAAO,CAAC,CAAA;AAC5D,aAAC,MAAM,IAAI+J,KAAK,CAAChK,gBAAgB,KAAK,CAAC,EAAE;AACvCqH,cAAAA,WAAW,CAACsD,YAAY,EAAEX,KAAK,CAACnO,KAAK,EAAEmO,KAAK,CAAC9K,UAAU,EAAE8K,KAAK,CAAC7K,QAAQ,EAAE6K,KAAK,CAAC/J,OAAO,CAAC,CAAA;AACzF,aAAC,MAAM;cACLQ,gBAAgB,CAACkK,YAAY,EAAEX,KAAK,CAACtJ,QAAQ,EAAEsJ,KAAK,CAAC7K,QAAQ,CAAC,CAAA;AAChE,aAAA;AACJ,SAAA;AACAmL,QAAAA,KAAK,GAAAE,eAAA,CAAAA,eAAA,KAAQF,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEK,UAAAA,YAAY,EAAZA,YAAAA;SAAc,CAAA,CAAA;AACpC,OAAA;AACAL,MAAAA,KAAK,CAACK,YAAY,CAACmB,KAAK,CAACC,OAAO,GAAGzB,KAAK,CAACD,cAAc,GAAG,OAAO,GAAG,MAAM,CAAA;AAC1E,MAAA,OAAOC,KAAK,CAAA;AACd,KAAA;AAAC,GAAA,CAAA,CAAA,CAAA;AAAA,CAjCgC0B,CAAAA,KAAK,CAACC,SAAS,CAAA,CAAA;AAqFlDnC,KAAK,CAACoC,SAAS,GAAG;EAChBR,qBAAqB,EAAES,SAAS,CAACC,IAAI;EACrC3B,SAAS,EAAE0B,SAAS,CAACE,MAAM;EAC3BzB,kBAAkB,EAAEuB,SAAS,CAACG,IAAI;EAClCtM,gBAAgB,EAAEmM,SAAS,CAACI,MAAM;EAClC1Q,KAAK,EAAEsQ,SAAS,CAACE,MAAM;EACvB3L,QAAQ,EAAEyL,SAAS,CAACI,MAAM;EAC1BpN,QAAQ,EAAEgN,SAAS,CAACI,MAAM;EAC1BrN,UAAU,EAAEiN,SAAS,CAACI,MAAM;EAC5BtM,OAAO,EAAEkM,SAAS,CAACI,MAAAA;AACrB,CAAC;;;;;;;;;;;;;;;;;;AC7FM,IAAM9N,eAAe,GAAG;AAC7BC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC,cAAAA;AACN,CAAC,CAAA;AAAA,IAEoByN,gBAAgB,0BAAAzC,gBAAA,EAAA;EACnC,SAAAyC,gBAAAA,CAAYxC,KAAK,EAAE;AAAA,IAAA,IAAAC,KAAA,CAAA;AAAAC,IAAAA,iBAAA,OAAAsC,gBAAA,CAAA,CAAA;AACjBvC,IAAAA,KAAA,GAAAE,YAAA,CAAAqC,IAAAA,EAAAA,gBAAA,GAAMxC,KAAK,CAAA,CAAA,CAAA;IACXC,KAAA,CAAKK,KAAK,GAAG;AACXmC,MAAAA,MAAM,EAAExC,KAAA,CAAKD,KAAK,CAACyC,MAAM;AACzBC,MAAAA,MAAM,EAAE,KAAK;AACbC,MAAAA,QAAQ,EAAE,KAAK;AACfC,MAAAA,YAAY,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAA;KACpC,CAAA;AAAA,IAAA,OAAA3C,KAAA,CAAA;AACH,GAAA;EAACY,WAAA,CAAA2B,gBAAA,EAAAzC,gBAAA,CAAA,CAAA;EAAA,OAAAe,cAAA,CAAA0B,gBAAA,EAAA,CAAA;IAAAzB,GAAA,EAAA,wBAAA;AAAA7Q,IAAAA,KAAA,EASD,SAAA2S,sBAAsBA,GAAG;AAAA,MAAA,IAAA5B,MAAA,GAAA,IAAA,CAAA;AACvB,MAAA,IAAM6B,QAAQ,GAAG;AACfC,QAAAA,KAAK,EAAE,iEAAiE;AACxEC,QAAAA,IAAI,EAAE,yEAAyE;AAC/E,QAAA,YAAY,EACV,gEAAgE;AAClE,QAAA,YAAY,EACV,gEAAA;OACH,CAAA;AACD,MAAA,IAAMC,QAAQ,GAAG3Q,WAAW,EAAE,CAAA;AAE9B,MAAA,IAAMqE,YAAY,GAAGlC,eAAe,CAACwO,QAAQ,CAAC,CAAA;AAE9C,MAAA,IAAMC,UAAU,GAAGjR,UAAU,CAC3BL,gBAAgB,CAAC,IAAI,CAAC0O,KAAK,CAACmC,MAAM,CAAC5Q,KAAK,CAC1C,CAAC,CAAA;MACD,IAAIsR,cAAc,GAAG,EAAE,CAAA;MACvB,IAAID,UAAU,GAAG,IAAI,CAAC5C,KAAK,CAACmC,MAAM,CAACtN,QAAQ,EAAE;AAC3C,QAAA,OAAA;AACF,OAAC,MAAM,IACLH,mBAAmB,CACjBpD,gBAAgB,CAAC,IAAI,CAAC0O,KAAK,CAACmC,MAAM,CAAC5Q,KAAK,CAAC,EACzC,IAAI,CAACyO,KAAK,CAACmC,MAAM,CAACvN,UAAU,EAC5B,IAAI,CAACoL,KAAK,CAACmC,MAAM,CAACtN,QACpB,CAAC,EACD;QACAgO,cAAc,GAAGxM,YAAY,CAACyM,QAAQ,CAAA;AACxC,OAAC,MAAM,IAAI,IAAI,CAAC9C,KAAK,CAACmC,MAAM,CAACzM,gBAAgB,KAAK,CAAC,IAAI,IAAI,CAACsK,KAAK,CAACmC,MAAM,CAACY,cAAc,EAAE;QACvFF,cAAc,GAAGxM,YAAY,CAAC2M,WAAW,CAAA;AAC3C,OAAC,MAAM;QACLH,cAAc,GAAGxM,YAAY,CAAC4M,MAAM,CAAA;AACtC,OAAA;MACA,IAAMC,YAAY,GAAG,EAAE,CAAA;AACvBL,MAAAA,cAAc,CAACM,KAAK,CAAC,IAAI,CAAC,CAACrC,OAAO,CAAC,UAACsC,WAAW,EAAEC,KAAK,EAAK;AACzD,QAAA,QAAQD,WAAW;AACjB,UAAA,KAAK,kBAAkB;YACrBF,YAAY,CAAC7J,IAAI,CAACsH,MAAI,CAACX,KAAK,CAACmC,MAAM,CAACzM,gBAAgB,CAAC,CAAA;AACrD,YAAA,MAAA;AACF,UAAA,KAAK,OAAO;AACV;AACA,YAAA,IAAM4N,YAAY,gBAChB5B,KAAA,CAAAH,aAAA,CAAA,MAAA,EAAA;AACEtO,cAAAA,SAAS,EAAC,0CAA0C;AACpDwN,cAAAA,GAAG,EAAE4C,KAAAA;AAAM,aAAA,EAEV5N,iBAAiB,CAACkL,MAAI,CAACX,KAAK,CAACmC,MAAM,CAAC5Q,KAAK,EAAEoP,MAAI,CAACX,KAAK,CAACmC,MAAM,CAACzM,gBAAgB,EAAEiL,MAAI,CAACX,KAAK,CAACmC,MAAM,CAACvN,UAAU,EAAE+L,MAAI,CAACX,KAAK,CAACmC,MAAM,CAACtN,QAAQ,EAAE8L,MAAI,CAACX,KAAK,CAACmC,MAAM,CAACxM,OAAO,CAC/J,CACP,CAAA;AACDuN,YAAAA,YAAY,CAAC7J,IAAI,CAACiK,YAAY,CAAC,CAAA;AAC/B,YAAA,MAAA;AACF,UAAA,KAAK,MAAM;AACT;AACA,YAAA,IAAMC,WAAW,gBACf7B,KAAA,CAAAH,aAAA,CAAA,KAAA,EAAA;AACEiC,cAAAA,GAAG,EAAC,QAAQ;cACZvQ,SAAS,EAAA,kBAAA,CAAAC,MAAA,CACPyN,MAAI,CAACX,KAAK,CAACmC,MAAM,CAACsB,KAAK,KAAK,MAAM,IAClC9C,MAAI,CAACX,KAAK,CAACmC,MAAM,CAACsB,KAAK,KAAK,YAAY,GACpC,MAAM,GACN,OAAO,EACJ,QAAA,CAAA;AACTC,cAAAA,GAAG,EAAElB,QAAQ,CAAC7B,MAAI,CAACX,KAAK,CAACmC,MAAM,CAACsB,KAAK,CAAC,IAAIjB,QAAQ,CAACC,KAAM;AACzDjB,cAAAA,KAAK,EAAE;gBACLmC,eAAe,EAAA,MAAA,CAAAzQ,MAAA,CAASyN,MAAI,CAACX,KAAK,CAACmC,MAAM,CAACyB,SAAS,CAAE;gBACrDC,SAAS,EAAA,QAAA,CAAA3Q,MAAA,CAAWyN,MAAI,CAACX,KAAK,CAACmC,MAAM,CAAC2B,QAAQ,EAAG,GAAA,CAAA;AACjDC,gBAAAA,MAAM,EAAE,SAAS;AACjBC,gBAAAA,KAAK,EAAE,MAAM;AACbC,gBAAAA,MAAM,EAAE,MAAA;eACR;AACFxD,cAAAA,GAAG,EAAE4C,KAAM;cACXa,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,gBAAA,OAAQvD,MAAI,CAACwD,SAAS,CAAC,QAAQ,CAAC,CAAA;AAAA,eAAA;AAAC,aACzC,CACF,CAAA;AACDjB,YAAAA,YAAY,CAAC7J,IAAI,CAACkK,WAAW,CAAC,CAAA;AAC9B,YAAA,MAAA;AACF,UAAA,KAAK,MAAM;AACT;AACA,YAAA,IAAMa,WAAW,gBACf1C,KAAA,CAAAH,aAAA,CAAA,KAAA,EAAA;AACE,cAAA,YAAA,EAAA,EAAA,CAAArO,MAAA,CAAemD,YAAY,CAACgO,gBAAgB,CAAG;AAC/CpR,cAAAA,SAAS,EAAC,kBAAkB;AAC5BwN,cAAAA,GAAG,EAAE4C,KAAM;cACXa,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,gBAAA,OAAQvD,MAAI,CAACwD,SAAS,CAAC,QAAQ,CAAC,CAAA;AAAA,eAAA;AAAC,aAAA,EACzC,QAEI,CACN,CAAA;AACDjB,YAAAA,YAAY,CAAC7J,IAAI,CAAC+K,WAAW,CAAC,CAAA;AAC9B,YAAA,MAAA;AACF,UAAA,KAAK,UAAU;AACb,YAAA,IAAIzD,MAAI,CAACX,KAAK,CAACmC,MAAM,CAACY,cAAc,EAAE;cACpCG,YAAY,CAAC7J,IAAI,CAAAnG,EAAAA,CAAAA,MAAA,CAAImD,YAAY,CAACiO,EAAE,CAAE,CAAC,CAAA;AACvC,cAAA,IAAMC,MAAM,gBACV7C,KAAA,CAAAH,aAAA,CAAA,KAAA,EAAA;AACEtO,gBAAAA,SAAS,EAAC,kDAAkD;AAC5DyQ,gBAAAA,GAAG,EACD,kFACD;AACDQ,gBAAAA,OAAO,EAAE,SAATA,OAAOA,CAAGxH,KAAK,EAAK;kBAClBA,KAAK,CAACV,eAAe,EAAE,CAAA;AACvB2E,kBAAAA,MAAI,CAACwD,SAAS,CAAC,UAAU,CAAC,CAAA;iBAC1B;AACF1D,gBAAAA,GAAG,EAAE4C,KAAM;AACXG,gBAAAA,GAAG,EAAC,UAAA;AAAU,eACf,CACF,CAAA;AACDN,cAAAA,YAAY,CAAC7J,IAAI,CAACkL,MAAM,CAAC,CAAA;AAC3B,aAAA;AACA,YAAA,MAAA;AACF,UAAA,KAAK,WAAW;AAAE,YAAA;AAChB,cAAA,IAAM3B,WAAU,GAAGjR,UAAU,CAC3BL,gBAAgB,CAACqP,MAAI,CAACX,KAAK,CAACmC,MAAM,CAAC5Q,KAAK,CAC1C,CAAC,CAAA;AACD,cAAA,IACEoP,MAAI,CAACX,KAAK,CAACmC,MAAM,CAAC/L,QAAQ,GAAGwM,WAAU,IACvC,CAACjC,MAAI,CAACX,KAAK,CAACmC,MAAM,CAACY,cAAc,EACjC;AACAG,gBAAAA,YAAY,CAAC7J,IAAI,CAAA,GAAA,CAAAnG,MAAA,CACXmD,YAAY,CAACmO,cAAc,EAAA,IAAA,CAAA,CAAAtR,MAAA,CAAKyN,MAAI,CAACX,KAAK,CAACmC,MAAM,CAAC/L,QAAQ,CAChE,CAAC,CAAA;AACH,eAAA;AACA,cAAA,MAAA;AACF,aAAA;AACA,UAAA;AACE8M,YAAAA,YAAY,CAAC7J,IAAI,CAAC+J,WAAW,CAAC,CAAA;AAClC,SAAA;AACF,OAAC,CAAC,CAAA;AACF,MAAA,OAAOF,YAAY,CAAA;AACrB,KAAA;AAAC,GAAA,EAAA;IAAAzC,GAAA,EAAA,WAAA;AAAA7Q,IAAAA,KAAA,EAED,SAAAuU,SAASA,CAAChE,SAAS,EAAE;AACnBA,MAAAA,SAAS,KAAK,UAAU,GACpB,IAAI,CAACF,QAAQ,CAAC;AAAEoC,QAAAA,QAAQ,EAAE,IAAA;AAAK,OAAC,CAAC,GACjC,IAAI,CAACpC,QAAQ,CAAC;AAAEmC,QAAAA,MAAM,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;AACrC,KAAA;AAAC,GAAA,EAAA;IAAA3B,GAAA,EAAA,YAAA;AAAA7Q,IAAAA,KAAA,EAED,SAAA6U,UAAUA,CAACtE,SAAS,EAAE;AACpBA,MAAAA,SAAS,KAAK,UAAU,GACpB,IAAI,CAACF,QAAQ,CAAC;AAAEoC,QAAAA,QAAQ,EAAE,KAAA;AAAM,OAAC,CAAC,GAClC,IAAI,CAACpC,QAAQ,CAAC;AAAEmC,QAAAA,MAAM,EAAE,KAAA;AAAM,OAAC,CAAC,CAAA;AACtC,KAAA;AAAC,GAAA,EAAA;IAAA3B,GAAA,EAAA,QAAA;AAAA7Q,IAAAA,KAAA,EAED,SAAAyR,MAAMA,GAAG;AAAA,MAAA,IAAAqD,MAAA,GAAA,IAAA,CAAA;MACP,oBACEhD,KAAA,CAAAH,aAAA,CAAA,KAAA,EAAA;QACEtO,SAAS,EAAA,oCAAA,CAAAC,MAAA,CACP,IAAI,CAAC8M,KAAK,CAACmC,MAAM,CAACwC,UAAU,IAAI,EAAE,CAAA;OAGpCjD,eAAAA,KAAA,CAAAH,aAAA,CAAA,KAAA,EAAA;AACE,QAAA,eAAA,EAAc,QAAQ;AACtBqD,QAAAA,IAAI,EAAC,QAAQ;AACbC,QAAAA,QAAQ,EAAC,GAAG;QACZ5R,SAAS,EAAA,0DAAA,CAAAC,MAAA,CACP,IAAI,CAAC8M,KAAK,CAACmC,MAAM,CAACwC,UAAU,IAAI,EAAE,cAAAzR,MAAA,CACzB,IAAI,CAAC8M,KAAK,CAACmC,MAAM,CAACyB,SAAS,IAAI,MAAM,CAAG;AACnDpC,QAAAA,KAAK,EAAE;AAAEuC,UAAAA,MAAM,EAAE,SAAA;SAAY;QAC7BG,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,UAAA,OAAQQ,MAAI,CAACP,SAAS,CAAC,QAAQ,CAAC,CAAA;AAAA,SAAA;OAEvCzC,eAAAA,KAAA,CAAAH,aAAA,CAAA,KAAA,EAAA;AACEtO,QAAAA,SAAS,+BAAAC,MAAA,CACP,IAAI,CAAC8M,KAAK,CAACmC,MAAM,CAACyB,SAAS,IAAI,MAAM,EAAA,OAAA,CAAA,CAAA1Q,MAAA,CAErC,IAAI,CAAC8M,KAAK,CAACmC,MAAM,CAACsB,KAAK,KAAK,MAAM,IAClC,IAAI,CAACzD,KAAK,CAACmC,MAAM,CAACsB,KAAK,KAAK,YAAY,GACpC,MAAM,GACN,OAAO,CACV;AACHjC,QAAAA,KAAK,EAAE;UACLsD,UAAU,EAAE,IAAI,CAAC9E,KAAK,CAACmC,MAAM,CAAC2C,UAAU,IAAI,GAAG;UAC/CC,UAAU,EAAE,IAAI,CAAC/E,KAAK,CAACmC,MAAM,CAAC4C,UAAU,IAAI,SAAS;AACrDC,UAAAA,QAAQ,EAAE,CAAC,IAAI,CAAChF,KAAK,CAACmC,MAAM,CAAC6C,QAAQ,IAAI,EAAE,IAAI,IAAI;UACnDC,KAAK,EAAE,IAAI,CAACjF,KAAK,CAACmC,MAAM,CAAC+C,SAAS,IAAI,SAAA;AACxC,SAAA;AAAE,OAAA,EAED,IAAI,CAAC3C,sBAAsB,EACzB,CACF,CAAC,EACL,IAAI,CAACvC,KAAK,CAACsC,YAAY,CAAC6C,GAAG,CAAC,UAACpE,KAAK,EAAEsC,KAAK,EAAA;AAAA,QAAA,oBACxC3B,KAAA,CAAAH,aAAA,CAAC/B,KAAK,EAAA;AACJW,UAAAA,SAAS,EAAEY,KAAM;AACjBN,UAAAA,GAAG,EAAE4C,KAAM;AACXjC,UAAAA,qBAAqB,EAAEsD,MAAI,CAAC1E,KAAK,CAACe,KAAK,CAAE;AACzCT,UAAAA,kBAAkB,EAAE,SAApBA,kBAAkBA,CAAGS,KAAK,EAAA;AAAA,YAAA,OAAK2D,MAAI,CAACD,UAAU,CAAC1D,KAAK,CAAC,CAAA;WAAC;AACtD3K,UAAAA,QAAQ,EAAEsO,MAAI,CAAC1E,KAAK,CAACmC,MAAM,CAAC/L,QAAS;AACrCvB,UAAAA,QAAQ,EAAE6P,MAAI,CAAC1E,KAAK,CAACmC,MAAM,CAACtN,QAAS;AACrCD,UAAAA,UAAU,EAAE8P,MAAI,CAAC1E,KAAK,CAACmC,MAAM,CAACvN,UAAW;AACzCe,UAAAA,OAAO,EAAE+O,MAAI,CAAC1E,KAAK,CAACmC,MAAM,CAACxM,OAAQ;AACnCpE,UAAAA,KAAK,EAAEmT,MAAI,CAAC1E,KAAK,CAACmC,MAAM,CAAC5Q,KAAM;AAC/BmE,UAAAA,gBAAgB,EAAEgP,MAAI,CAAC1E,KAAK,CAACmC,MAAM,CAACzM,gBAAAA;AAAiB,SACtD,CAAC,CAAA;AAAA,OACH,CACE,CAAC,CAAA;AAEV,KAAA;AAAC,GAAA,CAAA,EAAA,CAAA;IAAA+K,GAAA,EAAA,0BAAA;AAAA7Q,IAAAA,KAAA,EAzMD,SAAO0R,wBAAwBA,CAAC5B,KAAK,EAAEM,KAAK,EAAE;AAC5C,MAAA,IAAMmC,MAAM,GAAGzC,KAAK,CAACyC,MAAM,CAAA;AAC3BnC,MAAAA,KAAK,GAAAE,eAAA,CAAAA,eAAA,KAAQF,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEmC,QAAAA,MAAM,EAANA,MAAAA;OAAQ,CAAA,CAAA;AAE5B,MAAA,OAAOnC,KAAK,CAAA;AACd,KAAA;AAAC,GAAA,CAAA,CAAA,CAAA;AAAA,CAhB2C0B,CAAAA,KAAK,CAACC,SAAS,CAAA,CAAA;AAuN7DO,gBAAgB,CAACN,SAAS,GAAG;EAC3BO,MAAM,EAAEN,SAAS,CAACuD,MAAAA;AACpB,CAAC;;;;;;;;;;;;;;;;;;ACpOoBC,IAAAA,mBAAmB,0BAAA5F,gBAAA,EAAA;EACtC,SAAA4F,mBAAAA,CAAY3F,KAAK,EAAE;AAAA,IAAA,IAAAC,KAAA,CAAA;AAAAC,IAAAA,eAAA,OAAAyF,mBAAA,CAAA,CAAA;AACjB1F,IAAAA,KAAA,GAAAE,UAAA,CAAAwF,IAAAA,EAAAA,mBAAA,GAAM3F,KAAK,CAAA,CAAA,CAAA;IACXC,KAAA,CAAKK,KAAK,GAAG;AACXsF,MAAAA,YAAY,EAAE;AACZ/T,QAAAA,KAAK,EAAEoO,KAAA,CAAKD,KAAK,CAACnO,KAAK,IAAI,CAAC;AAC5BoT,QAAAA,UAAU,EAAEhF,KAAA,CAAKD,KAAK,CAACiF,UAAU,IAAI,EAAE;AACvC5B,QAAAA,cAAc,EAAEpD,KAAA,CAAKD,KAAK,CAACqD,cAAc,IAAI,KAAK;AAClD3M,QAAAA,QAAQ,EAAEuJ,KAAA,CAAKD,KAAK,CAACtJ,QAAQ,IAAI,EAAE;AACnCvB,QAAAA,QAAQ,EAAE8K,KAAA,CAAKD,KAAK,CAAC7K,QAAQ,IAAI,IAAI;AACrCD,QAAAA,UAAU,EAAE+K,KAAA,CAAKD,KAAK,CAAC9K,UAAU,IAAI,CAAC;AACtCe,QAAAA,OAAO,EAAEgK,KAAA,CAAKD,KAAK,CAAC/J,OAAO,IAAI,IAAI;AACnC8N,QAAAA,KAAK,EAAE9D,KAAA,CAAKD,KAAK,CAAC+D,KAAK,IAAI,OAAO;AAClCG,QAAAA,SAAS,EAAEjE,KAAA,CAAKD,KAAK,CAACkE,SAAS,IAAI,MAAM;AACzCkB,QAAAA,UAAU,EAAEnF,KAAA,CAAKD,KAAK,CAACoF,UAAU,IAAI,GAAG;AACxCC,QAAAA,UAAU,EAAEpF,KAAA,CAAKD,KAAK,CAACqF,UAAU,IAAI,SAAS;AAC9CC,QAAAA,QAAQ,EAAErF,KAAA,CAAKD,KAAK,CAACsF,QAAQ,IAAI,EAAE;AACnCE,QAAAA,SAAS,EAAEvF,KAAA,CAAKD,KAAK,CAACwF,SAAS,IAAI,SAAS;AAC5CpB,QAAAA,QAAQ,EAAEnE,KAAA,CAAKD,KAAK,CAACoE,QAAQ,IAAI,CAAC;QAClCxB,YAAY,EAAE,CAAC,QAAQ,CAAC;QACxB5M,gBAAgB,EAAEiK,KAAA,CAAKD,KAAK,CAAChK,gBAAgB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAA;AAC5D,OAAA;KACD,CAAA;AAAA,IAAA,OAAAiK,KAAA,CAAA;AACH,GAAA;EAACY,SAAA,CAAA8E,mBAAA,EAAA5F,gBAAA,CAAA,CAAA;EAAA,OAAAe,YAAA,CAAA6E,mBAAA,EAAA,CAAA;IAAA5E,GAAA,EAAA,QAAA;AAAA7Q,IAAAA,KAAA,EAkBD,SAAAyR,MAAMA,GAAG;MACP,oBACEK,KAAA,CAAAH,aAAA,CAAA,KAAA,EAAA,IAAA,eACEG,KAAA,CAAAH,aAAA,CAACgE,gBAAY,EAAA;AAACpD,QAAAA,MAAM,EAAE,IAAI,CAACnC,KAAK,CAACsF,YAAAA;AAAa,OAAE,CAC7C,CAAC,CAAA;AAEV,KAAA;AAAC,GAAA,CAAA,EAAA,CAAA;IAAA7E,GAAA,EAAA,0BAAA;AAAA7Q,IAAAA,KAAA,EAtBD,SAAO0R,wBAAwBA,CAAC5B,KAAK,EAAEM,KAAK,EAAE;MAC5C,IAAIN,KAAK,CAACnO,KAAK,KAAKyO,KAAK,CAACsF,YAAY,CAAC/T,KAAK,EAAE;QAC5C,IAAMiU,WAAW,GAAGxF,KAAK,CAAA;AACzBwF,QAAAA,WAAW,CAACF,YAAY,CAAC/T,KAAK,GAAGmO,KAAK,CAACnO,KAAK,CAAA;AAC5C,QAAA,OAAOiU,WAAW,CAAA;AACpB,OAAA;AACAxF,MAAAA,KAAK,GAAAE,aAAA,CAAQF,EAAAA,EAAAA,KAAK,CAAE,CAAA;AACpB,MAAA,IACEN,KAAK,CAACqD,cAAc,IACpB/C,KAAK,CAACsF,YAAY,CAAChD,YAAY,CAAChQ,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAC1D;QACA0N,KAAK,CAACsF,YAAY,CAAChD,YAAY,CAACjJ,IAAI,CAAC,UAAU,CAAC,CAAA;AAClD,OAAA;AACA,MAAA,OAAO2G,KAAK,CAAA;AACd,KAAA;AAAC,GAAA,CAAA,CAAA,CAAA;AAAA,CAvC8C0B,CAAAA,KAAK,CAACC,SAAS,EAAA;AAkDhE0D,mBAAmB,CAACzD,SAAS,GAAG;AAC9BrQ,EAAAA,KAAK,EAAEsQ,SAAS,CAACE,MAAM,CAAC0D,UAAU;AAClCd,EAAAA,UAAU,EAAE9C,SAAS,CAACE,MAAM,CAAC0D,UAAU;EACvChC,KAAK,EAAE5B,SAAS,CAACE,MAAM;EACvB6B,SAAS,EAAE/B,SAAS,CAACE,MAAM;EAC3B+C,UAAU,EAAEjD,SAAS,CAACI,MAAM;EAC5B8C,UAAU,EAAElD,SAAS,CAACE,MAAM;EAC5BiD,QAAQ,EAAEnD,SAAS,CAACI,MAAM;EAC1BiD,SAAS,EAAErD,SAAS,CAACE,MAAM;EAC3B+B,QAAQ,EAAEjC,SAAS,CAACI,MAAM;EAC1B7L,QAAQ,EAAEyL,SAAS,CAACI,MAAM;EAC1BpN,QAAQ,EAAEgN,SAAS,CAACI,MAAM;EAC1BrN,UAAU,EAAEiN,SAAS,CAACI,MAAM;EAC5BtM,OAAO,EAAEkM,SAAS,CAACI,MAAM;EACzBc,cAAc,EAAElB,SAAS,CAACC,IAAI;EAC9BpM,gBAAgB,EAAEmM,SAAS,CAACI,MAAAA;AAC9B,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/Helpers/helper.js","../src/Helpers/renderFunctions.js","../node_modules/style-inject/dist/style-inject.es.js","../src/Components/MultiPlanModal.js","../src/Components/Modal.js","../src/Components/SezzleWidget.js","../src/index.cjs"],"sourcesContent":["import enTranslations from '../translations/en'\nimport frTranslations from '../translations/fr'\nimport esTranslations from '../translations/es'\n\nexport const supportedLanguages = ['en', 'es', 'fr']\n\n/**\n * This function will return the price string\n * @param price - string value\n * @return string\n */\n\nexport function parsePriceString(price) {\n let formattedPrice = ''\n if (!price) return formattedPrice\n for (let i = 0; i < price.length; i++) {\n if (isNumeric(price[i]) || price[i] === '.' || price[i] === ',') {\n // Ignore actual sentence punctuation\n if (i > 0 && price[i] === '.' && isAlphabet(price[i - 1])) continue\n\n formattedPrice += price[i]\n }\n }\n return formattedPrice\n}\n\n/**\n * Function parses the price from string to float\n * @param price -> String\n * @return float\n */\nexport function parsePrice(price) {\n return parseFloat(parsePriceString(price))\n}\n\n/**\n * This is helper function for formatPrice\n * @param n char value\n * @return boolean [if it's numeric or not]\n */\nexport function isNumeric(n) {\n return !isNaN(parseFloat(n)) && isFinite(n)\n}\n\n/**\n * This is helper function for formatPrice\n * @param n char value\n * @return boolean [if it's alphabet or not]\n */\nexport function isAlphabet(n) {\n return /^[a-zA-Z()]+$/.test(n)\n}\n\n/**\n * This is a helper function for formatting the language\n * @return string\n */\n\nexport function getLanguage() {\n const lang = document\n .querySelector('html')\n .lang.substring(0, 2)\n .toLowerCase()\n return supportedLanguages.indexOf(lang) > -1 ? lang : 'en'\n}\n\nexport async function getAPModal(modalNode) {\n const currentLang = getLanguage()\n modalNode.className =\n 'sezzle-checkout-modal-lightbox close-sezzle-modal sezzle-ap-modal'\n const url = `https://media.sezzle.com/afterpay/modal/${currentLang}.html`\n try {\n const response = await fetch(url)\n if (!response.ok) {\n throw new Error(\n `Failed to fetch afterpay modal, status: ${response.status}`\n )\n }\n modalNode.innerHTML = await response.text()\n } catch (error) {\n console.error(error)\n }\n}\n\n/**\n * Extracts the currency symbol from a price string\n * @param priceString - String containing price with currency symbol\n * @param defaultCurrency - Default currency to return if not found (optional, defaults to \"$\")\n * @return string - The currency symbol or default\n */\nexport function getCurrency(priceString, defaultCurrency = '$') {\n const CURRENCY_REGEX = /[$€£₤₹]/\n const currencyMatch = priceString.match(CURRENCY_REGEX)\n return currencyMatch ? currencyMatch[0] : defaultCurrency\n}\n\n/**\n * Returns the translation object for the specified language\n * @param currentLang - Language code (en, fr, es)\n * @return object - The translation object for the given language\n */\nexport function getTranslations(currentLang) {\n const translationsMap = {\n en: enTranslations,\n fr: frTranslations,\n es: esTranslations\n }\n return translationsMap[currentLang]\n}\n","import { parsePriceString, parsePrice } from './helper'\n\nexport const PI5_MIN_PRICE = 50\n\nexport function isProductEligibleLT(priceText, minPriceLT, maxPriceLT) {\n if (!minPriceLT) return false\n const price = parsePrice(priceText)\n return Number.isFinite(price) && price >= minPriceLT && price <= maxPriceLT\n}\n\nexport function isProductEligiblePI4(priceText, minPrice, maxPrice) {\n const price = parsePrice(priceText)\n return Number.isFinite(price) && price >= minPrice && price <= maxPrice\n}\n\nexport function isProductEligiblePI5(priceText, maxPrice, numberOfPayments) {\n if (numberOfPayments !== 5) return false\n const price = parsePrice(priceText)\n return Number.isFinite(price) && price >= PI5_MIN_PRICE && price <= maxPrice\n}\n\nexport function isInputAmountValid(priceText, minPrice, maxPrice, minPriceLT, maxPriceLT) {\n const price = parsePrice(priceText)\n if (!Number.isFinite(price) || price <= 0) return false\n // LT is only active when minPriceLT is set; otherwise maxPriceLT is ignored\n // and maxPrice is the sole upper bound.\n const upper = minPriceLT > 0 ? Math.max(maxPrice, maxPriceLT || 0) : maxPrice\n return price >= minPrice && price <= upper\n}\n\nexport function termsToShow(price) {\n switch (true) {\n case price > 1000:\n return [24, 36, 48]\n case price > 500:\n return [12, 18, 24]\n case price > 300:\n return [6, 9, 12]\n default:\n return [3, 6, 9]\n }\n}\n\nexport function addDelimiters(priceString) {\n const parsedPrice = Number(priceString).toFixed(2)\n if (parsedPrice.length > 6) {\n return (\n parsedPrice.substring(0, parsedPrice.indexOf('.') - 3) +\n ',' +\n parsedPrice.substring(parsedPrice.indexOf('.') - 3, parsedPrice.length)\n )\n }\n return parsedPrice\n}\n\nexport function calculateMonthlyWithInterest(priceText, term, APR) {\n const price = Number(priceText)\n if (APR > 0) {\n const rate = APR / 100 / 12\n const numerator = price * rate * Math.pow(1 + rate, term)\n const denominator = Math.pow(1 + rate, term) - 1\n const interestPayment = numerator / denominator\n return interestPayment\n } else {\n return price / term\n }\n}\n\nexport function getFormattedPrice(\n price,\n numberOfPayments,\n minPriceLT,\n maxPriceLT,\n bestAPR\n) {\n const priceString = parsePriceString(price)\n const priceReplacer = parsePrice(price)\n const formatter = price.replace(priceString, '{price}')\n const terms = termsToShow(priceReplacer)\n const sezzleInstallmentPrice = isProductEligibleLT(\n priceString,\n minPriceLT,\n maxPriceLT\n )\n ? calculateMonthlyWithInterest(\n priceString,\n terms[terms.length - 1],\n bestAPR\n )\n : priceReplacer / numberOfPayments\n const sezzleInstallmentFormattedPrice = formatter.replace(\n '{price}',\n sezzleInstallmentPrice.toFixed(2)\n )\n\n return sezzleInstallmentFormattedPrice\n};\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { getLanguage, getCurrency, getTranslations, parsePrice } from '../Helpers/helper'\nimport {\n addDelimiters,\n calculateMonthlyWithInterest,\n getFormattedPrice,\n isInputAmountValid,\n isProductEligibleLT,\n isProductEligiblePI4,\n isProductEligiblePI5,\n termsToShow\n} from '../Helpers/renderFunctions'\n\nconst CAROUSEL_MIN_TAB = 1\nconst CAROUSEL_MAX_TAB = 3\nconst INPUT_DEBOUNCE_DELAY_MS = 150\nconst CURRENCY_REGEX_GLOBAL = /[$€£₤₹]/g\nconst SANITIZE_REGEX = /[^0-9,.$€£₤₹]/g\nconst LT_APR_MIN = 9.99\nconst LT_APR_MAX = 34.99\nconst LT_TERM_MIN = 3\nconst LT_TERM_MAX = 48\n\nfunction computeEligibility(priceString, opts) {\n return {\n pi4: isProductEligiblePI4(priceString, opts.minPrice, opts.maxPrice),\n pi5: isProductEligiblePI5(priceString, opts.maxPrice, opts.numberOfPayments),\n lt: isProductEligibleLT(priceString, opts.minPriceLT, opts.maxPriceLT)\n }\n}\n\nfunction formatLTAmount(currency, value) {\n return currency + addDelimiters(value)\n}\n\nfunction generateBiweeklyCard(numberOfPayments, currency, priceString, minPriceLT, maxPriceLT, bestAPR, translations) {\n const classModifier = numberOfPayments === 4 ? 'fourth' : 'fifth'\n const dashWidth = numberOfPayments === 4 ? 30 : 22\n const installmentPrice = getFormattedPrice(currency + priceString, numberOfPayments, minPriceLT, maxPriceLT, bestAPR)\n const pillLabel = numberOfPayments === 5\n ? `${translations.MultiPlanpayIn} 5 <sup>TM</sup>`\n : `${translations.MultiPlanpayIn} ${numberOfPayments}`\n\n const installments = []\n for (let i = 0; i < numberOfPayments; i++) {\n const isFirst = i === 0\n const isLast = i === numberOfPayments - 1\n const weekNumber = i * 2\n const dueText = isFirst ? translations.today : `${weekNumber} ${translations.MultiPlanweeks}`\n\n installments.push(`\n <div class='installment'>\n <div class='graphic'>\n <div class='dash left ${classModifier}'>\n <svg width=\"${dashWidth}\" height=\"2\" viewBox=\"0 0 ${dashWidth} 2\" fill=\"#E8E8E8\" xmlns=\"http://www.w3.org/2000/svg\"${isFirst ? ' style=\"visibility: hidden\"' : ''}>\n <rect x=\"${dashWidth === 30 ? '0.75' : '0.399994'}\" width=\"${dashWidth}\" height=\"2\" fill=\"#E8E8E8\"/>\n </svg>\n </div>\n <div class='dot'>\n <svg width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.39999 12C10.6091 12 12.4 10.2091 12.4 8C12.4 5.79086 10.6091 4 8.39999 4C6.19085 4 4.39999 5.79086 4.39999 8C4.39999 10.2091 6.19085 12 8.39999 12Z\" fill=\"#8333D4\"></path>\n </svg>\n </div>\n <div class='dash right ${classModifier}'>\n <svg width=\"${dashWidth}\" height=\"${i > 0 && i < numberOfPayments - 1 ? 16 : 2}\" viewBox=\"0 0 ${dashWidth} ${i > 0 && i < numberOfPayments - 1 ? 16 : 2}\" fill=\"#E8E8E8\" xmlns=\"http://www.w3.org/2000/svg\"${isLast ? ' style=\"visibility: hidden\"' : ''}>\n <rect x=\"${dashWidth === 30 ? '0.75' : '0.399994'}\" ${i > 0 && i < numberOfPayments - 1 ? 'y=\"7\" ' : ''}width=\"${dashWidth}\" height=\"2\" fill=\"#E8E8E8\"/>\n </svg>\n </div>\n </div>\n <div class='detail${isFirst ? ' first-installment' : ''}'>\n <div class='amount ${numberOfPayments}-pay-installment'>\n ${installmentPrice}\n </div>\n <div class='due'>\n ${dueText}\n </div>\n </div>\n </div>\n `)\n }\n\n return `\n <div class='payment-card ${numberOfPayments}-pay-installment-card'>\n <div class='plan-summary'>\n <div class='purple'>\n <div class='left'>\n <span class='price ${numberOfPayments}-pay-installment'>${installmentPrice}</span>\n <span class='due'>${translations.today}</span>\n </div>\n <div class='right'>\n <span class='pill'>${pillLabel}</span>\n </div>\n </div>\n <div class='grey'>\n <span class=\"${numberOfPayments}-pay-installment\">${installmentPrice}</span> ${translations.MultiPlanevery2Weeks}\n </div>\n </div>\n <div class='payment-breakdown'>\n ${installments.join('')}\n </div>\n </div>\n `\n}\n\nfunction generateMonthlyCard(months, currency, priceString, bestAPR, translations) {\n const monthly = calculateMonthlyWithInterest(priceString, months, bestAPR)\n const total = monthly * months\n const interest = total - Number(priceString)\n\n return `\n <div class='payment-card monthly-installment-card' data-months='${months}'>\n <div class='plan-summary'>\n <div class='purple'>\n <div class='left'>\n <span class='price monthly-amount' data-months='${months}'>${formatLTAmount(currency, monthly)}</span>\n <span class='due' aria-label='${translations.LTperMonth}'>\n <span aria-hidden='true'>${translations.LTmonthlyAmount}</span>\n </span>\n </div>\n <div class='right'>\n <span class='pill'>${months} ${translations.LTtermLength}</span>\n </div>\n </div>\n </div>\n <div class='plan-details monthly-plan-details'>\n <div class='monthly-detail-row' aria-label='${translations.LTreadApr} ${bestAPR} ${translations.LTpercent}'>\n <span class='detail-label' aria-hidden='true'>${translations.LTsampleApr}</span>\n <span class='detail-value monthly-apr' aria-hidden='true'>${bestAPR}%</span>\n </div>\n <div class='monthly-detail-row'>\n <span class='detail-label'>${translations.LTinterest}</span>\n <span class='detail-value monthly-interest' data-months='${months}'>${formatLTAmount(currency, interest)}</span>\n </div>\n <div class='monthly-detail-row'>\n <span class='detail-label'>${translations.LTadjustedTotal}</span>\n <span class='detail-value monthly-total' data-months='${months}'>${formatLTAmount(currency, total)}</span>\n </div>\n </div>\n </div>\n `\n}\n\nfunction featureCheckSvg() {\n return `<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6.66667 0C2.98667 0 0 2.98667 0 6.66667C0 10.3467 2.98667 13.3333 6.66667 13.3333C10.3467 13.3333 13.3333 10.3467 13.3333 6.66667C13.3333 2.98667 10.3467 0 6.66667 0ZM6.66667 12C3.72667 12 1.33333 9.60667 1.33333 6.66667C1.33333 3.72667 3.72667 1.33333 6.66667 1.33333C9.60667 1.33333 12 3.72667 12 6.66667C12 9.60667 9.60667 12 6.66667 12ZM9.25333 4.19333L5.33333 8.11333L4.08 6.86C3.82 6.6 3.4 6.6 3.14 6.86C2.88 7.12 2.88 7.54 3.14 7.8L4.86667 9.52667C5.12667 9.78667 5.54667 9.78667 5.80667 9.52667L10.2 5.13333C10.46 4.87333 10.46 4.45333 10.2 4.19333C9.94 3.93333 9.51333 3.93333 9.25333 4.19333Z\" fill=\"#8333D4\"/>\n </svg>`\n}\n\nfunction generateBiweeklyInner(eligibility, currency, priceString, opts, translations) {\n if (!eligibility.pi4) return ''\n return `\n ${generateBiweeklyCard(4, currency, priceString, opts.minPriceLT, opts.maxPriceLT, opts.bestAPR, translations)}\n ${eligibility.pi5 ? generateBiweeklyCard(5, currency, priceString, opts.minPriceLT, opts.maxPriceLT, opts.bestAPR, translations) : ''}\n `\n}\n\nfunction generateMonthlyInner(eligibility, currency, priceString, opts, translations) {\n if (!eligibility.lt) return ''\n const terms = termsToShow(parsePrice(priceString))\n const cards = terms.map(months => generateMonthlyCard(months, currency, priceString, opts.bestAPR, translations)).join('')\n const seeDetails = translations.LTseeDetails\n const hideDetails = translations.LThideDetails\n\n return `\n ${cards}\n <div class=\"features-accordion\">\n <div class=\"accordion-title-bar\">\n <span class=\"accordion-title\" aria-hidden='true'>${seeDetails}</span>\n <button class=\"accordion-icon accordion-toggle\" aria-expanded=\"false\" aria-controls=\"features-drawer\" aria-label='${seeDetails}' data-label-expand='${seeDetails}' data-label-collapse='${hideDetails}'>\n <svg class=\"accordion-icon-expand\" width=\"12\" height=\"7\" viewBox=\"0 0 12 7\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9.4625 0.2925L5.5825 4.1725L1.7025 0.2925C1.3125 -0.0975 0.6825 -0.0975 0.2925 0.2925C-0.0975 0.6825 -0.0975 1.3125 0.2925 1.7025L4.8825 6.2925C5.2725 6.6825 5.9025 6.6825 6.2925 6.2925L10.8825 1.7025C11.2725 1.3125 11.2725 0.6825 10.8825 0.2925C10.4925 -0.0875 9.8525 -0.0975 9.4625 0.2925Z\" fill=\"#8333D4\"/>\n </svg>\n <svg class=\"accordion-icon-collapse\" style=\"display:none\" width=\"12\" height=\"7\" viewBox=\"0 0 12 7\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4.8825 0.2925L0.2925 4.8825C-0.0975 5.2725 -0.0975 5.9025 0.2925 6.2925C0.6825 6.6825 1.3125 6.6825 1.7025 6.2925L5.5925 2.4125L9.4725 6.2925C9.8625 6.6825 10.4925 6.6825 10.8825 6.2925C11.2725 5.9025 11.2725 5.2725 10.8825 4.8825L6.2925 0.2925C5.9125 -0.0975 5.2725 -0.0975 4.8825 0.2925Z\" fill=\"#8333D4\"/>\n </svg>\n </button>\n </div>\n <div id=\"features-drawer\" class=\"features-drawer\" style=\"display: none;\">\n <div class=\"single-feature\"><div>${featureCheckSvg()}</div><span>${translations.LTsingleFeatureAffordable}</span></div>\n <div class=\"single-feature\"><div>${featureCheckSvg()}</div><span>${translations.LTsingleFeaturePrequalify}</span></div>\n <div class=\"single-feature\"><div>${featureCheckSvg()}</div><span>${translations.LTsingleFeatureTrusted}</span></div>\n </div>\n </div>\n `\n}\n\nfunction generateTermsInner(eligibility, translations) {\n let webBank = ''\n if (eligibility.pi4) {\n const productTerms = eligibility.pi5 ? translations.webBankTermsPI5 : translations.webBankTermsPI4\n webBank = `\n <p class=\"terms\">\n <span class=\"webbank-terms\">${translations.webBankTerms} ${productTerms}</span>\n <br />\n <span>${translations.linkToCompleteTerms}</span>\n </p>\n `\n }\n\n let ltTerms = ''\n if (eligibility.lt) {\n const ltTerms3 = (translations.LTterms3 || '* Subject to credit approval by a third party lender.')\n .replace('{minAPR}', LT_APR_MIN)\n .replace('{maxAPR}', LT_APR_MAX)\n .replace('{minTermMonths}', LT_TERM_MIN)\n .replace('{maxTermMonths}', LT_TERM_MAX)\n ltTerms = `<p class=\"terms lt-terms\">${ltTerms3}</p>`\n }\n\n return `\n <p class=\"terms\"><span>${translations.terms1}</span><br /><span>${translations.termsHiw}</span></p>\n <p class=\"terms\">${translations.terms2}</p>\n ${webBank}\n ${ltTerms}\n `\n}\n\nfunction updateArrowStates(leftArrow, rightArrow, activeTab) {\n if (!leftArrow || !rightArrow) return\n const leftDisabled = activeTab === CAROUSEL_MIN_TAB\n const rightDisabled = activeTab === CAROUSEL_MAX_TAB\n leftArrow.disabled = leftDisabled\n leftArrow.classList.toggle('disabled', leftDisabled)\n rightArrow.disabled = rightDisabled\n rightArrow.classList.toggle('disabled', rightDisabled)\n}\n\nfunction updateDotStates(dots, activeTab) {\n if (!dots) return\n for (let i = 0; i < dots.length; i++) {\n const isActive = (activeTab - 1) === i\n dots[i].className = isActive ? 'dot active' : 'dot'\n dots[i].setAttribute('aria-selected', isActive ? 'true' : 'false')\n }\n}\n\nfunction updateCarouselPosition(carouselWrapper, activeTab) {\n if (!carouselWrapper) return\n const carousel = carouselWrapper.querySelector('.carousel')\n if (carousel) carousel.className = `carousel position-${activeTab}`\n}\n\nfunction handleCarouselTabStyles(btn) {\n if (!btn || btn.classList.contains('disabled')) return\n\n const modalNode = btn.closest('[data-carousel-initialized]')\n if (!modalNode) return\n\n const carouselWrapper = btn.closest('.how-to-sezzle')\n if (!carouselWrapper) return\n\n let activeTab = parseInt(modalNode.dataset.activeTab || CAROUSEL_MIN_TAB, 10)\n if (btn.classList.contains('arrow-right')) {\n activeTab = Math.min(activeTab + 1, CAROUSEL_MAX_TAB)\n } else {\n activeTab = Math.max(activeTab - 1, CAROUSEL_MIN_TAB)\n }\n\n modalNode.dataset.activeTab = activeTab\n\n const arrows = btn.parentElement.querySelectorAll('.arrow')\n const leftArrow = Array.from(arrows).find(arrow => arrow.classList.contains('arrow-left'))\n const rightArrow = Array.from(arrows).find(arrow => arrow.classList.contains('arrow-right'))\n\n updateCarouselPosition(carouselWrapper, activeTab)\n updateArrowStates(leftArrow, rightArrow, activeTab)\n\n const dots = carouselWrapper.querySelector('.carousel-dots')?.children\n updateDotStates(dots, activeTab)\n}\n\nexport function handleCarousel(modalNode) {\n if (!modalNode) return\n const carouselWrapper = modalNode.querySelector('.how-to-sezzle')\n if (!carouselWrapper) return\n\n const arrows = modalNode.getElementsByClassName('arrow')\n const leftArrow = Array.from(arrows).find(arrow => arrow.classList.contains('arrow-left'))\n const rightArrow = Array.from(arrows).find(arrow => arrow.classList.contains('arrow-right'))\n if (!leftArrow || !rightArrow) return\n\n const isInitialized = modalNode.dataset.carouselInitialized === 'true'\n if (isInitialized) {\n modalNode.dataset.activeTab = CAROUSEL_MIN_TAB\n updateCarouselPosition(carouselWrapper, CAROUSEL_MIN_TAB)\n updateArrowStates(leftArrow, rightArrow, CAROUSEL_MIN_TAB)\n const dots = carouselWrapper.querySelector('.carousel-dots')?.children\n updateDotStates(dots, CAROUSEL_MIN_TAB)\n } else {\n modalNode.dataset.carouselInitialized = 'true'\n modalNode.dataset.activeTab = CAROUSEL_MIN_TAB\n for (let i = 0; i < arrows.length; i++) {\n arrows[i].addEventListener('click', (e) => {\n e.stopPropagation()\n handleCarouselTabStyles(e.currentTarget)\n })\n }\n }\n}\n\n// Attach (or re-attach after re-render) the See details accordion toggle.\nfunction attachFeaturesAccordion(modalNode) {\n const toggle = modalNode.querySelector('.accordion-toggle')\n if (!toggle || toggle.dataset.listenersAdded === 'true') return\n\n toggle.addEventListener('click', (e) => {\n e.stopPropagation()\n const drawer = modalNode.querySelector('#features-drawer')\n const expandIcon = toggle.querySelector('.accordion-icon-expand')\n const collapseIcon = toggle.querySelector('.accordion-icon-collapse')\n const title = modalNode.querySelector('.accordion-title')\n const isExpanded = toggle.getAttribute('aria-expanded') === 'true'\n\n if (isExpanded) {\n drawer.style.display = 'none'\n expandIcon.style.display = ''\n collapseIcon.style.display = 'none'\n toggle.setAttribute('aria-expanded', 'false')\n if (title) title.textContent = toggle.dataset.labelExpand\n } else {\n drawer.style.display = ''\n expandIcon.style.display = 'none'\n collapseIcon.style.display = ''\n toggle.setAttribute('aria-expanded', 'true')\n if (title) title.textContent = toggle.dataset.labelCollapse\n }\n })\n toggle.dataset.listenersAdded = 'true'\n}\n\n// Swap in re-rendered HTML for the sections that depend on the input amount.\nfunction renderDynamicSections(modalNode, currency, priceString, opts, translations) {\n const eligibility = computeEligibility(priceString, opts)\n\n const container = modalNode.querySelector('#sezzle-modal-container')\n if (container) container.classList.toggle('pi4-only', !eligibility.pi5)\n\n const biweekly = modalNode.querySelector('.payment-cards-biweekly')\n if (biweekly) {\n biweekly.innerHTML = generateBiweeklyInner(eligibility, currency, priceString, opts, translations)\n biweekly.style.display = eligibility.pi4 ? '' : 'none'\n }\n\n const monthly = modalNode.querySelector('.payment-cards-monthly')\n if (monthly) {\n monthly.innerHTML = generateMonthlyInner(eligibility, currency, priceString, opts, translations)\n monthly.style.display = eligibility.lt ? '' : 'none'\n if (eligibility.lt) attachFeaturesAccordion(modalNode)\n }\n\n const terms = modalNode.querySelector('.terms-container')\n if (terms) terms.innerHTML = generateTermsInner(eligibility, translations)\n}\n\nfunction handleMultiPlanInput(modalNode, opts, initialCurrency) {\n const input = modalNode.querySelector('.input-amount')\n const container = modalNode.querySelector('.input-amount-container')\n if (!input || input.dataset.listenersAdded === 'true') return\n\n let currency = initialCurrency\n let debounceTimer = null\n const translations = getTranslations(getLanguage())\n\n input.addEventListener('click', (e) => e.stopPropagation())\n input.addEventListener('focus', (e) => e.stopPropagation())\n\n input.addEventListener('input', (event) => {\n event.stopPropagation()\n if (debounceTimer) clearTimeout(debounceTimer)\n\n debounceTimer = setTimeout(() => {\n const raw = event.target.value.replace(SANITIZE_REGEX, '')\n currency = getCurrency(raw)\n const priceString = raw.replace(CURRENCY_REGEX_GLOBAL, '')\n\n const valid = isInputAmountValid(priceString, opts.minPrice, opts.maxPrice, opts.minPriceLT, opts.maxPriceLT)\n if (!valid) {\n input.classList.add('input-error')\n if (container) container.classList.add('input-error')\n return\n }\n input.classList.remove('input-error')\n if (container) container.classList.remove('input-error')\n\n renderDynamicSections(modalNode, currency, priceString, opts, translations)\n }, INPUT_DEBOUNCE_DELAY_MS)\n })\n\n input.dataset.listenersAdded = 'true'\n}\n\n// Resets the modal to reflect the current widget price. Called when the modal\n// is (re)opened so the input never carries stale text from a prior session and\n// the cards/terms reflect the latest props.price. Eligibility uses the same\n// minPrice=0 relaxation as the initial render so PI4 is always visible on open.\nexport function resetMultiPlanModal(modalNode, rawPrice, opts) {\n if (!modalNode) return\n const translations = getTranslations(getLanguage())\n // Whitelist-sanitize before interpolating into innerHTML downstream, matching\n // the user-input path in handleMultiPlanInput so all entry points share the\n // same trust posture regardless of how the caller sourced rawPrice.\n const sanitized = rawPrice.replace(SANITIZE_REGEX, '')\n const currency = getCurrency(sanitized)\n const priceString = sanitized.replace(CURRENCY_REGEX_GLOBAL, '').trim()\n\n const input = modalNode.querySelector('.input-amount')\n const container = modalNode.querySelector('.input-amount-container')\n if (input) {\n input.value = currency + priceString\n input.classList.remove('input-error')\n }\n if (container) container.classList.remove('input-error')\n\n renderDynamicSections(modalNode, currency, priceString, { ...opts, minPrice: 0 }, translations)\n}\n\nexport function getMultiPlanModal(modalNode, priceString, opts) {\n const currentLang = getLanguage()\n const translations = getTranslations(currentLang)\n // Whitelist-sanitize before interpolating into innerHTML downstream, matching\n // the user-input path in handleMultiPlanInput so all entry points share the\n // same trust posture regardless of how the caller sourced priceString.\n const sanitized = priceString.replace(SANITIZE_REGEX, '')\n const currency = getCurrency(sanitized)\n priceString = sanitized.replace(CURRENCY_REGEX_GLOBAL, '').trim()\n\n // Initial render relaxes minPrice to 0 so that opening the modal always\n // shows at least one biweekly card, even when the configured minPrice\n // exceeds the current price. Strict minPrice still applies to user input\n // via handleMultiPlanInput → isInputAmountValid.\n const eligibility = computeEligibility(priceString, { ...opts, minPrice: 0 })\n\n modalNode.className = 'sezzle-checkout-modal-lightbox sezzle-modal'\n\n const modalContent = `<section class=\"sezzle-checkout-modal-lightbox close-sezzle-modal\" lang=\"${currentLang}\" aria-label=\"${translations.sezzleInformation}\" style=\"display: block;\">\n <div id=\"sezzle-modal-container\" role=\"dialog\" aria-label=\"Sezzle Modal\" class=\"sezzle-checkout-modal-hidden sezzle-multi-plan${eligibility.pi5 ? '' : ' pi4-only'}\">\n <div class=\"sezzle-modal\">\n <div><button role=\"button\" aria-label=\"${translations.closeSezzleModal}\" class=\"close-sezzle-modal\"></button></div>\n <div class=\"sezzle-logo\" title=\"Sezzle\"></div>\n <div id=\"sezzle-modal-core-content\" class=\"sezzle-modal-content\">\n <p class='trusted'>${translations.MultiPlantrusted}</p>\n <header class='sezzle-header'>${translations.MultiPlanheader}</header>\n <div class='payment-plan-wrapper'>\n <p class='sample-payments ${currentLang === 'fr' ? 'sezzle-multi-plan-fr' : ''}'>\n <span class=\"sample-payments-title\">${translations.MultiPlanSeePlans}</span>\n <span class=\"input-amount-container\">\n <label class=\"input-amount-label\" for=\"multi-plan-input-amount\">${translations.MultiPlanAmount}</label>\n <input class='price input-amount' id=\"multi-plan-input-amount\" maxlength=\"12\" value='${currency + priceString}'/>\n </span>\n </p>\n <div class='payment-cards payment-cards-biweekly'${eligibility.pi4 ? '' : ' style=\"display:none\"'}>${generateBiweeklyInner(eligibility, currency, priceString, opts, translations)}</div>\n <div class='payment-cards payment-cards-monthly'${eligibility.lt ? '' : ' style=\"display:none\"'}>${generateMonthlyInner(eligibility, currency, priceString, opts, translations)}</div>\n </div>\n <div class='how-to-sezzle'>\n <div class='carousel-header'>\n <div class='how-to-text-wrapper'>\n <span class='how-to-text'>${translations.MultiPlanhowToPay}</span>\n <div class='how-to-logo'>\n <img class=\"how-to-sezzle-logo szl-light-image\" src=\"https://media.sezzle.com/branding/2.0/Sezzle_Logo_FullColor.svg\" alt=\"Sezzle\" style=\"height: 14px; width: 58px;\">\n </div>\n </div>\n <div class='arrows'>\n <button type='button' class='arrow arrow-left disabled' disabled aria-label='${translations.previousSlide}'>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.5 16.4078C14.825 16.0828 14.825 15.5578 14.5 15.2328L11.2667 11.9995L14.5 8.76614C14.825 8.44114 14.825 7.91614 14.5 7.59114C14.175 7.26614 13.65 7.26614 13.325 7.59114L9.5 11.4161C9.175 11.7411 9.175 12.2661 9.5 12.5911L13.325 16.4161C13.6417 16.7328 14.175 16.7328 14.5 16.4078Z\" fill=\"#8333D4\"/></svg>\n </button>\n <button type='button' class='arrow arrow-right' aria-label='${translations.nextSlide}'>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.5 7.59219C9.175 7.91719 9.175 8.44219 9.5 8.76719L12.7333 12.0005L9.5 15.2339C9.175 15.5589 9.175 16.0839 9.5 16.4089C9.825 16.7339 10.35 16.7339 10.675 16.4089L14.5 12.5839C14.825 12.2589 14.825 11.7339 14.5 11.4089L10.675 7.58386C10.3583 7.26719 9.825 7.26719 9.5 7.59219Z\" fill=\"#8333D4\"/></svg>\n </button>\n </div>\n </div>\n <div class='carousel position-1'>\n <div class='carousel-item'><div class='carousel-item-content'><div class='step-number'><span class='step-number-content'>1</span></div><div class='step-name'>${translations.MultiPlanStep1}</div></div></div>\n <div class='carousel-item'><div class='carousel-item-content'><div class='step-number'><span class='step-number-content'>2</span></div><div class='step-name'>${translations.MultiPlanStep2}</div></div></div>\n <div class='carousel-item'><div class='carousel-item-content'><div class='step-number'><span class='step-number-content'>3</span></div><div class='step-name'>${translations.MultiPlanStep3}</div></div></div>\n </div>\n <div class='carousel-dots' role=\"tablist\" aria-label=\"${translations.carouselPosition}\">\n <div class=\"dot active\" role=\"tab\" aria-selected=\"true\" aria-label=\"${translations.slide} 1\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#8333D4\"/></svg></div>\n <div class=\"dot\" role=\"tab\" aria-selected=\"false\" aria-label=\"${translations.slide} 2\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#8333D4\"/></svg></div>\n <div class=\"dot\" role=\"tab\" aria-selected=\"false\" aria-label=\"${translations.slide} 3\"><svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\"><rect width=\"6\" height=\"6\" rx=\"3\" fill=\"#8333D4\"/></svg></div>\n </div>\n </div>\n <div class=\"terms-container\">${generateTermsInner(eligibility, translations)}</div>\n </div>\n </div>\n </div>\n</section>`\n modalNode.innerHTML = modalContent\n handleCarousel(modalNode)\n if (eligibility.lt) attachFeaturesAccordion(modalNode)\n handleMultiPlanInput(modalNode, opts, currency)\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { getAPModal } from '../Helpers/helper'\nimport { getMultiPlanModal, handleCarousel, resetMultiPlanModal } from './MultiPlanModal'\nimport './modal.scss'\n\nexport default class Modal extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modalElement: null,\n isModalVisible: false\n }\n }\n\n static getDerivedStateFromProps(props, state) {\n if (!state.modalElement) {\n let modalElement = document.createElement('div')\n if (props.modalType === 'afterpay') {\n if (document.querySelector('.sezzle-ap-modal')) {\n modalElement = document.querySelector('.sezzle-ap-modal')\n } else {\n getAPModal(modalElement)\n }\n } else {\n getMultiPlanModal(modalElement, props.price, {\n minPrice: props.minPrice,\n maxPrice: props.maxPrice,\n minPriceLT: props.minPriceLT,\n maxPriceLT: props.maxPriceLT,\n bestAPR: props.bestAPR,\n numberOfPayments: props.numberOfPayments\n })\n }\n state = { ...state, modalElement }\n }\n state.modalElement.style.display = state.isModalVisible ? 'block' : 'none'\n return state\n }\n\n componentDidMount() {\n document.querySelector('html').appendChild(this.state.modalElement)\n\n // Scope queries to this Modal instance's element so handlers don't bleed\n // across Sezzle/Afterpay modal instances when both are rendered.\n const sezzleModal = this.state.modalElement.querySelector(\n this.props.modalType === 'afterpay' ? '.sezzle-ap-modal' : '.sezzle-modal'\n )\n if (sezzleModal) {\n sezzleModal.addEventListener('click', (event) => event.stopPropagation())\n }\n\n // Include modalElement itself plus any descendants carrying the\n // close-sezzle-modal class (the overlay <section> and the X button).\n const closeTargets = [\n this.state.modalElement,\n ...this.state.modalElement.querySelectorAll('.close-sezzle-modal')\n ].filter((el) => el.classList.contains('close-sezzle-modal'))\n closeTargets.forEach((el) =>\n el.addEventListener('click', (event) => this.modalCloseHandler(event))\n )\n }\n\n componentDidUpdate(prevProps, prevState) {\n this.toggleModalVisibility(this.props.toggleModalVisibility)\n }\n\n toggleModalVisibility = (isModalVisible) => {\n if (isModalVisible !== this.state.isModalVisible) {\n this.setState({ ...this.state, isModalVisible })\n\n // On open: reset input + cards to the current props.price (covers both\n // stale typed input from a prior open and runtime price prop changes),\n // and reset the carousel to the first slide.\n if (isModalVisible && this.props.modalType !== 'afterpay' && this.state.modalElement) {\n resetMultiPlanModal(this.state.modalElement, this.props.price, {\n minPrice: this.props.minPrice,\n maxPrice: this.props.maxPrice,\n minPriceLT: this.props.minPriceLT,\n maxPriceLT: this.props.maxPriceLT,\n bestAPR: this.props.bestAPR,\n numberOfPayments: this.props.numberOfPayments\n })\n handleCarousel(this.state.modalElement)\n }\n }\n }\n\n modalCloseHandler = (event) => {\n this.props.callbackModalClose(this.props.modalType)\n }\n\n render() {\n return null\n }\n}\n\nModal.propTypes = {\n toggleModalVisibility: PropTypes.bool,\n modalType: PropTypes.string,\n callbackModalClose: PropTypes.func,\n numberOfPayments: PropTypes.number,\n price: PropTypes.string,\n minPrice: PropTypes.number,\n maxPrice: PropTypes.number,\n minPriceLT: PropTypes.number,\n maxPriceLT: PropTypes.number,\n bestAPR: PropTypes.number\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { getFormattedPrice, PI5_MIN_PRICE } from '../Helpers/renderFunctions'\nimport '../index.scss'\nimport { getLanguage, getTranslations, parsePriceString, parsePrice } from '../Helpers/helper'\n// eslint-disable-next-line no-unused-vars\nimport Modal from './Modal'\n\nexport default class SezzleWidgetText extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n config: this.props.config,\n sezzle: false,\n afterpay: false,\n modalsToShow: ['sezzle', 'afterpay']\n }\n }\n\n static getDerivedStateFromProps(props, state) {\n const config = props.config\n state = { ...state, config }\n\n return state\n }\n\n renderSezzleWidgetText() {\n const logoURLs = {\n light: 'https://media.sezzle.com/branding/2.0/Sezzle_Logo_FullColor.svg',\n dark: 'https://media.sezzle.com/branding/2.0/Sezzle_Logo_FullColor_WhiteWM.svg',\n 'black-flat':\n 'https://media.sezzle.com/branding/2.0/Sezzle_Logo_BlackAlt.svg',\n 'white-flat':\n 'https://media.sezzle.com/branding/2.0/Sezzle_Logo_WhiteAlt.svg'\n }\n const language = getLanguage()\n\n const translations = getTranslations(language)\n\n const priceFloat = parsePrice(\n parsePriceString(this.state.config.price)\n )\n const includeAPModal = !!this.state.config.includeAPModal\n const minPriceLT = this.state.config.minPriceLT || 0\n const ltEnabled = minPriceLT > 0\n const upperBound = ltEnabled\n ? this.state.config.maxPriceLT\n : this.state.config.maxPrice\n if (priceFloat <= 0 || priceFloat > upperBound) {\n return\n }\n\n // <$50 forces 4-installment messaging (PI5 minimum is $50). At or above\n // $50, honor the config: 4 if explicitly set, otherwise 5.\n const effectiveNumberOfPayments =\n priceFloat >= PI5_MIN_PRICE && this.state.config.numberOfPayments !== 4\n ? 5\n : 4\n\n let widgetTemplate\n if (ltEnabled && priceFloat >= minPriceLT) {\n widgetTemplate = translations.longTerm\n } else if (effectiveNumberOfPayments === 5 && includeAPModal) {\n widgetTemplate = translations.dualInstall\n } else {\n widgetTemplate = translations.widget\n }\n\n // Resolve curly-brace placeholders to plain strings before splitting on\n // %% for component substitution. Empty when the feature is off.\n const apDualInstallText = includeAPModal ? translations.apDualInstall : ''\n const thresholdPriceText =\n this.state.config.minPrice > 0 && priceFloat < this.state.config.minPrice\n ? translations.thresholdPrice.replace(\n '%%min-price%%',\n `$${this.state.config.minPrice}`\n )\n : ''\n\n widgetTemplate = widgetTemplate\n .replace('{numberOfPayments}', effectiveNumberOfPayments)\n .replace('{apDualInstallText}', apDualInstallText)\n .replace('{thresholdPriceText}', thresholdPriceText)\n\n const subtemplates = []\n widgetTemplate.split('%%').forEach((subTemplate, index) => {\n switch (subTemplate) {\n case 'price':\n // eslint-disable-next-line no-case-declarations\n const priceElement = (\n <span\n className=\"sezzle-payment-amount sezzle-button-text\"\n key={index}\n >\n {getFormattedPrice(this.state.config.price, effectiveNumberOfPayments, this.state.config.minPriceLT, this.state.config.maxPriceLT, this.state.config.bestAPR)}\n </span>\n )\n subtemplates.push(priceElement)\n break\n case 'logo':\n // eslint-disable-next-line no-case-declarations\n const logoElement = (\n <img\n alt=\"Sezzle\"\n className={`sezzle-logo szl-${\n this.state.config.theme === 'dark' ||\n this.state.config.theme === 'white-flat'\n ? 'dark'\n : 'light'\n }-image`}\n src={logoURLs[this.state.config.theme] || logoURLs.light}\n style={{\n transformOrigin: `top-${this.state.config.alignment}`,\n transform: `scale(${this.state.config.logoSize})`,\n cursor: 'pointer',\n width: '74px',\n height: '18px'\n }}\n key={index}\n onClick={() => this.openModal('sezzle')}\n />\n )\n subtemplates.push(logoElement)\n break\n case 'info':\n // eslint-disable-next-line no-case-declarations\n const iconSize = this.state.config.fontSize || 14\n // eslint-disable-next-line no-case-declarations\n const infoElement = (\n <div\n aria-label={`${translations.clickToLearnMore}`}\n className=\"sezzle-info-icon\"\n key={index}\n onClick={() => this.openModal('sezzle')}\n role=\"button\"\n >\n <svg width={iconSize} height={iconSize} viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M7 0C3.13 0 0 3.13 0 7s3.13 7 7 7 7-3.13 7-7-3.13-7-7-7zm0 12.6A5.6 5.6 0 1 1 7 1.4a5.6 5.6 0 0 1 0 11.2zM6.3 3.5h1.4v1.4H6.3V3.5zm0 2.8h1.4v4.2H6.3V6.3z\" fill=\"currentColor\"/>\n </svg>\n </div>\n )\n subtemplates.push(infoElement)\n break\n case 'afterpay-logo':\n // eslint-disable-next-line no-case-declarations\n const apLogo = (\n <img\n className=\"sezzle-ap-logo ap-modal-info-link no-sezzle-info\"\n src={\n 'https://media.sezzle.com/sezzle-credit-website-assets/ap-badge-black-on-mint.svg'\n }\n onClick={(event) => {\n event.stopPropagation()\n this.openModal('afterpay')\n }}\n key={index}\n alt=\"Afterpay\"\n />\n )\n subtemplates.push(apLogo)\n break\n default:\n subtemplates.push(subTemplate)\n }\n })\n return subtemplates\n }\n\n openModal(modalType) {\n modalType === 'afterpay'\n ? this.setState({ afterpay: true })\n : this.setState({ sezzle: true })\n }\n\n closeModal(modalType) {\n modalType === 'afterpay'\n ? this.setState({ afterpay: false })\n : this.setState({ sezzle: false })\n }\n\n render() {\n return (\n <div\n className={`sezzle-shopify-info-button sezzle-${\n this.state.config.merchantId || ''\n }`}\n >\n <div\n aria-haspopup=\"dialog\"\n role=\"button\"\n tabIndex=\"0\"\n className={`sezzle-checkout-button-wrapper sezzle-modal-link sezzle-${\n this.state.config.merchantId || ''\n } sezzle-${this.state.config.alignment || 'auto'}`}\n style={{ cursor: 'pointer' }}\n onClick={() => this.openModal('sezzle')}\n >\n <div\n className={`sezzle-button-text sezzle-${\n this.state.config.alignment || 'auto'\n } szl-${\n this.state.config.theme === 'dark' ||\n this.state.config.theme === 'white-flat'\n ? 'dark'\n : 'light'\n }`}\n style={{\n fontWeight: this.state.config.fontWeight || 500,\n fontFamily: this.state.config.fontFamily || 'inherit',\n fontSize: (this.state.config.fontSize || 14) + 'px',\n color: this.state.config.textColor || 'inherit'\n }}\n >\n {this.renderSezzleWidgetText()}\n </div>\n </div>\n {this.state.modalsToShow.map((modal, index) => (\n <Modal\n modalType={modal}\n key={index}\n toggleModalVisibility={this.state[modal]}\n callbackModalClose={(modal) => this.closeModal(modal)}\n minPrice={this.state.config.minPrice}\n maxPrice={this.state.config.maxPrice}\n minPriceLT={this.state.config.minPriceLT}\n maxPriceLT={this.state.config.maxPriceLT}\n bestAPR={this.state.config.bestAPR}\n price={this.state.config.price}\n numberOfPayments={this.state.config.numberOfPayments}\n />\n ))}\n </div>\n )\n }\n}\n\nSezzleWidgetText.propTypes = {\n config: PropTypes.object\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n// eslint-disable-next-line no-unused-vars\nimport SezzleWidget from './Components/SezzleWidget'\nimport './index.scss'\n\nexport default class SezzleWidgetWrapper extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n sezzleConfig: {\n price: this.props.price || 0,\n merchantId: this.props.merchantId || '',\n includeAPModal: this.props.includeAPModal || false,\n minPrice: this.props.minPrice || 0,\n maxPrice: this.props.maxPrice || 2500,\n minPriceLT: this.props.minPriceLT || 0,\n maxPriceLT: this.props.maxPriceLT || 15000,\n bestAPR: this.props.bestAPR || 21.99,\n theme: this.props.theme || 'light',\n alignment: this.props.alignment || 'auto',\n fontWeight: this.props.fontWeight || 500,\n fontFamily: this.props.fontFamily || 'inherit',\n fontSize: this.props.fontSize || 14,\n textColor: this.props.textColor || 'inherit',\n logoSize: this.props.logoSize || 1,\n modalsToShow: ['sezzle'],\n numberOfPayments: this.props.numberOfPayments === 4 ? 4 : 5\n }\n }\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.price !== state.sezzleConfig.price) {\n const updateState = state\n updateState.sezzleConfig.price = props.price\n return updateState\n }\n state = { ...state }\n if (\n props.includeAPModal &&\n state.sezzleConfig.modalsToShow.indexOf('afterpay') === -1\n ) {\n state.sezzleConfig.modalsToShow.push('afterpay')\n }\n return state\n }\n\n render() {\n return (\n <div>\n <SezzleWidget config={this.state.sezzleConfig} />\n </div>\n )\n }\n}\n\nSezzleWidgetWrapper.propTypes = {\n price: PropTypes.string.isRequired,\n merchantId: PropTypes.string.isRequired,\n theme: PropTypes.string,\n alignment: PropTypes.string,\n fontWeight: PropTypes.number,\n fontFamily: PropTypes.string,\n fontSize: PropTypes.number,\n textColor: PropTypes.string,\n logoSize: PropTypes.number,\n minPrice: PropTypes.number,\n maxPrice: PropTypes.number,\n minPriceLT: PropTypes.number,\n maxPriceLT: PropTypes.number,\n bestAPR: PropTypes.number,\n includeAPModal: PropTypes.bool,\n numberOfPayments: PropTypes.number\n}\n"],"names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","supportedLanguages","parsePriceString","price","formattedPrice","isNumeric","isAlphabet","parsePrice","parseFloat","isNaN","isFinite","test","getLanguage","lang","document","querySelector","substring","toLowerCase","indexOf","getAPModal","_x","_getAPModal","_callee","modalNode","currentLang","url","response","_t","_context","className","concat","fetch","ok","Error","status","text","innerHTML","console","error","getCurrency","priceString","defaultCurrency","undefined","CURRENCY_REGEX","currencyMatch","match","getTranslations","translationsMap","en","enTranslations","fr","frTranslations","es","esTranslations","PI5_MIN_PRICE","isProductEligibleLT","priceText","minPriceLT","maxPriceLT","Number","isProductEligiblePI4","minPrice","maxPrice","isProductEligiblePI5","numberOfPayments","isInputAmountValid","upper","Math","max","termsToShow","addDelimiters","parsedPrice","toFixed","calculateMonthlyWithInterest","term","APR","rate","numerator","pow","denominator","interestPayment","getFormattedPrice","bestAPR","priceReplacer","formatter","replace","terms","sezzleInstallmentPrice","sezzleInstallmentFormattedPrice","CAROUSEL_MIN_TAB","CAROUSEL_MAX_TAB","INPUT_DEBOUNCE_DELAY_MS","CURRENCY_REGEX_GLOBAL","SANITIZE_REGEX","LT_APR_MIN","LT_APR_MAX","LT_TERM_MIN","LT_TERM_MAX","computeEligibility","opts","pi4","pi5","lt","formatLTAmount","currency","generateBiweeklyCard","translations","classModifier","dashWidth","installmentPrice","pillLabel","MultiPlanpayIn","installments","isFirst","isLast","weekNumber","dueText","today","MultiPlanweeks","push","MultiPlanevery2Weeks","join","generateMonthlyCard","months","monthly","total","interest","LTperMonth","LTmonthlyAmount","LTtermLength","LTreadApr","LTpercent","LTsampleApr","LTinterest","LTadjustedTotal","featureCheckSvg","generateBiweeklyInner","eligibility","generateMonthlyInner","cards","map","seeDetails","LTseeDetails","hideDetails","LThideDetails","LTsingleFeatureAffordable","LTsingleFeaturePrequalify","LTsingleFeatureTrusted","generateTermsInner","webBank","productTerms","webBankTermsPI5","webBankTermsPI4","webBankTerms","linkToCompleteTerms","ltTerms","ltTerms3","LTterms3","terms1","termsHiw","terms2","updateArrowStates","leftArrow","rightArrow","activeTab","leftDisabled","rightDisabled","disabled","classList","toggle","updateDotStates","dots","isActive","setAttribute","updateCarouselPosition","carouselWrapper","carousel","handleCarouselTabStyles","btn","_carouselWrapper$quer","contains","closest","parseInt","dataset","min","arrows","parentElement","querySelectorAll","Array","from","find","arrow","children","handleCarousel","getElementsByClassName","isInitialized","carouselInitialized","_carouselWrapper$quer2","addEventListener","stopPropagation","currentTarget","attachFeaturesAccordion","listenersAdded","drawer","expandIcon","collapseIcon","title","isExpanded","getAttribute","style","display","textContent","labelExpand","labelCollapse","renderDynamicSections","container","biweekly","handleMultiPlanInput","initialCurrency","input","debounceTimer","event","clearTimeout","setTimeout","raw","target","valid","add","remove","resetMultiPlanModal","rawPrice","sanitized","trim","_objectSpread","getMultiPlanModal","modalContent","sezzleInformation","closeSezzleModal","MultiPlantrusted","MultiPlanheader","MultiPlanSeePlans","MultiPlanAmount","MultiPlanhowToPay","previousSlide","nextSlide","MultiPlanStep1","MultiPlanStep2","MultiPlanStep3","carouselPosition","slide","Modal","_React$Component","props","_this","_classCallCheck","_callSuper","_defineProperty","isModalVisible","state","setState","modalType","modalElement","callbackModalClose","_inherits","_createClass","key","componentDidMount","_this2","appendChild","sezzleModal","closeTargets","_toConsumableArray","filter","el","forEach","modalCloseHandler","componentDidUpdate","prevProps","prevState","toggleModalVisibility","render","getDerivedStateFromProps","createElement","React","Component","propTypes","PropTypes","bool","string","func","number","SezzleWidgetText","config","sezzle","afterpay","modalsToShow","renderSezzleWidgetText","logoURLs","light","dark","language","priceFloat","includeAPModal","ltEnabled","upperBound","effectiveNumberOfPayments","widgetTemplate","longTerm","dualInstall","widget","apDualInstallText","apDualInstall","thresholdPriceText","thresholdPrice","subtemplates","split","subTemplate","index","priceElement","logoElement","alt","theme","src","transformOrigin","alignment","transform","logoSize","cursor","width","height","onClick","openModal","iconSize","fontSize","infoElement","clickToLearnMore","role","viewBox","fill","xmlns","fillRule","clipRule","apLogo","closeModal","_this3","merchantId","tabIndex","fontWeight","fontFamily","color","textColor","modal","object","SezzleWidgetWrapper","sezzleConfig","SezzleWidget","updateState","isRequired"],"mappings":"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"}
|