1var l=Object.defineProperty;var c=(o,t,e)=>t in o?l(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var s=(o,t,e)=>c(o,typeof t!="symbol"?t+"":t,e);const n=window.Shopify;class u extends HTMLElement{constructor(){super();s(this,"modelViewerUI");const e=this.querySelector(".xo--model__poster");e&&e.addEventListener("click",this.loadContent.bind(this))}loadContent(){if(!this.getAttribute("loaded")){const e=document.createElement("div"),i=this.querySelector("template");if(i){const d=i.content.firstElementChild;d&&e.appendChild(d.cloneNode(!0))}this.setAttribute("loaded","true");const r=e.querySelector("model-viewer");r&&this.appendChild(r).focus()}n.loadFeatures([{name:"model-viewer-ui",version:"1.0",onLoad:this.setupModelViewerUI.bind(this)}])}setupModelViewerUI(e){e||(this.modelViewerUI=new n.ModelViewerUI(this.querySelector("model-viewer")))}}window.customElements.define("xo--model",u);window.Model={loadShopifyXR(){n.loadFeatures([{name:"shopify-xr",version:"1.0",onLoad:this.setupShopifyXR.bind(this)}])},setupShopifyXR(o){if(o)return;if(!window.ShopifyXR){document.addEventListener("shopify_xr_initialized",()=>this.setupShopifyXR());return}document.querySelectorAll('[id^="xo-3d--json-"]').forEach(e=>{const i=e.textContent??"{}";window.ShopifyXR.addModels(JSON.parse(i)),e.remove()}),window.ShopifyXR.setupXRElements()}};window.addEventListener("DOMContentLoaded",()=>{window.Model&&window.Model.loadShopifyXR()});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.