<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]><html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if IE 9 ]><html class="ie9 no-js"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-touch no-js"> <!--<![endif]-->
<head>
  <script>(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement)</script>
  <!-- Basic page needs ================================================== -->
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  
  <link rel="shortcut icon" href="//www.dimok.us/cdn/shop/files/dk_ico_32x32.png?v=1613168375" type="image/png" />
  

  <!-- Title and description ================================================== -->
  <title>
  dimok - Breathe in. Live out. &ndash; Dimok
  </title>


  
    <meta name="description" content="Dimok offers cutting-edge fitness gear at the most reasonable prices.">
  

  <!-- Product meta ================================================== -->
  <!-- /snippets/social-meta-tags.liquid -->




<meta property="og:site_name" content="Dimok">
<meta property="og:url" content="https://www.dimok.us/">
<meta property="og:title" content="dimok - Breathe in. Live out.">
<meta property="og:type" content="website">
<meta property="og:description" content="Dimok offers cutting-edge fitness gear at the most reasonable prices.">

<meta property="og:image" content="http://www.dimok.us/cdn/shop/files/dk_dimok1_1200x1200.jpg?v=1613168373">
<meta property="og:image:secure_url" content="https://www.dimok.us/cdn/shop/files/dk_dimok1_1200x1200.jpg?v=1613168373">


<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="dimok - Breathe in. Live out.">
<meta name="twitter:description" content="Dimok offers cutting-edge fitness gear at the most reasonable prices.">


  <!-- Helpers ================================================== -->
  <link rel="canonical" href="https://www.dimok.us/">
  <meta name="viewport" content="width=device-width,initial-scale=1">

  <!-- CSS ================================================== -->
  <link href="//www.dimok.us/cdn/shop/t/5/assets/theme.scss.css?v=138980262740609045091674770368" rel="stylesheet" type="text/css" media="all" />
  
  
  
  <link href="//fonts.googleapis.com/css?family=Roboto:400,700" rel="stylesheet" type="text/css" media="all" />



  
    
    
    <link href="//fonts.googleapis.com/css?family=Lato:700" rel="stylesheet" type="text/css" media="all" />
  



  <!-- Header hook for plugins ================================================== -->
  <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="google-site-verification" content="uM7anODCT9KrfNcDCQQ2UYrW8xT2ZqzvqgxR1abtCFc">
<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/16379197/digital_wallets/dialog">
<meta name="shopify-checkout-api-token" content="fc121cfa0fac19fb1106c0480c19d5bb">
<meta id="in-context-paypal-metadata" data-shop-id="16379197" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=16379197" crossorigin="anonymous"></script>
<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":16379197,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/16379197","merchantName":"Dimok","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Dimok","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
<script id="shopify-features" type="application/json">{"accessToken":"fc121cfa0fac19fb1106c0480c19d5bb","betas":["rich-media-storefront-analytics"],"domain":"www.dimok.us","predictiveSearch":true,"shopId":16379197,"locale":"en"}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "dimok.myshopify.com";
Shopify.locale = "en";
Shopify.currency = {"active":"USD","rate":"1.0"};
Shopify.country = "US";
Shopify.theme = {"name":"Supply","id":7401570332,"schema_name":"Supply","schema_version":"3.3.1","theme_store_id":679,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "www.dimok.us/cdn";
Shopify.routes = Shopify.routes || {};
Shopify.routes.root = "/";
Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
Shopify.SignInWithShop = Shopify.SignInWithShop || {};
Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
Shopify.SignInWithShop.User.recognized = false;</script>
<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
<script>
  window.ShopifyPay = window.ShopifyPay || {};
  window.ShopifyPay.apiHost = "shop.app\/pay";
  window.ShopifyPay.redirectState = null;
</script>
<script>
  window.Shopify = window.Shopify || {};
  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.01 };
  window.Shopify.SignInWithShop.eligible = true;
</script>
<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
<script defer="defer" async type="module" src="//www.dimok.us/cdn/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
<script type="module">
  await import("//www.dimok.us/cdn/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");

  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});

</script>
<script>
  window.Shopify = window.Shopify || {};
  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
  window.Shopify.featureAssets['shop-js'] = {"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"avatar":["modules/v2/loader.avatar.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"]};
</script>
<script>(function() {
  var isLoaded = false;
  function asyncLoad() {
    if (isLoaded) return;
    isLoaded = true;
    var urls = ["\/\/apps.gopollen.com\/scripts\/shopify?shop=dimok.myshopify.com","https:\/\/www.ryviu.com\/app\/ryviu-namlon-dev.js?shop=dimok.myshopify.com","https:\/\/scripttags.justuno.com\/shopify_justuno_16379197_27574.js?shop=dimok.myshopify.com","https:\/\/s3.amazonaws.com\/instashop\/js\/gallery-1.3.3.js?gallery\u0026shop=dimok.myshopify.com","\/\/cdn.shopify.com\/proxy\/13c178b539e3c1e2da0368236fbf27d8d575e64751668382c97c21107d0094f0\/static.cdn.printful.com\/static\/js\/external\/shopify-product-customizer.js?v=0.28\u0026shop=dimok.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/cdn.hextom.com\/js\/freeshippingbar.js?shop=dimok.myshopify.com"];
    for (var i = 0; i < urls.length; i++) {
      var s = document.createElement('script');
      s.type = 'text/javascript';
      s.async = true;
      s.src = urls[i];
      var x = document.getElementsByTagName('script')[0];
      x.parentNode.insertBefore(s, x);
    }
  };
  if(window.attachEvent) {
    window.attachEvent('onload', asyncLoad);
  } else {
    window.addEventListener('load', asyncLoad, false);
  }
})();</script>
<script id="__st">var __st={"a":16379197,"offset":-14400,"reqid":"d9691300-d754-4442-a87e-771a78d1a84a-1781011062","pageurl":"www.dimok.us\/","u":"62a7c5913540","p":"home"};</script>
<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.2.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.dimok.us/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
<script crossorigin="anonymous" defer="defer" src="//www.dimok.us/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-bf1cdb70.js?v=20250812"></script>
<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.dimok.us/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
</script>
<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
  function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
</script>
<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
</script>
<script async="async" integrity="sha256-hlq21VGceRKy8z+Fjhropk1BwDPACP0RdQ5rBrATyUo=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-67b41cb9.js" crossorigin="anonymous"></script>
<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.dimok.us/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
<style id="shopify-accelerated-checkout-cart">
        #shopify-buyer-consent {
  margin-top: 1em;
  display: inline-block;
  width: 100%;
}

#shopify-buyer-consent.hidden {
  display: none;
}

#shopify-subscription-policy-button {
  background: none;
  border: none;
  padding: 0;
  text-decoration: underline;
  font-size: inherit;
  cursor: pointer;
}

#shopify-subscription-policy-button::before {
  box-shadow: none;
}

      </style>

<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>

  

<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
<![endif]-->
<!--[if (lte IE 9) ]><script src="//www.dimok.us/cdn/shop/t/5/assets/match-media.min.js?v=13684" type="text/javascript"></script><![endif]-->


  
  

  <script src="//www.dimok.us/cdn/shop/t/5/assets/jquery-2.2.3.min.js?v=58211863146907186831518062510" type="text/javascript"></script>

  <!--[if (gt IE 9)|!(IE)]><!--><script src="//www.dimok.us/cdn/shop/t/5/assets/lazysizes.min.js?v=8147953233334221341518062510" async="async"></script><!--<![endif]-->
  <!--[if lte IE 9]><script src="//www.dimok.us/cdn/shop/t/5/assets/lazysizes.min.js?v=8147953233334221341518062510"></script><![endif]-->

  <!--[if (gt IE 9)|!(IE)]><!--><script src="//www.dimok.us/cdn/shop/t/5/assets/vendor.js?v=23204533626406551281522882180" defer="defer"></script><!--<![endif]-->
  <!--[if lte IE 9]><script src="//www.dimok.us/cdn/shop/t/5/assets/vendor.js?v=23204533626406551281522882180"></script><![endif]-->

  <!--[if (gt IE 9)|!(IE)]><!--><script src="//www.dimok.us/cdn/shop/t/5/assets/theme.js?v=110790385427540549371610665589" defer="defer"></script><!--<![endif]-->
  <!--[if lte IE 9]><script src="//www.dimok.us/cdn/shop/t/5/assets/theme.js?v=110790385427540549371610665589"></script><![endif]-->


<!-- ReviewXpo Styles Start -->
<link rel="stylesheet" type="text/css" href="/apps/reviewxpo/css/storefront.css?shop=dimok.myshopify.com&v=3.4.2">
<!-- ReviewXpo Styles End -->

<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 16379197,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
<script>
  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
</script>
<script id="web-pixels-manager-setup">(function(){var wpmLoader=function(){"use strict";return function(e,d,r,n){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if(!Boolean(null==(i=null==(a=window.Shopify)?void 0:a.analytics)?void 0:i.replayQueue)){var a,i;window.Shopify=window.Shopify||{};var t=window.Shopify;t.analytics=t.analytics||{};var s=t.analytics;s.replayQueue=[],s.publish=function(e,d,r){return s.replayQueue.push([e,d,r]),!0};try{self.performance.mark("wpm:start")}catch(e){}var l,u,c,m,p,f,h,g,y,w,v,b,S,P=(u=(l={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,c=l.legacy,(m=navigator.userAgent).match(u)?"modern":m.match(c)?"legacy":"unknown"),C="modern"===P?"modern":"legacy",_=(null!=n?n:{modern:"",legacy:""})[C],O=[(p={baseUrl:d,hashVersion:r,buildTarget:C}).baseUrl,"/wpm","/b",p.hashVersion,"modern"===p.buildTarget?"m":"l",".js"].join(""),U=(f={version:r,bundleTarget:P,surface:e.surface,pageUrl:self.location.href,monorailEndpoint:e.monorailEndpoint},h=f.version,g=f.bundleTarget,y=f.surface,w=f.pageUrl,v=f.monorailEndpoint,{emit:function(e){var d=e.status,r=e.errorMsg,n=(new Date).getTime(),o=JSON.stringify({metadata:{event_sent_at_ms:n},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:h,bundle_target:g,page_url:w,status:d,surface:y,error_msg:r},metadata:{event_created_at_ms:n}}]});if(!v)return console&&console.warn&&console.warn("[Web Pixels Manager] No Monorail endpoint provided, skipping logging."),!1;try{return self.navigator.sendBeacon.bind(self.navigator)(v,o)}catch(e){}var a=new XMLHttpRequest;try{return a.open("POST",v,!0),a.setRequestHeader("Content-Type","text/plain"),a.send(o),!0}catch(e){return console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging to Monorail."),!1}}});try{o.browserTarget=P,function(e){var d=e.src,r=e.async,n=void 0===r||r,o=e.onload,a=e.onerror,i=e.sri,t=e.scriptDataAttributes,s=void 0===t?{}:t,l=document.createElement("script"),u=document.querySelector("head"),c=document.querySelector("body");if(l.async=n,l.src=d,i&&(l.integrity=i,l.crossOrigin="anonymous"),s)for(var m in s)if(Object.prototype.hasOwnProperty.call(s,m))try{l.dataset[m]=s[m]}catch(e){}if(o&&l.addEventListener("load",o),a&&l.addEventListener("error",a),u)u.appendChild(l);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(l)}}({src:O,async:!0,onload:function(){if(!function(){var e,d;return Boolean(null==(d=null==(e=window.Shopify)?void 0:e.analytics)?void 0:d.initialized)}()){var d=window.webPixelsManager.init(e)||void 0;if(d){var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var r=e[0],n=e[1],o=e[2];d.publishCustomEvent(r,n,o)}),r.replayQueue=[],r.publish=d.publishCustomEvent,r.visitor=d.visitor,r.initialized=!0}}},onerror:function(){return U.emit({status:"failed",errorMsg:"".concat(O," has failed to load")})},sri:(b=_,S=/^sha384-[A-Za-z0-9+/=]+$/,"string"==typeof b&&S.test(b)?_:""),scriptDataAttributes:o}),U.emit({status:"loading"})}catch(e){U.emit({status:"failed",errorMsg:(null==e?void 0:e.message)||"Unknown error"})}}}}();wpmLoader({shopId: 16379197,storefrontBaseUrl: "https://www.dimok.us",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://monorail-edge.shopifysvc.com/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["2dca8a86","d5bdd5d0","3209b71c","5acaffe6","86d76263","3b3c7daf","6faea013"],webPixelsConfigList: [{"id":"54231142","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["MARKETING"],"name":"Meta pixel (migrated)"},{"id":"81625190","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Google Analytics tag (migrated)"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0460","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0460","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Dimok","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"dimok.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.dimok.us"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":null,"purchasingCompany":null,"page":null},},"https://www.dimok.us/cdn","a9664f44w6a62cec8p04af10e4mb91e3447",{"modern":"","legacy":""},{"trekkieShim":true,"apiClientId":"580111","pageType":"home","shopId":"16379197","storefrontBaseUrl":"https:\/\/www.dimok.us","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"2dca8a86\", \"d5bdd5d0\", \"3209b71c\", \"5acaffe6\", \"86d76263\", \"3b3c7daf\", \"6faea013\"]","isMerchantRequest":"false","hashVersion":"a9664f44w6a62cec8p04af10e4mb91e3447","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script><script>
  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
  window.ShopifyAnalytics.meta.currency = 'USD';
  var meta = {"page":{"pageType":"home","requestId":"d9691300-d754-4442-a87e-771a78d1a84a-1781011062"}};
  for (var attr in meta) {
    window.ShopifyAnalytics.meta[attr] = meta[attr];
  }
</script>
<script class="analytics">
  (function () {
    var customDocumentWrite = function(content) {
      var jquery = null;

      if (window.jQuery) {
        jquery = window.jQuery;
      } else if (window.Checkout && window.Checkout.$) {
        jquery = window.Checkout.$;
      }

      if (jquery) {
        jquery('body').append(content);
      }
    };

    var hasLoggedConversion = function(token) {
      if (token) {
        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
      }
      return false;
    }

    var setCookieIfConversion = function(token) {
      if (token) {
        var twoMonthsFromNow = new Date(Date.now());
        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);

        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
      }
    }

    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
    if (trekkie.integrations) {
      return;
    }
    trekkie.methods = [
      'identify',
      'page',
      'ready',
      'track',
      'trackForm',
      'trackLink'
    ];
    trekkie.factory = function(method) {
      return function() {
        var args = Array.prototype.slice.call(arguments);
        args.unshift(method);
        trekkie.push(args);
        if (window.__TREKKIE_SHIM_QUEUE && (method == 'track' || method == 'page')) {
          try {
            window.__TREKKIE_SHIM_QUEUE.push({
              from: 'trekkie-stub',
              method: method,
              args: args.slice(1)
            });
          } catch (e) {
            // no-op
          }
        }
        return trekkie;
      };
    };
    for (var i = 0; i < trekkie.methods.length; i++) {
      var key = trekkie.methods[i];
      trekkie[key] = trekkie.factory(key);
    }
    trekkie.load = function(config) {
      trekkie.config = config || {};
      trekkie.config.initialDocumentCookie = document.cookie;
      var first = document.getElementsByTagName('script')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onerror = function(e) {
  var scriptFallback = document.createElement('script');
  scriptFallback.type = 'text/javascript';
  scriptFallback.onerror = function(error) {
          var Monorail = {
      produce: function produce(monorailDomain, schemaId, payload) {
        var currentMs = new Date().getTime();
        var event = {
          schema_id: schemaId,
          payload: payload,
          metadata: {
            event_created_at_ms: currentMs,
            event_sent_at_ms: currentMs
          }
        };
        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
      },
      sendRequest: function sendRequest(endpointUrl, payload) {
        // Try the sendBeacon API
        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
          var blobData = new window.Blob([payload], {
            type: 'text/plain'
          });

          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
            return true;
          } // sendBeacon was not successful

        } // XHR beacon

        var xhr = new XMLHttpRequest();

        try {
          xhr.open('POST', endpointUrl);
          xhr.setRequestHeader('Content-Type', 'text/plain');
          xhr.send(payload);
        } catch (e) {
          console.log(e);
        }

        return false;
      },
      isIos12: function isIos12() {
        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
      }
    };
    Monorail.produce('monorail-edge.shopifysvc.com',
      'trekkie_storefront_load_errors/1.1',
      {shop_id: 16379197,
      theme_id: 7401570332,
      app_name: "storefront",
      context_url: window.location.href,
      source_url: "//www.dimok.us/cdn/s/trekkie.storefront.f7140b8b25ae1195cf346a36a85e3e4bcf46adb3.min.js"});

  };
  scriptFallback.async = true;
  scriptFallback.src = '//www.dimok.us/cdn/s/trekkie.storefront.f7140b8b25ae1195cf346a36a85e3e4bcf46adb3.min.js';
  first.parentNode.insertBefore(scriptFallback, first);
};
script.async = true;
script.src = '//www.dimok.us/cdn/s/trekkie.storefront.f7140b8b25ae1195cf346a36a85e3e4bcf46adb3.min.js';
first.parentNode.insertBefore(script, first);

    };
    trekkie.load(
      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":16379197,"isMerchantRequest":null,"themeId":7401570332,"themeCityHash":"3832372160169045389","contentLanguage":"en","currency":"USD","eventMetadataId":"90d16f0e-69d3-4df9-ba77-9bf6cc2f738a"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["b5387b81","d5bdd5d0"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
    );

    var loaded = false;
    trekkie.ready(function() {
      if (loaded) return;
      loaded = true;

      window.ShopifyAnalytics.lib = window.trekkie;

      var originalDocumentWrite = document.write;
      document.write = customDocumentWrite;
      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
      document.write = originalDocumentWrite;

      window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"d9691300-d754-4442-a87e-771a78d1a84a-1781011062","shopifyEmitted":true});

      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
      var token = match? match[1]: undefined;
      if (!hasLoggedConversion(token)) {
        setCookieIfConversion(token);
        
      }
    });

    var eventsListenerScript = document.createElement('script');
    eventsListenerScript.async = true;
    eventsListenerScript.src = "//www.dimok.us/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
})();</script>
  <script>
  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
    window.ga = function ga() {
      (window.ga.q = window.ga.q || []).push(arguments);
      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
      }
      console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
    };
    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
    }
  }
</script>
<script
  defer
  src="https://www.dimok.us/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.5.0.min.js"
  data-application="storefront-renderer"
  data-shop-id="16379197"
  data-render-region="gcp-europe-west1"
  data-page-type="index"
  data-theme-instance-id="7401570332"
  data-theme-name="Supply"
  data-theme-version="3.3.1"
  data-monorail-region="shop_domain"
  data-resource-timing-sampling-rate="10"
  data-shs="true"
  data-shs-beacon="true"
  data-shs-export-with-fetch="true"
  data-shs-logs-sample-rate="1"
  data-shs-beacon-endpoint="https://www.dimok.us/api/collect"
></script>
</head>

<body id="dimok-breathe-in-live-out" class="template-index" >

  <div id="shopify-section-header" class="shopify-section header-section"><header class="site-header" role="banner" data-section-id="header" data-section-type="header-section">
  <div class="wrapper">

    <div class="grid--full">
      <div class="grid-item large--one-half">
        
          <h1 class="header-logo" itemscope itemtype="http://schema.org/Organization">
        
          
          

          <a href="/" itemprop="url">
            <div class="lazyload__image-wrapper no-js header-logo__image" style="max-width:305px;">
              <div style="padding-top:28.77914951989026%;">
                <img class="lazyload js"
                  data-src="//www.dimok.us/cdn/shop/files/dimok_black_HD_skinny_{width}x.png?v=1613617444"
                  data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
                  data-aspectratio="3.4747378455672067"
                  data-sizes="auto"
                  alt="Dimok"
                  style="width:305px;">
              </div>
            </div>
            <noscript>
              
              <img src="//www.dimok.us/cdn/shop/files/dimok_black_HD_skinny_305x.png?v=1613617444"
                srcset="//www.dimok.us/cdn/shop/files/dimok_black_HD_skinny_305x.png?v=1613617444 1x, //www.dimok.us/cdn/shop/files/dimok_black_HD_skinny_305x@2x.png?v=1613617444 2x"
                alt="Dimok"
                itemprop="logo"
                style="max-width:305px;">
            </noscript>
          </a>
          
        
          </h1>
        
      </div>

      <div class="grid-item large--one-half text-center large--text-right">
        
          <div class="site-header--text-links">
            
              

                <p>Free US Shipping on orders over $20</p>

              
            

            
              <span class="site-header--meta-links medium-down--hide">
                
                  <a href="https://www.dimok.us/customer_authentication/redirect?locale=en&amp;region_country=US" id="customer_login_link">Sign in</a>
                  <span class="site-header--spacer">or</span>
                  <a href="https://shopify.com/16379197/account?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJkaW1vay5teXNob3BpZnkuY29tIiwiZmxhZ3MiOltdLCJleHAiOjE3ODE2MTU4NjIsIm5iZiI6MTc4MTAxMTA2Mn0.RTB79uioXy5gQaTE35ST0dW8vcnETQ8ZL45OKnm_83A" id="customer_register_link">Create an Account</a>
                
              </span>
            
          </div>

          <br class="medium-down--hide">
        

        <form action="/search" method="get" class="search-bar" role="search">
  <input type="hidden" name="type" value="product">

  <input type="search" name="q" value="" placeholder="Search all products..." aria-label="Search all products...">
  <button type="submit" class="search-bar--submit icon-fallback-text">
    <span class="icon icon-search" aria-hidden="true"></span>
    <span class="fallback-text">Search</span>
  </button>
</form>


        <a href="/cart" class="header-cart-btn cart-toggle">
          <span class="icon icon-cart"></span>
          Cart <span class="cart-count cart-badge--desktop hidden-count">0</span>
        </a>
      </div>
    </div>

  </div>
</header>

<div id="mobileNavBar">
  <div class="display-table-cell">
    <button class="menu-toggle mobileNavBar-link" aria-controls="navBar" aria-expanded="false"><span class="icon icon-hamburger" aria-hidden="true"></span>Menu</button>
  </div>
  <div class="display-table-cell">
    <a href="/cart" class="cart-toggle mobileNavBar-link">
      <span class="icon icon-cart"></span>
      Cart <span class="cart-count hidden-count">0</span>
    </a>
  </div>
</div>

<nav class="nav-bar" id="navBar" role="navigation">
  <div class="wrapper">
    <form action="/search" method="get" class="search-bar" role="search">
  <input type="hidden" name="type" value="product">

  <input type="search" name="q" value="" placeholder="Search all products..." aria-label="Search all products...">
  <button type="submit" class="search-bar--submit icon-fallback-text">
    <span class="icon icon-search" aria-hidden="true"></span>
    <span class="fallback-text">Search</span>
  </button>
</form>

    <ul class="mobile-nav" id="MobileNav">
  
  
    
      <li class="mobile-nav--active">
        <a
          href="/"
          class="mobile-nav--link"
          data-meganav-type="child"
          >
            Home
        </a>
      </li>
    
  
    
      <li>
        <a
          href="/collections/products"
          class="mobile-nav--link"
          data-meganav-type="child"
          >
            Shop
        </a>
      </li>
    
  
    
      
      <li 
        class="mobile-nav--has-dropdown "
        aria-haspopup="true">
        <a
          href="/pages/using-our-gear"
          class="mobile-nav--link"
          data-meganav-type="parent"
          aria-controls="MenuParent-3"
          aria-expanded="false"
          >
            Using our Gear
            <span class="icon icon-arrow-down" aria-hidden="true"></span>
        </a>
        <ul
          id="MenuParent-3"
          class="mobile-nav--dropdown "
          data-meganav-dropdown>
          
            
              <li>
                <a
                  href="/pages/aqua-bag-exercises"
                  class="mobile-nav--link"
                  data-meganav-type="child"
                  >
                    Aqua Bag
                </a>
              </li>
            
          
            
              <li>
                <a
                  href="/pages/suspension-trainer"
                  class="mobile-nav--link"
                  data-meganav-type="child"
                  >
                    Suspension Trainer
                </a>
              </li>
            
          
            
              <li>
                <a
                  href="/pages/how-to-use-the-dimok-hypoxic-mask"
                  class="mobile-nav--link"
                  data-meganav-type="child"
                  >
                    Hypoxic Mask
                </a>
              </li>
            
          
            
              <li>
                <a
                  href="/pages/suspension-trainer-x-mount-installation"
                  class="mobile-nav--link"
                  data-meganav-type="child"
                  >
                    X-Mount Installation
                </a>
              </li>
            
          
        </ul>
      </li>
    
  
    
      <li>
        <a
          href="/collections/clearance"
          class="mobile-nav--link"
          data-meganav-type="child"
          >
            Clearance
        </a>
      </li>
    
  
    
      <li>
        <a
          href="/pages/contact-us"
          class="mobile-nav--link"
          data-meganav-type="child"
          >
            Contact Us
        </a>
      </li>
    
  
    
      <li>
        <a
          href="https://www.dimok.us/cart"
          class="mobile-nav--link"
          data-meganav-type="child"
          >
            Cart
        </a>
      </li>
    
  

  
    
      <li class="customer-navlink large--hide"><a href="https://www.dimok.us/customer_authentication/redirect?locale=en&amp;region_country=US" id="customer_login_link">Sign in</a></li>
      <li class="customer-navlink large--hide"><a href="https://shopify.com/16379197/account?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJkaW1vay5teXNob3BpZnkuY29tIiwiZmxhZ3MiOltdLCJleHAiOjE3ODE2MTU4NjIsIm5iZiI6MTc4MTAxMTA2Mn0.RTB79uioXy5gQaTE35ST0dW8vcnETQ8ZL45OKnm_83A" id="customer_register_link">Create an Account</a></li>
    
  
</ul>

    <ul class="site-nav" id="AccessibleNav">
  
  
    
      <li class="site-nav--active">
        <a
          href="/"
          class="site-nav--link"
          data-meganav-type="child"
          >
            Home
        </a>
      </li>
    
  
    
      <li>
        <a
          href="/collections/products"
          class="site-nav--link"
          data-meganav-type="child"
          >
            Shop
        </a>
      </li>
    
  
    
      
      <li 
        class="site-nav--has-dropdown "
        aria-haspopup="true">
        <a
          href="/pages/using-our-gear"
          class="site-nav--link"
          data-meganav-type="parent"
          aria-controls="MenuParent-3"
          aria-expanded="false"
          >
            Using our Gear
            <span class="icon icon-arrow-down" aria-hidden="true"></span>
        </a>
        <ul
          id="MenuParent-3"
          class="site-nav--dropdown "
          data-meganav-dropdown>
          
            
              <li>
                <a
                  href="/pages/aqua-bag-exercises"
                  class="site-nav--link"
                  data-meganav-type="child"
                  
                  tabindex="-1">
                    Aqua Bag
                </a>
              </li>
            
          
            
              <li>
                <a
                  href="/pages/suspension-trainer"
                  class="site-nav--link"
                  data-meganav-type="child"
                  
                  tabindex="-1">
                    Suspension Trainer
                </a>
              </li>
            
          
            
              <li>
                <a
                  href="/pages/how-to-use-the-dimok-hypoxic-mask"
                  class="site-nav--link"
                  data-meganav-type="child"
                  
                  tabindex="-1">
                    Hypoxic Mask
                </a>
              </li>
            
          
            
              <li>
                <a
                  href="/pages/suspension-trainer-x-mount-installation"
                  class="site-nav--link"
                  data-meganav-type="child"
                  
                  tabindex="-1">
                    X-Mount Installation
                </a>
              </li>
            
          
        </ul>
      </li>
    
  
    
      <li>
        <a
          href="/collections/clearance"
          class="site-nav--link"
          data-meganav-type="child"
          >
            Clearance
        </a>
      </li>
    
  
    
      <li>
        <a
          href="/pages/contact-us"
          class="site-nav--link"
          data-meganav-type="child"
          >
            Contact Us
        </a>
      </li>
    
  
    
      <li>
        <a
          href="https://www.dimok.us/cart"
          class="site-nav--link"
          data-meganav-type="child"
          >
            Cart
        </a>
      </li>
    
  

  
    
      <li class="customer-navlink large--hide"><a href="https://www.dimok.us/customer_authentication/redirect?locale=en&amp;region_country=US" id="customer_login_link">Sign in</a></li>
      <li class="customer-navlink large--hide"><a href="https://shopify.com/16379197/account?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJkaW1vay5teXNob3BpZnkuY29tIiwiZmxhZ3MiOltdLCJleHAiOjE3ODE2MTU4NjIsIm5iZiI6MTc4MTAxMTA2Mn0.RTB79uioXy5gQaTE35ST0dW8vcnETQ8ZL45OKnm_83A" id="customer_register_link">Create an Account</a></li>
    
  
