@faststore/core 2.0.175-alpha.0 → 2.0.176-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/build-manifest.json +123 -0
  3. package/.next/cache/.tsbuildinfo +1 -0
  4. package/.next/cache/config.json +7 -0
  5. package/.next/cache/eslint/.cache_1gneedd +1 -0
  6. package/.next/cache/next-server.js.nft.json +1 -0
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/export-marker.json +1 -0
  12. package/.next/images-manifest.json +1 -0
  13. package/.next/next-server.js.nft.json +1 -0
  14. package/.next/package.json +1 -0
  15. package/.next/prerender-manifest.json +1 -0
  16. package/.next/react-loadable-manifest.json +44 -0
  17. package/.next/required-server-files.json +1 -0
  18. package/.next/routes-manifest.json +1 -0
  19. package/.next/server/chunks/123.js +58 -0
  20. package/.next/server/chunks/143.js +106 -0
  21. package/.next/server/chunks/183.js +90 -0
  22. package/.next/server/chunks/205.js +722 -0
  23. package/.next/server/chunks/247.js +61 -0
  24. package/.next/server/chunks/253.js +535 -0
  25. package/.next/server/chunks/280.js +324 -0
  26. package/.next/server/chunks/287.js +58 -0
  27. package/.next/server/chunks/289.js +229 -0
  28. package/.next/server/chunks/312.js +697 -0
  29. package/.next/server/chunks/350.js +143 -0
  30. package/.next/server/chunks/368.js +253 -0
  31. package/.next/server/chunks/378.js +326 -0
  32. package/.next/server/chunks/487.js +9142 -0
  33. package/.next/server/chunks/502.js +626 -0
  34. package/.next/server/chunks/513.js +257 -0
  35. package/.next/server/chunks/576.js +90 -0
  36. package/.next/server/chunks/597.js +211 -0
  37. package/.next/server/chunks/650.js +9142 -0
  38. package/.next/server/chunks/676.js +32 -0
  39. package/.next/server/chunks/701.js +87 -0
  40. package/.next/server/chunks/74.js +3899 -0
  41. package/.next/server/chunks/825.js +4039 -0
  42. package/.next/server/chunks/854.js +72 -0
  43. package/.next/server/chunks/859.js +959 -0
  44. package/.next/server/chunks/886.js +120 -0
  45. package/.next/server/chunks/907.js +1803 -0
  46. package/.next/server/chunks/98.js +124 -0
  47. package/.next/server/chunks/font-manifest.json +1 -0
  48. package/.next/server/font-manifest.json +1 -0
  49. package/.next/server/middleware-build-manifest.js +1 -0
  50. package/.next/server/middleware-manifest.json +6 -0
  51. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  52. package/.next/server/pages/404.js +393 -0
  53. package/.next/server/pages/404.js.nft.json +1 -0
  54. package/.next/server/pages/500.js +395 -0
  55. package/.next/server/pages/500.js.nft.json +1 -0
  56. package/.next/server/pages/[...slug].js +786 -0
  57. package/.next/server/pages/[...slug].js.nft.json +1 -0
  58. package/.next/server/pages/[slug]/p.js +2325 -0
  59. package/.next/server/pages/[slug]/p.js.nft.json +1 -0
  60. package/.next/server/pages/_app.js +281 -0
  61. package/.next/server/pages/_app.js.nft.json +1 -0
  62. package/.next/server/pages/_document.js +340 -0
  63. package/.next/server/pages/_document.js.nft.json +1 -0
  64. package/.next/server/pages/_error.js +164 -0
  65. package/.next/server/pages/_error.js.nft.json +1 -0
  66. package/.next/server/pages/account.js +370 -0
  67. package/.next/server/pages/account.js.nft.json +1 -0
  68. package/.next/server/pages/api/graphql.js +365 -0
  69. package/.next/server/pages/api/graphql.js.nft.json +1 -0
  70. package/.next/server/pages/api/preview.js +119 -0
  71. package/.next/server/pages/api/preview.js.nft.json +1 -0
  72. package/.next/server/pages/checkout.js +370 -0
  73. package/.next/server/pages/checkout.js.nft.json +1 -0
  74. package/.next/server/pages/en-US/404.html +81 -0
  75. package/.next/server/pages/en-US/404.json +1 -0
  76. package/.next/server/pages/en-US/500.html +81 -0
  77. package/.next/server/pages/en-US/500.json +1 -0
  78. package/.next/server/pages/en-US/account.html +81 -0
  79. package/.next/server/pages/en-US/account.json +1 -0
  80. package/.next/server/pages/en-US/checkout.html +81 -0
  81. package/.next/server/pages/en-US/checkout.json +1 -0
  82. package/.next/server/pages/en-US/login.html +81 -0
  83. package/.next/server/pages/en-US/login.json +1 -0
  84. package/.next/server/pages/en-US/s.html +81 -0
  85. package/.next/server/pages/en-US/s.json +1 -0
  86. package/.next/server/pages/en-US.html +81 -0
  87. package/.next/server/pages/en-US.json +1 -0
  88. package/.next/server/pages/index.js +1026 -0
  89. package/.next/server/pages/index.js.nft.json +1 -0
  90. package/.next/server/pages/login.js +375 -0
  91. package/.next/server/pages/login.js.nft.json +1 -0
  92. package/.next/server/pages/s.js +473 -0
  93. package/.next/server/pages/s.js.nft.json +1 -0
  94. package/.next/server/pages-manifest.json +16 -0
  95. package/.next/server/webpack-api-runtime.js +229 -0
  96. package/.next/server/webpack-runtime.js +229 -0
  97. package/.next/static/chunks/143.dd8a556e6957baa1.js +1 -0
  98. package/.next/static/chunks/21-5b0c50a44b0ed6ce.js +1 -0
  99. package/.next/static/chunks/234-7d72b0ee52936c13.js +1 -0
  100. package/.next/static/chunks/460-08f41a79ff49f7be.js +1 -0
  101. package/.next/static/chunks/495.0ecd099878b2a36d.js +1 -0
  102. package/.next/static/chunks/502.ec90d1859d393d34.js +1 -0
  103. package/.next/static/chunks/597.f8d0595b113c70af.js +1 -0
  104. package/.next/static/chunks/64.ebbe1d2b40f980c7.js +1 -0
  105. package/.next/static/chunks/651.7142f31ce1e052b3.js +1 -0
  106. package/.next/static/chunks/682-87e51207e723f53f.js +1 -0
  107. package/.next/static/chunks/741.52f7fb873418346f.js +1 -0
  108. package/.next/static/chunks/98.97381d2021f86cd9.js +1 -0
  109. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +1 -0
  110. package/.next/static/chunks/main-fd466221927468fd.js +1 -0
  111. package/.next/static/chunks/pages/404-e7a1846b72ad3430.js +1 -0
  112. package/.next/static/chunks/pages/500-0f4d738fa1caac78.js +1 -0
  113. package/.next/static/chunks/pages/[...slug]-119a323292c7e3af.js +1 -0
  114. package/.next/static/chunks/pages/[slug]/p-3c424924080d88cb.js +1 -0
  115. package/.next/static/chunks/pages/_app-79d333aa6001a806.js +1 -0
  116. package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +1 -0
  117. package/.next/static/chunks/pages/account-bbe1795b8566f75a.js +1 -0
  118. package/.next/static/chunks/pages/checkout-4321004c6cdaf5c7.js +1 -0
  119. package/.next/static/chunks/pages/index-949a5393471484d5.js +1 -0
  120. package/.next/static/chunks/pages/login-b09e2dd0941c8882.js +1 -0
  121. package/.next/static/chunks/pages/s-e603b0c6e5eef0a7.js +1 -0
  122. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +1 -0
  123. package/.next/static/chunks/webpack-9ba6546d294eb768.js +1 -0
  124. package/.next/static/css/104f0f3ce3be32c6.css +1 -0
  125. package/.next/static/css/23a9d5dfc051ec6e.css +1 -0
  126. package/.next/static/css/287f5ba239375052.css +1 -0
  127. package/.next/static/css/2e00f7ba49c754b3.css +1 -0
  128. package/.next/static/css/6e41f1b6078c14c1.css +1 -0
  129. package/.next/static/css/7d822a137c54a781.css +1 -0
  130. package/.next/static/css/8988ac07eb0af0ca.css +1 -0
  131. package/.next/static/css/c7fc1f563fa33060.css +1 -0
  132. package/.next/static/css/d4a0d9df8c6df555.css +1 -0
  133. package/.next/static/css/e02cdad8fc000339.css +1 -0
  134. package/.next/static/evxRGivPQKSww6tcC1Mrv/_buildManifest.js +1 -0
  135. package/.next/static/evxRGivPQKSww6tcC1Mrv/_ssgManifest.js +1 -0
  136. package/.next/trace +72 -0
  137. package/.turbo/turbo-build.log +1 -1
  138. package/CHANGELOG.md +6 -0
  139. package/package.json +3 -3
  140. package/public/~partytown/debug/partytown-atomics.js +556 -0
  141. package/public/~partytown/debug/partytown-media.js +374 -0
  142. package/public/~partytown/debug/partytown-sandbox-sw.js +543 -0
  143. package/public/~partytown/debug/partytown-sw.js +59 -0
  144. package/public/~partytown/debug/partytown-ww-atomics.js +1789 -0
  145. package/public/~partytown/debug/partytown-ww-sw.js +1781 -0
  146. package/public/~partytown/debug/partytown.js +72 -0
  147. package/public/~partytown/partytown-atomics.js +2 -0
  148. package/public/~partytown/partytown-media.js +2 -0
  149. package/public/~partytown/partytown-sw.js +2 -0
  150. package/public/~partytown/partytown.js +2 -0
  151. package/src/components/sections/Newsletter/Newsletter.tsx +2 -6
  152. package/src/components/sections/ProductDetails/ProductDetails.tsx +8 -6
  153. package/src/components/ui/Link/Link.tsx +2 -2
  154. package/src/components/ui/ProductDescription/ProductDescription.tsx +37 -228
