{"version":3,"file":"Add_to_cart_button.CG4GeZne.mjs","names":["create","create"],"sources":["https:/framerusercontent.com/modules/Vu8sM3DwKDdSi2bltsPi/rkjqZclSkQOy0QCpfAmc/Parse_shopify_data.js","https:/framerusercontent.com/modules/8l7kldZFdo4Q33wHQBGB/5VMlieiI3PeoSFTKuy6T/Product_selection_store.js","https:/framerusercontent.com/modules/DVekzR4Sf5b9vz5aNZl6/9t4HzBHmEiq01r28jLjv/Variant_info_label.js","https:/framerusercontent.com/modules/CEFL18JTsoVN7HzqbGVy/KndVJRNlxYcbiwXYnvWR/Custom_product_field_store.js","https:/framerusercontent.com/modules/iUgN6EtVE5IGf92CQax3/94syrlgwoxkobvWYm4U1/Add_to_cart_button.js"],"sourcesContent":["import{SHARED_IMAGES}from\"https://framerusercontent.com/modules/KV16nQZJzK2PakIJS3ds/mMwI0Z7Bn85AP14ADxu9/Shared_images.js\";export const parseShopifyData=shopifyData=>{const parsedShopifyData=shopifyData?JSON.parse(shopifyData):EXAMPLE_DATA;return parsedShopifyData;};const EXAMPLE_DATA={id:\"15176683880773\",title:\"Green Polo\",handle:\"green-polo\",variants:[{id:\"55218501157189\",title:\"Variant Title\",price:{amount:\"99\",currencyCode:\"USD\"},priceByMarket:{US:{amount:\"99\",currencyCode:\"USD\"},GB:{amount:\"79\",currencyCode:\"GBP\"},CA:{amount:\"129\",currencyCode:\"CAD\"},EU:{amount:\"89\",currencyCode:\"EUR\"},AU:{amount:\"139\",currencyCode:\"AUD\"}},compareAtPriceByMarket:{US:{amount:\"120\",currencyCode:\"USD\"},GB:{amount:\"95\",currencyCode:\"GBP\"},CA:{amount:\"155\",currencyCode:\"CAD\"},EU:{amount:\"109\",currencyCode:\"EUR\"},AU:{amount:\"169\",currencyCode:\"AUD\"}},weight:0,weightUnit:\"KILOGRAMS\",availableForSale:true,sku:\"sku-untracked-1\",image:{id:\"gid://shopify/ProductImage/77445152801093\",url:SHARED_IMAGES.defaultProductImage,altText:\"Product image\",width:3097,height:3908}}]};\nexport const __FramerMetadata__ = {\"exports\":{\"parseShopifyData\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{create}from\"https://framerusercontent.com/modules/ieMSnIJVCiFKJmsg1OmM/KWFJj6n258MVreTmJoNk/Zustand.js\";const sanitizeQuantity=value=>{if(!Number.isFinite(value))return 1;const rounded=Math.floor(value);return Math.max(1,rounded);};export const useProductSelectionStore=create((set,get)=>({quantitiesByVariantId:{},selectedVariantByProductId:{},selectedSellingPlanByProductId:{},sellingPlanSelectionRequirementByProductId:{},getQuantity:variantId=>{const value=get().quantitiesByVariantId[variantId];return typeof value===\"number\"?value:1;},setQuantity:(variantId,quantity)=>{const next=sanitizeQuantity(quantity);set(state=>({quantitiesByVariantId:{...state.quantitiesByVariantId,[variantId]:next}}));},increment:(variantId,step=1)=>{set(state=>{const current=state.quantitiesByVariantId[variantId]??1;const next=sanitizeQuantity(current+step);return{quantitiesByVariantId:{...state.quantitiesByVariantId,[variantId]:next}};});},decrement:(variantId,step=1)=>{set(state=>{const current=state.quantitiesByVariantId[variantId]??1;const next=sanitizeQuantity(current-step);return{quantitiesByVariantId:{...state.quantitiesByVariantId,[variantId]:next}};});},resetQuantity:variantId=>{set(state=>({quantitiesByVariantId:{...state.quantitiesByVariantId,[variantId]:1}}));},getSelectedVariant:(productId,variants)=>{const selectedVariantId=get().selectedVariantByProductId[productId];if(selectedVariantId&&variants.some(v=>v.id===selectedVariantId)){return selectedVariantId;}// Default to first variant if no selection or invalid selection\n    return variants[0]?.id||\"\";},setSelectedVariant:(productId,variantId)=>{set(state=>({selectedVariantByProductId:{...state.selectedVariantByProductId,[productId]:variantId}}));},getSelectedSellingPlan:productId=>{return get().selectedSellingPlanByProductId[productId]??null;},hasSellingPlanSelection:productId=>{return Object.prototype.hasOwnProperty.call(get().selectedSellingPlanByProductId,productId);},setSelectedSellingPlan:(productId,planId)=>{set(state=>({selectedSellingPlanByProductId:{...state.selectedSellingPlanByProductId,[productId]:planId}}));},setSellingPlanSelectionRequirement:(productId,requirement)=>{set(state=>({sellingPlanSelectionRequirementByProductId:{...state.sellingPlanSelectionRequirementByProductId,[productId]:requirement}}));},getSellingPlanSelectionRequirement:productId=>{return get().sellingPlanSelectionRequirementByProductId[productId]??\"none\";},clearAll:()=>set({quantitiesByVariantId:{},selectedVariantByProductId:{},selectedSellingPlanByProductId:{},sellingPlanSelectionRequirementByProductId:{}})}));\nexport const __FramerMetadata__ = {\"exports\":{\"useProductSelectionStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SellingPlanSelectionRequirement\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Product_selection_store.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{parseShopifyData}from\"https://framerusercontent.com/modules/Vu8sM3DwKDdSi2bltsPi/rkjqZclSkQOy0QCpfAmc/Parse_shopify_data.js\";import{useProductSelectionStore}from\"https://framerusercontent.com/modules/8l7kldZFdo4Q33wHQBGB/5VMlieiI3PeoSFTKuy6T/Product_selection_store.js\";import{useLivePricingStore}from\"https://framerusercontent.com/modules/3C9wF5reOoO0EZmRXDu0/SggRHUgTtXzlEB68dAid/Live_pricing_store.js\";import{SHARED_COLORS}from\"https://framerusercontent.com/modules/Nrs4jz2AAEOfEZRQEQij/7Ao2SBt1Ssf683HHXgzl/Shared_styles.js\";import{renderWithTag,TagPropertyControls}from\"https://framerusercontent.com/modules/cmJdj1YCmFSsS6n95OKk/9t9XeEHurZ6w5fbXeCsJ/Shared_tag_props.js\";import{CurrencyFormatControls,formatCurrency}from\"https://framerusercontent.com/modules/mHaK3bedwyJwyNxfaowX/hWKLWGrPdtcuWvTxZqnK/Shared_currency_props.js\";import{TextDecorationControls}from\"https://framerusercontent.com/modules/br9bXgadWgfJaD0swwuT/jUc9YNpAtX8KUoSpiBD2/Shared_text_decoration_props.js\";import LoadingSkeleton from\"https://framerusercontent.com/modules/N0h2Mv73o8xtz2My1yiB/RR9fj2DVzBXn0Wwu7ijL/Loading_skeleton.js\";import{SHOPIFY_DATA_DESCRIPTION,SUPPORT_CONTROL}from\"https://framerusercontent.com/modules/G9UZNzEc4NZQrMJzPvWx/mIDGZDuYkLeEfvCEqoly/Shared_props.js\";import{formatDeliveryFrequencyShorthand}from\"https://framerusercontent.com/modules/3QrZAq5uElJQ8m88NKWY/5xJkuuHwMm3iKqkoNzBk/Subscriptions_utils.js\";import{calculateSellingPlanPrice}from\"https://framerusercontent.com/modules/3QrZAq5uElJQ8m88NKWY/5xJkuuHwMm3iKqkoNzBk/Subscriptions_utils.js\";import{isOnFramerCanvasFn}from\"https://framerusercontent.com/modules/0cFx6PDS8kp3yxNfnoIw/3wFcPS10LYSFljb1q710/Framer_utils.js\";// ------------------------------------------------------------ //\n// MAIN COMPONENT\n// ------------------------------------------------------------ //\n/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export default function VariantInfoLabel(props){const shopifyData=parseShopifyData(props.shopifyData);const isOnFramerCanvas=isOnFramerCanvasFn();const{getSelectedVariant,getSelectedSellingPlan,getQuantity}=useProductSelectionStore();const{getLivePrice,isLoading,isFetching}=useLivePricingStore();const selectedVariantId=getSelectedVariant(shopifyData.id,shopifyData.variants);const selectedVariant=shopifyData.variants.find(variant=>variant.id===selectedVariantId);const selectedSellingPlanId=getSelectedSellingPlan(shopifyData.id);const selectedSellingPlan=shopifyData.sellingPlanGroups?.flatMap(group=>group.sellingPlans||[]).find(plan=>plan.id===selectedSellingPlanId);const requestedGroupTitles=(props.filterGroupTitles||\"\").split(\",\").map(title=>title.trim()).filter(Boolean);function getFilteredVariantName(){if(!selectedVariant)return\"\";if(selectedVariant.title===\"Default Title\")return\"\";if(!requestedGroupTitles.length)return selectedVariant.title;const matchedSelectedOptions=requestedGroupTitles.map(requestedTitle=>selectedVariant.selectedOptions?.find(option=>option.name.trim().toLowerCase()===requestedTitle.toLowerCase())).filter(option=>Boolean(option)).map(option=>option.value);if(matchedSelectedOptions.length){return matchedSelectedOptions.join(\" / \");}const titleParts=selectedVariant.title.split(\" / \").map(part=>part.trim()).filter(Boolean);const matchedTitleParts=requestedGroupTitles.map(requestedTitle=>{const normalized=requestedTitle.toLowerCase();const fallbackMatch=normalized.match(/^option\\s+(\\d+)$/);if(!fallbackMatch)return null;const partIndex=Number(fallbackMatch[1])-1;return titleParts[partIndex]||null;}).filter(Boolean);if(matchedTitleParts.length){return matchedTitleParts.join(\" / \");}return selectedVariant.title;}function getZeroDisplayValue(amount){if(!Number.isFinite(amount))return null;if(Math.abs(amount)>=ZERO_EPSILON)return null;if(props.whenZero===\"text\")return props.text;if(props.whenZero===\"hide\")return\"\";return null;}const renderVariantInfo=()=>{if(!selectedVariant)return null;switch(props.type){case\"price\":{// Priority: live > cms default\nconst livePrice=getLivePrice(selectedVariant.id);let priceData=selectedVariant.price;// Default fallback\n// Override with live pricing if available\nif(livePrice?.price){priceData=livePrice.price;}// Store the current currencyCode before applying selling plan adjustment\n// This ensures we preserve the currency from live pricing/market\nconst currentCurrencyCode=priceData.currencyCode;// Apply selling plan price adjustment if available\nif(selectedSellingPlan){const adjustedPrice=calculateSellingPlanPrice(priceData,selectedSellingPlan);if(adjustedPrice){// Ensure we use the currencyCode from the current market/live pricing\n// instead of the one from the selling plan adjustment data\npriceData={...adjustedPrice,currencyCode:currentCurrencyCode};}}const priceAmount=Number(priceData.amount);const zeroDisplayValue=getZeroDisplayValue(priceAmount);if(zeroDisplayValue!==null)return zeroDisplayValue;const formattedPrice=formatCurrency({amount:priceAmount,currencyCode:priceData.currencyCode,options:props.currencyFormat});// Append delivery frequency suffix if selling plan is selected\nif(selectedSellingPlan?.options?.[0]?.value){const deliveryFrequency=selectedSellingPlan.options[0].value;const shorthand=formatDeliveryFrequencyShorthand(deliveryFrequency);return`${formattedPrice}/${shorthand}`;}return formattedPrice;}case\"compareAtPrice\":{// Priority: live > cms market > cms default\nconst livePrice=getLivePrice(selectedVariant.id);let compareAtPriceData=selectedVariant.compareAtPrice;// Default fallback\n// Override with live pricing if available\nif(livePrice?.compareAtPrice){compareAtPriceData=livePrice.compareAtPrice;}if(!compareAtPriceData)return\"\";const compareAtPriceAmount=Number(compareAtPriceData.amount);const zeroDisplayValue=getZeroDisplayValue(compareAtPriceAmount);if(zeroDisplayValue!==null)return zeroDisplayValue;return formatCurrency({amount:compareAtPriceAmount,currencyCode:compareAtPriceData.currencyCode,options:props.currencyFormat});}case\"variantName\":return getFilteredVariantName();case\"sku\":return selectedVariant.sku;case\"barcode\":return selectedVariant.barcode;case\"sellingPlanName\":return selectedSellingPlan?.name||\"\";case\"sellingPlanDescription\":return selectedSellingPlan?.description||\"\";case\"sellingPlanOptions\":if(!selectedSellingPlan?.options?.length)return\"\";return selectedSellingPlan.options.map(option=>`${option.name}: ${option.value}`).join(\", \");case\"totalPrice\":{const livePrice=getLivePrice(selectedVariant.id);let priceData=selectedVariant.price;if(livePrice?.price){priceData=livePrice.price;}const currentCurrencyCode=priceData.currencyCode;if(selectedSellingPlan){const adjustedPrice=calculateSellingPlanPrice(priceData,selectedSellingPlan);if(adjustedPrice){priceData={...adjustedPrice,currencyCode:currentCurrencyCode};}}const quantity=getQuantity(selectedVariant.id);const totalAmount=Number(priceData.amount)*quantity;const zeroDisplayValue=getZeroDisplayValue(totalAmount);if(zeroDisplayValue!==null)return zeroDisplayValue;return formatCurrency({amount:totalAmount,currencyCode:priceData.currencyCode,options:props.currencyFormat});}}};// Show loading skeleton for price/compareAtPrice during initial load\nconst isPriceType=props.type===\"price\"||props.type===\"compareAtPrice\"||props.type===\"totalPrice\";if(isLoading&&isPriceType){return /*#__PURE__*/_jsx(LoadingSkeleton,{style:{width:\"60px\",height:\"20px\"}});}const content=renderVariantInfo();const style={...props.font,color:props.color,textDecoration:props.decoration===\"none\"?\"none\":props.decoration};// Selling plan types that should show placeholder on canvas\nconst isSellingPlanType=props.type===\"sellingPlanName\"||props.type===\"sellingPlanDescription\"||props.type===\"sellingPlanOptions\";// Force visibility on canvas for selling plan types so user can configure\nconst shouldShowOnCanvas=isOnFramerCanvas&&isSellingPlanType;// Hide component when empty and whenZero is \"hide\"\n// Exception: show placeholder on canvas for selling plan types\nconst isEmptyValue=!content||content===\"\";if(props.whenZero===\"hide\"&&isEmptyValue&&!shouldShowOnCanvas){return null;}// Show specified text if whenZero is \"text\" and empty\nif(props.whenZero===\"text\"&&isEmptyValue){return /*#__PURE__*/_jsx(\"div\",{style:{opacity:isFetching&&isPriceType?.6:1,transition:\"opacity 0.3s ease\"},children:renderWithTag(props.tag,props.text,style)});}// Get placeholder text for empty values\nconst getPlaceholderText=()=>{if(isOnFramerCanvas&&isSellingPlanType){switch(props.type){case\"sellingPlanName\":return\"Monthly subscription\";case\"sellingPlanOptions\":return\"Deliver every month\";case\"sellingPlanDescription\":return\"Plan description\";}}return\"0\";};// Show empty content if whenZero is \"show\"\nif(isEmptyValue){return /*#__PURE__*/_jsx(\"div\",{style:{opacity:isFetching&&isPriceType?.6:1,transition:\"opacity 0.3s ease\"},children:renderWithTag(props.tag,getPlaceholderText(),style)});}// Wrap content in fade transition container for price types\nreturn /*#__PURE__*/_jsx(\"div\",{style:{opacity:isFetching&&isPriceType?.6:1,transition:\"opacity 0.3s ease\"},children:renderWithTag(props.tag,content,style)});}const ZERO_EPSILON=1e-6;// ------------------------------------------------------------ //\n// PROPERTY CONTROLS\n// ------------------------------------------------------------ //\naddPropertyControls(VariantInfoLabel,{shopifyData:{type:ControlType.String,description:SHOPIFY_DATA_DESCRIPTION},type:{type:ControlType.Enum,options:[\"price\",\"compareAtPrice\",\"variantName\",\"sku\",\"barcode\",\"sellingPlanName\",\"sellingPlanDescription\",\"sellingPlanOptions\",\"totalPrice\"],optionTitles:[\"Price\",\"Compare At Price\",\"Variant Name\",\"SKU\",\"Barcode\",\"Subscription Name\",\"Subscription Description\",\"Subscription Options\",\"Total Price\"],defaultValue:\"price\"},filterGroupTitles:{type:ControlType.String,title:\"Filter Group Titles\",description:\"Shows only the matching value. Must match the title of the Shopify variant group exactly (e.g. Size).\",hidden:props=>props.type!==\"variantName\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:SHARED_COLORS.foreground},whenZero:{type:ControlType.Enum,title:\"When Zero\",options:[\"show\",\"hide\",\"text\"],optionTitles:[\"Show\",\"Hide\",\"Text\"],defaultValue:\"hide\",displaySegmentedControl:true},text:{type:ControlType.String,title:\"Text\",defaultValue:\"Free\",hidden:props=>props.whenZero!==\"text\"},currencyFormat:{...CurrencyFormatControls.currencyFormat,hidden:props=>props.type!==\"price\"&&props.type!==\"compareAtPrice\"&&props.type!==\"totalPrice\"},...TagPropertyControls,...TextDecorationControls,...SUPPORT_CONTROL});VariantInfoLabel.displayName=\"Variant Info Label\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"VariantInfoLabel\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{create}from\"https://framerusercontent.com/modules/ieMSnIJVCiFKJmsg1OmM/KWFJj6n258MVreTmJoNk/Zustand.js\";export const useCustomProductFieldStore=create((set,get)=>({fieldsByProductId:{},registerField:(productId,fieldId,field)=>{set(state=>({fieldsByProductId:{...state.fieldsByProductId,[productId]:{...state.fieldsByProductId[productId]||{},[fieldId]:{key:field.key,label:field.label,required:field.required,value:state.fieldsByProductId[productId]?.[fieldId]?.value??field.value??\"\"}}}}));},unregisterField:(productId,fieldId)=>{set(state=>{const productFields=state.fieldsByProductId[productId];if(!productFields?.[fieldId]){return state;}const nextProductFields={...productFields};delete nextProductFields[fieldId];if(Object.keys(nextProductFields).length===0){const nextFieldsByProductId={...state.fieldsByProductId};delete nextFieldsByProductId[productId];return{fieldsByProductId:nextFieldsByProductId};}return{fieldsByProductId:{...state.fieldsByProductId,[productId]:nextProductFields}};});},setFieldValue:(productId,fieldId,value)=>{set(state=>{const currentField=state.fieldsByProductId[productId]?.[fieldId];if(!currentField){return state;}return{fieldsByProductId:{...state.fieldsByProductId,[productId]:{...state.fieldsByProductId[productId],[fieldId]:{...currentField,value}}}};});},getFieldValue:(productId,fieldId)=>{return get().fieldsByProductId[productId]?.[fieldId]?.value??\"\";},getCartAttributes:productId=>{const productFields=Object.values(get().fieldsByProductId[productId]||{});return productFields.map(field=>({key:field.key.trim(),value:field.value.trim()})).filter(field=>field.key&&field.value);},hasInvalidRequiredFields:productId=>{const productFields=Object.values(get().fieldsByProductId[productId]||{});return productFields.some(field=>field.required&&field.value.trim().length===0);}}));\nexport const __FramerMetadata__ = {\"exports\":{\"useCustomProductFieldStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CartLineAttribute\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Custom_product_field_store.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useCart}from\"https://framerusercontent.com/modules/qNwuWLbXbcYKugmCfVBu/Mtouzhb6zj2BeRL1crCO/Use_cart.js\";import{useProductSelectionStore}from\"https://framerusercontent.com/modules/8l7kldZFdo4Q33wHQBGB/5VMlieiI3PeoSFTKuy6T/Product_selection_store.js\";import{parseShopifyData}from\"https://framerusercontent.com/modules/Vu8sM3DwKDdSi2bltsPi/rkjqZclSkQOy0QCpfAmc/Parse_shopify_data.js\";import{createVariantGid,createProductGid}from\"https://framerusercontent.com/modules/tzN8qHzrVYThnxhKObeP/7xRaFLeVY9UkDbqtIhhH/Shopify_utils.js\";import{QueryClientWrapper}from\"https://framerusercontent.com/modules/zParpRuqXNNcrHNZHUCA/c79VKYmrBl02dZ0c2Deg/Query_client_wrapper.js\";import{OPEN_CART_EVENT}from\"https://framerusercontent.com/modules/ULfRcpFPm40RheG8xy3S/Pfxgjc633U68bx2ecZz0/Shared_config.js\";import PresetButton from\"https://framerusercontent.com/modules/a6C1Qq7kxeKULOsvIpdv/7z9EMNxcsZIiQTGrj76Y/Preset_button.js\";import CustomButtonWrapper from\"https://framerusercontent.com/modules/KkMHEXBTzNGLCAGsRLrm/C2sk9cjUnc3YE4Ebu9Zq/Custom_button_wrapper.js\";import CartSvg from\"https://framerusercontent.com/modules/qGSs7SULtHSo8Msf1WUy/vraFd5f3jmKFoHJ9xWa7/Cart.js\";import{PresetPrimaryButtonStyleControls,PresetButtonContentControls,CustomButtonControls,overrideControlDefaults,useInventoryDisabled,OutOfStockStyleControls}from\"https://framerusercontent.com/modules/jSzgfFOp8vV7JiKIMM1a/YKtQgewLhirCE4hz19dy/Shared_button_props.js\";import{SHOPIFY_DATA_DESCRIPTION,SUPPORT_CONTROL}from\"https://framerusercontent.com/modules/G9UZNzEc4NZQrMJzPvWx/mIDGZDuYkLeEfvCEqoly/Shared_props.js\";import{isOnFramerCanvasFn}from\"https://framerusercontent.com/modules/0cFx6PDS8kp3yxNfnoIw/3wFcPS10LYSFljb1q710/Framer_utils.js\";import{useCurrentLocation}from\"https://framer.com/m/UseCurrentLocation-oZyA.js@1l8XdClJld0xwptzsD73\";import{useCustomProductFieldStore}from\"https://framerusercontent.com/modules/CEFL18JTsoVN7HzqbGVy/KndVJRNlxYcbiwXYnvWR/Custom_product_field_store.js\";// ------------------------------------------------------------ //\n// MAIN COMPONENT\n// ------------------------------------------------------------ //\nfunction AddToCartButtonContent(props){const isOnFramerCanvas=isOnFramerCanvasFn();const{addToCart,isLoading:isCartLoading}=useCart();const shopifyData=parseShopifyData(props.shopifyData);const selectedVariantId=useProductSelectionStore(state=>state.getSelectedVariant(shopifyData.id,shopifyData.variants));const selectedSellingPlan=useProductSelectionStore(state=>state.getSelectedSellingPlan(shopifyData.id));const hasSellingPlanSelection=useProductSelectionStore(state=>state.hasSellingPlanSelection(shopifyData.id));const selectorSelectionRequirement=useProductSelectionStore(state=>state.getSellingPlanSelectionRequirement(shopifyData.id));const hasInvalidRequiredFields=useCustomProductFieldStore(state=>state.hasInvalidRequiredFields(shopifyData.id));const[,setCurrentLocation]=useCurrentLocation();const{isDisabled}=useInventoryDisabled(shopifyData.id,selectedVariantId,props.disableWhenOutOfStock);const isOutOfStockDisabled=isDisabled;const hasSellingPlans=(shopifyData.sellingPlanGroups||[]).some(group=>(group.sellingPlans||[]).length>0);const selectionRequirement=shopifyData.requiresSellingPlan===true&&hasSellingPlans?\"sellingPlan\":selectorSelectionRequirement;const isMissingRequiredSellingPlan=selectionRequirement===\"sellingPlan\"?!hasSellingPlanSelection||selectedSellingPlan===null:selectionRequirement===\"purchaseOption\"&&!hasSellingPlanSelection;const handleAddToCart=async()=>{if(isOutOfStockDisabled||isCartLoading||hasInvalidRequiredFields||isMissingRequiredSellingPlan)return;const finalVariantIdString=createVariantGid(selectedVariantId);const qty=useProductSelectionStore.getState().getQuantity(selectedVariantId);const attributes=useCustomProductFieldStore.getState().getCartAttributes(shopifyData.id);// Build optimistic variant data for instant UI update\nconst selectedVariant=shopifyData.variants.find(v=>createVariantGid(v.id)===finalVariantIdString);const variantData=selectedVariant?{title:selectedVariant.title||\"\",productTitle:shopifyData.title||\"\",productHandle:shopifyData.handle||\"\",productId:createProductGid(shopifyData.id),image:{url:selectedVariant.image?.url||\"\",altText:selectedVariant.image?.altText||\"\"},price:selectedVariant.price||{amount:\"0\",currencyCode:\"USD\"}}:undefined;try{// Using the sync version - pass sellingPlanId if subscription selected\naddToCart(finalVariantIdString,qty,selectedSellingPlan??undefined,variantData,attributes);if(props.openCartOnAddToCart===\"cartOverlay\"){// delau\nsetTimeout(()=>{document.dispatchEvent(new Event(OPEN_CART_EVENT));},75);}else if(props.openCartOnAddToCart===\"cartPage\"){setCurrentLocation(props.cartPage);}}catch(error){console.error(\"Error adding to cart:\",error);}};// Determine if button should be disabled\nconst isButtonDisabled=isOutOfStockDisabled||hasInvalidRequiredFields||isMissingRequiredSellingPlan;const finalDisabled=isOnFramerCanvas?props.previewType===\"disabled\":isButtonDisabled;// Update button text if cart is loading\nconst displayText=props.text;// ---------------- BUTTON STYLES ---------------- //\nconst buttonText=isOutOfStockDisabled?props.outOfStockStyle.text:displayText;const buttonOpacity=isOutOfStockDisabled?props.outOfStockStyle.opacity:undefined;const disabledStyle={alignItems:props.presetButtonStyle.alignItems,justifyContent:props.presetButtonStyle.justifyContent,gap:props.presetButtonStyle.gap,padding:props.presetButtonStyle.padding,border:props.outOfStockStyle.border,borderRadius:props.presetButtonStyle.borderRadius,textColor:props.outOfStockStyle.textColor,backgroundColor:props.outOfStockStyle.backgroundColor,shadow:props.outOfStockStyle.shadow,tapScale:props.presetButtonStyle.tapScale,font:props.presetButtonStyle.font};if(props.buttonType===\"custom\"){return /*#__PURE__*/_jsx(CustomButtonWrapper,{onClick:handleAddToCart,customButtonSize:props.customButtonSize,disabled:finalDisabled,disabledButton:props.customButtonDisabled?.[0],children:props.customButton});}return /*#__PURE__*/_jsx(PresetButton,{onClick:handleAddToCart,leftIcon:props.showDefaultIcon?/*#__PURE__*/_jsx(CartSvg,{}):props.leftIcon?.[0],rightIcon:props.rightIcon?.[0],text:buttonText,font:props.presetButtonStyle.font,presetButtonStyle:props.presetButtonStyle,disabledStyle:disabledStyle,disabled:finalDisabled,style:{opacity:buttonOpacity}});}// ------------------------------------------------------------ //\n// EXPORT WITH QUERY CLIENT\n// ------------------------------------------------------------ //\n/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 40\n * @framerDisableUnlink\n */export default function AddToCartButton(props){return /*#__PURE__*/_jsx(QueryClientWrapper,{children:/*#__PURE__*/_jsx(AddToCartButtonContent,{...props})});}// ------------------------------------------------------------ //\n// PROPERTY CONTROLS\n// ------------------------------------------------------------ //\naddPropertyControls(AddToCartButton,{shopifyData:{type:ControlType.String,description:SHOPIFY_DATA_DESCRIPTION},openCartOnAddToCart:{type:ControlType.Enum,title:\"Open Cart\",options:[\"cartOverlay\",\"cartPage\",\"none\"],optionTitles:[\"Cart Overlay\",\"Cart Page\",\"None\"],defaultValue:\"cartOverlay\",description:\"Action to take when adding to cart.\"},cartPage:{type:ControlType.Link,title:\"Cart Page\",defaultValue:\"/cart\",hidden:props=>props.openCartOnAddToCart!==\"cartPage\"},disableWhenOutOfStock:{type:ControlType.Boolean,title:\"Disable Out-of-Stock\",defaultValue:true,description:\"Disable if selected variant is out-of-stock\"},...OutOfStockStyleControls,...CustomButtonControls,...overrideControlDefaults(PresetPrimaryButtonStyleControls,{\"presetButtonStyle.tapScale\":.995}),...overrideControlDefaults(PresetButtonContentControls,{text:\"Add to Cart\",\"showDefaultIcon.hidden\":props=>props.buttonType===\"custom\"}),previewType:{type:ControlType.Enum,title:\"Preview\",options:[\"default\",\"disabled\"],optionTitles:[\"Default\",\"Out of Stock\"],defaultValue:\"default\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},...SUPPORT_CONTROL});AddToCartButton.displayName=\"Add To Cart Button\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AddToCartButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"40\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"0mBAA2H,EAAc,EAAiB,GAAsC,EAAY,KAAK,MAAM,CAAW,EAAE,EAA8C,EAAa,CAAC,GAAG,iBAAiB,MAAM,aAAa,OAAO,aAAa,SAAS,CAAC,CAAC,GAAG,iBAAiB,MAAM,gBAAgB,MAAM,CAAC,OAAO,KAAK,aAAa,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,KAAK,aAAa,KAAK,EAAE,GAAG,CAAC,OAAO,KAAK,aAAa,KAAK,EAAE,GAAG,CAAC,OAAO,MAAM,aAAa,KAAK,EAAE,GAAG,CAAC,OAAO,KAAK,aAAa,KAAK,EAAE,GAAG,CAAC,OAAO,MAAM,aAAa,KAAK,CAAC,EAAE,uBAAuB,CAAC,GAAG,CAAC,OAAO,MAAM,aAAa,KAAK,EAAE,GAAG,CAAC,OAAO,KAAK,aAAa,KAAK,EAAE,GAAG,CAAC,OAAO,MAAM,aAAa,KAAK,EAAE,GAAG,CAAC,OAAO,MAAM,aAAa,KAAK,EAAE,GAAG,CAAC,OAAO,MAAM,aAAa,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,YAAY,iBAAiB,GAAK,IAAI,kBAAkB,MAAM,CAAC,GAAG,4CAA4C,IAAI,EAAc,oBAAoB,QAAQ,gBAAgB,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,qBCAz7B,EAAO,EAAiB,GAAY,OAAO,SAAS,CAAK,EAAkD,KAAK,IAAI,EAAlC,KAAK,MAAM,CAA+B,CAAC,EAA3D,EAA4E,EAAyBA,GAAQ,EAAI,KAAO,CAAC,sBAAsB,CAAC,EAAE,2BAA2B,CAAC,EAAE,+BAA+B,CAAC,EAAE,2CAA2C,CAAC,EAAE,YAAY,GAAW,CAAC,IAAM,EAAM,EAAI,CAAC,CAAC,sBAAsB,GAAW,OAAO,OAAO,GAAQ,SAAS,EAAM,CAAE,EAAE,aAAa,EAAU,IAAW,CAAC,IAAM,EAAK,EAAiB,CAAQ,EAAE,EAAI,IAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAM,uBAAuB,GAAW,CAAI,CAAC,EAAE,CAAE,EAAE,WAAW,EAAU,EAAK,IAAI,CAAC,EAAI,GAAO,CAAC,IAAM,EAAQ,EAAM,sBAAsB,IAAY,EAAQ,EAAK,EAAiB,EAAQ,CAAI,EAAE,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAM,uBAAuB,GAAW,CAAI,CAAC,CAAE,CAAC,CAAE,EAAE,WAAW,EAAU,EAAK,IAAI,CAAC,EAAI,GAAO,CAAC,IAAM,EAAQ,EAAM,sBAAsB,IAAY,EAAQ,EAAK,EAAiB,EAAQ,CAAI,EAAE,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAM,uBAAuB,GAAW,CAAI,CAAC,CAAE,CAAC,CAAE,EAAE,cAAc,GAAW,CAAC,EAAI,IAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAM,uBAAuB,GAAW,CAAC,CAAC,EAAE,CAAE,EAAE,oBAAoB,EAAU,IAAW,CAAC,IAAM,EAAkB,EAAI,CAAC,CAAC,2BAA2B,GAC31C,OADy2C,GAAmB,EAAS,KAAK,GAAG,EAAE,KAAK,CAAiB,EAAU,EACx6C,EAAS,EAAE,EAAE,IAAI,EAAG,EAAE,oBAAoB,EAAU,IAAY,CAAC,EAAI,IAAQ,CAAC,2BAA2B,CAAC,GAAG,EAAM,4BAA4B,GAAW,CAAS,CAAC,EAAE,CAAE,EAAE,uBAAuB,GAAmB,EAAI,CAAC,CAAC,+BAA+B,IAAY,KAAO,wBAAwB,GAAmB,OAAO,UAAU,eAAe,KAAK,EAAI,CAAC,CAAC,+BAA+B,CAAS,EAAI,wBAAwB,EAAU,IAAS,CAAC,EAAI,IAAQ,CAAC,+BAA+B,CAAC,GAAG,EAAM,gCAAgC,GAAW,CAAM,CAAC,EAAE,CAAE,EAAE,oCAAoC,EAAU,IAAc,CAAC,EAAI,IAAQ,CAAC,2CAA2C,CAAC,GAAG,EAAM,4CAA4C,GAAW,CAAW,CAAC,EAAE,CAAE,EAAE,mCAAmC,GAAmB,EAAI,CAAC,CAAC,2CAA2C,IAAY,OAAS,aAAa,EAAI,CAAC,sBAAsB,CAAC,EAAE,2BAA2B,CAAC,EAAE,+BAA+B,CAAC,EAAE,2CAA2C,CAAC,CAAC,CAAC,CAAC,EAAE,KCMhhC,SAAwB,EAAiB,EAAM,CAAC,IAAM,EAAY,EAAiB,EAAM,WAAW,EAAQ,EAAiB,EAAmB,EAAO,CAAC,qBAAmB,yBAAuB,eAAa,EAAyB,EAAO,CAAC,eAAa,YAAU,cAAY,GAAoB,EAAQ,EAAkB,EAAmB,EAAY,GAAG,EAAY,QAAQ,EAAQ,EAAgB,EAAY,SAAS,KAAK,GAAS,EAAQ,KAAK,CAAiB,EAAQ,EAAsB,EAAuB,EAAY,EAAE,EAAQ,EAAoB,EAAY,mBAAmB,QAAQ,GAAO,EAAM,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,GAAM,EAAK,KAAK,CAAqB,EAAQ,GAAsB,EAAM,mBAAmB,GAAA,CAAI,MAAM,GAAG,CAAC,CAAC,IAAI,GAAO,EAAM,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,EAAE,SAAS,GAAwB,CAA8B,GAA1B,CAAC,GAA4B,EAAgB,QAAQ,gBAAgB,MAAM,GAAG,GAAG,CAAC,EAAqB,OAAO,OAAO,EAAgB,MAAM,IAAM,EAAuB,EAAqB,IAAI,GAAgB,EAAgB,iBAAiB,KAAK,GAAQ,EAAO,KAAK,KAAK,CAAC,CAAC,YAAY,IAAI,EAAe,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,GAAQ,EAAQ,CAAO,CAAC,CAAC,IAAI,GAAQ,EAAO,KAAK,EAAE,GAAG,EAAuB,OAAQ,OAAO,EAAuB,KAAK,KAAK,EAAG,IAAM,EAAW,EAAgB,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,GAAM,EAAK,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,EAAQ,EAAkB,EAAqB,IAAI,GAAgB,CAA+C,IAAM,EAAnC,EAAe,YAA2C,CAAC,CAAC,MAAM,kBAAkB,EAAE,GAAG,CAAC,EAAc,OAAO,KAAK,IAAM,EAAU,OAAO,EAAc,EAAE,EAAE,EAAE,OAAO,EAAW,IAAY,IAAK,CAAC,CAAC,CAAC,OAAO,OAAO,EAAqE,OAAhE,EAAkB,OAAe,EAAkB,KAAK,KAAK,EAAU,EAAgB,KAAM,CAAC,SAAS,EAAoB,EAAO,CAAwK,MAApK,CAAC,OAAO,SAAS,CAAM,GAAiB,KAAK,IAAI,CAAM,GAAG,EAAoB,KAAQ,EAAM,WAAW,OAAc,EAAM,KAAQ,EAAM,WAAW,OAAa,GAAU,IAAK,CAAC,IAAM,MAAsB,CAAC,GAAG,CAAC,EAAgB,OAAO,KAAK,OAAO,EAAM,KAAb,CAAmB,IAAI,QAAQ,CACvhE,IAAM,EAAU,EAAa,EAAgB,EAAE,EAAM,EAAU,EAAgB,MAE5E,GAAW,QAAO,EAAU,EAAU,OAEzC,IAAM,EAAoB,EAAU,aACpC,GAAG,EAAoB,CAAC,IAAM,EAAc,EAA0B,EAAU,CAAmB,EAAK,IAExG,EAAU,CAAC,GAAG,EAAc,aAAa,CAAmB,EAAG,CAAC,IAAM,EAAY,OAAO,EAAU,MAAM,EAAQ,EAAiB,EAAoB,CAAW,EAAE,GAAG,IAAmB,KAAK,OAAO,EAAiB,IAAM,EAAe,EAAe,CAAC,OAAO,EAAY,aAAa,EAAU,aAAa,QAAQ,EAAM,cAAc,CAAC,EAC/U,GAAG,GAAqB,UAAU,EAAE,EAAE,MAAM,CAAC,IAAM,EAAkB,EAAoB,QAAQ,EAAE,CAAC,MAA0E,MAAM,GAAG,EAAe,GAA5E,GAAiC,CAAsD,GAAI,CAAC,OAAO,CAAe,CAAC,IAAI,iBAAiB,CAClQ,IAAM,EAAU,EAAa,EAAgB,EAAE,EAAM,EAAmB,EAAgB,eAEb,GAAxE,GAAW,iBAAgB,EAAmB,EAAU,gBAAmB,CAAC,EAAmB,MAAM,GAAG,IAAM,EAAqB,OAAO,EAAmB,MAAM,EAAQ,EAAiB,EAAoB,CAAoB,EAAqD,OAAhD,IAAmB,KAAoC,EAAe,CAAC,OAAO,EAAqB,aAAa,EAAmB,aAAa,QAAQ,EAAM,cAAc,CAAC,EAA9I,CAAgJ,CAAC,IAAI,cAAc,OAAO,EAAuB,EAAE,IAAI,MAAM,OAAO,EAAgB,IAAI,IAAI,UAAU,OAAO,EAAgB,QAAQ,IAAI,kBAAkB,OAAO,GAAqB,MAAM,GAAG,IAAI,yBAAyB,OAAO,GAAqB,aAAa,GAAG,IAAI,qBAAuE,OAA9C,GAAqB,SAAS,OAAuB,EAAoB,QAAQ,IAAI,GAAQ,GAAG,EAAO,KAAK,IAAI,EAAO,OAAO,CAAC,CAAC,KAAK,IAAI,EAA9F,GAAgG,IAAI,aAAa,CAAC,IAAM,EAAU,EAAa,EAAgB,EAAE,EAAM,EAAU,EAAgB,MAAS,GAAW,QAAO,EAAU,EAAU,OAAO,IAAM,EAAoB,EAAU,aAAa,GAAG,EAAoB,CAAC,IAAM,EAAc,EAA0B,EAAU,CAAmB,EAAK,IAAe,EAAU,CAAC,GAAG,EAAc,aAAa,CAAmB,EAAG,CAAC,IAAM,EAAS,EAAY,EAAgB,EAAE,EAAQ,EAAY,OAAO,EAAU,MAAM,EAAE,EAAe,EAAiB,EAAoB,CAAW,EAAqD,OAAhD,IAAmB,KAAoC,EAAe,CAAC,OAAO,EAAY,aAAa,EAAU,aAAa,QAAQ,EAAM,cAAc,CAAC,EAA5H,CAA8H,CAAC,CAAC,EAClgD,EAAY,EAAM,OAAO,SAAS,EAAM,OAAO,kBAAkB,EAAM,OAAO,aAAa,GAAG,GAAW,EAAa,OAAoB,EAAK,EAAgB,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,MAAM,CAAC,CAAC,EAAG,IAAM,EAAQ,EAAkB,EAAQ,EAAM,CAAC,GAAG,EAAM,KAAK,MAAM,EAAM,MAAM,eAAe,EAAM,aAAa,OAAO,OAAO,EAAM,UAAU,EACrV,EAAkB,EAAM,OAAO,mBAAmB,EAAM,OAAO,0BAA0B,EAAM,OAAO,qBACtG,EAAmB,GAAkB,EAErC,EAAa,CAAC,GAAS,IAAU,GAIvC,OAJ6C,EAAM,WAAW,QAAQ,GAAc,CAAC,EAA2B,KAC7G,EAAM,WAAW,QAAQ,EAAkC,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAY,EAAY,GAAG,EAAE,WAAW,mBAAmB,EAAE,SAAS,EAAc,EAAM,IAAI,EAAM,KAAK,CAAK,CAAC,CAAC,EAEtM,EAAkC,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAY,EAAY,GAAG,EAAE,WAAW,mBAAmB,EAAE,SAAS,EAAc,EAAM,SAD7H,CAAC,GAAG,GAAkB,EAAmB,OAAO,EAAM,KAAb,CAAmB,IAAI,kBAAkB,MAAM,uBAAuB,IAAI,qBAAqB,MAAM,sBAAsB,IAAI,yBAAyB,MAAM,kBAAmB,CAAE,MAAM,GAAI,EACrG,CAAmB,EAAE,CAAK,CAAC,CAAC,EACtK,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAY,EAAY,GAAG,EAAE,WAAW,mBAAmB,EAAE,SAAS,EAAc,EAAM,IAAI,EAAQ,CAAK,CAAC,CAAC,CAAE,oBA5BpH,IAAoD,IAAoI,IAAiJ,KAAuI,IAA4H,IAAmJ,IAA4J,IAAoJ,IAAiI,IAAsJ,IAAqJ,IAA8Q,EA4B9kD,EAAa,KAGlL,EAAoB,EAAiB,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,YAAY,CAAwB,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,QAAQ,CAAC,QAAQ,iBAAiB,cAAc,MAAM,UAAU,kBAAkB,yBAAyB,qBAAqB,YAAY,EAAE,aAAa,CAAC,QAAQ,mBAAmB,eAAe,MAAM,UAAU,oBAAoB,2BAA2B,uBAAuB,aAAa,EAAE,aAAa,OAAO,EAAE,kBAAkB,CAAC,KAAK,EAAY,OAAO,MAAM,sBAAsB,YAAY,wGAAwG,OAAO,GAAO,EAAM,OAAO,aAAa,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,WAAW,gBAAgB,YAAY,EAAE,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,EAAc,UAAU,EAAE,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,OAAO,OAAO,MAAM,EAAE,aAAa,CAAC,OAAO,OAAO,MAAM,EAAE,aAAa,OAAO,wBAAwB,EAAI,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,OAAO,OAAO,GAAO,EAAM,WAAW,MAAM,EAAE,eAAe,CAAC,GAAG,EAAuB,eAAe,OAAO,GAAO,EAAM,OAAO,SAAS,EAAM,OAAO,kBAAkB,EAAM,OAAO,YAAY,EAAE,GAAG,EAAoB,GAAG,EAAuB,GAAG,CAAe,CAAC,EAAE,EAAiB,YAAY,uCC/B1vC,EAAc,EAA2BC,GAAQ,EAAI,KAAO,CAAC,kBAAkB,CAAC,EAAE,eAAe,EAAU,EAAQ,IAAQ,CAAC,EAAI,IAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAM,mBAAmB,GAAW,CAAC,GAAG,EAAM,kBAAkB,IAAY,CAAC,GAAG,GAAS,CAAC,IAAI,EAAM,IAAI,MAAM,EAAM,MAAM,SAAS,EAAM,SAAS,MAAM,EAAM,kBAAkB,EAAU,GAAG,EAAQ,EAAE,OAAO,EAAM,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAE,EAAE,iBAAiB,EAAU,IAAU,CAAC,EAAI,GAAO,CAAC,IAAM,EAAc,EAAM,kBAAkB,GAAW,GAAG,CAAC,IAAgB,GAAU,OAAO,EAAO,IAAM,EAAkB,CAAC,GAAG,CAAa,EAAoC,GAAlC,OAAO,EAAkB,GAAY,OAAO,KAAK,CAAiB,CAAC,CAAC,SAAS,EAAE,CAAC,IAAM,EAAsB,CAAC,GAAG,EAAM,iBAAiB,EAA0C,OAAxC,OAAO,EAAsB,GAAiB,CAAC,kBAAkB,CAAqB,CAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAM,mBAAmB,GAAW,CAAiB,CAAC,CAAE,CAAC,CAAE,EAAE,eAAe,EAAU,EAAQ,IAAQ,CAAC,EAAI,GAAO,CAAC,IAAM,EAAa,EAAM,kBAAkB,EAAU,GAAG,GAAyC,OAA5B,EAAkC,CAAC,kBAAkB,CAAC,GAAG,EAAM,mBAAmB,GAAW,CAAC,GAAG,EAAM,kBAAkB,IAAY,GAAS,CAAC,GAAG,EAAa,OAAK,CAAC,CAAC,CAAC,EAAlJ,CAAoJ,CAAC,CAAE,EAAE,eAAe,EAAU,IAAkB,EAAI,CAAC,CAAC,kBAAkB,EAAU,GAAG,EAAQ,EAAE,OAAO,GAAK,kBAAkB,GAAgC,OAAO,OAAO,EAAI,CAAC,CAAC,kBAAkB,IAAY,CAAC,CAAsB,CAAC,CAAC,IAAI,IAAQ,CAAC,IAAI,EAAM,IAAI,KAAK,EAAE,MAAM,EAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,GAAO,EAAM,KAAK,EAAM,KAAK,EAAI,yBAAyB,GAAgC,OAAO,OAAO,EAAI,CAAC,CAAC,kBAAkB,IAAY,CAAC,CAAsB,CAAC,CAAC,KAAK,GAAO,EAAM,UAAU,EAAM,MAAM,KAAK,CAAC,CAAC,SAAS,CAAC,CAAG,EAAE,KCGnyD,SAAS,GAAuB,EAAM,CAAC,IAAM,EAAiB,EAAmB,EAAO,CAAC,YAAU,UAAU,GAAe,EAAQ,EAAQ,EAAY,EAAiB,EAAM,WAAW,EAAQ,EAAkB,EAAyB,GAAO,EAAM,mBAAmB,EAAY,GAAG,EAAY,QAAQ,CAAC,EAAQ,EAAoB,EAAyB,GAAO,EAAM,uBAAuB,EAAY,EAAE,CAAC,EAAQ,EAAwB,EAAyB,GAAO,EAAM,wBAAwB,EAAY,EAAE,CAAC,EAAQ,EAA6B,EAAyB,GAAO,EAAM,mCAAmC,EAAY,EAAE,CAAC,EAAQ,EAAyB,EAA2B,GAAO,EAAM,yBAAyB,EAAY,EAAE,CAAC,EAAO,EAAE,GAAoB,GAAmB,EAAO,CAAC,cAAY,EAAqB,EAAY,GAAG,EAAkB,EAAM,qBAAqB,EAAQ,EAAqB,EAAiB,GAAiB,EAAY,mBAAmB,CAAC,EAAA,CAAG,KAAK,IAAQ,EAAM,cAAc,CAAC,EAAA,CAAG,OAAO,CAAC,EAAQ,EAAqB,EAAY,sBAAsB,IAAM,EAAgB,cAAc,EAAmC,EAA6B,IAAuB,cAAc,CAAC,GAAyB,IAAsB,KAAK,IAAuB,kBAAkB,CAAC,EAA8B,EAAgB,SAAS,CAAC,GAAG,GAAsB,GAAe,GAA0B,EAA6B,OAAO,IAAM,EAAqB,EAAiB,CAAiB,EAAQ,EAAI,EAAyB,SAAS,CAAC,CAAC,YAAY,CAAiB,EAAQ,EAAW,EAA2B,SAAS,CAAC,CAAC,kBAAkB,EAAY,EAAE,EAC1rD,EAAgB,EAAY,SAAS,KAAK,GAAG,EAAiB,EAAE,EAAE,IAAI,CAAoB,EAAQ,EAAY,EAAgB,CAAC,MAAM,EAAgB,OAAO,GAAG,aAAa,EAAY,OAAO,GAAG,cAAc,EAAY,QAAQ,GAAG,UAAU,EAAiB,EAAY,EAAE,EAAE,MAAM,CAAC,IAAI,EAAgB,OAAO,KAAK,GAAG,QAAQ,EAAgB,OAAO,SAAS,EAAE,EAAE,MAAM,EAAgB,OAAO,CAAC,OAAO,IAAI,aAAa,KAAK,CAAC,EAAE,IAAA,GAAU,GAAG,CACzb,EAAU,EAAqB,EAAI,GAAqB,IAAA,GAAU,EAAY,CAAU,EAAK,EAAM,sBAAsB,cACzH,eAAe,CAAC,SAAS,cAAc,IAAI,MAAM,CAAe,CAAC,CAAE,EAAE,EAAE,EAAW,EAAM,sBAAsB,YAAY,EAAmB,EAAM,QAAQ,CAAG,OAAO,EAAM,CAAC,QAAQ,MAAM,wBAAwB,CAAK,CAAE,CAAC,EAChH,EAAc,EAAiB,EAAM,cAAc,WAAtI,GAAsB,GAA0B,EACjE,EAAY,EAAM,KAClB,EAAW,EAAqB,EAAM,gBAAgB,KAAK,EAAkB,EAAc,EAAqB,EAAM,gBAAgB,QAAQ,IAAA,GAAgB,EAAc,CAAC,WAAW,EAAM,kBAAkB,WAAW,eAAe,EAAM,kBAAkB,eAAe,IAAI,EAAM,kBAAkB,IAAI,QAAQ,EAAM,kBAAkB,QAAQ,OAAO,EAAM,gBAAgB,OAAO,aAAa,EAAM,kBAAkB,aAAa,UAAU,EAAM,gBAAgB,UAAU,gBAAgB,EAAM,gBAAgB,gBAAgB,OAAO,EAAM,gBAAgB,OAAO,SAAS,EAAM,kBAAkB,SAAS,KAAK,EAAM,kBAAkB,IAAI,EAAqP,OAAhP,EAAM,aAAa,SAA8B,EAAK,EAAoB,CAAC,QAAQ,EAAgB,iBAAiB,EAAM,iBAAiB,SAAS,EAAc,eAAe,EAAM,uBAAuB,GAAG,SAAS,EAAM,YAAY,CAAC,EAAuB,EAAK,EAAa,CAAC,QAAQ,EAAgB,SAAS,EAAM,gBAA6B,EAAK,GAAQ,CAAC,CAAC,EAAE,EAAM,WAAW,GAAG,UAAU,EAAM,YAAY,GAAG,KAAK,EAAW,KAAK,EAAM,kBAAkB,KAAK,kBAAkB,EAAM,kBAAgC,gBAAc,SAAS,EAAc,MAAM,CAAC,QAAQ,CAAa,CAAC,CAAC,CAAE,CASptC,SAAwB,EAAgB,EAAM,CAAC,OAAoB,EAAK,EAAmB,CAAC,SAAsB,EAAK,GAAuB,CAAC,GAAG,CAAK,CAAC,CAAC,CAAC,CAAE,kBAlBrH,IAAoD,IAAiH,IAAiJ,IAAoI,IAAgJ,IAAwI,IAA8H,KAA2H,KAA0I,IAA6G,KAA2Q,IAAsJ,IAAgI,IAAqG,KAAsJ,EAqBxgE,EAAoB,EAAgB,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,YAAY,CAAwB,EAAE,oBAAoB,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,cAAc,WAAW,MAAM,EAAE,aAAa,CAAC,eAAe,YAAY,MAAM,EAAE,aAAa,cAAc,YAAY,qCAAqC,EAAE,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,aAAa,QAAQ,OAAO,GAAO,EAAM,sBAAsB,UAAU,EAAE,sBAAsB,CAAC,KAAK,EAAY,QAAQ,MAAM,uBAAuB,aAAa,GAAK,YAAY,6CAA6C,EAAE,GAAG,GAAwB,GAAG,GAAqB,GAAG,EAAwB,GAAiC,CAAC,6BAA6B,IAAI,CAAC,EAAE,GAAG,EAAwB,GAA4B,CAAC,KAAK,cAAc,yBAAyB,GAAO,EAAM,aAAa,QAAQ,CAAC,EAAE,YAAY,CAAC,KAAK,EAAY,KAAK,MAAM,UAAU,QAAQ,CAAC,UAAU,UAAU,EAAE,aAAa,CAAC,UAAU,cAAc,EAAE,aAAa,UAAU,wBAAwB,GAAK,0BAA0B,UAAU,EAAE,GAAG,CAAe,CAAC,EAAE,EAAgB,YAAY"}