</ul>
  </div>
</nav>


</div>

  <main class="wrapper main-content" role="main">

    <!-- BEGIN content_for_index --><div id="shopify-section-slideshow" class="shopify-section slider-section"><hr>
<div class="flexslider" id="heroSlider--slideshow" data-section-id="slideshow" data-section-type="slideshow-section" data-slider-home-auto="true" data-slider-home-rate="5000">
  <ul class="slides">
    
      <li id="slide--aa98b117-8f82-4bd7-bb93-66d7ce33900c" data-flexslider-index="0" >
        
          
            <a href="/products/aqua-bag" class="slide-link">
          
<div id="slideShowImageWrapper-slideshow-8382507712614" class="lazyload__image-wrapper" data-image-id="8382507712614" style="max-width: 1000px">
              <div class="lazyload__image-wrapper no-js" style="padding-top:51.69444444444444%;">
                <img
                  class="lazyload js "
                  src="//www.dimok.us/cdn/shop/files/DSC06876-1_300x.jpg?v=1613616773"
                  data-src="//www.dimok.us/cdn/shop/files/DSC06876-1_{width}x.jpg?v=1613616773"
                  data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
                  data-aspectratio="1.9344438473938743"
                  data-sizes="auto"
                  alt="">
              </div>
            </div>

            <noscript>
              <img src="//www.dimok.us/cdn/shop/files/DSC06876-1_580x.jpg?v=1613616773"
                srcset="//www.dimok.us/cdn/shop/files/DSC06876-1_580x.jpg?v=1613616773 1x, //www.dimok.us/cdn/shop/files/DSC06876-1_580x@2x.jpg?v=1613616773 2x"
                alt="" style="opacity:1;">
            </noscript>
            

          
            </a>
          

        
      </li>
    
      <li id="slide--slide-0" data-flexslider-index="1" >
        
          
            <a href="/products/dimok-adjustable-dumbbell-weights-2-25-lbs-weight-plates-anti-slip-handle-home-gym-exercise-full-body-workout" class="slide-link">
          
<div id="slideShowImageWrapper-slideshow-8382507679846" class="lazyload__image-wrapper" data-image-id="8382507679846" style="max-width: 1000px">
              <div class="lazyload__image-wrapper no-js" style="padding-top:52.38095238095237%;">
                <img
                  class="lazyload js lazypreload"
                  src="//www.dimok.us/cdn/shop/files/two_newest_products_300x.jpg?v=1613616773"
                  data-src="//www.dimok.us/cdn/shop/files/two_newest_products_{width}x.jpg?v=1613616773"
                  data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
                  data-aspectratio="1.9090909090909092"
                  data-sizes="auto"
                  alt="">
              </div>
            </div>

            <noscript>
              <img src="//www.dimok.us/cdn/shop/files/two_newest_products_580x.jpg?v=1613616773"
                srcset="//www.dimok.us/cdn/shop/files/two_newest_products_580x.jpg?v=1613616773 1x, //www.dimok.us/cdn/shop/files/two_newest_products_580x@2x.jpg?v=1613616773 2x"
                alt="" style="opacity:1;">
            </noscript>
            

          
            </a>
          

        
      </li>
    
      <li id="slide--cf0c2e37-6d27-4bca-bfd7-85757b435248" data-flexslider-index="2" >
        
          
            <a href="/collections/calf-sleeves" class="slide-link">
          
<div id="slideShowImageWrapper-slideshow-8383027380326" class="lazyload__image-wrapper" data-image-id="8383027380326" style="max-width: 1000px">
              <div class="lazyload__image-wrapper no-js" style="padding-top:52.73661929241005%;">
                <img
                  class="lazyload js lazypreload"
                  src="//www.dimok.us/cdn/shop/files/DSC06311small_523d0812-21ee-4580-ae3a-873579de3b0a_300x.jpg?v=1613617443"
                  data-src="//www.dimok.us/cdn/shop/files/DSC06311small_523d0812-21ee-4580-ae3a-873579de3b0a_{width}x.jpg?v=1613617443"
                  data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
                  data-aspectratio="1.8962155963302751"
                  data-sizes="auto"
                  alt="">
              </div>
            </div>

            <noscript>
              <img src="//www.dimok.us/cdn/shop/files/DSC06311small_523d0812-21ee-4580-ae3a-873579de3b0a_580x.jpg?v=1613617443"
                srcset="//www.dimok.us/cdn/shop/files/DSC06311small_523d0812-21ee-4580-ae3a-873579de3b0a_580x.jpg?v=1613617443 1x, //www.dimok.us/cdn/shop/files/DSC06311small_523d0812-21ee-4580-ae3a-873579de3b0a_580x@2x.jpg?v=1613617443 2x"
                alt="" style="opacity:1;">
            </noscript>
            

          
            </a>
          

        
      </li>
    
  </ul>
</div>


</div><div id="shopify-section-16106607166f3ef052" class="shopify-section"><hr>
<div class="custom-content">
  
    
    <div class="custom__item one-whole align--top-middle" >
      <div class="custom__item-inner custom__item-inner--html">
        
            
              <div class="rte" data-section-id="16106607166f3ef052" data-section-type="featured-content-section">
                <div style="text-align:center;"><h2><a href="https://www.dimok.us/collections/products">Jump to the store</a></h2></div>
              </div>
            
        
      </div>
    </div>
  
  
  </div>
</div>


</div><div id="shopify-section-16106576822089bbd7" class="shopify-section"><hr>

  <div class="section-header">
    <p class="h1">The original, authentic dimok Aqua Bag</p>
  </div>

<div class="grid">
  <div class="grid-item one-whole">
    <div class="video-wrapper">
      
        
          <iframe src="//www.youtube.com/embed/jHdsXLiUMjk?rel=0&showinfo=0&vq=720" width="850" height="480" frameborder="0" allowfullscreen></iframe>
        
        
      
    </div>
  </div>
</div>

</div><div id="shopify-section-collection-list" class="shopify-section collection-list-section"><div data-section-id="collection-list" data-section-type="collections-list-template">
  <hr>
  <div class="section-header">
    <h2 class="h1  section-header--left">Shop For</h2>
    <div class="section-header--right">
      <a href="/collections">More categories &rsaquo;</a>
    </div>
  </div>
  <div class="grid-uniform text-center">

    
      

        




<div class="grid-item small--one-half one-quarter">
  
  <a href="/collections/weight-training" title="Browse our Strength Training collection" class="featured-box">
    <div class="featured-box--inner">
      <div class="featured-box--image  vertical-middle">
        
          
<div id="" class="lazyload__image-wrapper no-js" style="max-width: 225px;">
              <div style="padding-top:100.0%;">
                <img class="no-js lazyload"
                  data-src="//www.dimok.us/cdn/shop/collections/Foto-4_{width}x.jpg?v=1610660857"
                  data-widths="[125, 180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
                  data-aspectratio="1.0"
                  data-sizes="auto"
                  alt="Strength Training">
              </div>
            </div>
            
        
      </div>
      
      <noscript>
        <img src="//www.dimok.us/cdn/shop/collections/Foto-4_580x.jpg?v=1610660857"
          srcset="//www.dimok.us/cdn/shop/collections/Foto-4_580x.jpg?v=1610660857 1x, //www.dimok.us/cdn/shop/collections/Foto-4_580x@2x.jpg?v=1610660857 2x"
          alt="Strength Training" style="opacity:1;">
      </noscript>
      
    </div>
    <span class="featured-box--title">Strength Training</span>
  </a>
</div>

      

        




<div class="grid-item small--one-half one-quarter">
  
  <a href="/collections/athletic-training-gear" title="Browse our Running Gear collection" class="featured-box">
    <div class="featured-box--inner">
      <div class="featured-box--image  vertical-middle">
        
          
<div id="" class="lazyload__image-wrapper no-js" style="max-width: 225px;">
              <div style="padding-top:100.0%;">
                <img class="no-js lazyload"
                  data-src="//www.dimok.us/cdn/shop/collections/Square-canstockphotoCoupleRunningOnTrail_{width}x.jpg?v=1610661601"
                  data-widths="[125, 180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
                  data-aspectratio="1.0"
                  data-sizes="auto"
                  alt="Running Gear">
              </div>
            </div>
            
        
      </div>
      
      <noscript>
        <img src="//www.dimok.us/cdn/shop/collections/Square-canstockphotoCoupleRunningOnTrail_580x.jpg?v=1610661601"
          srcset="//www.dimok.us/cdn/shop/collections/Square-canstockphotoCoupleRunningOnTrail_580x.jpg?v=1610661601 1x, //www.dimok.us/cdn/shop/collections/Square-canstockphotoCoupleRunningOnTrail_580x@2x.jpg?v=1610661601 2x"
          alt="Running Gear" style="opacity:1;">
      </noscript>
      
    </div>
    <span class="featured-box--title">Running Gear</span>
  </a>
</div>

      

        




<div class="grid-item small--one-half one-quarter">
  
  <a href="/collections/yoga-life" title="Browse our Yoga Life collection" class="featured-box">
    <div class="featured-box--inner">
      <div class="featured-box--image  vertical-middle">
        
          
<div id="" class="lazyload__image-wrapper no-js" style="max-width: 214.59598318542737px;">
              <div style="padding-top:104.84818805093046%;">
                <img class="no-js lazyload"
                  data-src="//www.dimok.us/cdn/shop/collections/IMG_7966_{width}x.jpg?v=1610662105"
                  data-widths="[125, 180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
                  data-aspectratio="0.9537599252685661"
                  data-sizes="auto"
                  alt="Yoga Life">
              </div>
            </div>
            
        
      </div>
      
      <noscript>
        <img src="//www.dimok.us/cdn/shop/collections/IMG_7966_580x.jpg?v=1610662105"
          srcset="//www.dimok.us/cdn/shop/collections/IMG_7966_580x.jpg?v=1610662105 1x, //www.dimok.us/cdn/shop/collections/IMG_7966_580x@2x.jpg?v=1610662105 2x"
          alt="Yoga Life" style="opacity:1;">
      </noscript>
      
    </div>
    <span class="featured-box--title">Yoga Life</span>
  </a>
</div>

      

        




<div class="grid-item small--one-half one-quarter">
  
  <a href="/collections/hiit" title="Browse our HIIT collection" class="featured-box">
    <div class="featured-box--inner">
      <div class="featured-box--image  vertical-middle">
        
          
<div id="" class="lazyload__image-wrapper no-js" style="max-width: 180.0px;">
              <div style="padding-top:125.0%;">
                <img class="no-js lazyload"
                  data-src="//www.dimok.us/cdn/shop/collections/18194060_1228649543900028_9169444172995746293_n_{width}x.jpg?v=1610662587"
                  data-widths="[125, 180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
                  data-aspectratio="0.8"
                  data-sizes="auto"
                  alt="HIIT">
              </div>
            </div>
            
        
      </div>
      
      <noscript>
        <img src="//www.dimok.us/cdn/shop/collections/18194060_1228649543900028_9169444172995746293_n_580x.jpg?v=1610662587"
          srcset="//www.dimok.us/cdn/shop/collections/18194060_1228649543900028_9169444172995746293_n_580x.jpg?v=1610662587 1x, //www.dimok.us/cdn/shop/collections/18194060_1228649543900028_9169444172995746293_n_580x@2x.jpg?v=1610662587 2x"
          alt="HIIT" style="opacity:1;">
      </noscript>
      
    </div>
    <span class="featured-box--title">HIIT</span>
  </a>
</div>

      
    
    

    
  </div>
</div>


</div><div id="shopify-section-1610663042f8574522" class="shopify-section"><hr>
<div class="custom-content">
  
    
    <div class="custom__item one-whole align--top-middle" >
      <div class="custom__item-inner custom__item-inner--html">
        
            
              <div class="rte" data-section-id="1610663042f8574522" data-section-type="featured-content-section">
                <div style="text-align:center;"><h2><a href="https://www.dimok.us/collections/products">Jump to the store</a></h2></div>
              </div>
            
        
      </div>
    </div>
  
  
  </div>
</div>


</div><div id="shopify-section-collection-row-1" class="shopify-section clearfix"><hr>
<div id="collection-rows--collection-row-1" data-section-id="collection-row-1" data-section-type="collection-row-section">






  
    <div class="section-header">
      <p class="h1 section-header--left">Get Strong</p>
      
        <div class="section-header--right">
          
          <a href="/collections/weight-training">More strength training &rsaquo;</a>
        </div>
      
    </div>
  

  <div class="grid-uniform row-negative-bottom">
    
      
        











<div class="grid-item small--one-half medium--one-quarter large--one-quarter sold-out">

  <a href="/collections/weight-training/products/dimok-adjustable-dumbbell-weights-2-25-lbs-weight-plates-anti-slip-handle-home-gym-exercise-full-body-workout" class="product-grid-item">
    <div class="product-grid-image">
      <div class="product-grid-image--centered">
        
          <div class="badge badge--sold-out"><span class="badge-label">Sold Out</span></div>
        

        
<div class="lazyload__image-wrapper no-js" style="max-width: 250px">
            <div style="padding-top:75.55401662049861%;">
              <img
                class="lazyload no-js"
                data-src="//www.dimok.us/cdn/shop/products/Foto-1_12lbs_{width}x.jpg?v=1611010562"
                data-widths="[125, 180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
                data-aspectratio="1.3235563703024749"
                data-sizes="auto"
                alt="12.5-25 lb dimok Adjustable Dumbbell Weights (Plates, Anti-Slip Handle - Home Gym Exercise Full Body Workout (Single) - Dimok"
                >
            </div>
          </div>
          <noscript>
           <img src="//www.dimok.us/cdn/shop/products/Foto-1_12lbs_580x.jpg?v=1611010562"
             srcset="//www.dimok.us/cdn/shop/products/Foto-1_12lbs_580x.jpg?v=1611010562 1x, //www.dimok.us/cdn/shop/products/Foto-1_12lbs_580x@2x.jpg?v=1611010562 2x"
             alt="12.5-25 lb dimok Adjustable Dumbbell Weights (Plates, Anti-Slip Handle - Home Gym Exercise Full Body Workout (Single) - Dimok" style="opacity:1;">
         </noscript>

        
      </div>
    </div>

    <p>12.5-25 lb dimok Adjustable Dumbbell Weights (Plates, Anti-Slip Handle - Home Gym Exercise Full Body Workout (Single)</p>

    <div class="product-item--price">
      <span class="h1 medium--left">
        
          <span class="visually-hidden">Regular price</span>
        
        





<small aria-hidden="true">$57<sup>89</sup></small>
<span class="visually-hidden">$57.89</span>

        
      </span>

      
    </div>

    
  </a>

</div>

    
      
        











<div class="grid-item small--one-half medium--one-quarter large--one-quarter on-sale">

  <a href="/collections/weight-training/products/aqua-bag" class="product-grid-item">
    <div class="product-grid-image">
      <div class="product-grid-image--centered">
        

        
<div class="lazyload__image-wrapper no-js" style="max-width: 250px">
            <div style="padding-top:97.33796296296298%;">
              <img
                class="lazyload no-js"
                data-src="//www.dimok.us/cdn/shop/products/BazookaHold2_{width}x.jpg?v=1604863851"
                data-widths="[125, 180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
                data-aspectratio="1.0273483947681332"
                data-sizes="auto"
                alt="Aqua Bag SandBag For Fitness Equipment w Water - Home Gym Workout Sand Bag Training - Dimok"
                >
            </div>
          </div>
          <noscript>
           <img src="//www.dimok.us/cdn/shop/products/BazookaHold2_580x.jpg?v=1604863851"
             srcset="//www.dimok.us/cdn/shop/products/BazookaHold2_580x.jpg?v=1604863851 1x, //www.dimok.us/cdn/shop/products/BazookaHold2_580x@2x.jpg?v=1604863851 2x"
             alt="Aqua Bag SandBag For Fitness Equipment w Water - Home Gym Workout Sand Bag Training - Dimok" style="opacity:1;">
         </noscript>

        
      </div>
    </div>

    <p>Aqua Bag SandBag For Fitness Equipment w Water - Home Gym Workout Sand Bag Training</p>

    <div class="product-item--price">
      <span class="h1 medium--left">
        
          <span class="visually-hidden">Sale price</span>
        
        





<small aria-hidden="true">$39<sup>87</sup></small>
<span class="visually-hidden">$39.87</span>

        
          <small>
            <s>
              <span class="visually-hidden">Regular price</span>
              





<small aria-hidden="true">$110<sup>00</sup></small>
<span class="visually-hidden">$110.00</span>

            </s>
          </small>
        
      </span>

      
    </div>

    
  </a>

</div>

    
      
        











<div class="grid-item small--one-half medium--one-quarter large--one-quarter on-sale">

  <a href="/collections/weight-training/products/dimok-suspension-trainer-home-gym" class="product-grid-item">
    <div class="product-grid-image">
      <div class="product-grid-image--centered">
        

        
<div class="lazyload__image-wrapper no-js" style="max-width: 250px">
            <div style="padding-top:100.0%;">
              <img
                class="lazyload no-js"
                data-src="//www.dimok.us/cdn/shop/products/F_Foto_1-5-1rubber_{width}x.jpg?v=1604113762"
                data-widths="[125, 180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
                data-aspectratio="1.0"
                data-sizes="auto"
                alt="Suspension Trainer Home Gym Resistance Exercise Full Body Workout - Dimok"
                >
            </div>
          </div>
          <noscript>
           <img src="//www.dimok.us/cdn/shop/products/F_Foto_1-5-1rubber_580x.jpg?v=1604113762"
             srcset="//www.dimok.us/cdn/shop/products/F_Foto_1-5-1rubber_580x.jpg?v=1604113762 1x, //www.dimok.us/cdn/shop/products/F_Foto_1-5-1rubber_580x@2x.jpg?v=1604113762 2x"
             alt="Suspension Trainer Home Gym Resistance Exercise Full Body Workout - Dimok" style="opacity:1;">
         </noscript>

        
      </div>
    </div>

    <p>Suspension Trainer Home Gym Resistance Exercise Full Body Workout</p>

    <div class="product-item--price">
      <span class="h1 medium--left">
        
          <span class="visually-hidden">Sale price</span>
        
        





<small aria-hidden="true">$45<sup>87</sup></small>
<span class="visually-hidden">$45.87</span>

        
          <small>
            <s>
              <span class="visually-hidden">Regular price</span>
              





<small aria-hidden="true">$75<sup>45</sup></small>
<span class="visually-hidden">$75.45</span>

            </s>
          </small>
        
      </span>

      
    </div>

    
  </a>

</div>

    
      
        











<div class="grid-item small--one-half medium--one-quarter large--one-quarter on-sale">

  <a href="/collections/weight-training/products/sport-weighted-vest-workout-equipment-12lbs-body-weight-vest-for-men-women-kids" class="product-grid-item">
    <div class="product-grid-image">
      <div class="product-grid-image--centered">
        

        
<div class="lazyload__image-wrapper no-js" style="max-width: 250px">
            <div style="padding-top:100.0%;">
              <img
                class="lazyload no-js"
                data-src="//www.dimok.us/cdn/shop/products/Foto-1_{width}x.jpg?v=1592857333"
                data-widths="[125, 180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
                data-aspectratio="1.0"
                data-sizes="auto"
                alt="Weight Vest 12LBS Workout Equipment Body Weighted Vest for Men Women Kids - Dimok"
                >
            </div>
          </div>
          <noscript>
           <img src="//www.dimok.us/cdn/shop/products/Foto-1_580x.jpg?v=1592857333"
             srcset="//www.dimok.us/cdn/shop/products/Foto-1_580x.jpg?v=1592857333 1x, //www.dimok.us/cdn/shop/products/Foto-1_580x@2x.jpg?v=1592857333 2x"
             alt="Weight Vest 12LBS Workout Equipment Body Weighted Vest for Men Women Kids - Dimok" style="opacity:1;">
         </noscript>

        
      </div>
    </div>

    <p>Weight Vest 12-20 LBS Workout Equipment Body Weighted Vest for Men Women Kids</p>

    <div class="product-item--price">
      <span class="h1 medium--left">
        
          <span class="visually-hidden">Sale price</span>
        
        





<small aria-hidden="true">$36<sup>97</sup></small>
<span class="visually-hidden">$36.97</span>

        
          <small>
            <s>
              <span class="visually-hidden">Regular price</span>
              





<small aria-hidden="true">$69<sup>49</sup></small>
<span class="visually-hidden">$69.49</span>

            </s>
          </small>
        
      </span>

      
    </div>

    
  </a>

</div>

    
  </div>


</div>

</div><div id="shopify-section-1610663219ddea04f4" class="shopify-section"><hr>
<div class="custom-content">
  
    
    <div class="custom__item one-whole align--top-middle" >
      <div class="custom__item-inner custom__item-inner--html">
        
            
              <div class="rte" data-section-id="1610663219ddea04f4" data-section-type="featured-content-section">
                <div style="text-align:center;"><h2><a href="https://www.dimok.us/collections/products">Jump to the store</a></h2></div>
              </div>
            
        
      </div>
    </div>
  
  
  </div>
</div>


</div><!-- END content_for_index -->


  </main>

  <div id="shopify-section-footer" class="shopify-section footer-section">

<footer class="site-footer small--text-center" role="contentinfo">
  <div class="wrapper">

    <div class="grid">

    

      


    <div class="grid-item small--one-whole one-quarter">
      
        <h3>Using our gear</h3>
      

      
        <ul>
          
            <li><a href="/pages/aqua-bag-exercises">Aqua Bag</a></li>
          
            <li><a href="/pages/suspension-trainer">Suspension Trainer</a></li>
          
            <li><a href="/pages/how-to-use-the-dimok-hypoxic-mask">Hypoxic Mask</a></li>
          
            <li><a href="/pages/suspension-trainer-x-mount-installation">X-Mount Installation</a></li>
          
        </ul>

        
      </div>
    

      


    <div class="grid-item small--one-whole two-twelfths">
      
        <h3>Get in touch</h3>
      

      

            
              <p><a href="https://dimok.myshopify.com/pages/contact-us" title="https://dimok.myshopify.com/pages/contact-us">Contact us</a></p>
            


        
      </div>
    

      


    <div class="grid-item small--one-whole one-third">
      
        <h3>Newsletter</h3>
      

      
          <div class="form-vertical">
  <form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
    
    
      <input type="hidden" name="contact[tags]" value="newsletter">
      <div class="input-group">
        <label for="Email" class="visually-hidden">E-mail</label>
        <input type="email" value="" placeholder="Email Address" name="contact[email]" id="Email" class="input-group-field" aria-label="Email Address" autocorrect="off" autocapitalize="off">
        <span class="input-group-btn">
          <button type="submit" class="btn-secondary btn--small" name="commit" id="subscribe">Sign Up</button>
        </span>
      </div>
    
  </form>
</div>

        
      </div>
    

      


    <div class="grid-item small--one-whole two-twelfths">
      
        <h3>Dimok Proudly Supports</h3>
      

      

            
              <p><a href="http://klove.com" title="http://klove.com" target="_blank">K-Love</a></p><p><a title="World Vision" href="http://worldvision.org" target="_blank">World Vision</a></p><p><a title="Wounded Warrior Project" href="http://woundedwarriorproject.org" target="_blank">Wounded Warrior Project</a></p>
            


        
      </div>
    

  </div>

  
  <hr class="hr--small">
  

    <div class="grid">
    
      <div class="grid-item large--two-fifths">
<div id="rvxpo_avg_rating_badge_widget"> </div>
          <ul class="legal-links inline-list">
            
              <li><a href="/pages/privacy-policy">Privacy Policy</a></li>
            
              <li><a href="/pages/return-policy">Return Policy</a></li>
            
          </ul>
      </div>
      
      
      <div class="grid-item large--three-fifths text-right">
          <ul class="inline-list social-icons">
             
             
               <li>
                 <a class="icon-fallback-text" href="https://facebook.com/dimokusa" title="Dimok on Facebook">
                   <span class="icon icon-facebook" aria-hidden="true"></span>
                   <span class="fallback-text">Facebook</span>
                 </a>
               </li>
             
             
             
             
               <li>
                 <a class="icon-fallback-text" href="https://instagram.com/dimokusa" title="Dimok on Instagram">
                   <span class="icon icon-instagram" aria-hidden="true"></span>
                   <span class="fallback-text">Instagram</span>
                 </a>
               </li>
             
             
             
             
               <li>
                 <a class="icon-fallback-text" href="https://www.youtube.com/channel/UCIz1C9sbNM35wyJrHPPuGtw/featured" title="Dimok on YouTube">
                   <span class="icon icon-youtube" aria-hidden="true"></span>
                   <span class="fallback-text">YouTube</span>
                 </a>
               </li>
             
             
             
           </ul>
        </div>
      
      </div>
      <hr class="hr--small">
      <div class="grid">
      <div class="grid-item large--two-fifths">
          <ul class="legal-links inline-list">
              <li>
                &copy; 2026 <a href="/" title="">Dimok</a>
              </li>
              <li>
                <a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&amp;utm_medium=shopify&amp;utm_source=onlinestore">Powered by Shopify</a>
              </li>
          </ul>
      </div>

      
        <div class="grid-item large--three-fifths large--text-right">
          
          <ul class="inline-list payment-icons">
            
              
            
              
                <li>
                  <span class="icon-fallback-text">
                    <span class="icon icon-american_express" aria-hidden="true"></span>
                    <span class="fallback-text">american express</span>
                  </span>
                </li>
              
            
              
                <li>
                  <span class="icon-fallback-text">
                    <span class="icon icon-apple_pay" aria-hidden="true"></span>
                    <span class="fallback-text">apple pay</span>
                  </span>
                </li>
              
            
              
                <li>
                  <span class="icon-fallback-text">
                    <span class="icon icon-diners_club" aria-hidden="true"></span>
                    <span class="fallback-text">diners club</span>
                  </span>
                </li>
              
            
              
                <li>
                  <span class="icon-fallback-text">
                    <span class="icon icon-discover" aria-hidden="true"></span>
                    <span class="fallback-text">discover</span>
                  </span>
                </li>
              
            
              
                <li>
                  <span class="icon-fallback-text">
                    <span class="icon icon-master" aria-hidden="true"></span>
                    <span class="fallback-text">master</span>
                  </span>
                </li>
              
            
              
                <li>
                  <span class="icon-fallback-text">
                    <span class="icon icon-paypal" aria-hidden="true"></span>
                    <span class="fallback-text">paypal</span>
                  </span>
                </li>
              
            
              
                <li>
                  <span class="icon-fallback-text">
                    <span class="icon icon-shopify_pay" aria-hidden="true"></span>
                    <span class="fallback-text">shopify pay</span>
                  </span>
                </li>
              
            
              
                <li>
                  <span class="icon-fallback-text">
                    <span class="icon icon-visa" aria-hidden="true"></span>
                    <span class="fallback-text">visa</span>
                  </span>
                </li>
              
            
          </ul>
        </div>
      

    </div>

  </div>

</footer>


</div>

  <script>

  var moneyFormat = '${{amount}}';

  var theme = {
    strings:{
      product:{
        unavailable: "Unavailable",
        will_be_in_stock_after:"Will be in stock after [date]",
        only_left:"Only 1 left!"
      },
      navigation:{
        more_link: "More"
      },
      map:{
        addressError: "Error looking up that address",
        addressNoResults: "No results for that address",
        addressQueryLimit: "You have exceeded the Google API usage limit. Consider upgrading to a \u003ca href=\"https:\/\/developers.google.com\/maps\/premium\/usage-limits\"\u003ePremium Plan\u003c\/a\u003e.",
        authError: "There was a problem authenticating your Google Maps API Key."
      }
    },
    settings:{
      cartType: "modal"
    }
  }
  </script>



  
  <script id="cartTemplate" type="text/template">
  
    <form action="/cart" method="post" class="cart-form" novalidate>
      <div class="ajaxifyCart--products">
        {{#items}}
        <div class="ajaxifyCart--product">
          <div class="ajaxifyCart--row" data-line="{{line}}">
            <div class="grid">
              <div class="grid-item large--two-thirds">
                <div class="grid">
                  <div class="grid-item one-quarter">
                    <a href="{{url}}" class="ajaxCart--product-image"><img src="{{img}}" alt=""></a>
                  </div>
                  <div class="grid-item three-quarters">
                    <a href="{{url}}" class="h4">{{name}}</a>
                    <p>{{variation}}</p>
                  </div>
                </div>
              </div>
              <div class="grid-item large--one-third">
                <div class="grid">
                  <div class="grid-item one-third">
                    <div class="ajaxifyCart--qty">
                      <input type="text" name="updates[]" class="ajaxifyCart--num" value="{{itemQty}}" min="0" data-line="{{line}}" aria-label="quantity" pattern="[0-9]*">
                      <span class="ajaxifyCart--qty-adjuster ajaxifyCart--add" data-line="{{line}}" data-qty="{{itemAdd}}">+</span>
                      <span class="ajaxifyCart--qty-adjuster ajaxifyCart--minus" data-line="{{line}}" data-qty="{{itemMinus}}">-</span>
                    </div>
                  </div>
                  <div class="grid-item one-third text-center">
                    <p>{{price}}</p>
                  </div>
                  <div class="grid-item one-third text-right">
                    <p>
                      <small><a href="/cart/change?line={{line}}&amp;quantity=0" class="ajaxifyCart--remove" data-line="{{line}}">Remove</a></small>
                    </p>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
        {{/items}}
      </div>
      <div class="ajaxifyCart--row text-right medium-down--text-center">
        <span class="h3">Subtotal {{totalPrice}}</span>
        <input type="submit" class="{{btnClass}}" name="checkout" value="Checkout">
      </div>
    </form>
  
  </script>
  <script id="drawerTemplate" type="text/template">
  
    <div id="ajaxifyDrawer" class="ajaxify-drawer">
      <div id="ajaxifyCart" class="ajaxifyCart--content {{wrapperClass}}"></div>
    </div>
    <div class="ajaxifyDrawer-caret"><span></span></div>
  
  </script>
  <script id="modalTemplate" type="text/template">
  
    <div id="ajaxifyModal" class="ajaxify-modal">
      <div id="ajaxifyCart" class="ajaxifyCart--content"></div>
    </div>
  
  </script>
  <script id="ajaxifyQty" type="text/template">
  
    <div class="ajaxifyCart--qty">
      <input type="text" class="ajaxifyCart--num" value="{{itemQty}}" data-id="{{key}}" min="0" data-line="{{line}}" aria-label="quantity" pattern="[0-9]*">
      <span class="ajaxifyCart--qty-adjuster ajaxifyCart--add" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}">+</span>
      <span class="ajaxifyCart--qty-adjuster ajaxifyCart--minus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemMinus}}">-</span>
    </div>
  
  </script>
  <script id="jsQty" type="text/template">
  
    <div class="js-qty">
      <input type="text" class="js--num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}">
      <span class="js--qty-adjuster js--add" data-id="{{key}}" data-qty="{{itemAdd}}">+</span>
      <span class="js--qty-adjuster js--minus" data-id="{{key}}" data-qty="{{itemMinus}}">-</span>
    </div>
  
  </script>






<style type="text/css">
  .ba-vol-wrapper{
  margin-top:20px;
}
.booster-cart-item-line-price .original_price {
  display: block;
  text-decoration: line-through !important;
}
.booster-cart-item-price, .booster-cart-total, .booster-cart-item-line-price .discounted_price {
  display: block;
  font-weight: bold;
}

.booster-cart-item-success-notes, .booster-cart-item-upsell-notes {
  display: block;
  font-weight:bold;
  color: #0078bd;
  font-size: 120%;
}
.wh-cart-total {
  display: block;
  font-weight: bold;
}
.booster-messages{
  display:block;
}

#booster-discount-item{
  font-size:70%;
  padding-top: 5px;
  padding-bottom: 5px;
}

#booster-summary-item{
  font-size: 70%;
  padding-top: 5px;
  padding-bottom: 5px;
}