@@ -0,0 +1,72 @@
1
+ /* Partytown 0.6.4 - MIT builder.io */
2
+ !function(win, doc, nav, top, useAtomics, config, libPath, timeout, scripts, sandbox, mainForwardFn, isReady) {
3
+ function ready() {
4
+ if (!isReady) {
5
+ isReady = 1;
6
+ libPath = (config.lib || "/~partytown/") + (false !== config.debug ? "debug/" : "");
7
+ if ("/" == libPath[0]) {
8
+ scripts = doc.querySelectorAll('script[type="text/partytown"]');
9
+ if (top != win) {
10
+ top.dispatchEvent(new CustomEvent("pt1", {
11
+ detail: win
12
+ }));
13
+ } else {
14
+ timeout = setTimeout(fallback, 1e4);
15
+ doc.addEventListener("pt0", clearFallback);
16
+ useAtomics ? loadSandbox(1) : nav.serviceWorker ? nav.serviceWorker.register(libPath + (config.swPath || "partytown-sw.js"), {
17
+ scope: libPath
18
+ }).then((function(swRegistration) {
19
+ if (swRegistration.active) {
20
+ loadSandbox();
21
+ } else if (swRegistration.installing) {
22
+ swRegistration.installing.addEventListener("statechange", (function(ev) {
23
+ "activated" == ev.target.state && loadSandbox();
24
+ }));
25
+ } else {
26
+ console.warn(swRegistration);
27
+ }
28
+ }), console.error) : fallback();
29
+ }
30
+ } else {
31
+ console.warn('Partytown config.lib url must start with "/"');
32
+ }
33
+ }
34
+ }
35
+ function loadSandbox(isAtomics) {
36
+ sandbox = doc.createElement(isAtomics ? "script" : "iframe");
37
+ if (!isAtomics) {
38
+ sandbox.setAttribute("style", "display:block;width:0;height:0;border:0;visibility:hidden");
39
+ sandbox.setAttribute("aria-hidden", !0);
40
+ }
41
+ sandbox.src = libPath + "partytown-" + (isAtomics ? "atomics.js?v=0.6.4" : "sandbox-sw.html?" + Date.now());
42
+ doc.body.appendChild(sandbox);
43
+ }
44
+ function fallback(i, script) {
45
+ console.warn("Partytown script fallback");
46
+ clearFallback();
47
+ for (i = 0; i < scripts.length; i++) {
48
+ script = doc.createElement("script");
49
+ script.innerHTML = scripts[i].innerHTML;
50
+ doc.head.appendChild(script);
51
+ }
52
+ sandbox && sandbox.parentNode.removeChild(sandbox);
53
+ }
54
+ function clearFallback() {
55
+ clearTimeout(timeout);
56
+ }
57
+ config = win.partytown || {};
58
+ top == win && (config.forward || []).map((function(forwardProps) {
59
+ mainForwardFn = win;
60
+ forwardProps.split(".").map((function(_, i, forwardPropsArr) {
61
+ mainForwardFn = mainForwardFn[forwardPropsArr[i]] = i + 1 < forwardPropsArr.length ? "push" == forwardPropsArr[i + 1] ? [] : mainForwardFn[forwardPropsArr[i]] || {} : function() {
62
+ (win._ptf = win._ptf || []).push(forwardPropsArr, arguments);
63
+ };
64
+ }));
65
+ }));
66
+ if ("complete" == doc.readyState) {
67
+ ready();
68
+ } else {
69
+ win.addEventListener("DOMContentLoaded", ready);
70
+ win.addEventListener("load", ready);
71
+ }
72
+ }(window, document, navigator, top, window.crossOriginIsolated);
@@ -0,0 +1,2 @@
1
+ /* Partytown 0.6.4 - MIT builder.io */
2
+ (e=>{const t=()=>{},r=e=>e.length,n=e=>{var t,r,n;try{const r=null===(t=null==e?void 0:e.constructor)||void 0===t?void 0:t.name;if(r)return r}catch(e){}try{const t=null===(n=null===(r=null==e?void 0:e.__zone_symbol__originalInstance)||void 0===r?void 0:r.constructor)||void 0===n?void 0:n.name;if(t)return t}catch(e){}return""},s=(e,t)=>e.startsWith(t),i=e=>!(s(e,"webkit")||s(e,"toJSON")||s(e,"constructor")||s(e,"toString")||s(e,"_")),o=e=>11===e.nodeType&&e.host?"#s":e.nodeName,a=()=>Math.round(Math.random()*Number.MAX_SAFE_INTEGER).toString(36),l={Anchor:"a",DList:"dl",Image:"img",OList:"ol",Paragraph:"p",Quote:"q",TableCaption:"caption",TableCell:"td",TableCol:"colgroup",TableRow:"tr",TableSection:"tbody",UList:"ul"},c={Graphics:"g",SVG:"svg"},u=Symbol(),h=Symbol(),d=new Map,p=new Map,m={},g=new WeakMap,f=(e,t)=>{if(e)return(t=g.get(e))||(t=e[u])||$(e,t=a()),t},y=(e,t,r,n,s)=>{if((r=m[e])&&r.U){if(e===t)return r.U;if(n=r.U.document,"d"===(s=t.split(".").pop()))return n;if("e"===s)return n.documentElement;if("h"===s)return n.head;if("b"===s)return n.body}return d.get(t)},$=(e,t,r)=>{e&&(d.set(t,e),e[u]=t,e[h]=r=Date.now(),r>w+5e3&&(d.forEach(((e,t)=>{e[h]<w&&e.nodeType&&!e.isConnected&&d.delete(t)})),w=r))};let w=0;const v=e.parent,b=document.implementation.createHTMLDocument(),S=v.partytown||{},E=(S.lib||"/~partytown/")+"",T=(e,t,r)=>{const n=((e,t)=>{return r=e,n={value:t},Object.defineProperty(r,"name",{...n,configurable:!0});var r,n})(class extends m[e].U.HTMLElement{},r[0]);return"connectedCallback,disconnectedCallback,attributeChangedCallback,adoptedCallback".split(",").map((r=>n.prototype[r]=function(...n){t.postMessage([15,e,f(this),r,n])})),n.observedAttributes=r[1],n},C=(e,t,r,i,a)=>void 0!==t&&(i=typeof t)?"string"===i||"number"===i||"boolean"===i||null==t?[0,t]:"function"===i?[6]:(r=r||new Set)&&Array.isArray(t)?r.has(t)?[1,[]]:r.add(t)&&[1,t.map((t=>C(e,t,r)))]:"object"===i?L(t)?[14,{name:t.name,message:t.message,stack:t.stack}]:""===(a=n(t))?[2,{}]:"Window"===a?[3,[e,e]]:"HTMLCollection"===a||"NodeList"===a?[7,Array.from(t).map((t=>C(e,t,r)[1]))]:a.endsWith("Event")?[5,M(e,t,r)]:"CSSRuleList"===a?[12,Array.from(t).map(I)]:s(a,"CSS")&&a.endsWith("Rule")?[11,I(t)]:"CSSStyleDeclaration"===a?[13,M(e,t,r)]:"Attr"===a?[10,[t.name,t.value]]:t.nodeType?[3,[e,f(t),o(t)]]:[2,M(e,t,r,!0,!0)]:void 0:t,M=(e,t,r,n,s,o,a,l)=>{if(o={},!r.has(t))for(a in r.add(t),t)i(a)&&(l=t[a],(n||"function"!=typeof l)&&(s||""!==l)&&(o[a]=C(e,l,r)));return o},I=e=>{let t,r={};for(t in e)U.includes(t)&&(r[t]=String(e[t]));return r},L=t=>t instanceof e.top.Error,A=(t,r,n,s)=>r?(n=r[0],s=r[1],0===n?s:4===n?N(t,s):1===n?s.map((e=>A(t,e))):3===n?y(s[0],s[1]):5===n?x(R(t,s)):2===n?R(t,s):8===n?s:9===n?new e[r[2]](s):void 0):void 0,N=(e,{V:t,w:r,L:n},s)=>((s=p.get(n))||(s=function(...s){e.postMessage([9,{V:t,w:r,L:n,R:C(t,this),b:C(t,s)}])},p.set(n,s)),s),x=e=>new("detail"in e?CustomEvent:Event)(e.type,e),R=(e,t,r,n)=>{for(n in r={},t)r[n]=A(e,t[n]);return r},U="cssText,selectorText,href,media,namespaceURI,prefix,name,conditionText".split(","),P=async(e,t)=>{let n,s,i,o,a,l,c={F:t.F},u=r(t.Q),h=0;for(;h<u;h++)try{l=h===u-1,n=t.Q[h],s=n.V,i=n.a,!m[s]&&s.startsWith("f_")&&await new Promise((e=>{let t=0,r=()=>{m[s]||t++>1e3?e():requestAnimationFrame(r)};r()})),1===i[0]&&i[1]in m[s].U?$(new m[s].U[i[1]](...A(e,i[2])),n.w):(o=y(s,n.w),o?(a=O(e,s,o,i,l,n.r),n.d&&("string"==typeof n.d?$(a,n.d):m[n.d.V]={V:n.d.V,U:{document:a}}),"object"==typeof(d=a)&&d&&d.then&&(a=await a,l&&(c.z=!0)),l&&(c.M=C(s,a))):c.p=n.w+" not found")}catch(e){l?c.p=String(e.stack||e):console.error(e)}var d;return c},O=(e,t,s,i,o,a)=>{let l,c,u,h,d,p=0,m=r(i);for(;p<m;p++){c=i[p],l=i[p+1],u=i[p-1];try{if(!Array.isArray(l))if("string"==typeof c||"number"==typeof c){if(p+1===m&&a)return d={},a.map((e=>d[e]=s[e])),d;s=s[c]}else{if(0===l)return void(s[u]=A(e,c));if("function"==typeof s[u]&&(h=A(e,c),"define"===u&&"CustomElementRegistry"===n(s)&&(h[1]=T(t,e,h[1])),"insertRule"===u&&h[1]>r(s.cssRules)&&(h[1]=r(s.cssRules)),s=s[u].apply(s,h),"play"===u))return Promise.resolve()}}catch(e){if(o)throw e;console.debug(e)}}return s},j=(e,t,r)=>{if(!g.has(r)){g.set(r,t);const n=r.document,s=r.history,i=g.get(r.parent),o=()=>e.postMessage([5,{V:t,J:i,S:n.baseURI,T:n.visibilityState}]),a=s.pushState.bind(s),l=s.replaceState.bind(s),c=(r,s,i,o)=>{setTimeout((()=>{e.postMessage([13,{V:t,type:r,state:s,url:n.baseURI,newUrl:i,oldUrl:o}])}))};s.pushState=(e,t,r)=>{a(e,t,r),c(0,e,null==r?void 0:r.toString())},s.replaceState=(e,t,r)=>{l(e,t,r),c(1,e,null==r?void 0:r.toString())},r.addEventListener("popstate",(e=>{c(2,e.state)})),r.addEventListener("hashchange",(e=>{c(3,{},e.newURL,e.oldURL)})),n.addEventListener("visibilitychange",(()=>e.postMessage([14,t,n.visibilityState]))),m[t]={V:t,U:r},"complete"===n.readyState?o():r.addEventListener("load",o)}},H=(e,t)=>{let n,s,i,o=t.V,a=t.U,l=a.document;l&&l.body?(n=l.querySelector('script[type="text/partytown"]:not([data-ptid]):not([data-pterror]):not([async]):not([defer])'),n||(n=l.querySelector('script[type="text/partytown"]:not([data-ptid]):not([data-pterror])')),n?(n.dataset.ptid=s=f(n,o),i={V:o,w:s},n.src?(i.S=n.src,i.H=n.dataset.ptsrc||n.src):i.j=n.innerHTML,e.postMessage([7,i])):(t.x||(t.x=1,((e,t,n)=>{let s,i,o=n._ptf,a=(n.partytown||{}).forward||[],l=(r,n)=>e.postMessage([10,{V:t,q:r,b:C(t,Array.from(n))}]);if(n._ptf=void 0,a.map((e=>{i=n,e.split(".").map(((e,t,n)=>{i=i[n[t]]=t+1<r(n)?i[n[t]]||("push"===n[t+1]?[]:{}):(...e)=>l(n,e)}))})),o)for(s=0;s<r(o);s+=2)l(o[s],o[s+1])})(e,o,a),l.dispatchEvent(new CustomEvent("pt0"))),e.postMessage([8,o]))):requestAnimationFrame((()=>H(e,t)))},k=()=>{const e=Object.getOwnPropertyNames(v).map((e=>((e,t,r,n)=>{if(r=t.match(/^(HTML|SVG)(.+)Element$/))return n=r[2],"S"==t[0]?e.createElementNS("http://www.w3.org/2000/svg",c[n]||n.slice(0,2).toLowerCase()+n.slice(2)):e.createElement(l[n]||n)})(b,e))).filter((e=>e)).map((e=>[e]));return B(e,[])},V=new Set(["Object"]),B=(e,t)=>(e.filter((e=>e[0])).map((e=>{const t=e[0],r=e[1],s=n(t);return[s,v[s].prototype,t,r]})).map((([e,r,n,s])=>F(V,t,e,r,n,s))),t),D=(e,t,r)=>{let n=[],s=[e,"Object",n];for(r in t)W(n,t,r);return s},F=(e,t,r,s,i,a)=>{if(!e.has(r)){e.add(r);const l=Object.getPrototypeOf(s),c=n(l),u=[],h=Object.getOwnPropertyDescriptors(s);F(e,t,c,l,i,a);for(const e in h)W(u,i,e);t.push([r,c,u,a,o(i)])}},W=(e,t,r,s,o,a)=>{try{i(r)&&isNaN(r[0])&&"all"!==r&&("function"==(o=typeof(s=t[r]))?(String(s).includes("[native")||Object.getPrototypeOf(t)[r])&&e.push([r,5]):"object"===o&&null!=s?"Object"!==(a=n(s))&&self[a]&&e.push([r,s.nodeType||a]):"symbol"!==o&&(r.toUpperCase()===r?e.push([r,6,s]):e.push([r,6])))}catch(e){console.warn(e)}},_=e=>{let t,n=[],s=0,i=r(v[e]);for(;s<i;s++)t=v[e].key(s),n.push([t,v[e].getItem(t)]);return n},q=(e,r)=>void 0!==e[r]?new e[r](t):0;let J;(async e=>{const t=new SharedArrayBuffer(1073741824),r=new Int32Array(t);return(n,s)=>{const i=s[0],o=s[1];if(0===i){const e=(()=>{const e=b.createElement("i"),t=b.createTextNode(""),r=b.createComment(""),n=b.createDocumentFragment(),s=b.createElement("p").attachShadow({mode:"open"}),i=q(v,"IntersectionObserver"),o=q(v,"MutationObserver"),a=q(v,"ResizeObserver"),l=v.performance,c=v.screen,u=[[v.history],[l],[l.navigation],[l.timing],[c],[c.orientation],[v.visualViewport],[i,12],[o,12],[a,12],[t],[r],[n],[s],[e],[e.attributes],[e.classList],[e.dataset],[e.style],[b],[b.doctype]],h=[D("Window",v),D("Node",t)],d={i:JSON.stringify(S,((e,t)=>("function"==typeof t&&(t=String(t)).startsWith(e+"(")&&(t="function "+t),t))),v:B(u,h),C:new URL(E,v.location)+"",I:origin,D:_("localStorage"),O:_("sessionStorage")};return((e,t,r)=>{void 0!==t[r]&&e.push([r,"Object",Object.keys(t[r].prototype).map((e=>[e,6])),12])})(d.v,v,"IntersectionObserverEntry"),d})();e.P=t,n.postMessage([1,e])}else 2===s[0]?n.postMessage([3,k()]):11===i?e(o,(e=>{const t=JSON.stringify(e),n=t.length;for(let e=0;e<n;e++)r[e+1]=t.charCodeAt(e);r[0]=n,Atomics.notify(r,0)})):((e,t,r)=>{4===t[0]?j(e,a(),v):(r=m[t[1]])&&(7===t[0]?requestAnimationFrame((()=>H(e,r))):6===t[0]&&((e,t,r,n,s)=>{(s=t.U.document.querySelector(`[data-ptid="${r}"]`))&&(n?s.dataset.pterror=n:s.type+="-x",delete s.dataset.ptid),H(e,t)})(e,r,t[2],t[3]))})(n,s)}})(((e,t)=>P(J,e).then(t))).then((e=>{e&&(J=new Worker(URL.createObjectURL(new Blob(['/* Partytown 0.6.4 - MIT builder.io */\n(e=>{const t=Symbol(),r=Symbol(),n=Symbol(),i=Symbol(),s=Symbol(),o=Symbol(),a=Symbol(),l=Symbol(),$=new Map,c={},u=new WeakMap,d=[],h={},p=new Map,g=new Map,m={},f=new Map,w=new Map,y="about:blank",v=e=>e.split(","),S=e=>{if(e=h.C+e,new URL(e).origin!=location.origin)throw"Invalid "+e;return e},b=v("clientWidth,clientHeight,clientTop,clientLeft,innerWidth,innerHeight,offsetWidth,offsetHeight,offsetTop,offsetLeft,outerWidth,outerHeight,pageXOffset,pageYOffset,scrollWidth,scrollHeight,scrollTop,scrollLeft"),I=v("childElementCount,children,firstElementChild,lastElementChild,nextElementSibling,previousElementSibling"),M=v("insertBefore,remove,removeChild,replaceChild"),T=v("className,width,height,hidden,innerHTML,innerText,textContent"),E=v("setAttribute,setAttributeNS,setProperty"),N=v("addEventListener,dispatchEvent,removeEventListener"),L=N.concat(E,v("add,observe,remove,unobserve")),x=/^[A-Z_]([A-Z0-9-]*[A-Z0-9])?$/,C=()=>{},A=e=>e.length,W=e=>{var t,r,n;try{const r=null===(t=null==e?void 0:e.constructor)||void 0===t?void 0:t.name;if(r)return r}catch(e){}try{const t=null===(n=null===(r=null==e?void 0:e.__zone_symbol__originalInstance)||void 0===r?void 0:r.constructor)||void 0===n?void 0:n.name;if(t)return t}catch(e){}return""},H=[],R=()=>Math.round(Math.random()*Number.MAX_SAFE_INTEGER).toString(36),P="text/partytown",O=(e,t,r)=>Object.defineProperty(e,t,{...r,configurable:!0}),D=(e,t)=>O(e,"name",{value:t}),k=(e,t,r)=>O(e.prototype,t,r),j=(e,t)=>Object.defineProperties(e.prototype,t),U=(e,t,r)=>k(e,t,{value:r,writable:!0}),_=(e,t)=>t in e[o],B=(e,t)=>e[o][t],F=(e,t,r)=>e[o][t]=r,V=(e,t,r,n,i)=>(!(i=$.get(t))&&r&&m[e]&&(i=m[e].k(r,t,n),$.set(t,i)),i),z=(e,t)=>U(e,"nodeType",t),G=(e,t)=>t.map((t=>k(e,t,{get(){let e=X(this,t),r=w.get(e);return r||(r=ue(this,[t]),w.set(e,r)),r}}))),X=(e,n,i)=>[e[t],e[r],n,...(i||H).map((e=>String(e&&e[t]?e[r]:e)))].join("."),q=(e,t)=>v(t).map((t=>k(e,t,{get(){return _(this,t)||F(this,t,ue(this,[t])),B(this,t)},set(e){B(this,t)!==e&&de(this,[t],e),F(this,t,e)}}))),Z=e=>b.map((t=>k(e,t,{get(){const e=f.get(X(this,t));if("number"==typeof e)return e;const r=ue(this,[t],b);return r&&"object"==typeof r?(Object.entries(r).map((([e,t])=>f.set(X(this,e),t))),r[t]):r}}))),J=(e,t)=>t.map((t=>{e.prototype[t]=function(...e){let r=X(this,t,e),n=f.get(r);return n||(n=he(this,[t],e),f.set(r,n)),n}})),Y=(e,n,i,s,o)=>{return void 0!==i&&(o=typeof i)?"string"===o||"boolean"===o||"number"===o||null==i?[0,i]:"function"===o?[4,{V:e,w:n,L:(a=i,(l=u.get(a))||(u.set(a,l=R()),c[l]=a),l)}]:(s=s||new Set)&&Array.isArray(i)?s.has(i)?[1,[]]:s.add(i)&&[1,i.map((t=>Y(e,n,t,s)))]:"object"===o?i[r]?[3,[i[t],i[r]]]:i instanceof Event?[5,Q(e,n,i,!1,s)]:K&&i instanceof TrustedHTML?[0,i.toString()]:i instanceof ArrayBuffer?[8,i]:ArrayBuffer.isView(i)?[9,i.buffer,W(i)]:[2,Q(e,n,i,!0,s)]:void 0:i;var a,l},K="undefined"!=typeof TrustedHTML,Q=(e,t,r,n,i,s,o,a)=>{if(s={},!i.has(r))for(o in i.add(r),r)a=r[o],(n||"function"!=typeof a)&&(s[o]=Y(e,t,a,i));return s},ee=(e,n)=>e?Y(e[t],e[r],n):[0,n],te=(e,t,r,n,i,s,o,a)=>{if(n){if(i=n[0],s=n[1],0===i||11===i||12===i)return s;if(4===i)return ne(r,s);if(6===i)return e&&r.length>0?(...t)=>he(m[e].U,r,t,1):C;if(3===i)return re(s);if(7===i)return new se(s.map(re));if(10===i)return new oe(s);if(1===i)return s.map((n=>te(e,t,r,n)));if(14===i)return new ie(s);for(a in o={},s)o[a]=te(e,t,[...r,a],s[a]);if(13===i)return new m[e].U.CSSStyleDeclaration(e,t,r,o);if(5===i){if("message"===o.type&&o.origin){let e,t=JSON.stringify(o.data),r=d.find((e=>e.m===t));r&&(e=m[r.V],e&&(o.source=e.U,o.origin=e.E.origin))}return new Proxy(new Event(o.type,o),{get:(e,t)=>t in o?o[t]:"function"==typeof e[String(t)]?C:e[String(t)]})}if(2===i)return o}},re=([e,t,r])=>t===e&&m[e]?m[e].U:V(e,t,r),ne=(e,{V:t,w:r,G:n,L:i})=>(c[i]||u.set(c[i]=function(...i){const s=V(t,r,n);return he(s,e,i)},i),c[i]);class ie extends Error{constructor(e){super(e.message),this.name=e.name,this.message=e.message,this.stack=e.stack}}const se=class{constructor(e){(this._=e).map(((e,t)=>this[t]=e))}entries(){return this._.entries()}forEach(e,t){this._.map(e,t)}item(e){return this[e]}keys(){return this._.keys()}get length(){return A(this._)}values(){return this._.values()}[Symbol.iterator](){return this._[Symbol.iterator]()}},oe=class{constructor(e){this.name=e[0],this.value=e[1]}get nodeName(){return this.name}get nodeType(){return 2}},ae=(e,t,r)=>console.warn(`Partytown unable to ${e} cross-origin ${t}: `+r.E),le=[],$e=(e,n,i,o,a,l)=>{if(e[s]){if(le.push({V:e[t],w:e[r],a:[...e[s],...n],d:o,r:a}),3===i)h.K([12,{F:R(),Q:[...le]}],l?[l instanceof ArrayBuffer?l:l.buffer]:void 0),le.length=0;else if(1===i)return ce(!0);h.c=setTimeout(ce,20)}},ce=e=>{if(clearTimeout(h.c),A(le)){const t=le[A(le)-1],r={F:R(),Q:[...le]};if(le.length=0,e){const e=((e,t)=>{const r=e.P,n=new Int32Array(r);Atomics.store(n,0,0),e.K([11,t]),Atomics.wait(n,0,0);let i=Atomics.load(n,0),s="",o=0;for(;o<i;o++)s+=String.fromCharCode(n[o+1]);return JSON.parse(s)})(h,r),n=e.z,i=te(t.V,t.w,t.a,e.M);if(e.p){if(n)return Promise.reject(e.p);throw new Error(e.p)}return n?Promise.resolve(i):i}h.K([12,r])}},ue=(e,t,r,n)=>h.i.get&&(n=h.i.get(ge(e,t)))!==a?n:n=$e(e,t,1,void 0,r),de=(e,t,r,n)=>{if(h.i.set){if((n=h.i.set({value:r,prevent:l,...ge(e,t)}))===l)return;n!==a&&(r=n)}T.some((e=>t.includes(e)))&&(f.clear(),t[t.length-1]),t=[...t,ee(e,r),0],$e(e,t,2)},he=(e,t,r,n,i,s,o,l)=>h.i.apply&&(o=h.i.apply({args:r,...ge(e,t)}))!==a?o:(l=t[A(t)-1],t=[...t,ee(e,r)],n=n||(L.includes(l)?2:1),"setAttribute"===l&&_(e,r[0])?F(e,r[0],r[1]):M.includes(l)?(f.clear(),w.clear()):E.includes(l)&&(n=2,f.clear()),o=$e(e,t,n,i,void 0,s)),pe=(e,t,r)=>{$e(e,[1,t,ee(e,r)],1)},ge=(e,t)=>({name:t.join("."),continue:a,nodeName:e[n],constructor:W(e)}),me=(e,t,r,n,i)=>{let s,o,a=t=>((t=r.get(e.origin))||r.set(e.origin,t=[]),t),l=e=>a().findIndex((t=>t[fe]===e)),$={getItem:e=>(s=l(e),s>-1?a()[s][we]:null),setItem(r,o){s=l(r),s>-1?a()[s][we]=o:a().push([r,o]),n?he(e,[t,"setItem"],[r,o],2):ae("set",t,i)},removeItem(r){s=l(r),s>-1&&a().splice(s,1),n?he(e,[t,"removeItem"],[r],2):ae("remove",t,i)},key:e=>(o=a()[e],o?o[fe]:null),clear(){a().length=0,n?he(e,[t,"clear"],H,2):ae("clear",t,i)},get length(){return a().length}};e[t]=$},fe=0,we=1,ye=(e,t,r)=>{e[r]=D(class extends t{constructor(e,t,r,i){return super(e,t,r,i||{}),new Proxy(this,{get:(e,t)=>e[t]?e[t]:(e[t]||"string"!=typeof t||e[n][t]||(e[n][t]=ue(e,[t])),e[n][t]),set:(e,t,r)=>(e[n][t]=r,de(e,[t],r),f.clear(),!0)})}setProperty(...e){this[n][e[0]]=e[1],he(this,["setProperty"],e,2),e[0],f.clear()}getPropertyValue(e){return this[e]}removeProperty(e){let t=this[n][e];return he(this,["removeProperty"],[e],2),f.clear(),this[n][e]=void 0,t}},r)},ve=(e,t)=>{e[t]=D(class{constructor(e){this.ownerNode=e}get cssRules(){const e=this.ownerNode;return new Proxy({},{get(t,r){const n=String(r);return"item"===n?t=>be(e,t):"length"===n?Se(e).length:isNaN(n)?t[r]:be(e,n)}})}insertRule(e,t){const r=Se(this.ownerNode);return(t=void 0===t?0:t)>=0&&t<=r.length&&(he(this.ownerNode,["sheet","insertRule"],[e,t],2),r.splice(t,0,0)),this.ownerNode,f.clear(),t}deleteRule(e){he(this.ownerNode,["sheet","deleteRule"],[e],2),Se(this.ownerNode).splice(e,1),this.ownerNode,f.clear()}get type(){return"text/css"}},t);const r={sheet:{get(){return new e[t](this)}}};j(e.HTMLStyleElement,r)},Se=(e,t)=>((t=B(e,2))||(t=ue(e,["sheet","cssRules"]),F(e,2,t)),t),be=(e,t,r)=>(0===(r=Se(e))[t]&&(r[t]=ue(e,["sheet","cssRules",parseInt(t,10)])),r[t]),Ie="0.6.4",Me=(e,t,r,n,i)=>{try{e.l=t,Te(e,r)}catch(e){console.error(r,e),i=String(e.stack||e)}return e.l="",i},Te=(e,t,r)=>{e.N=1,t=`with(this){${(h.i.globalFns||[]).filter((e=>/[a-zA-Z_$][0-9a-zA-Z_$]*/.test(e))).map((e=>`(typeof ${e}==\'function\'&&(window.${e}=${e}))`)).join(";")+t.replace(/\\bthis\\b/g,"(thi$(this)?window:this)").replace(/\\/\\/# so/g,"//Xso")}\\n;function thi$(t){return t===this}}`+(r?"\\n//# sourceURL="+r:""),e.A||(t=t.replace(/.postMessage\\(/g,`.postMessage(\'${e.V}\',`)),new Function(t).call(e.U),e.N=0},Ee=(e,t,r)=>{(r=B(e,t))&&setTimeout((()=>r.map((e=>e({type:t})))))},Ne=(e,t,r,n,i,s)=>{for(n=e.E;!n.host&&(n=(e=m[e.J]).E,e.V!==e.J););return i=new URL(t||"",n),r&&h.i.resolveUrl&&(s=h.i.resolveUrl(i,n,r))?s:i},Le=(e,t,r)=>Ne(e,t,r)+"",xe=()=>`<script src="${S("partytown.js?v="+Ie)}"><\\/script>`,Ce=e=>class{constructor(){this.s="",this.l=[],this.e=[]}get src(){return this.s}set src(t){this.s=t,fetch(Le(e,t,null),{mode:"no-cors",credentials:"include",keepalive:!0}).then((e=>{e.ok||0===e.status?this.l.map((e=>e({type:"load"}))):this.e.map((e=>e({type:"error"})))}),(()=>this.e.forEach((e=>e({type:"error"})))))}addEventListener(e,t){"load"===e&&this.l.push(t),"error"===e&&this.e.push(t)}get onload(){return this.l[0]}set onload(e){this.l=[e]}get onerror(){return this.e[0]}set onerror(e){this.e=[e]}},Ae={addEventListener:{value(...e){const t=e[0],r=B(this,t)||[];r.push(e[1]),F(this,t,r)}},async:{get:C,set:C},defer:{get:C,set:C},onload:{get(){let e=B(this,"load");return e&&e[0]||null},set(e){F(this,"load",e?[e]:null)}},onerror:{get(){let e=B(this,"error");return e&&e[0]||null},set(e){F(this,"error",e?[e]:null)}},getAttribute:{value(e){return"src"===e?this.src:he(this,["getAttribute"],[e])}},setAttribute:{value(e,t){We.includes(e)?this[e]=t:he(this,["setAttribute"],[e,t])}}},We=v("src,type"),He=(e,t)=>{const r={innerHTML:Re,innerText:Re,src:{get(){return B(this,4)||""},set(e){const r=Le(t,e,null),n=h.i;e=Le(t,e,"script"),F(this,4,e),de(this,["src"],e),r!==e&&de(this,["dataset","ptsrc"],r),this.type&&n.loadScriptsOnMainThread&&n.loadScriptsOnMainThread.some((t=>t===e))&&de(this,["type"],"text/javascript")}},textContent:Re,type:{get(){return ue(this,["type"])},set(e){Pe(e)||(F(this,5,e),de(this,["type"],e))}},...Ae};j(e,r)},Re={get(){return B(this,3)||""},set(e){F(this,3,e)}},Pe=e=>!e||"text/javascript"===e,Oe=(e,i,s)=>{const o=D(class extends s{appendChild(e){return this.insertBefore(e,null)}get href(){}set href(e){}insertBefore(e,s){const o=e[t]=this[t],a=e[r],l=e[n],$="SCRIPT"===l,c="IFRAME"===l;if($){const t=B(e,3),r=B(e,5);if(t){if(Pe(r)){const r=Me(i,a,t,0,""),n=r?"pterror":"ptid",s=r||a;de(e,["type"],P+"-x"),de(e,["dataset",n],s)}de(e,["innerHTML"],t)}}if(he(this,["insertBefore"],[e,s],2),c){const t=B(e,0);if(t&&t.startsWith("javascript:")){const e=t.split("javascript:")[1];Me(i,a,e,0,"")}((e,t)=>{let r,n,i=0,s=()=>{m[e]&&m[e].x&&!m[e].y?(r=B(t,1)?"error":"load",n=B(t,r),n&&n.map((e=>e({type:r})))):i++>2e3?(n=B(t,"error"),n&&n.map((e=>e({type:"error"})))):setTimeout(s,9)};s()})(a,e)}return $&&(ce(!0),h.K([7,o])),e}get nodeName(){return"#s"===this[n]?"#document-fragment":this[n]}get nodeType(){return 3}get ownerDocument(){return i.n}},"Node");G(o,v("childNodes,firstChild,isConnected,lastChild,nextSibling,parentElement,parentNode,previousSibling")),e.Node=o},De=v("AUDIO,CANVAS,VIDEO"),ke=v("Audio,MediaSource"),je=(e,r,n)=>{j(e,{body:{get:()=>r.e},cookie:{get(){return r.A?ue(this,["cookie"]):(ae("get","cookie",r),"")},set(e){r.A&&de(this,["cookie"],e)}},createElement:{value(e){if(e=e.toUpperCase(),!x.test(e))throw e+" not valid";const r="IFRAME"===e,n=this[t],i=(r?"f_":"")+R();he(this,["createElement"],[e],2,i);const s=V(n,i,e);if(r)qe({V:i,J:n,S:y},!0).U.fetch=fetch,de(s,["srcdoc"],xe());else if("SCRIPT"===e){const e=B(s,5);Pe(e)&&de(s,["type"],P)}return s}},createElementNS:{value(e,r){const n=R(),i=V(this[t],n,r,e);return he(this,["createElementNS"],[e,r],2,n),i}},createTextNode:{value(e){const r=this[t],n=R(),i=V(r,n,"#text");return he(this,["createTextNode"],[e],2,n),i}},createEvent:{value:e=>new Event(e)},currentScript:{get(){return r.l?V(this[t],r.l,"SCRIPT"):null}},defaultView:{get:()=>n?null:r.U},documentElement:{get:()=>r.o},getElementsByTagName:{value(e){return"BODY"===(e=e.toUpperCase())?[r.e]:"HEAD"===e?[r.s]:he(this,["getElementsByTagName"],[e])}},head:{get:()=>r.s},images:{get(){return ue(this,["images"])}},implementation:{get(){return{hasFeature:()=>!0,createHTMLDocument:e=>{const t=R();return he(this,["implementation","createHTMLDocument"],[e],1,{V:t}),qe({V:t,J:t,S:r.E+"",T:"hidden"},!0,!0).n}}}},location:{get:()=>r.E,set(e){r.E.href=e+""}},nodeType:{value:9},parentNode:{value:null},parentElement:{value:null},readyState:{value:"complete"},visibilityState:{get:()=>r.T||"visible"}}),q(e,"compatMode,referrer,forms")},Ue=(e,t)=>{j(e,{parentElement:{get(){return this.parentNode}},parentNode:{get:()=>t.o}})},_e=(e,t)=>{j(e,{localName:{get(){return this[n].toLowerCase()}},namespaceURI:{get(){return this[i]||"http://www.w3.org/1999/xhtml"}},nodeType:{value:1},tagName:{get(){return this[n]}}}),G(e,I),q(e,"id"),Z(t),J(t,v("getClientRects,getBoundingClientRect"))},Be=(e,t)=>{const r={};v("hash,host,hostname,href,origin,pathname,port,protocol,search").map((e=>{r[e]={get(){let r,n=B(this,4);return"string"!=typeof n&&(r=ue(this,["href"]),F(this,4,r),n=new URL(r)[e]),Ne(t,n,null)[e]},set(r){let n;if("href"===e)if((e=>{try{return new URL(e),!0}catch(e){return!1}})(r))n=new URL(r);else{const e=t.E.href;n=Ne(t,e,null),n.href=new URL(r+"",n.href)}else n=Ne(t,this.href,null),n[e]=r;F(this,4,n.href),de(this,["href"],n.href)}}})),j(e,r)},Fe=(e,t)=>{const r={contentDocument:{get(){return Ve(this).n}},contentWindow:{get(){return Ve(this).U}},src:{get(){let e=B(this,0);return e&&e.startsWith("javascript:")?e:(e=Ve(this).E.href,e.startsWith("about:")?"":e)},set(e){if(e)if(e.startsWith("javascript:"))F(this,0,e);else if(!e.startsWith("about:")){let t,r=new XMLHttpRequest,n=Ve(this);n.E.href=e=Le(n,e,"iframe"),n.y=1,F(this,1,void 0),r.open("GET",e,!1),r.send(),t=r.status,t>199&&t<300?(de(this,["srcdoc"],`<base href="${e}">`+r.responseText.replace(/<script>/g,\'<script type="text/partytown">\').replace(/<script /g,\'<script type="text/partytown" \').replace(/text\\/javascript/g,P)+xe()),ce(!0),h.K([7,n.V])):(F(this,1,t),n.y=0)}}},...Ae};j(e,r)},Ve=e=>{const n=e[r];return m[n]||qe({V:n,J:e[t],S:ue(e,["src"])||y},!0),m[n]},ze=e=>{const t=(e,t)=>{const{a:r,b:n,c:i,d:s,e:o,f:a}=he(e,[t],H);return new DOMMatrixReadOnly([r,n,i,s,o,a])},r={...e,getCTM:{value:function(){return t(this,"getCTM")}},getScreenCTM:{value:function(){return t(this,"getScreenCTM")}}};j(e,r)},Ge=(a,l,$,c,u,f)=>{let w,b,M;const T=class{constructor(e,l,$,c,u){this[t]=e||a,this[r]=l||w||R(),this[s]=$||[],this[n]=c||b,this[i]=u||M,this[o]={},w=b=M=void 0}},E=new(D(class extends URL{assign(){}reload(){}replace(){}},"Location"))($),L=E.origin===h.I||E.origin===y,x=l===a,C={},H=()=>{let e,t,r=[];for(e in m)t=m[e],t.J!==a||t.B||r.push(t);return r},P=D(class extends T{constructor(){super(a,a);let n,i,o=this,$=0,d=()=>{$||((h.u||(e.g=[ue,de,he,pe,j,R,t,r,s],h.t(S("partytown-media.js?v="+Ie)),h.u=e.f,delete e.f),h.u)(T,Y,C,o,ke),$=1)},m={},y=(e,t,r)=>{De.includes(e)&&d();const n=m[e]?m[e]:e.includes("-")?m.UNKNOWN:m.I;return w=t,b=e,M=r,new n};var N,A;if(o.Window=P,o.name=name+a,Oe(o,C,T),ye(o,T,"CSSStyleDeclaration"),((e,t,r)=>{e[r]=D(class extends t{now(){return performance.now()}},r)})(o,T,"Performance"),((e,t)=>{const r="customElements",n=new Map;e.customElements={define(i,s,o){n.set(i,s),t[i.toUpperCase()]=s;const a=[s.name,s.observedAttributes];he(e,[r,"define"],[i,a,o])},get:t=>n.get(t)||he(e,[r,"get"],[t]),whenDefined:t=>n.has(t)?Promise.resolve():he(e,[r,"whenDefined"],[t]),upgrade:t=>he(e,[r,"upgrade"],[t])}})(o,m),h.v.map((([e,t,n,i,l])=>{const $=Xe[e]?X:"EventTarget"===t?Y:"Object"===t?T:o[t],c=o[e]=D(12===i?class extends T{constructor(...t){super(),pe(this,e,t)}}:o[e]||class extends ${},e);l&&(m[l]=c),n.map((([e,t,n])=>{e in c.prototype||e in $.prototype||("string"==typeof t?k(c,e,{get(){if(!_(this,e)){const n=this[r],i=[...this[s],e],l=o[t];l&&F(this,e,new l(a,n,i))}return B(this,e)},set(t){F(this,e,t)}}):5===t?U(c,e,(function(...t){return he(this,[e],t)})):t>0&&(void 0!==n?U(c,e,n):k(c,e,{get(){return ue(this,[e])},set(t){return de(this,[e],t)}})))}))})),v("atob,btoa,crypto,indexedDB,setTimeout,setInterval,clearTimeout,clearInterval").map((t=>{delete P.prototype[t],t in o||(n=e[t],null!=n&&(o[t]="function"!=typeof n||n.toString().startsWith("class")?n:n.bind(e)))})),Object.getOwnPropertyNames(e).map((t=>{t in o||(o[t]=e[t])})),ke.map((e=>O(o,e,{get:()=>(d(),o[e])}))),"trustedTypes"in e&&(o.trustedTypes=e.trustedTypes),_e(o.Element,o.HTMLElement),je(o.Document,C,f),N=o.DocumentFragment,z(N,11),G(N,I),Be(o.HTMLAnchorElement,C),A=o.HTMLFormElement,j(A,{}),q(A,"elements"),Fe(o.HTMLIFrameElement),He(o.HTMLScriptElement,C),ze(o.SVGGraphicsElement),Ue(o.HTMLHeadElement,C),Ue(o.HTMLBodyElement,C),((e,t)=>{j(e,{parentElement:{value:null},parentNode:{get:()=>t.n}})})(o.HTMLHtmlElement,C),ve(o,"CSSStyleSheet"),z(o.Comment,8),z(o.DocumentType,10),Object.assign(C,{V:a,J:l,U:new Proxy(o,{get:(e,t)=>{var r;if("string"!=typeof t||isNaN(t))return(null===(r=h.i.mainWindowAccessors)||void 0===r?void 0:r.includes(t))?ue(this,[t]):e[t];{let e=H()[t];return e?e.U:void 0}},has:()=>!0}),n:y("#document",a+".d"),o:y("HTML",a+".e"),s:y("HEAD",a+".h"),e:y("BODY",a+".b"),E:E,T:c,A:L,B:x,k:y}),o.requestAnimationFrame=e=>setTimeout((()=>e(performance.now())),9),o.cancelAnimationFrame=e=>clearTimeout(e),o.requestIdleCallback=(e,t)=>(t=Date.now(),setTimeout((()=>e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})),1)),o.cancelIdleCallback=e=>clearTimeout(e),me(o,"localStorage",p,L,C),me(o,"sessionStorage",g,L,C),L||(o.indexeddb=void 0),u)i={},o.history={pushState(e){i=e},replaceState(e){i=e},get state(){return i},length:0},o.indexeddb=void 0;else{const e=o.history.pushState.bind(o.history),t=o.history.replaceState.bind(o.history);o.history.pushState=(t,r,n)=>{!1!==C.$propagateHistoryChange$&&e(t,r,n)},o.history.replaceState=(e,r,n)=>{!1!==C.$propagateHistoryChange$&&t(e,r,n)}}o.Worker=void 0}addEventListener(...e){"load"===e[0]?C.N&&setTimeout((()=>e[1]({type:"load"}))):he(this,["addEventListener"],e,2)}get body(){return C.e}get document(){return C.n}get documentElement(){return C.o}fetch(e,t){return e="string"==typeof e||e instanceof URL?String(e):e.url,fetch(Le(C,e,"fetch"),t)}get frames(){return C.U}get frameElement(){return x?null:V(l,a,"IFRAME")}get globalThis(){return C.U}get head(){return C.s}get length(){return H().length}get location(){return E}set location(e){E.href=e+""}get Image(){return Ce(C)}get navigator(){return(e=>{let t,r={sendBeacon:(t,r)=>{try{return fetch(Le(e,t,null),{method:"POST",body:r,mode:"no-cors",keepalive:!0}),!0}catch(e){return console.error(e),!1}}};for(t in navigator)r[t]=navigator[t];return r})(C)}get origin(){return E.origin}set origin(e){}get parent(){for(let e in m)if(m[e].V===l)return m[e].U;return C.U}postMessage(...e){m[e[0]]&&(A(d)>50&&d.splice(0,5),d.push({V:e[0],m:JSON.stringify(e[1])}),e=e.slice(1)),he(this,["postMessage"],e,3)}get self(){return C.U}get top(){for(let e in m)if(m[e].B)return m[e].U;return C.U}get window(){return C.U}get XMLHttpRequest(){const e=XMLHttpRequest,t=String(e),r=D(class extends e{open(...e){e[1]=Le(C,e[1],"xhr"),super.open(...e)}set withCredentials(e){}toString(){return t}},W(e));return r.prototype.constructor.toString=()=>t,r}},"Window"),X=class extends T{constructor(e,t,r,n){return super(e,t,r,n),new Proxy(this,{get:(e,t)=>ue(e,[t]),set:(e,t,r)=>(de(e,[t],r),!0)})}},Y=class extends T{};return N.map((e=>Y.prototype[e]=function(...t){return he(this,[e],t,2)})),q(P,"devicePixelRatio"),Z(P),J(P,["getComputedStyle"]),new P,C},Xe={DOMStringMap:1,NamedNodeMap:1},qe=({V:e,J:t,S:r,T:n},i,s)=>(m[e]||(m[e]=Ge(e,t,r,n,i,s)),h.K([7,e]),m[e]),Ze=[],Je=t=>{const r=t.data,n=r[0],i=r[1];if(h.x)if(7===n)(async e=>{let t,r=e.V,n=e.w,i=V(r,n,"SCRIPT"),s=e.j,o=e.S,a=e.H,l="",$=m[r];if(o)try{o=Ne($,o,"script")+"",F(i,4,o),t=await fetch(o),t.ok?(s=await t.text(),$.l=n,Te($,s,a||o),Ee(i,"load")):(l=t.statusText,Ee(i,"error"))}catch(e){console.error(e),l=String(e.stack||e),Ee(i,"error")}else s&&(l=Me($,n,s,0,l));$.l="",h.K([6,r,n,l])})(i);else if(9===n)(({V:e,w:t,L:r,R:n,b:i})=>{if(c[r])try{c[r].apply(te(e,t,[],n),te(e,t,[],i))}catch(e){console.error(e)}})(i);else if(10===n)(({V:e,q:t,b:r})=>{try{let n=m[e].U,i=0,s=A(t);for(;i<s;i++)i+1<s?n=n[t[i]]:n[t[i]].apply(n,te(null,e,[],r))}catch(e){console.error(e)}})(i);else if(5===n)qe(i);else if(8===n)m[i].x=1,m[i].y=0;else if(14===n)m[i].T=r[2];else if(13===n){const e=i.V,t=m[e];t.E.href=i.url,function(e,t,r){const n=t.U.history;switch(r.type){case 0:t.$propagateHistoryChange$=!1;try{n.pushState(r.state,"",r.newUrl)}catch(e){}t.$propagateHistoryChange$=!0;break;case 1:t.$propagateHistoryChange$=!1;try{n.replaceState(r.state,"",r.newUrl)}catch(e){}t.$propagateHistoryChange$=!0}}(i.V,t,i)}else 15===n&&((e,t,r,n,i)=>{const s=V(t,r);s&&"function"==typeof s[n]&&s[n].apply(s,i)})(...r);else 1===n?((t=>{const r=h.i=JSON.parse(t.i),n=t.I;h.t=importScripts.bind(e),h.v=t.v,h.C=t.C,h.I=n,h.K=postMessage.bind(e),h.P=t.P,p.set(n,t.D),g.set(n,t.O),e.importScripts=void 0,delete e.postMessage,delete e.WorkerGlobalScope,v("resolveUrl,get,set,apply").map((e=>{r[e]&&(r[e]=new Function("return "+r[e])())}))})(i),h.K([2])):3===n?(h.v=[...h.v,...i],h.x=1,h.K([4]),[...Ze].map(Je),Ze.length=0):Ze.push(t)};e.onmessage=Je,postMessage([0])})(self);\n'],{type:"text/javascript"})),{name:"Partytown 🎉"}),J.onmessage=t=>{const r=t.data;12===r[0]?P(J,r[1]):e(J,r)},v.addEventListener("pt1",(e=>j(J,f(e.detail.frameElement),e.detail))))}))})(window);
@@ -0,0 +1,2 @@
1
+ /* Partytown 0.6.4 - MIT builder.io */
2
+ (e=>{const[t,s,n,r,i,a,o,d,u]=e.g;delete e.g;const c=Symbol(),h=Symbol(),f=Symbol(),p=Symbol(),g=Symbol(),l=Symbol(),m=[],v=(e,t,s)=>e[t]=S(t,s),S=(e,t)=>Object.defineProperty(t,"name",{value:e}),b=(e,t)=>{const r={getContext:{value(e,t){return this[c]||(this[c]=(e.includes("webgl")?g:p)(this,e,t)),this[c]}}},h=v(t,"CanvasGradient",class extends e{addColorStop(...e){n(this,["addColorStop"],e,2)}}),f=v(t,"CanvasPattern",class extends e{setTransform(...e){n(this,["setTransform"],e,2)}}),p=(e,t,r)=>{const i=e[o],c=a(),f={[o]:i,[d]:c,[u]:[]},p=n(e,["getContext"],[t,r],1,c),g="getContextAttributes,getImageData,getLineDash,getTransform,isPointInPath,isPointInStroke,measureText".split(","),l={get:(e,t)=>"string"==typeof t&&t in p?"function"==typeof p[t]?(...e)=>{if(t.startsWith("create")){const r=a();return n(f,[t],e,2,r),"createImageData"===t||"createPattern"===t?(s=`${t}()`,console.warn(`${s} not implemented`),{setTransform:()=>{}}):new h(i,r)}var s;const r=g.includes(t)?1:2;return n(f,[t],e,r)}:p[t]:e[t],set:(e,t,n)=>("string"==typeof t&&t in p?(p[t]!==n&&"function"!=typeof n&&s(f,[t],n),p[t]=n):e[t]=n,!0)};return new Proxy(p,l)},g=(e,t,r)=>{const i=e[o],c=a(),h={[o]:i,[d]:c,[u]:[]},f=n(e,["getContext"],[t,r],1,c),p={get:(e,t)=>"string"==typeof t?"function"!=typeof f[t]?f[t]:(...e)=>n(h,[t],e,m(t)):e[t],set:(e,t,n)=>("string"==typeof t&&t in f?(f[t]!==n&&"function"!=typeof n&&s(h,[t],n),f[t]=n):e[t]=n,!0)};return new Proxy(f,p)},l="checkFramebufferStatus,makeXRCompatible".split(","),m=e=>e.startsWith("create")||e.startsWith("get")||e.startsWith("is")||l.includes(e)?1:2;v(t,"CanvasGradient",h),v(t,"CanvasPattern",f),i(t.HTMLCanvasElement,r)},y=(e,u,c,b)=>{var y,T;b.Audio=S("HTMLAudioElement",class{constructor(e){const t=c.k("audio",a());return t.src=e,t}});const w=class extends e{get enabled(){return t(this,["enabled"])}set enabled(e){s(this,["enabled"],e)}get id(){return t(this,["id"])}get kind(){return t(this,["kind"])}get label(){return t(this,["label"])}get language(){return t(this,["language"])}get sourceBuffer(){return new x(this)}},E=class{constructor(e){const s="audioTracks",r=e[o],i=e[d];return new Proxy({addEventListener(...t){n(e,[s,"addEventListener"],t,3)},getTrackById:(...t)=>n(e,[s,"getTrackById"],t),get length(){return t(e,[s,"length"])},removeEventListener(...t){n(e,[s,"removeEventListener"],t,3)}},{get:(e,t)=>"number"==typeof t?new w(r,i,[s,t]):e[t]})}},k=v(b,"SourceBufferList",class extends Array{constructor(e){super(),this[h]=e}addEventListener(...e){n(this[h],["sourceBuffers","addEventListener"],e,3)}removeEventListener(...e){n(this[h],["sourceBuffers","removeEventListener"],e,3)}}),x=v(b,"SourceBuffer",(T=class extends u{constructor(e){super(e[o],e[d],["sourceBuffers"]),this[y]=[],this[h]=e}abort(){const e=R(this);n(this,[e,"appendWindowStart"],m,1)}addEventListener(...e){const t=R(this);n(this,[t,"addEventListener"],e,3)}appendBuffer(e){this[g].push(["appendBuffer",[e],e]),M(this)}get appendWindowStart(){const e=R(this);return t(this,[e,"appendWindowStart"])}set appendWindowStart(e){const t=R(this);s(this,[t,"appendWindowStart"],e)}get appendWindowEnd(){const e=R(this);return t(this,[e,"appendWindowEnd"])}set appendWindowEnd(e){const t=R(this);s(this,[t,"appendWindowEnd"],e)}get buffered(){const e=this[h],t=R(this);return new B(e[o],e[d],["sourceBuffers",t,"buffered"])}changeType(e){const t=R(this);n(this,[t,"changeType"],[e],2)}get mode(){const e=R(this);return t(this,[e,"mode"])}set mode(e){const t=R(this);s(this,[t,"mode"],e)}remove(e,t){this[g].push(["remove",[e,t]]),M(this)}removeEventListener(...e){const t=R(this);n(this,[t,"removeEventListener"],e,3)}get timestampOffset(){const e=R(this);return t(this,[e,"timestampOffset"])}set timestampOffset(e){const t=R(this);s(this,[t,"timestampOffset"],e)}get updating(){const e=R(this);return t(this,[e,"updating"])}},y=g,T)),B=v(b,"TimeRanges",class extends e{start(...e){return n(this,["start"],e)}end(...e){return n(this,["end"],e)}get length(){return t(this,["length"])}}),R=e=>e?e[h][p].indexOf(e):-1,M=e=>{if(e[g].length){if(!e.updating){const t=e[g].shift();if(t){const s=R(e);n(e,[s,t[0]],t[1],3,void 0,t[2])}}setTimeout((()=>M(e)),50)}},W={buffered:{get(){return this[l]||(this[l]=new B(this[o],this[d],["buffered"]),setTimeout((()=>{this[l]=void 0}),5e3)),this[l]}},readyState:{get(){return 4===this[f]?4:("number"!=typeof this[f]&&(this[f]=t(this,["readyState"]),setTimeout((()=>{this[f]=void 0}),1e3)),this[f])}}};v(b,"MediaSource",class extends u{constructor(){super(c.V),this[p]=new k(this),r(this,"MediaSource",m)}get activeSourceBuffers(){return[]}addSourceBuffer(e){const t=new x(this);return this[p].push(t),n(this,["addSourceBuffer"],[e]),t}clearLiveSeekableRange(){n(this,["clearLiveSeekableRange"],m,2)}get duration(){return t(this,["duration"])}set duration(e){s(this,["duration"],e)}endOfStream(e){n(this,["endOfStream"],[e],3)}get readyState(){return t(this,["readyState"])}removeSourceBuffer(e){const t=R(e);t>-1&&(this[p].splice(t,1),n(this,["removeSourceBuffer"],[t],1))}setLiveSeekableRange(e,t){n(this,["setLiveSeekableRange"],[e,t],2)}get sourceBuffers(){return this[p]}static isTypeSupported(e){if(!L.has(e)){const t=n(b,["MediaSource","isTypeSupported"],[e]);L.set(e,t)}return L.get(e)}});const C=b.URL=S("URL",class extends URL{});"audioTracks"in b.HTMLMediaElement.prototype&&(v(b,"AudioTrackList",E),v(b,"AudioTrack",w),W.audioTracks={get(){return new E(this)}}),i(b.HTMLMediaElement,W),C.createObjectURL=e=>n(b,["URL","createObjectURL"],[e]),C.revokeObjectURL=e=>n(b,["URL","revokeObjectURL"],[e])},L=new Map;e.f=(e,t,s,n,r)=>{r.map((e=>{delete n[e]})),b(e,n),y(e,t,s,n)}})(self);
@@ -0,0 +1,2 @@
1
+ /* Partytown 0.6.4 - MIT builder.io */
2
+ const e=new Map,t=(e,t)=>({F:e.F,p:t}),r=(e,t)=>new Response(e,{headers:{"content-type":t||"text/html","Cache-Control":"no-store"}});self.oninstall=()=>self.skipWaiting(),self.onactivate=()=>self.clients.claim(),self.onmessage=t=>{const r=t.data,n=e.get(r.F);n&&(e.delete(r.F),clearTimeout(n[1]),n[0](r))},self.onfetch=n=>{const s=n.request,i=new URL(s.url).pathname;i.endsWith("sw.html")?n.respondWith(r('<!DOCTYPE html><html><head><meta charset="utf-8"><script type="module">/* Partytown 0.6.4 - MIT builder.io */\n(e=>{const t=()=>{},r=e=>e.length,n=e=>{var t,r,n;try{const r=null===(t=null==e?void 0:e.constructor)||void 0===t?void 0:t.name;if(r)return r}catch(e){}try{const t=null===(n=null===(r=null==e?void 0:e.__zone_symbol__originalInstance)||void 0===r?void 0:r.constructor)||void 0===n?void 0:n.name;if(t)return t}catch(e){}return""},s=(e,t)=>e.startsWith(t),i=e=>!(s(e,"webkit")||s(e,"toJSON")||s(e,"constructor")||s(e,"toString")||s(e,"_")),o=e=>11===e.nodeType&&e.host?"#s":e.nodeName,a=()=>Math.round(Math.random()*Number.MAX_SAFE_INTEGER).toString(36),l={Anchor:"a",DList:"dl",Image:"img",OList:"ol",Paragraph:"p",Quote:"q",TableCaption:"caption",TableCell:"td",TableCol:"colgroup",TableRow:"tr",TableSection:"tbody",UList:"ul"},c={Graphics:"g",SVG:"svg"},u=Symbol(),h=Symbol(),d=new Map,p=new Map,m={},g=new WeakMap,f=(e,t)=>{if(e)return(t=g.get(e))||(t=e[u])||$(e,t=a()),t},y=(e,t,r,n,s)=>{if((r=m[e])&&r.U){if(e===t)return r.U;if(n=r.U.document,"d"===(s=t.split(".").pop()))return n;if("e"===s)return n.documentElement;if("h"===s)return n.head;if("b"===s)return n.body}return d.get(t)},$=(e,t,r)=>{e&&(d.set(t,e),e[u]=t,e[h]=r=Date.now(),r>w+5e3&&(d.forEach(((e,t)=>{e[h]<w&&e.nodeType&&!e.isConnected&&d.delete(t)})),w=r))};let w=0;const v=e.parent,b=document.implementation.createHTMLDocument(),S=v.partytown||{},E=(S.lib||"/~partytown/")+"",T=(e,t,r)=>{const n=((e,t)=>{return r=e,n={value:t},Object.defineProperty(r,"name",{...n,configurable:!0});var r,n})(class extends m[e].U.HTMLElement{},r[0]);return"connectedCallback,disconnectedCallback,attributeChangedCallback,adoptedCallback".split(",").map((r=>n.prototype[r]=function(...n){t.postMessage([15,e,f(this),r,n])})),n.observedAttributes=r[1],n},C=(e,t,r,i,a)=>void 0!==t&&(i=typeof t)?"string"===i||"number"===i||"boolean"===i||null==t?[0,t]:"function"===i?[6]:(r=r||new Set)&&Array.isArray(t)?r.has(t)?[1,[]]:r.add(t)&&[1,t.map((t=>C(e,t,r)))]:"object"===i?I(t)?[14,{name:t.name,message:t.message,stack:t.stack}]:""===(a=n(t))?[2,{}]:"Window"===a?[3,[e,e]]:"HTMLCollection"===a||"NodeList"===a?[7,Array.from(t).map((t=>C(e,t,r)[1]))]:a.endsWith("Event")?[5,M(e,t,r)]:"CSSRuleList"===a?[12,Array.from(t).map(L)]:s(a,"CSS")&&a.endsWith("Rule")?[11,L(t)]:"CSSStyleDeclaration"===a?[13,M(e,t,r)]:"Attr"===a?[10,[t.name,t.value]]:t.nodeType?[3,[e,f(t),o(t)]]:[2,M(e,t,r,!0,!0)]:void 0:t,M=(e,t,r,n,s,o,a,l)=>{if(o={},!r.has(t))for(a in r.add(t),t)i(a)&&(l=t[a],(n||"function"!=typeof l)&&(s||""!==l)&&(o[a]=C(e,l,r)));return o},L=e=>{let t,r={};for(t in e)U.includes(t)&&(r[t]=String(e[t]));return r},I=t=>t instanceof e.top.Error,N=(t,r,n,s)=>r?(n=r[0],s=r[1],0===n?s:4===n?x(t,s):1===n?s.map((e=>N(t,e))):3===n?y(s[0],s[1]):5===n?A(R(t,s)):2===n?R(t,s):8===n?s:9===n?new e[r[2]](s):void 0):void 0,x=(e,{V:t,w:r,L:n},s)=>((s=p.get(n))||(s=function(...s){e.postMessage([9,{V:t,w:r,L:n,R:C(t,this),b:C(t,s)}])},p.set(n,s)),s),A=e=>new("detail"in e?CustomEvent:Event)(e.type,e),R=(e,t,r,n)=>{for(n in r={},t)r[n]=N(e,t[n]);return r},U="cssText,selectorText,href,media,namespaceURI,prefix,name,conditionText".split(","),H=async(e,t)=>{let n,s,i,o,a,l,c={F:t.F},u=r(t.Q),h=0;for(;h<u;h++)try{l=h===u-1,n=t.Q[h],s=n.V,i=n.a,!m[s]&&s.startsWith("f_")&&await new Promise((e=>{let t=0,r=()=>{m[s]||t++>1e3?e():requestAnimationFrame(r)};r()})),1===i[0]&&i[1]in m[s].U?$(new m[s].U[i[1]](...N(e,i[2])),n.w):(o=y(s,n.w),o?(a=P(e,s,o,i,l,n.r),n.d&&("string"==typeof n.d?$(a,n.d):m[n.d.V]={V:n.d.V,U:{document:a}}),"object"==typeof(d=a)&&d&&d.then&&(a=await a,l&&(c.z=!0)),l&&(c.M=C(s,a))):c.p=n.w+" not found")}catch(e){l?c.p=String(e.stack||e):console.error(e)}var d;return c},P=(e,t,s,i,o,a)=>{let l,c,u,h,d,p=0,m=r(i);for(;p<m;p++){c=i[p],l=i[p+1],u=i[p-1];try{if(!Array.isArray(l))if("string"==typeof c||"number"==typeof c){if(p+1===m&&a)return d={},a.map((e=>d[e]=s[e])),d;s=s[c]}else{if(0===l)return void(s[u]=N(e,c));if("function"==typeof s[u]&&(h=N(e,c),"define"===u&&"CustomElementRegistry"===n(s)&&(h[1]=T(t,e,h[1])),"insertRule"===u&&h[1]>r(s.cssRules)&&(h[1]=r(s.cssRules)),s=s[u].apply(s,h),"play"===u))return Promise.resolve()}}catch(e){if(o)throw e;console.debug(e)}}return s},O=(e,t,r)=>{if(!g.has(r)){g.set(r,t);const n=r.document,s=r.history,i=g.get(r.parent),o=()=>e.postMessage([5,{V:t,J:i,S:n.baseURI,T:n.visibilityState}]),a=s.pushState.bind(s),l=s.replaceState.bind(s),c=(r,s,i,o)=>{setTimeout((()=>{e.postMessage([13,{V:t,type:r,state:s,url:n.baseURI,newUrl:i,oldUrl:o}])}))};s.pushState=(e,t,r)=>{a(e,t,r),c(0,e,null==r?void 0:r.toString())},s.replaceState=(e,t,r)=>{l(e,t,r),c(1,e,null==r?void 0:r.toString())},r.addEventListener("popstate",(e=>{c(2,e.state)})),r.addEventListener("hashchange",(e=>{c(3,{},e.newURL,e.oldURL)})),n.addEventListener("visibilitychange",(()=>e.postMessage([14,t,n.visibilityState]))),m[t]={V:t,U:r},"complete"===n.readyState?o():r.addEventListener("load",o)}},j=(e,t)=>{let n,s,i,o=t.V,a=t.U,l=a.document;l&&l.body?(n=l.querySelector(\'script[type="text/partytown"]:not([data-ptid]):not([data-pterror]):not([async]):not([defer])\'),n||(n=l.querySelector(\'script[type="text/partytown"]:not([data-ptid]):not([data-pterror])\')),n?(n.dataset.ptid=s=f(n,o),i={V:o,w:s},n.src?(i.S=n.src,i.H=n.dataset.ptsrc||n.src):i.j=n.innerHTML,e.postMessage([7,i])):(t.x||(t.x=1,((e,t,n)=>{let s,i,o=n._ptf,a=(n.partytown||{}).forward||[],l=(r,n)=>e.postMessage([10,{V:t,q:r,b:C(t,Array.from(n))}]);if(n._ptf=void 0,a.map((e=>{i=n,e.split(".").map(((e,t,n)=>{i=i[n[t]]=t+1<r(n)?i[n[t]]||("push"===n[t+1]?[]:{}):(...e)=>l(n,e)}))})),o)for(s=0;s<r(o);s+=2)l(o[s],o[s+1])})(e,o,a),l.dispatchEvent(new CustomEvent("pt0"))),e.postMessage([8,o]))):requestAnimationFrame((()=>j(e,t)))},k=()=>{const e=b.createElement("i"),t=b.createTextNode(""),r=b.createComment(""),n=b.createDocumentFragment(),s=b.createElement("p").attachShadow({mode:"open"}),i=J(v,"IntersectionObserver"),o=J(v,"MutationObserver"),a=J(v,"ResizeObserver"),l=v.performance,c=v.screen,u=[[v.history],[l],[l.navigation],[l.timing],[c],[c.orientation],[v.visualViewport],[i,12],[o,12],[a,12],[t],[r],[n],[s],[e],[e.attributes],[e.classList],[e.dataset],[e.style],[b],[b.doctype]],h=[D("Window",v),D("Node",t)],d={i:JSON.stringify(S,((e,t)=>("function"==typeof t&&(t=String(t)).startsWith(e+"(")&&(t="function "+t),t))),v:F(u,h),C:new URL(E,v.location)+"",I:origin,D:q("localStorage"),O:q("sessionStorage")};return G(d.v,v,"IntersectionObserverEntry"),d},V=()=>{const e=Object.getOwnPropertyNames(v).map((e=>((e,t,r,n)=>{if(r=t.match(/^(HTML|SVG)(.+)Element$/))return n=r[2],"S"==t[0]?e.createElementNS("http://www.w3.org/2000/svg",c[n]||n.slice(0,2).toLowerCase()+n.slice(2)):e.createElement(l[n]||n)})(b,e))).filter((e=>e)).map((e=>[e]));return F(e,[])},B=new Set(["Object"]),F=(e,t)=>(e.filter((e=>e[0])).map((e=>{const t=e[0],r=e[1],s=n(t);return[s,v[s].prototype,t,r]})).map((([e,r,n,s])=>W(B,t,e,r,n,s))),t),D=(e,t,r)=>{let n=[],s=[e,"Object",n];for(r in t)_(n,t,r);return s},W=(e,t,r,s,i,a)=>{if(!e.has(r)){e.add(r);const l=Object.getPrototypeOf(s),c=n(l),u=[],h=Object.getOwnPropertyDescriptors(s);W(e,t,c,l,i,a);for(const e in h)_(u,i,e);t.push([r,c,u,a,o(i)])}},_=(e,t,r,s,o,a)=>{try{i(r)&&isNaN(r[0])&&"all"!==r&&("function"==(o=typeof(s=t[r]))?(String(s).includes("[native")||Object.getPrototypeOf(t)[r])&&e.push([r,5]):"object"===o&&null!=s?"Object"!==(a=n(s))&&self[a]&&e.push([r,s.nodeType||a]):"symbol"!==o&&(r.toUpperCase()===r?e.push([r,6,s]):e.push([r,6])))}catch(e){console.warn(e)}},q=e=>{let t,n=[],s=0,i=r(v[e]);for(;s<i;s++)t=v[e].key(s),n.push([t,v[e].getItem(t)]);return n},J=(e,r)=>void 0!==e[r]?new e[r](t):0,G=(e,t,r)=>{void 0!==t[r]&&e.push([r,"Object",Object.keys(t[r].prototype).map((e=>[e,6])),12])};let z;(t=>{const r=e.navigator.serviceWorker;return r.getRegistration().then((e=>(r.addEventListener("message",(t=>{return r=t.data,n=t=>e.active&&e.active.postMessage(t),H(z,r).then(n);var r,n})),(e,t)=>{0===t[0]?e.postMessage([1,k()]):2===t[0]?e.postMessage([3,V()]):((e,t,r)=>{4===t[0]?O(e,a(),v):(r=m[t[1]])&&(7===t[0]?requestAnimationFrame((()=>j(e,r))):6===t[0]&&((e,t,r,n,s)=>{(s=t.U.document.querySelector(`[data-ptid="${r}"]`))&&(n?s.dataset.pterror=n:s.type+="-x",delete s.dataset.ptid),j(e,t)})(e,r,t[2],t[3]))})(e,t)})))})().then((e=>{e&&(z=new Worker(URL.createObjectURL(new Blob([\'/* Partytown 0.6.4 - MIT builder.io */\\n(e=>{const t=Symbol(),r=Symbol(),n=Symbol(),i=Symbol(),s=Symbol(),o=Symbol(),a=Symbol(),l=Symbol(),$=new Map,c={},u=new WeakMap,d=[],h={},p=new Map,g=new Map,m={},f=new Map,w=new Map,y="about:blank",v=e=>e.split(","),S=e=>{if(e=h.C+e,new URL(e).origin!=location.origin)throw"Invalid "+e;return e},b=v("clientWidth,clientHeight,clientTop,clientLeft,innerWidth,innerHeight,offsetWidth,offsetHeight,offsetTop,offsetLeft,outerWidth,outerHeight,pageXOffset,pageYOffset,scrollWidth,scrollHeight,scrollTop,scrollLeft"),I=v("childElementCount,children,firstElementChild,lastElementChild,nextElementSibling,previousElementSibling"),T=v("insertBefore,remove,removeChild,replaceChild"),M=v("className,width,height,hidden,innerHTML,innerText,textContent"),E=v("setAttribute,setAttributeNS,setProperty"),N=v("addEventListener,dispatchEvent,removeEventListener"),L=N.concat(E,v("add,observe,remove,unobserve")),x=/^[A-Z_]([A-Z0-9-]*[A-Z0-9])?$/,C=()=>{},H=e=>e.length,W=e=>{var t,r,n;try{const r=null===(t=null==e?void 0:e.constructor)||void 0===t?void 0:t.name;if(r)return r}catch(e){}try{const t=null===(n=null===(r=null==e?void 0:e.__zone_symbol__originalInstance)||void 0===r?void 0:r.constructor)||void 0===n?void 0:n.name;if(t)return t}catch(e){}return""},R=[],A=()=>Math.round(Math.random()*Number.MAX_SAFE_INTEGER).toString(36),P="text/partytown",O=(e,t,r)=>Object.defineProperty(e,t,{...r,configurable:!0}),k=(e,t)=>O(e,"name",{value:t}),D=(e,t,r)=>O(e.prototype,t,r),j=(e,t)=>Object.defineProperties(e.prototype,t),U=(e,t,r)=>D(e,t,{value:r,writable:!0}),_=(e,t)=>t in e[o],B=(e,t)=>e[o][t],F=(e,t,r)=>e[o][t]=r,V=(e,t,r,n,i)=>(!(i=$.get(t))&&r&&m[e]&&(i=m[e].k(r,t,n),$.set(t,i)),i),z=(e,t)=>U(e,"nodeType",t),X=(e,t)=>t.map((t=>D(e,t,{get(){let e=q(this,t),r=w.get(e);return r||(r=ue(this,[t]),w.set(e,r)),r}}))),q=(e,n,i)=>[e[t],e[r],n,...(i||R).map((e=>String(e&&e[t]?e[r]:e)))].join("."),G=(e,t)=>v(t).map((t=>D(e,t,{get(){return _(this,t)||F(this,t,ue(this,[t])),B(this,t)},set(e){B(this,t)!==e&&de(this,[t],e),F(this,t,e)}}))),J=e=>b.map((t=>D(e,t,{get(){const e=f.get(q(this,t));if("number"==typeof e)return e;const r=ue(this,[t],b);return r&&"object"==typeof r?(Object.entries(r).map((([e,t])=>f.set(q(this,e),t))),r[t]):r}}))),Z=(e,t)=>t.map((t=>{e.prototype[t]=function(...e){let r=q(this,t,e),n=f.get(r);return n||(n=he(this,[t],e),f.set(r,n)),n}})),Y=(e,n,i,s,o)=>{return void 0!==i&&(o=typeof i)?"string"===o||"boolean"===o||"number"===o||null==i?[0,i]:"function"===o?[4,{V:e,w:n,L:(a=i,(l=u.get(a))||(u.set(a,l=A()),c[l]=a),l)}]:(s=s||new Set)&&Array.isArray(i)?s.has(i)?[1,[]]:s.add(i)&&[1,i.map((t=>Y(e,n,t,s)))]:"object"===o?i[r]?[3,[i[t],i[r]]]:i instanceof Event?[5,Q(e,n,i,!1,s)]:K&&i instanceof TrustedHTML?[0,i.toString()]:i instanceof ArrayBuffer?[8,i]:ArrayBuffer.isView(i)?[9,i.buffer,W(i)]:[2,Q(e,n,i,!0,s)]:void 0:i;var a,l},K="undefined"!=typeof TrustedHTML,Q=(e,t,r,n,i,s,o,a)=>{if(s={},!i.has(r))for(o in i.add(r),r)a=r[o],(n||"function"!=typeof a)&&(s[o]=Y(e,t,a,i));return s},ee=(e,n)=>e?Y(e[t],e[r],n):[0,n],te=(e,t,r,n,i,s,o,a)=>{if(n){if(i=n[0],s=n[1],0===i||11===i||12===i)return s;if(4===i)return ne(r,s);if(6===i)return e&&r.length>0?(...t)=>he(m[e].U,r,t,1):C;if(3===i)return re(s);if(7===i)return new se(s.map(re));if(10===i)return new oe(s);if(1===i)return s.map((n=>te(e,t,r,n)));if(14===i)return new ie(s);for(a in o={},s)o[a]=te(e,t,[...r,a],s[a]);if(13===i)return new m[e].U.CSSStyleDeclaration(e,t,r,o);if(5===i){if("message"===o.type&&o.origin){let e,t=JSON.stringify(o.data),r=d.find((e=>e.m===t));r&&(e=m[r.V],e&&(o.source=e.U,o.origin=e.E.origin))}return new Proxy(new Event(o.type,o),{get:(e,t)=>t in o?o[t]:"function"==typeof e[String(t)]?C:e[String(t)]})}if(2===i)return o}},re=([e,t,r])=>t===e&&m[e]?m[e].U:V(e,t,r),ne=(e,{V:t,w:r,G:n,L:i})=>(c[i]||u.set(c[i]=function(...i){const s=V(t,r,n);return he(s,e,i)},i),c[i]);class ie extends Error{constructor(e){super(e.message),this.name=e.name,this.message=e.message,this.stack=e.stack}}const se=class{constructor(e){(this._=e).map(((e,t)=>this[t]=e))}entries(){return this._.entries()}forEach(e,t){this._.map(e,t)}item(e){return this[e]}keys(){return this._.keys()}get length(){return H(this._)}values(){return this._.values()}[Symbol.iterator](){return this._[Symbol.iterator]()}},oe=class{constructor(e){this.name=e[0],this.value=e[1]}get nodeName(){return this.name}get nodeType(){return 2}},ae=(e,t,r)=>console.warn(`Partytown unable to ${e} cross-origin ${t}: `+r.E),le=[],$e=(e,n,i,o,a,l)=>{if(e[s]){if(le.push({V:e[t],w:e[r],a:[...e[s],...n],d:o,r:a}),3===i)h.K([12,{F:A(),Q:[...le]}],l?[l instanceof ArrayBuffer?l:l.buffer]:void 0),le.length=0;else if(1===i)return ce(!0);h.c=setTimeout(ce,20)}},ce=e=>{if(clearTimeout(h.c),H(le)){const t=le[H(le)-1],r={F:A(),Q:[...le]};if(le.length=0,e){const e=((e,t)=>{const r=new XMLHttpRequest;return r.open("POST",S("proxytown"),!1),r.send(JSON.stringify(t)),JSON.parse(r.responseText)})(0,r),n=e.z,i=te(t.V,t.w,t.a,e.M);if(e.p){if(n)return Promise.reject(e.p);throw new Error(e.p)}return n?Promise.resolve(i):i}h.K([12,r])}},ue=(e,t,r,n)=>h.i.get&&(n=h.i.get(ge(e,t)))!==a?n:n=$e(e,t,1,void 0,r),de=(e,t,r,n)=>{if(h.i.set){if((n=h.i.set({value:r,prevent:l,...ge(e,t)}))===l)return;n!==a&&(r=n)}M.some((e=>t.includes(e)))&&(f.clear(),t[t.length-1]),t=[...t,ee(e,r),0],$e(e,t,2)},he=(e,t,r,n,i,s,o,l)=>h.i.apply&&(o=h.i.apply({args:r,...ge(e,t)}))!==a?o:(l=t[H(t)-1],t=[...t,ee(e,r)],n=n||(L.includes(l)?2:1),"setAttribute"===l&&_(e,r[0])?F(e,r[0],r[1]):T.includes(l)?(f.clear(),w.clear()):E.includes(l)&&(n=2,f.clear()),o=$e(e,t,n,i,void 0,s)),pe=(e,t,r)=>{$e(e,[1,t,ee(e,r)],1)},ge=(e,t)=>({name:t.join("."),continue:a,nodeName:e[n],constructor:W(e)}),me=(e,t,r,n,i)=>{let s,o,a=t=>((t=r.get(e.origin))||r.set(e.origin,t=[]),t),l=e=>a().findIndex((t=>t[fe]===e)),$={getItem:e=>(s=l(e),s>-1?a()[s][we]:null),setItem(r,o){s=l(r),s>-1?a()[s][we]=o:a().push([r,o]),n?he(e,[t,"setItem"],[r,o],2):ae("set",t,i)},removeItem(r){s=l(r),s>-1&&a().splice(s,1),n?he(e,[t,"removeItem"],[r],2):ae("remove",t,i)},key:e=>(o=a()[e],o?o[fe]:null),clear(){a().length=0,n?he(e,[t,"clear"],R,2):ae("clear",t,i)},get length(){return a().length}};e[t]=$},fe=0,we=1,ye=(e,t,r)=>{e[r]=k(class extends t{constructor(e,t,r,i){return super(e,t,r,i||{}),new Proxy(this,{get:(e,t)=>e[t]?e[t]:(e[t]||"string"!=typeof t||e[n][t]||(e[n][t]=ue(e,[t])),e[n][t]),set:(e,t,r)=>(e[n][t]=r,de(e,[t],r),f.clear(),!0)})}setProperty(...e){this[n][e[0]]=e[1],he(this,["setProperty"],e,2),e[0],f.clear()}getPropertyValue(e){return this[e]}removeProperty(e){let t=this[n][e];return he(this,["removeProperty"],[e],2),f.clear(),this[n][e]=void 0,t}},r)},ve=(e,t)=>{e[t]=k(class{constructor(e){this.ownerNode=e}get cssRules(){const e=this.ownerNode;return new Proxy({},{get(t,r){const n=String(r);return"item"===n?t=>be(e,t):"length"===n?Se(e).length:isNaN(n)?t[r]:be(e,n)}})}insertRule(e,t){const r=Se(this.ownerNode);return(t=void 0===t?0:t)>=0&&t<=r.length&&(he(this.ownerNode,["sheet","insertRule"],[e,t],2),r.splice(t,0,0)),this.ownerNode,f.clear(),t}deleteRule(e){he(this.ownerNode,["sheet","deleteRule"],[e],2),Se(this.ownerNode).splice(e,1),this.ownerNode,f.clear()}get type(){return"text/css"}},t);const r={sheet:{get(){return new e[t](this)}}};j(e.HTMLStyleElement,r)},Se=(e,t)=>((t=B(e,2))||(t=ue(e,["sheet","cssRules"]),F(e,2,t)),t),be=(e,t,r)=>(0===(r=Se(e))[t]&&(r[t]=ue(e,["sheet","cssRules",parseInt(t,10)])),r[t]),Ie="0.6.4",Te=(e,t,r,n,i)=>{try{e.l=t,Me(e,r)}catch(e){console.error(r,e),i=String(e.stack||e)}return e.l="",i},Me=(e,t,r)=>{e.N=1,t=`with(this){${(h.i.globalFns||[]).filter((e=>/[a-zA-Z_$][0-9a-zA-Z_$]*/.test(e))).map((e=>`(typeof ${e}==\\\'function\\\'&&(window.${e}=${e}))`)).join(";")+t.replace(/\\\\bthis\\\\b/g,"(thi$(this)?window:this)").replace(/\\\\/\\\\/# so/g,"//Xso")}\\\\n;function thi$(t){return t===this}}`+(r?"\\\\n//# sourceURL="+r:""),e.A||(t=t.replace(/.postMessage\\\\(/g,`.postMessage(\\\'${e.V}\\\',`)),new Function(t).call(e.U),e.N=0},Ee=(e,t,r)=>{(r=B(e,t))&&setTimeout((()=>r.map((e=>e({type:t})))))},Ne=(e,t,r,n,i,s)=>{for(n=e.E;!n.host&&(n=(e=m[e.J]).E,e.V!==e.J););return i=new URL(t||"",n),r&&h.i.resolveUrl&&(s=h.i.resolveUrl(i,n,r))?s:i},Le=(e,t,r)=>Ne(e,t,r)+"",xe=()=>`<script src="${S("partytown.js?v="+Ie)}"><\\\\/script>`,Ce=e=>class{constructor(){this.s="",this.l=[],this.e=[]}get src(){return this.s}set src(t){this.s=t,fetch(Le(e,t,null),{mode:"no-cors",credentials:"include",keepalive:!0}).then((e=>{e.ok||0===e.status?this.l.map((e=>e({type:"load"}))):this.e.map((e=>e({type:"error"})))}),(()=>this.e.forEach((e=>e({type:"error"})))))}addEventListener(e,t){"load"===e&&this.l.push(t),"error"===e&&this.e.push(t)}get onload(){return this.l[0]}set onload(e){this.l=[e]}get onerror(){return this.e[0]}set onerror(e){this.e=[e]}},He={addEventListener:{value(...e){const t=e[0],r=B(this,t)||[];r.push(e[1]),F(this,t,r)}},async:{get:C,set:C},defer:{get:C,set:C},onload:{get(){let e=B(this,"load");return e&&e[0]||null},set(e){F(this,"load",e?[e]:null)}},onerror:{get(){let e=B(this,"error");return e&&e[0]||null},set(e){F(this,"error",e?[e]:null)}},getAttribute:{value(e){return"src"===e?this.src:he(this,["getAttribute"],[e])}},setAttribute:{value(e,t){We.includes(e)?this[e]=t:he(this,["setAttribute"],[e,t])}}},We=v("src,type"),Re=(e,t)=>{const r={innerHTML:Ae,innerText:Ae,src:{get(){return B(this,4)||""},set(e){const r=Le(t,e,null),n=h.i;e=Le(t,e,"script"),F(this,4,e),de(this,["src"],e),r!==e&&de(this,["dataset","ptsrc"],r),this.type&&n.loadScriptsOnMainThread&&n.loadScriptsOnMainThread.some((t=>t===e))&&de(this,["type"],"text/javascript")}},textContent:Ae,type:{get(){return ue(this,["type"])},set(e){Pe(e)||(F(this,5,e),de(this,["type"],e))}},...He};j(e,r)},Ae={get(){return B(this,3)||""},set(e){F(this,3,e)}},Pe=e=>!e||"text/javascript"===e,Oe=(e,i,s)=>{const o=k(class extends s{appendChild(e){return this.insertBefore(e,null)}get href(){}set href(e){}insertBefore(e,s){const o=e[t]=this[t],a=e[r],l=e[n],$="SCRIPT"===l,c="IFRAME"===l;if($){const t=B(e,3),r=B(e,5);if(t){if(Pe(r)){const r=Te(i,a,t,0,""),n=r?"pterror":"ptid",s=r||a;de(e,["type"],P+"-x"),de(e,["dataset",n],s)}de(e,["innerHTML"],t)}}if(he(this,["insertBefore"],[e,s],2),c){const t=B(e,0);if(t&&t.startsWith("javascript:")){const e=t.split("javascript:")[1];Te(i,a,e,0,"")}((e,t)=>{let r,n,i=0,s=()=>{m[e]&&m[e].x&&!m[e].y?(r=B(t,1)?"error":"load",n=B(t,r),n&&n.map((e=>e({type:r})))):i++>2e3?(n=B(t,"error"),n&&n.map((e=>e({type:"error"})))):setTimeout(s,9)};s()})(a,e)}return $&&(ce(!0),h.K([7,o])),e}get nodeName(){return"#s"===this[n]?"#document-fragment":this[n]}get nodeType(){return 3}get ownerDocument(){return i.n}},"Node");X(o,v("childNodes,firstChild,isConnected,lastChild,nextSibling,parentElement,parentNode,previousSibling")),e.Node=o},ke=v("AUDIO,CANVAS,VIDEO"),De=v("Audio,MediaSource"),je=(e,r,n)=>{j(e,{body:{get:()=>r.e},cookie:{get(){return r.A?ue(this,["cookie"]):(ae("get","cookie",r),"")},set(e){r.A&&de(this,["cookie"],e)}},createElement:{value(e){if(e=e.toUpperCase(),!x.test(e))throw e+" not valid";const r="IFRAME"===e,n=this[t],i=(r?"f_":"")+A();he(this,["createElement"],[e],2,i);const s=V(n,i,e);if(r)Ge({V:i,J:n,S:y},!0).U.fetch=fetch,de(s,["srcdoc"],xe());else if("SCRIPT"===e){const e=B(s,5);Pe(e)&&de(s,["type"],P)}return s}},createElementNS:{value(e,r){const n=A(),i=V(this[t],n,r,e);return he(this,["createElementNS"],[e,r],2,n),i}},createTextNode:{value(e){const r=this[t],n=A(),i=V(r,n,"#text");return he(this,["createTextNode"],[e],2,n),i}},createEvent:{value:e=>new Event(e)},currentScript:{get(){return r.l?V(this[t],r.l,"SCRIPT"):null}},defaultView:{get:()=>n?null:r.U},documentElement:{get:()=>r.o},getElementsByTagName:{value(e){return"BODY"===(e=e.toUpperCase())?[r.e]:"HEAD"===e?[r.s]:he(this,["getElementsByTagName"],[e])}},head:{get:()=>r.s},images:{get(){return ue(this,["images"])}},implementation:{get(){return{hasFeature:()=>!0,createHTMLDocument:e=>{const t=A();return he(this,["implementation","createHTMLDocument"],[e],1,{V:t}),Ge({V:t,J:t,S:r.E+"",T:"hidden"},!0,!0).n}}}},location:{get:()=>r.E,set(e){r.E.href=e+""}},nodeType:{value:9},parentNode:{value:null},parentElement:{value:null},readyState:{value:"complete"},visibilityState:{get:()=>r.T||"visible"}}),G(e,"compatMode,referrer,forms")},Ue=(e,t)=>{j(e,{parentElement:{get(){return this.parentNode}},parentNode:{get:()=>t.o}})},_e=(e,t)=>{j(e,{localName:{get(){return this[n].toLowerCase()}},namespaceURI:{get(){return this[i]||"http://www.w3.org/1999/xhtml"}},nodeType:{value:1},tagName:{get(){return this[n]}}}),X(e,I),G(e,"id"),J(t),Z(t,v("getClientRects,getBoundingClientRect"))},Be=(e,t)=>{const r={};v("hash,host,hostname,href,origin,pathname,port,protocol,search").map((e=>{r[e]={get(){let r,n=B(this,4);return"string"!=typeof n&&(r=ue(this,["href"]),F(this,4,r),n=new URL(r)[e]),Ne(t,n,null)[e]},set(r){let n;if("href"===e)if((e=>{try{return new URL(e),!0}catch(e){return!1}})(r))n=new URL(r);else{const e=t.E.href;n=Ne(t,e,null),n.href=new URL(r+"",n.href)}else n=Ne(t,this.href,null),n[e]=r;F(this,4,n.href),de(this,["href"],n.href)}}})),j(e,r)},Fe=(e,t)=>{const r={contentDocument:{get(){return Ve(this).n}},contentWindow:{get(){return Ve(this).U}},src:{get(){let e=B(this,0);return e&&e.startsWith("javascript:")?e:(e=Ve(this).E.href,e.startsWith("about:")?"":e)},set(e){if(e)if(e.startsWith("javascript:"))F(this,0,e);else if(!e.startsWith("about:")){let t,r=new XMLHttpRequest,n=Ve(this);n.E.href=e=Le(n,e,"iframe"),n.y=1,F(this,1,void 0),r.open("GET",e,!1),r.send(),t=r.status,t>199&&t<300?(de(this,["srcdoc"],`<base href="${e}">`+r.responseText.replace(/<script>/g,\\\'<script type="text/partytown">\\\').replace(/<script /g,\\\'<script type="text/partytown" \\\').replace(/text\\\\/javascript/g,P)+xe()),ce(!0),h.K([7,n.V])):(F(this,1,t),n.y=0)}}},...He};j(e,r)},Ve=e=>{const n=e[r];return m[n]||Ge({V:n,J:e[t],S:ue(e,["src"])||y},!0),m[n]},ze=e=>{const t=(e,t)=>{const{a:r,b:n,c:i,d:s,e:o,f:a}=he(e,[t],R);return new DOMMatrixReadOnly([r,n,i,s,o,a])},r={...e,getCTM:{value:function(){return t(this,"getCTM")}},getScreenCTM:{value:function(){return t(this,"getScreenCTM")}}};j(e,r)},Xe=(a,l,$,c,u,f)=>{let w,b,T;const M=class{constructor(e,l,$,c,u){this[t]=e||a,this[r]=l||w||A(),this[s]=$||[],this[n]=c||b,this[i]=u||T,this[o]={},w=b=T=void 0}},E=new(k(class extends URL{assign(){}reload(){}replace(){}},"Location"))($),L=E.origin===h.I||E.origin===y,x=l===a,C={},R=()=>{let e,t,r=[];for(e in m)t=m[e],t.J!==a||t.B||r.push(t);return r},P=k(class extends M{constructor(){super(a,a);let n,i,o=this,$=0,d=()=>{$||((h.u||(e.g=[ue,de,he,pe,j,A,t,r,s],h.t(S("partytown-media.js?v="+Ie)),h.u=e.f,delete e.f),h.u)(M,Y,C,o,De),$=1)},m={},y=(e,t,r)=>{ke.includes(e)&&d();const n=m[e]?m[e]:e.includes("-")?m.UNKNOWN:m.I;return w=t,b=e,T=r,new n};var N,H;if(o.Window=P,o.name=name+a,Oe(o,C,M),ye(o,M,"CSSStyleDeclaration"),((e,t,r)=>{e[r]=k(class extends t{now(){return performance.now()}},r)})(o,M,"Performance"),((e,t)=>{const r="customElements",n=new Map;e.customElements={define(i,s,o){n.set(i,s),t[i.toUpperCase()]=s;const a=[s.name,s.observedAttributes];he(e,[r,"define"],[i,a,o])},get:t=>n.get(t)||he(e,[r,"get"],[t]),whenDefined:t=>n.has(t)?Promise.resolve():he(e,[r,"whenDefined"],[t]),upgrade:t=>he(e,[r,"upgrade"],[t])}})(o,m),h.v.map((([e,t,n,i,l])=>{const $=qe[e]?q:"EventTarget"===t?Y:"Object"===t?M:o[t],c=o[e]=k(12===i?class extends M{constructor(...t){super(),pe(this,e,t)}}:o[e]||class extends ${},e);l&&(m[l]=c),n.map((([e,t,n])=>{e in c.prototype||e in $.prototype||("string"==typeof t?D(c,e,{get(){if(!_(this,e)){const n=this[r],i=[...this[s],e],l=o[t];l&&F(this,e,new l(a,n,i))}return B(this,e)},set(t){F(this,e,t)}}):5===t?U(c,e,(function(...t){return he(this,[e],t)})):t>0&&(void 0!==n?U(c,e,n):D(c,e,{get(){return ue(this,[e])},set(t){return de(this,[e],t)}})))}))})),v("atob,btoa,crypto,indexedDB,setTimeout,setInterval,clearTimeout,clearInterval").map((t=>{delete P.prototype[t],t in o||(n=e[t],null!=n&&(o[t]="function"!=typeof n||n.toString().startsWith("class")?n:n.bind(e)))})),Object.getOwnPropertyNames(e).map((t=>{t in o||(o[t]=e[t])})),De.map((e=>O(o,e,{get:()=>(d(),o[e])}))),"trustedTypes"in e&&(o.trustedTypes=e.trustedTypes),_e(o.Element,o.HTMLElement),je(o.Document,C,f),N=o.DocumentFragment,z(N,11),X(N,I),Be(o.HTMLAnchorElement,C),H=o.HTMLFormElement,j(H,{}),G(H,"elements"),Fe(o.HTMLIFrameElement),Re(o.HTMLScriptElement,C),ze(o.SVGGraphicsElement),Ue(o.HTMLHeadElement,C),Ue(o.HTMLBodyElement,C),((e,t)=>{j(e,{parentElement:{value:null},parentNode:{get:()=>t.n}})})(o.HTMLHtmlElement,C),ve(o,"CSSStyleSheet"),z(o.Comment,8),z(o.DocumentType,10),Object.assign(C,{V:a,J:l,U:new Proxy(o,{get:(e,t)=>{var r;if("string"!=typeof t||isNaN(t))return(null===(r=h.i.mainWindowAccessors)||void 0===r?void 0:r.includes(t))?ue(this,[t]):e[t];{let e=R()[t];return e?e.U:void 0}},has:()=>!0}),n:y("#document",a+".d"),o:y("HTML",a+".e"),s:y("HEAD",a+".h"),e:y("BODY",a+".b"),E:E,T:c,A:L,B:x,k:y}),o.requestAnimationFrame=e=>setTimeout((()=>e(performance.now())),9),o.cancelAnimationFrame=e=>clearTimeout(e),o.requestIdleCallback=(e,t)=>(t=Date.now(),setTimeout((()=>e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})),1)),o.cancelIdleCallback=e=>clearTimeout(e),me(o,"localStorage",p,L,C),me(o,"sessionStorage",g,L,C),L||(o.indexeddb=void 0),u)i={},o.history={pushState(e){i=e},replaceState(e){i=e},get state(){return i},length:0},o.indexeddb=void 0;else{const e=o.history.pushState.bind(o.history),t=o.history.replaceState.bind(o.history);o.history.pushState=(t,r,n)=>{!1!==C.$propagateHistoryChange$&&e(t,r,n)},o.history.replaceState=(e,r,n)=>{!1!==C.$propagateHistoryChange$&&t(e,r,n)}}o.Worker=void 0}addEventListener(...e){"load"===e[0]?C.N&&setTimeout((()=>e[1]({type:"load"}))):he(this,["addEventListener"],e,2)}get body(){return C.e}get document(){return C.n}get documentElement(){return C.o}fetch(e,t){return e="string"==typeof e||e instanceof URL?String(e):e.url,fetch(Le(C,e,"fetch"),t)}get frames(){return C.U}get frameElement(){return x?null:V(l,a,"IFRAME")}get globalThis(){return C.U}get head(){return C.s}get length(){return R().length}get location(){return E}set location(e){E.href=e+""}get Image(){return Ce(C)}get navigator(){return(e=>{let t,r={sendBeacon:(t,r)=>{try{return fetch(Le(e,t,null),{method:"POST",body:r,mode:"no-cors",keepalive:!0}),!0}catch(e){return console.error(e),!1}}};for(t in navigator)r[t]=navigator[t];return r})(C)}get origin(){return E.origin}set origin(e){}get parent(){for(let e in m)if(m[e].V===l)return m[e].U;return C.U}postMessage(...e){m[e[0]]&&(H(d)>50&&d.splice(0,5),d.push({V:e[0],m:JSON.stringify(e[1])}),e=e.slice(1)),he(this,["postMessage"],e,3)}get self(){return C.U}get top(){for(let e in m)if(m[e].B)return m[e].U;return C.U}get window(){return C.U}get XMLHttpRequest(){const e=XMLHttpRequest,t=String(e),r=k(class extends e{open(...e){e[1]=Le(C,e[1],"xhr"),super.open(...e)}set withCredentials(e){}toString(){return t}},W(e));return r.prototype.constructor.toString=()=>t,r}},"Window"),q=class extends M{constructor(e,t,r,n){return super(e,t,r,n),new Proxy(this,{get:(e,t)=>ue(e,[t]),set:(e,t,r)=>(de(e,[t],r),!0)})}},Y=class extends M{};return N.map((e=>Y.prototype[e]=function(...t){return he(this,[e],t,2)})),G(P,"devicePixelRatio"),J(P),Z(P,["getComputedStyle"]),new P,C},qe={DOMStringMap:1,NamedNodeMap:1},Ge=({V:e,J:t,S:r,T:n},i,s)=>(m[e]||(m[e]=Xe(e,t,r,n,i,s)),h.K([7,e]),m[e]),Je=[],Ze=t=>{const r=t.data,n=r[0],i=r[1];if(h.x)if(7===n)(async e=>{let t,r=e.V,n=e.w,i=V(r,n,"SCRIPT"),s=e.j,o=e.S,a=e.H,l="",$=m[r];if(o)try{o=Ne($,o,"script")+"",F(i,4,o),t=await fetch(o),t.ok?(s=await t.text(),$.l=n,Me($,s,a||o),Ee(i,"load")):(l=t.statusText,Ee(i,"error"))}catch(e){console.error(e),l=String(e.stack||e),Ee(i,"error")}else s&&(l=Te($,n,s,0,l));$.l="",h.K([6,r,n,l])})(i);else if(9===n)(({V:e,w:t,L:r,R:n,b:i})=>{if(c[r])try{c[r].apply(te(e,t,[],n),te(e,t,[],i))}catch(e){console.error(e)}})(i);else if(10===n)(({V:e,q:t,b:r})=>{try{let n=m[e].U,i=0,s=H(t);for(;i<s;i++)i+1<s?n=n[t[i]]:n[t[i]].apply(n,te(null,e,[],r))}catch(e){console.error(e)}})(i);else if(5===n)Ge(i);else if(8===n)m[i].x=1,m[i].y=0;else if(14===n)m[i].T=r[2];else if(13===n){const e=i.V,t=m[e];t.E.href=i.url,function(e,t,r){const n=t.U.history;switch(r.type){case 0:t.$propagateHistoryChange$=!1;try{n.pushState(r.state,"",r.newUrl)}catch(e){}t.$propagateHistoryChange$=!0;break;case 1:t.$propagateHistoryChange$=!1;try{n.replaceState(r.state,"",r.newUrl)}catch(e){}t.$propagateHistoryChange$=!0}}(i.V,t,i)}else 15===n&&((e,t,r,n,i)=>{const s=V(t,r);s&&"function"==typeof s[n]&&s[n].apply(s,i)})(...r);else 1===n?((t=>{const r=h.i=JSON.parse(t.i),n=t.I;h.t=importScripts.bind(e),h.v=t.v,h.C=t.C,h.I=n,h.K=postMessage.bind(e),h.P=t.P,p.set(n,t.D),g.set(n,t.O),e.importScripts=void 0,delete e.postMessage,delete e.WorkerGlobalScope,v("resolveUrl,get,set,apply").map((e=>{r[e]&&(r[e]=new Function("return "+r[e])())}))})(i),h.K([2])):3===n?(h.v=[...h.v,...i],h.x=1,h.K([4]),[...Je].map(Ze),Je.length=0):Je.push(t)};e.onmessage=Ze,postMessage([0])})(self);\\n\'],{type:"text/javascript"})),{name:"Partytown 🎉"}),z.onmessage=t=>{const r=t.data;12===r[0]?H(z,r[1]):e(z,r)},v.addEventListener("pt1",(e=>O(z,f(e.detail.frameElement),e.detail))))}))})(window);\n<\/script></head></html>')):i.endsWith("proxytown")&&n.respondWith((n=>new Promise((async s=>{const i=await n.clone().json(),o=await(r=>new Promise((async n=>{const s=[...await self.clients.matchAll()].sort(((e,t)=>e.url>t.url?-1:e.url<t.url?1:0))[0];if(s){const i=[n,setTimeout((()=>{e.delete(r.F),n(t(r,"Timeout"))}),1e4)];e.set(r.F,i),s.postMessage(r)}else n(t(r,"NoParty"))})))(i);s(r(JSON.stringify(o),"application/json"))})))(s))};
@@ -0,0 +1,2 @@
1
+ /* Partytown 0.6.4 - MIT builder.io */
2
+ !function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,"/"==(a=(o.lib||"/~partytown/")+(o.debug?"debug/":""))[0]&&(s=e.querySelectorAll('script[type="text/partytown"]'),i!=t?i.dispatchEvent(new CustomEvent("pt1",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener("pt0",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||"partytown-sw.js"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener("statechange",(function(t){"activated"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?"script":"iframe"),t||(c.setAttribute("style","display:block;width:0;height:0;border:0;visibility:hidden"),c.setAttribute("aria-hidden",!0)),c.src=a+"partytown-"+(t?"atomics.js?v=0.6.4":"sandbox-sw.html?"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t<s.length;t++)(n=e.createElement("script")).innerHTML=s[t].innerHTML,e.head.appendChild(n);c&&c.parentNode.removeChild(c)}function f(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(".").map((function(e,n,i){p=p[i[n]]=n+1<i.length?"push"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),"complete"==e.readyState?u():(t.addEventListener("DOMContentLoaded",u),t.addEventListener("load",u))}(window,document,navigator,top,window.crossOriginIsolated);
@@ -30,10 +30,7 @@ export interface NewsletterProps
30
30
  }
31
31
 
32
32
  const Newsletter = forwardRef<HTMLFormElement, NewsletterProps>(
33
- function Newsletter(
34
- { title, description, card = false, lite = false, ...otherProps },
35
- ref
36
- ) {
33
+ function Newsletter({ title, description, card = false, lite = false }, ref) {
37
34
  const { subscribeUser, loading, data } = useNewsletter()
38
35
  const nameInputRef = useRef<HTMLInputElement>(null)
39
36
  const emailInputRef = useRef<HTMLInputElement>(null)
@@ -74,10 +71,9 @@ const Newsletter = forwardRef<HTMLFormElement, NewsletterProps>(
74
71
  <Section className={`${styles.section} section-newsletter`}>
75
72
  <div data-fs-newsletter={card ? 'card' : ''}>
76
73
  <form
77
- data-fs-newsletter-form
78
74
  ref={ref}
75
+ data-fs-newsletter-form
79
76
  onSubmit={handleSubmit}
80
- {...otherProps}
81
77
  className="layout__content"
82
78
  >
83
79
  <header data-fs-newsletter-header>
@@ -98,6 +98,7 @@ function ProductDetails({
98
98
  name: variantName,
99
99
  brand,
100
100
  isVariantOf,
101
+ description,
101
102
  isVariantOf: { name, productGroupID: productId },
102
103
  image: productImages,
103
104
  offers: {
@@ -196,11 +197,10 @@ function ProductDetails({
196
197
  formatter={useFormattedPrice}
197
198
  title={shippingSimulatorTitle}
198
199
  inputLabel={shippingSimulatorInputLabel}
199
- idkPostalCodeLinkProps={
200
- <UILink href={shippingSimulatorLinkUrl}>
201
- {shippingSimulatorLinkText}
202
- </UILink>
203
- }
200
+ idkPostalCodeLinkProps={{
201
+ href: shippingSimulatorLinkUrl,
202
+ children: shippingSimulatorLinkText,
203
+ }}
204
204
  optionsLabel={shippingSimulatorOptionsTableTitle}
205
205
  />
206
206
  )}
@@ -208,8 +208,10 @@ function ProductDetails({
208
208
 
209
209
  {shouldDisplayProductDescription && (
210
210
  <ProductDescription
211
- labels={{ description: productDescriptionDetailsTitle }}
212
211
  initiallyExpanded={productDescriptionInitiallyExpanded}
212
+ descriptionData={[
213
+ { title: productDescriptionDetailsTitle, content: description },
214
+ ]}
213
215
  />
214
216
  )}
215
217
  </section>
@@ -13,7 +13,7 @@ const Link = forwardRef<HTMLAnchorElement, LinkProps>(function Link<
13
13
  T extends LinkElementType = 'a'
14
14
  >(
15
15
  { href, inverse, children, variant = 'default', ...otherProps }: LinkProps<T>,
16
- ref: Ref<HTMLAnchorElement> | undefined
16
+ ref: Ref<HTMLAnchorElement>
17
17
  ) {
18
18
  const isInternalLink = useMemo(
19
19
  () => href[0] === '/' && href[1] !== '/',
@@ -32,7 +32,7 @@ const Link = forwardRef<HTMLAnchorElement, LinkProps>(function Link<
32
32
  legacyBehavior={false}
33
33
  {...otherProps}
34
34
  >
35
- <>{children}</>
35
+ {children}
36
36
  </UILink>
37
37
  )
38
38
  }
@@ -1,45 +1,18 @@
1
+ import { useState, useMemo } from 'react'
2
+
1
3
  import {
2
4
  Accordion as UIAccordion,
3
- AccordionButton as UIAccordionButton,
4
5
  AccordionItem as UIAccordionItem,
5
6
  AccordionPanel as UIAccordionPanel,
6
- Icon as UIIcon,
7
- List as UIList,
8
- Table as UITable,
9
- TableBody as UITableBody,
10
- TableCell as UITableCell,
11
- TableRow as UITableRow,
7
+ AccordionButton as UIAccordionButton,
12
8
  } from '@faststore/ui'
13
- import { useState } from 'react'
14
9
 
15
- interface ArticleLabels {
16
- /**
17
- * Label for the "description" article.
18
- *
19
- * @default 'Description'
20
- */
21
- description: string
22
- /**
23
- * Label for the "About this product" article.
24
- *
25
- * @default 'About this product'
26
- */
27
- about: string
28
- /**
29
- * Label for the "Product highlights" article.
30
- *
31
- * @default 'Product highlights'
32
- */
33
- highlights: string
34
- /**
35
- * Label for the "Learn more" article.
36
- *
37
- * @default 'Learn more'
38
- */
39
- learnMore: string
10
+ type DescriptionData = {
11
+ title: string
12
+ content: string
40
13
  }
41
14
 
42
- interface Props {
15
+ interface ProductDescriptionProps {
43
16
  /**
44
17
  * Controls which articles will be initially expanded.
45
18
  *
@@ -47,36 +20,28 @@ interface Props {
47
20
  */
48
21
  initiallyExpanded?: 'first' | 'all' | 'none'
49
22
  /**
50
- * Defines the labels used in each article.
23
+ * Product description data.
51
24
  *
52
- * @default {description: 'Description', about: 'About this product', highlights: 'Product highlights', learnMore: 'Learn More' }
53
25
  */
54
- labels?: Partial<ArticleLabels>
26
+ descriptionData: DescriptionData[]
55
27
  }
56
28
 
57
- /**
58
- * Maps 'initiallyExpanded' prop values to indices
59
- */
60
- const INITIALLY_EXPANDED_MAP = {
61
- first: [0],
62
- all: [0, 1, 2, 3],
63
- none: [],
64
- }
65
-
66
- /**
67
- * Default article labels
68
- */
69
- const DEFAULT_LABELS: ArticleLabels = {
70
- description: 'Description',
71
- about: 'About this product',
72
- highlights: 'Product highlights',
73
- learnMore: 'Learn More',
74
- } as const
75
-
76
29
  function ProductDescription({
30
+ descriptionData,
77
31
  initiallyExpanded = 'first',
78
- labels: propLabels = {},
79
- }: Props) {
32
+ }: ProductDescriptionProps) {
33
+ /**
34
+ * Maps 'initiallyExpanded' prop values to indices
35
+ */
36
+ const INITIALLY_EXPANDED_MAP = useMemo(
37
+ () => ({
38
+ none: [],
39
+ first: [0],
40
+ all: [0, 1, 2, 3],
41
+ }),
42
+ []
43
+ )
44
+
80
45
  const [indices, setIndices] = useState(
81
46
  new Set(INITIALLY_EXPANDED_MAP[initiallyExpanded])
82
47
  )
@@ -95,8 +60,6 @@ function ProductDescription({
95
60
  })
96
61
  }
97
62
 
98
- const labels = { ...DEFAULT_LABELS, ...propLabels }
99
-
100
63
  return (
101
64
  <section data-fs-product-description>
102
65
  <UIAccordion
@@ -104,174 +67,20 @@ function ProductDescription({
104
67
  onChange={onChange}
105
68
  aria-label="Product Details Content"
106
69
  >
107
- <UIAccordionItem
108
- as="article"
109
- index={0}
110
- data-fs-product-details-description
111
- prefixId="product-description"
112
- >
113
- <UIAccordionButton>{labels.description}</UIAccordionButton>
114
- <UIAccordionPanel>
115
- <p className="text__body">
116
- Sony WH-1000XM4 Wireless Industry Leading Noise Canceling Overhead
117
- Headphones with Mic for Phone-Call and Alexa Voice Control, Black.
118
- </p>
119
- </UIAccordionPanel>
120
- </UIAccordionItem>
121
- <UIAccordionItem
122
- as="article"
123
- index={1}
124
- data-fs-product-details-about
125
- prefixId="product-description"
126
- >
127
- <UIAccordionButton>{labels.about}</UIAccordionButton>
128
- <UIAccordionPanel>
129
- <UITable
130
- cellPadding={0}
131
- cellSpacing={0}
132
- className="text__title-mini-alt"
133
- >
134
- <UITableBody>
135
- <UITableRow>
136
- <UITableCell variant="header" align="left">
137
- <UIIcon
138
- data-fs-accordion-item-button-icon
139
- name="Ruler"
140
- width={18}
141
- height={18}
142
- />
143
- <span>Width</span>
144
- </UITableCell>
145
- <UITableCell align="right">1.50m</UITableCell>
146
- </UITableRow>
147
- <UITableRow>
148
- <UITableCell variant="header" align="left">
149
- <UIIcon
150
- data-fs-accordion-item-button-icon
151
- name="Ruler"
152
- width={18}
153
- height={18}
154
- />
155
- Height
156
- </UITableCell>
157
- <UITableCell align="right">1.50m</UITableCell>
158
- </UITableRow>
159
- <UITableRow>
160
- <UITableCell variant="header" align="left">
161
- <UIIcon
162
- data-fs-accordion-item-button-icon
163
- name="Ruler"
164
- width={18}
165
- height={18}
166
- />
167
- Dimensions
168
- </UITableCell>
169
- <UITableCell align="right">
170
- 7.27 x 3.03 x 9.94 inches
171
- </UITableCell>
172
- </UITableRow>
173
- <UITableRow>
174
- <UITableCell variant="header" align="left">
175
- <UIIcon
176
- data-fs-accordion-item-button-icon
177
- name="Bag"
178
- width={18}
179
- height={18}
180
- />
181
- Weight
182
- </UITableCell>
183
- <UITableCell align="right">12oz</UITableCell>
184
- </UITableRow>
185
- <UITableRow>
186
- <UITableCell variant="header" align="left">
187
- <UIIcon
188
- data-fs-accordion-item-button-icon
189
- name="RocketLaunch"
190
- width={18}
191
- height={18}
192
- />
193
- Days to ship
194
- </UITableCell>
195
- <UITableCell align="right">11 Days</UITableCell>
196
- </UITableRow>
197
- <UITableRow>
198
- <UITableCell variant="header" align="left">
199
- <UIIcon
200
- data-fs-accordion-item-button-icon
201
- name="CircleWavyCheck"
202
- width={18}
203
- height={18}
204
- />
205
- Estimated
206
- </UITableCell>
207
- <UITableCell align="right">Nov 10th</UITableCell>
208
- </UITableRow>
209
- </UITableBody>
210
- </UITable>
211
- </UIAccordionPanel>
212
- </UIAccordionItem>
213
- <UIAccordionItem
214
- as="article"
215
- className="text__body"
216
- index={2}
217
- data-fs-product-details-highlights
218
- prefixId="product-description"
219
- >
220
- <UIAccordionButton>{labels.highlights}</UIAccordionButton>
221
- <UIAccordionPanel>
222
- <UIList marker>
223
- <li>
224
- Industry-leading noise canceling with Dual Noise Sensor
225
- technology
226
- </li>
227
- <li>
228
- Next-level music with Edge-AI, co-developed with Sony Music
229
- Studios Tokyo
230
- </li>
231
- <li>
232
- Up to 30-hour battery life with quick charging (10 min charge
233
- for 5 hours of playback)
234
- </li>
235
- <li>
236
- Touch Sensor controls to pause play skip tracks, control volume,
237
- activate your voice assistant, and answer phone calls
238
- </li>
239
- <li>
240
- Speak-to-chat technology automatically reduces volume during
241
- conversations
242
- </li>
243
- <li>Superior call quality with precise voice pickup</li>
244
- <li>
245
- Wearing detection pauses playback when headphones are removed
246
- </li>
247
- <li>Seamless multiple-device pairing</li>
248
- <li>
249
- Adaptive Sound Control provides a personalized listening
250
- experience
251
- </li>
252
- <li>Updated design relieves pressure for long-lasting comfort</li>
253
- </UIList>
254
- </UIAccordionPanel>
255
- </UIAccordionItem>
256
- <UIAccordionItem
257
- as="article"
258
- index={3}
259
- data-fs-product-details-learn-more
260
- prefixId="product-description"
261
- >
262
- <UIAccordionButton>{labels.learnMore}</UIAccordionButton>
263
- <UIAccordionPanel>
264
- <p className="text__body">
265
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
266
- eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
267
- enim ad minim veniam, quis nostrud exercitation ullamco laboris
268
- nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
269
- reprehenderit in voluptate velit esse cillum dolore eu fugiat
270
- nulla pariatur. Excepteur sint occaecat cupidatat non proident,
271
- sunt in culpa qui officia deserunt mollit anim id est laboru.
272
- </p>
273
- </UIAccordionPanel>
274
- </UIAccordionItem>
70
+ {descriptionData.map(({ title, content }, index) => (
71
+ <UIAccordionItem
72
+ as="article"
73
+ index={index}
74
+ key={String(index)}
75
+ prefixId="product-description"
76
+ data-fs-product-details-description
77
+ >
78
+ <UIAccordionButton>{title}</UIAccordionButton>
79
+ <UIAccordionPanel>
80
+ <p className="text__body">{content}</p>
81
+ </UIAccordionPanel>
82
+ </UIAccordionItem>
83
+ ))}
275
84
  </UIAccordion>
276
85
  </section>
277
86
  )