.summary-line-note{
  padding-right: 10px;
}

.summary-line-discount{
  color: #0078bd;
}

input#booster-discount-code{
  max-width:200px;
  display:inline-block;
  font-size: 16px;
}

button#apply-booster-discount{
  display:inline-block;
  max-width:200px;
  font-size: 16px;
}

div#booster-notification-bar{
  font-size: 110%;
  background-color: #00c1ff;
  padding: 12px;
  color: #ffffff;
  font-family: inherit;
  z-index: 9999999999999;
  display: none;
  left: 0px;
  width: 100%;
  margin: 0px;
  margin-bottom:20px;
  text-align: center;
  text-transform: none;
}

div#booster-close-notification{
  float: right;
  font-weight: bold;
  height: 0;
  overflow: visible;
  cursor: pointer;
  margin-right: 2em;
}

.ba-eqs{
  display:none;
}

.ba-product-bundle {
  clear: both;
  margin: 0 0 20px;
}


.ba-product-bundle .bundle-title {

    text-align: inherit;
    font-size: 20px;
  
  
  
  margin-bottom: 15px;

}

.ba-product-bundle .ba-product-wrapper,
.ba-product-bundle .bundle-plus,
.ba-product-bundle .bundle-total{
  display: inline-block;
  text-align: center;
  vertical-align: middle;
}
.ba-product-bundle .bundle-total {
  text-align: left;
}

.ba-bundle-wrapper .ba-product-bundle .ba-info-wrapper a{
  text-decoration: none;
}

#two-product.ba-product-bundle .bundle-plus img {
  position: relative;
  margin-left: -54% !important;
  max-width: 38px !important;
}

#three-product.ba-product-bundle .bundle-plus img {
  position: relative;
  margin-left: -94% !important;
  max-width: 38px !important;
}
.ba-product-bundle .ba-product-wrapper {
  line-height: 15px;
}
.ba-product-bundle .ba-product-wrapper img {
  width: 80%;
}
.ba-product-bundle .bundle-name {
  margin: 10px 0 5px 0;
}
.ba-product-bundle .ba-price {
  margin-bottom: 5px;
  display: inline-block;
  margin-right: 5px;
  width:100%;
}
.ba-product-bundle .buy-bundle {
  text-align: right;
  padding: 5px 0;
}
.ba-product-bundle .buy-bundle input.addtocart {
  padding: 5px 10px;
  background-color: #222;
  color: #FFF;
  border: none;
}
.booster-variants-container select {
  width: 100%;
  margin-bottom: 5px
}
.ba-product-bundle .booster-variants-container {
  border: none;
  margin: 0;
  padding: 0;
}
.ba-product-bundle .ba-price.regular {
  color: #bbb;
  text-decoration: line-through;
}
.ba-product-bundle .ba-product-wrapper {
  vertical-align: top !important;
  line-height: 15px;
  text-align:center;
}
.ba-product-bundle .ba-image {
  min-height: 130px;
  max-height: 130px;
  line-height: 125px;
  border: 1px solid #d9d9d9;
  background: #fff;
  text-align: center;
}
.ba-product-bundle .ba-image img {
  max-height: 115px;
  max-width: 100%;
  vertical-align: middle;
  height: auto;
  width: auto;
}
.ba-product-bundle .bundle-plus {
  line-height: 125px;
  max-width: 22px;
}
.ba-bundle-wrapper .ba-product-bundle button {
  display: inline-block;
  padding: 4px 10px 4px;
  margin-bottom: 0;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
  color: #ffffff;
  text-align: center;
  vertical-align: middle;
  background-repeat: repeat-x;
  border: 1px solid #cccccc;
  border-bottom-color: #b3b3b3;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  background-color: #414141;
  background-image: -moz-linear-gradient(top, #555555, #222222);
  background-image: -ms-linear-gradient(top, #555555, #222222);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));
  background-image: -webkit-linear-gradient(top, #555555, #222222);
  background-image: -o-linear-gradient(top, #555555, #222222);
  background-image: linear-gradient(top, #555555, #222222);
  background-repeat: repeat-x;
  filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);
  border-color: #222222 #222222 #000000;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid: dximagetransform.microsoft.gradient(enabled=false);
  padding: 5px 10px;
}
.ba-product-bundle button .top-button {
  font-size: 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  display: block;
  padding: 0 5px 2px 5px;
}
.ba-product-bundle button .bottom-button {
  font-size: 14px;
  padding: 2px 5px 0 5px;
  display: block;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.ba-product-bundle .ba-price {
  position: static;
  background: none;
  text-align: center;
  padding: 0;
}
.ba-product-bundle .ba-eqs {
  width: auto;
  margin: 0 10px;
}

#two-product.ba-product-bundle .ba-product-wrapper {
  width: 46%;
}
#two-product.ba-product-bundle .bundle-plus {
  width: 4%;
  font-size: 75px
}
#two-product.ba-product-bundle.with-total .bundle-total {
  width: 100%;
  margin: 10px 0 0 0;
  text-align: right;
  display:inline-block;
}
#three-product.ba-product-bundle .ba-product-wrapper {
  width: 28%;
}
#three-product.ba-product-bundle .bundle-plus {
  width: 3%;
  font-size: 50px
}
#four-product.ba-product-bundle .ba-product-wrapper {
  width: 21%;
}
#four-product.ba-product-bundle .bundle-plus {
  width: 3.5%;
  font-size: 40px
}

.with-total .bundle-total button{
  white-space: normal;
}

#two-product.ba-product-bundle.with-total .ba-product-wrapper {
  width: 30%;
}
#two-product.ba-product-bundle.with-total .bundle-plus {
  font-size: 70px;
}
#two-product.ba-product-bundle.with-total .bundle-total {
  font-size: 35px;
  margin: 0;
  text-align: right;
}


#two-product.ba-product-bundle.with-total .bundle-total {
  width: 34%;
}
#three-product.ba-product-bundle.with-total .ba-product-wrapper {
  width: 21%;
}

#three-product.ba-product-bundle.with-total .bundle-total button{
  width: 70%;
  margin-top:0px;
}
#three-product.ba-product-bundle.with-total .bundle-plus {
  font-size: 45px
}

#two-product.ba-product-bundle.with-total .bundle-total {
  display:inline-block;
  width: 30%;
  font-size: 30px;
  text-align: right;
}

#three-product.ba-product-bundle.with-total .bundle-total {
  display:inline-block;
  width: 25%;
  font-size: 30px;
  text-align: right;
}

.ba-product-bundle.with-total .bundle-total .ba-eqs {
  display: inline-block;
  text-align: center;
  width: 23px;
  padding: 0px;
  margin: 0px;
}


#four-product.ba-product-bundle.with-total .ba-product-wrapper,
#four-product.ba-product-bundle.with-total .bundle-total {
  width: 20%;
}
#four-product.ba-product-bundle.with-total .bundle-plus {
  font-size: 40px
}
#four-product.ba-product-bundle.with-total .bundle-total {
  font-size: 25px
}

#four-product.ba-product-bundle .ba-eqs {
  display: none;
}

#four-product.ba-product-bundle.with-total .bundle-total {
  width: 100%;
  text-align: center;
}
#max-two {
  width: 61%;
}
#max-two .bundle-plus {
  width: 10%
}
#three-product.max-two .bundle-total,
#four-product.max-two .bundle-total {
  height: 384px;
}
#three-product.max-two .ba-eqs,
#four-product.max-two .ba-eqs {
  position: relative;
  top: 50%;
}
#three-product.max-two button,
#four-product.max-two button {
  position: relative;
  top: 50%;
}
#max-two {
  width: 60%;
  display: inline-block;
}
#max-two .bundle-plus:nth-child(4n+4) {
  display: none;
}
.ba-product-bundle .ba-product-wrapper {
  width: 45%;
  margin-bottom: 20px;
}
.ba-product-bundle .bundle-total {
  color: #bfbfbf;
  font-size: 21px;
  font-weight: bold;
}

.with-total.ba-product-bundle .ba-eqs {
  display: inline-block;
  text-align: center;
  width: 24px;
  vertical-align: middle;
}
.ba-product-bundle .bundle-total button {
  width: 100%;
  /*max-width: 150px;*/
}
@media screen and (max-width: 650px) {
  .ba-product-bundle .ba-product-wrapper {
    width: 100% !important;
  }
  .ba-product-bundle .ba-product-wrapper > a:first-child {
    width: 35% !important;
    margin-right: 20px;
    display: block;
    float: left;
  }
  .ba-product-bundle .ba-product-wrapper .bundle-name {
    margin: 0;
  }
  .ba-product-bundle .bundle-plus {
    width: 100% !important;
    max-width: 100%;
    line-height: 0;
    border-bottom: 1px solid #ccc;
    margin-top: -42px;
  }
  .ba-product-bundle .bundle-plus img {
    margin-left: 0 !important;
    margin-bottom: -18px;
  }
  .booster-variants-container select {
    width: auto;
    margin-top: 10px
  }
  .ba-product-bundle .bundle-total {
    width: 100% !important;
    text-align: center;
  }
  .ba-product-bundle .ba-eqs {
    width: 100%;
    border-bottom: 1px solid #ccc;
    margin: -22px 0 0 0;
    position: relative;
  }
  .ba-product-bundle .ba-eqs img {
    margin-left: 0 !important;
    margin-bottom: -18px;
    display: none;
  }
  #three-product.ba-product-bundle.with-total .bundle-total button{
    margin-top: 20px;
    width: 100%;
  }


  .ba-product-bundle .ba-image-container{
    width: 35%;
    display: inline-block;
    float: left;
  }

  .ba-product-bundle .ba-info-wrapper{
    width: 60%;
    display: inline-block;
    float: left;
    padding-left:10px;
  }

  .ba-product-bundle .ba-info-wrapper a{
    text-decoration:none;
  }

  .ba-product-bundle .ba-info-wrapper select.ba-variants{
    width:100%;
  }


}

.ba-product-bundle .ba-price {
  color: #8C0000;
}
.ba-product-bundle .bundle-total {
  color: #8C1919;
}

.ba-product-bundle .bundle-total button {
  width: 100%;
}
.ba-product-bundle button .top-button {
  border-bottom: 0px;
}

@media (max-width: 650px) {
  .bundle-name {
    display: inline-block !important;
  }
  .ba-eqs {
    width: 100% !important;
  }
  .bundle-name {
    padding-top: 10px !important;
  }
  .bundle-total button {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block;
  }
}
.bundle-total button {
  color: #fff;
  margin: -10px 0 -10px;
  width: 100%;
  border: none;
  text-decoration: none;
  font-size: 100%;
  font-family: inherit;
  text-transform: uppercase;
  font-weight: 500;
  padding: 10px;
  height:100%;
}

.with-total.ba-product-bundle .bundle-total button.add-booster-bundle {
  width: 70%;
}

.ba-product-bundle button .top-button {
  border-bottom: 0px;
}

@media (max-width: 650px) {
  .bundle-name {
    display: inline-block !important;
  }
  .ba-eqs {
    width: 100% !important;
  }
  .bundle-name {
    padding-top: 10px !important;
  }
  .bundle-total button {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block;
  }
  .with-total.ba-product-bundle .bundle-total button.add-booster-bundle {
    width: 100%;
    margin-top:10px;
  }

}


.dp-popup div, .dp-popup span,
.dp-popup h1, .dp-popup h2, .dp-popup h3, .dp-popup h4, .dp-popup h5, .dp-popup h6,
.dp-popup p, .dp-popup a, .dp-popup img, .dp-popup b, .dp-popup u, .dp-popup i,
.dp-popup ol, .dp-popup ul, .dp-popup li,
.dp-popup form, .dp-popup label, .dp-popup table, .dp-popup tbody, .dp-popup tfoot,
.dp-popup thead, .dp-popup tr, .dp-popup th, .dp-popup td{
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  text-transform: none;
}

.dp-popup body {
  line-height: 1;
}
.dp-popup ol, .dp-popup ul {
  list-style: none;
}
.dp-popup table {
  border-collapse: collapse;
  border-spacing: 0;
}

.blocker {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  width: 100%; height: 100%;
  overflow: auto;
  z-index: 99999999;
  padding: 20px;
  box-sizing: border-box;
  background-color: rgb(0,0,0);
  background-color: rgba(0,0,0,0.75);
  text-align: center;
}
.blocker:before{
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.05em;
}
.blocker.behind {
  background-color: transparent;
}
.dp-popup-dpModal {
  display: inline-block;
  min-width: 400px;
  vertical-align: middle;
  position: relative;
  z-index: 99999999;
  max-width: 600px;
  background: #fff;
  padding: 30px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -o-border-radius: 8px;
  -ms-border-radius: 8px;
  border-radius: 8px;
  -webkit-box-shadow: 0 0 10px #000;
  -moz-box-shadow: 0 0 10px #000;
  -o-box-shadow: 0 0 10px #000;
  -ms-box-shadow: 0 0 10px #000;
  box-shadow: 0 0 10px #000;
  text-align: center;
  text-transform: none;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
  -moz-transition: background-color 0.15s linear;
  -webkit-transition: background-color 0.15s linear;
  -o-transition: background-color 0.15s linear;
  transition: background-color 0.15s cubic-bezier(0.785, 0.135, 0.150, 0.860);
}

.dp-popup-dpModal a {
  background-color: transparent;
}
.dp-popup-dpModal a:active,
.dp-popup-dpModal a:hover {
  outline: 0;
}

.dp-popup-dpModal hr {
  height: 0;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eeeeee;
}

.dp-popup-dpModal button,
.dp-popup-dpModal input,
.dp-popup-dpModal optgroup,
.dp-popup-dpModal select,
.dp-popup-dpModal textarea {
  color: inherit;
  font: inherit;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}


.dp-popup-dpModal button {
  overflow: visible;
}
.dp-popup-dpModal button,
.dp-popup-dpModal select {
  text-transform: none;
}
.dp-popup-dpModal button {
  -webkit-appearance: button;
  cursor: pointer;
}
.dp-popup-dpModal button::-moz-focus-inner,
.dp-popup-dpModal input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
.dp-popup-dpModal input {
  line-height: normal;
}
.dp-popup-dpModal input[type='number']::-webkit-inner-spin-button,
.dp-popup-dpModal input[type='number']::-webkit-outer-spin-button {
  height: auto;
}

.dp-popup-dpModal body.fadein {
  background: rgba(0, 0, 0, 0.65);
}

#dpModal-container{
  width:auto;
}

.dp-popup-dpModal #popup-dpModal-container {
  background: white;
  padding: 12px 18px 40px 18px;
}

@media only screen and (min-width:500px) {
  .dp-popup-dpModal #popup-dpModal-container {
    border-radius: 5px;
    padding: 30px 40px;
  }
}

@media only screen and (min-width:992px) {
  .dp-popup-dpModal #popup-dpModal-container {
    margin-top: 140px;
  }
}

.dp-popup-dpModal .fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.dp-popup-dpModal .fade.in {
  opacity: 1;
}

/* only the stuff we need added here */

.dp-popup-dpModal h2 {
  font-size: 24px;
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}

.dp-popup-dpModal h3 {
  font-family: inherit;
  font-weight: normal;
  line-height: 1.1;
  color: inherit;
  font-size: 18px;
  margin-top: 10px;
  margin-bottom: 20px;
  font-weight:500;
}

.dp-popup-dpModal p.body-text {
  font-size: 20;
  margin-top: 40px;
  margin-bottom: 10px;
}

.dp-popup-dpModal .form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 5px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
  -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}

.dp-popup-dpModal .input-lg {
  height: 46px;
  padding: 10px 16px;
  line-height: 1.3333333;
  border-radius: 6px;
}
.dp-popup-dpModal select.input-lg {
  height: 46px;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
  .dp-popup-dpModal select:focus,
  .dp-popup-dpModal textarea:focus,
  .dp-popup-dpModal input:focus {
    font-size: 16px;
    background: #eee;
  }
}


.dp-popup-dpModal .form-group {
  margin-bottom: 15px;
}

.dp-popup-dpModal .btn {
  display: inline-block;
  padding: 8px 12px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.42857143;
  text-align: center;
  vertical-align: middle;
  letter-spacing: 1px;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
}

.dp-popup-dpModal .btn-success {
  width: 100%;
  color: #ffffff;
  background-color: #4ed14e;
}

.dp-popup-dpModal .btn-lg {
  line-height: 24px;
  font-size: 15px;
  padding:14px;
  line-height: 1.3333333;
}

.dp-popup-dpModal .close {
  -webkit-appearance: none;
  padding: 0;
  cursor: pointer;
  background: 0 0;
  border: 0;
  text-align:center;
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
}

.dp-popup-dpModal form{
  margin-top:10px;
}

.dp-popup-dpModal .dpModal-content .close {
  font-size: 30px;
}
.dp-popup-dpModal .dpModal-backdrop.in {
  filter: alpha(opacity=65);
  opacity: .65;
}

.dp-popup-dpModal .completed_message {
  display: none;
}
.dp-popup-dpModal .complete .completed_message {
  display: block;
}

.dp-popup-dpModal .single-variant{
  display:none;
}

.dp-popup-dpModal div.footer{
  margin-top:20px;
}

.dp-popup-dpModal div.footer p{
  color: #b3b3b3;
  font-size:12px;
}

.dp-popup-dpModal div.no-thanks{
  padding-top:20px;
}

.dp-popup-dpModal div.no-thanks a{
  color: #aaa;
  font-size: 100%;
}

@media (min-width: 0px) {
  .dp-popup-dpModal {
    min-width:0px;
  }

}

@media (min-width: 768px) {
  .dp-popup-dpModal {
    min-width:600px;
  }

}

.dp-popup-dpModal img{
  vertical-align: middle;
  max-width: 100%;
}

.dp-popup-dpModal img.single{
  margin-right: 20px;
  margin-left: 0px;
  display: inline-block;
  padding-right: 20px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}


#upsell-minimized-button{
  background-color:#44c767;

  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  -moz-border-top-left-radius: 8px;
  -moz-border-top-right-radius: 8px;
  -webkit-border-top-left-radius: 8px;
  -webkit-border-top-right-radius: 8px;

  /*border:1px solid #18ab29;*/

  display:inline-block;
  cursor:pointer;

  color:#ffffff;

  /*font-family:Arial;*/

  padding:10px 16px;
  text-decoration:none;

  background: #44c767;
  color: #ffffff;
  font-size: 16px;

  -webkit-transform: rotate(90deg);
  -webkit-transform-origin: left bottom;
  -moz-transform: rotate(90deg);
  -moz-transform-origin: left bottom;
  -ms-transform: rotate(90deg);
  -ms-transform-origin: left bottom;
  -o-transform: rotate(90deg);
  -o-transform-origin: left bottom;
  transform: rotate(90deg);
  left: 0px;
  top: 100px;
  transform-origin: left bottom;

  white-space: nowrap;
  position: fixed;
}

#upsell-minimized-button:hover {
  /*background-color:#5cbf2a;*/
}


.dp-popup-dpModal a.close-dpModal {
  position: absolute;
  top: -12.5px;
  right: -12.5px;
  display: block;
  width: 30px;
  height: 30px;
  text-indent: -9999px;
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAANjr9RwUqgAAACBjSFJNAABtmAAAc44AAPJxAACDbAAAg7sAANTIAAAx7AAAGbyeiMU/AAAG7ElEQVR42mJkwA8YoZjBwcGB6fPnz4w/fvxg/PnzJ2N6ejoLFxcX47Rp036B5Dk4OP7z8vL+P3DgwD+o3v9QjBUABBALHguZoJhZXV2dVUNDgxNIcwEtZnn27Nl/ZmZmQRYWFmag5c90dHQY5OXl/z98+PDn1atXv79+/foPUN9fIP4HxRgOAAggRhyWMoOwqKgoq6GhIZe3t7eYrq6uHBDb8/Pz27Gysloga/jz588FYGicPn/+/OapU6deOnXq1GdgqPwCOuA31AF/0S0HCCB0xAQNBU4FBQWB0NBQublz59oADV37Hw28ePHi74MHD/6ii3/8+HEFMGQUgQ6WEhQU5AeZBTWTCdkigABC9ylIAZeMjIxQTEyMysaNG/3+/v37AGTgr1+//s2cOfOXm5vbN6Caz8jY1NT0a29v76/v37//g6q9sHfv3khjY2M5YAgJgsyEmg0PYYAAQreUk4+PT8jd3V1l1apVgUAzfoIM2rlz5x9gHH5BtxAdA9PB1zNnzvyB+R6oLxoopgC1nBPZcoAAgiFQnLIDMb+enp5iV1eXBzDeHoI0z58//xcwIX0mZCkMg9S2trb+hFk+ffr0QCkpKVmQ2VA7QHYxAgQQzLesQMwjIiIilZWVZfPu3bstMJ+SYikyBmUzkBnA9HEMyNcCYgmQHVC7mAACCJagOEBBbGdnp7lgwYJEkIavX7/+BcY1SvAaGRl9tba2xohjMTGxL8nJyT+AWQsuxsbG9vnp06e/QWYdPHiwHmiWKlBcCGQXyNcAAQSzmBuoSQqYim3u37+/EKR48uTJv5ANB+bVr7Dga2xs/AkTV1JS+gq0AJyoQIkPWU9aWtoPkPibN2/2A/l6QCwJ9TULQADB4hcY//xKXl5eHt++fbsAUmxhYYHiM1DiAsr9R7ZcVVUVbikIdHd3/0TWIyws/AWYVsByAgICdkAxRSAWAGI2gACClV7C4uLiOv7+/lEgRZ8+ffqLLd6ABck3ZMuB6uCWrlu37je29HDx4kVwQisvL88FFqkaQDERUHADBBAomBl5eHiYgQmLE1hSgQQZgIUD1lJm69atf4HR8R1YKoH5QIPAWWP9+vV/gOI/gHkeQw+wGAXTwAJJ5t+/f/BUDRBA4NIEKMDMyMjICtQIiniG379/4yza7t69+//Lly8oDrty5co/bJaCAEwcZCkwwTJDLWYCCCCwxcDgY3z16hXDnTt3voP4EhISWA0BFgZMwNqHExh3jMiG1tbWsgHjnA2bHmAeBtdWwOL1MycnJ7wAAQggBmi+kgIW/OaKiorJwOLuFShO0LMSMPF9AUYBSpz6+vqixHlOTs4P9MIEWHaDsxSwYMoE2mEGFJcG5SKAAGJCqjv/AbPUn8ePH98ACQQHB6NUmZqamkzABIgSp5s3bwbHORCA1QDLAWZkPc7OzszA8oHl5cuXVy5duvQBGIXwWgoggGA+FgO6xkBNTS28r69vDrT2+Y1cIMDyJchX6KkXVEmAshd6KB06dAic94EO3AzkBwGxPhCLg8ptgACCZyeQp9jZ2b2AmsuAefM8tnxJCk5ISPgOLTKfAdNEOVDMA2QHLDsBBBC8AAFlbmCLwlZISCg5JSVlJizeQAaQaimoWAUFK0g/sGGwHiiWCMS2yAUIQAAxI7c4gEmeFZi4OJ48ecLMzc39CRiEmgEBASxA/QzA8vYvAxEgNjaWZc2aNezAsprp2LFjp4FpZRdQ+AkQvwLij0AMSoC/AQIIXklAC3AVUBoBxmE8sPXQAiyvN8J8fuPGjR/h4eHf0eMdhkENhOPHj8OT+NGjR88BxZuBOA5kJtRseCUBEECMSI0AdmgBDooDaaDl8sASTSkyMlKzpqZGU1paGlS7MABLrX83b978A6zwwakTmE0YgIkSnHpBfGCV+gxYh98qKSk5CeTeAxVeQPwUiN8AMSjxgdLNX4AAYkRqCLBAXcMHtVwSaLkMMMHJAvOq9IQJE9R8fHxElJWV1bEF8aNHj+7t27fvLTDlXwXGLyhoH0OD+DnU0k/QYAa1QP8BBBAjWsuSFWo5LzRYxKFYAljqiAHzqxCwIBEwMTERBdZeoOYMA7Bl+RFYEbwB5oS3IA9D4/IFEL+E4nfQ6IDFLTgvAwQQI5ZmLRtSsINSuyA0uwlBUyQPMPWD20/AKo8ByP4DTJTfgRgUjB+gFoEc8R6amGDB+wu5mQsQQIxYmrdMUJ+zQTM6NzQEeKGO4UJqOzFADQMZ/A1qCSzBfQXi71ALfyM17sEAIIAY8fQiWKAYFgIwzIbWTv4HjbdfUAf8RPLhH1icojfoAQKIEU8bG9kRyF0aRiz6YP0k5C4LsmUY9TtAADEyEA+IVfufGEUAAQYABejinPr4dLEAAAAASUVORK5CYII=') no-repeat 0 0;
}


.dp-popup .just-added{
  width:100%;
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
}

.dp-popup .multiple-products-true div{
  display:block;
  float:left;
}

.dp-popup .multiple-products-false div{
  display:block;
}

.dp-popup .multiple-products-false div.product-container{
  max-width:350px;
  width:100%;
  margin-left:auto;
  margin-right:auto;
}

.dp-popup .multiple-products-false .image{
  width:100%;
}

.dp-popup .multiple-products-true .image{
  width:100px;
}

.dp-popup .multiple-products-false .image img{
  max-width: 150px;
  max-height:150px;
}

.dp-popup .multiple-products-true .image img{
  max-width: 100px;
  max-height:100px;
}

.dp-popup .multiple-products-false .details{
  width:100%;
  text-align:center;
  font-size:14px;
  padding-left: 15px;
  padding-right: 15px;
  padding-top:20px;
}

.dp-popup .multiple-products-true .details{
  width:60%;
  text-align:left;
  font-size:14px;
  padding-left: 15px;
  padding-right: 15px;
}

.dp-popup .multiple-products-false .actions{
  width:100%;
  text-align:center;
  padding-top:20px;
}

.dp-popup .multiple-products-true .actions{
  vertical-align:middle;
  max-width: 116px;
  width:100%;
}

.dp-popup .other-upsells{
  width:100%;
}

.dp-popup .product-container{
  width:100%;
  padding-bottom: 10px;
  padding-top:10px;
}

.dp-popup .product-container:not(first){
  border-top: 1px #eee solid;
}

.dp-popup .product-container select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-position: right center;
  background-image: url(//cdn.shopify.com/s/files/1/0194/1736/6592/t/1/assets/ico-select.svg?3069916476021763728);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: auto;
  padding-right: 28px;
  text-indent: 0.01px;
  width:100%;
  margin-bottom:10px;
  font-size:12px;
  display:block;
  padding-left: 10px;
}

.dp-popup .product-container .variant-wrapper{
  float:none;
}

.dp-popup .no-thanks{
  text-align: center;
  width: 100%;
}

.dp-popup-dpModal .ba-image{
  width:100%;
}

.dp-popup-dpModal .upsell-total{
  width:100%;
  padding-top:10px;
}

.dp-popup-dpModal button.add-upsells{
  color: #fff;;
  font-size: 100%;
  font-size: 14px;

  background-color: #a1c65b;;
  display: inline-block;
  padding: 8px 12px;
  margin-bottom: 0;
  line-height: 1.42857143;
  text-align: center;
  vertical-align: middle;
  letter-spacing: 1px;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-weight:500;
  width:100%;
  box-shadow: none;
}



.ba-price .ba-regular{
  width:100%;
}

.product-price .ba-sale{
  display:block;
  width:100%;
}

.dp-popup-dpModal .product-price{
  padding-top: 10px;
  font-weight: bold;
}

.dp-popup-dpModal #one-product .product-price{
  font-size: 22px;
}

.dp-popup-dpModal .multiple-products-true .product-price{
  font-size: 16px;
}

.dp-popup-dpModal #one-product .product-price s{
  vertical-align:middle;
  font-size: 16px;
}

.dp-popup-dpModal .product-price .ba-sale s{
  font-weight: normal;
  color: #000;
  opacity: 1;
  padding-left: 5px;
  font-size: 13px;
}

.discount-applies-false .product-price .ba-sale,.discount-applies- .product-price .ba-sale{
  color: #000;
}

.discount-applies-true .ba-price .ba-sale{
  text-decoration: line-through;
  width:100%;
}

.discount-applies-true .product-price .ba-sale{
  display:block;
  width:100%;
  color: #8C0000;
}


#dpModal-container .product-title{
  font-weight:400;
  width:100%;
}



.dp-popup-dpModal .upsell-title{
  font-family: inherit;
  font-weight: normal;
  line-height: 1.1;
  color: inherit;
  font-size: 18px;
  margin-top: 10px;
  margin-bottom: 20px;
  font-weight: 500;
  text-align:center;
}


@media (max-width: 650px) {
  .dp-popup .multiple-products-true .details {
    width: 60%;
    padding-left: 20px;
  }

  .dp-popup .multiple-products-true .actions {
    max-width: inherit;
    width: 100%;
    padding-top: 15px;
  }

  .dp-popup .product-container{
    padding-bottom: 20px;
    padding-top:20px;
  }


}

.ba-bundle-wrapper .booster-variants-container select.ba-variants{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-position: right center;
  background-image: url(//cdn.shopify.com/s/files/1/0194/1736/6592/t/1/assets/ico-select.svg?3069916476021763728);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: auto;
  padding-right: 28px;
  text-indent: 0.01px;
  width:100%;
  margin-bottom:10px;
  font-size:12px;
  display:block;
  padding-left: 10px;
}

.ba-bundle-wrapper .ba-product-bundle button.add-booster-bundle{
  cursor: pointer;
  background-color: #00c1ff;
  background-image: none;
  color: #fff;
  margin: -10px 0 -10px;
  width: 100%;
  border: none;
  text-decoration: none;
  font-size: 13px;
  font-family: inherit;
  text-transform: uppercase;
  font-weight: 500;
  padding: 10px;
}

.ba-product-bundle .bundle-total button span {
  font-size: 13px;
}






#dpModal-container .no_touch
{
  cursor: default;
  pointer-events: none;
}

#dpModal-container .no_touch:hover
{
  opacity: 1;
}

.dp-popup-dpModal .upsell-title,.dp-popup-dpModal .product-title,.dp-popup-dpModal .product-price .ba-sale,.dp-popup-dpModal div.no-thanks a
{

}



#booster-discount-item:empty,#booster-summary-item:empty{
  display: none;
}





</style>

<script type="text/javascript">
  function getUrlParam(paramName) {
    var params = {};
    window.location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(str,key,value) {
      params[key] = value;
    });
    return params[paramName];
  }
  var keepOfferTestToken = localStorage.getItem('ba_keep_tk')
  //Register first test offer parameter
  if (document.location.search.indexOf("buyx_return_url") != -1){
    localStorage.setItem('bd_first_test_offer_return_url',getUrlParam('buyx_return_url'));
    localStorage.setItem('bd_first_test_offer_token',getUrlParam('ba_test_offer_token'));
  }
  else if (!keepOfferTestToken) {
    localStorage.removeItem('bd_first_test_offer_token');
    localStorage.removeItem('bd_first_test_offer_return_url');
  }
  localStorage.removeItem('ba_keep_tk')

  window.booster = window.booster || {};
  baCheckoutSelector  = "input[name='checkout'], button[name='checkout'], [href$='checkout'], input[name='goto_pp'], button[name='goto_pp'], input[name='goto_gc'], button[name='goto_gc'], .additional-checkout-button, .google-wallet-button-holder, .amazon-payments-pay-button";
  baAddToCartSelector = "#AddToCart-product-template, .product-atc-btn, .product-menu-button.product-menu-button-atc, .button-cart, .product-add, .add-to-cart input, .btn-addtocart, [name=add]";
  baPlusImageUrl      = "//cdn.shopify.com/s/files/1/0194/1736/6592/t/1/assets/ba-plus_38x.png?18337618242689679898";

  

  


  

  
    window.booster.cart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0};
    ["requires_shipping", "total_discount", "item_count", "total_weight"].map(function(a) {
      delete window.booster.cart[a]
    })

  

    window.booster.cart.items = []

    

  
  window.booster.ba_page = "";
  window.booster.discount_method = "draft";
  window.booster.api = {};

  
    
      window.booster.money_format = "${{amount}}";
    
  


  //baHandlebars
!function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b():"function"==typeof define&&define.amd?define([],b):"object"==typeof exports?exports.baHandlebars=b():a.baHandlebars=b()}(this,function(){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){"use strict";function d(){var a=r();return a.compile=function(b,c){return k.compile(b,c,a)},a.precompile=function(b,c){return k.precompile(b,c,a)},a.AST=i["default"],a.Compiler=k.Compiler,a.JavaScriptCompiler=m["default"],a.Parser=j.parser,a.parse=j.parse,a}var e=c(1)["default"];b.__esModule=!0;var f=c(2),g=e(f),h=c(35),i=e(h),j=c(36),k=c(41),l=c(42),m=e(l),n=c(39),o=e(n),p=c(34),q=e(p),r=g["default"].create,s=d();s.create=d,q["default"](s),s.Visitor=o["default"],s["default"]=s,b["default"]=s,a.exports=b["default"]},function(a,b){"use strict";b["default"]=function(a){return a&&a.__esModule?a:{"default":a}},b.__esModule=!0},function(a,b,c){"use strict";function d(){var a=new h.baHandlebarsEnvironment;return n.extend(a,h),a.SafeString=j["default"],a.Exception=l["default"],a.Utils=n,a.escapeExpression=n.escapeExpression,a.VM=p,a.template=function(b){return p.template(b,a)},a}var e=c(3)["default"],f=c(1)["default"];b.__esModule=!0;var g=c(4),h=e(g),i=c(21),j=f(i),k=c(6),l=f(k),m=c(5),n=e(m),o=c(22),p=e(o),q=c(34),r=f(q),s=d();s.create=d,r["default"](s),s["default"]=s,b["default"]=s,a.exports=b["default"]},function(a,b){"use strict";b["default"]=function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b},b.__esModule=!0},function(a,b,c){"use strict";function d(a,b,c){this.helpers=a||{},this.partials=b||{},this.decorators=c||{},i.registerDefaultHelpers(this),j.registerDefaultDecorators(this)}var e=c(1)["default"];b.__esModule=!0,b.baHandlebarsEnvironment=d;var f=c(5),g=c(6),h=e(g),i=c(10),j=c(18),k=c(20),l=e(k),m="4.0.8";b.VERSION=m;var n=7;b.COMPILER_REVISION=n;var o={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0"};b.REVISION_CHANGES=o;var p="[object Object]";d.prototype={constructor:d,logger:l["default"],log:l["default"].log,registerHelper:function(a,b){if(f.toString.call(a)===p){if(b)throw new h["default"]("Arg not supported with multiple helpers");f.extend(this.helpers,a)}else this.helpers[a]=b},unregisterHelper:function(a){delete this.helpers[a]},registerPartial:function(a,b){if(f.toString.call(a)===p)f.extend(this.partials,a);else{if("undefined"==typeof b)throw new h["default"]('Attempting to register a partial called "'+a+'" as undefined');this.partials[a]=b}},unregisterPartial:function(a){delete this.partials[a]},registerDecorator:function(a,b){if(f.toString.call(a)===p){if(b)throw new h["default"]("Arg not supported with multiple decorators");f.extend(this.decorators,a)}else this.decorators[a]=b},unregisterDecorator:function(a){delete this.decorators[a]}};var q=l["default"].log;b.log=q,b.createFrame=f.createFrame,b.logger=l["default"]},function(a,b){"use strict";function c(a){return k[a]}function d(a){for(var b=1;b<arguments.length;b++)for(var c in arguments[b])Object.prototype.hasOwnProperty.call(arguments[b],c)&&(a[c]=arguments[b][c]);return a}function e(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1}function f(a){if("string"!=typeof a){if(a&&a.toHTML)return a.toHTML();if(null==a)return"";if(!a)return a+"";a=""+a}return m.test(a)?a.replace(l,c):a}function g(a){return!a&&0!==a||!(!p(a)||0!==a.length)}function h(a){var b=d({},a);return b._parent=a,b}function i(a,b){return a.path=b,a}function j(a,b){return(a?a+".":"")+b}b.__esModule=!0,b.extend=d,b.indexOf=e,b.escapeExpression=f,b.isEmpty=g,b.createFrame=h,b.blockParams=i,b.appendContextPath=j;var k={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},l=/[&<>"'`=]/g,m=/[&<>"'`=]/,n=Object.prototype.toString;b.toString=n;var o=function(a){return"function"==typeof a};o(/x/)&&(b.isFunction=o=function(a){return"function"==typeof a&&"[object Function]"===n.call(a)}),b.isFunction=o;var p=Array.isArray||function(a){return!(!a||"object"!=typeof a)&&"[object Array]"===n.call(a)};b.isArray=p},function(a,b,c){"use strict";function d(a,b){var c=b&&b.loc,g=void 0,h=void 0;c&&(g=c.start.line,h=c.start.column,a+=" - "+g+":"+h);for(var i=Error.prototype.constructor.call(this,a),j=0;j<f.length;j++)this[f[j]]=i[f[j]];Error.captureStackTrace&&Error.captureStackTrace(this,d);try{c&&(this.lineNumber=g,e?Object.defineProperty(this,"column",{value:h,enumerable:!0}):this.column=h)}catch(k){}}var e=c(7)["default"];b.__esModule=!0;var f=["description","fileName","lineNumber","message","name","number","stack"];d.prototype=new Error,b["default"]=d,a.exports=b["default"]},function(a,b,c){a.exports={"default":c(8),__esModule:!0}},function(a,b,c){var d=c(9);a.exports=function(a,b,c){return d.setDesc(a,b,c)}},function(a,b){var c=Object;a.exports={create:c.create,getProto:c.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:c.getOwnPropertyDescriptor,setDesc:c.defineProperty,setDescs:c.defineProperties,getKeys:c.keys,getNames:c.getOwnPropertyNames,getSymbols:c.getOwnPropertySymbols,each:[].forEach}},function(a,b,c){"use strict";function d(a){g["default"](a),i["default"](a),k["default"](a),m["default"](a),o["default"](a),q["default"](a),s["default"](a)}var e=c(1)["default"];b.__esModule=!0,b.registerDefaultHelpers=d;var f=c(11),g=e(f),h=c(12),i=e(h),j=c(13),k=e(j),l=c(14),m=e(l),n=c(15),o=e(n),p=c(16),q=e(p),r=c(17),s=e(r)},function(a,b,c){"use strict";b.__esModule=!0;var d=c(5);b["default"]=function(a){a.registerHelper("blockHelperMissing",function(b,c){var e=c.inverse,f=c.fn;if(b===!0)return f(this);if(b===!1||null==b)return e(this);if(d.isArray(b))return b.length>0?(c.ids&&(c.ids=[c.name]),a.helpers.each(b,c)):e(this);if(c.data&&c.ids){var g=d.createFrame(c.data);g.contextPath=d.appendContextPath(c.data.contextPath,c.name),c={data:g}}return f(b,c)})},a.exports=b["default"]},function(a,b,c){"use strict";var d=c(1)["default"];b.__esModule=!0;var e=c(5),f=c(6),g=d(f);b["default"]=function(a){a.registerHelper("each",function(a,b){function c(b,c,f){j&&(j.key=b,j.index=c,j.first=0===c,j.last=!!f,k&&(j.contextPath=k+b)),i+=d(a[b],{data:j,blockParams:e.blockParams([a[b],b],[k+b,null])})}if(!b)throw new g["default"]("Must pass iterator to #each");var d=b.fn,f=b.inverse,h=0,i="",j=void 0,k=void 0;if(b.data&&b.ids&&(k=e.appendContextPath(b.data.contextPath,b.ids[0])+"."),e.isFunction(a)&&(a=a.call(this)),b.data&&(j=e.createFrame(b.data)),a&&"object"==typeof a)if(e.isArray(a))for(var l=a.length;h<l;h++)h in a&&c(h,h,h===a.length-1);else{var m=void 0;for(var n in a)a.hasOwnProperty(n)&&(void 0!==m&&c(m,h-1),m=n,h++);void 0!==m&&c(m,h-1,!0)}return 0===h&&(i=f(this)),i})},a.exports=b["default"]},function(a,b,c){"use strict";var d=c(1)["default"];b.__esModule=!0;var e=c(6),f=d(e);b["default"]=function(a){a.registerHelper("helperMissing",function(){if(1!==arguments.length)throw new f["default"]('Missing helper: "'+arguments[arguments.length-1].name+'"')})},a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=c(5);b["default"]=function(a){a.registerHelper("if",function(a,b){return d.isFunction(a)&&(a=a.call(this)),!b.hash.includeZero&&!a||d.isEmpty(a)?b.inverse(this):b.fn(this)}),a.registerHelper("unless",function(b,c){return a.helpers["if"].call(this,b,{fn:c.inverse,inverse:c.fn,hash:c.hash})})},a.exports=b["default"]},function(a,b){"use strict";b.__esModule=!0,b["default"]=function(a){a.registerHelper("log",function(){for(var b=[void 0],c=arguments[arguments.length-1],d=0;d<arguments.length-1;d++)b.push(arguments[d]);var e=1;null!=c.hash.level?e=c.hash.level:c.data&&null!=c.data.level&&(e=c.data.level),b[0]=e,a.log.apply(a,b)})},a.exports=b["default"]},function(a,b){"use strict";b.__esModule=!0,b["default"]=function(a){a.registerHelper("lookup",function(a,b){return a&&a[b]})},a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=c(5);b["default"]=function(a){a.registerHelper("with",function(a,b){d.isFunction(a)&&(a=a.call(this));var c=b.fn;if(d.isEmpty(a))return b.inverse(this);var e=b.data;return b.data&&b.ids&&(e=d.createFrame(b.data),e.contextPath=d.appendContextPath(b.data.contextPath,b.ids[0])),c(a,{data:e,blockParams:d.blockParams([a],[e&&e.contextPath])})})},a.exports=b["default"]},function(a,b,c){"use strict";function d(a){g["default"](a)}var e=c(1)["default"];b.__esModule=!0,b.registerDefaultDecorators=d;var f=c(19),g=e(f)},function(a,b,c){"use strict";b.__esModule=!0;var d=c(5);b["default"]=function(a){a.registerDecorator("inline",function(a,b,c,e){var f=a;return b.partials||(b.partials={},f=function(e,f){var g=c.partials;c.partials=d.extend({},g,b.partials);var h=a(e,f);return c.partials=g,h}),b.partials[e.args[0]]=e.fn,f})},a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=c(5),e={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(a){if("string"==typeof a){var b=d.indexOf(e.methodMap,a.toLowerCase());a=b>=0?b:parseInt(a,10)}return a},log:function(a){if(a=e.lookupLevel(a),"undefined"!=typeof console&&e.lookupLevel(e.level)<=a){var b=e.methodMap[a];console[b]||(b="log");for(var c=arguments.length,d=Array(c>1?c-1:0),f=1;f<c;f++)d[f-1]=arguments[f];console[b].apply(console,d)}}};b["default"]=e,a.exports=b["default"]},function(a,b){"use strict";function c(a){this.string=a}b.__esModule=!0,c.prototype.toString=c.prototype.toHTML=function(){return""+this.string},b["default"]=c,a.exports=b["default"]},function(a,b,c){"use strict";function d(a){var b=a&&a[0]||1,c=s.COMPILER_REVISION;if(b!==c){if(b<c){var d=s.REVISION_CHANGES[c],e=s.REVISION_CHANGES[b];throw new r["default"]("Template was precompiled with an older version of baHandlebars than the current runtime. Please update your precompiler to a newer version ("+d+") or downgrade your runtime to an older version ("+e+").")}throw new r["default"]("Template was precompiled with a newer version of baHandlebars than the current runtime. Please update your runtime to a newer version ("+a[1]+").")}}function e(a,b){function c(c,d,e){e.hash&&(d=p.extend({},d,e.hash),e.ids&&(e.ids[0]=!0)),c=b.VM.resolvePartial.call(this,c,d,e);var f=b.VM.invokePartial.call(this,c,d,e);if(null==f&&b.compile&&(e.partials[e.name]=b.compile(c,a.compilerOptions,b),f=e.partials[e.name](d,e)),null!=f){if(e.indent){for(var g=f.split("\n"),h=0,i=g.length;h<i&&(g[h]||h+1!==i);h++)g[h]=e.indent+g[h];f=g.join("\n")}return f}throw new r["default"]("The partial "+e.name+" could not be compiled when running in runtime-only mode")}function d(b){function c(b){return""+a.main(e,b,e.helpers,e.partials,g,i,h)}var f=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],g=f.data;d._setup(f),!f.partial&&a.useData&&(g=j(b,g));var h=void 0,i=a.useBlockParams?[]:void 0;return a.useDepths&&(h=f.depths?b!=f.depths[0]?[b].concat(f.depths):f.depths:[b]),(c=k(a.main,c,e,f.depths||[],g,i))(b,f)}if(!b)throw new r["default"]("No environment passed to template");if(!a||!a.main)throw new r["default"]("Unknown template object: "+typeof a);a.main.decorator=a.main_d,b.VM.checkRevision(a.compiler);var e={strict:function(a,b){if(!(b in a))throw new r["default"]('"'+b+'" not defined in '+a);return a[b]},lookup:function(a,b){for(var c=a.length,d=0;d<c;d++)if(a[d]&&null!=a[d][b])return a[d][b]},lambda:function(a,b){return"function"==typeof a?a.call(b):a},escapeExpression:p.escapeExpression,invokePartial:c,fn:function(b){var c=a[b];return c.decorator=a[b+"_d"],c},programs:[],program:function(a,b,c,d,e){var g=this.programs[a],h=this.fn(a);return b||e||d||c?g=f(this,a,h,b,c,d,e):g||(g=this.programs[a]=f(this,a,h)),g},data:function(a,b){for(;a&&b--;)a=a._parent;return a},merge:function(a,b){var c=a||b;return a&&b&&a!==b&&(c=p.extend({},b,a)),c},nullContext:l({}),noop:b.VM.noop,compilerInfo:a.compiler};return d.isTop=!0,d._setup=function(c){c.partial?(e.helpers=c.helpers,e.partials=c.partials,e.decorators=c.decorators):(e.helpers=e.merge(c.helpers,b.helpers),a.usePartial&&(e.partials=e.merge(c.partials,b.partials)),(a.usePartial||a.useDecorators)&&(e.decorators=e.merge(c.decorators,b.decorators)))},d._child=function(b,c,d,g){if(a.useBlockParams&&!d)throw new r["default"]("must pass block params");if(a.useDepths&&!g)throw new r["default"]("must pass parent depths");return f(e,b,a[b],c,0,d,g)},d}function f(a,b,c,d,e,f,g){function h(b){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],h=g;return!g||b==g[0]||b===a.nullContext&&null===g[0]||(h=[b].concat(g)),c(a,b,a.helpers,a.partials,e.data||d,f&&[e.blockParams].concat(f),h)}return h=k(c,h,a,g,d,f),h.program=b,h.depth=g?g.length:0,h.blockParams=e||0,h}function g(a,b,c){return a?a.call||c.name||(c.name=a,a=c.partials[a]):a="@partial-block"===c.name?c.data["partial-block"]:c.partials[c.name],a}function h(a,b,c){var d=c.data&&c.data["partial-block"];c.partial=!0,c.ids&&(c.data.contextPath=c.ids[0]||c.data.contextPath);var e=void 0;if(c.fn&&c.fn!==i&&!function(){c.data=s.createFrame(c.data);var a=c.fn;e=c.data["partial-block"]=function(b){var c=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return c.data=s.createFrame(c.data),c.data["partial-block"]=d,a(b,c)},a.partials&&(c.partials=p.extend({},c.partials,a.partials))}(),void 0===a&&e&&(a=e),void 0===a)throw new r["default"]("The partial "+c.name+" could not be found");if(a instanceof Function)return a(b,c)}function i(){return""}function j(a,b){return b&&"root"in b||(b=b?s.createFrame(b):{},b.root=a),b}function k(a,b,c,d,e,f){if(a.decorator){var g={};b=a.decorator(b,g,c,d&&d[0],e,f,d),p.extend(b,g)}return b}var l=c(23)["default"],m=c(3)["default"],n=c(1)["default"];b.__esModule=!0,b.checkRevision=d,b.template=e,b.wrapProgram=f,b.resolvePartial=g,b.invokePartial=h,b.noop=i;var o=c(5),p=m(o),q=c(6),r=n(q),s=c(4)},function(a,b,c){a.exports={"default":c(24),__esModule:!0}},function(a,b,c){c(25),a.exports=c(30).Object.seal},function(a,b,c){var d=c(26);c(27)("seal",function(a){return function(b){return a&&d(b)?a(b):b}})},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b,c){var d=c(28),e=c(30),f=c(33);a.exports=function(a,b){var c=(e.Object||{})[a]||Object[a],g={};g[a]=b(c),d(d.S+d.F*f(function(){c(1)}),"Object",g)}},function(a,b,c){var d=c(29),e=c(30),f=c(31),g="prototype",h=function(a,b,c){var i,j,k,l=a&h.F,m=a&h.G,n=a&h.S,o=a&h.P,p=a&h.B,q=a&h.W,r=m?e:e[b]||(e[b]={}),s=m?d:n?d[b]:(d[b]||{})[g];m&&(c=b);for(i in c)j=!l&&s&&i in s,j&&i in r||(k=j?s[i]:c[i],r[i]=m&&"function"!=typeof s[i]?c[i]:p&&j?f(k,d):q&&s[i]==k?function(a){var b=function(b){return this instanceof a?new a(b):a(b)};return b[g]=a[g],b}(k):o&&"function"==typeof k?f(Function.call,k):k,o&&((r[g]||(r[g]={}))[i]=k))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,a.exports=h},function(a,b){var c=a.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b){var c=a.exports={version:"1.2.6"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(32);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){try{return!!a()}catch(b){return!0}}},function(a,b){(function(c){"use strict";b.__esModule=!0,b["default"]=function(a){var b="undefined"!=typeof c?c:window,d=b.baHandlebars;a.noConflict=function(){return b.baHandlebars===a&&(b.baHandlebars=d),a}},a.exports=b["default"]}).call(b,function(){return this}())},function(a,b){"use strict";b.__esModule=!0;var c={helpers:{helperExpression:function(a){return"SubExpression"===a.type||("MustacheStatement"===a.type||"BlockStatement"===a.type)&&!!(a.params&&a.params.length||a.hash)},scopedId:function(a){return/^\.|this\b/.test(a.original)},simpleId:function(a){return 1===a.parts.length&&!c.helpers.scopedId(a)&&!a.depth}}};b["default"]=c,a.exports=b["default"]},function(a,b,c){"use strict";function d(a,b){if("Program"===a.type)return a;h["default"].yy=n,n.locInfo=function(a){return new n.SourceLocation(b&&b.srcName,a)};var c=new j["default"](b);return c.accept(h["default"].parse(a))}var e=c(1)["default"],f=c(3)["default"];b.__esModule=!0,b.parse=d;var g=c(37),h=e(g),i=c(38),j=e(i),k=c(40),l=f(k),m=c(5);b.parser=h["default"];var n={};m.extend(n,l)},function(a,b){"use strict";b.__esModule=!0;var c=function(){function a(){this.yy={}}var b={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition_plus0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,mustache_repetition0:49,mustache_option0:50,OPEN_UNESCAPED:51,mustache_repetition1:52,mustache_option1:53,CLOSE_UNESCAPED:54,OPEN_PARTIAL:55,partialName:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,param:63,sexpr:64,OPEN_SEXPR:65,sexpr_repetition0:66,sexpr_option0:67,CLOSE_SEXPR:68,hash:69,hash_repetition_plus0:70,hashSegment:71,ID:72,EQUALS:73,blockParams:74,OPEN_BLOCK_PARAMS:75,blockParams_repetition_plus0:76,CLOSE_BLOCK_PARAMS:77,path:78,dataName:79,STRING:80,NUMBER:81,BOOLEAN:82,UNDEFINED:83,NULL:84,DATA:85,pathSegments:86,SEP:87,attributeccept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,1],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],performAction:function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 1:return f[h-1];case 2:this.$=d.prepareProgram(f[h]);break;case 3:this.$=f[h];break;case 4:this.$=f[h];break;case 5:this.$=f[h];break;case 6:this.$=f[h];break;case 7:this.$=f[h];break;case 8:this.$=f[h];break;case 9:this.$={type:"CommentStatement",value:d.stripComment(f[h]),strip:d.stripFlags(f[h],f[h]),loc:d.locInfo(this._$)};break;case 10:this.$={type:"ContentStatement",original:f[h],value:f[h],loc:d.locInfo(this._$)};break;case 11:this.$=d.prepareRawBlock(f[h-2],f[h-1],f[h],this._$);break;case 12:this.$={path:f[h-3],params:f[h-2],hash:f[h-1]};break;case 13:this.$=d.prepareBlock(f[h-3],f[h-2],f[h-1],f[h],!1,this._$);break;case 14:this.$=d.prepareBlock(f[h-3],f[h-2],f[h-1],f[h],!0,this._$);break;case 15:this.$={open:f[h-5],path:f[h-4],params:f[h-3],hash:f[h-2],blockParams:f[h-1],strip:d.stripFlags(f[h-5],f[h])};break;case 16:this.$={path:f[h-4],params:f[h-3],hash:f[h-2],blockParams:f[h-1],strip:d.stripFlags(f[h-5],f[h])};break;case 17:this.$={path:f[h-4],params:f[h-3],hash:f[h-2],blockParams:f[h-1],strip:d.stripFlags(f[h-5],f[h])};break;case 18:this.$={strip:d.stripFlags(f[h-1],f[h-1]),program:f[h]};break;case 19:var i=d.prepareBlock(f[h-2],f[h-1],f[h],f[h],!1,this._$),j=d.prepareProgram([i],f[h-1].loc);j.chained=!0,this.$={strip:f[h-2].strip,program:j,chain:!0};break;case 20:this.$=f[h];break;case 21:this.$={path:f[h-1],strip:d.stripFlags(f[h-2],f[h])};break;case 22:this.$=d.prepareMustache(f[h-3],f[h-2],f[h-1],f[h-4],d.stripFlags(f[h-4],f[h]),this._$);break;case 23:this.$=d.prepareMustache(f[h-3],f[h-2],f[h-1],f[h-4],d.stripFlags(f[h-4],f[h]),this._$);break;case 24:this.$={type:"PartialStatement",name:f[h-3],params:f[h-2],hash:f[h-1],indent:"",strip:d.stripFlags(f[h-4],f[h]),loc:d.locInfo(this._$)};break;case 25:this.$=d.preparePartialBlock(f[h-2],f[h-1],f[h],this._$);break;case 26:this.$={path:f[h-3],params:f[h-2],hash:f[h-1],strip:d.stripFlags(f[h-4],f[h])};break;case 27:this.$=f[h];break;case 28:this.$=f[h];break;case 29:this.$={type:"SubExpression",path:f[h-3],params:f[h-2],hash:f[h-1],loc:d.locInfo(this._$)};break;case 30:this.$={type:"Hash",pairs:f[h],loc:d.locInfo(this._$)};break;case 31:this.$={type:"HashPair",key:d.id(f[h-2]),value:f[h],loc:d.locInfo(this._$)};break;case 32:this.$=d.id(f[h-1]);break;case 33:this.$=f[h];break;case 34:this.$=f[h];break;case 35:this.$={type:"StringLiteral",value:f[h],original:f[h],loc:d.locInfo(this._$)};break;case 36:this.$={type:"NumberLiteral",value:Number(f[h]),original:Number(f[h]),loc:d.locInfo(this._$)};break;case 37:this.$={type:"BooleanLiteral",value:"true"===f[h],original:"true"===f[h],loc:d.locInfo(this._$)};break;case 38:this.$={type:"UndefinedLiteral",original:void 0,value:void 0,loc:d.locInfo(this._$)};break;case 39:this.$={type:"NullLiteral",original:null,value:null,loc:d.locInfo(this._$)};break;case 40:this.$=f[h];break;case 41:this.$=f[h];break;case 42:this.$=d.preparePath(!0,f[h],this._$);break;case 43:this.$=d.preparePath(!1,f[h],this._$);break;case 44:f[h-2].push({part:d.id(f[h]),original:f[h],separator:f[h-1]}),this.$=f[h-2];break;case 45:this.$=[{part:d.id(f[h]),original:f[h]}];break;case 46:this.$=[];break;case 47:f[h-1].push(f[h]);break;case 48:this.$=[f[h]];break;case 49:f[h-1].push(f[h]);break;case 50:this.$=[];break;case 51:f[h-1].push(f[h]);break;case 58:this.$=[];break;case 59:f[h-1].push(f[h]);break;case 64:this.$=[];break;case 65:f[h-1].push(f[h]);break;case 70:this.$=[];break;case 71:f[h-1].push(f[h]);break;case 78:this.$=[];break;case 79:f[h-1].push(f[h]);break;case 82:this.$=[];break;case 83:f[h-1].push(f[h]);break;case 86:this.$=[];break;case 87:f[h-1].push(f[h]);break;case 90:this.$=[];break;case 91:f[h-1].push(f[h]);break;case 94:this.$=[];break;case 95:f[h-1].push(f[h]);break;case 98:this.$=[f[h]];break;case 99:f[h-1].push(f[h]);break;case 100:this.$=[f[h]];break;case 101:f[h-1].push(f[h])}},table:[{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{13:40,15:[1,20],17:39},{20:42,56:41,64:43,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:45,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:48,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:42,56:49,64:43,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:50,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,51]},{72:[1,35],86:52},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:53,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:54,38:56,39:[1,58],43:57,44:[1,59],45:55,47:[2,54]},{28:60,43:61,44:[1,59],47:[2,56]},{13:63,15:[1,20],18:[1,62]},{15:[2,48],18:[2,48]},{33:[2,86],57:64,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:65,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:66,47:[1,67]},{30:68,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:69,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:70,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:71,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:75,33:[2,80],50:72,63:73,64:76,65:[1,44],69:74,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,80]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,51]},{20:75,53:81,54:[2,84],63:82,64:76,65:[1,44],69:83,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:84,47:[1,67]},{47:[2,55]},{4:85,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:86,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:87,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:88,47:[1,67]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:75,33:[2,88],58:89,63:90,64:76,65:[1,44],69:91,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:92,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:93,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,31:94,33:[2,60],63:95,64:76,65:[1,44],69:96,70:77,71:78,72:[1,79],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,33:[2,66],36:97,63:98,64:76,65:[1,44],69:99,70:77,71:78,72:[1,79],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,22:100,23:[2,52],63:101,64:76,65:[1,44],69:102,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,33:[2,92],62:103,63:104,64:76,65:[1,44],69:105,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,106]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:107,72:[1,108],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,109],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,110]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:56,39:[1,58],43:57,44:[1,59],45:112,46:111,47:[2,76]},{33:[2,70],40:113,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,114]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],
        85:[2,87]},{33:[2,89]},{20:75,63:116,64:76,65:[1,44],67:115,68:[2,96],69:117,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,118]},{32:119,33:[2,62],74:120,75:[1,121]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:122,74:123,75:[1,121]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,124]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,125]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,109]},{20:75,63:126,64:76,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:75,33:[2,72],41:127,63:128,64:76,65:[1,44],69:129,70:77,71:78,72:[1,79],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,130]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,131]},{33:[2,63]},{72:[1,133],76:132},{33:[1,134]},{33:[2,69]},{15:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:135,74:136,75:[1,121]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,138],77:[1,137]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,139]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],55:[2,55],57:[2,20],61:[2,57],74:[2,81],83:[2,85],87:[2,18],91:[2,89],102:[2,53],105:[2,93],111:[2,19],112:[2,77],117:[2,97],120:[2,63],123:[2,69],124:[2,12],136:[2,75],137:[2,32]},parseError:function(a,b){throw new Error(a)},parse:function(a){function b(){var a;return a=c.lexer.lex()||1,"number"!=typeof a&&(a=c.symbols_[a]||a),a}var c=this,d=[0],e=[null],f=[],g=this.table,h="",i=0,j=0,k=0;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var l=this.lexer.yylloc;f.push(l);var m=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var n,o,p,q,r,s,t,u,v,w={};;){if(p=d[d.length-1],this.defaultActions[p]?q=this.defaultActions[p]:(null!==n&&"undefined"!=typeof n||(n=b()),q=g[p]&&g[p][n]),"undefined"==typeof q||!q.length||!q[0]){var x="";if(!k){v=[];for(s in g[p])this.terminals_[s]&&s>2&&v.push("'"+this.terminals_[s]+"'");x=this.lexer.showPosition?"Parse error on line "+(i+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[n]||n)+"'":"Parse error on line "+(i+1)+": Unexpected "+(1==n?"end of input":"'"+(this.terminals_[n]||n)+"'"),this.parseError(x,{text:this.lexer.match,token:this.terminals_[n]||n,line:this.lexer.yylineno,loc:l,expected:v})}}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+p+", token: "+n);switch(q[0]){case 1:d.push(n),e.push(this.lexer.yytext),f.push(this.lexer.yylloc),d.push(q[1]),n=null,o?(n=o,o=null):(j=this.lexer.yyleng,h=this.lexer.yytext,i=this.lexer.yylineno,l=this.lexer.yylloc,k>0&&k--);break;case 2:if(t=this.productions_[q[1]][1],w.$=e[e.length-t],w._$={first_line:f[f.length-(t||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(t||1)].first_column,last_column:f[f.length-1].last_column},m&&(w._$.range=[f[f.length-(t||1)].range[0],f[f.length-1].range[1]]),r=this.performAction.call(w,h,j,i,this.yy,q[1],e,f),"undefined"!=typeof r)return r;t&&(d=d.slice(0,-1*t*2),e=e.slice(0,-1*t),f=f.slice(0,-1*t)),d.push(this.productions_[q[1]][0]),e.push(w.$),f.push(w._$),u=g[d[d.length-2]][d[d.length-1]],d.push(u);break;case 3:return!0}}return!0}},c=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parser)throw new Error(a);this.yy.parser.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var b=a.match(/(?:\r\n?|\n).*/g);return b?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b-1),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this},more:function(){return this._more=!0,this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c,d,e;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),g=0;g<f.length&&(c=this._input.match(this.rules[f[g]]),!c||b&&!(c[0].length>b[0].length)||(b=c,d=g,this.options.flex));g++);return b?(e=b[0].match(/(?:\r\n?|\n).*/g),e&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-e[e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],a=this.performAction.call(this,this.yy,this,f[d],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a?a:void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return"undefined"!=typeof a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)}};return a.options={},a.performAction=function(a,b,c,d){function e(a,c){return b.yytext=b.yytext.substr(a,b.yyleng-c)}switch(c){case 0:if("\\\\"===b.yytext.slice(-2)?(e(0,1),this.begin("mu")):"\\"===b.yytext.slice(-1)?(e(0,1),this.begin("emu")):this.begin("mu"),b.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),"raw"===this.conditionStack[this.conditionStack.length-1]?15:(b.yytext=b.yytext.substr(5,b.yyleng-9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(b.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return b.yytext=e(1,2).replace(/\\"/g,'"'),80;case 32:return b.yytext=e(1,2).replace(/\\'/g,"'"),80;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return b.yytext=b.yytext.replace(/\\([\\\]])/g,"$1"),72;case 43:return"INVALID";case 44:return 5}},a.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]*?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],a.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},a}();return b.lexer=c,a.prototype=b,b.Parser=a,new a}();b["default"]=c,a.exports=b["default"]},function(a,b,c){"use strict";function d(){var a=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.options=a}function e(a,b,c){void 0===b&&(b=a.length);var d=a[b-1],e=a[b-2];return d?"ContentStatement"===d.type?(e||!c?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(d.original):void 0:c}function f(a,b,c){void 0===b&&(b=-1);var d=a[b+1],e=a[b+2];return d?"ContentStatement"===d.type?(e||!c?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(d.original):void 0:c}function g(a,b,c){var d=a[null==b?0:b+1];if(d&&"ContentStatement"===d.type&&(c||!d.rightStripped)){var e=d.value;d.value=d.value.replace(c?/^\s+/:/^[ \t]*\r?\n?/,""),d.rightStripped=d.value!==e}}function h(a,b,c){var d=a[null==b?a.length-1:b-1];if(d&&"ContentStatement"===d.type&&(c||!d.leftStripped)){var e=d.value;return d.value=d.value.replace(c?/\s+$/:/[ \t]+$/,""),d.leftStripped=d.value!==e,d.leftStripped}}var i=c(1)["default"];b.__esModule=!0;var j=c(39),k=i(j);d.prototype=new k["default"],d.prototype.Program=function(a){var b=!this.options.ignoreStandalone,c=!this.isRootSeen;this.isRootSeen=!0;for(var d=a.body,i=0,j=d.length;i<j;i++){var k=d[i],l=this.accept(k);if(l){var m=e(d,i,c),n=f(d,i,c),o=l.openStandalone&&m,p=l.closeStandalone&&n,q=l.inlineStandalone&&m&&n;l.close&&g(d,i,!0),l.open&&h(d,i,!0),b&&q&&(g(d,i),h(d,i)&&"PartialStatement"===k.type&&(k.indent=/([ \t]+$)/.exec(d[i-1].original)[1])),b&&o&&(g((k.program||k.inverse).body),h(d,i)),b&&p&&(g(d,i),h((k.inverse||k.program).body))}}return a},d.prototype.BlockStatement=d.prototype.DecoratorBlock=d.prototype.PartialBlockStatement=function(a){this.accept(a.program),this.accept(a.inverse);var b=a.program||a.inverse,c=a.program&&a.inverse,d=c,i=c;if(c&&c.chained)for(d=c.body[0].program;i.chained;)i=i.body[i.body.length-1].program;var j={open:a.openStrip.open,close:a.closeStrip.close,openStandalone:f(b.body),closeStandalone:e((d||b).body)};if(a.openStrip.close&&g(b.body,null,!0),c){var k=a.inverseStrip;k.open&&h(b.body,null,!0),k.close&&g(d.body,null,!0),a.closeStrip.open&&h(i.body,null,!0),!this.options.ignoreStandalone&&e(b.body)&&f(d.body)&&(h(b.body),g(d.body))}else a.closeStrip.open&&h(b.body,null,!0);return j},d.prototype.Decorator=d.prototype.MustacheStatement=function(a){return a.strip},d.prototype.PartialStatement=d.prototype.CommentStatement=function(a){var b=a.strip||{};return{inlineStandalone:!0,open:b.open,close:b.close}},b["default"]=d,a.exports=b["default"]},function(a,b,c){"use strict";function d(){this.parents=[]}function e(a){this.acceptRequired(a,"path"),this.acceptArray(a.params),this.acceptKey(a,"hash")}function f(a){e.call(this,a),this.acceptKey(a,"program"),this.acceptKey(a,"inverse")}function g(a){this.acceptRequired(a,"name"),this.acceptArray(a.params),this.acceptKey(a,"hash")}var h=c(1)["default"];b.__esModule=!0;var i=c(6),j=h(i);d.prototype={constructor:d,mutating:!1,acceptKey:function(a,b){var c=this.accept(a[b]);if(this.mutating){if(c&&!d.prototype[c.type])throw new j["default"]('Unexpected node type "'+c.type+'" found when accepting '+b+" on "+a.type);a[b]=c}},acceptRequired:function(a,b){if(this.acceptKey(a,b),!a[b])throw new j["default"](a.type+" requires "+b)},acceptArray:function(a){for(var b=0,c=a.length;b<c;b++)this.acceptKey(a,b),a[b]||(a.splice(b,1),b--,c--)},accept:function(a){if(a){if(!this[a.type])throw new j["default"]("Unknown type: "+a.type,a);this.current&&this.parents.unshift(this.current),this.current=a;var b=this[a.type](a);return this.current=this.parents.shift(),!this.mutating||b?b:b!==!1?a:void 0}},Program:function(a){this.acceptArray(a.body)},MustacheStatement:e,Decorator:e,BlockStatement:f,DecoratorBlock:f,PartialStatement:g,PartialBlockStatement:function(a){g.call(this,a),this.acceptKey(a,"program")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:e,PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(a){this.acceptArray(a.pairs)},HashPair:function(a){this.acceptRequired(a,"value")}},b["default"]=d,a.exports=b["default"]},function(a,b,c){"use strict";function d(a,b){if(b=b.path?b.path.original:b,a.path.original!==b){var c={loc:a.path.loc};throw new q["default"](a.path.original+" doesn't match "+b,c)}}function e(a,b){this.source=a,this.start={line:b.first_line,column:b.first_column},this.end={line:b.last_line,column:b.last_column}}function f(a){return/^\[.*\]$/.test(a)?a.substr(1,a.length-2):a}function g(a,b){return{open:"~"===a.charAt(2),close:"~"===b.charAt(b.length-3)}}function h(a){return a.replace(/^\{\{~?\!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function i(a,b,c){c=this.locInfo(c);for(var d=a?"@":"",e=[],f=0,g="",h=0,i=b.length;h<i;h++){var j=b[h].part,k=b[h].original!==j;if(d+=(b[h].separator||"")+j,k||".."!==j&&"."!==j&&"this"!==j)e.push(j);else{if(e.length>0)throw new q["default"]("Invalid path: "+d,{loc:c});".."===j&&(f++,g+="../")}}return{type:"PathExpression",data:a,depth:f,parts:e,original:d,loc:c}}function j(a,b,c,d,e,f){var g=d.charAt(3)||d.charAt(2),h="{"!==g&&"&"!==g,i=/\*/.test(d);return{type:i?"Decorator":"MustacheStatement",path:a,params:b,hash:c,escaped:h,strip:e,loc:this.locInfo(f)}}function k(a,b,c,e){d(a,c),e=this.locInfo(e);var f={type:"Program",body:b,strip:{},loc:e};return{type:"BlockStatement",path:a.path,params:a.params,hash:a.hash,program:f,openStrip:{},inverseStrip:{},closeStrip:{},loc:e}}function l(a,b,c,e,f,g){e&&e.path&&d(a,e);var h=/\*/.test(a.open);b.blockParams=a.blockParams;var i=void 0,j=void 0;if(c){if(h)throw new q["default"]("Unexpected inverse block on decorator",c);c.chain&&(c.program.body[0].closeStrip=e.strip),j=c.strip,i=c.program}return f&&(f=i,i=b,b=f),{type:h?"DecoratorBlock":"BlockStatement",path:a.path,params:a.params,hash:a.hash,program:b,inverse:i,openStrip:a.strip,inverseStrip:j,closeStrip:e&&e.strip,loc:this.locInfo(g)}}function m(a,b){if(!b&&a.length){var c=a[0].loc,d=a[a.length-1].loc;c&&d&&(b={source:c.source,start:{line:c.start.line,column:c.start.column},end:{line:d.end.line,column:d.end.column}})}return{type:"Program",body:a,strip:{},loc:b}}function n(a,b,c,e){return d(a,c),{type:"PartialBlockStatement",name:a.path,params:a.params,hash:a.hash,program:b,openStrip:a.strip,closeStrip:c&&c.strip,loc:this.locInfo(e)}}var o=c(1)["default"];b.__esModule=!0,b.SourceLocation=e,b.id=f,b.stripFlags=g,b.stripComment=h,b.preparePath=i,b.prepareMustache=j,b.prepareRawBlock=k,b.prepareBlock=l,b.prepareProgram=m,b.preparePartialBlock=n;var p=c(6),q=o(p)},function(a,b,c){"use strict";function d(){}function e(a,b,c){if(null==a||"string"!=typeof a&&"Program"!==a.type)throw new k["default"]("You must pass a string or baHandlebars AST to baHandlebars.precompile. You passed "+a);b=b||{},"data"in b||(b.data=!0),b.compat&&(b.useDepths=!0);var d=c.parse(a,b),e=(new c.Compiler).compile(d,b);return(new c.JavaScriptCompiler).compile(e,b)}function f(a,b,c){function d(){var d=c.parse(a,b),e=(new c.Compiler).compile(d,b),f=(new c.JavaScriptCompiler).compile(e,b,void 0,!0);return c.template(f)}function e(a,b){return f||(f=d()),f.call(this,a,b)}if(void 0===b&&(b={}),null==a||"string"!=typeof a&&"Program"!==a.type)throw new k["default"]("You must pass a string or baHandlebars AST to baHandlebars.compile. You passed "+a);"data"in b||(b.data=!0),b.compat&&(b.useDepths=!0);var f=void 0;return e._setup=function(a){return f||(f=d()),f._setup(a)},e._child=function(a,b,c,e){return f||(f=d()),f._child(a,b,c,e)},e}function g(a,b){if(a===b)return!0;if(l.isArray(a)&&l.isArray(b)&&a.length===b.length){for(var c=0;c<a.length;c++)if(!g(a[c],b[c]))return!1;return!0}}function h(a){if(!a.path.parts){var b=a.path;a.path={type:"PathExpression",data:!1,depth:0,parts:[b.original+""],original:b.original+"",loc:b.loc}}}var i=c(1)["default"];b.__esModule=!0,b.Compiler=d,b.precompile=e,b.compile=f;var j=c(6),k=i(j),l=c(5),m=c(35),n=i(m),o=[].slice;d.prototype={compiler:d,equals:function(a){var b=this.opcodes.length;if(a.opcodes.length!==b)return!1;for(var c=0;c<b;c++){var d=this.opcodes[c],e=a.opcodes[c];if(d.opcode!==e.opcode||!g(d.args,e.args))return!1}b=this.children.length;for(var c=0;c<b;c++)if(!this.children[c].equals(a.children[c]))return!1;return!0},guid:0,compile:function(a,b){this.sourceNode=[],this.opcodes=[],this.children=[],this.options=b,this.stringParams=b.stringParams,this.trackIds=b.trackIds,b.blockParams=b.blockParams||[];var c=b.knownHelpers;if(b.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0,lookup:!0},c)for(var d in c)d in c&&(b.knownHelpers[d]=c[d]);return this.accept(a)},compileProgram:function(a){var b=new this.compiler,c=b.compile(a,this.options),d=this.guid++;return this.usePartial=this.usePartial||c.usePartial,this.children[d]=c,this.useDepths=this.useDepths||c.useDepths,d},accept:function(a){if(!this[a.type])throw new k["default"]("Unknown type: "+a.type,a);this.sourceNode.unshift(a);var b=this[a.type](a);return this.sourceNode.shift(),b},Program:function(a){this.options.blockParams.unshift(a.blockParams);for(var b=a.body,c=b.length,d=0;d<c;d++)this.accept(b[d]);return this.options.blockParams.shift(),this.isSimple=1===c,this.blockParams=a.blockParams?a.blockParams.length:0,this},BlockStatement:function(a){h(a);var b=a.program,c=a.inverse;b=b&&this.compileProgram(b),c=c&&this.compileProgram(c);var d=this.classifySexpr(a);"helper"===d?this.helperSexpr(a,b,c):"simple"===d?(this.simpleSexpr(a),this.opcode("pushProgram",b),this.opcode("pushProgram",c),this.opcode("emptyHash"),this.opcode("blockValue",a.path.original)):(this.ambiguousSexpr(a,b,c),this.opcode("pushProgram",b),this.opcode("pushProgram",c),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},DecoratorBlock:function(a){var b=a.program&&this.compileProgram(a.program),c=this.setupFullMustacheParams(a,b,void 0),d=a.path;this.useDecorators=!0,this.opcode("registerDecorator",c.length,d.original)},PartialStatement:function(a){this.usePartial=!0;var b=a.program;b&&(b=this.compileProgram(a.program));var c=a.params;if(c.length>1)throw new k["default"]("Unsupported number of partial arguments: "+c.length,a);c.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):c.push({type:"PathExpression",parts:[],depth:0}));var d=a.name.original,e="SubExpression"===a.name.type;e&&this.accept(a.name),this.setupFullMustacheParams(a,b,void 0,!0);var f=a.indent||"";this.options.preventIndent&&f&&(this.opcode("appendContent",f),f=""),this.opcode("invokePartial",e,d,f),this.opcode("append")},PartialBlockStatement:function(a){this.PartialStatement(a)},MustacheStatement:function(a){this.SubExpression(a),a.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(a){this.DecoratorBlock(a)},ContentStatement:function(a){a.value&&this.opcode("appendContent",a.value)},CommentStatement:function(){},SubExpression:function(a){h(a);var b=this.classifySexpr(a);"simple"===b?this.simpleSexpr(a):"helper"===b?this.helperSexpr(a):this.ambiguousSexpr(a)},ambiguousSexpr:function(a,b,c){var d=a.path,e=d.parts[0],f=null!=b||null!=c;this.opcode("getContext",d.depth),this.opcode("pushProgram",b),this.opcode("pushProgram",c),d.strict=!0,this.accept(d),this.opcode("invokeAmbiguous",e,f)},simpleSexpr:function(a){var b=a.path;b.strict=!0,this.accept(b),this.opcode("resolvePossibleLambda")},helperSexpr:function(a,b,c){var d=this.setupFullMustacheParams(a,b,c),e=a.path,f=e.parts[0];if(this.options.knownHelpers[f])this.opcode("invokeKnownHelper",d.length,f);else{if(this.options.knownHelpersOnly)throw new k["default"]("You specified knownHelpersOnly, but used the unknown helper "+f,a);e.strict=!0,e.falsy=!0,this.accept(e),this.opcode("invokeHelper",d.length,e.original,n["default"].helpers.simpleId(e))}},PathExpression:function(a){this.addDepth(a.depth),this.opcode("getContext",a.depth);var b=a.parts[0],c=n["default"].helpers.scopedId(a),d=!a.depth&&!c&&this.blockParamIndex(b);d?this.opcode("lookupBlockParam",d,a.parts):b?a.data?(this.options.data=!0,this.opcode("lookupData",a.depth,a.parts,a.strict)):this.opcode("lookupOnContext",a.parts,a.falsy,a.strict,c):this.opcode("pushContext")},StringLiteral:function(a){this.opcode("pushString",a.value)},NumberLiteral:function(a){this.opcode("pushLiteral",a.value)},BooleanLiteral:function(a){this.opcode("pushLiteral",a.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(a){var b=a.pairs,c=0,d=b.length;for(this.opcode("pushHash");c<d;c++)this.pushParam(b[c].value);for(;c--;)this.opcode("assignToHash",b[c].key);this.opcode("popHash")},opcode:function(a){this.opcodes.push({opcode:a,args:o.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(a){a&&(this.useDepths=!0)},classifySexpr:function(a){var b=n["default"].helpers.simpleId(a.path),c=b&&!!this.blockParamIndex(a.path.parts[0]),d=!c&&n["default"].helpers.helperExpression(a),e=!c&&(d||b);if(e&&!d){var f=a.path.parts[0],g=this.options;g.knownHelpers[f]?d=!0:g.knownHelpersOnly&&(e=!1)}return d?"helper":e?"ambiguous":"simple"},pushParams:function(a){for(var b=0,c=a.length;b<c;b++)this.pushParam(a[b])},pushParam:function(a){var b=null!=a.value?a.value:a.original||"";if(this.stringParams)b.replace&&(b=b.replace(/^(\.?\.\/)*/g,"").replace(/\//g,".")),a.depth&&this.addDepth(a.depth),this.opcode("getContext",a.depth||0),this.opcode("pushStringParam",b,a.type),"SubExpression"===a.type&&this.accept(a);else{if(this.trackIds){var c=void 0;if(!a.parts||n["default"].helpers.scopedId(a)||a.depth||(c=this.blockParamIndex(a.parts[0])),c){var d=a.parts.slice(1).join(".");this.opcode("pushId","BlockParam",c,d)}else b=a.original||b,b.replace&&(b=b.replace(/^this(?:\.|$)/,"").replace(/^\.\//,"").replace(/^\.$/,"")),this.opcode("pushId",a.type,b)}this.accept(a)}},setupFullMustacheParams:function(a,b,c,d){var e=a.params;return this.pushParams(e),this.opcode("pushProgram",b),this.opcode("pushProgram",c),a.hash?this.accept(a.hash):this.opcode("emptyHash",d),e},blockParamIndex:function(a){for(var b=0,c=this.options.blockParams.length;b<c;b++){var d=this.options.blockParams[b],e=d&&l.indexOf(d,a);if(d&&e>=0)return[b,e]}}}},function(a,b,c){"use strict";function d(a){this.value=a}function e(){}function f(a,b,c,d){var e=b.popStack(),f=0,g=c.length;for(a&&g--;f<g;f++)e=b.nameLookup(e,c[f],d);return a?[b.aliasable("container.strict"),"(",e,", ",b.quotedString(c[f]),")"]:e}var g=c(1)["default"];b.__esModule=!0;var h=c(4),i=c(6),j=g(i),k=c(5),l=c(43),m=g(l);e.prototype={nameLookup:function(a,b){return e.isValidJavaScriptVariableName(b)?[a,".",b]:[a,"[",JSON.stringify(b),"]"]},depthedLookup:function(a){return[this.aliasable("container.lookup"),'(depths, "',a,'")']},compilerInfo:function(){var a=h.COMPILER_REVISION,b=h.REVISION_CHANGES[a];return[a,b]},appendToBuffer:function(a,b,c){return k.isArray(a)||(a=[a]),a=this.source.wrap(a,b),this.environment.isSimple?["return ",a,";"]:c?["buffer += ",a,";"]:(a.appendToBuffer=!0,a)},initializeBuffer:function(){return this.quotedString("")},compile:function(a,b,c,d){this.environment=a,this.options=b,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!d,this.name=this.environment.name,this.isChild=!!c,this.context=c||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(a,b),this.useDepths=this.useDepths||a.useDepths||a.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||a.useBlockParams;var e=a.opcodes,f=void 0,g=void 0,h=void 0,i=void 0;for(h=0,i=e.length;h<i;h++)f=e[h],this.source.currentLocation=f.loc,g=g||f.loc,this[f.opcode].apply(this,f.args);if(this.source.currentLocation=g,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new j["default"]("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend("var decorators = container.decorators;\n"),this.decorators.push("return fn;"),d?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend("function(fn, props, container, depth0, data, blockParams, depths) {\n"),this.decorators.push("}\n"),this.decorators=this.decorators.merge()));var k=this.createFunctionContext(d);if(this.isChild)return k;var l={compiler:this.compilerInfo(),main:k};this.decorators&&(l.main_d=this.decorators,l.useDecorators=!0);var m=this.context,n=m.programs,o=m.decorators;for(h=0,i=n.length;h<i;h++)n[h]&&(l[h]=n[h],o[h]&&(l[h+"_d"]=o[h],l.useDecorators=!0));return this.environment.usePartial&&(l.usePartial=!0),this.options.data&&(l.useData=!0),this.useDepths&&(l.useDepths=!0),this.useBlockParams&&(l.useBlockParams=!0),this.options.compat&&(l.compat=!0),d?l.compilerOptions=this.options:(l.compiler=JSON.stringify(l.compiler),this.source.currentLocation={start:{line:1,column:0}},l=this.objectLiteral(l),b.srcName?(l=l.toStringWithSourceMap({file:b.destName}),l.map=l.map&&l.map.toString()):l=l.toString()),l},preamble:function(){this.lastContext=0,this.source=new m["default"](this.options.srcName),this.decorators=new m["default"](this.options.srcName)},createFunctionContext:function(a){var b="",c=this.stackVars.concat(this.registers.list);c.length>0&&(b+=", "+c.join(", "));var d=0;for(var e in this.aliases){var f=this.aliases[e];this.aliases.hasOwnProperty(e)&&f.children&&f.referenceCount>1&&(b+=", alias"+ ++d+"="+e,f.children[0]="alias"+d)}var g=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&g.push("blockParams"),this.useDepths&&g.push("depths");var h=this.mergeSource(b);return a?(g.push(h),Function.apply(this,g)):this.source.wrap(["function(",g.join(","),") {\n  ",h,"}"])},mergeSource:function(a){var b=this.environment.isSimple,c=!this.forceBuffer,d=void 0,e=void 0,f=void 0,g=void 0;return this.source.each(function(a){a.appendToBuffer?(f?a.prepend("  + "):f=a,g=a):(f&&(e?f.prepend("buffer += "):d=!0,g.add(";"),f=g=void 0),e=!0,b||(c=!1))}),c?f?(f.prepend("return "),g.add(";")):e||this.source.push('return "";'):(a+=", buffer = "+(d?"":this.initializeBuffer()),f?(f.prepend("return buffer + "),g.add(";")):this.source.push("return buffer;")),a&&this.source.prepend("var "+a.substring(2)+(d?"":";\n")),this.source.merge()},blockValue:function(a){var b=this.aliasable("helpers.blockHelperMissing"),c=[this.contextName(0)];this.setupHelperArgs(a,0,c);var d=this.popStack();c.splice(1,0,d),this.push(this.source.functionCall(b,"call",c))},ambiguousBlockValue:function(){var a=this.aliasable("helpers.blockHelperMissing"),b=[this.contextName(0)];this.setupHelperArgs("",0,b,!0),this.flushInline();var c=this.topStack();b.splice(1,0,c),this.pushSource(["if (!",this.lastHelper,") { ",c," = ",this.source.functionCall(a,"call",b),"}"])},appendContent:function(a){this.pendingContent?a=this.pendingContent+a:this.pendingLocation=this.source.currentLocation,this.pendingContent=a},append:function(){if(this.isInline())this.replaceStack(function(a){return[" != null ? ",a,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var a=this.popStack();this.pushSource(["if (",a," != null) { ",this.appendToBuffer(a,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(a){this.lastContext=a},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(a,b,c,d){var e=0;d||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(a[e++])),this.resolvePath("context",a,e,b,c)},lookupBlockParam:function(a,b){this.useBlockParams=!0,this.push(["blockParams[",a[0],"][",a[1],"]"]),this.resolvePath("context",b,1)},lookupData:function(a,b,c){a?this.pushStackLiteral("container.data(data, "+a+")"):this.pushStackLiteral("data"),this.resolvePath("data",b,0,!0,c)},resolvePath:function(a,b,c,d,e){var g=this;if(this.options.strict||this.options.assumeObjects)return void this.push(f(this.options.strict&&e,this,b,a));for(var h=b.length;c<h;c++)this.replaceStack(function(e){var f=g.nameLookup(e,b[c],a);
        return d?[" && ",f]:[" != null ? ",f," : ",e]})},resolvePossibleLambda:function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(a,b){this.pushContext(),this.pushString(b),"SubExpression"!==b&&("string"==typeof a?this.pushString(a):this.pushStackLiteral(a))},emptyHash:function(a){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(a?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:[],types:[],contexts:[],ids:[]}},popHash:function(){var a=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(a.ids)),this.stringParams&&(this.push(this.objectLiteral(a.contexts)),this.push(this.objectLiteral(a.types))),this.push(this.objectLiteral(a.values))},pushString:function(a){this.pushStackLiteral(this.quotedString(a))},pushLiteral:function(a){this.pushStackLiteral(a)},pushProgram:function(a){null!=a?this.pushStackLiteral(this.programExpression(a)):this.pushStackLiteral(null)},registerDecorator:function(a,b){var c=this.nameLookup("decorators",b,"decorator"),d=this.setupHelperArgs(b,a);this.decorators.push(["fn = ",this.decorators.functionCall(c,"",["fn","props","container",d])," || fn;"])},invokeHelper:function(a,b,c){var d=this.popStack(),e=this.setupHelper(a,b),f=c?[e.name," || "]:"",g=["("].concat(f,d);this.options.strict||g.push(" || ",this.aliasable("helpers.helperMissing")),g.push(")"),this.push(this.source.functionCall(g,"call",e.callParams))},invokeKnownHelper:function(a,b){var c=this.setupHelper(a,b);this.push(this.source.functionCall(c.name,"call",c.callParams))},invokeAmbiguous:function(a,b){this.useRegister("helper");var c=this.popStack();this.emptyHash();var d=this.setupHelper(0,a,b),e=this.lastHelper=this.nameLookup("helpers",a,"helper"),f=["(","(helper = ",e," || ",c,")"];this.options.strict||(f[0]="(helper = ",f.push(" != null ? helper : ",this.aliasable("helpers.helperMissing"))),this.push(["(",f,d.paramsInit?["),(",d.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",d.callParams)," : helper))"])},invokePartial:function(a,b,c){var d=[],e=this.setupParams(b,1,d);a&&(b=this.popStack(),delete e.name),c&&(e.indent=JSON.stringify(c)),e.helpers="helpers",e.partials="partials",e.decorators="container.decorators",a?d.unshift(b):d.unshift(this.nameLookup("partials",b,"partial")),this.options.compat&&(e.depths="depths"),e=this.objectLiteral(e),d.push(e),this.push(this.source.functionCall("container.invokePartial","",d))},assignToHash:function(a){var b=this.popStack(),c=void 0,d=void 0,e=void 0;this.trackIds&&(e=this.popStack()),this.stringParams&&(d=this.popStack(),c=this.popStack());var f=this.hash;c&&(f.contexts[a]=c),d&&(f.types[a]=d),e&&(f.ids[a]=e),f.values[a]=b},pushId:function(a,b,c){"BlockParam"===a?this.pushStackLiteral("blockParams["+b[0]+"].path["+b[1]+"]"+(c?" + "+JSON.stringify("."+c):"")):"PathExpression"===a?this.pushString(b):"SubExpression"===a?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:e,compileChildren:function(a,b){for(var c=a.children,d=void 0,e=void 0,f=0,g=c.length;f<g;f++){d=c[f],e=new this.compiler;var h=this.matchExistingProgram(d);if(null==h){this.context.programs.push("");var i=this.context.programs.length;d.index=i,d.name="program"+i,this.context.programs[i]=e.compile(d,b,this.context,!this.precompile),this.context.decorators[i]=e.decorators,this.context.environments[i]=d,this.useDepths=this.useDepths||e.useDepths,this.useBlockParams=this.useBlockParams||e.useBlockParams,d.useDepths=this.useDepths,d.useBlockParams=this.useBlockParams}else d.index=h.index,d.name="program"+h.index,this.useDepths=this.useDepths||h.useDepths,this.useBlockParams=this.useBlockParams||h.useBlockParams}},matchExistingProgram:function(a){for(var b=0,c=this.context.environments.length;b<c;b++){var d=this.context.environments[b];if(d&&d.equals(a))return d}},programExpression:function(a){var b=this.environment.children[a],c=[b.index,"data",b.blockParams];return(this.useBlockParams||this.useDepths)&&c.push("blockParams"),this.useDepths&&c.push("depths"),"container.program("+c.join(", ")+")"},useRegister:function(a){this.registers[a]||(this.registers[a]=!0,this.registers.list.push(a))},push:function(a){return a instanceof d||(a=this.source.wrap(a)),this.inlineStack.push(a),a},pushStackLiteral:function(a){this.push(new d(a))},pushSource:function(a){this.pendingContent&&(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),this.pendingContent=void 0),a&&this.source.push(a)},replaceStack:function(a){var b=["("],c=void 0,e=void 0,f=void 0;if(!this.isInline())throw new j["default"]("replaceStack on non-inline");var g=this.popStack(!0);if(g instanceof d)c=[g.value],b=["(",c],f=!0;else{e=!0;var h=this.incrStack();b=["((",this.push(h)," = ",g,")"],c=this.topStack()}var i=a.call(this,c);f||this.popStack(),e&&this.stackSlot--,this.push(b.concat(i,")"))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var a=this.inlineStack;this.inlineStack=[];for(var b=0,c=a.length;b<c;b++){var e=a[b];if(e instanceof d)this.compileStack.push(e);else{var f=this.incrStack();this.pushSource([f," = ",e,";"]),this.compileStack.push(f)}}},isInline:function(){return this.inlineStack.length},popStack:function(a){var b=this.isInline(),c=(b?this.inlineStack:this.compileStack).pop();if(!a&&c instanceof d)return c.value;if(!b){if(!this.stackSlot)throw new j["default"]("Invalid stack pop");this.stackSlot--}return c},topStack:function(){var a=this.isInline()?this.inlineStack:this.compileStack,b=a[a.length-1];return b instanceof d?b.value:b},contextName:function(a){return this.useDepths&&a?"depths["+a+"]":"depth"+a},quotedString:function(a){return this.source.quotedString(a)},objectLiteral:function(a){return this.source.objectLiteral(a)},aliasable:function(a){var b=this.aliases[a];return b?(b.referenceCount++,b):(b=this.aliases[a]=this.source.wrap(a),b.aliasable=!0,b.referenceCount=1,b)},setupHelper:function(a,b,c){var d=[],e=this.setupHelperArgs(b,a,d,c),f=this.nameLookup("helpers",b,"helper"),g=this.aliasable(this.contextName(0)+" != null ? "+this.contextName(0)+" : (container.nullContext || {})");return{params:d,paramsInit:e,name:f,callParams:[g].concat(d)}},setupParams:function(a,b,c){var d={},e=[],f=[],g=[],h=!c,i=void 0;h&&(c=[]),d.name=this.quotedString(a),d.hash=this.popStack(),this.trackIds&&(d.hashIds=this.popStack()),this.stringParams&&(d.hashTypes=this.popStack(),d.hashContexts=this.popStack());var j=this.popStack(),k=this.popStack();(k||j)&&(d.fn=k||"container.noop",d.inverse=j||"container.noop");for(var l=b;l--;)i=this.popStack(),c[l]=i,this.trackIds&&(g[l]=this.popStack()),this.stringParams&&(f[l]=this.popStack(),e[l]=this.popStack());return h&&(d.args=this.source.generateArray(c)),this.trackIds&&(d.ids=this.source.generateArray(g)),this.stringParams&&(d.types=this.source.generateArray(f),d.contexts=this.source.generateArray(e)),this.options.data&&(d.data="data"),this.useBlockParams&&(d.blockParams="blockParams"),d},setupHelperArgs:function(a,b,c,d){var e=this.setupParams(a,b,c);return e=this.objectLiteral(e),d?(this.useRegister("options"),c.push("options"),["options=",e]):c?(c.push(e),""):e}},function(){for(var a="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "),b=e.RESERVED_WORDS={},c=0,d=a.length;c<d;c++)b[a[c]]=!0}(),e.isValidJavaScriptVariableName=function(a){return!e.RESERVED_WORDS[a]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(a)},b["default"]=e,a.exports=b["default"]},function(a,b,c){"use strict";function d(a,b,c){if(f.isArray(a)){for(var d=[],e=0,g=a.length;e<g;e++)d.push(b.wrap(a[e],c));return d}return"boolean"==typeof a||"number"==typeof a?a+"":a}function e(a){this.srcFile=a,this.source=[]}b.__esModule=!0;var f=c(5),g=void 0;try{}catch(h){}g||(g=function(a,b,c,d){this.src="",d&&this.add(d)},g.prototype={add:function(a){f.isArray(a)&&(a=a.join("")),this.src+=a},prepend:function(a){f.isArray(a)&&(a=a.join("")),this.src=a+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}}),e.prototype={isEmpty:function(){return!this.source.length},prepend:function(a,b){this.source.unshift(this.wrap(a,b))},push:function(a,b){this.source.push(this.wrap(a,b))},merge:function(){var a=this.empty();return this.each(function(b){a.add(["  ",b,"\n"])}),a},each:function(a){for(var b=0,c=this.source.length;b<c;b++)a(this.source[b])},empty:function(){var a=this.currentLocation||{start:{}};return new g(a.start.line,a.start.column,this.srcFile)},wrap:function(a){var b=arguments.length<=1||void 0===arguments[1]?this.currentLocation||{start:{}}:arguments[1];return a instanceof g?a:(a=d(a,this,b),new g(b.start.line,b.start.column,this.srcFile,a))},functionCall:function(a,b,c){return c=this.generateList(c),this.wrap([a,b?"."+b+"(":"(",c,")"])},quotedString:function(a){return'"'+(a+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},objectLiteral:function(a){var b=[];for(var c in a)if(a.hasOwnProperty(c)){var e=d(a[c],this);"undefined"!==e&&b.push([this.quotedString(c),":",e])}var f=this.generateList(b);return f.prepend("{"),f.add("}"),f},generateList:function(a){for(var b=this.empty(),c=0,e=a.length;c<e;c++)c&&b.add(","),b.add(d(a[c],this));return b},generateArray:function(a){var b=this.generateList(a);return b.prepend("["),b.add("]"),b}},b["default"]=e,a.exports=b["default"]}])});

</script>


<script id="ba-discount-tiers" type="text/x-handlebars-template">
<div class="ba-discount-tiers">
    <h4>{{{product_message}}}</h4>

  
    <table class="ba-discount-table">
        <thead>
          <tr>
            <th>Minimum Qty</th>
            <th>
              Discount
            </th>
          </tr>
        </thead>
        <tbody>
          {{#vol_rows}}
          <tr>
            <td>{{{quantity}}}+</td>
            <td>{{{price.title}}}</td>
          </tr>
        {{/vol_rows}}
          </tbody>
      </table>
  
</div>

</script>

<script id="ba-bundle" type="text/x-handlebars-template">

  <div id="{{css_length}}-product" class="discount-applies-{{discount_applies}} ba-product-bundle button-under" data-offer-id="{{offer_id}}">
  <div class="bundle-title" data-offer-id="{{offer_id}}">{{bundle_note}}</div>
  {{#products}}
  <div class="ba-product-wrapper" data-product-id="{{id}}" data-variant-id="{{firstVariantId}}" data-quantity="{{quantity}}">
    <div class='ba-image-container'>
      <div class="ba-image">
        <a href="/products/{{handle}}">
          <img src="{{{image.src}}}"/>
        </a>
      </div>
    </div>
    <div class="ba-info-wrapper">
      
        <a href="/products/{{handle}}">
          <div class="bundle-name">{{title}} x {{quantity}}</div>
        </a>
      

      <div class="booster-variants-container" style="{{{variantsStyle}}}">
        {{{variantsSelect}}}
      </div>

      <div class="ba-price">
          
            
            <span class="ba-sale ">{{{firstVariantQtyPrice}}}</span>
          
      </div>
    </div>
  </div>
  {{#unless @last}}
  <div class="bundle-plus">
    <img src="{{{../ba_plus_url}}}"/>
  </div>
  {{/unless}}
  {{/products}}
  
    <div class="bundle-total show-savings">
      
      <button class="add-booster-bundle">
        <span class='top-button'>Add Bundle</span>
        {{#if discount_applies}}
        <span class='bottom-button'>{{{save_text}}}</span>
        {{/if}}
      </button>
    </div>
  
</div>
</script>


<script id="ba-upsell" type="text/x-handlebars-template">
  <div id='dpModal-container' style='display:none;' class='dp-popup dp-wrap dp-whModal is_funnel_{{is_funnel}}'>
  <div id="{{css_length}}-product" class="multiple-products-{{multiple_products}} ba-product-bundle"  data-discount-method="{{discount_method}}" data-discount-value="{{discount_value}}" data-discount-applies="{{discount_applies}}" data-replace-trigger="{{replace_trigger}}" data-replace-variants="{{replaceVariants}}">
    <h3 class="upsell-title">{{{upsell_note}}}</h3>
    {{#products}}
    <div class="product-container discount-applies-{{discount_applies}}" data-product-id="{{id}}" data-variant-id="{{variants.0.id}}" data-quantity="{{qty_left}}">
      <div class="image">
        <a href="{{link}}" class="{{linkClass}}">
          <img src="{{{image.src}}}"/>
        </a>
      </div>
      <div class="details multiple-variants">
        <div class="product-title">
          
            <a href="{{link}}" target="_blank" class="{{linkClass}}">
              {{title}} x {{qty_left}}
            </a>
          
        </div>
        <div class="product-price">
          
            <span class="ba-sale">{{{variants.0.price}}}</span>
          
        </div>
      </div>

      <div class="actions">
        {{{variantsSelect}}}
        <button data-offer-id="{{offer_id}}" class="add-upsells">Add to cart</button>
      </div>
    </div>
    {{/products}}
  </div>
  <div class="no-thanks">
    <a href="#" data-offer-id="{{offer_id}}" class="no-thanks">No thanks</a>
  </div>
</div>

</script>




<script type="text/javascript">
(function(window, document) {"use strict";

function setCookie(cname, cvalue, exdays) {
  var d = new Date();
  d.setTime(d.getTime() + (exdays*24*60*60*1000));
  var expires = "expires="+ d.toUTCString();
  document.cookie = cname + "=" + cvalue + "; " + expires + "; path=/;";
}

function getCookie(cname) {
  var name = cname + "=";
  var ca = document.cookie.split(';');
  for(var i = 0; i <ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') {
        c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
        return c.substring(name.length,c.length);
    }
  }
  return "";
}

function unescapeHtml(text)  {
  return text.replace(/&amp;/g,"&")
             .replace(/&lt;/g,"<")
             .replace(/&gt;/g,">")
             .replace(/&quot;/g,'"')
             .replace(/&#39;/g,"'")
}

function actOnVariantChange(cb){
    //Just periodically check variant url param and callback if variant changed
    setInterval(function(){
      var currentId  = getUrlParam('variant');
      var previousId = window.booster.currentVariantId;
      if (currentId && currentId != previousId){cb(currentId)}
    }, 750);
}

function lastUrlSegment(){
  var lastPart = location.href.substr(location.href.lastIndexOf('/') + 1)
  //Remove url params if this is the case.
  return lastPart.substr(0,lastPart.indexOf('?') > -1 ? lastPart.indexOf('?') : lastPart.length)
}




function isMobileBrowser()  {
  var isMobile = false; //initiate as false
  try {
    // Device detection
    if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
      || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0, 4))) {
      isMobile = true;
    }
   }
   catch(e) {}
   return  isMobile
}

if (document.location.search.indexOf("clear_cookies=1") != -1){
  setCookie('ba-skip-ids', '');
  setCookie('cart', '');
}


function reqJquery(onload) {
  if(typeof jQuery === 'undefined' || (parseInt(jQuery.fn.jquery) === 1 && parseFloat(jQuery.fn.jquery.replace(/^1\./,'')) < 10)){
    var head = document.getElementsByTagName('head')[0];
    var script = document.createElement('script');
    script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js';;
    script.type = 'text/javascript';
    script.onload = script.onreadystatechange = function() {
      if (script.readyState) {
        if (script.readyState === 'complete' || script.readyState === 'loaded') {
          script.onreadystatechange = null;
          onload(jQuery.noConflict(true));
        }
      }
      else {
        onload(jQuery.noConflict(true));
      }
    };
    head.appendChild(script);
  }else {
    onload(jQuery);
  }
}

//Will generate 'style' block with global css rule
//Param ex: 'h1 { background: red; }'
function addGlobalStyle(css)  {
  try {
    var head  = document.head || document.getElementsByTagName('head')[0];
    var style = document.createElement('style');
    style.innerHTML = css
    style.type      = 'text/css';
    head.appendChild(style);
  }
  catch(e) {}
}

function addCheckoutEvent(callback)  {
  try {
    var els = document.querySelectorAll(baCheckoutSelector);
    if (typeof els == "object" && els) {
      for (var i = 0; i < els.length; i++) {
        var el = els[i];
        if (typeof el.addEventListener != "function") continue;
        el.addEventListener("click", function(e) {
          try {
            callback(e);
          }
          catch(err) {
            window.location = '/checkout';
          }
        }, false);
      }
    }
  }
  catch(ex) {}
}

reqJquery(function($){
  var settings = {app_root_url: '/apps/discounted_pricing',
                  app_name:     'buyx',
                  shop_domain:  ''};

  if (document.location.href.indexOf("checkouts") < 0){
    try {
      if(getCookie('ba-pr-id') !== undefined && getCookie('ba-pr-id') != ''){
        var prId = getCookie('ba-pr-id');
        $.ajax({
          cache: false,
          type: "POST",
          url: settings.app_root_url,
          data: JSON.stringify({action_type: "remove_discount", pr_id: prId}),
          dataType: 'json',
          contentType: "application/json; charset=utf-8",
          success: function(data) {
            console.log('done');
          }
        });
      }
    }
    catch(e) { console.log(e) }
    finally {setCookie('ba-pr-id', '', 365);}
  }

  function registerEvent(event_name,params){
    //Temporarily disabled
    return false;
    try
    {
      
        return false;
      
      params["shop_id"] = '16379197';
      var event_key = "ba_" + event_name + "_" + params["app_type"] + "_" + params["shop_id"] + "_" + params["offer_id"];
      if (getCookie(event_key) != 1)  {
        //Add 'event' cookie that will expire in 1 day
        setCookie(event_key, 1, 1);
        $.ajax({
          type: "POST",
          url: settings.app_root_url + "/measure",
          data: JSON.stringify({event_name: event_name, data: params}),
          dataType: 'json',
          contentType: "application/json; charset=utf-8",
          success: function(data) {}
        })
      }
    }
    catch(ex) {}
  }

  if (document.location.search.indexOf("prefill=1") != -1){
    if (localStorage.getItem('bd_first_test_offer_token')){ localStorage.setItem('ba_keep_tk',1) }
    var reloadUrl = window.location.origin + "/cart/add?id[]=" + window.location.href.split('prefill=1&variant_id=')[1]
    window.location =reloadUrl;
  }

  function postNotFoundError(handle) {
     $.ajax({
        cache: false,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        type: "POST",
        url: settings.app_root_url,
        data: JSON.stringify({error: 404, handle: handle}),
        success: function(res) {
          console.log('error posted')
        },
        error: function(){
        }
      })
  }

  var dpQuery=$,dpModals=[],getCurrent=function(){return dpModals.length?dpModals[dpModals.length-1]:null},selectCurrent=function(){var a,b=!1;for(a=dpModals.length-1;a>=0;a--)dpModals[a].$blocker&&(dpModals[a].$blocker.toggleClass("current",!b).toggleClass("behind",b),b=!0)};dpQuery.dpModal=function(a,b){var c,d;if(this.$body=dpQuery("body"),this.options=dpQuery.extend({},dpQuery.dpModal.defaults,b),this.options.doFade=!isNaN(parseInt(this.options.fadeDuration,10)),this.$blocker=null,this.options.closeExisting)for(;dpQuery.dpModal.isActive();)dpQuery.dpModal.close();if(dpModals.push(this),a.is("a"))if(d=a.attr("href"),/^#/.test(d)){if(this.$elm=dpQuery(d),1!==this.$elm.length)return null;this.$body.append(this.$elm),this.open()}else this.$elm=dpQuery("<div>"),this.$body.append(this.$elm),c=function(a,b){b.elm.remove()},this.showSpinner(),a.trigger(dpQuery.dpModal.AJAX_SEND),dpQuery.get(d).done(function(b){if(dpQuery.dpModal.isActive()){a.trigger(dpQuery.dpModal.AJAX_SUCCESS);var d=getCurrent();d.$elm.empty().append(b).on(dpQuery.dpModal.CLOSE,c),d.hideSpinner(),d.open(),a.trigger(dpQuery.dpModal.AJAX_COMPLETE)}}).fail(function(){a.trigger(dpQuery.dpModal.AJAX_FAIL);var b=getCurrent();b.hideSpinner(),dpModals.pop(),a.trigger(dpQuery.dpModal.AJAX_COMPLETE)});else this.$elm=a,this.$body.append(this.$elm),this.open()},dpQuery.dpModal.prototype={constructor:dpQuery.dpModal,open:function(){var a=this;this.block(),this.options.doFade?setTimeout(function(){a.show()},this.options.fadeDuration*this.options.fadeDelay):this.show(),dpQuery(document).off("keydown.dpModal").on("keydown.dpModal",function(a){var b=getCurrent();27==a.which&&b.options.escapeClose&&b.close()}),this.options.clickClose&&this.$blocker.click(function(a){a.target==this&&dpQuery.dpModal.close()})},close:function(){dpModals.pop(),this.unblock(),this.hide(),dpQuery.dpModal.isActive()||dpQuery(document).off("keydown.dpModal")},block:function(){this.$elm.trigger(dpQuery.dpModal.BEFORE_BLOCK,[this._ctx()]),this.$body.css("overflow","hidden"),this.$blocker=dpQuery('<div class="jquery-dpModal blocker current"></div>').appendTo(this.$body),selectCurrent(),this.options.doFade&&this.$blocker.css("opacity",0).animate({opacity:1},this.options.fadeDuration),this.$elm.trigger(dpQuery.dpModal.BLOCK,[this._ctx()])},unblock:function(a){!a&&this.options.doFade?this.$blocker.fadeOut(this.options.fadeDuration,this.unblock.bind(this,!0)):(this.$blocker.children().appendTo(this.$body),this.$blocker.remove(),this.$blocker=null,selectCurrent(),dpQuery.dpModal.isActive()||this.$body.css("overflow",""))},show:function(){this.$elm.trigger(dpQuery.dpModal.BEFORE_OPEN,[this._ctx()]),this.options.showClose&&(this.closeButton=dpQuery('<a href="#close-dpModal" rel="dpModal:close" class="close-dpModal '+this.options.closeClass+'">'+this.options.closeText+"</a>"),this.$elm.append(this.closeButton)),this.$elm.addClass(this.options.dpModalClass).appendTo(this.$blocker),this.options.doFade?this.$elm.css("opacity",0).show().animate({opacity:1},this.options.fadeDuration):this.$elm.show(),this.$elm.trigger(dpQuery.dpModal.OPEN,[this._ctx()])},hide:function(){this.$elm.trigger(dpQuery.dpModal.BEFORE_CLOSE,[this._ctx()]),this.closeButton&&this.closeButton.remove();var a=this;this.options.doFade?this.$elm.fadeOut(this.options.fadeDuration,function(){a.$elm.trigger(dpQuery.dpModal.AFTER_CLOSE,[a._ctx()])}):this.$elm.hide(0,function(){a.$elm.trigger(dpQuery.dpModal.AFTER_CLOSE,[a._ctx()])}),this.$elm.trigger(dpQuery.dpModal.CLOSE,[this._ctx()])},showSpinner:function(){this.options.showSpinner&&(this.spinner=this.spinner||dpQuery('<div class="'+this.options.dpModalClass+'-spinner"></div>').append(this.options.spinnerHtml),this.$body.append(this.spinner),this.spinner.show())},hideSpinner:function(){this.spinner&&this.spinner.remove()},_ctx:function(){return{elm:this.$elm,$blocker:this.$blocker,options:this.options}}},dpQuery.dpModal.close=function(a){if(dpQuery.dpModal.isActive()){a&&a.preventDefault();var b=getCurrent();return b.close(),b.$elm}},dpQuery.dpModal.isActive=function(){return dpModals.length>0},dpQuery.dpModal.defaults={closeExisting:!0,escapeClose:0,clickClose:0,closeText:"Close",closeClass:"",dpModalClass:"dp-popup-dpModal",spinnerHtml:null,showSpinner:!0,showClose:!0,fadeDuration:null,fadeDelay:1},dpQuery.dpModal.BEFORE_BLOCK="dpModal:before-block",dpQuery.dpModal.BLOCK="dpModal:block",dpQuery.dpModal.BEFORE_OPEN="dpModal:before-open",dpQuery.dpModal.OPEN="dpModal:open",dpQuery.dpModal.BEFORE_CLOSE="dpModal:before-close",dpQuery.dpModal.CLOSE="dpModal:close",dpQuery.dpModal.AFTER_CLOSE="dpModal:after-close",dpQuery.dpModal.AJAX_SEND="dpModal:ajax:send",dpQuery.dpModal.AJAX_SUCCESS="dpModal:ajax:success",dpQuery.dpModal.AJAX_FAIL="dpModal:ajax:fail",dpQuery.dpModal.AJAX_COMPLETE="dpModal:ajax:complete",dpQuery.fn.dpModal=function(a){return 1===this.length&&new dpQuery.dpModal(this,a),this},dpQuery(document).on("click.dpModal",'a[rel="dpModal:close"]',dpQuery.dpModal.close),dpQuery(document).on("click.dpModal",'a[rel="dpModal:open"]',function(a){a.preventDefault(),dpQuery(this).dpModal()});



  function reloadCurrency() {
    if (typeof Currency == "object" && typeof Currency.moneyFormats == "object" && typeof mlvedaload == "function") {
      mlvedaload()
    }

    try {
      if (typeof DoublyGlobalCurrency == "object" && typeof DoublyGlobalCurrency.convertAll == "function")  {
        DoublyGlobalCurrency.convertAll(jQueryGrizzly('[name=doubly-currencies]').val());
      }
    } catch(ex) { console.log(ex) }
  }

  $("span.Bold-theme-hook-DO-NOT-DELETE.bold_cart_total").remove();
  $("span#bk-cart-subtotal-price").attr("id", "");

  var boosterCookieCode = getCookie('booster_discount_' + window.booster.cart.token);
  if(boosterCookieCode){
    window.booster.discount_code = boosterCookieCode;
  }

  function showPreviewJs(app, result){
    var head = document.getElementsByTagName('head')[0];
    var script = document.createElement('script');
    
    window.preview_result = result;
    script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'buyx.boosterapps.com/preview_offer_' + app + '.js';
    script.type = 'text/javascript';
    head.appendChild(script);
  }

  function checkAndShowPreviewJs(app, result){
    if (app == 'buyx'){
      if(localStorage.getItem('bd_first_test_offer_return_url').length > 0){
        showPreviewJs('buyx', result);
      }
    } else if (app == 'dp'){
      if(document.location.search.indexOf("preview_offer=1") > -1){
        showPreviewJs('dp', result);
      }
    } else if (app == 'bundle'){
      if(document.location.search.indexOf("preview_offer=1") > -1){
        showPreviewJs('bundle', result);
      }
    }
  }

  function baDisplayCents(cents) {
	if (typeof cents == "undefined" || cents == null){return ""}
	if (typeof cents == "string" && cents.length == 0){return ""}

    var format = window.booster.money_format;
    var moneyRegex = /\{\{\s*(\w+)\s*\}\}/;
    if (typeof cents == "string") {
      cents = cents.replace(".", "")
    }

    function defOpt(opt,def){return typeof opt == "undefined" ? def : opt}

    function displayDelims(n,p,t,d){
        p = defOpt(p, 2);
        t = defOpt(t, ",");
        d = defOpt(d, ".");
        if (isNaN(n) || n == null){
          return 0
        }
        n = (n / 100).toFixed(p);
        var parts = n.split("."),dollars = parts[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1" + t),cents = parts[1] ? d + parts[1] : "";
        return dollars + cents
    }

    var val = "";
    switch (format.match(moneyRegex)[1]) {
      case "amount":
        val = displayDelims(cents, 2);
        break;
      case "amount_no_decimals":
        val = displayDelims(cents, 0);
        break;
          case "amount_no_decimals_with_comma_separator":
        val = displayDelims(cents, 0, ".", ",");
        break
      case "amount_with_comma_separator":
        val = displayDelims(cents, 2, ".", ",");
        break;
    }
    return format.replace(moneyRegex, val)
  }

  function baDiscountedPrice(price, discountApplies, discountMethod, disValue,app){
    if (discountApplies){
      if (discountMethod == 'percent'){
        var multipler = 1 - (parseFloat(disValue) / 100.00);
        var baPrice = price * multipler;
      }
      else if (discountMethod == 'fixed'){
        var baPrice = (disValue * 100);
      }
      else if (discountMethod == 'off'){
        var baPrice = price - (disValue * 100);
      }
      if (baPrice < 0) baPrice = 0;

      var disPrice = baDisplayCents(baPrice);
      var ogPrice  = baDisplayCents(price);
      var str = disPrice + " <s>" + ogPrice + "</s>";
    } else {
      var str = baDisplayCents(price);
    }
  

    return str
  }

  function baSearchProducts(product_ids, callback) {
    if (!product_ids || !product_ids.length) return false;
    //Build query
    var query = product_ids.map(function(id){ return 'id:' + id }).join(' OR ');
    $.ajax({
        url: '/search',
        type: "POST",
        dataType: "json",

        data: { view: 'ba-rec',
                type: 'product',
                q:     query },

        success: callback,
        error: function(e) { console.log(e) }
    });
  }

  function getVariantsInStock(productHandles,collectionHandles,funnel,callback) {
    var origin = document.location.protocol + "//" + document.location.hostname;
    var view_suffix = funnel ? 'booster_funnel_script' : 'booster_stock_script';
    $.ajax({
      url: origin + "/?view=" + view_suffix + "&cache=false&ba_check_stock=" + encodeURIComponent(productHandles.join(',')) + "&ba_collections=" + encodeURIComponent(collectionHandles.join(',')),
      cache: false,
      type: "GET",
      dataType: "html",
      success: function(product_page) {
        try {
          var script = product_page.substring(product_page.indexOf('//booster-check-products-stock'),
            product_page.indexOf('booster-check-products-stock-end'));
          eval(script)
          callback(window.booster.productsInStock);
        }
        catch(err) {
          postNotFoundError(productHandles)
        }
      },
      error: function(data) {
        postNotFoundError(productHandles);
      }
    })
  }

 function allBundleItemsInStock(productHandles,cb){
   var allInStock = true
   getVariantsInStock(productHandles, [],false, function(productsStock) {
     // Checks each product for stock availablity and pass boolean to array
       for (var id in productsStock)  {
         if (productsStock[id].available == "false")  {
           allInStock = false
         }
       }
     cb(allInStock)
   });
 }

 function showBoosterBundle(ba_data){
	var arr               = [];
	var products          = [];
	var enhancedProducts  = [];
	var fixedDiscountSet  = false;

	var prodQty = function(product_id) {
    var prod = ba_data.items.filter(function(item){ return item.id == product_id})[0]
    return (prod && prod.qty) ? prod.qty : 1;
  };

 var enhanceProduct = function(data,p) {
      var prod = data.product;
      prod.variantsStyle  = "";
      prod.variantsSelect = "";
      prod.quantity = p.qty || 1;
      for (var i = 0; i < prod.variants.length; i++) {
        //Assign default variant for the page product.
        if (!window.booster.currentVariantId && prod.variants[i] && prod.variants[i].position == 1 && lastUrlSegment() == p.handle){
          window.booster.currentVariantId = prod.variants[i].id;
        }

        if (typeof prod.variants[i].price == "string") {
          prod.variants[i].price = parseFloat(prod.variants[i].price) * 100
        }
        if (typeof prod.variants[i].compare_at_price == "string") {
          prod.variants[i].compare_at_price = parseFloat(prod.variants[i].compare_at_price) * 100
        }
        prod.variants[i].og_compare_at_price = prod.variants[i].compare_at_price;
        var numericPrice          = prod.variants[i].price;
        var qtyPrice              = numericPrice * prodQty(prod.id)
        prod.variants[i].og_price = qtyPrice;
        if (prod.variants[i].compare_at_price && prod.variants[i].compare_at_price > prod.variants[i].price) {
            prod.variants[i].compare_at_price = prod.variants[i].compare_at_price
          } else {
            prod.variants[i].compare_at_price = ""
          }
          prod.variants[i].price    = baDisplayCents(numericPrice);
          prod.variants[i].qtyPrice = baDisplayCents(qtyPrice);

       
        }

        fixedDiscountSet = true
        if (prod.variants.length == 1) {
          prod.variantsStyle = "display: none;";
          prod.firstVariantId       = prod.variants[0].id;
          prod.firstVariantQtyPrice = prod.variants[0].qtyPrice;
        
        }else {
          var variantsHtml = "";
          prod.variants.map(function(variant){
            if (typeof variant.inventory_management == "string" && variant.inventory_management == "shopify") {
              if (typeof variant.inventory_policy == "string" && variant.inventory_policy == "deny" && typeof variant.inventory_quantity == "number" && variant.inventory_quantity <= 0) {
                return
              }
            }

            if (!prod.firstVariantId)  {
              prod.firstVariantId       = variant.id;
              prod.firstVariantQtyPrice = variant.qtyPrice
            
            }
            var baImg = "";
            if (variant.image_src && typeof variant.image_src == "string" && variant.image_src != '')
            {
               baImg = variant.image_src
            }
            else {
            if (variant.image_id != null && typeof variant.image_id == "number") {
              var varImgs = prod.images.filter(function(pi) {return pi.id == variant.image_id});
              if (varImgs.length){baImg = varImgs[0].src}
            } else {
              if (typeof prod.image == "object" && prod.image && typeof prod.image.src == "string") {
                baImg = prod.image.src
              }
            }}

            var n = baImg.lastIndexOf(".");
            if (n >= 0) {
              var s = baImg.substring(0, n) + "_medium." + baImg.substring(n + 1);
              baImg = s
            }
            variantsHtml += "<option value='" + variant.id + "' data-img='" + baImg + "' data-price='" + variant.og_price + "' data-compare-at-price='" + variant.og_compare_at_price + "' data-dis-price='" + (variant.discountedPrice || '')  + "'>";
            variantsHtml += variant.title + "</option>"
          });

          var dataHandle = (window.booster.currentHandle == prod.handle) ? prod.handle : "_";
          prod.variantsSelect = "<select class='ba-variants' data-product-handle='" + dataHandle + "'>";
          prod.variantsSelect += variantsHtml + "</select>"
        }

        if (typeof prod.image == "object" && prod.image && typeof prod.image.src == "string") {
          var n = prod.image.src.lastIndexOf(".");
          if (n >= 0){
            var s = prod.image.src.substring(0, n) + "_medium." + prod.image.src.substring(n + 1);
            prod.image.src = s
          }
        }
        enhancedProducts.push(prod)
      }

  
    //Build an array with request to products
	  ba_data.items.map(function(p){
      arr.push($.getJSON("/products/" + p.handle + ".json",function(data){ enhanceProduct(data,p) }).fail(function(jqXHR, textStatus, errorThrown){
          postNotFoundError(p.handle)
        })
      )
	  });
	

  
		if (arr.length == 0) { return }
  	$.when.apply($, arr).done(function() {
	
      products = enhancedProducts;
      if (products.length == 0)  return false;
      var noVariants = true;
      for (var i = 0; i < products.length; i++) {
        if (products[i].variants.length > 1) {
          noVariants = false
        }
      }
      if (noVariants){
        for (var i = 0; i < products.length; i++) {
          products[i].variantsStyle = "height: 0px;"
        }
      }
    switch (products.length) {
      case 2:
        var cssLength = 'two'
        break;
      case 3:
        var cssLength = 'three'
        break;
      case 4:
        var cssLength = 'four'
        break;
      default:
        var cssLength = 'two'
    }

    var source = $("#ba-bundle").html();
    var context = {
      offer_id: ba_data.offerId,
      save_text: ba_data.save_text,
      discount_applies: ba_data.discount_applies,
      ba_bundle: ba_data,
      bundle_note: ba_data.bundle_note,
      products: products,
      css_length: cssLength,
      ba_plus_url: baPlusImageUrl,
      ba_eqs_url: "//cdn.shopify.com/s/files/1/0194/1736/6592/t/1/assets/ba-equals_38x.png?3069916476021763728"
    };
    var template = baHandlebars.compile(source);
    var html = template(context);
    $('div.ba-bundle-wrapper').append(html.replace(/undefined/g, ' '));
    var bundle = $('div.ba-bundle-wrapper .ba-product-bundle').last();

    
    var maxHeight = 0;
    $(bundle).find("div.bundle-name").each(function(i,bn){
       if ($(bn).height() > maxHeight) { maxHeight = $(bn).height(); }
    });
    $(bundle).find("div.bundle-name").height(maxHeight);
    

    
    var setCurrentVariant = function(newVariantId)  {
      if (!newVariantId) return;
      window.booster.currentVariantId = newVariantId;
      var optionSelector = "select.ba-variants[data-product-handle='" + window.booster.currentHandle  + "']"
      //Try to assign new value only if option present
      if ($(optionSelector +" option[value='" + newVariantId + "']").length > 0)  { $(optionSelector).val(newVariantId).trigger('change') }
    }
    setCurrentVariant(window.booster.currentVariantId);
    actOnVariantChange(setCurrentVariant);
    productPageTestOfferSeen();
    registerEvent('offer_view',{app_type: 'bundle',offer_id: ba_data.offerId})
    reloadCurrency();
  })

	
}

  function getResources(url,resource_name,max_quantity,collection,page,callback)
  {
    //stop extraction if we reached max_quantity
    if (collection.length >= max_quantity) {
      //adjust collection if too many objects extracted
      collection.splice(0, (collection.length - max_quantity));
      callback();
      return;
    }

    $.getJSON(url + ".json?page=" + page, function(data) {
      //if response include some resources
      if (data[resource_name] && data[resource_name].length > 0)
      {
        collection.push.apply(collection,data[resource_name])
        //get more items from the next page
        getResources(url,resource_name, max_quantity, collection, page + 1,callback);
      }
      else //no more resources present
      {
        collection.splice(0, (collection.length - max_quantity));
        callback();
      }
    })
  }

  function addCollectionUpsells(upsell_collection_arr,data,callback) {
    var products        = [];
    var upsell_items    = [];
    var collection =  upsell_collection_arr.collection[0]
    //Todo: loop over collection to get products from different collections?

    getResources("collections/" + collection.handle + "/products", 'products', 3, products, 1, function () {
      products.forEach(function (product) {
        //generate upsell items
        upsell_items.push({product: product,
                           handle: product.handle,
                           id: product.id,
                           discount_applies: upsell_collection_arr.discount_applies,
                           discount_method: upsell_collection_arr.discount_method,
                           offer_id: upsell_collection_arr.offer_id,
                           qty_left: upsell_collection_arr.qty_left,
                           upsell_note: upsell_collection_arr.upsell_note,
                           value: upsell_collection_arr.value})})
      //initialize upsell_array if necessary
      if (!data.discounts.upsell_arr) data.discounts.upsell_arr = [];
      //collect existing upsell product ids.
      var existing_product_ids = data.discounts.upsell_arr.map(function (item) { return item.id   });
      //add upsell items if they not present in the upsell_array yet
      upsell_items.forEach(function (item) {
        var product_position = existing_product_ids.indexOf(item.id)
         //Add or replace item to avoid additional requests to products.
        if (product_position > -1) {
          data.discounts.upsell_arr[product_position] = item;
        } else {
          data.discounts.upsell_arr.push(item);
        }

      })
      callback();
    })
  }

  function upsellDisplayPrice(discount_method,price,compare_at_price) {
    return (discount_method=='no_discount' && compare_at_price && compare_at_price != "") ?  baDisplayCents(compare_at_price) :  price;
  }

  function cssLengthWord(value) {
      switch (value) {
      case 1:
         return 'one'
        break;
      case 2:
        return 'two'
        break;
      case 3:
        return 'three'
        break;
      case 4:
       return 'four'
        break;
      default:
        return 'two'
    }
  }

  function generateUpsellProduct(data,offerId,upsellNote,discount_applies,discount_method,discount_value)
  {
    var prod = data.product;
    prod.offer_id = offerId;
    prod.upsell_note = upsellNote;
    prod.discount_applies = discount_applies;
    prod.variantsStyle = "";
    prod.variantsSelect = "";
  

    for (var i = 0; i < prod.variants.length; i++) {
      if (typeof prod.variants[i].price == "string") {
        prod.variants[i].price = parseFloat(prod.variants[i].price) * 100
      }
      if (typeof prod.variants[i].compare_at_price == "string") {
        prod.variants[i].compare_at_price = parseFloat(prod.variants[i].compare_at_price) * 100
      }
      prod.variants[i].og_compare_at_price = prod.variants[i].compare_at_price;
      prod.variants[i].og_price = prod.variants[i].price;
      if (prod.variants[i].compare_at_price && prod.variants[i].compare_at_price > prod.variants[i].price) {
        prod.variants[i].compare_at_price = prod.variants[i].compare_at_price
      } else {
        prod.variants[i].compare_at_price = ""
      }
      prod.variants[i].price = baDiscountedPrice(prod.variants[i].price, discount_applies, discount_method, discount_value);
      

    }

    //Try to create product image property if it's missing.
    if (typeof prod.image != "object" && typeof prod.images == "object")  {prod.image = prod.images[0];}

    if (prod.variants.length == 1) {
      prod.variantsStyle = "display: none;";
    } else {
      var variantsHtml = "";
      prod.variants.map(function (variant) {
        if (typeof variant.inventory_management == "string" && variant.inventory_management == "shopify") {
          if (typeof variant.inventory_policy == "string" && variant.inventory_policy == "deny" && typeof variant.inventory_quantity == "number" && variant.inventory_quantity <= 0) {
            return
          }
        }
        var baImg = "";
        var image_id;
        //When product received from collection it will include featured_image otherwise image_id
        if (variant.image_id != null && typeof variant.image_id == "number")
        {
          image_id = variant.image_id;
        }
        if (variant.featured_image && typeof variant.featured_image.id == "number")
        {
          image_id = variant.featured_image.id;
        }

        if (image_id) {
          var varImgs = prod.images.filter(function (pi) {
            return pi.id == image_id
          });
          if (varImgs.length) {
            baImg = varImgs[0].src
          }
        } else {
          if (typeof prod.image == "object" && prod.image && typeof prod.image.src == "string") {
            baImg = prod.image.src
          }
        }

        var n = baImg.lastIndexOf(".");
        if (n >= 0) {
          var s = baImg.substring(0, n) + "_medium." + baImg.substring(n + 1);
          baImg = s
        }
        variantsHtml += "<option value='" + variant.id + "' data-img='" + baImg + "' data-price='" + variant.og_price + "' data-compare-at-price='" + variant.og_compare_at_price + "'>";
        variantsHtml += variant.title + "</option>"
      });
      prod.variantsSelect = "<select class='ba-variants'>";
      prod.variantsSelect += variantsHtml + "</select>"
    }

    if (typeof prod.image == "object" && prod.image && typeof prod.image.src == "string") {
      var n = prod.image.src.lastIndexOf(".");
      if (n >= 0) {
        var s = prod.image.src.substring(0, n) + "_medium." + prod.image.src.substring(n + 1);
        prod.image.src = s
      }
    }
    prod.link =   "/products/" + prod.handle ;
    prod.linkClass =  '' ;
    return prod;
  }

  var currentFunnel       = null;
  var mainFunnel          = null;
  var firstFunnel         = true;
  var funnelRefusedTimes  = 0;
  var funnelRefusedLimit  = 1;
  var funnelProductAdded  = false;
  var upsellItemAdded     = false;
  var allFunnelProducts   = null;

  function showBaUpsell(ba_data){
    if (window.selector_mode) {return;}
    var upsell_items    = (ba_data.discounts["upsell_items"] || {})
    var replaceTriggers = upsell_items["replace_trigger"]    || false
    var replaceItems    = upsell_items["items"]              || []
    var replaceVariants = replaceItems.map(function(i){ return i["variant_id"] }) || []

    var arr = [];
    var products = [];
    var upsellItem = ba_data.discounts.upsell_arr[0];
    var offerId = upsellItem.offer_id;
    var upsellNote = upsellItem.upsell_note;
    var discount_applies = upsellItem.discount_applies;
    var discount_method = upsellItem.discount_method;
    var discount_value = upsellItem.value;
    if (ba_data.discounts.funnel && ba_data.discounts.funnel[1]) {
       currentFunnel = ba_data.discounts.funnel[1];
       mainFunnel    = ba_data.discounts.funnel;
    }


    //Limit amount of products according to shop settings
    ba_data.discounts.upsell_arr.splice(0,ba_data.discounts.upsell_arr.length - 10 )
    //populate arr with async actions
    ba_data.discounts.upsell_arr.map(function(p){
      if (p.product){
        arr.push(new Promise(function(resolve, reject) {
                   products.push(generateUpsellProduct({product: p.product},offerId,upsellNote,discount_applies,discount_method,discount_value))
                   resolve(true);
                }));
      }
      else {
        arr.push($.getJSON("/products/" + p.handle + ".json", function(data){
                    products.push(generateUpsellProduct(data,offerId,upsellNote,discount_applies,discount_method,discount_value ));
                }).fail(function(jqXHR, textStatus, errorThrown){
                   postNotFoundError(p.handle);
                }))
      }
	});

	if (arr.length == 0) {
    return
	}
	$.when.apply($, arr).done(function() {
      if (products.length == 0) {
        return
      }
      var noVariants = true;
      for (var i = 0; i < products.length; i++) {
        var offerId = products[i].offer_id;
        var upsellNote = products[i].upsell_note;
        var discount_applies = products[i].discount_applies;
        if (products[i].variants.length > 1) {
          noVariants = false
        }
        products[i].quantity = 1;
        var curProd = ba_data.discounts.upsell_arr.filter(function(p) {
          return p.id == products[i].id
        });
        if (curProd.length == 1 && curProd[0].qty > 1) {
          products[i].quantity = curProd[0].qty
        }
        if (curProd.length == 1 && curProd[0].qty_left) {
          products[i].qty_left = curProd[0].qty_left
        }
      }
      if (noVariants){
        for (var i = 0; i < products.length; i++) {
          products[i].variantsStyle = "height: 0px;"
        }
      }

    var cssLength = cssLengthWord(products.length)

    var source = $("#ba-upsell").html();
    var multiple_products = products.length > 1;
    var context = {
      multiple_products: multiple_products.toString(),
      discount_applies: discount_applies.toString(),
      upsell_note: upsellNote,
      products: products,
      css_length: cssLength,
      ba_plus_url: baPlusImageUrl,
      offer_id: offerId,
      discount_method: discount_method,
      discount_value:  discount_value,
      replace_trigger: replaceTriggers,
      replaceVariants: (replaceVariants || []).join(',')

    };
    var template = baHandlebars.compile(source);
    var html = template(context);
    $('body').append(html.replace(/undefined/g, ' '));
    
    
    $('#dpModal-container').addClass('ba_default_animation').dpModal().addClass('ba_show_animation')
    registerBuyxTestOfferSeen();
    registerEvent('offer_view',{app_type: 'buyx',offer_id: offerId});
    reloadCurrency();
   
    });
  }

  function registerBuyxTestOfferSeen(){
    if ((localStorage.getItem('bd_first_test_offer_return_url') || '').length == 0){return};
    if($('div#dpModal-container:visible').length > 0){
      var result = "success";
    } else {
      var result = "error";
    }
    checkAndShowPreviewJs('buyx', result);
    $.ajax({cache: false,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            type: "POST",
            url: settings.app_root_url,
            data: JSON.stringify({action_type: 'first_test_offer_seen', app: 'buyx', result: result}),
            success: function(res) {
            }})
  }

  function productPageTestOfferSeen(){
    if (document.location.search.indexOf("test_product_offer=1") > -1){
      if (document.location.search.indexOf("bundle_test_product_offer=1") > -1){
        var appType = 'bundle';
        var appVisible = $('div.ba-bundle-wrapper:visible').length > 0
        if (appVisible == true){window.scrollTo(0, $('div.ba-bundle-wrapper:visible').offset().top - 100)}
      } else if (document.location.search.indexOf("dp_test_product_offer=1") > -1){
        var appType = 'dp';
        var appVisible = $('div.ba-vol-wrapper:visible').length > 0
        if (appVisible == true){window.scrollTo(0, $('div.ba-vol-wrapper:visible').offset().top - 100)}
      }

      if (appType){
        if (appVisible == true){
          var result = "success";
        } else {
          var result = "error";
        }
        checkAndShowPreviewJs(appType, result);
        $.ajax({cache: false,
              contentType: "application/json; charset=utf-8",
              dataType: "json",
              type: "POST",
              url: settings.app_root_url,
              data: JSON.stringify({action_type: 'first_test_offer_seen', app: appType, result: result}),
              success: function(res) {
              }})
      }
    }
  }

  function showVolDiscounts(data){
    var source = $("#ba-discount-tiers").html();
    var context = {
      product_message: data.offer_product_message || "Buy at discounted prices",
      vol_rows: data.vol_rows
    };
    var template = baHandlebars.compile(source);
    var html = template(context);
    $('div.ba-vol-wrapper').html(html);
    productPageTestOfferSeen();
    
  }

  function baDelegate(data) {
    if(data.vol_rows && data.vol_rows.length > 0 && (data.type == 'vd' || data.type == 'bundle')){
      
        
          var vdElement = $("form[action*='/cart/add']").first();
        

        if($('.ba-vol-wrapper').length == 0){
          
            vdElement.after("<div class='ba-vol-wrapper'></div>");
          
        }

        showVolDiscounts(data)
      
    }

    if(data.ba_bundles){
      window.booster.currentVariantId = getUrlParam('variant');
      window.booster.currentHandle    = lastUrlSegment();
      if($('.ba-bundle-wrapper').length == 0){
          var referenceElement,bundle_placed;
          var bundle_wrapper= "<div class='ba-bundle-wrapper'></div>";

          

          if (!bundle_placed) {
              referenceElement = $("form[action*='/cart/add']").first();
              referenceElement.after(bundle_wrapper);
          }
      }

      var isPreview  = (document.location.search.indexOf("preview_offer=1") > -1);
      var checkStock = false;
      $(data.ba_bundles).each(function(i,ba)  {
        if (checkStock && !isPreview)  {
          var productHandles = ba.items.map(function(p){ return p.handle });
          allBundleItemsInStock(productHandles,function(allInStock)  {
            //Show only if all products are in stock
            if (allInStock){ showBoosterBundle(ba) }
          })
        } else {
          //old version
          showBoosterBundle(ba);
        }
      });
    }

    //Will return an instance or null if item is not an object.
    var isObject             = function(obj) { return (typeof obj === "object") ? obj : null;}
    var discounts_present    = isObject(data.discounts);

    if (discounts_present) {
      var upsellCollectionPresent = (isObject(data.discounts.upsell_collection_arr) && (data.discounts.upsell_collection_arr.collection || []).length > 0);
      var upsellProductsPresent   = function(){return ((isObject(data.discounts.upsell_arr) || []).length > 0)} //function because 'upsell_arr' updated in out_of_stock_feature_enabled = false version
      //Check and run showBaUpsell
      var checkBaUpsell = function () {
        
          //Old implementation(no stock check)
          if (upsellProductsPresent()) { showBaUpsell(data);}
        
      }

      //check if need to add upsells items from collections(ignored by stock version)
      if (upsellCollectionPresent && true) {
        addCollectionUpsells(data.discounts.upsell_collection_arr, data, function () {
          checkBaUpsell()
        })
      }
      else {
        checkBaUpsell();
      }

      if ((isObject(data.notifications) || []).length > 0 && (data.discounts.upsell_arr || []).length == 0) {
        showBoosterNotification(data.notifications,data)
      }

      if (isObject(data.discounts.cart) && isObject(data.discounts.cart.items)) {
        showCartDiscounts(data.discounts)
      }
    }

    reloadCurrency();
  }

  function showCartDiscounts(discounts) {
    window.booster.discounts = discounts;

    for (var i = 0; i < discounts.cart.items.length; i++) {
      var item = discounts.cart.items[i];

      if (item.discounted_price < item.original_price) {
        $(".booster-cart-item-price[data-key='" + item.key + "']").html("<span class='original_price '>" + item.original_price_format + "</span>" + "<span class='discounted_price '>" + item.discounted_price_format + "</span>");
        $(".booster-cart-item-line-price[data-key='" + item.key + "']").html("<span class='original_price '>" + item.original_line_price_format + "</span>" + "<span class='discounted_price '>" + item.discounted_line_price_format + "</span>")
      }

      $(".booster-cart-item-upsell-notes[data-key='" + item.key + "']").html(item.upsell_note);
      $(".booster-cart-item-success-notes[data-key='" + item.key + "']").html(item.success_note);
    };

    //Avoid any actions if no discounts present in any form.
    if (typeof discounts.discounted_price_html != "string") {
        return
    }

    
      $('.additional_checkout_buttons,.additional-checkout-button,.additional-checkout-buttons').hide();
      addGlobalStyle('.additional_checkout_buttons, .additional-checkout-button, .additional-checkout-buttons  {display:none !important;}')
    

    //Adjust cart totals only if positive discount present
    if (discounts.positive_discount) { displayCartTotals(discounts)}

    //WIP for zero discounts
    if (discounts.zero_discount_only || window.booster.cart.total_price == 0){
      $('form[action*="/cart"]').append("<input type='hidden' value='1' name='attributes[ba_identifier]'>");
      try{ window.booster.cart.attributes["ba_identifier"] = 1 } catch (ex){}
      return
    }

    var checkout_selectors = ["input[name='checkout']", "button[name='checkout']", "[href$='checkout']", "input[name='goto_pp']", "button[name='goto_pp']", "input[name='goto_gc']", "button[name='goto_gc']", ".additional-checkout-button", ".google-wallet-button-holder", ".amazon-payments-pay-button"];
    checkout_selectors.forEach(function(selector) {
        var els = document.querySelectorAll(selector);
        if (typeof els == "object" && els) {
            for (var i = 0; i < els.length; i++) {
                var el = els[i];
                if (typeof el.addEventListener != "function") {
                    return
                }
                el.addEventListener("click", function(ev) {
                  ev.preventDefault();
                  try {
                    

                    DiscountedPricingCheckout(ev);
                  }
                  catch(err) {
                    window.location = '/checkout';
                  }
                }, false);
            }
        }
    })
  }

  function displayCartTotals(discounts)
  {
      if ($(".wh-original-cart-total span.wh-original-price").length > 0) {
          $(".wh-original-cart-total span.wh-original-price").css("text-decoration", "line-through");
      } else {
          $(".wh-original-cart-total").css("text-decoration", "line-through");
      }

      $(".wh-cart-total").html("<span class=''>" + discounts.discounted_price_html + "</span>");

      if (discounts.summary_item_html) {
          var boosterSummaryItemHtml = discounts.summary_item_html;
      } else {
          var boosterSummaryItemHtml = "";
      }
      //some cart_subtotal hiden
      $('.subtotal .cart_savings.sale').hide();


      
      $(".wh-cart-total").prepend("<span class='booster-messages'><div id='booster-summary-item'>" + boosterSummaryItemHtml + "</div><div id='booster-discount-item'></div><div class='booster-discounts-wrapper'><input type='text' id='booster-discount-code' placeholder='Discount Code'><button id='apply-booster-discount' class='btn btn--secondary'>Apply</button></div></span>");
      if (window.booster.discount_code) {
          $('input[id=booster-discount-code]:visible').val(window.booster.discount_code);
          $('div[id=booster-discount-item]').html(discounts.discount_item_html);
      }
      
      $(".wh-cart-total span").css("text-decoration", "none");

      

      reloadCurrency()
  }

  function showBoosterNotification(notifications,data){
     //no notification when we in selector mode.
     if (window.selector_mode) return;
    
    if ((getCookie('booster_notifications_closed') != 1) && notifications != ""){

        var notification_placed = false;
        var lines = [];
        notifications.forEach(function(l){ lines.push("<span>" + l + "</span>") });
        notifications = lines;
        var barHtml = "<div id='booster-notification-bar'><div id='booster-close-notification'>X</div>" + notifications.join(" ") + "</div>";

        

        

        

        if (!notification_placed){
            
            var barElements = ["main", "div.content", "section.main-content", "div#content"];
            barElements.forEach(function(el){
                if ($('#booster-notification-bar').length == 0){
                    if (el == 'main'){
                        $(el).prepend(barHtml);
                    } else {
                        $(el).before(barHtml);
                    }
                }
            });
            
        }

        if ($('#booster-notification-bar').length > 0){
            
              $('#booster-notification-bar').slideDown('slow');
            
        }

      
      }

  }

  function addBoosterBundle(e){
    e.preventDefault();
    var boosterBundleItems = [];

    $(e.target).parents(".ba-product-bundle").find(".ba-product-wrapper").each(function() {
      var i = {id: $(this).data("variant-id"),quantity: $(this).data("quantity")};
      boosterBundleItems.push(i);
    });

    addBoosterItems(boosterBundleItems, function(){
      setTimeout(function() {window.location.href = "/cart"}, 200)
    });

  }


  function addBoosterUpsells(target){
   var btn = $(target);
   var boosterUpsellItems = [];

   var container = btn.parents(".product-container");
   var offer_id  = btn.data("offer-id")
   
   var i         = {id: container.data("variant-id"),quantity: container.data("quantity")};
   boosterUpsellItems.push(i);

 
   addBoosterItems(boosterUpsellItems, function(){
     setTimeout(function() {window.location.href = "/cart"}, 200)
   });
 
 }




 function addBoosterItems(variants, callback) {
	if (variants.length) {
      var i = variants.shift();
	  $.ajax({
        url: "/cart/add.js",
        type: "POST",
        dataType: "json",
        data: i,
        success: function(data) {
          addBoosterItems(variants, callback)
        },
        error: function(data) {
          if (typeof data == "object" && typeof data.responseJSON == "object" && typeof data.responseJSON.description == "string") {
            alert(data.responseJSON.description)
          }
          if (typeof res == "string") {
            alert(data)
          }
        }
      })
	} else {
      if (typeof callback == "function") {
        return callback()
      }
      setTimeout(function() {
        window.location.reload()
      }, 100)
	}
}

  function DiscountedPricingCheckout(e){
    
    if ($("input[type='checkbox']#agree").length > 0 && $("input[type='checkbox']#agree:checked").length != $("input[type='checkbox']#agree").length) {
      return
    }
    

    $(e.target).prop("disabled", 'disabled');

    for (var i = 0; i < window.booster.cart.items.length; i++) {
      var item = window.booster.cart.items[i];
      var el = document.querySelectorAll("[id='updates_" + item.key + "']");
      if (el.length != 1) {
        el = document.querySelectorAll("[id='updates_" + item.variant_id + "']")
      }
      if (el.length == 1) {
        window.booster.cart.items[i].quantity = el[0].value
      }
    }

    window.booster.action_type = 'checkout';

    var invoiceUrlParams = [];

    var noteAttributes = [];
    $("[name^='attributes']").each(function() {
      var attribute = $(this);
      var name = $(this).attr("name");
      name = name.replace(/^attributes\[/i, "").replace(/\]$/i, "");
      var v = {
        name: name,
        value: attribute.val()
      };
      if (v.value == "") {
        return
      }
      switch (attribute[0].tagName.toLowerCase()) {
        case "input":
          if (attribute.attr("type") == "checkbox") {
            if (attribute.is(":checked")) {
              noteAttributes.push(v)
            }
          } else {
            noteAttributes.push(v)
          }
          break;
        default:
          noteAttributes.push(v)
      }
    });

    var orderNote = "";
    if ($("[name='note']").length) {
      orderNote = $("[name='note']")[0].value
    }
    window.booster.cart.note_attributes = noteAttributes;
    window.booster.cart.note = orderNote;

    if (orderNote.length){
      invoiceUrlParams.push("note=" + encodeURIComponent(orderNote))
    }

    if (noteAttributes.length){
      noteAttributes.map(function(a) {
        invoiceUrlParams.push("attributes" + encodeURIComponent("[" + a.name + "]") + "=" + encodeURIComponent(a.value))
      })
    }

    if(window.booster.discount_method == 'code'){
      $.ajax({
        cache: false,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        type: "POST",
        url: settings.app_root_url,
        data: JSON.stringify(window.booster),
        success: function(res) {
          res.invoice_url = '/checkout';
          if (res.discount_code) {
            setCookie('ba-pr-id', res.pr_id, 14);
            invoiceUrlParams.push("discount=" + res.discount_code);
          }
          if (invoiceUrlParams.length) {
            res.invoice_url += "?" + invoiceUrlParams.join("&")
          }
          window.location.href = res.invoice_url
        },
        error: function(){
          window.location.href = "/checkout"
        }
      })


    } else {

      if (typeof window.gaclientId) {
        invoiceUrlParams.push("clientId=" + window.gaclientId);
        invoiceUrlParams.push("_ga=" + window.gaclientId)
      }

      $.ajax({
        cache: false,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        type: "POST",
        url: settings.app_root_url,
        data: JSON.stringify(window.booster),
        success: function(res) {
          if(res.invoice_url){
            if (invoiceUrlParams.length) {
              res.invoice_url += "?" + invoiceUrlParams.join("&")
            }
            setTimeout(function(){
              window.location.href = res.invoice_url
            }, 500);
          } else {
            window.location.href = "/checkout"
          }
        },
        error: function(){
          window.location.href = "/checkout"
        }
      })

    }


  }

  function openReplacement(method, url, async, user, password) {
      return open.apply(this, arguments);
  }

  function sendReplacement(data) {
      //console.warn('Sending HTTP request data : ', data);
      if(this.onreadystatechange) {
          this._onreadystatechange = this.onreadystatechange;
      }
      this.onreadystatechange = onReadyStateChangeReplacement;
      return send.apply(this, arguments);
  }

  function onReadyStateChangeReplacement() {
      //console.warn('HTTP request ready state changed : ' + this.readyState);
      //if(this._onreadystatechange) {
      //    return this._onreadystatechange.apply(this, arguments);
      //}

      if(this.readyState===4){
        //console.log("Success! " + this._url);
        if (this._url == '/cart/change.js'){
          window.location.reload();
        }
      }
  }

  


  function notifyCalculationsInProgress()  {
    
    return true;
  }

  function hideCalculationsInProgressNote()  {
   
    return true;
  }

  if(window.booster.ba_page == 'cart'){
    var skipIds = getCookie('ba-skip-ids');
    if (skipIds){
      window.booster.skip_ids = skipIds;
    }
  }

  //Get offer test token to enable testing
  var previewOfferToken = localStorage.getItem('bd_first_test_offer_token');
  if(previewOfferToken){
  window.booster.ba_test_offer_token = previewOfferToken;
  } else {
  window.booster.ba_test_offer_token = getUrlParam('ba_test_offer_token');
  }

  if(window.booster.ba_page.length > 0){
    notifyCalculationsInProgress();
    $.ajax({
      cache: false,
      type: "POST",
      url: settings.app_root_url,
      data: JSON.stringify(window.booster),
      dataType: 'json',
      contentType: "application/json; charset=utf-8",
      success: function(data) {
        
          baDelegate(data)
        
      }
    });
  }

  setTimeout(function(){
    if (typeof ga == "function"){ga(function(tracker) {window.gaclientId = tracker.get("clientId")})}
  }, 1000);

  function getRefreshDelayValue(){
    var delaySubmit = '';
    if( isMobileBrowser() ){
      delaySubmit = "2";
    }else{
      delaySubmit = "0.5";
    }
    return parseFloat(delaySubmit) * 1000; // convert to milliseconds
  }

  function submitCartForm(){
    setTimeout(function(){ $('form[action*="/cart"]').submit()}, 300);
  }

 

    var debutEditBtnExists = ($('div.cart__edit button.btn.cart__edit--active:visible').length > 0);
    var qtyInputEvent = debutEditBtnExists ? "" :  "input " ;
    $(document).on(qtyInputEvent + 'change', "input.booster-quantity, input[name^='updates['], input[id^='updates_'], input[id^='Updates_']", function(e) {
      var self = this;
      e.preventDefault();
    
      if($.trim($(this).val()) != '') {
         notifyCalculationsInProgress();
        //Delay cart submit to make input more user friendly specially on mobile
        setTimeout(function(){  submitCartForm()  }, getRefreshDelayValue());
      };
    });

  if(window.booster.ba_page == 'cart'){

    $(document).on('click', "td.cart-qty span.icon-plus, td.cart-qty span.icon-minus", function(e) {
      e.preventDefault();
      $(this).parents('form[action*="/cart"]').submit();
    });

    $(document).ajaxSuccess(function(evt,xhr,attrs) {
      if (attrs && attrs.url == '/cart/change.js'){
        window.location.reload();
      }
    });

  
    setTimeout(function(){
      $('.js-qty__adjust').off('click');
    }, 500);
    $(document).on('click', "div.js-qty .js-qty__adjust", function(e) {
      e.preventDefault();
  	  var currentValue = parseInt($(this).parents('div.js-qty').find('input').val());
  	  if($(this).hasClass('js-qty__adjust--plus')){
        var newValue = currentValue + 1
      } else {
        var newValue = currentValue - 1
      }
      $(this).parents('div.js-qty').find('input').val(newValue).change();
    });
  
  }

  $(document).on('change', 'select.ba-variants', function(){
      var option = $(this).find(":selected");
      var price  = baDisplayCents(option.data('price'));
      var cont = option.parents('.ba-product-wrapper');
      var img  = option.data('img');

       
        cont.find('.ba-price span.ba-sale').html(price);
       

      cont.data("variant-id", option.val());
      cont.find('img').attr('src', img);
      reloadCurrency();
      return false;
    });

  $(document).on('change', '#dpModal-container select.ba-variants', function(){
      var option = $(this).find(":selected");
      var upsellCont = option.parents('.ba-product-bundle');
      var cont = option.parents('.product-container');
      var discountMethod = upsellCont.data('discount-method');
      var discountValue  = upsellCont.data('discount-value');
      var discountApplies  = upsellCont.data('discount-applies');
      var compare_at_price = option.data('compare-at-price');
      var price  = baDiscountedPrice(option.data('price'), discountApplies, discountMethod, discountValue);
      var img 	 = option.data('img');

      cont.data("variant-id", option.val());
    
      cont.find('span.ba-sale').html(price);
    
      cont.find('img').attr('src', img);
      reloadCurrency();
      return false;
  });

  $(document).on('click', ".add-booster-bundle", function(e) {
    e.preventDefault();
    addBoosterBundle(e);
    
  });

  $(document).on('click', ".add-upsells", function(e) {
    e.preventDefault();
    addBoosterUpsells(e.target);
    var offerId = $(this).data('offerId')
    registerEvent('offer_add_cart',{app_type: 'buyx',offer_id:  offerId})
  });

  

  $(document).on($.dpModal.BEFORE_CLOSE, function(event, modal){
    var link = $('#dpModal-container').find('.no-thanks a');
    var offerId = link.data('offer-id');
    hideUpsell(offerId)
    refreshIfProductAdded();
  });

  function hideUpsell(offerId){
    var currentSkipIds = getCookie('ba-skip-ids');
    if (currentSkipIds && currentSkipIds !='') currentSkipIds += ','
    var allSkipIds = currentSkipIds + offerId;
    
      setCookie('ba-skip-ids', allSkipIds, 14);
    
  }

  function refreshIfProductAdded(){
  
    return true;
  }


 
  $(document).on('click', '.no-thanks a', function(){
    var link = $(this);
    var offerId = link.data('offer-id')
    hideUpsell(offerId)
    $.dpModal.close()
    return false;
  });


  $(document).on('click', "button#apply-booster-discount", function(e) {
    e.preventDefault();
    setCookie('booster_discount_' + window.booster.cart.token, $('input[id=booster-discount-code]:visible').val().trim())
    window.location.reload();
  });

  $(document).on('click', "div#booster-close-notification", function(e) {
    e.preventDefault();
    //var closedNotifications = getCookie('booster_notifications_closed')
    setCookie('booster_notifications_closed', 1, 0.01);
    $('#booster-notification-bar').slideUp('slow');
  });

  $(document).on('click','.booster-variants-container select.ba-variants',function()  {
    //Just an alert in case all variants are out of stock
    if ($(this).children('option').length < 1)  {
      alert('All item variants are out of stock');
    }
  })



})
}(window, document));
</script>


<script type="text/javascript">
  if(window.location.search.indexOf('selector_mode') > -1){
    var head = document.getElementsByTagName('head')[0];
    var script = document.createElement('script');
    
    window.selector_mode = true;
    script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'buyx.boosterapps.com/selector.js?v=2';
    script.type = 'text/javascript';
    head.appendChild(script);
  }
</script>

    <!-- ReviewXpo Product Scripts Start -->

    <script>
        var ReviewXpo = ReviewXpo || {};

        ReviewXpo.productRatings = null;
        ReviewXpo.productReviews = null;
    </script>

    <!-- ReviewXpo Product Scripts End -->

    <!-- ReviewXpo Global Scripts Start -->

     <script>
     var ReviewXpo = ReviewXpo || {};

     ReviewXpo.clientId = "0wmz-sIFTYUSZ-IEwB";
     ReviewXpo.url = "https://client-a.reviewxpo.app";
     ReviewXpo.shopName = "dimok.myshopify.com";
     ReviewXpo.shopDomain = "www.dimok.us";
     ReviewXpo.settings = {"anonymous":null,"review_widget":{"outline":{"layout_type":"masonry","summary_type":"top_compact","review_block_style":"drop_shadow","per_page_reviews":10,"review_block_radius":"rounded"},"show_summary":true,"show_country_flag":false,"customer_preferences":{"enabled":false,"only_positive_reaction":false},"source":"auto","colors":{"card_color":"#FFFFFF","button_color":"#202020","button_text_color":"#FFFFFF","primary_text_color":"#202020","secondary_text_color":"#404040","accent_color":"#D6D6D6","outline_color":"#D6D6D6","rating_color":"#202020"},"labels":{"heading_text":null,"button_text":null,"replier_name":null},"review_form_type":"popup","active_status":1,"review_preview_modal":{"enabled":true},"recaptcha":{"enabled":true},"rating":{"type":"1","icon_type":"104"}},"rating_widget":{"setting":{"source":"custom","show_collection_status":1,"active_status":1,"rating":{"short_code":"[STAR_ICON]([AVERAGE_RATING])[TOTAL_RATING]","type":"1","icon_type":"104"},"align_collection":"center","visibility_rules":{"rating_min":1},"show_empty_star":true,"rating_color":"#f0f122"}},"review_attachment":{"enable":false,"show_attached":true},"custom_questions":null,"multicriteria":null,"app_version":"3.4.2"};
     ReviewXpo.locale =  Shopify.locale;
     ReviewXpo.generalSetting = {"seo_review_snippet":{"enable":true}};
     ReviewXpo.brandingSetting = {"show_reviewxpo_logo":true,"card_radius":"rounded","rating":{"color":"#202020","type":"1","icon_type":"104"}};
     ReviewXpo.parentOrigin = (window.location.ancestorOrigins && window.location.ancestorOrigins.length > 0 && window.location.ancestorOrigins[0]) || (document.location.origin === "https://admin.shopify.com" && document.location.origin) || '';
 </script>
 <script async src="/apps/reviewxpo/scripts/storefront.js?shop=dimok.myshopify.com&v=3.4.2"></script>


    <!-- ReviewXpo Global Scripts End -->
<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
</body>
</html>
