UNPKG

@ekolabs/eko-gallery-react

Version:

eko gallery for react framework

15 lines • 782 kB
import e,{useRef as n,useState as i,createRef as r,useCallback as o,useEffect as s,forwardRef as a,useImperativeHandle as l,memo as c}from"react";function u(t){return`if (!window.EkoAnalytics) {\n        !function () {\n            var t, a, e, s, n;\n            'undefined' == typeof window || window.EkoAnalytics || (t = window, a = 'EkoAnalytics', e = document, s = 'script', t[a] || (t[a] = function () {\n                t[a].f ? (t[a].q.push(arguments), t[a].ts.push(Date.now())) : t[a].apply(t, arguments);\n            }, t[a].f = !0, t[a].q = t[a].q || [], t[a].ts = t[a].ts || [], t[a].t = Number(new Date), t[a].sa = [], t[a].cb = [], t[a].init = function (ids) {\n                t[a].id = ids;\n            }, t[a].childRequestIdsCallback = function (e) {\n                e.data && 'ea-ids-request' === e.data.type && t[a].sa.push(e.source);\n            }, t.addEventListener('message', t[a].childRequestIdsCallback)));\n        }();\n\n        window.EkoAnalytics.cb.push(() => {\n            let setCookie = (key, value, additionalProperties = '') => {\n                let hostname = window.location.hostname;\n                let domain = hostname;\n            \n                let parts = hostname.split('.');\n                if (parts.length > 2) {\n                    domain = parts.slice(-2).join('.');\n                }\n\n                // "samesite=lax" is needed for cross-site situations (like NZXT getting checkout url attributes from lambda).\n                window.document.cookie = \`\${key}=\${value}; domain=.\${domain}; path=/; secure; samesite=lax; \${additionalProperties}\`;\n            };\n\n            setCookie('easid', encodeURIComponent(window.EkoAnalytics('getSid')));\n            setCookie('eauid', encodeURIComponent(window.EkoAnalytics('getUid')), 'max-age=2147483647');\n        });\n\n        window.EkoAnalytics('configure', {\n            snowplow: {\n                options: {\n                    appId: 'ekoGalleryReactV4',\n                },\n            },\n            ekoEnv: '${t?"production":"development"}',\n            env: 'website',\n        });\n        window.EkoAnalytics('track', 'PageView');\n    }`}function d(t="v1"){return function(e,n="*",i=""){let r=`https://${i}play.eko.com/api/${t}/channels/${e}/configs`;return r+="*"!==n?`/${n}`:"",r}}function h(t){return"object"==typeof t&&!Array.isArray(t)&&null!==t}var f={pack:function(t){const e={};if(!h(t))return e;if(t.itemId&&(e.item_id=t.itemId),t.itemName&&(e.item_name=t.itemName),h(t.itemPrice)){const n=t.itemPrice;e.item_price=function(t){const e={};return h(t)&&(t.amount&&(e.amount=Number(t.amount)),t.currency&&(e.currency=t.currency)),e}(n)}return t.quantity&&(e.quantity=Number(t.quantity)),e}};const p="mobile",m="notmobile";function v(){return((window.navigator.userAgentData?window.navigator.userAgentData.mobile:navigator.maxTouchPoints>0&&/Mobile|Android|webOS|iPhone|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)&&!/Tablet|iPad/i.test(navigator.userAgent))?p:m)===p}const g={};class y{constructor(t){this.key=`eko.${t}`}setDataStorage(t,e){if("undefined"!=typeof window)try{var n,i;let r=null===(n=window.localStorage)||void 0===n?void 0:n.getItem(this.key);r=JSON.parse(r)||{},r[t]=e,null===(i=window.localStorage)||void 0===i||i.setItem(this.key,JSON.stringify(r))}catch(t){console.error(`[setDataStorage]: ${t}`)}}getDataStorage(t){if("undefined"!=typeof window)try{var e;let n=null===(e=window.localStorage)||void 0===e?void 0:e.getItem(this.key);return n=JSON.parse(n)||{},n[t]}catch(t){console.error(`[getDataStorage]: ${t}`)}}removeDataStorage(t){if("undefined"!=typeof window)try{var e;let i=null===(e=window.localStorage)||void 0===e?void 0:e.getItem(this.key);var n;if(i)if(i=JSON.parse(i),delete i[t],Object.keys(i).length>0)null===(n=window.localStorage)||void 0===n||n.setItem(this.key,JSON.stringify(i));else this.removeAll()}catch(t){console.error(`[removeDataStorage]: ${t}`)}}removeAll(){if("undefined"!=typeof window)try{var t;null===(t=window.localStorage)||void 0===t||t.removeItem(this.key)}catch(t){console.error(`[removeAll]: ${t}`)}}}function b(t){return g[t]||(g[t]=new y(t)),g[t]}const k=b("gallery-react").getDataStorage("gallery-react");function x(t){window.EkoAnalytics("registerContextPacker",{tag:t,match:/.*/,schema:"iglu:com.helloeko/products/jsonschema/1-0-1",getData(t={}){var e,n;if(t.items)return{items:t.items.map((t=>function(t){const e=f.pack(t);return t.id&&(e.id=t.id),t.sku&&(e.sku=t.sku),t.upc&&(e.upc=t.upc),t.name&&(e.name=t.name),e}(t)))};const i=(null===(e=window.eko)||void 0===e||null===(e=e.config)||void 0===e?void 0:e.product)||(null==k||null===(n=k.config)||void 0===n?void 0:n.product);if(i){return{items:[{id:i.id,item_id:i.sku,sku:i.sku,upc:i.upc,typeid:i.type,name:i.name}]}}return null}})}function w(t){return"object"==typeof t&&!Array.isArray(t)&&null!==t}function _(t){const e={};return w(t)&&(t.amount&&(e.amount=Number(t.amount)),t.currency&&(e.currency=t.currency)),e}var I={isObject:w,pricePack:_,itemPack:function(t){const e={};if(!w(t))return e;if(t.itemId&&(e.item_id=t.itemId),t.itemName&&(e.item_name=t.itemName),w(t.itemPrice)){const n=t.itemPrice;e.item_price=_(n)}return t.quantity&&(e.quantity=Number(t.quantity)),t.sellingPlan&&(e.selling_plan=function(t){const e={};return w(t)&&(t.id&&(e.id=t.id),t.name&&(e.name=t.name)),e}(t.sellingPlan)),e}};const T=b("gallery-react").getDataStorage("gallery-react");const E=b("gallery-react").getDataStorage("gallery-react");const S=b("gallery-react").getDataStorage("gallery-react");const M="eko-gallery-react";var A={register:function(){var t;t=M,window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/page/jsonschema/1-0-0",match:/^pixel\..*/,getData:function(){return{url:document.location.href||"",referrer:document.referrer||"",title:document.title||""}}}),x(M),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/cart/jsonschema/1-0-1",match:/pixel\.cart\.(add|remove)$/,getData(t){const e={};if((t=t||{}).cartId&&(e.cart_id=t.cartId),Array.isArray(t.items)&&(e.items=t.items.map((t=>I.itemPack(t)))),I.isObject(t.totalPrice)){const n=t.totalPrice;e.total_price=I.pricePack(n)}return t.totalQuantity&&(e.total_quantity=Number(t.totalQuantity)),e}})}(M),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/organization/jsonschema/1-0-0",match:/.*/,getData:function(){var t,e;const n=(null===(t=window.eko)||void 0===t||null===(t=t.config)||void 0===t?void 0:t.customer)||(null==T||null===(e=T.config)||void 0===e?void 0:e.customer);if(n)return{id:null==n?void 0:n.organizationId}}})}(M),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/space/jsonschema/1-0-2",match:/.*/,getData:function(){var t,e;const n=(null===(t=window.eko)||void 0===t||null===(t=t.config)||void 0===t?void 0:t.customer)||(null==E||null===(e=E.config)||void 0===e?void 0:e.customer);if(n)return{id:null==n?void 0:n.spaceId}}})}(M),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/asset/jsonschema/1-0-1",match:/.*/,getData:function(t){var e,n;if(null!=t&&t.type&&null!=t&&t.publishitemid&&null!=t&&t.name)return{deliverableid:"",publishitemid:null==t?void 0:t.publishitemid,type:null==t?void 0:t.type,name:null==t?void 0:t.name,artifactid:""};const i=null===(e=window.eko)||void 0===e||null===(e=e.config)||void 0===e||null===(e=e.__autoGenerated)||void 0===e?void 0:e.publishItem,r=null==S||null===(n=S.config)||void 0===n||null===(n=n.__autoGenerated)||void 0===n?void 0:n.publishItem,o=i||r;return o?{deliverableid:"",publishitemid:null==o?void 0:o.id,type:"interactive",name:"",artifactid:""}:void 0}})}(M),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/traffic_allocation/jsonschema/1-0-0",match:"trafficallocation.decision",getData:function(t){if(!t)return;const e={decision:t.decision};return t.config&&(e.config=t.config),isNaN(t.traffic_split)||(e.traffic_split=t.traffic_split),t.provider&&(e.provider=t.provider),e}})}(M),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/checkout/jsonschema/1-0-4",match:/pixel\.(checkout|order)$/,getData(t){const e={};if((t=t||{}).checkoutId&&(e.checkout_id=t.checkoutId),Array.isArray(t.items)&&(e.items=t.items.map((t=>I.itemPack(t)))),I.isObject(t.totalPrice)){const n=t.totalPrice;e.total_price=I.pricePack(n)}return t.totalQuantity&&(e.total_quantity=Number(t.totalQuantity)),e}})}(M),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/order/jsonschema/1-0-2",match:"pixel.order",getData(t){const e={};if((t=t||{}).orderId&&(e.order_id=t.orderId),Array.isArray(t.items)&&(e.items=t.items.map((t=>I.itemPack(t)))),I.isObject(t.totalPrice)){const n=t.totalPrice;e.total_price=I.pricePack(n)}return t.totalQuantity&&(e.total_quantity=Number(t.totalQuantity)),e}})}(M)}};function N(t,e){let n="";try{n=window[t].getItem(e),n||(n=function(t){const e=document.cookie.split(";");for(let n=0;n<e.length;n++){const i=e[n].trim();if(0===i.indexOf(t+"="))return i.substring(t.length+1)}return""}(e))}catch(t){console.warn("[eko-gallery-react] Error while getting the id from storage:",e,t)}return n}function F(t){let e=Array.isArray(t.items)?t.items:[t];return e=e.map((t=>({itemId:t.id,itemName:t.name,itemPrice:t.price,quantity:t.quantity||1,variantId:t.variantId,sellingPlan:t.sellingPlan}))),e}function C(t){return{cartId:t.cartId,items:F(t),totalPrice:t.totalPrice,totalQuantity:t.totalQuantity}}var O={"pixel.cart.add":C,"pixel.cart.remove":C,"pixel.product_viewed":function(t){let e=F(t);return e=e.map((t=>function(t){let e=N("localStorage","eko.metadata");if(e&&e[t.itemId]){let n=e[t.itemId].product;t.id=null==n?void 0:n.id,t.sku=null==n?void 0:n.sku,t.upc=null==n?void 0:n.upc,t.name=null==n?void 0:n.name}return t}(t))),{items:e}},"pixel.checkout":function(t){return{checkoutId:t.checkoutId,items:F(t),totalPrice:t.totalPrice,totalQuantity:t.totalQuantity}},"pixel.order":function(t){return{checkoutId:t.checkoutId,orderId:t.orderId,items:F(t),totalPrice:t.totalPrice,totalQuantity:t.totalQuantity}}};const P="https://storage.eko.com/efu/ekoanalytics/master/latest/EkoAnalyticsPlatform.min.gz.js";let D=!1;var R={init:function(t){A.register(),function(t){if(D)return;let e=t?window.location.host:"development";if(0===document.querySelectorAll(`script[src="${P}"]`).length){const t=document.createElement("script");t.setAttribute("pxid",e),t.type="text/javascript",t.async=!0,t.src=P,document.body.appendChild(t)}D=!0}(t)},onRouteChanged:function(){window.EkoAnalytics("reset")},track:function(t,e){O[t]&&(e=O[t](e)),window.EkoAnalytics("track",t,e)}};function B(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}function L(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function z(t,e){return t.get(B(t,e))}function W(t,e,n){L(t,e),e.set(t,n)}function j(t,e,n){return t.set(B(t,e),n),n}function U(t,e){L(t,e),e.add(t)}function $(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function q(){return q=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)({}).hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},q.apply(null,arguments)}function V(t,e){return t(e={exports:{}},e.exports),e.exports
/** @license React v16.13.1
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */}var G="function"==typeof Symbol&&Symbol.for,H=G?Symbol.for("react.element"):60103,K=G?Symbol.for("react.portal"):60106,X=G?Symbol.for("react.fragment"):60107,Y=G?Symbol.for("react.strict_mode"):60108,Q=G?Symbol.for("react.profiler"):60114,J=G?Symbol.for("react.provider"):60109,Z=G?Symbol.for("react.context"):60110,tt=G?Symbol.for("react.async_mode"):60111,et=G?Symbol.for("react.concurrent_mode"):60111,nt=G?Symbol.for("react.forward_ref"):60112,it=G?Symbol.for("react.suspense"):60113,rt=G?Symbol.for("react.suspense_list"):60120,ot=G?Symbol.for("react.memo"):60115,st=G?Symbol.for("react.lazy"):60116,at=G?Symbol.for("react.block"):60121,lt=G?Symbol.for("react.fundamental"):60117,ct=G?Symbol.for("react.responder"):60118,ut=G?Symbol.for("react.scope"):60119;function dt(t){if("object"==typeof t&&null!==t){var e=t.$$typeof;switch(e){case H:switch(t=t.type){case tt:case et:case X:case Q:case Y:case it:return t;default:switch(t=t&&t.$$typeof){case Z:case nt:case st:case ot:case J:return t;default:return e}}case K:return e}}}function ht(t){return dt(t)===et}var ft={AsyncMode:tt,ConcurrentMode:et,ContextConsumer:Z,ContextProvider:J,Element:H,ForwardRef:nt,Fragment:X,Lazy:st,Memo:ot,Portal:K,Profiler:Q,StrictMode:Y,Suspense:it,isAsyncMode:function(t){return ht(t)||dt(t)===tt},isConcurrentMode:ht,isContextConsumer:function(t){return dt(t)===Z},isContextProvider:function(t){return dt(t)===J},isElement:function(t){return"object"==typeof t&&null!==t&&t.$$typeof===H},isForwardRef:function(t){return dt(t)===nt},isFragment:function(t){return dt(t)===X},isLazy:function(t){return dt(t)===st},isMemo:function(t){return dt(t)===ot},isPortal:function(t){return dt(t)===K},isProfiler:function(t){return dt(t)===Q},isStrictMode:function(t){return dt(t)===Y},isSuspense:function(t){return dt(t)===it},isValidElementType:function(t){return"string"==typeof t||"function"==typeof t||t===X||t===et||t===Q||t===Y||t===it||t===rt||"object"==typeof t&&null!==t&&(t.$$typeof===st||t.$$typeof===ot||t.$$typeof===J||t.$$typeof===Z||t.$$typeof===nt||t.$$typeof===lt||t.$$typeof===ct||t.$$typeof===ut||t.$$typeof===at)},typeOf:dt},pt=V((function(t,e){"production"!==process.env.NODE_ENV&&function(){var t="function"==typeof Symbol&&Symbol.for,n=t?Symbol.for("react.element"):60103,i=t?Symbol.for("react.portal"):60106,r=t?Symbol.for("react.fragment"):60107,o=t?Symbol.for("react.strict_mode"):60108,s=t?Symbol.for("react.profiler"):60114,a=t?Symbol.for("react.provider"):60109,l=t?Symbol.for("react.context"):60110,c=t?Symbol.for("react.async_mode"):60111,u=t?Symbol.for("react.concurrent_mode"):60111,d=t?Symbol.for("react.forward_ref"):60112,h=t?Symbol.for("react.suspense"):60113,f=t?Symbol.for("react.suspense_list"):60120,p=t?Symbol.for("react.memo"):60115,m=t?Symbol.for("react.lazy"):60116,v=t?Symbol.for("react.block"):60121,g=t?Symbol.for("react.fundamental"):60117,y=t?Symbol.for("react.responder"):60118,b=t?Symbol.for("react.scope"):60119;function k(t){if("object"==typeof t&&null!==t){var e=t.$$typeof;switch(e){case n:var f=t.type;switch(f){case c:case u:case r:case s:case o:case h:return f;default:var v=f&&f.$$typeof;switch(v){case l:case d:case m:case p:case a:return v;default:return e}}case i:return e}}}var x=c,w=u,_=l,I=a,T=n,E=d,S=r,M=m,A=p,N=i,F=s,C=o,O=h,P=!1;function D(t){return k(t)===u}e.AsyncMode=x,e.ConcurrentMode=w,e.ContextConsumer=_,e.ContextProvider=I,e.Element=T,e.ForwardRef=E,e.Fragment=S,e.Lazy=M,e.Memo=A,e.Portal=N,e.Profiler=F,e.StrictMode=C,e.Suspense=O,e.isAsyncMode=function(t){return P||(P=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),D(t)||k(t)===c},e.isConcurrentMode=D,e.isContextConsumer=function(t){return k(t)===l},e.isContextProvider=function(t){return k(t)===a},e.isElement=function(t){return"object"==typeof t&&null!==t&&t.$$typeof===n},e.isForwardRef=function(t){return k(t)===d},e.isFragment=function(t){return k(t)===r},e.isLazy=function(t){return k(t)===m},e.isMemo=function(t){return k(t)===p},e.isPortal=function(t){return k(t)===i},e.isProfiler=function(t){return k(t)===s},e.isStrictMode=function(t){return k(t)===o},e.isSuspense=function(t){return k(t)===h},e.isValidElementType=function(t){return"string"==typeof t||"function"==typeof t||t===r||t===u||t===s||t===o||t===h||t===f||"object"==typeof t&&null!==t&&(t.$$typeof===m||t.$$typeof===p||t.$$typeof===a||t.$$typeof===l||t.$$typeof===d||t.$$typeof===g||t.$$typeof===y||t.$$typeof===b||t.$$typeof===v)},e.typeOf=k}()}));pt.AsyncMode,pt.ConcurrentMode,pt.ContextConsumer,pt.ContextProvider,pt.Element,pt.ForwardRef,pt.Fragment,pt.Lazy,pt.Memo,pt.Portal,pt.Profiler,pt.StrictMode,pt.Suspense,pt.isAsyncMode,pt.isConcurrentMode,pt.isContextConsumer,pt.isContextProvider,pt.isElement,pt.isForwardRef,pt.isFragment,pt.isLazy,pt.isMemo,pt.isPortal,pt.isProfiler,pt.isStrictMode,pt.isSuspense,pt.isValidElementType,pt.typeOf;var mt=V((function(t){"production"===process.env.NODE_ENV?t.exports=ft:t.exports=pt})),vt=Object.getOwnPropertySymbols,gt=Object.prototype.hasOwnProperty,yt=Object.prototype.propertyIsEnumerable;
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/var bt=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;var i=Object.getOwnPropertyNames(e).map((function(t){return e[t]}));if("0123456789"!==i.join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,i,r=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),o=1;o<arguments.length;o++){for(var s in n=Object(arguments[o]))gt.call(n,s)&&(r[s]=n[s]);if(vt){i=vt(n);for(var a=0;a<i.length;a++)yt.call(n,i[a])&&(r[i[a]]=n[i[a]])}}return r},kt="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",xt=Function.call.bind(Object.prototype.hasOwnProperty),wt=function(){};if("production"!==process.env.NODE_ENV){var _t=kt,It={},Tt=xt;wt=function(t){var e="Warning: "+t;"undefined"!=typeof console&&console.error(e);try{throw new Error(e)}catch(t){}}}function Et(t,e,n,i,r){if("production"!==process.env.NODE_ENV)for(var o in t)if(Tt(t,o)){var s;try{if("function"!=typeof t[o]){var a=Error((i||"React class")+": "+n+" type `"+o+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof t[o]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw a.name="Invariant Violation",a}s=t[o](e,o,i,n,null,_t)}catch(t){s=t}if(!s||s instanceof Error||wt((i||"React class")+": type specification of "+n+" `"+o+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof s+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),s instanceof Error&&!(s.message in It)){It[s.message]=!0;var l=r?r():"";wt("Failed "+n+" type: "+s.message+(null!=l?l:""))}}}Et.resetWarningCache=function(){"production"!==process.env.NODE_ENV&&(It={})};var St=Et,Mt=function(){};function At(){return null}"production"!==process.env.NODE_ENV&&(Mt=function(t){var e="Warning: "+t;"undefined"!=typeof console&&console.error(e);try{throw new Error(e)}catch(t){}});var Nt=function(t,e){var n="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";var r="<<anonymous>>",o={array:c("array"),bigint:c("bigint"),bool:c("boolean"),func:c("function"),number:c("number"),object:c("object"),string:c("string"),symbol:c("symbol"),any:l(At),arrayOf:function(t){return l((function(e,n,i,r,o){if("function"!=typeof t)return new a("Property `"+o+"` of component `"+i+"` has invalid PropType notation inside arrayOf.");var s=e[n];if(!Array.isArray(s))return new a("Invalid "+r+" `"+o+"` of type `"+h(s)+"` supplied to `"+i+"`, expected an array.");for(var l=0;l<s.length;l++){var c=t(s,l,i,r,o+"["+l+"]",kt);if(c instanceof Error)return c}return null}))},element:l((function(e,n,i,r,o){var s=e[n];return t(s)?null:new a("Invalid "+r+" `"+o+"` of type `"+h(s)+"` supplied to `"+i+"`, expected a single ReactElement.")})),elementType:l((function(t,e,n,i,r){var o=t[e];return mt.isValidElementType(o)?null:new a("Invalid "+i+" `"+r+"` of type `"+h(o)+"` supplied to `"+n+"`, expected a single ReactElement type.")})),instanceOf:function(t){return l((function(e,n,i,o,s){if(!(e[n]instanceof t)){var l=t.name||r;return new a("Invalid "+o+" `"+s+"` of type `"+(((c=e[n]).constructor&&c.constructor.name?c.constructor.name:r)+"` supplied to `")+i+"`, expected instance of `"+l+"`.")}var c;return null}))},node:l((function(t,e,n,i,r){return d(t[e])?null:new a("Invalid "+i+" `"+r+"` supplied to `"+n+"`, expected a ReactNode.")})),objectOf:function(t){return l((function(e,n,i,r,o){if("function"!=typeof t)return new a("Property `"+o+"` of component `"+i+"` has invalid PropType notation inside objectOf.");var s=e[n],l=h(s);if("object"!==l)return new a("Invalid "+r+" `"+o+"` of type `"+l+"` supplied to `"+i+"`, expected an object.");for(var c in s)if(xt(s,c)){var u=t(s,c,i,r,o+"."+c,kt);if(u instanceof Error)return u}return null}))},oneOf:function(t){if(!Array.isArray(t))return"production"!==process.env.NODE_ENV&&Mt(arguments.length>1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),At;return l((function(e,n,i,r,o){for(var l=e[n],c=0;c<t.length;c++)if(s(l,t[c]))return null;var u=JSON.stringify(t,(function(t,e){return"symbol"===f(e)?String(e):e}));return new a("Invalid "+r+" `"+o+"` of value `"+String(l)+"` supplied to `"+i+"`, expected one of "+u+".")}))},oneOfType:function(t){if(!Array.isArray(t))return"production"!==process.env.NODE_ENV&&Mt("Invalid argument supplied to oneOfType, expected an instance of array."),At;for(var e=0;e<t.length;e++){var n=t[e];if("function"!=typeof n)return Mt("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+p(n)+" at index "+e+"."),At}return l((function(e,n,i,r,o){for(var s=[],l=0;l<t.length;l++){var c=(0,t[l])(e,n,i,r,o,kt);if(null==c)return null;c.data&&xt(c.data,"expectedType")&&s.push(c.data.expectedType)}return new a("Invalid "+r+" `"+o+"` supplied to `"+i+"`"+(s.length>0?", expected one of type ["+s.join(", ")+"]":"")+".")}))},shape:function(t){return l((function(e,n,i,r,o){var s=e[n],l=h(s);if("object"!==l)return new a("Invalid "+r+" `"+o+"` of type `"+l+"` supplied to `"+i+"`, expected `object`.");for(var c in t){var d=t[c];if("function"!=typeof d)return u(i,r,o,c,f(d));var p=d(s,c,i,r,o+"."+c,kt);if(p)return p}return null}))},exact:function(t){return l((function(e,n,i,r,o){var s=e[n],l=h(s);if("object"!==l)return new a("Invalid "+r+" `"+o+"` of type `"+l+"` supplied to `"+i+"`, expected `object`.");var c=bt({},e[n],t);for(var d in c){var p=t[d];if(xt(t,d)&&"function"!=typeof p)return u(i,r,o,d,f(p));if(!p)return new a("Invalid "+r+" `"+o+"` key `"+d+"` supplied to `"+i+"`.\nBad object: "+JSON.stringify(e[n],null,"  ")+"\nValid keys: "+JSON.stringify(Object.keys(t),null,"  "));var m=p(s,d,i,r,o+"."+d,kt);if(m)return m}return null}))}};function s(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function a(t,e){this.message=t,this.data=e&&"object"==typeof e?e:{},this.stack=""}function l(t){if("production"!==process.env.NODE_ENV)var n={},i=0;function o(o,s,l,c,u,d,h){if(c=c||r,d=d||l,h!==kt){if(e){var f=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw f.name="Invariant Violation",f}if("production"!==process.env.NODE_ENV&&"undefined"!=typeof console){var p=c+":"+l;!n[p]&&i<3&&(Mt("You are manually calling a React.PropTypes validation function for the `"+d+"` prop on `"+c+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),n[p]=!0,i++)}}return null==s[l]?o?null===s[l]?new a("The "+u+" `"+d+"` is marked as required in `"+c+"`, but its value is `null`."):new a("The "+u+" `"+d+"` is marked as required in `"+c+"`, but its value is `undefined`."):null:t(s,l,c,u,d)}var s=o.bind(null,!1);return s.isRequired=o.bind(null,!0),s}function c(t){return l((function(e,n,i,r,o,s){var l=e[n];return h(l)!==t?new a("Invalid "+r+" `"+o+"` of type `"+f(l)+"` supplied to `"+i+"`, expected `"+t+"`.",{expectedType:t}):null}))}function u(t,e,n,i,r){return new a((t||"React class")+": "+e+" type `"+n+"."+i+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+r+"`.")}function d(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(d);if(null===e||t(e))return!0;var r=function(t){var e=t&&(n&&t[n]||t[i]);if("function"==typeof e)return e}(e);if(!r)return!1;var o,s=r.call(e);if(r!==e.entries){for(;!(o=s.next()).done;)if(!d(o.value))return!1}else for(;!(o=s.next()).done;){var a=o.value;if(a&&!d(a[1]))return!1}return!0;default:return!1}}function h(t){var e=typeof t;return Array.isArray(t)?"array":t instanceof RegExp?"object":function(t,e){return"symbol"===t||!!e&&("Symbol"===e["@@toStringTag"]||"function"==typeof Symbol&&e instanceof Symbol)}(e,t)?"symbol":e}function f(t){if(null==t)return""+t;var e=h(t);if("object"===e){if(t instanceof Date)return"date";if(t instanceof RegExp)return"regexp"}return e}function p(t){var e=f(t);switch(e){case"array":case"object":return"an "+e;case"boolean":case"date":case"regexp":return"a "+e;default:return e}}return a.prototype=Error.prototype,o.checkPropTypes=St,o.resetWarningCache=St.resetWarningCache,o.PropTypes=o,o};function Ft(){}function Ct(){}Ct.resetWarningCache=Ft;var Ot=V((function(t){if("production"!==process.env.NODE_ENV){var e=mt;t.exports=Nt(e.isElement,!0)}else t.exports=function(){function t(t,e,n,i,r,o){if(o!==kt){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:Ct,resetWarningCache:Ft};return n.PropTypes=n,n}()}));const Pt=/https?:\/\/(.*?\.)?eko.com/,Dt={"eko.project.interaction":"interaction","eko.project.swipe":"swipe"};let Rt=null,Bt=null,Lt=[];function zt(t){return e=>{var n;if(!Pt.test(e.origin)||"eko.embedapi"!==(null===(n=e.data)||void 0===n?void 0:n.source))return;const i=e.data,r=Dt[i.type];r&&(t?t(r,i.data):Lt.push({type:r,data:i.data}))}}"undefined"!=typeof window&&(Bt=zt(null),window.addEventListener("message",Bt));var Wt={subscribe:function(t){"function"==typeof t?Rt?console.warn("[eko-gallery-react] Ignoring events subscribe since already subscribed"):(Rt=t,Bt=zt(t),window.addEventListener("message",Bt),function(t){Lt.forEach((e=>{t(e.type,e.data)})),Lt=[]}(t)):console.warn("[eko-gallery-react] Ignoring events subscribe since a callback function was not provided as argument")},unsubscribe:function(){Bt?(window.removeEventListener("message",Bt),Bt=null,Rt=null,Lt=[]):console.warn("[eko-gallery-react] Ignoring events unsubscribe since not subscribed")},send:function(t,e){Rt?Rt(t,e):Lt.push({type:t,data:e})}};const jt=({index:t,activeIndex:n,setActiveIndex:i,item:r,src:o,navItemRefs:s,itemIcon:a})=>{var l,c;const u=null==r||null===(l=r.media)||void 0===l?void 0:l.srcset,d=null==r||null===(c=r.media)||void 0===c?void 0:c.sizes,h=!o&&(null==r?void 0:r.label),f=u?o:function(t,e=200){if(!t)return null;try{let n=t;t.includes("assets.eko.com")&&t.includes("/raw/")&&(n=t.replace("/raw/","/image/"));const i=new URL(n);return i.searchParams.set("width",e),i.href}catch(e){return t}}(o,150);let p=["addons-container",h?"full-thumb-label":""].join(" ").trim();return e.createElement("li",{className:"eko-nav-item","aria-current":n===t,onClick:function(){i(t),function(t){R.track("gallery.interaction",{elementid:`thumbnail-${t}`,interactiontype:"click"}),Wt.send("interaction",{elementid:`thumbnail-${t}`,interactiontype:"click"})}(t)},ref:s.current[t]},e.createElement("button",{type:"button","aria-label":`Go to item ${t}`},!h&&e.createElement("img",{src:f,srcSet:u,sizes:d,alt:null==r?void 0:r.name,loading:"eager",fetchPriority:"high"}),e.createElement("div",{className:p},(null==r?void 0:r.stepsIndication)&&e.createElement("div",{className:"step-indicator"},e.createElement("span",null),e.createElement("span",null),e.createElement("span",null)),(null==r?void 0:r.label)&&e.createElement("div",{className:"thumb-label"},null==r?void 0:r.label)),a&&e.createElement("div",{className:"item-icon"},e.createElement("span",{style:{backgroundImage:`url(${a})`}}))))};jt.propTypes={index:Ot.number,activeIndex:Ot.number,setActiveIndex:Ot.func.isRequired,item:Ot.object.isRequired,src:Ot.string,navItemRefs:Ot.object.isRequired,itemIcon:Ot.string};const Ut=({layout:t,nav:i,isVerticalNav:r,showPrevArrow:o,showNextArrow:s})=>{var a,l,c,u,d;const h=n(null),f=n(null),p="arrows"===(null==t||null===(a=t.mobile)||void 0===a||null===(a=a.config)||void 0===a||null===(a=a.navPagination)||void 0===a?void 0:a.type)?"eko-mobile-arrows":"",m="arrows"===(null!==(l=null==t||null===(c=t.desktop)||void 0===c||null===(c=c.config)||void 0===c||null===(c=c.navPagination)||void 0===c?void 0:c.type)&&void 0!==l?l:"arrows")?"eko-desktop-arrows":"",v=p||m,g=r?null==i||null===(u=i.current)||void 0===u?void 0:u.scrollHeight:null==i||null===(d=i.current)||void 0===d?void 0:d.scrollWidth;function y(t){const e=r?i.current.clientHeight:i.current.clientWidth,n=function(t,e){const n=r?e.scrollTop:e.scrollLeft;return Math.max(-n,Math.min(g-t-n,t))}("next"===t?e:-e,i.current);return{top:r?n:0,left:r?0:n,behavior:"smooth"}}function b(t){var e,n,r;const o=y(t),s="next"===t?null==f||null===(e=f.current)||void 0===e?void 0:e.id:null==h||null===(n=h.current)||void 0===n?void 0:n.id;var a,l;window.EkoAnalytics("track","gallery.interaction",{elementid:s,interactiontype:"click"}),null==i||null===(r=i.current)||void 0===r||r.scrollBy(o),a=s,l="click",R.track("gallery.interaction",{elementId:a,interactiontype:l}),Wt.send("interaction",{elementId:a,interactiontype:l})}return e.createElement(e.Fragment,null,v&&e.createElement(e.Fragment,null,e.createElement("button",q({type:"button","aria-label":"Go to previous item","aria-hidden":o?"false":"true",onClick:()=>b("prev"),ref:h,id:"eko-nav-prev-arrow",className:`eko-nav-arrow eko-prev-nav-button ${p} ${m} ${o?"":"eko-hidden-nav-button"}`},o?{}:{tabIndex:"-1"}),e.createElement("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.56127 9.52817C5.28966 9.22635 5.28966 8.77361 5.56127 8.502L10.39 3.67331C10.6918 3.37157 11.1445 3.37157 11.4161 3.67331C11.7179 3.94492 11.7179 4.39766 11.4161 4.66927L7.10044 8.98487L11.4161 13.3307C11.7179 13.6023 11.7179 14.055 11.4161 14.3266C11.1445 14.6285 10.6918 14.6285 10.4202 14.3266L5.56127 9.52817Z",fill:"black"}))),e.createElement("button",q({type:"button","aria-label":"Go to next item","aria-hidden":s?"false":"true",onClick:()=>b("next"),ref:f,className:`eko-nav-arrow eko-next-nav-button ${p} ${m} ${s?"":"eko-hidden-nav-button"}`,id:"eko-nav-next-arrow"},s?{}:{tabIndex:"-1"}),e.createElement("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M12.4387 8.47185C12.7103 8.77367 12.7103 9.22641 12.4387 9.49802L7.61003 14.3267C7.30821 14.6284 6.85547 14.6284 6.58386 14.3267C6.28212 14.0551 6.28212 13.6024 6.58386 13.3308L10.8996 9.01515L6.58386 4.66933C6.28212 4.39772 6.28212 3.94499 6.58386 3.67338C6.85547 3.37155 7.30821 3.37155 7.57982 3.67338L12.4387 8.47185Z",fill:"black"})))))};function $t(t,e,n){let i;return function(){const n=this,r=arguments;clearTimeout(i),i=setTimeout((function(){i=null,t.apply(n,r)}),e)}}Ut.propTypes={layout:Ot.object.isRequired,nav:Ot.object.isRequired,isVerticalNav:Ot.bool.isRequired,showPrevArrow:Ot.bool.isRequired,showNextArrow:Ot.bool.isRequired};const qt=({items:t,setActiveIndex:a,activeIndex:l,layout:c,carouselMounted:u,forceMobile:d})=>{const h=n(null),f=n(null),p=n([]),m=3,[g,y]=i(null),[b,k]=i(!1),[x,w]=i(0),[_,I]=i(!1),[T,E]=i(!1);function S(){var t;const e=d||window.innerWidth<768?"mobile":"desktop",n=(null==c||null===(t=c[e])||void 0===t||null===(t=t.config)||void 0===t?void 0:t.orientation)||("desktop"===e?"left":"bottom");k("left"===n||"right"===n);const i=f.current.parentNode,r=u?".eko-smart-gallery-container iframe":".eko-carousel",o=i.querySelector(r);setTimeout((()=>{w(o.clientHeight)}),0)}function M(){var t,e;const n=d||v()?"mobile":"desktop",i=null!==(t=null==c||null===(e=c[n])||void 0===e||null===(e=e.config)||void 0===e||null===(e=e.navPagination)||void 0===e?void 0:e.scrollThreshold)&&void 0!==t?t:m;!function(t=m){var e,n;const i=h.current;if(!i)return;const r="none"!==(null==c||null===(e=c.desktop)||void 0===e||null===(e=e.config)||void 0===e||null===(e=e.navPagination)||void 0===e?void 0:e.type),o=(s=null==c||null===(n=c.mobile)||void 0===n||null===(n=n.config)||void 0===n||null===(n=n.navPagination)||void 0===n?void 0:n.type,"mask"===s||"arrows"===s);var s;if((d||v())&&!o)return void i.style.setProperty("-webkit-mask","none");if(!v()&&!r)return void i.style.setProperty("-webkit-mask","none");const a=i.scrollHeight-i.clientHeight,l=i.scrollTop>t?"85%":"100%",u=i.scrollTop<=a-t?"15%":"0%",f=i.scrollWidth-i.clientWidth,p=i.scrollLeft>t?"15%":"0%",g=i.scrollLeft<=f-t?"85%":"100%";b?i.style.setProperty("-webkit-mask",`linear-gradient(0deg,#0000,#000 ${u} ${l},#0000)`):i.style.setProperty("-webkit-mask",`linear-gradient(90deg,#0000,#000 ${p} ${g},#0000)`)}(i),function(t=m){var e,n,i,r,o,s;const a=b?null==h||null===(e=h.current)||void 0===e?void 0:e.scrollTop:null==h||null===(n=h.current)||void 0===n?void 0:n.scrollLeft,l=b?null==h||null===(i=h.current)||void 0===i?void 0:i.clientHeight:null==h||null===(r=h.current)||void 0===r?void 0:r.clientWidth,c=b?null==h||null===(o=h.current)||void 0===o?void 0:o.scrollHeight:null==h||null===(s=h.current)||void 0===s?void 0:s.scrollWidth;c-t<l?(I(!1),E(!1)):a<=t?(I(!1),E(!0)):a+l>c-t?(I(!0),E(!1)):a+t>0&&a<c-t&&(I(!0),E(!0))}(i)}p.current=null==t?void 0:t.map(((t,e)=>{var n,i;return null!==(n=null==p||null===(i=p.current)||void 0===i?void 0:i[e])&&void 0!==n?n:r()}));const A=$t((t=>{var e;e=t,R.track("gallery.interaction",{elementid:"nav",interactiontype:e}),Wt.send("interaction",{elementid:"nav",interactiontype:e})}),200);const N=o((t=>{a({index:t,step:0,source:"nav"})}),[]);return s((()=>{var t;y(null===(t=p.current)||void 0===t?void 0:t[l])}),[l]),s((()=>{if(null!=g&&g.current&&null!=h&&h.current){const t=g.current,e=h.current.clientWidth/2,n=t.clientWidth/2,i=h.current.clientHeight/2,r=t.clientHeight/2;h.current.scrollTo({left:t.offsetLeft-e+n,top:t.offsetTop-i+r,behavior:"smooth"})}}),[g]),s((()=>{S()}),[]),s((()=>(window.addEventListener("resize",S),()=>{window.removeEventListener("resize",S)})),[f,u,d]),s((()=>{w(0),S()}),[t,f,u,d]),s((()=>{M();const t=new ResizeObserver(M);return t.observe(h.current),()=>{t.disconnect()}}),[t,d,b]),e.createElement("div",{className:"eko-nav-container",ref:f,style:{opacity:x>0?1:0,height:""+(x&&b?x+"px":"auto")}},e.createElement(Ut,{layout:c,nav:h,isVerticalNav:b,showPrevArrow:_,showNextArrow:T}),e.createElement("ul",{className:`eko-nav eko-mobile-nav-selected-${null!==(F=null==c||null===(C=c.mobile)||void 0===C||null===(C=C.config)||void 0===C?void 0:C.navItemsSelectedType)&&void 0!==F?F:"underline"} eko-desktop-nav-selected-${null!==(O=null==c||null===(P=c.desktop)||void 0===P||null===(P=P.config)||void 0===P?void 0:P.navItemsSelectedType)&&void 0!==O?O:"underline"}`,ref:h,onScroll:function(){M()},onWheel:function(){A("wheel")},onTouchMove:function(){A("swipe")}},null==t?void 0:t.map(((t,n)=>{var i;const r=(null==t||null===(i=t.media)||void 0===i?void 0:i.url)||(null==t?void 0:t.media)||"";return e.createElement(jt,{key:r+n,index:n,activeIndex:l,setActiveIndex:N,item:t,src:r,navItemRefs:p,itemIcon:null==t?void 0:t.icon})}))));var F,C,O,P};qt.propTypes={items:Ot.array.isRequired,activeIndex:Ot.number,setActiveIndex:Ot.func.isRequired,layout:Ot.object,carouselMounted:Ot.bool,forceMobile:Ot.bool};function Vt(){R.track("gallery.cover.displayed"),Wt.send("gallerycoverdisplayed")}function Gt(t){if(!t)return t;try{const e=new URL(t);return e.host.includes("assets.eko.com")&&e.pathname.startsWith("/image")&&!e.searchParams.has("width")?(e.pathname.endsWith(".png")&&(e.pathname=e.pathname.replace(/\.png$/,".webp")),e.searchParams.set("width",1920),e.toString()):t}catch(e){return t}}const Ht=({item:t,src:i,srcset:r,sizes:o,isCoverElement:a})=>{const l=n(null);return s((()=>{var t;if(a){if(null===(t=l.current)||void 0===t||!t.complete)return l.current.addEventListener("load",Vt,{once:!0}),()=>{var t;null===(t=l.current)||void 0===t||t.removeEventListener("load",Vt,{once:!0})};Vt()}}),[]),e.createElement("img",{ref:l,src:Gt(i),srcSet:r,sizes:o,alt:t.name,fetchPriority:a?"high":"auto",loading:a?"eager":"lazy",style:{width:"100%",height:"100%"}})};Ht.propTypes={item:Ot.object.isRequired,src:Ot.string,srcset:Ot.string,sizes:Ot.string,isCoverElement:Ot.bool};const Kt=$t((t=>{var e;e=t,R.track("gallery.interaction",{elementid:"carousel",interactiontype:e}),Wt.send("interaction",{elementid:"carousel",interactiontype:e})}),200);function Xt(){Kt("wheel")}const Yt=a((({items:t,setActiveIndex:o,activeIndex:a,showSmartLoaders:c},u)=>{const d=n(null),h=n([]);h.current=null==t?void 0:t.map(((t,e)=>{var n,i;return null!==(n=null==h||null===(i=h.current)||void 0===i?void 0:i[e])&&void 0!==n?n:r()}));const[f,p]=i(),[m,v]=i(),g=n(a),y=n(!1);function b(){const e=function(t){const e=t.scrollLeft,n=t.scrollWidth-t.clientWidth;return 0===e?0:e>n?100:e/n*100}(d.current)*(null==t?void 0:t.length)/100,n=Math.min(Math.trunc(e),(null==t?void 0:t.length)-1),i=g.current;"nav"!==i.source&&"external-nav"!==i.source?(y.current&&n!==i.index&&(y.current=!1),y.current||(n>(null==t?void 0:t.length)-1?o({index:(null==t?void 0:t.length)-1,source:"carousel"}):o({index:n,source:"carousel"}))):n===i.index?y.current=!0:y.current&&n!==i.index&&(y.current=!1,o({index:n,source:"carousel"}))}return l(u,(()=>({prev:()=>{o({index:Math.max(0,g.current.index-1),source:"carousel"})},next:()=>{o({index:Math.min((null==t?void 0:t.length)-1,g.current.index+1),source:"carousel"})}}))),s((()=>{const t=d.current;if(t)return t.addEventListener("scroll",b),()=>{t.removeEventListener("scroll",b)}}),[t]),s((()=>{var t;let e=null===(t=h.current)||void 0===t?void 0:t[a.index];if(e&&("nav"===a.source||"external-nav"===a.source)){const t=e.current,n=d.current.clientWidth/2,i=(null==t?void 0:t.clientWidth)/2,r=(null==t?void 0:t.offsetLeft)-n+i;d.current.scrollTo({left:r,behavior:"smooth"})}}),[a]),s((()=>{g.current=a,"nav"!==a.source&&"external-nav"!==a.source||(y.current=!1)}),[a]),e.createElement("ul",{className:"eko-carousel",ref:d,onScroll:b,onWheel:Xt,onTouchMove:function(t){v(t.targetTouches[0].clientX)},onTouchStart:function(t){p(t.targetTouches[0].clientX),v(null)},onTouchEnd:function(){m&&f&&(f-m>75||f-m<-75)&&Kt("swipe")}},null==t?void 0:t.map(((t,n)=>{const i=(null==t?void 0:t.cover)||(null==t?void 0:t.media),r=(null==i?void 0:i.url)||i;return e.createElement("li",{className:"eko-carousel-item",key:r+n,ref:h.current[n]},e.createElement(Ht,{item:t,src:r,srcset:null==i?void 0:i.srcset,sizes:null==i?void 0:i.sizes,isCoverElement:0===n}),c&&"image"!==t.type&&e.createElement("div",{className:"eko-smart-loading"},e.createElement("div",null),e.createElement("p",null,"Loading video experience")))})))}));function Qt(t){var e;return function(t){var e;return"eko.block.event"===(null==t||null===(e=t.data)||void 0===e?void 0:e.type)}(t)&&"GalleryBlock"===(null==t||null===(e=t.data)||void 0===e||null===(e=e.data)||void 0===e?void 0:e.blockType)}Yt.propTypes={items:Ot.array.isRequired,setActiveIndex:Ot.func.isRequired,activeIndex:Ot.object,showSmartLoaders:Ot.bool},Yt.displayName="CarouselLoop";const Jt="eko.project.invoke",Zt="eko.block.invoke";function te(t,e,n){var i;null!=t&&t.contentWindow&&(null==t||null===(i=t.contentWindow)||void 0===i||i.postMessage({target:"eko.embedapi",type:e,data:n},"*"))}function ee(t){return`#variantId=${encodeURIComponent(t)}`}const ne=a((({config:t,instanceId:r,setActiveItem:o,activeItem:a,variantId:c,smartGalleryLoaded:u,onLoad:d,forceMobile:h},f)=>{var p,m,g;const y=null!==(p=null===(m=t.options)||void 0===m?void 0:m.galleryEnv)&&void 0!==p?p:"",b=null===(g=t.__autoGenerated)||void 0===g||null===(g=g.publishItem)||void 0===g?void 0:g.id,k=function(t={}){let e="";return Object.entries(t).forEach((([t,n])=>{e+=`&${t}=${n}`})),e}(null==t?void 0:t.qp),x=function(t,e,n){return`https://${t}play.eko.com/embed?${n?`id=${n}`:`piid=${e}`}&nocover=true&galleryBlockMode=gallery&eko_pixel=true`}(y,b,r),w=n(null),_=n(null),I=n(!1),[T,E]=i(ee(c||"ekonovar")),[S,M]=i(x+k+T);let A;function N(){R.track("gallery.project.display"),d(),Wt.send("galleryloaded")}return l(f,(()=>({prev:()=>{te(null==_?void 0:_.current,Zt,{action:"onPrevModule"})},next:()=>{te(null==_?void 0:_.current,Zt,{action:"onNextModule"})}}))),s((()=>{I.current?te(null==_?void 0:_.current,Jt,{action:"updateVariant",args:{id:c}}):E(ee(c))}),[c]),s((()=>{te(null==_?void 0:_.current,Zt,{action:"updateActiveModule",args:{activeItemIndex:null==a?void 0:a.index,activeModuleIndex:null==a?void 0:a.step}})}),[a]),s((()=>{function t(t){if((function(t){var e;return"eko.project.blockstart"===(null==t||null===(e=t.data)||void 0===e?void 0:e.type)}(t)||function(t){var e,n;return"eko.project.started"===(null==t||null===(e=t.data)||void 0===e?void 0:e.type)&&(null==t||null===(n=t.data)||void 0===n||null===(n=n.data)||void 0===n?void 0:n.started)}(t))&&!I.current)return e=t.data.data.blockType,I.current=!0,void("GalleryBlock"===e?te(null==_?void 0:_.current,Zt,{action:"updateActiveModule",args:{activeItemIndex:null==a?void 0:a.index,activeModuleIndex:null==a?void 0:a.step}}):N());var e;if(I.current){if(function(t){var e;return Qt(t)&&"activeModuleChanged"===(null==t||null===(e=t.data)||void 0===e||null===(e=e.data)||void 0===e?void 0:e.name)}(t))return void function(t){const e=t.data.data.data.activeItemIndex,n=t.data.data.data.activeModuleIndex;e===(null==a?void 0:a.index)&&n===(null==a?void 0:a.step)||o({index:e,step:n,source:"carousel"})}(t);(function(t){var e;return Qt(t)&&"activeModuleChangeDone"===(null==t||null===(e=t.data)||void 0===e||null===(e=e.data)||void 0===e?void 0:e.name)})(t)&&!u&&N()}}return A=h||v()?"mobile":"desktop",function(t,e={}){window.addEventListener("message",t,e)}(t),()=>{!function(t,e={}){window.removeEventListener("message",t,e)}(t)}}),[a]),s((()=>{I.current||te(null==_?void 0:_.current,Jt,{action:"queryProjectStarted"})}),[a,u]),s((()=>{I.current=!1}),[t]),s((()=>{M(x+k+T)}),[T]),e.createElement("div",{className:"eko-smart-gallery-container "+(u?"":"eko-project-not-ready"),ref:w,"data-type":"smart-gallery","data-qp":k,"data-variant":c,"data-device":A},e.createElement("iframe",{allow:"autoplay; fullscreen",title:"eko gallery",src:S,style:{border:0},ref:_}))}));ne.propTypes={config:Ot.object.isRequired,instanceId:Ot.string,setActiveItem:Ot.func.isRequired,activeItem:Ot.object.isRequired,variantId:Ot.string,smartGalleryLoaded:Ot.bool,onLoad:Ot.func,forceMobile:Ot.bool},ne.displayName="SmartGallery";const ie=()=>e.createElement("style",{suppressHydrationWarning:!0},'.eko-gallery {\n    --accentColorEko: #000;\n    --primaryColorEko: #000;\n    --backgroundColorEko: #25D7A2;\n    --navItemsBackgroundColorEko: transparent;\n    --navItemsBannerBackgroundColorEko: #EEEEEE;\n    --carouselItemsBackgroundColorEko: transparent;\n    --carouselInteractiveCoverBackgroundColorEko: transparent;\n    --galleryGapEkoMobile: 12px;\n    --galleryGapEkoDesktop: 12px;\n    --galleryPaddingEkoMobile: 0;\n    --galleryPaddingEkoDesktop: 0;\n    --galleryMaxWidthEkoMobile: 100%;\n    --galleryMaxWidthEkoDesktop: 900px;\n    --galleryTransition: .8s cubic-bezier(.35, 0, 0, 1) 1.5s;\n    --navBarPaddingEkoMobile: 0 0 0 20px;\n    --navBarPaddingEkoDesktop: 0;\n    --navItemsWidthEkoMobile: 80px;\n    --navItemsWidthEkoDesktop: 80px;\n    --navItemsHeightEkoMobile: 80px;\n    --navItemsHeightEkoDesktop: 80px;\n    --navItemsGapEkoMobile: 14px;\n    --navItemsGapEkoDesktop: 14px;\n    --navItemsRadiusEkoMobile: 8px;\n    --navItemsRadiusEkoDesktop: 8px;\n    --navItemsSelectedMarginEkoMobile: 3px;\n    --navItemsSelectedMarginEkoDesktop: 3px;\n    --navItemsSelectedThicknessEkoMobile: 3px;\n    --navItemsSelectedThicknessEkoDesktop: 3px;\n    --navItemsSelectedUnderlineRadiusEkoMobile: 100px;\n    --navItemsSelectedUnderlineRadiusEkoDesktop: 100px;\n    --navItemsObjectFitEkoMobile: cover;\n    --navItemsObjectFitEkoDesktop: cover;\n    --navMediaBadgeSizeEkoMobile: 22px;\n    --navMediaBadgeSizeEkoDesktop: 22px;\n    --navMediaBadgeMarginTopEkoMobile: 4px;\n    --navMediaBadgeMarginTopEkoDesktop: 4px;\n    --navMediaBadgeMarginRightEkoMobile: 4px;\n    --navMediaBadgeMarginRightEkoDesktop: 4px;\n    --carouselItemsAspectRatioEkoMobile: 1 / 1;\n    --carouselItemsAspectRatioEkoDesktop: 1 / 1;\n    --carouselItemsRadiusEkoMobile: 0px;\n    --carouselItemsRadiusEkoDesktop: 12px;\n    --carouselItemsObjectFitEkoMobile: cover;\n    --carouselItemsObjectFitEkoDesktop: cover;\n    --navBannerFontSizeEkoMobile: 12px;\n    --navBannerFontSizeEkoDesktop: 12px;\n    --navBannerFontLineHeightEkoMobile: 120%;\n    --navBannerFontLineHeightEkoDesktop: 120%;\n    --navBannerFontFamilyEkoMobile: inherit;\n    --navBannerFontFamilyEkoDesktop: inherit;\n    --navBannerFontWeightEkoMobile: 400;\n    --navBannerFontWeightEkoDesktop: 400;\n    --outerWidth: 0\n}\n\n.eko-gallery * {\n    box-sizing: border-box\n}\n\n.eko-gallery ul,\n.eko-gallery li {\n    padding: 0;\n    text-indent: 0;\n    list-style-type: none;\n    font-size: 0;\n    margin: 0\n}\n\n.eko-gallery button {\n    border: none;\n    padding: 0\n}\n\n.eko-gallery .eko-hidden {\n    display: none !important\n}\n\n.eko-gallery .eko-not-visible {\n    visibility: hidden !important\n}\n\n.eko-hidden-variant {\n    display: none !important\n}\n\n.eko-sr-only {\n    width: 1px;\n    height: 1px;\n    clip: rect(0, 0, 0, 0);\n    white-space: nowrap;\n    border-width: 0;\n    margin: -1px;\n    padding: 0;\n    position: absolute;\n    overflow: hidden\n}\n\n.eko-sticky-top {\n    position: sticky;\n    top: 0\n}\n\n.eko-gallery .eko-nav {\n    height: 100%;\n    display: flex;\n    align-items: start;\n    align-self: start;\n    flex-shrink: 0;\n    scrollbar-width: none;\n    -ms-overflow-style: none\n}\n\n.eko-gallery .eko-nav li {\n    font-size: 0;\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    justify-content: center;\n    -webkit-box-pack: center;\n    cursor: pointer\n}\n\n.eko-gallery .eko-nav li button {\n    position: relative;\n    background-color: transparent;\n    border-radius: 0;\n    line-height: 0;\n    overflow: hidden;\n    cursor: pointer\n}\n\n.eko-gallery .eko-nav li button img {\n    background-color: var(--navItemsBackgroundColorEko);\n    pointer-events: none\n}\n\n.eko-gallery .eko-nav li button .item-icon {\n    position: absolute;\n    top: 0;\n    right: 0;\n    width: 32px;\n    height: 32px;\n    transform: scale(.25);\n    transform-origin: top right\n}\n\n.eko-gallery .eko-nav li button .item-icon span {\n    display: block;\n    width: 400%;\n    height: 400%;\n    position: absolute;\n    top: 0;\n    right: 0;\n    background-position: top right;\n    background-repeat: no-repeat;\n    background-size: contain\n}\n\n.eko-gallery .eko-nav li .addons-container {\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    display: flex;\n    flex-direction: column;\n    font-size: 10px;\n    line-height: 100%\n}\n\n.eko-gallery .eko-nav li .addons-container .thumb-label {\n    width: 100%;\n    background: var(--navItemsBannerBackgroundColorEko);\n    padding: 4px;\n    text-align: center;\n    text-wrap: balance;\n    color: var(--primaryColorEko)\n}\n\n.eko-gallery .eko-nav li .addons-container .step-indicator {\n    width: 100%;\n    display: flex;\n    flex-direction: row;\n    justify-content: center;\n    gap: 5px;\n    padding: 6px\n}\n\n.eko-gallery .eko-nav li .addons-container .step-indicator span {\n    width: 5px;\n    height: 5px;\n    border-radius: 100px;\n    background: #fff;\n    box-shadow: 0 0 3px #00000094\n}\n\n.eko-gallery .eko-nav li .addons-container.full-thumb-label {\n    position: relative\n}\n\n.eko-gallery .eko-nav li .addons-container.full-thumb-label .step-indicator {\n    position: absolute;\n    bottom: 0\n}\n\n.eko-gallery .eko-nav li .addons-container.full-thumb-label .thumb-label {\n    align-content: center\n}\n\n.eko-gallery .eko-nav::-webkit-scrollbar {\n    display: none\n}\n\n.eko-nav-container {\n    display: flex\n}\n\n.eko-nav-container:has(.eko-nav.eko-not-visible) .eko-nav-arrow {\n    display: none\n}\n\n.eko-nav-container {\n    position: relative;\n    opacity: 0;\n    transition: opacity .15s ease-in\n}\n\n.eko-nav-container .eko-nav-arrow {\n    width: 28px;\n    height: 28px;\n    position: absolute;\n    display: none;\n    justify-content: center;\n    align-items: center;\n    border-radius: 28px;\n    background-color: #fff;\n    box-shadow: 0 0 6px #0000001f;\n    z-index: 1;\n    bottom: 50%;\n    opacity: 1;\n    transition: opacity .15s ease-in;\n    transform: translateY(50%);\n    cursor: pointer\n}\n\n.eko-nav-container .eko-nav-arrow.eko-prev-nav-button svg,\n.eko-nav-container .eko-nav-arrow.eko-next-nav-button svg {\n    padding: 1px\n}\n\n.eko-nav-container .eko-nav-arrow.eko-prev-nav-button {\n    left: 8px\n}\n\n.eko-nav-container .eko-nav-arrow.eko-next-nav-button {\n    right: 8px\n}\n\n.eko-nav-container .eko-nav-arrow.eko-hidden-nav-button {\n    opacity: 0;\n    pointer-events: none\n}\n\n.eko-gallery .eko-nav {\n    gap: var(--navItemsGapEkoMobile);\n    padding: var(--navBarPaddingEkoMobile)\n}\n\n.eko-gallery .eko-nav li button img {\n    width: var(--navItemsWidthEkoMobile);\n    height: var(--navItemsHeightEkoMobile);\n    object-fit: var(--navItemsObjectFitEkoMobile)\n}\n\n.eko-gallery .eko-nav li .addons-container .thumb-label {\n    font-family: var(--navBannerFontFamilyEkoMobile);\n    font-size: var(--navBannerFontSizeEkoMobile);\n    line-height: var(--navBannerFontLineHeightEkoMobile);\n    font-weight: var(--navBannerFontWeightEkoMobile)\n}\n\n.eko-gallery .eko-nav li .addons-container.full-thumb-label .thumb-label {\n    width: var(--navItemsWidthEkoMobile);\n    height: var(--navItemsHeightEkoMobile)\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-underline li {\n    padding-bottom: calc(var(--navItemsSelectedThicknessEkoMobile) + var(--navItemsSelectedMarginEkoMobile))\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-underline li button {\n    border-radius: var(--navItemsRadiusEkoMobile)\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-underline li[aria-current=true]:after {\n    content: "";\n    width: 100%;\n    height: var(--navItemsSelectedThicknessEkoMobile);\n    border-radius: var(--navItemsSelectedUnderlineRadiusEkoMobile);\n    background-color: var(--accentColorEko);\n    display: block;\n    position: absolute;\n    bottom: 0;\n    left: 0\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-outline li {\n    padding: var(--navItemsSelectedMarginEkoMobile)\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-outline li button {\n    border-radius: var(--navItemsRadiusEkoMobile)\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-outline li[aria-current=true] {\n    border-radius: calc(var(--navItemsRadiusEkoMobile) + var(--navItemsSelectedMarginEkoMobile));\n    box-shadow: 0 0 0 var(--navItemsSelectedThicknessEkoMobile) var(--accentColorEko)\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-liquid-gallery .eko-nav {\n        gap: var(--navItemsGapEkoDesktop);\n        padding: var(--navBarPaddingEkoDesktop)\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav li {\n        border-radius: var(--navItemsRadiusEkoDesktop)\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav li button img {\n        width: var(--navItemsWidthEkoDesktop);\n        height: var(--navItemsHeightEkoDesktop);\n        object-fit: var(--navItemsObjectFitEkoDesktop)\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav li .addons-container .thumb-label {\n        font-family: var(--navBannerFontFamilyEkoDesktop);\n        font-size: var(--navBannerFontSizeEkoDesktop);\n        line-height: var(--navBannerFontLineHeightEkoDesktop);\n        font-weight: var(--navBannerFontWeightEkoDesktop)\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav li .addons-container.full-thumb-label .thumb-label {\n        width: var(--navItemsWidthEkoDesktop);\n        height: var(--navItemsHeightEkoDesktop)\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-underline li {\n        border-radius: 0;\n        padding: 0;\n        padding-bottom: calc(var(--navItemsSelectedThicknessEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop))\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-underline li button {\n        border-radius: var(--navItemsRadiusEkoDesktop)\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-underline li[aria-current=true] {\n        box-shadow: none\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-underline li[aria-current=true]:after {\n        content: "";\n        width: 100%;\n        height: var(--navItemsSelectedThicknessEkoDesktop);\n        border-radius: var(--navItemsSelectedUnderlineRadiusEkoDesktop);\n        background-color: var(--accentColorEko);\n        display: block;\n        position: absolute;\n        bottom: 0;\n        left: 0\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-outline li {\n        padding: var(--navItemsSelectedMarginEkoDesktop)\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-outline li button {\n        border-radius: var(--navItemsRadiusEkoDesktop)\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-outline li[aria-current=true] {\n        border-radius: calc(var(--navItemsRadiusEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop));\n        box-shadow: 0 0 0 var(--navItemsSelectedThicknessEkoDesktop) var(--accentColorEko)\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-outline li[aria-current=true]:after {\n        content: none\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav-container .eko-nav-arrow {\n        width: 30px;\n        height: 30px\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav-container .eko-nav-arrow.eko-desktop-arrows {\n        display: flex\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav-container:has(.eko-desktop-nav-selected-underline) .eko-nav-arrow.eko-desktop-arrows {\n        transform: translateY(calc(50% - (var(--navItemsSelectedThicknessEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop)) / 2))\n    }\n}\n\n@media screen and (max-width: 767px) {\n    .eko-gallery.eko-liquid-gallery .eko-nav-arrow.eko-mobile-arrows {\n        display: flex\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav-container:has(.eko-mobile-nav-selected-underline) .eko-nav-arrow.eko-mobile-arrows {\n        transform: translateY(calc(50% - (var(--navItemsSelectedThicknessEkoMobile) + var(--navItemsSelectedMarginEkoMobile)) / 2))\n    }\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav {\n        gap: var(--navItemsGapEkoDesktop);\n        padding: var(--navBarPaddingEkoDesktop)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li {\n        border-radius: var(--navItemsRadiusEkoDesktop)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li button img {\n        width: var(--navItemsWidthEkoDesktop);\n        height: var(--navItemsHeightEkoDesktop);\n        object-fit: var(--navItemsObjectFitEkoDesktop)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li .addons-container .thumb-label {\n        font-family: var(--navBannerFontFamilyEkoDesktop);\n        font-size: var(--navBannerFontSizeEkoDesktop);\n        line-height: var(--navBannerFontLineHeightEkoDesktop);\n        font-weight: var(--navBannerFontWeightEkoDesktop)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li .addons-container.full-thumb-label .thumb-label {\n        width: var(--navItemsWidthEkoDesktop);\n        height: var(--navItemsHeightEkoDesktop)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-underline li {\n        border-radius: 0;\n        padding: 0;\n        padding-bottom: calc(var(--navItemsSelectedThicknessEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop))\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-underline li button {\n        border-radius: var(--navItemsRadiusEkoDesktop)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-underline li[aria-current=true] {\n        box-shadow: none\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-underline li[aria-current=true]:after {\n        content: "";\n        width: 100%;\n        height: var(--navItemsSelectedThicknessEkoDesktop);\n        border-radius: var(--navItemsSelectedUnderlineRadiusEkoDesktop);\n        background-color: var(--accentColorEko);\n        display: block;\n        position: absolute;\n        bottom: 0;\n        left: 0\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-outline li {\n        padding: var(--navItemsSelectedMarginEkoDesktop)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-outline li button {\n        border-radius: var(--navItemsRadiusEkoDesktop)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-outline li[aria-current=true] {\n        border-radius: calc(var(--navItemsRadiusEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop));\n        box-shadow: 0 0 0 var(--navItemsSelectedThicknessEkoDesktop) var(--accentColorEko)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-outline li[aria-current=true]:after {\n        content: none\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav-container .eko-nav-arrow {\n        width: 30px;\n        height: 30px\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav-container .eko-nav-arrow.eko-desktop-arrows {\n        display: flex\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav-container:has(.eko-desktop-nav-selected-underline) .eko-nav-arrow.eko-desktop-arrows {\n        transform: translateY(calc(50% - (var(--navItemsSelectedThicknessEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop)) / 2))\n    }\n}\n\n@media screen and (max-width: 767px) {\n    .eko-gallery.eko-react-gallery.eko-mobile .eko-nav-arrow.eko-mobile-arrows {\n        display: flex\n    }\n\n    .eko-gallery.eko-react-gallery.eko-mobile .eko-nav-container:has(.eko-mobile-nav-selected-underline) .eko-nav-arrow.eko-mobile-arrows {\n        transform: translateY(calc(50% - (var(--navItemsSelectedThicknessEkoMobile) + var(--navItemsSelectedMarginEkoMobile)) / 2))\n    }\n}\n\n.eko-media-badge {\n    display: none;\n    width: var(--navMediaBadgeSizeEkoMobile);\n    height: var(--navMediaBadgeSizeEkoMobile);\n    background: #fff;\n    align-items: center;\n    justify-content: center;\n    border-radius: 100%;\n    box-shadow: 0 0 4px #00000014;\n    place-content: center;\n    position: absolute;\n    top: var(--navMediaBadgeMarginTopEkoMobile);\n    right: var(--navMediaBadgeMarginRightEkoMobile)\n}\n\n.eko-media-badge svg {\n    width: 100%;\n    height: 100%\n}\n\n.eko-media-badge svg path {\n    fill: #000\n}\n\n.eko-nav li .eko-media-badge-mobile {\n    display: flex\n}\n\nsvg.interactiveThumb {\n    position: absolute;\n    top: 3px;\n    right: -2.5px;\n    width: 100%;\n    height: 100%\n}\n\nsvg.interactiveThumb.hand {\n    animation: handAnim 2.5s linear infinite\n}\n\nsvg.interactiveThumb.beam {\n    animation: beamAnim 2.5s linear infinite;\n    transform-origin: 26% 40%;\n    top: 0\n}\n\n@keyframes handAnim {\n    0% {\n        transform: translateY(0)\n    }\n\n    3% {\n        transform: translateY(-4px)\n    }\n\n    15% {\n        transform: translateY(0)\n    }\n\n    to {\n        transform: translateY(0)\n    }\n}\n\n@keyframes beamAnim {\n    0% {\n        transform: scale(1);\n        opacity: 0\n    }\n\n    5% {\n        transform: scale(1.1);\n        opacity: 1\n    }\n\n    30% {\n        transform: scale(1.4);\n        opacity: 0\n    }\n\n    to {\n        transform: scale(1.4);\n        opacity: 0\n    }\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-liquid-gallery .eko-media-badge {\n        width: var(--navMediaBadgeSizeEkoDesktop);\n        height: var(--navMediaBadgeSizeEkoDesktop);\n        top: var(--navMediaBadgeMarginTopEkoDesktop);\n        right: var(--navMediaBadgeMarginRightEkoDesktop)\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav li .eko-media-badge-mobile {\n        display: none\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-nav li .eko-media-badge-desktop {\n        display: flex\n    }\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-media-badge {\n        width: var(--navMediaBadgeSizeEkoDesktop);\n        height: var(--navMediaBadgeSizeEkoDesktop);\n        top: var(--navMediaBadgeMarginTopEkoDesktop);\n        right: var(--navMediaBadgeMarginRightEkoDesktop)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li .eko-media-badge-mobile {\n        display: none\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li .eko-media-badge-desktop {\n        display: flex\n    }\n}\n\n.eko-loading-animation {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    overflow: hidden;\n    pointer-events: none\n}\n\n.eko-loading-animation.eko-show-loading-animation .eko-animated-bar {\n    opacity: .6\n}\n\n.eko-loading-animation.eko-show-loading-animation .eko-animated-bar .eko-animated-bar-inner {\n    animation: eko-loading-bar-inner-animation 2s infinite\n}\n\n.eko-loading-animation.eko-show-loading-text .eko-loading-text {\n    opacity: 1\n}\n\n.eko-loading-animation .eko-animated-bar {\n    width: 100%;\n    height: 4px;\n    background-color: #e8e8e8b2;\n    opacity: 0;\n    transition: opacity .5s;\n    position: relative\n}\n\n.eko-loading-animation .eko-animated-bar .eko-animated-bar-inner {\n    width: 150px;\n    height: 100%;\n    transform: translate(-150px);\n    background-color: var(--accentColorEko, #4d484b);\n    display: block;\n    position: absolute\n}\n\n.eko-loading-animation .eko-loading-text {\n    position: absolute;\n    top: 10px;\n    left: 50%;\n    transform: translate(-50%);\n    color: #656565;\n    font-size: 12px;\n    font-family: Bogle-Medium, sans-serif;\n    font-weight: 500;\n    opacity: 0;\n    align-items: center;\n    display: flex;\n    gap: 2px;\n    transition: opacity .5s\n}\n\n.eko-loading-animation .eko-loading-text-icon {\n    opacity: 60%\n}\n\n.eko-loading-animation .eko-loading-text-icon svg {\n    transform: translate(2px, 2px)\n}\n\n.eko-loading-animation .eko-loading-text-icon path {\n    fill: var(--accentColorEko, #4d484b)\n}\n\n.eko-loading-animation.eko-hide-icon .eko-loading-text-icon {\n    display: none\n}\n\n@keyframes eko-loading-bar-inner-animation {\n    0% {\n        left: -350px\n    }\n\n    to {\n        left: calc(100% + 350px)\n    }\n}\n\n.eko-smart-loading {\n    position: absolute;\n    top: 8px;\n    left: 50%;\n    transform: translate(-50%);\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 4px\n}\n\n.eko-smart-loading div {\n    position: relative;\n    width: 158px;\n    height: 3px;\n    background-color: #dcdcdc;\n    overflow: hidden;\n    opacity: 0;\n    animation: eko-smart-loading-show-animation .2s linear forwards 1s\n}\n\n.eko-smart-loading div:after {\n    content: "";\n    position: absolute;\n    width: 100%;\n    height: 100%;\n    top: 0;\n    left: 0;\n    background-color: #878787;\n    animation: eko-smart-loading-animation 2.5s ease-in-out infinite\n}\n\n.eko-smart-loading p {\n    font-size: 11px;\n    line-height: 120%;\n    font-weight: 500;\n    color: #6b6b6b;\n    text-shadow: 0 0 2px white;\n    opacity: 0;\n    animation: eko-smart-loading-show-animation .2s linear forwards 3s\n}\n\n@keyframes eko-smart-loading-animation {\n    0% {\n        transform: translate(-100%)\n    }\n\n    to {\n        transform: translate(100%)\n    }\n}\n\n@keyframes eko-smart-loading-show-animation {\n    0% {\n        opacity: 0\n    }\n\n    to {\n        opacity: 100%\n    }\n}\n\n@media screen and (min-width: 450px) {\n    .eko-gallery.eko-liquid-gallery .eko-loading-animation .eko-animated-bar {\n        height: 6px\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-loading-animation .eko-loading-text {\n        font-size: 16px;\n        top: 12px\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-loading-animation .eko-loading-text-icon {\n        transform: rotate(180deg)\n    }\n}\n\n@media screen and (min-width: 450px) {\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-loading-animation .eko-animated-bar {\n        height: 6px\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-loading-animation .eko-loading-text {\n        font-size: 16px;\n        top: 12px\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-loading-animation .eko-loading-text-icon {\n        transform: rotate(180deg)\n    }\n}\n\n.eko-carousel {\n    width: 100%;\n    white-space: nowrap;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scroll-snap-type: x mandatory;\n    overscroll-behavior-x: contain;\n    align-self: start;\n    align-items: start;\n    display: flex;\n    gap: 10px;\n    scrollbar-width: none;\n    -ms-overflow-style: none\n}\n\n.eko-carousel li {\n    width: 100%;\n    display: inline-block;\n    position: relative;\n    align-items: start;\n    overflow: hidden;\n    scroll-snap-align: center;\n    scroll-snap-stop: always;\n    flex-shrink: 0\n}\n\n.eko-carousel li img.eko-cover-image {\n    position: relative;\n    pointer-events: none;\n    transition: opacity .5s;\n    z-index: 1;\n    width: 100%;\n    height: 100%;\n    background-color: var(--carouselInteractiveCoverBackgroundColorEko)\n}\n\n.eko-carousel li iframe {\n    position: absolute;\n    border: none;\n    top: 0;\n    left: 0\n}\n\n.eko-carousel li img,\n.eko-carousel li video {\n    width: 100%;\n    height: 100%;\n    max-width: 100%;\n    max-height: 100%;\n    min-width: 0;\n    background-color: var(--carouselItemsBackgroundColorEko)\n}\n\n.eko-carousel li[data-type=videoembed],\n.eko-carousel li[data-type=video] {\n    cursor: pointer\n}\n\n.eko-carousel::-webkit-scrollbar {\n    display: none\n}\n\n.eko-carousel:has(.zoomed) {\n    overflow: hidden\n}\n\n.eko-carousel li {\n    border-radius: var(--carouselItemsRadiusEkoMobile)\n}\n\n.eko-carousel li img.eko-desktop-cover-image {\n    display: none\n}\n\n.eko-carousel li img.eko-mobile-cover-image {\n    display: inline\n}\n\n.eko-carousel li img,\n.eko-carousel li video {\n    aspect-ratio: var(--carouselItemsAspectRatioEkoMobile);\n    object-fit: var(--carouselItemsObjectFitEkoMobile)\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-liquid-gallery .eko-carousel li {\n        border-radius: var(--carouselItemsRadiusEkoDesktop)\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-carousel li img,\n    .eko-gallery.eko-liquid-gallery .eko-carousel li video {\n        aspect-ratio: var(--carouselItemsAspectRatioEkoDesktop);\n        object-fit: var(--carouselItemsObjectFitEkoDesktop)\n    }\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-carousel li {\n        border-radius: var(--carouselItemsRadiusEkoDesktop)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-carousel li img,\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-carousel li video {\n        aspect-ratio: var(--carouselItemsAspectRatioEkoDesktop);\n        object-fit: var(--carouselItemsObjectFitEkoDesktop)\n    }\n}\n\n.eko-gallery.eko-mobile-embed-layout .eko-nav-container {\n    display: none\n}\n\n.eko-gallery.eko-mobile-embed-layout .eko-carousel {\n    overflow-x: hidden\n}\n\n.eko-gallery.eko-mobile-embed-layout .eko-mobile-carousel-scroll {\n    overflow-x: auto\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-liquid-gallery.eko-desktop-embed-layout .eko-nav-container {\n        display: none\n    }\n\n    .eko-gallery.eko-liquid-gallery.eko-desktop-embed-layout .eko-carousel {\n        overflow-x: hidden\n    }\n\n    .eko-gallery.eko-liquid-gallery.eko-desktop-embed-layout .eko-carousel.eko-desktop-carousel-scroll {\n        overflow-x: auto\n    }\n\n    .eko-gallery.eko-liquid-gallery.eko-mobile-embed-layout.eko-desktop-nav-layout .eko-nav-container {\n        display: flex\n    }\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-embed-layout .eko-nav-container {\n        display: none\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-embed-layout .eko-carousel {\n        overflow-x: hidden\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-embed-layout .eko-carousel.eko-desktop-carousel-scroll {\n        overflow-x: auto\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-mobile-embed-layout.eko-desktop-nav-layout .eko-nav-container {\n        display: flex\n    }\n}\n\n.eko-gallery.eko-mobile-nav-layout.eko-mobile-nav-bottom .eko-nav,\n.eko-gallery.eko-desktop-nav-layout.eko-desktop-nav-bottom .eko-nav,\n.eko-gallery.eko-mobile-nav-layout.eko-mobile-nav-top .eko-nav,\n.eko-gallery.eko-desktop-nav-layout.eko-desktop-nav-top .eko-nav {\n    flex-direction: row;\n    overflow-x: auto;\n    overflow-y: hidden;\n    max-width: 100%;\n    margin: auto\n}\n\n.eko-gallery.eko-mobile-nav-layout.eko-mobile-nav-bottom {\n    flex-direction: column-reverse\n}\n\n.eko-gallery.eko-mobile-nav-layout.eko-mobile-nav-top {\n    flex-direction: column\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-bottom {\n        flex-direction: column-reverse\n    }\n\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-top {\n        flex-direction: column\n    }\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-bottom {\n        flex-direction: column-reverse\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-top {\n        flex-direction: column\n    }\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right {\n        flex-direction: row-reverse\n    }\n\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left {\n        flex-direction: row\n    }\n\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav,\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav {\n        display: flex;\n        flex-direction: column;\n        justify-content: start;\n        overflow-x: hidden;\n        overflow-y: auto;\n        gap: var(--navItemsGapEkoDesktop)\n    }\n\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container,\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container {\n        display: flex;\n        flex-shrink: 0\n    }\n\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button {\n        top: 4px;\n        left: auto\n    }\n\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button,\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button {\n        bottom: 4px\n    }\n\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button,\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button {\n        right: 50%;\n        transform: translate(50%)\n    }\n\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button svg,\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button svg,\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button svg,\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button svg {\n        transform: rotate(90deg)\n    }\n\n    .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout .eko-carousel {\n        align-self: start\n    }\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right {\n        flex-direction: row-reverse\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left {\n        flex-direction: row\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav,\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav {\n        display: flex;\n        flex-direction: column;\n        justify-content: start;\n        overflow-x: hidden;\n        overflow-y: auto;\n        gap: var(--navItemsGapEkoDesktop)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container,\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container {\n        display: flex;\n        flex-shrink: 0\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button {\n        top: 4px;\n        left: auto\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button,\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button {\n        bottom: 4px\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button,\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button {\n        right: 50%;\n        transform: translate(50%)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button svg,\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button svg,\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button svg,\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button svg {\n        transform: rotate(90deg)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout .eko-carousel {\n        align-self: start\n    }\n}\n\n.eko-gallery .eko-introButton {\n    cursor: pointer;\n    white-space: nowrap;\n    pointer-events: auto;\n    position: absolute;\n    bottom: 100px;\n    left: 50%;\n    transform: translate(-50%);\n    padding: 15px 20px\n}\n\n.eko-gallery .eko-introButton .eko-handContainer {\n    display: none\n}\n\n.eko-gallery {\n    position: relative;\n    overflow: hidden;\n    display: flex;\n    flex-direction: row;\n    justify-content: start;\n    margin-inline-start: calc(-1 * var(--outerWidth));\n    margin-inline-end: calc(-1 * var(--outerWidth));\n    padding: var(--galleryPaddingEkoMobile);\n    margin: auto;\n    max-width: var(--galleryMaxWidthEkoMobile);\n    transition: height var(--galleryTransition, .8s cubic-bezier(.35, 0, 0, 1) 1.5s), padding 0s;\n    gap: var(--galleryGapEkoMobile)\n}\n\n.eko-gallery .eko-smart-gallery-container {\n    border-radius: var(--carouselItemsRadiusEkoMobile);\n    overflow: hidden;\n    flex: 1;\n    display: flex;\n    height: fit-content\n}\n\n.eko-gallery .eko-smart-gallery-container iframe {\n    width: 100%;\n    aspect-ratio: var(--carouselItemsAspectRatioEkoMobile)\n}\n\n.eko-gallery .eko-smart-gallery-container.eko-project-not-ready {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    bottom: 0;\n    opacity: 0;\n    pointer-events: none;\n    touch-action: none\n}\n\n.eko-gallery .eko-smart-gallery-container.eko-project-not-ready iframe {\n    pointer-events: none;\n    touch-action: none\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-liquid-gallery {\n        max-width: var(--galleryMaxWidthEkoDesktop);\n        gap: var(--galleryGapEkoDesktop);\n        padding: var(--galleryPaddingEkoDesktop)\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-smart-gallery-container {\n        border-radius: var(--carouselItemsRadiusEkoDesktop)\n    }\n\n    .eko-gallery.eko-liquid-gallery .eko-smart-gallery-container iframe {\n        aspect-ratio: var(--carouselItemsAspectRatioEkoDesktop)\n    }\n}\n\n@media screen and (min-width: 768px) {\n    .eko-gallery.eko-react-gallery.eko-desktop {\n        max-width: var(--galleryMaxWidthEkoDesktop);\n        gap: var(--galleryGapEkoDesktop);\n        padding: var(--galleryPaddingEkoDesktop)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-smart-gallery-container {\n        border-radius: var(--carouselItemsRadiusEkoDesktop)\n    }\n\n    .eko-gallery.eko-react-gallery.eko-desktop .eko-smart-gallery-container iframe {\n        aspect-ratio: var(--carouselItemsAspectRatioEkoDesktop)\n    }\n}'),re=({layout:t,style:n})=>{let i={};return function(t={}){Object.keys(t).forEach((e=>{i[`--${e}Eko`]=t[e]}))}(n),function(t){var e,n;const r=(null==t||null===(e=t.desktop)||void 0===e?void 0:e.config)||{},o=(null==t||null===(n=t.mobile)||void 0===n?void 0:n.config)||{};Object.keys(r).forEach((t=>{"string"==typeof r[t]&&(i[`--${t}EkoDesktop`]=r[t])})),Object.keys(o).forEach((t=>{"string"==typeof o[t]&&(i[`--${t}EkoMobile`]=o[t])}))}(t),e.createElement("style",{key:{layout:t,style:n}},`.eko-gallery {${Object.keys(i).map((t=>`${t}: ${i[t]};`)).join("\n")}}`)};re.propTypes={layout:Ot.object,style:Ot.object},b("experiment");const oe=({activeVariantId:t,activeElementId:e,hasInteractive:i,experiments:r,publishItem:o})=>{const a="gallery",l=n(t),c=n(e),u=n(i),d=n(r),h=n(o);s((()=>{l.current=t,c.current=e,u.current=i,d.current=r,h.current=o}),[t,e,i,r,o]);const f={publishItemPacker:{tag:a,schema:"iglu:com.helloeko/publishitem/jsonschema/1-0-0",match:/.*/,getData:function(){const t=h.current;if(t){const e={};return null!=t&&t.id&&(e.id=t.id),null!=t&&t.productId&&(e.productid=t.productId),t.salesChannelId&&(e.saleschannelid=t.salesChannelId),null!=t&&t.salesChannelName&&(e.saleschannelname=t.salesChannelName),t.salesChannelType&&(e.saleschanneltype=t.salesChannelType),e.id?e:void 0}}},galleryInteractionPacker:{tag:a,schema:"iglu:com.helloeko/gallery_interaction/jsonschema/1-0-0",match:"gallery.interaction",getData:function({elementid:t,interactiontype:e}){return{elementid:String(t),interactiontype:e}}},galleryPacker:{tag:a,schema:"iglu:com.helloeko/gallery/jsonschema/1-0-2",match:/^gallery.*/,getData:function(){var t;return{activeitemid:c.current.toString(),activevariantid:l.current,hasinteractive:u.current,version:(null===(t=window.eko)||void 0===t||null===(t=t.gallery)||void 0===t?void 0:t.version)||""}}},activeVariantIdPacker:{tag:a,schema:"iglu:com.helloeko/variant/jsonschema/1-0-1",match:/.*/,getData:function(){if(l.current)return{id:l.current}}},experimentPacker:{tag:a,schema:"iglu:com.helloeko/experiment/jsonschema/1-0-3",match:/.*/,getData:function(){var t;let e=function(t){let e=null;if(t){const n=Math.floor(Date.now()/1e3);for(const i of t){if("deliverable"!==i.type)return;const t=Math.floor(new Date(i.startDate).getTime()/1e3),r=Math.floor(new Date(i.endDate).getTime()/1e3);!0===i.active&&n>t&&n<r&&(e=i)}}return e}(d.current);if(!e)return;let n={experimentid:e.id||"",experimentvariant:e.chosen||"pending decision",experimenttype:e.type||""},i=null===(t=e.targetDevice)||void 0===t?void 0:t.toLowerCase();return"mobile"!==i&&"notmobile"!==i||(n.experimenttargeting={device:i}),n}}};return s((()=>(Object.values(f).forEach((t=>{window.EkoAnalytics("registerContextPacker",t)})),()=>{window.EkoAnalytics("reset",a)})),[]),null};oe.propTypes={activeVariantId:Ot.string,activeElementId:Ot.number,hasInteractive:Ot.bool,experiments:Ot.array,publishItem:Ot.object};const se=({variantId:t,activeItem:i,hasInteractive:r,activeIndex:o,experiments:a,publishItem:l})=>{const c=n(!0);return s((()=>{c.current||t&&R.track("gallery.variant.change")}),[t]),s((()=>{c.current||R.track("gallery.element.change",{activeIndex:o})}),[o]),s((()=>{c.current||i&&null!=l&&l.id&&R.track("gallery.asset.view",{publishitemid:l.id,type:i.type,name:i.name})}),[i]),s((()=>{c.current=!1}),[]),e.createElement(oe,{activeVariantId:t||"ekonovar",activeElementId:o,hasInteractive:r,experiments:a,publishItem:l})};se.propTypes={variantId:Ot.string,activeItem:Ot.object,hasInteractive:Ot.bool,activeIndex:Ot.number,experiments:Ot.array,publishItem:Ot.object};const ae="eko-gallery-react";function le(t,e){var n,i,r;const o=(null==t||null===(n=t.variantMap)||void 0===n?void 0:n[e])||"ekonovar";return(null==t||null===(i=t.items)||void 0===i?void 0:i.find((t=>(null==t?void 0:t.variantId)===o)))||(null==t||null===(r=t.items)||void 0===r?void 0:r[0])}"undefined"!=typeof window&&(window.EkoAnalytics||(console.log("EkoAnalytics is not defined, initializing a no-op function..."),window.EkoAnalytics=()=>{}));const ce=a((({className:t,config:r,instanceId:o,variantId:a,activeItem:l={index:0,step:0},onEvent:c,forceMobile:u},d)=>{var h,f,p,m,v,g;const y=null!==(h=null===(f=r.options)||void 0===f?void 0:f.loadingTimeout)&&void 0!==h?h:12,b=null===(p=null===(m=r.options)||void 0===m?void 0:m.showCoverLoadAnimation)||void 0===p||p,[k,x]=i(le(r,a)),[w,_]=i({index:l.index,step:l.step,source:"external-nav"}),[I,T]=i(!1),[E,S]=i(!1),[M,A]=i("eko-desktop"),N=n(!1),F=n(!1),C=n(l),O=n(null),P=n(a);function D(){const t=u||window.innerWidth<768?"eko-mobile":"eko-desktop";A(t)}return F.current||(Wt.send("galleryinit"),F.current=!0),s((()=>{const t=P.current!==a;P.current=a,x(le(r,a)),t&&!N.current&&_({index:0,step:0,source:"external-nav"})}),[r,a]),s((()=>{if(c)return Wt.subscribe(c),()=>{Wt.unsubscribe()}}),[c]),s((()=>{N.current=E}),[E]),s((()=>{T(!1),S(!1);const t=setTimeout((()=>{N.current||(T(!0),R.track("gallery.load.timeout"))}),1e3*y);return()=>{clearTimeout(t)}}),[r]),s((()=>{D()}),[u]),s((()=>(window.addEventListener("resize",D),D(),()=>{window.removeEventListener("resize",D)})),[u]),s((()=>(window.EkoAnalytics("trackElementVisibility",O.current,ae),()=>{window.EkoAnalytics("stopTrackingElementVisibility",ae)})),[]),s((()=>{!("carousel"===(null==w?void 0:w.source)||"nav"===(null==w?void 0:w.source))||(null==w?void 0:w.index)===l.index&&(null==w?void 0:w.step)===l.step||Wt.send("activeitemchanged",{index:null==w?void 0:w.index,step:null==w?void 0:w.step})}),[w,l]),s((()=>{C.current.index===l.index&&C.current.step===l.step||(C.current=l,_({index:l.index,step:l.step,source:"external-nav"}))}),[l]),e.createElement(e.Fragment,null,e.createElement(ie,null),e.createElement(re,{layout:r.layout,style:r.style,forceMobile:u}),e.createElement(se,{variantId:a,activeItem:null==k||null===(v=k.items)||void 0===v?void 0:v[w.index],activeIndex:w.index,hasInteractive:E,experiments:r.experiments,publishItem:null==r||null===(g=r.__autoGenerated)||void 0===g?void 0:g.publishItem}),e.createElement("section",{className:`${`eko-gallery eko-react-gallery ${function(t){let e="";return["mobile","desktop"].forEach((n=>{var i,r;const o=null!==(i=null==t||null===(r=t[n])||void 0===r?void 0:r.type)&&void 0!==i?i:"nav";if(e+=`eko-${n}-${o}-layout `,"nav"===o){var s;const i="desktop"===n,r=(null==t||null===(s=t[n])||void 0===s||null===(s=s.config)||void 0===s?void 0:s.orientation)||(i?"left":"bottom");e+=`eko-${n}-nav-${r} `}})),e}(r.layout)} ${null!=t?t:""}`.trim()} ${M}`,"aria-controls":"main-content",ref:O},e.createElement(qt,{items:(null==k?void 0:k.items)||[],setActiveIndex:_,activeIndex:w.index,layout:r.layout,carouselMounted:E,forceMobile:u}),!E&&e.createElement(Yt,{ref:d,items:(null==k?void 0:k.items)||[],setActiveIndex:_,activeIndex:{index:w.index,source:null==w?void 0:w.source},showSmartLoaders:!I&&b}),!I&&e.createElement(ne,{ref:d,config:r,instanceId:o,activeItem:w,setActiveItem:_,variantId:null==k?void 0:k.variantId,smartGalleryLoaded:E,forceMobile:u,onLoad:function(){S(!0)}})))}));ce.propTypes={className:Ot.string,config:Ot.object.isRequired,instanceId:Ot.string,variantId:Ot.string,activeItem:Ot.object,onEvent:Ot.func,forceMobile:Ot.bool,onPrev:Ot.func,onNext:Ot.func},ce.displayName="EkoGallery";var ue=c(ce);const de=b("gallery-react");const he=a(((t,n)=>{var i;s((()=>(de.setDataStorage("gallery-react",{config:t.config}),window.eko=window.eko||{},window.eko.config=t.config,window.eko.gallery={version:"4.0.17"},()=>{window.eko.config=void 0})),[t.config]);const{children:r,...o}=t;return void 0!==t.config?e.createElement(ue,q({ref:n},o,{key:null===(i=t.config.__autoGenerated)||void 0===i||null===(i=i.publishItem)||void 0===i?void 0:i.id})):r}));he.propTypes={className:Ot.string,config:Ot.object,variantId:Ot.string,onEvent:Ot.func,instanceId:Ot.string,children:Ot.node},he.displayName="EkoGalleryWrapper";var fe,pe,me,ve,ge,ye,be,ke,xe,we,_e,Ie,Te,Ee,Se,Me,Ae,Ne,Fe,Ce,Oe,Pe,De,Re,Be,Le,ze,We,je,Ue,$e,qe,Ve,Ge,He,Ke,Xe,Ye,Qe,Je,Ze,tn,en,nn,rn,on,sn,an,ln,cn,un,dn=c(he);const hn=1,fn=2,pn=4,mn=8,vn=16,gn=1,yn=4,bn=8,kn=16,xn=4,wn="[",_n="[!",In="]",Tn={},En=Symbol(),Sn="http://www.w3.org/1999/xhtml",Mn="@attach",An=!1;var Nn=Array.isArray,Fn=Array.prototype.indexOf,Cn=Array.from,On=Object.defineProperty,Pn=Object.getOwnPropertyDescriptor,Dn=Object.getOwnPropertyDescriptors,Rn=Object.prototype,Bn=Array.prototype,Ln=Object.getPrototypeOf,zn=Object.isExtensible;const Wn=()=>{};function jn(){var t,e;return{promise:new Promise(((n,i)=>{t=n,e=i})),resolve:t,reject:e}}const Un=2,$n=4,qn=8,Vn=1<<24,Gn=16,Hn=32,Kn=64,Xn=128,Yn=512,Qn=1024,Jn=2048,Zn=4096,ti=8192,ei=16384,ni=32768,ii=65536,ri=1<<17,oi=1<<18,si=1<<19,ai=1<<20,li=1<<25,ci=32768,ui=1<<21,di=1<<22,hi=1<<23,fi=Symbol("$state"),pi=Symbol("legacy props"),mi=Symbol(""),vi=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},gi=3,yi=8;function bi(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function ki(t){console.warn("https://svelte.dev/e/hydration_mismatch")}let xi,wi=!1;function _i(t){wi=t}function Ii(t){if(null===t)throw ki(),Tn;return xi=t}function Ti(){return Ii(_o(xi))}function Ei(t){if(wi){if(null!==_o(xi))throw ki(),Tn;xi=t}}function Si(t=!0){for(var e=0,n=xi;;){if(n.nodeType===yi){var i=n.data;if(i===In){if(0===e)return n;e-=1}else i!==wn&&i!==_n||(e+=1)}var r=_o(n);t&&n.remove(),n=r}}function Mi(t){if(!t||t.nodeType!==yi)throw ki(),Tn;return t.data}function Ai(t){return t===this.v}function Ni(t){return e=t,n=this.v,!(e!=e?n==n:e!==n||null!==e&&"object"==typeof e||"function"==typeof e);var e,n}let Fi=!1,Ci=null;function Oi(t){Ci=t}function Pi(t){return Bi().get(t)}function Di(t,e=!1,n){Ci={p:Ci,i:!1,c:null,e:null,s:t,x:null,l:null}}function Ri(t){var e=Ci,n=e.e;if(null!==n)for(var i of(e.e=null,n))Ro(i);return e.i=!0,Ci=e.p,{}}function Bi(t){var e,n;return null===Ci&&bi(),null!==(n=(e=Ci).c)&&void 0!==n?n:e.c=new Map(function(t){let e=t.p;for(;null!==e;){const t=e.c;if(null!==t)return t;e=e.p}return null}(Ci)||void 0)}let Li=[];function zi(){var t=Li;Li=[],function(t){for(var e=0;e<t.length;e++)t[e]()}(t)}function Wi(t){if(0===Li.length&&!er){var e=Li;queueMicrotask((()=>{e===Li&&zi()}))}Li.push(t)}function ji(){for(;Li.length>0;)zi()}function Ui(t){var e=os;if(null===e)return ns.f|=hi,t;if(e.f&ni)$i(t,e);else{if(!(e.f&Xn))throw t;e.b.error(t)}}function $i(t,e){for(;null!==e;){if(e.f&Xn)try{return void e.b.error(t)}catch(e){t=e}e=e.parent}throw t}const qi=-7169;function Vi(t,e){t.f=t.f&qi|e}function Gi(t){t.f&Yn||null===t.deps?Vi(t,Qn):Vi(t,Zn)}function Hi(t){if(null!==t)for(const e of t)e.f&Un&&e.f&ci&&(e.f^=ci,Hi(e.deps))}function Ki(t,e,n){t.f&Jn?e.add(t):t.f&Zn&&n.add(t),Hi(t.deps),Vi(t,Qn)}const Xi=new Set;let Yi=null,Qi=null,Ji=[],Zi=null,tr=!1,er=!1;var nr=new WeakMap,ir=new WeakMap,rr=new WeakMap,or=new WeakMap,sr=new WeakMap,ar=new WeakMap,lr=new WeakMap,cr=new WeakSet;class ur{constructor(){U(this,cr),$(this,"committed",!1),$(this,"current",new Map),$(this,"previous",new Map),W(this,nr,new Set),W(this,ir,new Set),W(this,rr,0),W(this,or,0),W(this,sr,null),W(this,ar,new Set),W(this,lr,new Set),$(this,"skipped_effects",new Set),$(this,"is_fork",!1)}is_deferred(){return this.is_fork||z(or,this)>0}process(t){Ji=[],this.apply();var e,n=[],i=[];for(const e of t)B(cr,this,dr).call(this,e,n,i);(this.is_fork||B(cr,this,fr).call(this),this.is_deferred())?(B(cr,this,hr).call(this,i),B(cr,this,hr).call(this,n)):(Yi=null,yr(i),yr(n),null===(e=z(sr,this))||void 0===e||e.resolve());Qi=null}capture(t,e){var n;(e===En||this.previous.has(t)||this.previous.set(t,e),t.f&hi)||(this.current.set(t,t.v),null===(n=Qi)||void 0===n||n.set(t,t.v))}activate(){Yi=this,this.apply()}deactivate(){Yi===this&&(Yi=null,Qi=null)}flush(){if(this.activate(),Ji.length>0){if(mr(),null!==Yi&&Yi!==this)return}else 0===z(rr,this)&&this.process([]);this.deactivate()}discard(){for(const t of z(ir,this))t(this);z(ir,this).clear()}increment(t){j(rr,this,z(rr,this)+1),t&&j(or,this,z(or,this)+1)}decrement(t){j(rr,this,z(rr,this)-1),t&&j(or,this,z(or,this)-1),this.revive()}revive(){for(const t of z(ar,this))z(lr,this).delete(t),Vi(t,Jn),xr(t);for(const t of z(lr,this))Vi(t,Zn),xr(t);this.flush()}oncommit(t){z(nr,this).add(t)}ondiscard(t){z(ir,this).add(t)}settled(){var t;return(null!==(t=z(sr,this))&&void 0!==t?t:j(sr,this,jn())).promise}static ensure(){if(null===Yi){const t=Yi=new ur;Xi.add(Yi),er||ur.enqueue((()=>{Yi===t&&t.flush()}))}return Yi}static enqueue(t){Wi(t)}apply(){}}function dr(t,e,n){t.f^=Qn;for(var i=t.first,r=null;null!==i;){var o=i.f,s=!!(o&(Hn|Kn));if(!(s&&!!(o&Qn)||!!(o&ti)||this.skipped_effects.has(i))&&null!==i.fn){s?i.f^=Qn:null!==r&&o&($n|qn|Vn)?r.b.defer_effect(i):o&$n?e.push(i):gs(i)&&(o&Gn&&z(ar,this).add(i),ws(i));var a=i.first;if(null!==a){i=a;continue}}var l=i.parent;for(i=i.next;null===i&&null!==l;)l===r&&(r=null),i=l.next,l=l.parent}}function hr(t){for(var e=0;e<t.length;e+=1)Ki(t[e],z(ar,this),z(lr,this))}function fr(){if(0===z(or,this)){for(const t of z(nr,this))t();z(nr,this).clear()}0===z(rr,this)&&B(cr,this,pr).call(this)}function pr(){if(Xi.size>1){this.previous.clear();var t=Qi,e=!0;for(const t of Xi){if(t===this){e=!1;continue}const i=[];for(const[n,r]of this.current){if(t.current.has(n)){if(!e||r===t.current.get(n))continue;t.current.set(n,r)}i.push(n)}if(0===i.length)continue;const r=[...t.current.keys()].filter((t=>!this.current.has(t)));if(r.length>0){var n=Ji;Ji=[];const e=new Set,o=new Map;for(const t of i)br(t,r,e,o);if(Ji.length>0){Yi=t,t.apply();for(const e of Ji)B(cr,t,dr).call(t,e,[],[]);t.deactivate()}Ji=n}}Yi=null,Qi=t}this.committed=!0,Xi.delete(this)}function mr(){var t=Jo;tr=!0;try{var e=0;for(Zo(!0);Ji.length>0;){var n=ur.ensure();if(e++>1e3)vr();n.process(Ji),ro.clear()}}finally{tr=!1,Zo(t),Zi=null}}function vr(){try{!function(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}()}catch(t){$i(t,Zi)}}let gr=null;function yr(t){var e=t.length;if(0!==e){for(var n=0;n<e;){var i,r=t[n++];if(!(r.f&(ei|ti))&&gs(r))if(gr=new Set,ws(r),null===r.deps&&null===r.first&&null===r.nodes&&(null===r.teardown&&null===r.ac?Go(r):r.fn=null),(null===(i=gr)||void 0===i?void 0:i.size)>0){ro.clear();for(const t of gr){if(t.f&(ei|ti))continue;const e=[t];let n=t.parent;for(;null!==n;)gr.has(n)&&(gr.delete(n),e.push(n)),n=n.parent;for(let t=e.length-1;t>=0;t--){const n=e[t];n.f&(ei|ti)||ws(n)}}gr.clear()}}gr=null}}function br(t,e,n,i){if(!n.has(t)&&(n.add(t),null!==t.reactions))for(const r of t.reactions){const t=r.f;t&Un?br(r,e,n,i):t&(di|Gn)&&!(t&Jn)&&kr(r,e,i)&&(Vi(r,Jn),xr(r))}}function kr(t,e,n){const i=n.get(t);if(void 0!==i)return i;if(null!==t.deps)for(const i of t.deps){if(e.includes(i))return!0;if(i.f&Un&&kr(i,e,n))return n.set(i,!0),!0}return n.set(t,!1),!1}function xr(t){for(var e=Zi=t;null!==e.parent;){var n=(e=e.parent).f;if(tr&&e===os&&n&Gn&&!(n&oi))return;if(n&(Kn|Hn)){if(!(n&Qn))return;e.f^=Qn}}Ji.push(e)}var wr=ii|si|Xn;var _r=new WeakMap,Ir=new WeakMap,Tr=new WeakMap,Er=new WeakMap,Sr=new WeakMap,Mr=new WeakMap,Ar=new WeakMap,Nr=new WeakMap,Fr=new WeakMap,Cr=new WeakMap,Or=new WeakMap,Pr=new WeakMap,Dr=new WeakMap,Rr=new WeakMap,Br=new WeakMap,Lr=new WeakMap,zr=new WeakMap,Wr=new WeakSet;class jr{constructor(t,e,n){U(this,Wr),$(this,"parent",void 0),$(this,"is_pending",!1),W(this,_r,void 0),W(this,Ir,wi?xi:null),W(this,Tr,void 0),W(this,Er,void 0),W(this,Sr,void 0),W(this,Mr,null),W(this,Ar,null),W(this,Nr,null),W(this,Fr,null),W(this,Cr,null),W(this,Or,0),W(this,Pr,0),W(this,Dr,!1),W(this,Rr,new Set),W(this,Br,new Set),W(this,Lr,null),W(this,zr,function(t){let e,n=0,i=so(0);return()=>{Oo()&&(Is(i),Lo((()=>(0===n&&(e=Ss((()=>t((()=>ho(i)))))),n+=1,()=>{Wi((()=>{var t;n-=1,0===n&&(null===(t=e)||void 0===t||t(),e=void 0,ho(i))}))}))))}}((()=>(j(Lr,this,so(z(Or,this))),()=>{j(Lr,this,null)})))),j(_r,this,t),j(Tr,this,e),j(Er,this,n),this.parent=os.b,this.is_pending=!!z(Tr,this).pending,j(Sr,this,Wo((()=>{if(os.b=this,wi){const t=z(Ir,this);Ti();t.nodeType===yi&&t.data===_n?B(Wr,this,$r).call(this):(B(Wr,this,Ur).call(this),0===z(Pr,this)&&(this.is_pending=!1))}else{var t=B(Wr,this,qr).call(this);try{j(Mr,this,Uo((()=>n(t))))}catch(t){this.error(t)}z(Pr,this)>0?B(Wr,this,Gr).call(this):this.is_pending=!1}return()=>{var t;null===(t=z(Cr,this))||void 0===t||t.remove()}}),wr)),wi&&j(_r,this,xi)}defer_effect(t){Ki(t,z(Rr,this),z(Br,this))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!z(Tr,this).pending}update_pending_count(t){B(Wr,this,Hr).call(this,t),j(Or,this,z(Or,this)+t),z(Lr,this)&&uo(z(Lr,this),z(Or,this))}get_effect_pending(){return z(zr,this).call(this),Is(z(Lr,this))}error(t){var e=z(Tr,this).onerror;let n=z(Tr,this).failed;if(z(Dr,this)||!e&&!n)throw t;z(Mr,this)&&(Vo(z(Mr,this)),j(Mr,this,null)),z(Ar,this)&&(Vo(z(Ar,this)),j(Ar,this,null)),z(Nr,this)&&(Vo(z(Nr,this)),j(Nr,this,null)),wi&&(Ii(z(Ir,this)),function(t=1){if(wi){for(var e=t,n=xi;e--;)n=_o(n);xi=n}}(),Ii(Si()));var i=!1,r=!1;const o=()=>{i?console.warn("https://svelte.dev/e/svelte_boundary_reset_noop"):(i=!0,r&&function(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}(),ur.ensure(),j(Or,this,0),null!==z(Nr,this)&&Ho(z(Nr,this),(()=>{j(Nr,this,null)})),this.is_pending=this.has_pending_snippet(),j(Mr,this,B(Wr,this,Vr).call(this,(()=>(j(Dr,this,!1),Uo((()=>z(Er,this).call(this,z(_r,this)))))))),z(Pr,this)>0?B(Wr,this,Gr).call(this):this.is_pending=!1)};var s=ns;try{rs(null),r=!0,null==e||e(t,o),r=!1}catch(t){$i(t,z(Sr,this)&&z(Sr,this).parent)}finally{rs(s)}n&&Wi((()=>{j(Nr,this,B(Wr,this,Vr).call(this,(()=>{ur.ensure(),j(Dr,this,!0);try{return Uo((()=>{n(z(_r,this),(()=>t),(()=>o))}))}catch(t){return $i(t,z(Sr,this).parent),null}finally{j(Dr,this,!1)}})))}))}}function Ur(){try{j(Mr,this,Uo((()=>z(Er,this).call(this,z(_r,this)))))}catch(t){this.error(t)}}function $r(){const t=z(Tr,this).pending;t&&(j(Ar,this,Uo((()=>t(z(_r,this))))),ur.enqueue((()=>{var t=B(Wr,this,qr).call(this);j(Mr,this,B(Wr,this,Vr).call(this,(()=>(ur.ensure(),Uo((()=>z(Er,this).call(this,t))))))),z(Pr,this)>0?B(Wr,this,Gr).call(this):(Ho(z(Ar,this),(()=>{j(Ar,this,null)})),this.is_pending=!1)})))}function qr(){var t=z(_r,this);return this.is_pending&&(j(Cr,this,xo()),z(_r,this).before(z(Cr,this)),t=z(Cr,this)),t}function Vr(t){var e=os,n=ns,i=Ci;ss(z(Sr,this)),rs(z(Sr,this)),Oi(z(Sr,this).ctx);try{return t()}catch(t){return Ui(t),null}finally{ss(e),rs(n),Oi(i)}}function Gr(){const t=z(Tr,this).pending;null!==z(Mr,this)&&(j(Fr,this,document.createDocumentFragment()),z(Fr,this).append(z(Cr,this)),Qo(z(Mr,this),z(Fr,this))),null===z(Ar,this)&&j(Ar,this,Uo((()=>t(z(_r,this)))))}function Hr(t){var e;if(this.has_pending_snippet()){if(j(Pr,this,z(Pr,this)+t),0===z(Pr,this)){this.is_pending=!1;for(const t of z(Rr,this))Vi(t,Jn),xr(t);for(const t of z(Br,this))Vi(t,Zn),xr(t);z(Rr,this).clear(),z(Br,this).clear(),z(Ar,this)&&Ho(z(Ar,this),(()=>{j(Ar,this,null)})),z(Fr,this)&&(z(_r,this).before(z(Fr,this)),j(Fr,this,null))}}else this.parent&&B(Wr,e=this.parent,Hr).call(e,t)}function Kr(t,e,n,i){const r=Yr;if(0!==n.length||0!==t.length){var o,s,a,l,c=Yi,u=os,d=(o=os,s=ns,a=Ci,l=Yi,function(t=!0){ss(o),rs(s),Oi(a),t&&(null==l||l.activate())});t.length>0?Promise.all(t).then((()=>{d();try{return h()}finally{null==c||c.deactivate(),Xr()}})):h()}else i(e.map(r));function h(){Promise.all(n.map((t=>Qr(t)))).then((t=>{d();try{i([...e.map(r),...t])}catch(t){u.f&ei||$i(t,u)}null==c||c.deactivate(),Xr()})).catch((t=>{$i(t,u)}))}}function Xr(){ss(null),rs(null),Oi(null)}function Yr(t){var e=Un|Jn,n=null!==ns&&ns.f&Un?ns:null;null!==os&&(os.f|=si);return{ctx:Ci,deps:null,effects:null,equals:Ai,f:e,fn:t,reactions:null,rv:0,v:En,wv:0,parent:null!=n?n:os,ac:null}}function Qr(t,e,n){let i=os;null===i&&function(){throw new Error("https://svelte.dev/e/async_derived_orphan")}();var r=i.b,o=void 0,s=so(En),a=!ns,l=new Map;return function(t){Co(di|si,t,!0)}((()=>{var e=jn();o=e.promise;try{Promise.resolve(t()).then(e.resolve,e.reject).then((()=>{n===Yi&&n.committed&&n.deactivate(),Xr()}))}catch(t){e.reject(t),Xr()}var n=Yi;if(a){var i,c=r.is_rendered();r.update_pending_count(1),n.increment(c),null===(i=l.get(n))||void 0===i||i.reject(vi),l.delete(n),l.set(n,e)}const u=(t,e=void 0)=>{if(n.activate(),e)e!==vi&&(s.f|=hi,uo(s,e));else{s.f&hi&&(s.f^=hi),uo(s,t);for(const[t,e]of l){if(l.delete(t),t===n)break;e.reject(vi)}}a&&(r.update_pending_count(-1),n.decrement(c))};e.promise.then(u,(t=>u(null,t||"unknown")))})),Po((()=>{for(const t of l.values())t.reject(vi)})),new Promise((t=>{!function e(n){function i(){n===o?t(s):e(o)}n.then(i,i)}(o)}))}function Jr(t){const e=Yr(t);return ls(e),e}function Zr(t){const e=Yr(t);return e.equals=Ni,e}function to(t){var e=t.effects;if(null!==e){t.effects=null;for(var n=0;n<e.length;n+=1)Vo(e[n])}}function eo(t){var e,n=os;ss(function(t){for(var e=t.parent;null!==e;){if(!(e.f&Un))return e.f&ei?null:e;e=e.parent}return null}(t));try{t.f&=~ci,to(t),e=bs(t)}finally{ss(n)}return e}function no(t){var e,n,i=eo(t);if(!t.equals(i)&&(t.wv=vs(),(null===(e=Yi)||void 0===e||!e.is_fork||null===t.deps)&&(t.v=i,null===t.deps)))return void Vi(t,Qn);ts||(null!==Qi?(Oo()||null!==(n=Yi)&&void 0!==n&&n.is_fork)&&Qi.set(t,i):Gi(t))}let io=new Set;const ro=new Map;let oo=!1;function so(t,e){return{f:0,v:t,reactions:null,equals:Ai,rv:0,wv:0}}function ao(t,e){const n=so(t);return ls(n),n}function lo(t,e=!1,n=!0){const i=so(t);return e||(i.equals=Ni),i}function co(t,e,n=!1){var i;return null!==ns&&(!is||ns.f&ri)&&ns.f&(Un|Gn|di|ri)&&(null===(i=as)||void 0===i||!i.includes(t))&&function(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}(),uo(t,n?po(e):e)}function uo(t,e){if(!t.equals(e)){var n=t.v;ts?ro.set(t,e):ro.set(t,n),t.v=e;var i=ur.ensure();if(i.capture(t,n),t.f&Un){const e=t;t.f&Jn&&eo(e),Gi(e)}t.wv=vs(),fo(t,Jn),null!==os&&os.f&Qn&&!(os.f&(Hn|Kn))&&(null===ds?function(t){ds=t}([t]):ds.push(t)),!i.is_fork&&io.size>0&&!oo&&function(){oo=!1;var t=Jo;Zo(!0);const e=Array.from(io);try{for(const t of e)t.f&Qn&&Vi(t,Zn),gs(t)&&ws(t)}finally{Zo(t)}io.clear()}()}return e}function ho(t){co(t,t.v+1)}function fo(t,e){var n=t.reactions;if(null!==n)for(var i=n.length,r=0;r<i;r++){var o=n[r],s=o.f,a=!(s&Jn);if(a&&Vi(o,e),s&Un){var l,c=o;null===(l=Qi)||void 0===l||l.delete(c),s&ci||(s&Yn&&(o.f|=ci),fo(c,Zn))}else a&&(s&Gn&&null!==gr&&gr.add(o),xr(o))}}function po(t){if("object"!=typeof t||null===t||fi in t)return t;const e=Ln(t);if(e!==Rn&&e!==Bn)return t;var n=new Map,i=Nn(t),r=ao(0),o=ps,s=t=>{if(ps===o)return t();var e=ns,n=ps;rs(null),ms(o);var i=t();return rs(e),ms(n),i};return i&&n.set("length",ao(t.length)),new Proxy(t,{defineProperty(t,e,i){"value"in i&&!1!==i.configurable&&!1!==i.enumerable&&!1!==i.writable||function(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}();var r=n.get(e);return void 0===r?r=s((()=>{var t=ao(i.value);return n.set(e,t),t})):co(r,i.value,!0),!0},deleteProperty(t,e){var i=n.get(e);if(void 0===i){if(e in t){const t=s((()=>ao(En)));n.set(e,t),ho(r)}}else co(i,En),ho(r);return!0},get(e,i,r){var o;if(i===fi)return t;var a=n.get(i),l=i in e;if(void 0===a&&(!l||null!==(o=Pn(e,i))&&void 0!==o&&o.writable)&&(a=s((()=>ao(po(l?e[i]:En)))),n.set(i,a)),void 0!==a){var c=Is(a);return c===En?void 0:c}return Reflect.get(e,i,r)},getOwnPropertyDescriptor(t,e){var i=Reflect.getOwnPropertyDescriptor(t,e);if(i&&"value"in i){var r=n.get(e);r&&(i.value=Is(r))}else if(void 0===i){var o=n.get(e),s=null==o?void 0:o.v;if(void 0!==o&&s!==En)return{enumerable:!0,configurable:!0,value:s,writable:!0}}return i},has(t,e){var i;if(e===fi)return!0;var r=n.get(e),o=void 0!==r&&r.v!==En||Reflect.has(t,e);if((void 0!==r||null!==os&&(!o||null!==(i=Pn(t,e))&&void 0!==i&&i.writable))&&(void 0===r&&(r=s((()=>ao(o?po(t[e]):En))),n.set(e,r)),Is(r)===En))return!1;return o},set(t,e,o,a){var l,c=n.get(e),u=e in t;if(i&&"length"===e)for(var d=o;d<c.v;d+=1){var h=n.get(d+"");void 0!==h?co(h,En):d in t&&(h=s((()=>ao(En))),n.set(d+"",h))}void 0===c?(!u||null!==(l=Pn(t,e))&&void 0!==l&&l.writable)&&(co(c=s((()=>ao(void 0))),po(o)),n.set(e,c)):(u=c.v!==En,co(c,s((()=>po(o)))));var f=Reflect.getOwnPropertyDescriptor(t,e);if(null!=f&&f.set&&f.set.call(a,o),!u){if(i&&"string"==typeof e){var p=n.get("length"),m=Number(e);Number.isInteger(m)&&m>=p.v&&co(p,m+1)}ho(r)}return!0},ownKeys(t){Is(r);var e=Reflect.ownKeys(t).filter((t=>{var e=n.get(t);return void 0===e||e.v!==En}));for(var[i,o]of n)o.v===En||i in t||e.push(i);return e},setPrototypeOf(){!function(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}()}})}function mo(t){try{if(null!==t&&"object"==typeof t&&fi in t)return t[fi]}catch{}return t}var vo,go,yo,bo;function ko(){if(void 0===vo){vo=window,go=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,n=Text.prototype;yo=Pn(e,"firstChild").get,bo=Pn(e,"nextSibling").get,zn(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),zn(n)&&(n.__t=void 0)}}function xo(t=""){return document.createTextNode(t)}function wo(t){return yo.call(t)}function _o(t){return bo.call(t)}function Io(t,e){if(!wi)return wo(t);var n=wo(xi);if(null===n)n=xi.appendChild(xo());else if(e&&n.nodeType!==gi){var i,r=xo();return null===(i=n)||void 0===i||i.before(r),Ii(r),r}return Ii(n),n}function To(t,e=!1){var n;if(!wi){var i=wo(t);return i instanceof Comment&&""===i.data?_o(i):i}if(e&&(null===(n=xi)||void 0===n?void 0:n.nodeType)!==gi){var r,o=xo();return null===(r=xi)||void 0===r||r.before(o),Ii(o),o}return xi}function Eo(t,e=1,n=!1){var i;let r=wi?xi:t;for(var o;e--;)o=r,r=_o(r);if(!wi)return r;if(n&&(null===(i=r)||void 0===i?void 0:i.nodeType)!==gi){var s,a=xo();if(null===r)null===(s=o)||void 0===s||s.after(a);else r.before(a);return Ii(a),a}return Ii(r),r}function So(t){t.textContent=""}function Mo(t,e){if(e){const e=document.body;t.autofocus=!0,Wi((()=>{document.activeElement===e&&t.focus()}))}}let Ao=!1;function No(t){var e=ns,n=os;rs(null),ss(null);try{return t()}finally{rs(e),ss(n)}}function Fo(t){null===os&&(null===ns&&function(){throw new Error("https://svelte.dev/e/effect_orphan")}(),function(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}()),ts&&function(){throw new Error("https://svelte.dev/e/effect_in_teardown")}()}function Co(t,e,n){var i=os;null!==i&&i.f&ti&&(t|=ti);var r={ctx:Ci,deps:null,nodes:null,f:t|Jn|Yn,first:null,fn:e,last:null,next:null,parent:i,b:i&&i.b,prev:null,teardown:null,wv:0,ac:null};if(n)try{ws(r),r.f|=ni}catch(t){throw Vo(r),t}else null!==e&&xr(r);var o=r;if(!n||null!==o.deps||null!==o.teardown||null!==o.nodes||o.first!==o.last||o.f&si||(o=o.first,t&Gn&&t&ii&&null!==o&&(o.f|=ii)),null!==o&&(o.parent=i,null!==i&&function(t,e){var n=e.last;null===n?e.last=e.first=t:(n.next=t,t.prev=n,e.last=t)}(o,i),null!==ns&&ns.f&Un&&!(t&Kn))){var s,a=ns;(null!==(s=a.effects)&&void 0!==s?s:a.effects=[]).push(o)}return r}function Oo(){return null!==ns&&!is}function Po(t){const e=Co(qn,null,!1);return Vi(e,Qn),e.teardown=t,e}function Do(t){Fo();var e=os.f;if(!!(ns||!(e&Hn)||e&ni))return Ro(t);var n,i=Ci;(null!==(n=i.e)&&void 0!==n?n:i.e=[]).push(t)}function Ro(t){return Co($n|ai,t,!1)}function Bo(t){return Co($n,t,!1)}function Lo(t,e=0){return Co(qn|e,t,!0)}function zo(t,e=[],n=[],i=[]){Kr(i,e,n,(e=>{Co(qn,(()=>t(...e.map(Is))),!0)}))}function Wo(t,e=0){return Co(Gn|e,t,!0)}function jo(t,e=0){return Co(Vn|e,t,!0)}function Uo(t){return Co(Hn|si,t,!0)}function $o(t){var e=t.teardown;if(null!==e){const t=ts,n=ns;es(!0),rs(null);try{e.call(null)}finally{es(t),rs(n)}}}function qo(t,e=!1){var n=t.first;for(t.first=t.last=null;null!==n;){const t=n.ac;null!==t&&No((()=>{t.abort(vi)}));var i=n.next;n.f&Kn?n.parent=null:Vo(n,e),n=i}}function Vo(t,e=!0){var n=!1;(e||t.f&oi)&&null!==t.nodes&&null!==t.nodes.end&&(!function(t,e){for(;null!==t;){var n=t===e?null:_o(t);t.remove(),t=n}}(t.nodes.start,t.nodes.end),n=!0),qo(t,e&&!n),xs(t,0),Vi(t,ei);var i=t.nodes&&t.nodes.t;if(null!==i)for(const t of i)t.stop();$o(t);var r=t.parent;null!==r&&null!==r.first&&Go(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=null}function Go(t){var e=t.parent,n=t.prev,i=t.next;null!==n&&(n.next=i),null!==i&&(i.prev=n),null!==e&&(e.first===t&&(e.first=i),e.last===t&&(e.last=n))}function Ho(t,e,n=!0){var i=[];Ko(t,i,!0);var r=()=>{n&&Vo(t),e&&e()},o=i.length;if(o>0){var s=()=>--o||r();for(var a of i)a.out(s)}else r()}function Ko(t,e,n){if(!(t.f&ti)){t.f^=ti;var i=t.nodes&&t.nodes.t;if(null!==i)for(const t of i)(t.is_global||n)&&e.push(t);for(var r=t.first;null!==r;){var o=r.next;Ko(r,e,!!(!!(r.f&ii)||!!(r.f&Hn)&&!!(t.f&Gn))&&n),r=o}}}function Xo(t){Yo(t,!0)}function Yo(t,e){if(t.f&ti){t.f^=ti,t.f&Qn||(Vi(t,Jn),xr(t));for(var n=t.first;null!==n;){var i=n.next;Yo(n,!!(!!(n.f&ii)||!!(n.f&Hn))&&e),n=i}var r=t.nodes&&t.nodes.t;if(null!==r)for(const t of r)(t.is_global||e)&&t.in()}}function Qo(t,e){if(t.nodes)for(var n=t.nodes.start,i=t.nodes.end;null!==n;){var r=n===i?null:_o(n);e.append(n),n=r}}let Jo=!1;function Zo(t){Jo=t}let ts=!1;function es(t){ts=t}let ns=null,is=!1;function rs(t){ns=t}let os=null;function ss(t){os=t}let as=null;function ls(t){null!==ns&&(null===as?as=[t]:as.push(t))}let cs=null,us=0,ds=null;let hs=1,fs=0,ps=fs;function ms(t){ps=t}function vs(){return++hs}function gs(t){var e=t.f;if(e&Jn)return!0;if(e&Un&&(t.f&=~ci),e&Zn){for(var n=t.deps,i=n.length,r=0;r<i;r++){var o=n[r];if(gs(o)&&no(o),o.wv>t.wv)return!0}e&Yn&&null===Qi&&Vi(t,Qn)}return!1}function ys(t,e,n=!0){var i,r=t.reactions;if(null!==r&&(null===(i=as)||void 0===i||!i.includes(t)))for(var o=0;o<r.length;o++){var s=r[o];s.f&Un?ys(s,e,!1):e===s&&(n?Vi(s,Jn):s.f&Qn&&Vi(s,Zn),xr(s))}}function bs(t){var e=cs,n=us,i=ds,r=ns,o=as,s=Ci,a=is,l=ps,c=t.f;cs=null,us=0,ds=null,ns=c&(Hn|Kn)?null:t,as=null,Oi(t.ctx),is=!1,ps=++fs,null!==t.ac&&(No((()=>{t.ac.abort(vi)})),t.ac=null);try{t.f|=ui;var u=(0,t.fn)(),d=t.deps;if(null!==cs){var h;if(xs(t,us),null!==d&&us>0)for(d.length=us+cs.length,h=0;h<cs.length;h++)d[us+h]=cs[h];else t.deps=d=cs;if(Oo()&&t.f&Yn)for(h=us;h<d.length;h++){var f,p;(null!==(p=(f=d[h]).reactions)&&void 0!==p?p:f.reactions=[]).push(t)}}else null!==d&&us<d.length&&(xs(t,us),d.length=us);if(!(null===ds||is||null===d||t.f&(Un|Zn|Jn)))for(h=0;h<ds.length;h++)ys(ds[h],t);return null!==r&&r!==t&&(fs++,null!==ds&&(null===i?i=ds:i.push(...ds))),t.f&hi&&(t.f^=hi),u}catch(t){return Ui(t)}finally{t.f^=ui,cs=e,us=n,ds=i,ns=r,as=o,Oi(s),is=a,ps=l}}function ks(t,e){let n=e.reactions;if(null!==n){var i=Fn.call(n,t);if(-1!==i){var r=n.length-1;0===r?n=e.reactions=null:(n[i]=n[r],n.pop())}}if(null===n&&e.f&Un&&(null===cs||!cs.includes(e))){var o=e;o.f&Yn&&(o.f^=Yn,o.f&=~ci),Gi(o),to(o),xs(o,0)}}function xs(t,e){var n=t.deps;if(null!==n)for(var i=e;i<n.length;i++)ks(t,n[i])}function ws(t){var e=t.f;if(!(e&ei)){Vi(t,Qn);var n=os,i=Jo;os=t,Jo=!0;try{e&(Gn|Vn)?function(t){for(var e=t.first;null!==e;){var n=e.next;e.f&Hn||Vo(e),e=n}}(t):qo(t),$o(t);var r=bs(t);t.teardown="function"==typeof r?r:null,t.wv=hs,An&&Fi&&t.f&Jn&&t.deps}finally{Jo=i,os=n}}}async function _s(){await Promise.resolve(),function(){var t=er;er=!0;try{for(;;){var e;if(ji(),0===Ji.length&&(null===(e=Yi)||void 0===e||e.flush(),0===Ji.length))return void(Zi=null);mr()}}finally{er=t}}()}function Is(t){var e,n,i=!!(t.f&Un);if(null!==ns&&!is&&!(null!==os&&!!(os.f&ei)||null!==(n=as)&&void 0!==n&&n.includes(t))){var r=ns.deps;if(ns.f&ui)t.rv<fs&&(t.rv=fs,null===cs&&null!==r&&r[us]===t?us++:null===cs?cs=[t]:cs.includes(t)||cs.push(t));else{var o,s;(null!==(s=(o=ns).deps)&&void 0!==s?s:o.deps=[]).push(t);var a=t.reactions;null===a?t.reactions=[ns]:a.includes(ns)||a.push(ns)}}if(ts&&ro.has(t))return ro.get(t);if(i){var l=t;if(ts){var c=l.v;return(l.f&Qn||null===l.reactions)&&!Es(l)||(c=eo(l)),ro.set(l,c),c}var u=!(l.f&Yn)&&!is&&null!==ns&&(Jo||!!(ns.f&Yn)),d=null===l.deps;gs(l)&&(u&&(l.f|=Yn),no(l)),u&&!d&&Ts(l)}if(null!==(e=Qi)&&void 0!==e&&e.has(t))return Qi.get(t);if(t.f&hi)throw t.v;return t.v}function Ts(t){if(null!==t.deps){t.f|=Yn;for(const n of t.deps){var e;(null!==(e=n.reactions)&&void 0!==e?e:n.reactions=[]).push(t),n.f&Un&&!(n.f&Yn)&&Ts(n)}}}function Es(t){if(t.v===En)return!0;if(null===t.deps)return!1;for(const e of t.deps){if(ro.has(e))return!0;if(e.f&Un&&Es(e))return!0}return!1}function Ss(t){var e=is;try{return is=!0,t()}finally{is=e}}const Ms=new Set,As=new Set;function Ns(t,e,n,i={}){function r(t){if(i.capture||Ps.call(e,t),!t.cancelBubble)return No((()=>null==n?void 0:n.call(this,t)))}return t.startsWith("pointer")||t.startsWith("touch")||"wheel"===t?Wi((()=>{e.addEventListener(t,r,i)})):e.addEventListener(t,r,i),r}function Fs(t,e,n,i,r){var o={capture:i,passive:r},s=Ns(t,e,n,o);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Po((()=>{e.removeEventListener(t,s,o)}))}function Cs(t){for(var e=0;e<t.length;e++)Ms.add(t[e]);for(var n of As)n(t)}let Os=null;function Ps(t){var e,n=this,i=n.ownerDocument,r=t.type,o=(null===(e=t.composedPath)||void 0===e?void 0:e.call(t))||[],s=o[0]||t.target;Os=t;var a=0,l=Os===t&&t.__root;if(l){var c=o.indexOf(l);if(-1!==c&&(n===document||n===window))return void(t.__root=n);var u=o.indexOf(n);if(-1===u)return;c<=u&&(a=c)}if((s=o[a]||t.target)!==n){On(t,"currentTarget",{configurable:!0,get:()=>s||i});var d=ns,h=os;rs(null),ss(null);try{for(var f,p=[];null!==s;){var m=s.assignedSlot||s.parentNode||s.host||null;try{var v=s["__"+r];null==v||s.disabled&&t.target!==s||v.call(s,t)}catch(t){f?p.push(t):f=t}if(t.cancelBubble||m===n||null===m)break;s=m}if(f){for(let t of p)queueMicrotask((()=>{throw t}));throw f}}finally{t.__root=n,delete t.currentTarget,rs(d),ss(h)}}}function Ds(t){var e=document.createElement("template");return e.innerHTML=t.replaceAll("<!>","\x3c!----\x3e"),e.content}function Rs(t,e){var n=os;null===n.nodes&&(n.nodes={start:t,end:e,a:null,t:null})}function Bs(t,e){var n,i=!!(1&e),r=!!(2&e),o=!t.startsWith("<!>");return()=>{if(wi)return Rs(xi,null),xi;void 0===n&&(n=Ds(o?t:"<!>"+t),i||(n=wo(n)));var e=r||go?document.importNode(n,!0):n.cloneNode(!0);i?Rs(wo(e),e.lastChild):Rs(e,e);return e}}function Ls(t,e,n="svg"){var i,r=`<${n}>${!t.startsWith("<!>")?t:"<!>"+t}</${n}>`;return()=>{if(wi)return Rs(xi,null),xi;if(!i){var t=Ds(r);i=wo(wo(t))}var e=i.cloneNode(!0);return Rs(e,e),e}}function zs(t,e){return Ls(t,0,"svg")}function Ws(){if(wi)return Rs(xi,null),xi;var t=document.createDocumentFragment(),e=document.createComment(""),n=xo();return t.append(e,n),Rs(e,n),t}function js(t,e){if(wi){var n=os;return n.f&ni&&null!==n.nodes.end||(n.nodes.end=xi),void Ti()}null!==t&&t.before(e)}function Us(t){return t.endsWith("capture")&&"gotpointercapture"!==t&&"lostpointercapture"!==t}const $s=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function qs(t){return $s.includes(t)}const Vs={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function Gs(t){var e;return t=t.toLowerCase(),null!==(e=Vs[t])&&void 0!==e?e:t}const Hs=["touchstart","touchmove"];let Ks=!0;function Xs(t,e){var n,i=null==e?"":"object"==typeof e?e+"":e;i!==(null!==(n=t.__t)&&void 0!==n?n:t.__t=t.nodeValue)&&(t.__t=i,t.nodeValue=i+"")}function Ys(t,e){return Zs(t,e)}function Qs(t,e){var n;ko(),e.intro=null!==(n=e.intro)&&void 0!==n&&n;const i=e.target,r=wi,o=xi;try{for(var s=wo(i);s&&(s.nodeType!==yi||s.data!==wn);)s=_o(s);if(!s)throw Tn;_i(!0),Ii(s);const n=Zs(t,{...e,anchor:s});return _i(!1),n}catch(n){if(n instanceof Error&&n.message.split("\n").some((t=>t.startsWith("https://svelte.dev/e/"))))throw n;return n!==Tn&&console.warn("Failed to hydrate: ",n),!1===e.recover&&function(){throw new Error("https://svelte.dev/e/hydration_failed")}(),ko(),So(i),_i(!1),Ys(t,e)}finally{_i(r),Ii(o)}}const Js=new Map;function Zs(t,{target:e,anchor:n,props:i={},events:r,context:o,intro:s=!0}){ko();var a=new Set,l=t=>{for(var n=0;n<t.length;n++){var i=t[n];if(!a.has(i)){a.add(i);var r=(s=i,Hs.includes(s));e.addEventListener(i,Ps,{passive:r});var o=Js.get(i);void 0===o?(document.addEventListener(i,Ps,{passive:r}),Js.set(i,1)):Js.set(i,o+1)}}var s};l(Cn(Ms)),As.add(l);var c=void 0,u=function(t){ur.ensure();const e=Co(Kn|si,t,!0);return(t={})=>new Promise((n=>{t.outro?Ho(e,(()=>{Vo(e),n(void 0)})):(Vo(e),n(void 0))}))}((()=>{var u=null!=n?n:e.appendChild(xo());return function(t,e,n){new jr(t,e,n)}(u,{pending:()=>{}},(e=>{o&&(Di({}),Ci.c=o);if(r&&(i.$$events=r),wi&&Rs(e,null),Ks=s,c=t(e,i)||{},Ks=!0,wi&&(os.nodes.end=xi,null===xi||xi.nodeType!==yi||xi.data!==In))throw ki(),Tn;o&&Ri()})),()=>{for(var t of a){e.removeEventListener(t,Ps);var i=Js.get(t);0==--i?(document.removeEventListener(t,Ps),Js.delete(t)):Js.set(t,i)}var r;(As.delete(l),u!==n)&&(null===(r=u.parentNode)||void 0===r||r.removeChild(u))}}));return ta.set(c,u),c}let ta=new WeakMap;class ea{anchor;#t=new Map;#e=new Map;#n=new Map;#i=new Set;#r=!0;constructor(t,e=!0){this.anchor=t,this.#r=e}#o=()=>{var t=Yi;if(this.#t.has(t)){var e=this.#t.get(t),n=this.#e.get(e);if(n)Xo(n),this.#i.delete(e);else{var i=this.#n.get(e);i&&(this.#e.set(e,i.effect),this.#n.delete(e),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),n=i.effect)}for(const[e,n]of this.#t){if(this.#t.delete(e),e===t)break;const i=this.#n.get(n);i&&(Vo(i.effect),this.#n.delete(n))}for(const[t,i]of this.#e){if(t===e||this.#i.has(t))continue;const r=()=>{if(Array.from(this.#t.values()).includes(t)){var e=document.createDocumentFragment();Qo(i,e),e.append(xo()),this.#n.set(t,{effect:i,fragment:e})}else Vo(i);this.#i.delete(t),this.#e.delete(t)};this.#r||!n?(this.#i.add(t),Ho(i,r,!1)):r()}}};#s=t=>{this.#t.delete(t);const e=Array.from(this.#t.values());for(const[t,n]of this.#n)e.includes(t)||(Vo(n.effect),this.#n.delete(t))};ensure(t,e){var n=Yi;!e||this.#e.has(t)||this.#n.has(t)||this.#e.set(t,Uo((()=>e(this.anchor)))),this.#t.set(n,t),wi&&(this.anchor=xi),this.#o()}}function na(t){null===Ci&&bi(),Do((()=>{const e=Ss(t);if("function"==typeof e)return e}))}function ia(t,e,n=!1){wi&&Ti();var i=new ea(t);function r(e,n){if(wi){if(e===(Mi(t)===_n)){var r=Si();return Ii(r),i.anchor=r,_i(!1),i.ensure(e,n),void _i(!0)}}i.ensure(e,n)}Wo((()=>{var t=!1;e(((e,n=!0)=>{t=!0,r(n,e)})),t||r(!1,null)}),n?ii:0)}function ra(t,e){return e}function oa(t,e=!0){for(var n=0;n<t.length;n++)Vo(t[n],e)}var sa;function aa(t,e,n,i,r,o=null){var s=t,a=new Map;if(!!(e&pn)){var l=t;s=wi?Ii(wo(l)):l.appendChild(xo())}wi&&Ti();var c,u=null,d=Zr((()=>{var t=n();return Nn(t)?t:null==t?[]:Cn(t)})),h=!0;function f(){m.fallback=u,function(t,e,n,i,r){var o,s,a,l,c,u=!!(i&mn),d=e.length,h=t.items,f=t.effect.first,p=null,m=[],v=[];if(u)for(c=0;c<d;c+=1){var g,y;if(a=r(e[c],c),!((l=h.get(a).e).f&li))null===(g=l.nodes)||void 0===g||null===(g=g.a)||void 0===g||g.measure(),(null!==(y=s)&&void 0!==y?y:s=new Set).add(l)}for(c=0;c<d;c+=1){if(a=r(e[c],c),l=h.get(a).e,null!==t.outrogroups)for(const e of t.outrogroups)e.pending.delete(l),e.done.delete(l);if(l.f&li){if(l.f^=li,l!==f){var b=p?p.next:f;l===t.effect.last&&(t.effect.last=l.prev),l.prev&&(l.prev.next=l.next),l.next&&(l.next.prev=l.prev),ua(t,p,l),ua(t,l,b),ca(l,b,n),m=[],v=[],f=(p=l).next;continue}ca(l,null,n)}var k,x;if(l.f&ti)if(Xo(l),u)null===(k=l.nodes)||void 0===k||null===(k=k.a)||void 0===k||k.unfix(),(null!==(x=s)&&void 0!==x?x:s=new Set).delete(l);if(l!==f){if(void 0!==o&&o.has(l)){if(m.length<v.length){var w,_=v[0];p=_.prev;var I=m[0],T=m[m.length-1];for(w=0;w<m.length;w+=1)ca(m[w],_,n);for(w=0;w<v.length;w+=1)o.delete(v[w]);ua(t,I.prev,T.next),ua(t,p,I),ua(t,T,_),f=_,p=T,c-=1,m=[],v=[]}else o.delete(l),ca(l,f,n),ua(t,l.prev,l.next),ua(t,l,null===p?t.effect.first:p.next),ua(t,p,l),p=l;continue}for(m=[],v=[];null!==f&&f!==l;){var E;(null!==(E=o)&&void 0!==E?E:o=new Set).add(f),v.push(f),f=f.next}if(null===f)continue}l.f&li||m.push(l),p=l,f=l.next}if(null!==t.outrogroups){for(const e of t.outrogroups){var S;if(0===e.pending.size)oa(Cn(e.done)),null===(S=t.outrogroups)||void 0===S||S.delete(e)}0===t.outrogroups.size&&(t.outrogroups=null)}if(null!==f||void 0!==o){var M=[];if(void 0!==o)for(l of o)l.f&ti||M.push(l);for(;null!==f;)f.f&ti||f===t.fallback||M.push(f),f=f.next;var A=M.length;if(A>0){var N=i&pn&&0===d?n:null;if(u){for(c=0;c<A;c+=1){var F;null===(F=M[c].nodes)||void 0===F||null===(F=F.a)||void 0===F||F.measure()}for(c=0;c<A;c+=1){var C;null===(C=M[c].nodes)||void 0===C||null===(C=C.a)||void 0===C||C.fix()}}!function(t,e,n){for(var i,r=e.length,o=e.length,s=0;s<r;s++){let n=e[s];Ho(n,(()=>{if(i){if(i.pending.delete(n),i.done.add(n),0===i.pending.size){var e=t.outrogroups;oa(Cn(i.done)),e.delete(i),0===e.size&&(t.outrogroups=null)}}else o-=1}),!1)}if(0===o){var a=null!==n;if(a){var l=n,c=l.parentNode;So(c),c.append(l),t.items.clear()}oa(e,!a)}else{var u;i={pending:new Set(e),done:new Set},(null!==(u=t.outrogroups)&&void 0!==u?u:t.outrogroups=new Set).add(i)}}(t,M,N)}}u&&Wi((()=>{if(void 0!==s)for(l of s){var t;null===(t=l.nodes)||void 0===t||null===(t=t.a)||void 0===t||t.apply()}}))}(m,c,s,e,i),null!==u&&(0===c.length?u.f&li?(u.f^=li,ca(u,null,s)):Xo(u):Ho(u,(()=>{u=null})))}var p=Wo((()=>{var t=(c=Is(d)).length;let l=!1;wi&&(Mi(s)===_n!==(0===t)&&(Ii(s=Si()),_i(!1),l=!0));for(var p=new Set,m=0;m<t;m+=1){wi&&xi.nodeType===yi&&xi.data===In&&(s=xi,l=!0,_i(!1));var v,g=c[m],y=i(g,m),b=h?null:a.get(y);if(b)b.v&&uo(b.v,g),b.i&&uo(b.i,m);else b=la(a,h?s:null!==(v=sa)&&void 0!==v?v:sa=xo(),g,y,m,r,e,n),h||(b.e.f|=li),a.set(y,b);p.add(y)}0===t&&o&&!u&&(h?u=Uo((()=>o(s))):(u=Uo((()=>{var t;return o(null!==(t=sa)&&void 0!==t?t:sa=xo())}))).f|=li),wi&&t>0&&Ii(Si()),h||f(),l&&_i(!0),Is(d)})),m={effect:p,items:a,outrogroups:null,fallback:u};h=!1,wi&&(s=xi)}function la(t,e,n,i,r,o,s,a){var l=s&hn?s&vn?so(n):lo(n,!1,!1):null,c=s&fn?so(r):null;return{v:l,i:c,e:Uo((()=>(o(e,null!=l?l:n,null!=c?c:r,a),()=>{t.delete(i)})))}}function ca(t,e,n){if(t.nodes)for(var i=t.nodes.start,r=t.nodes.end,o=!e||e.f&li?n:e.nodes.start;null!==i;){var s=_o(i);if(o.before(i),i===r)return;i=s}}function ua(t,e,n){null===e?t.effect.first=n:e.next=n,null===n?t.effect.last=e:n.prev=e}const da={tick:t=>requestAnimationFrame(t),now:()=>performance.now(),tasks:new Set};function ha(){const t=da.now();da.tasks.forEach((e=>{e.c(t)||(da.tasks.delete(e),e.f())})),0!==da.tasks.size&&da.tick(ha)}function fa(t,e){No((()=>{t.dispatchEvent(new CustomEvent(e))}))}function pa(t){if("float"===t)return"cssFloat";if("offset"===t)return"cssOffset";if(t.startsWith("--"))return t;const e=t.split("-");return 1===e.length?e[0]:e[0]+e.slice(1).map((t=>t[0].toUpperCase()+t.slice(1))).join("")}function ma(t){const e={},n=t.split(";");for(const t of n){const[n,i]=t.split(":");if(!n||void 0===i)break;e[pa(n.trim())]=i.trim()}return e}const va=t=>t;function ga(t,e,n,i){var r,o,s,a,l,c=!!(t&xn),u=e.inert,d=e.style.overflow;function h(){return No((()=>{var t,r;return null!==(t=s)&&void 0!==t?t:s=n()(e,null!==(r=null==i?void 0:i())&&void 0!==r?r:{},{direction:"both"})}))}var f={is_global:c,in(){e.inert=u,fa(e,"introstart"),a=ya(e,h(),l,1,(()=>{var t;fa(e,"introend"),null===(t=a)||void 0===t||t.abort(),a=s=void 0,e.style.overflow=d}))},out(t){e.inert=!0,fa(e,"outrostart"),l=ya(e,h(),a,0,(()=>{fa(e,"outroend"),null==t||t()}))},stop:()=>{var t,e;null===(t=a)||void 0===t||t.abort(),null===(e=l)||void 0===e||e.abort()}},p=os;if((null!==(o=(r=p.nodes).t)&&void 0!==o?o:r.t=[]).push(f),Ks){var m=c;if(!m){for(var v=p.parent;v&&v.f&ii;)for(;(v=v.parent)&&!(v.f&Gn););m=!v||!!(v.f&ni)}m&&Bo((()=>{Ss((()=>f.in()))}))}}function ya(t,e,n,i,r){var o=1===i;if("function"==typeof e){var s,a=!1;return Wi((()=>{if(!a){var l=e({direction:o?"in":"out"});s=ya(t,l,n,i,r)}})),{abort:()=>{var t;a=!0,null===(t=s)||void 0===t||t.abort()},deactivate:()=>s.deactivate(),reset:()=>s.reset(),t:()=>s.t()}}if(null==n||n.deactivate(),null==e||!e.duration)return r(),{abort:Wn,deactivate:Wn,reset:Wn,t:()=>i};const{delay:l=0,css:c,tick:u,easing:d=va}=e;var h=[];if(o&&void 0===n&&(u&&u(0,1),c)){var f=ma(c(0,1));h.push(f,f)}var p=()=>1-i,m=t.animate(h,{duration:l,fill:"forwards"});return m.onfinish=()=>{var o;m.cancel();var s=null!==(o=null==n?void 0:n.t())&&void 0!==o?o:1-i;null==n||n.abort();var a=i-s,l=e.duration*Math.abs(a),h=[];if(l>0){var f=!1;if(c)for(var v=Math.ceil(l/(1e3/60)),g=0;g<=v;g+=1){var y=s+a*d(g/v),b=ma(c(y,1-y));h.push(b),f||(f="hidden"===b.overflow)}f&&(t.style.overflow="hidden"),p=()=>{var t=m.currentTime;return s+a*d(t/l)},u&&function(t){let e;0===da.tasks.size&&da.tick(ha),new Promise((n=>{da.tasks.add(e={c:t,f:n})}))}((()=>{if("running"!==m.playState)return!1;var t=p();return u(t,1-t),!0}))}(m=t.animate(h,{duration:l,fill:"forwards"})).onfinish=()=>{p=()=>i,null==u||u(i,1-i),r()}},{abort:()=>{m&&(m.cancel(),m.effect=null,m.onfinish=Wn)},deactivate:()=>{r=Wn},reset:()=>{0===i&&(null==u||u(1,0))},t:()=>p()}}function ba(t,e){Bo((()=>{var n,i=t.getRootNode(),r=i.host?i:null!==(n=i.head)&&void 0!==n?n:i.ownerDocument.head;if(!r.querySelector("#"+e.hash)){const t=document.createElement("style");t.id=e.hash,t.textContent=e.code,r.appendChild(t)}}))}function ka(t,e){var n,i=void 0;jo((()=>{i!==(i=e())&&(n&&(Vo(n),n=null),i&&(n=Uo((()=>{Bo((()=>i(t)))}))))}))}function xa(t){var e,n,i="";if("string"==typeof t||"number"==typeof t)i+=t;else if("object"==typeof t)if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(n=xa(t[e]))&&(i&&(i+=" "),i+=n)}else for(n in t)t[n]&&(i&&(i+=" "),i+=n);return i}function wa(t){return"object"==typeof t?function(){for(var t,e,n=0,i="",r=arguments.length;n<r;n++)(t=arguments[n])&&(e=xa(t))&&(i&&(i+=" "),i+=e);return i}(t):null!=t?t:""}const _a=[..." \t\n\r\f \v\ufeff"];function Ia(t,e=!1){var n=e?" !important;":";",i="";for(var r in t){var o=t[r];null!=o&&""!==o&&(i+=" "+r+": "+o+n)}return i}function Ta(t){return"-"!==t[0]||"-"!==t[1]?t.toLowerCase():t}function Ea(t,e,n,i,r,o){var s=t.__className;if(wi||s!==n||void 0===s){var a=function(t,e,n){var i=null==t?"":""+t;if(e&&(i=i?i+" "+e:e),n)for(var r in n)if(n[r])i=i?i+" "+r:r;else if(i.length)for(var o=r.length,s=0;(s=i.indexOf(r,s))>=0;){var a=s+o;0!==s&&!_a.includes(i[s-1])||a!==i.length&&!_a.includes(i[a])?s=a:i=(0===s?"":i.substring(0,s))+i.substring(a+1)}return""===i?null:i}(n,i,o);wi&&a===t.getAttribute("class")||(null==a?t.removeAttribute("class"):e?t.className=a:t.setAttribute("class",a)),t.__className=n}else if(o&&r!==o)for(var l in o){var c=!!o[l];null!=r&&c===!!r[l]||t.classList.toggle(l,c)}return o}function Sa(t,e={},n,i){for(var r in n){var o=n[r];e[r]!==o&&(null==n[r]?t.style.removeProperty(r):t.style.setProperty(r,o,i))}}function Ma(t,e,n,i){var r=t.__style;if(wi||r!==e){var o=function(t,e){if(e){var n,i,r="";if(Array.isArray(e)?(n=e[0],i=e[1]):n=e,t){t=String(t).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var o=!1,s=0,a=!1,l=[];n&&l.push(...Object.keys(n).map(Ta)),i&&l.push(...Object.keys(i).map(Ta));var c=0,u=-1;const e=t.length;for(var d=0;d<e;d++){var h=t[d];if(a?"/"===h&&"*"===t[d-1]&&(a=!1):o?o===h&&(o=!1):"/"===h&&"*"===t[d+1]?a=!0:'"'===h||"'"===h?o=h:"("===h?s++:")"===h&&s--,!a&&!1===o&&0===s)if(":"===h&&-1===u)u=d;else if(";"===h||d===e-1){if(-1!==u){var f=Ta(t.substring(c,u).trim());l.includes(f)||(";"!==h&&d++,r+=" "+t.substring(c,d).trim()+";")}c=d+1,u=-1}}}return n&&(r+=Ia(n)),i&&(r+=Ia(i,!0)),""===(r=r.trim())?null:r}return null==t?null:String(t)}(e,i);wi&&o===t.getAttribute("style")||(null==o?t.removeAttribute("style"):t.style.cssText=o),t.__style=e}else i&&(Array.isArray(i)?(Sa(t,null==n?void 0:n[0],i[0]),Sa(t,null==n?void 0:n[1],i[1],"important")):Sa(t,n,i));return i}function Aa(t,e,n=!1){if(t.multiple){if(null==e)return;if(!Nn(e))return void console.warn("https://svelte.dev/e/select_multiple_invalid_value");for(var i of t.options)i.selected=e.includes(Na(i))}else{for(i of t.options){var r=Na(i);if(o=r,s=e,Object.is(mo(o),mo(s)))return void(i.selected=!0)}var o,s;n&&void 0===e||(t.selectedIndex=-1)}}function Na(t){return"__value"in t?t.__value:t.value}const Fa=Symbol("class"),Ca=Symbol("style"),Oa=Symbol("is custom element"),Pa=Symbol("is html");function Da(t){if(wi){var e=!1,n=()=>{if(!e){if(e=!0,t.hasAttribute("value")){var n=t.value;Ba(t,"value",null),t.value=n}if(t.hasAttribute("checked")){var i=t.checked;Ba(t,"checked",null),t.checked=i}}};t.__on_r=n,Wi(n),Ao||(Ao=!0,document.addEventListener("reset",(t=>{Promise.resolve().then((()=>{if(!t.defaultPrevented)for(const n of t.target.elements){var e;null===(e=n.__on_r)||void 0===e||e.call(n)}}))}),{capture:!0}))}}function Ra(t,e){e?t.hasAttribute("selected")||t.setAttribute("selected",""):t.removeAttribute("selected")}function Ba(t,e,n,i){var r=za(t);wi&&(r[e]=t.getAttribute(e),"src"===e||"srcset"===e||"href"===e&&"LINK"===t.nodeName)||r[e]!==(r[e]=n)&&("loading"===e&&(t[mi]=n),null==n?t.removeAttribute(e):"string"!=typeof n&&ja(t).includes(e)?t[e]=n:t.setAttribute(e,n))}function La(t,e,n=[],i=[],r=[],o,s=!1,a=!1){Kr(r,n,i,(n=>{var i=void 0,r={},l="SELECT"===t.nodeName,c=!1;if(jo((()=>{var u=e(...n.map(Is)),d=function(t,e,n,i,r=!1){if(wi&&r&&"INPUT"===t.tagName){var o=t;("checkbox"===o.type?"defaultChecked":"defaultValue")in n||Da(o)}var s=za(t),a=s[Oa],l=!s[Pa];let c=wi&&a;c&&_i(!1);var u,d=e||{},h="OPTION"===t.tagName;for(var f in e)f in n||(n[f]=null);n.class?n.class=wa(n.class):n.class=null,n[Ca]&&(null!==(u=n.style)&&void 0!==u||(n.style=null));var p=ja(t);for(const r in n){let o=n[r];if(h&&"value"===r&&null==o)t.value=t.__value="",d[r]=o;else if("class"!==r)if("style"!==r){var m=d[r];if(o!==m||void 0===o&&t.hasAttribute(r)){d[r]=o;var v=r[0]+r[1];if("$$"!==v)if("on"===v){const e={},n="$$"+r;let i=r.slice(2);var g=qs(i);if(Us(i)&&(i=i.slice(0,-7),e.capture=!0),!g&&m){if(null!=o)continue;t.removeEventListener(i,d[n],e),d[n]=null}if(null!=o)if(g)t[`__${i}`]=o,Cs([i]);else{let o=function(t){d[r].call(this,t)};d[n]=Ns(i,t,o,e)}else g&&(t[`__${i}`]=void 0)}else if("style"===r)Ba(t,r,o);else if("autofocus"===r)Mo(t,Boolean(o));else if(a||"__value"!==r&&("value"!==r||null==o))if("selected"===r&&h)Ra(t,o);else{var y=r;l||(y=Gs(y));var b="defaultValue"===y||"defaultChecked"===y;if(null!=o||a||b)b||p.includes(y)&&(a||"string"!=typeof o)?(t[y]=o,y in s&&(s[y]=En)):"function"!=typeof o&&Ba(t,y,o);else if(s[r]=null,"value"===y||"checked"===y){let n=t;const i=void 0===e;if("value"===y){let t=n.defaultValue;n.removeAttribute(y),n.defaultValue=t,n.value=n.__value=i?t:null}else{let t=n.defaultChecked;n.removeAttribute(y),n.defaultChecked=t,n.checked=!!i&&t}}else t.removeAttribute(r)}else t.value=t.__value=o}}else Ma(t,o,null==e?void 0:e[Ca],n[Ca]),d[r]=o,d[Ca]=n[Ca];else Ea(t,"http://www.w3.org/1999/xhtml"===t.namespaceURI,o,i,null==e?void 0:e[Fa],n[Fa]),d[r]=o,d[Fa]=n[Fa]}return c&&_i(!0),d}(t,i,u,o,s,a);c&&l&&"value"in u&&Aa(t,u.value);for(let t of Object.getOwnPropertySymbols(r))u[t]||Vo(r[t]);for(let e of Object.getOwnPropertySymbols(u)){var h=u[e];e.description!==Mn||i&&h===i[e]||(r[e]&&Vo(r[e]),r[e]=Uo((()=>ka(t,(()=>h))))),d[e]=h}i=d})),l){var u=t;Bo((()=>{Aa(u,i.value,!0),function(t){var e=new MutationObserver((()=>{Aa(t,t.__value)}));e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Po((()=>{e.disconnect()}))}(u)}))}c=!0}))}function za(t){var e;return null!==(e=t.__attributes)&&void 0!==e?e:t.__attributes={[Oa]:t.nodeName.includes("-"),[Pa]:t.namespaceURI===Sn}}var Wa=new Map;function ja(t){var e,n=t.getAttribute("is")||t.nodeName,i=Wa.get(n);if(i)return i;Wa.set(n,i=[]);for(var r=t,o=Element.prototype;o!==r;){for(var s in e=Dn(r))e[s].set&&i.push(s);r=Ln(r)}return i}function Ua(t,e){return t===e||(null==t?void 0:t[fi])===e}function $a(t={},e,n,i){return Bo((()=>{var i,r;return Lo((()=>{i=r,r=[],Ss((()=>{t!==n(...r)&&(e(t,...r),i&&Ua(n(...i),t)&&e(null,...i))}))})),()=>{Wi((()=>{r&&Ua(n(...r),t)&&e(null,...r)}))}})),t}let qa=!1;function Va(t,e,n,i){var r,o,s=!!(n&bn),a=!!(n&kn),l=i,c=!0,u=()=>(c&&(c=!1,l=a?Ss(i):i),l);if(s){var d,h,f=fi in t||pi in t;r=null!==(d=null===(h=Pn(t,e))||void 0===h?void 0:h.set)&&void 0!==d?d:f&&e in t?n=>t[e]=n:void 0}var p,m=!1;if(s?[o,m]=function(t){var e=qa;try{return qa=!1,[t(),qa]}finally{qa=e}}((()=>t[e])):o=t[e],void 0===o&&void 0!==i&&(o=u(),r&&(!function(){throw new Error("https://svelte.dev/e/props_invalid_value")}(),r(o))),p=()=>{var n=t[e];return void 0===n?u():(c=!0,n)},!(n&yn))return p;if(r){var v=t.$$legacy;return function(t,e){return arguments.length>0?((!e||v||m)&&r(e?p():t),t):p()}}var g=!1,y=(n&gn?Yr:Zr)((()=>(g=!1,p())));s&&Is(y);var b=os;return function(t,e){if(arguments.length>0){const n=e?Is(y):s?po(t):t;return co(y,n),g=!0,void 0!==l&&(l=n),t}return ts&&g||b.f&ei?y.v:Is(y)}}var Ga,Ha,Ka,Xa;"undefined"!=typeof window&&(null!==(Ha=(Ga=null!==(Xa=(Ka=window).__svelte)&&void 0!==Xa?Xa:Ka.__svelte={}).v)&&void 0!==Ha?Ha:Ga.v=new Set).add("5");function Ya(t,{include:e,exclude:n}={}){const i=t=>{const i=e=>"string"==typeof e?t===e:e.test(t);return e?e.some(i):!n||!n.some(i)};for(const[e,n]of(t=>{const e=new Set;do{for(const n of Reflect.ownKeys(t))e.add([t,n])}while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e})(t.constructor.prototype)){if("constructor"===n||!i(n))continue;const r=Reflect.getOwnPropertyDescriptor(e,n);r&&"function"==typeof r.value&&(t[n]=t[n].bind(t))}return t}function Qa(t,e){t.getNodesAtTime(0)[0].once("nodestart",e)}class Ja{constructor({position:t,gallery:e,config:n}){this.config=n,this.position=t,this.gallery=e,this.name=n.name;const{variantId:i,itemIndex:r,moduleIndex:o}=t;this.id=`${n.itemType}_${i}_${r}_${o}`,Ya(this)}#a=ao(po({}));#l=ao(null);#c=ao(!1);#u=ao(null);id;player;position;config;timeline;moduleEndListener;hasDuration=!1;coverAssets=[];get state(){return Is(this.#a)}set state(t){co(this.#a,t,!0)}get cover(){return Is(this.#l)}set cover(t){co(this.#l,t)}get showCover(){return Is(this.#c)}set showCover(t){co(this.#c,t,!0)}get Component(){return Is(this.#u)}set Component(t){co(this.#u,t)}emitModuleEnd(){var t;null===(t=this.moduleEndListener)||void 0===t||t.call(this)}start(t){this.player=t}setPosition(){this.gallery.state.playingModulePosition=this.position}play(){this.gallery.track("moduleview"),this.timeline?(Qa(this.timeline,(()=>{this.setPosition()})),this.player.switchTimeline(this.timeline)):this.setPosition()}get duration(){return this.hasDuration&&this.timeline?this.timeline.placements.reduce(((t,e)=>t+this.player.getNode(e.nodeId).duration),0):0}}const Za="cmaf:";function tl(t,e,n){var i,r,o;const s=(null==e||null===(i=e.entity)||void 0===i?void 0:i.entityId)||(null==e?void 0:e.assetId),a=null!==(r=null==e||null===(o=e.entity)||void 0===o?void 0:o.entityRevision)&&void 0!==r?r:null==e?void 0:e.assetRevision,l=function(t){return t&&t.find((t=>t.startsWith(Za)))?t.filter((t=>t.startsWith(Za))):t}(null==e?void 0:e.availableEncodeProfiles);return n.addNode({id:t,manifestRef:{type:"assets-delivery-service",assetId:s,assetRevision:a,availableEncodeProfiles:l}})}function el(t){const e=t-1;return e*e*e+1}function nl(t,{delay:e=0,duration:n=400,easing:i=el,axis:r="y"}={}){const o=getComputedStyle(t),s=+o.opacity,a="y"===r?"height":"width",l=parseFloat(o[a]),c="y"===r?["top","bottom"]:["left","right"],u=c.map((t=>`${t[0].toUpperCase()}${t.slice(1)}`)),d=parseFloat(o[`padding${u[0]}`]),h=parseFloat(o[`padding${u[1]}`]),f=parseFloat(o[`margin${u[0]}`]),p=parseFloat(o[`margin${u[1]}`]),m=parseFloat(o[`border${u[0]}Width`]),v=parseFloat(o[`border${u[1]}Width`]);return{delay:e,duration:n,easing:i,css:t=>`overflow: hidden;opacity: ${Math.min(20*t,1)*s};${a}: ${t*l}px;padding-${c[0]}: ${t*d}px;padding-${c[1]}: ${t*h}px;margin-${c[0]}: ${t*f}px;margin-${c[1]}: ${t*p}px;border-${c[0]}-width: ${t*m}px;border-${c[1]}-width: ${t*v}px;min-${a}: 0`}}function il(t){const e=t-1;return e*e*e+1}var rl=Bs('<h3 class="text-box-title desktop-title svelte-wejicf"> </h3>'),ol=Bs('<h3 class="text-box-title svelte-wejicf"> </h3>'),sl=Bs('<div class="expanded-text-content svelte-wejicf"><!> <p class="text-box-description svelte-wejicf"> </p></div>'),al=Bs('<span class="text-box-title svelte-wejicf"> </span>'),ll=Bs('<span class="text-box-description minimized-description svelte-wejicf"> </span>'),cl=Bs('<span class="read-more-cta svelte-wejicf" aria-hidden="true">Read more</span>'),ul=Bs('<button class="expand-description-button svelte-wejicf" aria-expanded="false" aria-controls="expanded-text-content" aria-label="Expand feature description"><!> <!></button>'),dl=Bs('<button class="collapse-description-button svelte-wejicf" aria-expanded="true" aria-label="Collapse feature description" data-elementid="textbox-expand" data-elementtype="textbox" data-elementname="Read less" data-interactiontype="module-ui">Read less</button>'),hl=Bs('<section aria-label="Feature description" aria-live="polite"><div class="text-wrapper svelte-wejicf"><!> <!> <!></div> <!></section>');const fl={hash:"svelte-wejicf",code:".eko-gallery-app {--textBox_bg: linear-gradient(\n      rgba(255, 255, 255, 0) 0%,\n      rgba(255, 255, 255, 0.9) 27.79%,\n      rgba(255, 255, 255, 0.95) 100%\n  );--textBox_border: 0;--textBox_borderRadius: 0;--textBox_maxWidth: 100%;--textBox_margin: 0;--textBox_padding: 16px 16px 64px 16px;--textBox_padding_mobile: 8px 16px;--textBox_gap: 8px;--textBox_expandedContent_gap: 8px;--textBox_expandButton_gap: 6px;--textBox_button_color: #014FD3;--textBox_button_fontSize: 12px;--textBox_button_fontWeight: 500;--textBox_button_lineHeight: 18px;--textBox_button_lineHeight_mobile: 12px;--textBox_button_letterSpacing: 0;--textBox_collapse_marginBottom: 8px;}.step-description-container.svelte-wejicf {width:100%;max-width:var(--textBox_maxWidth);margin:var(--textBox_margin);position:absolute;bottom:0;display:flex;justify-content:space-between;gap:var(--textBox_gap);box-sizing:border-box;padding:var(--textBox_padding);font-family:var(--textBox_fontFamily, var(--fontName));font-size:var(--textBox_fontSize, 12px);font-weight:var(--textBox_fontWeight, 400);font-style:var(--textBox_fontStyle, normal);line-height:var(--textBox_lineHeight, 18px);letter-spacing:var(--textBox_letterSpacing, 0);color:var(--textBox_color, #030303);overflow:hidden;pointer-events:none;background:var(--textBox_bg);border:var(--textBox_border);border-radius:var(--textBox_borderRadius);}.step-description-container.mobile.svelte-wejicf {padding:var(--textBox_padding_mobile);line-height:var(--textBox_lineHeight_mobile, 16px);}.step-description-container.expanded.svelte-wejicf {flex-direction:column;justify-content:flex-start;gap:0;}.expanded-text-content.svelte-wejicf:not([hidden]) {display:flex;flex-direction:column;gap:var(--textBox_expandedContent_gap);}button.svelte-wejicf {background:none;border:none;padding:0;cursor:pointer;font-family:var(--textBox_fontFamily, var(--fontName));font-size:var(--textBox_button_fontSize, 12px);font-weight:var(--textBox_button_fontWeight, 500);line-height:var(--textBox_button_lineHeight, 18px);letter-spacing:var(--textBox_button_letterSpacing, 0);color:var(--textBox_button_color, #014FD3);gap:var(--textBox_expandButton_gap, 6px);flex-shrink:0;text-align:left;pointer-events:auto;}.step-description-container.mobile.svelte-wejicf button:where(.svelte-wejicf) {line-height:var(--textBox_button_lineHeight_mobile);}.collapse-description-button.svelte-wejicf {margin-top:var(--textBox_gap);margin-bottom:var(--textBox_collapse_marginBottom);}.step-description-container.mobile.svelte-wejicf .collapse-description-button:where(.svelte-wejicf) {margin-bottom:0;}.text-wrapper.svelte-wejicf {width:100%;display:flex;flex-direction:column;}.text-box-title.svelte-wejicf {margin:0;font-family:var(--textBox_title_fontFamily, var(--textBox_fontFamily, var(--fontName)));font-size:var(--textBox_title_fontSize, var(--textBox_fontSize, 12px));font-weight:var(--textBox_title_fontWeight, 500);color:var(--textBox_title_color, var(--textBox_color, #030303));}.text-box-title.desktop-title.svelte-wejicf {display:var(--textBox_desktop_title_display, none);margin-bottom:var(--textBox_expandedContent_gap);}.text-box-description.svelte-wejicf {margin:0;font-family:var(--textBox_description_fontFamily, var(--textBox_fontFamily, var(--fontName)));font-size:var(--textBox_description_fontSize, var(--textBox_fontSize, 12px));font-weight:var(--textBox_description_fontWeight, var(--textBox_fontWeight, 400));color:var(--textBox_description_color, var(--textBox_color, #030303));text-align:var(--textBox_description_textAlign, left);}.minimized-description.svelte-wejicf {overflow:hidden;line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-weight:var(--textBox_description_fontWeight, var(--textBox_fontWeight, 400));}.expand-description-button.svelte-wejicf {width:100%;display:flex;justify-content:space-between;gap:var(--textBox_expandButton_gap);flex-wrap:nowrap;}.expand-description-button.svelte-wejicf .read-more-cta:where(.svelte-wejicf) {color:var(--textBox_button_color, #014FD3);flex-shrink:0;}"};function pl(t,e){Di(e,!0),ba(t,fl);let n=Va(e,"textBox",3,null),i=Va(e,"isMobile",3,!1);const r={duration:300,easing:il};let o=ao(!1),s=ao(null),a=ao(null),l=ao(!1),c=ao(!1),u=Jr((()=>{var t;return(null===(t=n())||void 0===t?void 0:t.title)||""})),d=Jr((()=>{var t;return(null===(t=n())||void 0===t?void 0:t.description)||""})),h=Jr((()=>{var t,e;return[(null===(t=n())||void 0===t?void 0:t.textColor)&&`--textBox_textColor: ${n().textColor}`,(null===(e=n())||void 0===e?void 0:e.bgColor)&&`--textBox_bgColor: ${n().bgColor}`].filter(Boolean).join("; ")}));function f(){Is(s)&&co(l,Is(s).scrollWidth>Is(s).clientWidth||Is(s).scrollHeight>Is(s).clientHeight,!0)}Do((()=>{var t;Is(s)&&(f(),"undefined"!=typeof document&&null!==(t=document.fonts)&&void 0!==t&&t.ready&&document.fonts.ready.then(f))})),Do((()=>{if(Is(a)){const t=getComputedStyle(Is(a)).getPropertyValue("--textBox_forceCollapse").trim();co(c,"1"===t||"true"===t,!0)}}));var p=Ws();Fs("resize",vo,f);var m=To(p),v=t=>{var n=hl();let f;var p=Io(n),m=Io(p),v=t=>{var e=rl(),n=Io(e,!0);Ei(e),zo((()=>Xs(n,Is(u)))),js(t,e)};ia(m,(t=>{Is(u)&&!i()&&t(v)}));var g=Eo(m,2),y=t=>{var e=sl(),n=Io(e),o=t=>{var e=ol(),n=Io(e,!0);Ei(e),zo((()=>Xs(n,Is(u)))),js(t,e)};ia(n,(t=>{Is(u)&&i()&&t(o)}));var s=Eo(n,2),a=Io(s,!0);Ei(s),Ei(e),zo((()=>Xs(a,Is(d)))),ga(3,e,(()=>nl),(()=>r)),js(t,e)};ia(g,(t=>{Is(o)&&t(y)}));var b=Eo(g,2),k=t=>{var n=ul(),a=Jr((()=>e.gallery.interaction((()=>co(o,!0)),{elementid:"textbox-expand",elementtype:"textbox",elementname:"Read more",interactiontype:"module-ui"})));n.__click=function(...t){var e;null===(e=Is(a))||void 0===e||e.apply(this,t)};var h=Io(n),f=t=>{var e=al(),n=Io(e,!0);Ei(e),zo((()=>Xs(n,Is(u)))),js(t,e)},p=t=>{var e=ll(),n=Io(e,!0);Ei(e),$a(e,(t=>co(s,t)),(()=>Is(s))),zo((()=>Xs(n,Is(d)))),js(t,e)};ia(h,(t=>{i()&&Is(u)?t(f):t(p,!1)}));var m=Eo(h,2),v=t=>{js(t,cl())};ia(m,(t=>{(i()||Is(l)||Is(c))&&t(v)})),Ei(n),ga(3,n,(()=>nl),(()=>r)),js(t,n)};ia(b,(t=>{Is(o)||t(k)})),Ei(p);var x=Eo(p,2),w=t=>{var n=dl(),i=Jr((()=>e.gallery.interaction((()=>co(o,!1)))));n.__click=function(...t){var e;null===(e=Is(i))||void 0===e||e.apply(this,t)},ga(3,n,(()=>nl),(()=>r)),js(t,n)};ia(x,(t=>{Is(o)&&t(w)})),Ei(n),$a(n,(t=>co(a,t)),(()=>Is(a))),zo((()=>{f=Ea(n,1,"step-description-container svelte-wejicf",null,f,{mobile:i(),expanded:Is(o)}),Ma(n,Is(h))})),js(t,n)};ia(m,(t=>{(Is(u)||Is(d))&&t(v)})),js(t,p),Ri()}function ml(t,e){const n=Jr((()=>e.state.textBox));pl(t,{get textBox(){return Is(n)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})}Cs(["click"]);const vl=new Set;function gl(t){if("undefined"!=typeof window)for(const e of t)if(!vl.has(e)){const t=new Image;t.src=e,window[e]=t,vl.add(e)}}var yl=new WeakSet;class bl extends Ja{constructor({config:t,...e}){super({...e,config:t}),U(this,yl),this.synced=t.sync,this.startOnLoop=t.startOnLoop,this.switchTo=()=>{},Ya(this);const n=t[this.constructor.itemsKey];this.coverAssets=n.flatMap((t=>[t.intro,t.video])).filter(Boolean),this.itemsCovers=n.map((t=>({intro:t.intro||t.video,loop:t.video}))),this.cover=this.getCorrectCover(this.itemsCovers[0]),this.state={items:n.map((t=>this.mapItem(t))),currentIndex:0,onItemClicked:B(yl,this,kl).bind(this),textBox:n[0].textBox}}getCorrectCover(t){return this.synced||this.startOnLoop?t.loop:t.intro}mapItem(t){return t}start(t){super.start(t);const e=this.config[this.constructor.itemsKey],{nodePrefix:n}=this.constructor;this.synced?(this.timeline=t.createTimeline(),e.forEach(((e,i)=>{this.timeline.placeOnTimeline(tl(`${this.id}_${n}_${i}`,e.video,t),0,{loop:!0})})),this.timeline.placeRenderNodeOnTimeline("switch",0,1/0,{params:{switchCrossfadeSeconds:.25,initSwitching:({switchTo:t})=>{this.switchTo=t,t(this.state.currentIndex,{crossfadeSeconds:0})}}})):(this.timelines=e.map(((e,i)=>{const r=t.createTimeline(),o=t.createTimeline(),s=tl(`${this.id}_${n}_${i}`,e.video,t);return e.intro&&r.placeOnTimeline(tl(`${this.id}_${n}_${i}_intro`,e.intro,t)),r.placeOnTimeline(s,"end",{loop:!0}),o.placeOnTimeline(s,0,{loop:!0}),{withIntro:r,justLoop:o}})),this.timeline=this.timelines[this.state.currentIndex][this.startOnLoop?"justLoop":"withIntro"])}play(){if(super.play(),!this.synced){gl(this.coverAssets.filter((t=>t!==this.cover)).map((t=>this.gallery.getCoverUrl(t,1920))))}}}function kl(t){if(t===this.state.currentIndex)return;const e=this.config[this.constructor.itemsKey];var n,i;(this.state.currentIndex=t,this.state.textBox=e[t].textBox,this.synced)?(this.cover=this.itemsCovers[t].loop,this.switchTo(t)):(this.cover=this.itemsCovers[t].intro,this.timeline=null===(n=this.timelines)||void 0===n?void 0:n[t].withIntro,this.showCover=!0,Qa(this.timeline,(()=>{var e;(this.showCover=!1,this.startOnLoop)&&(this.cover=this.itemsCovers[t].loop,this.timeline=null===(e=this.timelines)||void 0===e?void 0:e[t].justLoop)})),null===(i=this.player)||void 0===i||i.switchTimeline(this.timeline))}$(bl,"itemsKey","items"),$(bl,"nodePrefix","item");var xl=Bs('<div class="toggle-option-container svelte-16pmvvn"><button data-elementtype="toggle" data-interactiontype="module-ui"> </button></div>'),wl=Bs('<div class="toggle-container svelte-16pmvvn"><div></div></div> <!>',1);const _l={hash:"svelte-16pmvvn",code:".eko-gallery-app {--toggleModule_gap: 8px;--toggleModule_padding: 10px 58px 0 0;--toggleModule_alignItems: center;--toggleModule_justifyContent: end;--toggleModule_options_padding: 0;--toggleModule_options_height: auto;--toggleModule_options_width: 100%;--toggleModule_options_maxWidth: 100%;--toggleModule_options_gap: 8px;--toggleModule_options_bgColor: transparent;--toggleModule_options_border: 0;--toggleModule_options_borderRadius: 0;--toggleModule_options_boxShadow: none;--toggleModule_options_alignItems: stretch;--toggleModule_button_padding: 8px 12px;--toggleModule_button_border: #E4E5E8 solid 1px;--toggleModule_button_borderRadius: 100px;--toggleModule_button_bgColor: #FBFBFB;--toggleModule_button_bgColor_hover: #F3F4F6;--toggleModule_button_bgColor_active: #E4E5E8;--toggleModule_button_boxShadow: 0px 2px 8px 2px rgba(0, 0, 0, 0.07);--toggleModule_button_text_fontFamily: var(--fontName);--toggleModule_button_text_fontSize: 12px;--toggleModule_button_text_fontWeight: 400;--toggleModule_button_text_fontStyle: normal;--toggleModule_button_text_lineHeight: 16px;--toggleModule_button_text_letterSpacing: -0.2px;--toggleModule_button_text_color: #000;--toggleModule_button_selected_bgColor: #014FD3;--toggleModule_button_selected_borderColor: #014FD3;--toggleModule_button_selected_boxShadow: none;--toggleModule_button_selected_text_color: #FFFFFF;--toggleModule_button_selected_text_fontWeight: var(--toggleModule_button_text_fontWeight);--toggleModule_title_fontFamily: var(--fontName);--toggleModule_title_fontSize: 13px;--toggleModule_title_fontWeight: 400;--toggleModule_title_fontStyle: normal;--toggleModule_title_lineHeight: 120%;--toggleModule_title_letterSpacing: 0;--toggleModule_title_color: #666;--toggleModule_title_textAlignment: center;--toggleModule_note_fontFamily: var(--fontName);--toggleModule_note_fontSize: 12px;--toggleModule_note_fontWeight: 400;--toggleModule_note_fontStyle: normal;--toggleModule_note_lineHeight: 120%;--toggleModule_note_letterSpacing: 0;--toggleModule_note_color: #888;--toggleModule_note_topMargin: 4px;}.toggle-container.svelte-16pmvvn {position:absolute;top:0;padding:var(--toggleModule_padding);width:100%;display:flex;flex-direction:column;align-items:var(--toggleModule_alignItems);gap:var(--toggleModule_gap);pointer-events:auto;box-sizing:border-box;}.toggle-options.svelte-16pmvvn {width:var(--toggleModule_options_width);max-width:var(--toggleModule_options_maxWidth);height:var(--toggleModule_options_height);padding:var(--toggleModule_options_padding);gap:var(--toggleModule_options_gap);background-color:var(--toggleModule_options_bgColor);border:var(--toggleModule_options_border);border-radius:var(--toggleModule_options_borderRadius);box-shadow:var(--toggleModule_options_boxShadow);display:flex;justify-content:var(--toggleModule_justifyContent);align-items:var(--toggleModule_options_alignItems);margin:0;}.toggle-option-container.svelte-16pmvvn {position:relative;min-width:0;}.toggle-option-button.svelte-16pmvvn {min-width:24px;min-height:24px;border-radius:var(--toggleModule_button_borderRadius);font-family:var(--toggleModule_button_text_fontFamily);font-size:var(--toggleModule_button_text_fontSize);font-weight:var(--toggleModule_button_text_fontWeight);font-style:var(--toggleModule_button_text_fontStyle);line-height:var(--toggleModule_button_text_lineHeight);letter-spacing:var(--toggleModule_button_text_letterSpacing);color:var(--toggleModule_button_text_color);padding:var(--toggleModule_button_padding);border:var(--toggleModule_button_border);background:var(--toggleModule_button_bgColor);box-shadow:var(--toggleModule_button_boxShadow);display:flex;width:100%;height:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;position:relative;transition:all 0.3s ease-in-out;animation-duration:0.5s;animation-timing-function:cubic-bezier(0.36, 0, 0, 1);animation-fill-mode:both;animation-delay:calc(var(--button-index) * 90ms);\n  animation-name: svelte-16pmvvn-button-back-appear-anim;transform-origin:bottom center;}.toggle-option-button.selected.svelte-16pmvvn {background:var(--toggleModule_button_selected_bgColor);border-color:var(--toggleModule_button_selected_borderColor);box-shadow:var(--toggleModule_button_selected_boxShadow);color:var(--toggleModule_button_selected_text_color);font-weight:var(--toggleModule_button_selected_text_fontWeight);}.toggle-option-button.svelte-16pmvvn:hover:not(.selected) {background:var(--toggleModule_button_bgColor_hover);}.toggle-option-button.svelte-16pmvvn:active:not(.selected) {background:var(--toggleModule_button_bgColor_active);}.toggle-option-button.svelte-16pmvvn:focus {outline-offset:4px;outline-width:2px;}\n\n@keyframes svelte-16pmvvn-button-back-appear-anim {\n  from {\n    transform: scale(0);\n  }\n  to {\n    transform: scale(1);\n  }\n}\n@keyframes svelte-16pmvvn-optionNoteIn {\n  0% {\n    opacity: 0;\n    translate: -50% -5px;\n  }\n  100% {\n    opacity: 1;\n    translate: -50% var(--toggleModule_note_topMargin);\n  }\n}"};function Il(t,e){Di(e,!0),ba(t,_l);const n=Jr((()=>e.state.items)),i=Jr((()=>e.state.currentIndex)),r=Jr((()=>e.state.onItemClicked)),o=Jr((()=>e.state.textBox));var s=wl(),a=To(s),l=Io(a);aa(l,21,(()=>Is(n)),ra,((t,n,o)=>{var s=xl();Ma(s,`--button-index: ${o};`);var a=Io(s);let l;var c=Jr((()=>e.gallery.interaction((()=>Is(r)(o)))));a.__click=function(...t){var e;null===(e=Is(c))||void 0===e||e.apply(this,t)},Ba(a,"data-elementid",`${o+1}`);var u=Io(a,!0);Ei(a),Ei(s),zo((()=>{l=Ea(a,1,"toggle-option-button svelte-16pmvvn",null,l,{selected:Is(i)===o}),Ba(a,"aria-pressed",Is(i)===o),Ba(a,"data-elementname",Is(n).label),Xs(u,Is(n).label)})),js(t,s)})),Ei(l),Ei(a);var c=Eo(a,2),u=t=>{pl(t,{get textBox(){return Is(o)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})};ia(c,(t=>{Is(o)&&t(u)})),zo((()=>{var t;return Ea(l,1,`toggle-options selected-${null!==(t=Is(i))&&void 0!==t?t:""}`,"svelte-16pmvvn")})),js(t,s),Ri()}Cs(["click"]);var Tl=Bs('<div class="mode-title svelte-1650wj7"> </div>'),El=Bs('<div class="mode-description svelte-1650wj7"> </div>'),Sl=Bs('<button data-elementtype="mode" data-interactiontype="module-ui"><img class="svelte-1650wj7"/> <div class="svelte-1650wj7"><!> <!></div></button>'),Ml=Bs('<div class="modes-container svelte-1650wj7"></div> <!>',1);const Al={hash:"svelte-1650wj7",code:".eko-gallery-app {--modesModule_gap: 16px;--modesModule_width: 100%;--modesModule_top: unset;--modesModule_left: 0;--modesModule_right: unset;--modesModule_bottom: 0;--modesModule_flexDirection: row;--modesModule_alignItems: flex-start;--modesModule_justifyContent: center;--modesModule_padding: 0 0 32px 0;--modesModule_paddingWithSteps: 0 0 48px 0;--modesModule_paddingWithTextBox: 28px 0 0 0;--modesModule_background: none;--modesModule_border: none;--modesModule_borderRadius: 0;--modesModule_transform: none;--modesModule_mode_width: 64px;--modesModule_mode_titleGap: 6px;--modesModule_mode_title_fontFamily: var(--fontName);--modesModule_mode_title_fontSize: 12px;--modesModule_mode_title_fontWeight: 500;--modesModule_mode_title_lineHeight: 120%;--modesModule_mode_title_letterSpacing: -0.2px;--modesModule_mode_title_textAlign: center;--modesModule_mode_description_fontFamily: var(--fontName);--modesModule_mode_description_fontSize: 11px;--modesModule_mode_description_fontWeight: 400;--modesModule_mode_description_lineHeight: 120%;--modesModule_mode_description_letterSpacing: -0.2px;--modesModule_mode_description_textAlign: center;--modesModule_mode_image_strokeSize: 2px;}.modes-container.svelte-1650wj7 {position:absolute;top:var(--modesModule_top);left:var(--modesModule_left);right:var(--modesModule_right);bottom:var(--modesModule_bottom);width:var(--modesModule_width);display:flex;flex-direction:var(--modesModule_flexDirection);align-items:var(--modesModule_alignItems);justify-content:var(--modesModule_justifyContent);gap:var(--modesModule_gap);flex-wrap:wrap;padding:var(--modesModule_padding);background:var(--modesModule_background);border:var(--modesModule_border);border-radius:var(--modesModule_borderRadius);transform:var(--modesModule_transform);}.mode-button.svelte-1650wj7 {display:flex;flex-direction:column;align-items:center;width:var(--modesModule_mode_width);background:none;border:none;padding:0;pointer-events:auto;cursor:pointer;color:rgba(var(--unselectedColor, 111, 111, 111), 1);gap:var(--modesModule_mode_titleGap);flex-shrink:0;}.mode-button.svelte-1650wj7 .mode-title:where(.svelte-1650wj7) {font-family:var(--modesModule_mode_title_fontFamily);font-size:var(--modesModule_mode_title_fontSize);font-weight:var(--modesModule_mode_title_fontWeight);line-height:var(--modesModule_mode_title_lineHeight);letter-spacing:var(--modesModule_mode_title_letterSpacing);text-align:var(--modesModule_mode_title_textAlign);}.mode-button.svelte-1650wj7 .mode-description:where(.svelte-1650wj7) {font-family:var(--modesModule_mode_description_fontFamily);font-size:var(--modesModule_mode_description_fontSize);font-weight:var(--modesModule_mode_description_fontWeight);line-height:var(--modesModule_mode_description_lineHeight);letter-spacing:var(--modesModule_mode_description_letterSpacing);text-align:var(--modesModule_mode_description_textAlign);}.mode-button.svelte-1650wj7 div:where(.svelte-1650wj7) {width:100%;}.mode-button.svelte-1650wj7 img:where(.svelte-1650wj7) {width:100%;aspect-ratio:1;object-fit:cover;border-radius:100%;box-shadow:0 0 0 var(--modesModule_mode_image_strokeSize) rgba(var(--unselectedColor, 111, 111, 111), 0.15);background-color:rgba(var(--unselectedColor, 111, 111, 111), 0.15);pointer-events:none;}.mode-button.selected.svelte-1650wj7 {color:var(--selectedColor, #000000);}.mode-button.selected.svelte-1650wj7 img:where(.svelte-1650wj7) {background-color:var(--selectedColor, #000000);box-shadow:0 0 0 var(--modesModule_mode_image_strokeSize) var(--selectedColor, #000000);}"};function Nl(t,e){Di(e,!0),ba(t,Al);const n=Jr((()=>e.state.items)),i=Jr((()=>e.state.currentIndex)),r=Jr((()=>e.state.onItemClicked)),o=Jr((()=>e.state.textBox));var s=Ml(),a=To(s);aa(a,21,(()=>Is(n)),ra,((t,n,o)=>{var s=Sl();let a;var l=Jr((()=>e.gallery.interaction((()=>Is(r)(o)))));s.__click=function(...t){var e;null===(e=Is(l))||void 0===e||e.apply(this,t)},Ba(s,"data-elementid",`${o+1}`);var c=Io(s);Ba(c,"alt",`Mode ${o+1}`);var u=Eo(c,2),d=Io(u),h=t=>{var e=Tl(),i=Io(e,!0);Ei(e),zo((()=>Xs(i,Is(n).title))),js(t,e)};ia(d,(t=>{Is(n).title&&t(h)}));var f=Eo(d,2),p=t=>{var e=El(),i=Io(e,!0);Ei(e),zo((()=>Xs(i,Is(n).description))),js(t,e)};ia(f,(t=>{Is(n).description&&t(p)})),Ei(u),Ei(s),zo((t=>{a=Ea(s,1,"mode-button svelte-1650wj7",null,a,{selected:Is(i)===o}),Ba(s,"aria-pressed",Is(i)===o),Ba(s,"data-elementname",Is(n).title||`mode-${o+1}`),Ba(c,"src",t)}),[()=>e.gallery.getCoverUrl(Is(n).image,375)]),js(t,s)})),Ei(a);var l=Eo(a,2),c=t=>{pl(t,{get textBox(){return Is(o)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})};ia(l,(t=>{Is(o)&&t(c)})),js(t,s),Ri()}Cs(["click"]);const Fl=(t,e,n)=>n>e?e:n<t?t:n;function Cl(t,e){return e?`${t}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${e}`:t}let Ol=()=>{},Pl=()=>{};function Dl(t){let e;return()=>(void 0===e&&(e=t()),e)}"undefined"!=typeof process&&"production"!==(null===(fe=process.env)||void 0===fe?void 0:fe.NODE_ENV)&&(Ol=(t,e,n)=>{t||"undefined"==typeof console||console.warn(Cl(e,n))},Pl=(t,e,n)=>{if(!t)throw new Error(Cl(e,n))});const Rl=t=>t,Bl=t=>1e3*t,Ll=t=>t/1e3;const zl=t=>Array.isArray(t)&&"number"==typeof t[0],Wl=(t,e,n=10)=>{let i="";const r=Math.max(Math.round(e/n),2);for(let e=0;e<r;e++)i+=Math.round(1e4*t(e/(r-1)))/1e4+", ";return`linear(${i.substring(0,i.length-2)})`},jl=2e4;function Ul(t){let e=0;let n=t.next(e);for(;!n.done&&e<jl;)e+=50,n=t.next(e);return e>=jl?1/0:e}const $l=5;const ql={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},Vl=.001;function Gl({duration:t=ql.duration,bounce:e=ql.bounce,velocity:n=ql.velocity,mass:i=ql.mass}){let r,o;Ol(t<=Bl(ql.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let s=1-e;s=Fl(ql.minDamping,ql.maxDamping,s),t=Fl(ql.minDuration,ql.maxDuration,Ll(t)),s<1?(r=e=>{const i=e*s,r=i*t,o=i-n,a=Kl(e,s),l=Math.exp(-r);return Vl-o/a*l},o=e=>{const i=e*s*t,o=i*n+n,a=Math.pow(s,2)*Math.pow(e,2)*t,l=Math.exp(-i),c=Kl(Math.pow(e,2),s);return(-r(e)+Vl>0?-1:1)*((o-a)*l)/c}):(r=e=>Math.exp(-e*t)*((e-n)*t+1)-Vl,o=e=>Math.exp(-e*t)*(t*t*(n-e)));const a=function(t,e,n){let i=n;for(let n=1;n<Hl;n++)i-=t(i)/e(i);return i}(r,o,5/t);if(t=Bl(t),isNaN(a))return{stiffness:ql.stiffness,damping:ql.damping,duration:t};{const e=Math.pow(a,2)*i;return{stiffness:e,damping:2*s*Math.sqrt(i*e),duration:t}}}const Hl=12;function Kl(t,e){return t*Math.sqrt(1-e*e)}const Xl=["duration","bounce"],Yl=["stiffness","damping","mass"];function Ql(t,e){return e.some((e=>void 0!==t[e]))}function Jl(t=ql.visualDuration,e=ql.bounce){const n="object"!=typeof t?{visualDuration:t,keyframes:[0,1],bounce:e}:t;let{restSpeed:i,restDelta:r}=n;const o=n.keyframes[0],s=n.keyframes[n.keyframes.length-1],a={done:!1,value:o},{stiffness:l,damping:c,mass:u,duration:d,velocity:h,isResolvedFromDuration:f}=function(t){let e={velocity:ql.velocity,stiffness:ql.stiffness,damping:ql.damping,mass:ql.mass,isResolvedFromDuration:!1,...t};if(!Ql(t,Yl)&&Ql(t,Xl))if(t.visualDuration){const n=t.visualDuration,i=2*Math.PI/(1.2*n),r=i*i,o=2*Fl(.05,1,1-(t.bounce||0))*Math.sqrt(r);e={...e,mass:ql.mass,stiffness:r,damping:o}}else{const n=Gl(t);e={...e,...n,mass:ql.mass},e.isResolvedFromDuration=!0}return e}({...n,velocity:-Ll(n.velocity||0)}),p=h||0,m=c/(2*Math.sqrt(l*u)),v=s-o,g=Ll(Math.sqrt(l/u)),y=Math.abs(v)<5;let b;if(i||(i=y?ql.restSpeed.granular:ql.restSpeed.default),r||(r=y?ql.restDelta.granular:ql.restDelta.default),m<1){const t=Kl(g,m);b=e=>{const n=Math.exp(-m*g*e);return s-n*((p+m*g*v)/t*Math.sin(t*e)+v*Math.cos(t*e))}}else if(1===m)b=t=>s-Math.exp(-g*t)*(v+(p+g*v)*t);else{const t=g*Math.sqrt(m*m-1);b=e=>{const n=Math.exp(-m*g*e),i=Math.min(t*e,300);return s-n*((p+m*g*v)*Math.sinh(i)+t*v*Math.cosh(i))/t}}const k={calculatedDuration:f&&d||null,next:t=>{const e=b(t);if(f)a.done=t>=d;else{let n=0===t?p:0;m<1&&(n=0===t?Bl(p):function(t,e,n){const i=Math.max(e-$l,0);return r=n-t(i),(o=e-i)?r*(1e3/o):0;var r,o}(b,t,e));const o=Math.abs(n)<=i,l=Math.abs(s-e)<=r;a.done=o&&l}return a.value=a.done?s:e,a},toString:()=>{const t=Math.min(Ul(k),jl),e=Wl((e=>k.next(t*e).value),t,30);return t+"ms "+e},toTransition:()=>{}};return k}Jl.applyToOptions=t=>{const e=function(t,e=100,n){const i=n({...t,keyframes:[0,e]}),r=Math.min(Ul(i),jl);return{type:"keyframes",ease:t=>i.next(r*t).value/e,duration:Ll(r)}}(t,100,Jl);return t.ease=e.ease,t.duration=Bl(e.duration),t.type="keyframes",t};const Zl=t=>null!==t;class tc{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise((t=>{this.resolve=t}))}notifyFinished(){this.resolve()}then(t,e){return this.finished.then(t,e)}}function ec(t){for(let n=1;n<t.length;n++){var e;null!==(e=t[n])&&void 0!==e||(t[n]=t[n-1])}}const nc=t=>t.startsWith("--");const ic=Dl((()=>void 0!==window.ScrollTimeline)),rc={};function oc(t,e){const n=Dl(t);return()=>{var t;return null!==(t=rc[e])&&void 0!==t?t:n()}}const sc=oc((()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(t){return!1}return!0}),"linearEasing"),ac=([t,e,n,i])=>`cubic-bezier(${t}, ${e}, ${n}, ${i})`,lc={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:ac([0,.65,.55,1]),circOut:ac([.55,0,1,.45]),backIn:ac([.31,.01,.66,-.59]),backOut:ac([.33,1.53,.69,.99])};function cc(t,e){return t?"function"==typeof t?sc()?Wl(t,e):"ease-out":zl(t)?ac(t):Array.isArray(t)?t.map((t=>cc(t,e)||lc.easeOut)):lc[t]:void 0}function uc(t,e,n,{delay:i=0,duration:r=300,repeat:o=0,repeatType:s="loop",ease:a="easeOut",times:l}={},c=void 0){const u={[e]:n};l&&(u.offset=l);const d=cc(a,r);Array.isArray(d)&&(u.easing=d);const h={delay:i,duration:r,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:o+1,direction:"reverse"===s?"alternate":"normal"};c&&(h.pseudoElement=c);return t.animate(u,h)}class dc extends tc{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:e,name:n,keyframes:i,pseudoElement:r,allowFlatten:o=!1,finalKeyframe:s,onComplete:a}=t;this.isPseudoElement=Boolean(r),this.allowFlatten=o,this.options=t,Pl("string"!=typeof t.type,'Mini animate() doesn\'t support "type" as a string.',"mini-spring");const l=function({type:t,...e}){return function(t){return"function"==typeof t&&"applyToOptions"in t}(t)&&sc()?t.applyToOptions(e):(null!==(n=e.duration)&&void 0!==n||(e.duration=300),null!==(i=e.ease)&&void 0!==i||(e.ease="easeOut"),e);var n,i}(t);this.animation=uc(e,n,i,l,r),!1===l.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!r){const t=function(t,{repeat:e,repeatType:n="loop"},i,r=1){const o=t.filter(Zl),s=r<0||e&&"loop"!==n&&e%2==1?0:o.length-1;return s&&void 0!==i?i:o[s]}(i,this.options,s,this.speed);this.updateMotionValue?this.updateMotionValue(t):function(t,e,n){nc(e)?t.style.setProperty(e,n):t.style[e]=n}(e,n,t),this.animation.cancel()}null==a||a(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){var t,e;null===(t=(e=this.animation).finish)||void 0===t||t.call(e)}cancel(){try{this.animation.cancel()}catch(t){}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;"idle"!==t&&"finished"!==t&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){var t,e;this.isPseudoElement||(null===(t=(e=this.animation).commitStyles)||void 0===t||t.call(e))}get duration(){var t,e;const n=(null===(t=this.animation.effect)||void 0===t||null===(e=t.getComputedTiming)||void 0===e?void 0:e.call(t).duration)||0;return Ll(Number(n))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Ll(t)}get time(){return Ll(Number(this.animation.currentTime)||0)}set time(t){this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=Bl(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){var t;return null!==(t=this.manualStartTime)&&void 0!==t?t:Number(this.animation.startTime)}set startTime(t){this.manualStartTime=this.animation.startTime=t}attachTimeline({timeline:t,observe:e}){var n;this.allowFlatten&&(null===(n=this.animation.effect)||void 0===n||n.updateTiming({easing:"linear"}));return this.animation.onfinish=null,t&&ic()?(this.animation.timeline=t,Rl):e(this)}}class hc{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}get finished(){return Promise.all(this.animations.map((t=>t.finished)))}getAll(t){return this.animations[0][t]}setAll(t,e){for(let n=0;n<this.animations.length;n++)this.animations[n][t]=e}attachTimeline(t){const e=this.animations.map((e=>e.attachTimeline(t)));return()=>{e.forEach(((t,e)=>{t&&t(),this.animations[e].stop()}))}}get time(){return this.getAll("time")}set time(t){this.setAll("time",t)}get speed(){return this.getAll("speed")}set speed(t){this.setAll("speed",t)}get state(){return this.getAll("state")}get startTime(){return this.getAll("startTime")}get duration(){return fc(this.animations,"duration")}get iterationDuration(){return fc(this.animations,"iterationDuration")}runAll(t){this.animations.forEach((e=>e[t]()))}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}function fc(t,e){let n=0;for(let i=0;i<t.length;i++){const r=t[i][e];null!==r&&r>n&&(n=r)}return n}class pc extends hc{then(t,e){return this.finished.finally(t).then((()=>{}))}}const mc=new WeakMap,vc=(t,e="")=>`${t}:${e}`;function gc(t){const e=mc.get(t)||new Map;return mc.set(t,e),e}function yc(t,e){var n,i;return null!==(n=null!==(i=null==t?void 0:t[e])&&void 0!==i?i:null==t?void 0:t.default)&&void 0!==n?n:t}const bc=new Set(["borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","width","maxWidth","height","maxHeight","top","right","bottom","left","inset","insetBlock","insetBlockStart","insetBlockEnd","insetInline","insetInlineStart","insetInlineEnd","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingBlock","paddingBlockStart","paddingBlockEnd","paddingInline","paddingInlineStart","paddingInlineEnd","margin","marginTop","marginRight","marginBottom","marginLeft","marginBlock","marginBlockStart","marginBlockEnd","marginInline","marginInlineStart","marginInlineEnd","fontSize","backgroundPositionX","backgroundPositionY"]);function kc(t,e){for(let n=0;n<t.length;n++)"number"==typeof t[n]&&bc.has(e)&&(t[n]=t[n]+"px")}function xc(t,e){const n=window.getComputedStyle(t);return nc(e)?n.getPropertyValue(e):n[e]}function wc(t,e,n,i){if(null==t)return[];const r=function(t){if(null==t)return[];if(t instanceof EventTarget)return[t];if("string"==typeof t){const e=document.querySelectorAll(t);return e?Array.from(e):[]}return Array.from(t).filter((t=>null!=t))}(t),o=r.length;Pl(Boolean(o),"No valid elements provided.","no-valid-elements");const s=[];for(let t=0;t<o;t++){const i=r[t],a={...n};"function"==typeof a.delay&&(a.delay=a.delay(t,o));for(const t in e){let n=e[t];Array.isArray(n)||(n=[n]);const r={...yc(a,t)};r.duration&&(r.duration=Bl(r.duration)),r.delay&&(r.delay=Bl(r.delay));const o=gc(i),l=vc(t,r.pseudoElement||""),c=o.get(l);c&&c.stop(),s.push({map:o,key:l,unresolvedKeyframes:n,options:{...r,element:i,name:t,allowFlatten:!a.type&&!a.ease}})}}for(let t=0;t<s.length;t++){const{unresolvedKeyframes:e,options:n}=s[t],{element:i,name:r,pseudoElement:o}=n;o||null!==e[0]||(e[0]=xc(i,r)),ec(e),kc(e,r),!o&&e.length<2&&e.unshift(xc(i,r)),n.keyframes=e}const a=[];for(let t=0;t<s.length;t++){const{map:e,key:n,options:i}=s[t],r=new dc(i);e.set(n,r),r.finished.finally((()=>e.delete(n))),a.push(r)}return a}const _c=(()=>function(t,e,n){return new pc(wc(t,e,n))})();var Ic=Bs('<button data-elementid="start_cta" data-elementtype="button" data-interactiontype="start" class="svelte-16kucsb"><div class="cta-text svelte-16kucsb"> </div></button>'),Tc=Bs('<div class="tryIt-container svelte-16kucsb"><!></div>');const Ec={hash:"svelte-16kucsb",code:".eko-gallery-app {--tryItModule_justifyContent: center;--tryItModule_alignItems: flex-end;--tryItModule_padding: 16px 20px 48px 20px;--tryItModule_button_padding: 16px 32px;--tryItModule_button_textAlign: center;--tryItModule_button_borderRadius: 100px;--tryItModule_button_border: 0;--tryItModule_button_boxShadow: 0 4px 24px 2px rgba(0, 0, 0, 0.12);--tryItModule_button_background: #FFFFFF;--tryItModule_button_text_fontFamily: var(--fontName);--tryItModule_button_text_fontSize: 18px;--tryItModule_button_text_color: #222;--tryItModule_button_text_weight: 500;--tryItModule_button_text_lineHeight: 120%;--tryItModule_button_text_letterSpacing: -0.1px;}.tryIt-container.svelte-16kucsb {position:relative;padding:var(--tryItModule_padding);width:100%;height:100%;box-sizing:border-box;display:flex;justify-content:var(--tryItModule_justifyContent);align-items:var(--tryItModule_alignItems);}.tryIt-container.svelte-16kucsb button:where(.svelte-16kucsb) {position:relative;padding:var(--tryItModule_button_padding);text-align:var(--tryItModule_button_textAlign);border-radius:var(--tryItModule_button_borderRadius);border:var(--tryItModule_button_border);background:var(--tryItModule_button_background);box-shadow:var(--tryItModule_button_boxShadow);font-family:var(--tryItModule_button_text_fontFamily);font-size:var(--tryItModule_button_text_fontSize);color:var(--tryItModule_button_text_color);font-weight:var(--tryItModule_button_text_weight);line-height:var(--tryItModule_button_text_lineHeight);letter-spacing:var(--tryItModule_button_text_letterSpacing);cursor:pointer;opacity:0;}.tryIt-container.svelte-16kucsb button:where(.svelte-16kucsb) .cta-text:where(.svelte-16kucsb) {opacity:0;}"};function Sc(t,e){Di(e,!0),ba(t,Ec);const n=Jr((()=>e.state.ctaText)),i=Jr((()=>e.state.animationConfig)),r=Jr((()=>e.state.showCta)),o=Jr((()=>e.state.onCtaClick));let s=ao(null),a=ao(null),l=ao(!1),c=!1;function u(){var t,e;return!0===(null===(t=(e=window).matchMedia)||void 0===t?void 0:t.call(e,"(prefers-reduced-motion: reduce)").matches)}function d(){c&&!u()&&_c(Is(s),{transform:"scale(1.05)"},{type:Jl,mass:1.5,stiffness:400,damping:30})}function h(){c&&!u()&&_c(Is(s),{transform:"scale(1)"},{type:Jl,mass:1.5,stiffness:400,damping:30})}function f(){c&&!u()&&_c(Is(s),{transform:"scale(0.95)"},{type:Jl,mass:1,stiffness:600,damping:30})}Do((()=>{const{mass:t,stiffness:e,damping:n,delay:o}=Is(i);let d,h=!1;if(co(l,!1),c=!1,Is(r)&&Is(s)&&Is(a))return u()?(Is(s).style.opacity="1",Is(s).style.transform="none",Is(a).style.opacity="1",Is(a).style.transform="none",co(l,!0),void(c=!0)):(d=setTimeout((async()=>{d=null,await Promise.all([_c(Is(s),{transform:["translateY(40px) scale(0, 0.2)","translateY(0) scale(1, 1)"],opacity:1},{type:Jl,mass:t,stiffness:e,damping:n}),_c(Is(a),{transform:["translateY(20px) scale(0.8)","translateY(0) scale(1)"],opacity:1},{type:Jl,mass:t,stiffness:e,damping:n,delay:.15})]),h||(co(l,!0),c=!0)}),o),()=>{h=!0,d&&clearTimeout(d)})}));var p=Tc(),m=Io(p),v=t=>{var i=Ic();i.__mousedown=f,i.__touchstart=f;var r=Jr((()=>e.gallery.interaction(Is(o))));i.__click=function(...t){var e;null===(e=Is(r))||void 0===e||e.apply(this,t)};var c=Io(i),u=Io(c,!0);Ei(c),$a(c,(t=>co(a,t)),(()=>Is(a))),Ei(i),$a(i,(t=>co(s,t)),(()=>Is(s))),zo((()=>{i.disabled=!Is(l),i.inert=!Is(l),Ba(i,"aria-hidden",!Is(l)),Ba(i,"data-elementname",Is(n)),Xs(u,Is(n))})),Fs("mouseenter",i,d),Fs("mouseleave",i,h),js(t,i)};ia(m,(t=>{Is(r)&&t(v)})),Ei(p),js(t,p),Ri()}Cs(["mousedown","touchstart","click"]);var Mc=new WeakSet;function Ac(){this.mainTimeline?this.player.switchTimeline(this.mainTimeline):this.emitModuleEnd(),this.state.showCta=!1}function Nc(t,e){const n=Jr((()=>e.state.textBox));pl(t,{get textBox(){return Is(n)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})}var Fc=Bs('<div class="ripple svelte-1jfcowt"></div>'),Cc=Bs('<div class="hand-anim svelte-1jfcowt" aria-hidden="true"><svg viewBox="0 0 518 658" xmlns="http://www.w3.org/2000/svg" class="svelte-1jfcowt"><path class="hand-fill svelte-1jfcowt" d="M139.234 341.909V67.9226C139.234 53.292 145.203 40.0053 154.838 30.3866C175.516 9.69329 209.234 9.70929 229.912 30.3866C239.547 40.0064 245.516 53.288 245.516 67.9226V148.699C254.536 141.662 265.854 137.454 278.13 137.454C292.745 137.454 306.048 143.443 315.666 153.058C325.302 162.693 331.27 175.979 331.27 190.61V194.146C340.291 187.11 351.609 182.901 363.885 182.901C378.499 182.901 391.802 188.891 401.421 198.505C409.785 206.87 415.38 217.984 416.728 230.333C425.785 223.146 437.238 218.844 449.623 218.844C464.254 218.844 477.541 224.833 487.175 234.448C496.795 244.083 502.779 257.369 502.779 272V412.373C502.779 438.608 503.92 455.092 498.212 481.513C493.831 501.664 487.134 519.816 479.54 537.461C462.846 576.289 432.461 604.503 395.878 622.055C367.378 635.732 335.086 642.883 302.638 643.461C270.174 644.039 237.502 638.07 208.258 625.477C169.898 608.972 137.285 581.128 118.425 541.8C105.477 514.816 90.6385 488.097 75.9878 461.753C55.6131 425.06 35.5918 389.018 20.8838 352.665C15.8316 340.165 13.6234 326.692 15.889 314.4C20.6598 288.373 45.5823 272.597 71.217 277.296C83.6806 279.598 95.4463 286.598 103.925 297.301L139.234 341.909Z"></path><path class="hand-stroke svelte-1jfcowt" d="M244.917 166V269M330.917 201V305M419.917 246V326M139.234 341.909V67.9226C139.234 53.292 145.203 40.0053 154.838 30.3866C175.516 9.69329 209.234 9.70929 229.912 30.3866C239.547 40.0064 245.516 53.288 245.516 67.9226V148.699C254.536 141.662 265.854 137.454 278.13 137.454C292.745 137.454 306.048 143.443 315.666 153.058C325.302 162.693 331.27 175.979 331.27 190.61V194.146C340.291 187.11 351.609 182.901 363.885 182.901C378.499 182.901 391.802 188.891 401.421 198.505C409.785 206.87 415.38 217.984 416.728 230.333C425.785 223.146 437.238 218.844 449.623 218.844C464.254 218.844 477.541 224.833 487.175 234.448C496.795 244.083 502.779 257.369 502.779 272V412.373C502.779 438.608 503.92 455.092 498.212 481.513C493.831 501.664 487.134 519.816 479.54 537.461C462.846 576.289 432.461 604.503 395.878 622.055C367.378 635.732 335.086 642.883 302.638 643.461C270.174 644.039 237.502 638.07 208.258 625.477C169.898 608.972 137.285 581.128 118.425 541.8C105.477 514.816 90.6385 488.097 75.9878 461.753C55.6131 425.06 35.5918 389.018 20.8838 352.665C15.8316 340.165 13.6234 326.692 15.889 314.4C20.6598 288.373 45.5823 272.597 71.217 277.296C83.6806 279.598 95.4463 286.598 103.925 297.301L139.234 341.909Z"></path></svg></div>'),Oc=Bs('<div class="tryIt-container svelte-1jfcowt"><div class="cta-wrapper svelte-1jfcowt"><button data-elementid="start_cta" data-elementtype="button" data-interactiontype="start"><div class="cta-text svelte-1jfcowt"> </div> <!></button> <!></div></div>');const Pc={hash:"svelte-1jfcowt",code:".eko-gallery-app {--tryItModule_justifyContent: center;--tryItModule_alignItems: flex-end;--tryItModule_padding: 16px 20px 48px 20px;--tryItModule_button_padding: 16px 32px;--tryItModule_button_textAlign: center;--tryItModule_button_borderRadius: 100px;--tryItModule_button_border: 0;--tryItModule_button_boxShadow: 0 4px 24px 2px rgba(0, 0, 0, 0.12);--tryItModule_button_background: #FFFFFF;--introModule_button_text_fontFamily: var(--fontName);--introModule_button_text_fontSize: 18px;--introModule_button_text_color: #222;--introModule_button_text_weight: 500;--introModule_button_text_lineHeight: 120%;--introModule_button_text_letterSpacing: -0.1px;--introModule_ripple_color: #FFFFFF;--introModule_ripple_borderWidth: 4px;--introModule_ripple_inset_top: -42px;--introModule_ripple_inset_right: -45px;--introModule_ripple_inset_bottom: -30px;--introModule_ripple_inset_left: -57px;--introModule_hand_fill: #FFFFFF;--introModule_hand_stroke: #000000;--introModule_hand_strokeWidth: 29;--introModule_hand_boxWidth: 75px;--introModule_hand_boxHeight: 95px;--introModule_hand_svgWidth: 60px;--introModule_hand_svgHeight: 75px;--introModule_hand_top: 24px;--introModule_hand_right: -79px;}.tryIt-container.svelte-1jfcowt {position:relative;padding:var(--tryItModule_padding);width:100%;height:100%;box-sizing:border-box;display:flex;justify-content:var(--tryItModule_justifyContent);align-items:var(--tryItModule_alignItems);}.tryIt-container.svelte-1jfcowt .cta-wrapper:where(.svelte-1jfcowt) {position:relative;width:fit-content;}.tryIt-container.svelte-1jfcowt button:where(.svelte-1jfcowt) {position:relative;padding:var(--tryItModule_button_padding);text-align:var(--tryItModule_button_textAlign);border-radius:var(--tryItModule_button_borderRadius);border:var(--tryItModule_button_border);background:var(--tryItModule_button_background);box-shadow:var(--tryItModule_button_boxShadow);font-family:var(--introModule_button_text_fontFamily);font-size:var(--introModule_button_text_fontSize);color:var(--introModule_button_text_color);font-weight:var(--introModule_button_text_weight);line-height:var(--introModule_button_text_lineHeight);letter-spacing:var(--introModule_button_text_letterSpacing);cursor:pointer;opacity:0;overflow:visible;pointer-events:auto;}.tryIt-container.svelte-1jfcowt button.has-hand-anim:where(.svelte-1jfcowt) {\n  animation: svelte-1jfcowt-intro-bump 2s ease-out infinite;}.tryIt-container.svelte-1jfcowt button:where(.svelte-1jfcowt) .cta-text:where(.svelte-1jfcowt) {opacity:0;}.tryIt-container.svelte-1jfcowt button:where(.svelte-1jfcowt) .ripple:where(.svelte-1jfcowt) {position:absolute;inset:0;border-radius:inherit;border:var(--introModule_ripple_borderWidth) solid var(--introModule_ripple_color);pointer-events:none;box-sizing:border-box;\n  animation: svelte-1jfcowt-intro-ripple-grow 2s cubic-bezier(0.32, 0.33, 0.08, 1) infinite, svelte-1jfcowt-intro-ripple-fade 2s linear infinite;}.tryIt-container.svelte-1jfcowt .hand-anim:where(.svelte-1jfcowt) {position:absolute;top:var(--introModule_hand_top);right:var(--introModule_hand_right);width:var(--introModule_hand_boxWidth);height:var(--introModule_hand_boxHeight);pointer-events:none;transform-origin:86.4% 98%;\n  animation: svelte-1jfcowt-intro-hand-tap 2s cubic-bezier(0.32, 0.33, 0.08, 1) infinite;}.tryIt-container.svelte-1jfcowt .hand-anim:where(.svelte-1jfcowt) svg:where(.svelte-1jfcowt) {width:var(--introModule_hand_svgWidth);height:var(--introModule_hand_svgHeight);display:block;}.tryIt-container.svelte-1jfcowt .hand-anim:where(.svelte-1jfcowt) .hand-fill:where(.svelte-1jfcowt) {fill:var(--introModule_hand_fill);}.tryIt-container.svelte-1jfcowt .hand-anim:where(.svelte-1jfcowt) .hand-stroke:where(.svelte-1jfcowt) {fill:none;stroke:var(--introModule_hand_stroke);stroke-width:var(--introModule_hand_strokeWidth);stroke-linecap:round;}\n\n@keyframes svelte-1jfcowt-intro-ripple-grow {\n  0% {\n    inset: 0;\n  }\n  60% {\n    inset: var(--introModule_ripple_inset_top) var(--introModule_ripple_inset_right) var(--introModule_ripple_inset_bottom) var(--introModule_ripple_inset_left);\n  }\n  100% {\n    inset: var(--introModule_ripple_inset_top) var(--introModule_ripple_inset_right) var(--introModule_ripple_inset_bottom) var(--introModule_ripple_inset_left);\n  }\n}\n@keyframes svelte-1jfcowt-intro-ripple-fade {\n  0% {\n    opacity: 1;\n  }\n  20% {\n    opacity: 1;\n  }\n  60% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 0;\n  }\n}\n@keyframes svelte-1jfcowt-intro-hand-tap {\n  0% {\n    transform: translateX(0) translateY(0) rotate(0) scale(1);\n  }\n  10% {\n    transform: translateX(-10px) translateY(-20px) rotate(-40deg) scale(0.9);\n  }\n  35% {\n    transform: translateX(0) translateY(0) rotate(15deg) scale(1);\n  }\n  100% {\n    transform: translateX(0) translateY(0) rotate(0) scale(1);\n  }\n}\n@keyframes svelte-1jfcowt-intro-bump {\n  0% {\n    transform: scale(1);\n  }\n  5% {\n    transform: scale(1);\n  }\n  10% {\n    transform: scale(0.8);\n  }\n  20% {\n    transform: scale(1);\n  }\n  100% {\n    transform: scale(1);\n  }\n}"};function Dc(t,e){Di(e,!0),ba(t,Pc);const n=Jr((()=>e.state.buttonText)),i=Jr((()=>e.state.animateHand)),r=Jr((()=>e.state.onCtaClick));let o=null,s=null;na((async()=>{var t,e;if(null!==(t=(e=window).matchMedia)&&void 0!==t&&t.call(e,"(prefers-reduced-motion: reduce)").matches)return o.style.opacity="1",void(s.style.opacity="1");_c(o,{opacity:1},{duration:.35,ease:"easeOut"}),await _c(s,{opacity:1},{duration:.35,ease:"easeOut",delay:.05})}));var a=Oc(),l=Io(a),c=Io(l),u=Jr((()=>e.gallery.interaction(Is(r))));let d;c.__click=function(...t){var e;null===(e=Is(u))||void 0===e||e.apply(this,t)};var h=Io(c),f=Io(h,!0);Ei(h),$a(h,(t=>s=t),(()=>s));var p=Eo(h,2),m=t=>{js(t,Fc())};ia(p,(t=>{Is(i)&&t(m)})),Ei(c),$a(c,(t=>o=t),(()=>o));var v=Eo(c,2),g=t=>{js(t,Cc())};ia(v,(t=>{Is(i)&&t(g)})),Ei(l),Ei(a),zo((()=>{Ba(c,"data-elementname",Is(n)),d=Ea(c,1,"svelte-1jfcowt",null,d,{"has-hand-anim":Is(i)}),Xs(f,Is(n))})),js(t,a),Ri()}Cs(["click"]);var Rc=new WeakSet;function Bc(){this.emitModuleEnd()}const Lc={videoModule:class extends Ja{constructor({config:t,...e}){var n;super({...e,config:t}),this.Component=ml,this.hasDuration=!t.loop,Ya(this),this.coverAssets.push(null!==(n=t.intro)&&void 0!==n?n:t.video),this.cover=this.coverAssets[0],this.state={textBox:t.textBox}}start(t){super.start(t),this.timeline=t.createTimeline();const e=this.config;e.intro&&this.timeline.placeOnTimeline(tl(`${this.id}_intro`,e.intro,t),"end");const n=tl(this.id,e.video,t);this.timeline.placeOnTimeline(n,"end",{loop:e.loop}),e.loop||n.on("nodeend",this.emitModuleEnd)}},toggleModule:class extends bl{static itemsKey="options";static nodePrefix="option";constructor(t){super(t),this.Component=Il}mapItem(t){return{label:t.label,note:t.note}}},modesModule:class extends bl{static itemsKey="modes";static nodePrefix="mode";constructor(t){super(t),this.Component=Nl}mapItem(t){return{title:t.title,description:t.description,image:t.image}}},tryItModule:class extends Ja{constructor({config:t,...e}){var n;super({...e,config:t}),U(this,Mc),Ya(this);const{introVideo:i}=t;this.coverAssets.push(null!==(n=i.intro)&&void 0!==n?n:i.loop),this.cover=this.coverAssets[0],this.state={ctaText:t.ctaText,animationConfig:t.animationConfig,showCta:!0,onCtaClick:B(Mc,this,Ac).bind(this)}}start(t){super.start(t),this.Component=Sc,this.timeline=t.createTimeline();const{introVideo:e,mainVideo:n}=this.config;if(e.intro&&this.timeline.placeOnTimeline(tl(`${this.id}_intro_intro`,e.intro,t)),this.timeline.placeOnTimeline(tl(`${this.id}_intro_loop`,e.loop,t),"end",{loop:!0}),n){this.mainTimeline=t.createTimeline(),n.intro&&this.mainTimeline.placeOnTimeline(tl(`${this.id}_main_intro`,n.intro,t));const e=tl(`${this.id}_main_loop`,n.loop,t);this.mainTimeline.placeOnTimeline(e,"end",{loop:!0})}}play(){this.state.showCta=!0,super.play()}},imageModule:class extends Ja{constructor({config:t,...e}){super({...e,config:t}),this.Component=Nc,Ya(this),this.coverAssets.push(t.image),this.cover=this.coverAssets[0],this.showCover=!0,this.state={textBox:t.textBox}}start(t){super.start(t),this.timeline=t.createTimeline();const e=tl(this.id,this.config.image,t);delete e.manifestRef.availableEncodeProfiles,e.manifestRef.assetType="image",this.timeline.placeOnTimeline(e,0,{loop:!0})}},introModule:class extends Ja{constructor({config:t,...e}){var n,i,r;super({...e,config:t}),U(this,Rc),Ya(this),this.coverAssets.push(null!==(n=t.intro)&&void 0!==n?n:t.video),this.cover=this.coverAssets[0],this.state={buttonText:t.buttonText,animateHand:null===(i=null!==(r=t.animateHand)&&void 0!==r?r:t.animatedHand)||void 0===i||i,onCtaClick:B(Rc,this,Bc).bind(this)}}start(t){super.start(t),this.Component=Dc,this.timeline=t.createTimeline();const e=this.config;e.intro&&this.timeline.placeOnTimeline(tl(`${this.id}_intro`,e.intro,t)),this.timeline.placeOnTimeline(tl(`${this.id}_loop`,e.video,t),"end",{loop:!0})}play(){this.timeline?this.player.switchTimeline(this.timeline):this.setPosition()}}};class zc{#d=ao(null);#h=ao(!1);#f=ao({});#p=ao("ekonovar");#m=ao(0);#v=ao(0);#g=ao(po({variantId:Is(this.#p),itemIndex:0,moduleIndex:0}));#y=Jr((()=>{var t;return null===(t=Is(this.#f))||void 0===t?void 0:t[Is(this.#p)]}));#b=Jr((()=>{var t;return null===(t=Is(this.#y))||void 0===t?void 0:t[Is(this.#m)]}));#k=Jr((()=>{var t,e;return Is(this.#x)?null===(e=Is(this.#y))||void 0===e||null===(e=e[Is(this.#g).itemIndex])||void 0===e?void 0:e.modules[Is(this.#g).moduleIndex]:null===(t=Is(this.#b))||void 0===t?void 0:t.modules[Is(this.#v)]}));#w=Jr((()=>{var t;return(null===(t=Is(this.#y))||void 0===t?void 0:t.flatMap((t=>t.modules)))||[]}));#_=ao(!1);#I=ao(!1);#x=ao(!1);#T=Jr((()=>!(Is(this.#g).itemIndex===this.activeItemIndex&&Is(this.#g).moduleIndex===this.activeModuleIndex)));#E=ao(!1);set introModule(t){co(this.#d,t)}set introModulePlayed(t){co(this.#h,t,!0)}set variants(t){co(this.#f,t)}set activeVariant(t){co(this.#p,t,!0)}set activeItemIndex(t){co(this.#m,t,!0)}set activeModuleIndex(t){co(this.#v,t,!0)}set playingModulePosition(t){co(this.#g,t,!0)}set playerLoaded(t){co(this.#_,t,!0)}set paused(t){co(this.#I,t,!0)}set startedPlaying(t){co(this.#x,t,!0)}set themeLoaded(t){co(this.#E,t,!0)}get introModule(){return Is(this.#d)}get introModulePlayed(){return Is(this.#h)}get variants(){return Is(this.#f)}get activeVariant(){return Is(this.#p)}get availableVariants(){return Object.keys(Is(this.#f))}get activeItemIndex(){return Is(this.#m)}get activeModuleIndex(){return Is(this.#v)}get playingModulePosition(){return Is(this.#g)}get currentItemsList(){return Is(this.#y)}get currentItem(){return Is(this.#b)}get currentModule(){return Is(this.#k)}get playerLoaded(){return Is(this.#_)}get paused(){return Is(this.#I)}get startedPlaying(){return Is(this.#x)}get seeking(){return Is(this.#T)}get currentModulesList(){return Is(this.#w)}get themeLoaded(){return Is(this.#E)}}const Wc={assetsDeliveryBase:"https://{{env}}assets.eko.com",galleryAppDelivery:"https://{{env}}play.eko.com/video-apps/eko-gallery-app"};function jc(t,...e){function n(t){return"[object Object]"===Object.prototype.toString.call(t)}function i(t,e){if(Array.isArray(e)){Array.isArray(t)||(t=Array.isArray(t)?t.slice():[]);const r=Math.max(t.length,e.length);for(let o=0;o<r;o++){const r=t[o],s=e[o];null!==s&&(void 0!==s&&(n(r)&&n(s)?t[o]=i({...r},s):Array.isArray(r)&&Array.isArray(s)?t[o]=i(r.slice(),s):n(s)?t[o]=i({},s):Array.isArray(s)?t[o]=i([],s):t[o]=s))}return t}if(n(e)){n(t)||(t={});for(const r of Object.keys(e)){const o=t[r],s=e[r];n(o)&&n(s)?t[r]=i({...o},s):Array.isArray(o)&&Array.isArray(s)?t[r]=i(o.slice(),s):n(s)?t[r]=i({},s):Array.isArray(s)?t[r]=i([],s):void 0!==s&&(t[r]=s)}return t}return e}for(const n of e)null!==n&&i(t,n);return t}const Uc=["elementid","elementtype","elementname","interactiontype"];const $c="ekonovar",qc=2,Vc=5,Gc=10,Hc=(t,e)=>{let n=t.findIndex((t=>t.variantAware&&t.id===e.id));return-1===n&&(n=t.findIndex((t=>t.variantAware))),-1===n?0:n};var Kc=new WeakMap,Xc=new WeakMap,Yc=new WeakMap,Qc=new WeakMap,Jc=new WeakMap,Zc=new WeakMap,tu=new WeakSet;class eu{constructor(t){var e,n,i,r,o;U(this,tu),W(this,Kc,void 0),W(this,Xc,void 0),W(this,Yc,void 0),W(this,Qc,void 0),W(this,Jc,void 0),W(this,Zc,void 0),$(this,"version","0.0.23"),Ya(this),j(Kc,this,(null===(e=crypto)||void 0===e||null===(n=e.randomUUID)||void 0===n?void 0:n.call(e))||`eko-gallery-${Date.now()}`),j(Qc,this,t),j(Zc,this,(null==t?void 0:t.onEvent)||(()=>{})),j(Xc,this,new zc),j(Jc,this,((t="")=>("production"===t&&(t=""),Object.fromEntries(Object.entries(Wc).map((([e,n])=>[e,n.replaceAll("{{env}}",t)])))))(null==t||null===(i=t.options)||void 0===i?void 0:i.galleryEnv)),j(Yc,this,[]);const s=null==t||null===(r=t.instance)||void 0===r||null===(r=r.data)||void 0===r||null===(r=r.blocks)||void 0===r||null===(r=r.blocksArr)||void 0===r||null===(r=r.find((t=>"GalleryBlock"===t.blockType)))||void 0===r?void 0:r.config;s?(B(tu,this,nu).call(this,s.items),B(tu,this,iu).call(this,s.items),function(t,e){function n(e){window.EkoAnalytics("registerContextPacker",{tag:t,...e})}function i(e){return function(...n){return n.pop()!==t?null:e(...n)}}"undefined"!=typeof window&&window.EkoAnalytics&&(n({schema:"iglu:com.helloeko/gallery-app/jsonschema/1-0-0",match:/.*/,getData:i((()=>{var t,n,i,r,o;const s=null===(t=e.currentItem)||void 0===t?void 0:t.modules[e.activeModuleIndex];return{itemid:(null===(n=e.currentItem)||void 0===n?void 0:n.id)||"",itemindex:e.activeItemIndex,totalitems:(null===(i=e.currentItemsList)||void 0===i?void 0:i.length)||0,itemname:(null===(r=e.currentItem)||void 0===r?void 0:r.name)||"",moduleid:(null==s?void 0:s.id)||"",modulename:(null==s?void 0:s.name)||"",moduletype:(null==s?void 0:s.config.itemType)||"",moduleindex:e.activeModuleIndex,totalmodules:(null===(o=e.currentItem)||void 0===o?void 0:o.modules.length)||0,version:"0.0.23"}}))}),n({schema:"iglu:com.helloeko/implementation_interactions/jsonschema/1-0-6",match:"interaction",getData:i((t=>t))}))}(z(Kc,this),z(Xc,this))):console.warn("[eko-gallery-app] Gallery initiated without an instance, results will be empty");const a=null==t||null===(o=t.instance)||void 0===o||null===(o=o.data)||void 0===o||null===(o=o.blocks)||void 0===o||null===(o=o.blocksArr)||void 0===o||null===(o=o.find((t=>"FullScreenIntro"===t.blockType)))||void 0===o?void 0:o.config;a&&(z(Xc,this).introModule=new Lc.introModule({position:{variantId:"intro",itemIndex:0,moduleIndex:0},config:{itemType:"introModule",...a},gallery:this}))}dispose(){var t,e;"undefined"!=typeof window&&(null===(t=(e=window).EkoAnalytics)||void 0===t||t.call(e,"reset",z(Kc,this)),function(){if("undefined"!=typeof window){for(const t of vl)delete window[t];vl.clear()}}())}start(t){z(Xc,this).playerLoaded=!0,z(Yc,this).forEach((e=>{e.start(t)})),j(Yc,this,null),B(tu,this,ru).call(this,t),z(Xc,this).introModule?(z(Xc,this).introModule.start(t),z(Xc,this).introModule.moduleEndListener=()=>{z(Xc,this).introModulePlayed=!0,z(Xc,this).currentModule.play()},z(Xc,this).introModule.play()):z(Xc,this).currentModule.play()}selectVariant(t){const{variants:e,currentItem:n,activeItemIndex:i,activeModuleIndex:r}=z(Xc,this);if(e[t]){const i=Hc(e[t],n);z(Xc,this).activeVariant=t,z(Xc,this).activeItemIndex=i,z(Xc,this).activeModuleIndex=0}else z(Xc,this).activeVariant=$c,z(Xc,this).activeItemIndex=0,z(Xc,this).activeModuleIndex=0;i===z(Xc,this).activeItemIndex&&r===z(Xc,this).activeModuleIndex&&z(Xc,this).currentModule.play()}selectItem(t){B(tu,this,su).call(this);const e=z(Xc,this);t!==e.activeItemIndex&&(e.activeItemIndex=t,e.activeModuleIndex=0)}selectItemAndStep(t,e){B(tu,this,su).call(this);const n=z(Xc,this);t===n.activeItemIndex&&e===n.activeModuleIndex||(n.activeItemIndex=t,n.activeModuleIndex=e)}next(){B(tu,this,su).call(this)||B(tu,this,au).call(this)}prev(){if(B(tu,this,su).call(this))return;const t=z(Xc,this);if(t.activeModuleIndex=t.activeModuleIndex-1,!t.currentItem.modules[t.activeModuleIndex])if(t.currentItemsList[t.activeItemIndex-1]){t.activeItemIndex=t.activeItemIndex-1;const e=t.currentItemsList[t.activeItemIndex];t.activeModuleIndex=e.modules.length-1}else t.activeModuleIndex=t.activeModuleIndex+1}getCoverUrl(t,e){var n,i,r,o;const s=(null==t||null===(n=t.entity)||void 0===n?void 0:n.entityId)||(null==t?void 0:t.assetId),a=null!==(i=null==t||null===(r=t.entity)||void 0===r?void 0:r.entityRevision)&&void 0!==i?i:null==t?void 0:t.assetRevision;if(!s)throw new Error(`[getCoverUrl] No assetId found in assetConfig: ${JSON.stringify(t||{},null,2)}`);if(!a&&0!==a)throw new Error(`[getCoverUrl] No assetRevision found for asset ${s}.`);let l;return null!==(o=z(Qc,this))&&void 0!==o&&null!==(o=o.coverAssetsMap)&&void 0!==o&&o[s]?(l=new URL(z(Qc,this).coverAssetsMap[s]),/^[a-z0-9]*assets.eko.com$/.test(l.host)&&e&&(l.pathname=l.pathname.replace(".png",".webp"))):(l=new URL(`${z(Jc,this).assetsDeliveryBase}/image/${s}/${a}?startOffset=0`),l.pathname+=e?".webp":".png"),e&&l.searchParams.set("width",e),l.href}track(t,...e){var n,i;"undefined"!=typeof window&&(null===(n=(i=window).EkoAnalytics)||void 0===n||n.call(i,"track",t,...e,z(Kc,this)))}interaction(t,e){const n=z(Kc,this);return i=>{if("undefined"!=typeof window){var r,o;const t=function(t,e={}){var n,i,r,o;const s=null==t||null===(n=t.currentTarget)||void 0===n?void 0:n.dataset,a=null==t||null===(i=t.target)||void 0===i?void 0:i.dataset,l=Object.fromEntries(Uc.map((t=>{const n=(null==s?void 0:s[t])||(null==a?void 0:a[t])||(null==e?void 0:e[t])||"";return[t,String(n)]})));return"left"===(null==t||null===(r=t.detail)||void 0===r?void 0:r.direction)?l.interactiontype="swipe_next":"right"===(null==t||null===(o=t.detail)||void 0===o?void 0:o.direction)&&(l.interactiontype="swipe_prev"),l}(i,e);null===(r=(o=window).EkoAnalytics)||void 0===r||r.call(o,"track","interaction",t,n),z(Zc,this).call(this,"interaction",t)}t(i)}}preloadVariantsCovers(t,e){const{activeVariant:n,variants:i}=z(Xc,this);gl(Object.entries(i).filter((([t])=>t!==n)).map((([,n])=>{const i=Hc(n,t);return this.getCoverUrl(n[i].modules[0].cover,e)})))}get uuid(){return z(Kc,this)}get state(){return z(Xc,this)}get urls(){return z(Jc,this)}}function nu(t){const e={};for(let n of t)for(let t of Object.keys(n.variants||{}))e[t]=[];e[$c]=[],z(Xc,this).variants=e}function iu(t){const e=(t=[],e)=>{const n=[];for(let[i,r]of t.entries()){if(!Lc[r.itemType])throw new Error(`Unknown module type ${r.itemType}`);const t=new Lc[r.itemType]({position:{...e,moduleIndex:i},config:r,gallery:this});t.moduleEndListener=B(tu,this,ou).bind(this),n.push(t)}return n},n=Object.entries(z(Xc,this).variants);for(const e of t)if("galleryItemV2"===e.itemType){const{variants:t,...i}=e;for(const[r,o]of n){const n=null==t?void 0:t[r];if(!n&&e.variantSpecific)continue;let s={...i};n&&(s=jc({},i,n)),o.push({...s,variantAware:!!n})}}for(const[t,i]of n)if(0!==i.length)for(const[n,r]of i.entries())r.modules=e(r.modules,{variantId:t,itemIndex:n}),j(Yc,this,[...z(Yc,this),...r.modules]);else delete z(Xc,this).variants[t]}function ru(t){const e=Object.entries(z(Xc,this).variants);for(const[n,i]of e){const r=e.filter((([t])=>t!==n));for(const[e,n]of i.entries()){const o=n.modules,s=i.filter((t=>t!==n)).map((t=>t.modules[0])),a=r.map((([,t])=>({nodeId:t[Hc(t,n)].modules[0].timeline.getNodesAtTime(0)[0].id,weight:Gc})));for(const[n,r]of o.entries()){let l=o[n+1];l||(l=i[(e+1)%i.length].modules[0]);const c=l.timeline.getNodesAtTime(0)[0],u=s.filter((t=>t!==l)).map((t=>t.timeline.getNodesAtTime(0)[0])),d=[{nodeId:c.id,weight:qc},...u.map((t=>({nodeId:t.id,weight:Vc}))),...a];for(const e of r.timeline.placements){t.getNode(e.nodeId).setChildren(d)}}}}}function ou(){const t=z(Xc,this),e=t.currentItem.modules;e.length>1&&t.activeModuleIndex===e.length-1?t.activeModuleIndex=0:B(tu,this,au).call(this)}function su(){const{introModule:t,introModulePlayed:e}=z(Xc,this);return!(!t||e)&&(z(Xc,this).introModulePlayed=!0,!0)}function au(){const t=z(Xc,this);t.activeModuleIndex=t.activeModuleIndex+1,t.currentItem.modules[t.activeModuleIndex]||(t.currentItemsList[t.activeItemIndex+1]?(t.activeItemIndex=t.activeItemIndex+1,t.activeModuleIndex=0):t.activeModuleIndex=t.activeModuleIndex-1)}const lu=["activeVariant","activeItemIndex","activeModuleIndex","paused","startedPlaying","availableVariants"],cu=t=>lu.reduce(((e,n)=>(e[n]=t[n],e)),{});function uu(t){return{version:t.version,state:cu(t.state),selectItem:t.selectItem,selectItemAndStep:t.selectItemAndStep,next:t.next,prev:t.prev,subscribe:e=>function(t){ur.ensure();const e=Co(Kn|si,t,!0);return()=>{Vo(e)}}((()=>{Do((()=>{e(cu(t.state))}))}))}}var du=Bs('<img class="nav-button-icon svelte-er27y2" alt="" aria-hidden="true"/>'),hu=Bs('<button data-elementtype="gallery item" data-interactiontype="navigation"><!> <span class="svelte-er27y2"> </span></button>'),fu=Bs('<div><div class="nav-buttons svelte-er27y2"></div></div>');const pu={hash:"svelte-er27y2",code:".eko-gallery-app {--nav_gap: 10px;--nav_padding: 12px 16px;--nav_bgColor: #FFFFFF;--nav_justifyContent: center;--nav_tray_margin: 0;--nav_tray_padding: 2px;--nav_tray_width: fit-content;--nav_tray_maxWidth: 100%;--nav_tray_bgColor: transparent;--nav_tray_border: 0;--nav_tray_borderRadius: 0;--nav_tray_boxShadow: none;--nav_tray_overflow: auto;--nav_button_width: fit-content;--nav_button_bgColor: #FFFFFF;--nav_button_borderRadius: 100px;--nav_button_paddingTop: 8px;--nav_button_paddingBottom: var(--nav_button_paddingTop);--nav_button_paddingLeft: 12px;--nav_button_paddingRight: var(--nav_button_paddingLeft);--nav_button_boxShadow: 0 0 0 1px #E7E7E7;--nav_button_gap: 2px;--nav_button_selected_boxShadow: 0 0 0 1px #000000;--nav_button_selected_bgColor: var(--nav_button_bgColor);--nav_button_text_color: #000000;--nav_button_text_fontSize: 14px;--nav_button_text_fontWeight: 500;--nav_button_text_fontFamily: var(--fontName);--nav_button_text_lineHeight: 120%;--nav_button_text_letterSpacing: 0px;--nav_button_text_align: center;--nav_button_selected_text_color: var(--nav_button_text_color);--nav_button_selected_text_fontWeight: var(--nav_button_text_fontWeight);--nav_button_image_borderRadius: calc(var(--nav_button_borderRadius) - var(--nav_button_paddingTop));--nav_button_icon_size: 20px;--nav_button_icon_filter: none;--nav_button_selected_icon_filter: none;--nav_arrow_color: var(--secondaryColor);--nav_arrow_bgColor: transparent;--nav_arrow_borderRadius: 100%;--nav_arrow_padding: 9px;--nav_arrow_size: 30px;--nav_arrow_boxShadow: none;--nav_arrow_iconOpacity: 0.6;--nav_arrow_bgColor_hover: #FFFFFF;--nav_arrow_boxShadow_hover: 0 0 8px 0 rgba(0, 0, 0, 0.12);}.nav-buttons-container.svelte-er27y2 {width:100%;background-color:var(--nav_bgColor);display:flex;box-sizing:border-box;text-align:center;justify-content:var(--nav_justifyContent);align-items:center;position:relative;flex-shrink:0;opacity:0;transition:opacity 0.2s ease-in-out;}.nav-buttons-container.theme-loaded.svelte-er27y2 {opacity:1;}.nav-buttons-container.svelte-er27y2 :where(.svelte-er27y2) {touch-action:auto;}.nav-buttons.svelte-er27y2 {display:flex;margin:var(--nav_tray_margin);gap:var(--nav_gap);height:100%;align-items:center;padding:var(--nav_tray_padding, var(--nav_padding));background-color:var(--nav_tray_bgColor);border:var(--nav_tray_border);border-radius:var(--nav_tray_borderRadius);box-shadow:var(--nav_tray_boxShadow);box-sizing:border-box;overflow-x:var(--nav_tray_overflow);scrollbar-width:none;max-width:var(--nav_tray_maxWidth);width:var(--nav_tray_width);overflow-y:hidden;overscroll-behavior-y:none;}.nav-button.svelte-er27y2 {display:flex;outline:none;flex-shrink:0;height:100%;width:var(--nav_button_width);border:none;cursor:pointer;outline-color:#3191fc;align-items:center;gap:var(--nav_button_gap);background-color:var(--nav_button_bgColor);border-radius:var(--nav_button_borderRadius);\n  /* eslint-disable-next-line max-len */padding:var(--nav_button_paddingTop) var(--nav_button_paddingRight) var(--nav_button_paddingBottom) var(--nav_button_paddingLeft);box-shadow:var(--nav_button_boxShadow);}.nav-button.svelte-er27y2 .nav-button-icon:where(.svelte-er27y2) {width:var(--nav_button_icon_size);height:var(--nav_button_icon_size);flex:0 0 auto;object-fit:contain;filter:var(--nav_button_icon_filter);pointer-events:none;display:block;}.nav-button.svelte-er27y2 span:where(.svelte-er27y2) {flex:1 0 0;transition:color 0.2s ease-in-out;color:var(--nav_button_text_color);font-weight:var(--nav_button_text_fontWeight);font-size:var(--nav_button_text_fontSize);font-family:var(--nav_button_text_fontFamily);line-height:var(--nav_button_text_lineHeight);letter-spacing:var(--nav_button_text_letterSpacing);text-align:var(--nav_button_text_align);}.nav-button.selected.svelte-er27y2 {background-color:var(--nav_button_selected_bgColor);box-shadow:var(--nav_button_selected_boxShadow);}.nav-button.selected.svelte-er27y2 .nav-button-icon:where(.svelte-er27y2) {filter:var(--nav_button_selected_icon_filter);}.nav-button.selected.svelte-er27y2 span:where(.svelte-er27y2) {color:var(--nav_button_selected_text_color);font-weight:var(--nav_button_selected_text_fontWeight);}.nav-button.svelte-er27y2:focus-visible {outline-offset:2px;outline-style:solid;outline-width:2px;}"};function mu(t,e){Di(e,!0),ba(t,pu);let n=Va(e,"onNavItemClick",3,(()=>{}));const i=Pi("state");var r=fu();let o;var s=Io(r);aa(s,23,(()=>i().currentItemsList),((t,e)=>`${i().activeVariant}_${t.id}_${e}`),((t,r,o)=>{const s=Jr((()=>function(t){var n;if(!t)return null;if("string"==typeof t)return t;if(null!=(null===(n=t.entity)||void 0===n?void 0:n.entityId))try{return e.gallery.getCoverUrl(t,40)}catch{return null}return null}(Is(r).icon))),a=Jr((()=>String(Is(r).name||`Gallery item ${Is(o)+1}`)));var l=hu();let c;var u=Jr((()=>{var t;return e.gallery.interaction((()=>n()(Is(o))),{elementid:String(null!==(t=Is(r).id)&&void 0!==t?t:Is(o)+1),elementtype:"gallery item",elementname:Is(a),interactiontype:"navigation"})}));l.__click=function(...t){var e;null===(e=Is(u))||void 0===e||e.apply(this,t)};var d=Io(l),h=t=>{var e=du();zo((()=>Ba(e,"src",Is(s)))),js(t,e)};ia(d,(t=>{Is(s)&&t(h)}));var f=Eo(d,2),p=Io(f,!0);Ei(f),Ei(l),zo(((t,e,n,i)=>{c=Ea(l,1,"nav-button svelte-er27y2",null,c,t),Ba(l,"data-item-name",e),Ba(l,"data-elementid",n),Ba(l,"data-elementname",Is(a)),Ba(l,"aria-label",Is(a)),Ba(l,"aria-current",i),Xs(p,Is(r).name)}),[()=>({selected:Is(o)===i().activeItemIndex}),()=>{var t,e;return null!==(t=null===(e=Is(r).name)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:""},()=>{var t;return String(null!==(t=Is(r).id)&&void 0!==t?t:Is(o)+1)},()=>Is(o)===i().activeItemIndex?"true":void 0]),js(t,l)})),Ei(s),Ei(r),zo((t=>o=Ea(r,1,"nav-buttons-container svelte-er27y2",null,o,t)),[()=>({"theme-loaded":i().themeLoaded})]),js(t,r),Ri()}Cs(["click"]);const vu="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20320%20512'%3e%3cpath%20d='M310.6%20233.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-192%20192c-12.5%2012.5-32.8%2012.5-45.3%200s-12.5-32.8%200-45.3L242.7%20256%2073.4%2086.6c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l192%20192z'/%3e%3c/svg%3e";var gu=Bs('<button data-elementtype="button" data-interactiontype="navigation"><img alt="" aria-hidden="true" class="svelte-1al44kl"/></button>');const yu={hash:"svelte-1al44kl",code:'.nav-button.svelte-1al44kl {height:var(--nav_arrow_size, 30px);width:var(--nav_arrow_size, 30px);border-radius:var(--nav_arrow_borderRadius, 100%);background-color:var(--nav_arrow_bgColor, transparent);padding:var(--nav_arrow_padding, 9px);box-shadow:var(--nav_arrow_boxShadow, none);box-sizing:border-box;display:flex;align-items:center;justify-content:center;pointer-events:auto;border:0;opacity:100%;cursor:pointer;transition:background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, opacity 0.2s ease-in-out;position:relative;}.nav-button.prev.svelte-1al44kl {transform:rotate(180deg);}.nav-button.hidden.svelte-1al44kl {opacity:0;pointer-events:none;}.nav-button.svelte-1al44kl::before {content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;}.nav-button.svelte-1al44kl img:where(.svelte-1al44kl) {height:100%;opacity:var(--nav_arrow_iconOpacity, 1);}'};function bu(t,e){Di(e,!0),ba(t,yu);const n=Va(e,"hidden",3,!1),i=Jr((()=>"prev"===e.type?"Previous item":"Next item"));var r=gu();let o;var s=Jr((()=>e.gallery.interaction(e.onClick,{elementid:`gallery_${e.type}`,elementtype:"button",elementname:Is(i),interactiontype:"navigation"})));r.__click=function(...t){var e;null===(e=Is(s))||void 0===e||e.apply(this,t)};var a=Io(r);Ei(r),zo((()=>{var t,s;o=Ea(r,1,`nav-button ${null!==(t=e.type)&&void 0!==t?t:""}`,"svelte-1al44kl",o,{hidden:n()}),Ba(r,"aria-label",Is(i)),Ba(r,"data-elementid",`gallery_${null!==(s=e.type)&&void 0!==s?s:""}`),Ba(r,"data-elementname",Is(i)),Ba(a,"src",vu)})),js(t,r),Ri()}Cs(["click"]);var ku=Bs('<button data-elementtype="step-indicator" data-interactiontype="navigation"><span class="svelte-1mxltt0"> </span></button>'),xu=Bs('<div><button aria-label="Scroll to previous steps"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="svelte-1mxltt0"><path d="M12.8333 16.6668C12.68 16.6668 12.5266 16.5935 12.4266 16.4601L9.42663 12.2935C9.36482 12.2081 9.33154 12.1055 9.33154 12.0001C9.33154 11.8948 9.36482 11.7921 9.42663 11.7068L12.4266 7.54012C12.4651 7.48671 12.5138 7.44142 12.5698 7.40682C12.6259 7.37222 12.6882 7.349 12.7532 7.33848C12.8182 7.32795 12.8846 7.33033 12.9487 7.34549C13.0128 7.36064 13.0732 7.38826 13.1266 7.42678C13.18 7.46531 13.2253 7.51397 13.2599 7.56999C13.2945 7.62602 13.3177 7.68831 13.3283 7.75331C13.3388 7.81831 13.3364 7.88475 13.3213 7.94883C13.3061 8.01291 13.2785 8.07338 13.24 8.12678L10.4466 12.0001L13.2333 15.8735C13.2864 15.9479 13.3181 16.0355 13.3251 16.1267C13.332 16.2179 13.314 16.3092 13.2728 16.3909C13.2316 16.4725 13.1689 16.5414 13.0915 16.59C13.014 16.6386 12.9247 16.6652 12.8333 16.6668Z" fill="#030303" class="svelte-1mxltt0"></path></svg></button> <div role="group" aria-roledescription="Sequence navigation buttons"></div> <button aria-label="Scroll to next steps"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="svelte-1mxltt0"><path d="M11.1668 16.6666C11.0668 16.6666 10.9601 16.6333 10.8734 16.5733C10.8199 16.5348 10.7746 16.4862 10.7399 16.4302C10.7053 16.3741 10.682 16.3118 10.6715 16.2468C10.6609 16.1818 10.6634 16.1153 10.6786 16.0512C10.6938 15.9871 10.7215 15.9266 10.7601 15.8733L13.5534 11.9999L10.7601 8.12661C10.6001 7.89994 10.6468 7.59328 10.8734 7.42661C11.1001 7.26661 11.4068 7.31994 11.5734 7.53994L14.5734 11.7066C14.7001 11.8799 14.7001 12.1133 14.5734 12.2933L11.5734 16.4599C11.4734 16.5933 11.3201 16.6666 11.1668 16.6666Z" fill="#030303" class="svelte-1mxltt0"></path></svg></button></div>');const wu={hash:"svelte-1mxltt0",code:'.eko-gallery-app {--stepsIndicator_container_bottom: 12px;--stepsIndicator_container_left: 8px;--stepsIndicator_container_right: auto;--stepsIndicator_container_width: calc(100% - 16px);--stepsIndicator_padding: 4px 4px;--stepsIndicator_margin: 0 16px;--stepsIndicator_gap: 8px;--stepsIndicator_justifyContent: flex-start;--stepsIndicator_mask_left: linear-gradient(to left, black calc(100% - 20px), transparent);--stepsIndicator_mask_right: linear-gradient(to right, black calc(100% - 20px), transparent);\n  /* stylelint-disable-next-line max-line-length */--stepsIndicator_mask_both: linear-gradient(\n      to right,\n      transparent,\n      black 20px,\n      black calc(100% - 20px),\n      transparent\n  );--stepsIndicator_button_padding: 8px 12px;--stepsIndicator_button_border: #E4E5E8 solid 1px;--stepsIndicator_button_borderRadius: 100px;--stepsIndicator_button_bgColor: #FBFBFB;--stepsIndicator_button_bgColor_hover: #F3F4F6;--stepsIndicator_button_bgColor_active: #E4E5E8;--stepsIndicator_button_boxShadow: none;--stepsIndicator_button_color: #030303;--stepsIndicator_button_fontSize: 12px;--stepsIndicator_button_fontWeight: 500;--stepsIndicator_button_lineHeight: 16px;--stepsIndicator_button_active_bgColor: #014FD3;--stepsIndicator_button_active_borderColor: #014FD3;--stepsIndicator_button_active_boxShadow: none;--stepsIndicator_button_active_color: #FFFFFF;--stepsIndicator_span_display: block;--stepsIndicator_span_width: auto;--stepsIndicator_span_height: auto;--stepsIndicator_span_borderRadius: 0;--stepsIndicator_span_bgColor: transparent;--stepsIndicator_span_border: 0;--stepsIndicator_span_boxShadow: none;--stepsIndicator_span_fontSize: inherit;--stepsIndicator_span_color: inherit;--stepsIndicator_span_active_width: var(--stepsIndicator_span_width);--stepsIndicator_span_active_height: var(--stepsIndicator_span_height);--stepsIndicator_span_active_bgColor: var(--stepsIndicator_span_bgColor);--stepsIndicator_span_active_border: var(--stepsIndicator_span_border);--stepsIndicator_span_active_boxShadow: var(--stepsIndicator_span_boxShadow);--stepsIndicator_arrow_display: flex;}.steps-indicator-container.svelte-1mxltt0 {width:var(--stepsIndicator_container_width);position:absolute;bottom:var(--stepsIndicator_container_bottom);left:var(--stepsIndicator_container_left);right:var(--stepsIndicator_container_right);animation-duration:0.75s;animation-timing-function:cubic-bezier(0.36, 0, 0, 1);animation-fill-mode:both;animation-delay:0.15s;\n  animation-name: svelte-1mxltt0-gallery-steps-appear-anim;}.steps-indicator-container.mobile-indicators.svelte-1mxltt0 {display:var(--stepsIndicator_mobile_display, none);}.steps-indicator.svelte-1mxltt0 {--stepSize: 6px;--stepPadding: 7px;padding:var(--stepsIndicator_padding);margin:var(--stepsIndicator_margin);display:flex;gap:var(--stepsIndicator_gap);align-items:center;justify-content:var(--stepsIndicator_justifyContent);overflow-x:auto;pointer-events:all;scrollbar-width:none;}.steps-indicator.fade-right.svelte-1mxltt0 {mask-image:var(--stepsIndicator_mask_right);}.steps-indicator.fade-left.svelte-1mxltt0 {mask-image:var(--stepsIndicator_mask_left);}.steps-indicator.fade-left.fade-right.svelte-1mxltt0 {mask-image:var(--stepsIndicator_mask_both);}.steps-indicator.with-duration.svelte-1mxltt0 .step-button:where(.svelte-1mxltt0) span:where(.svelte-1mxltt0) {position:relative;overflow:hidden;}.steps-indicator.with-duration.svelte-1mxltt0 .step-button:where(.svelte-1mxltt0) span:where(.svelte-1mxltt0):after {transition:0.3s ease-in-out;transition-property:opacity, width;}.step-button.svelte-1mxltt0 {min-width:24px;min-height:24px;padding:var(--stepsIndicator_button_padding);border:var(--stepsIndicator_button_border);background-color:var(--stepsIndicator_button_bgColor);box-shadow:var(--stepsIndicator_button_boxShadow);border-radius:var(--stepsIndicator_button_borderRadius);font-size:var(--stepsIndicator_button_fontSize);font-weight:var(--stepsIndicator_button_fontWeight);line-height:var(--stepsIndicator_button_lineHeight);color:var(--stepsIndicator_button_color);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:all;flex-shrink:0;transition:all 0.3s ease-in-out;outline-color:#3191fc;}.step-button.active.svelte-1mxltt0 {background-color:var(--stepsIndicator_button_active_bgColor);color:var(--stepsIndicator_button_active_color);box-shadow:var(--stepsIndicator_button_active_boxShadow);border-color:var(--stepsIndicator_button_active_borderColor);}.step-button.active.svelte-1mxltt0:after {opacity:100%;\n  animation: svelte-1mxltt0-stepDurationAnimation var(--stepDuration) linear forwards;animation-play-state:running;}.step-button.svelte-1mxltt0:hover:not(.active) {background:var(--stepsIndicator_button_bgColor_hover);}.step-button.svelte-1mxltt0:active:not(.active) {background:var(--stepsIndicator_button_bgColor_active);}.step-button.svelte-1mxltt0:focus {outline-offset:4px;outline-width:2px;}.step-button.svelte-1mxltt0 span:where(.svelte-1mxltt0) {display:var(--stepsIndicator_span_display);width:var(--stepsIndicator_span_width);height:var(--stepsIndicator_span_height);border-radius:var(--stepsIndicator_span_borderRadius);background-color:var(--stepsIndicator_span_bgColor);border:var(--stepsIndicator_span_border);box-shadow:var(--stepsIndicator_span_boxShadow);font-size:var(--stepsIndicator_span_fontSize);color:var(--stepsIndicator_span_color);box-sizing:border-box;pointer-events:none;white-space:nowrap;}.step-button.svelte-1mxltt0 span:where(.svelte-1mxltt0):after {content:"";background-color:rgba(0, 0, 0, 0.6);position:absolute;border-radius:var(--stepSize);width:0;height:100%;top:0;left:-100%;opacity:0;transform:translateX(0);animation-play-state:paused;}.step-button.active.svelte-1mxltt0 span:where(.svelte-1mxltt0) {width:var(--stepsIndicator_span_active_width);height:var(--stepsIndicator_span_active_height);background-color:var(--stepsIndicator_span_active_bgColor);border:var(--stepsIndicator_span_active_border);box-shadow:var(--stepsIndicator_span_active_boxShadow);}.step-arrow.svelte-1mxltt0 {display:var(--stepsIndicator_arrow_display);width:34px;height:34px;position:absolute;z-index:10;bottom:4px;border:1px solid #C4C8CF;border-radius:50%;background-color:#FFFFFF;box-shadow:0 2px 3px 0 rgba(0, 0, 0, 0.05);box-sizing:border-box;align-items:center;justify-content:center;pointer-events:none;cursor:pointer;opacity:0;}.step-arrow.svelte-1mxltt0:hover {background:#F6F6F7;}.step-arrow.svelte-1mxltt0:active {background:#E4E5E8;}.step-arrow-prev.svelte-1mxltt0 {left:3px;transform:translateX(-100%);\n  animation: svelte-1mxltt0-arrow-left-disappear 0.3s cubic-bezier(0.36, 0, 0, 1) both;}.step-arrow-prev.visible.svelte-1mxltt0 {pointer-events:auto;\n  animation: svelte-1mxltt0-arrow-left-appear 0.3s cubic-bezier(0.36, 0, 0, 1) both;}.step-arrow-next.svelte-1mxltt0 {right:3px;transform:translateX(100%);\n  animation: svelte-1mxltt0-arrow-right-disappear 0.3s cubic-bezier(0.36, 0, 0, 1) both;}.step-arrow-next.visible.svelte-1mxltt0 {pointer-events:auto;\n  animation: svelte-1mxltt0-arrow-right-appear 0.3s cubic-bezier(0.36, 0, 0, 1) both;}\n\n@keyframes svelte-1mxltt0-gallery-steps-appear-anim {\n  from {\n    opacity: 0;\n    transform: translate(0, 10px);\n  }\n  to {\n    opacity: 1;\n    transform: translate(0, 0);\n  }\n}\n@keyframes svelte-1mxltt0-gallery-steps-disappear-anim {\n  from {\n    opacity: 1;\n    transform: translate(0, 0);\n  }\n  to {\n    opacity: 0;\n    transform: translate(0, 10px);\n  }\n}\n@keyframes svelte-1mxltt0-arrow-left-appear {\n  from {\n    opacity: 0;\n    transform: translateX(-100%);\n  }\n  to {\n    opacity: 1;\n    transform: translateX(0);\n  }\n}\n@keyframes svelte-1mxltt0-arrow-left-disappear {\n  from {\n    opacity: 1;\n    transform: translateX(0);\n  }\n  to {\n    opacity: 0;\n    transform: translateX(-100%);\n  }\n}\n@keyframes svelte-1mxltt0-arrow-right-appear {\n  from {\n    opacity: 0;\n    transform: translateX(100%);\n  }\n  to {\n    opacity: 1;\n    transform: translateX(0);\n  }\n}\n@keyframes svelte-1mxltt0-arrow-right-disappear {\n  from {\n    opacity: 1;\n    transform: translateX(0);\n  }\n  to {\n    opacity: 0;\n    transform: translateX(100%);\n  }\n}\n@keyframes svelte-1mxltt0-stepDurationAnimation {\n  0% {\n    transform: translateX(0);\n  }\n  100% {\n    transform: translateX(100%);\n  }\n}'};function _u(t,e){Di(e,!0),ba(t,wu);const n=16,i=32;let r=Va(e,"gallery",7),o=ao(null),s=ao(null),a=ao(!1),l=ao(!1);const c=Jr((()=>{let t=[];return t=r().state.currentItem.modules.map(((t,e)=>({index:e,type:e===r().state.activeModuleIndex?"active":"",name:t.name}))),t}));function u(){Is(o)&&(co(a,Is(o).scrollLeft>0),co(l,Is(o).scrollLeft+Is(o).clientWidth<Is(o).scrollWidth-0))}function d(t){var e,n;const i="undefined"!=typeof window&&(null===(e=(n=window).matchMedia)||void 0===e?void 0:e.call(n,"(prefers-reduced-motion: reduce)").matches);Is(o).scrollBy({left:t,behavior:i?"auto":"smooth"})}function h(t,e){const r=t.getBoundingClientRect(),o=e.getBoundingClientRect(),s=n+i;o.left<r.left+i?d(o.left-r.left-s):o.right>r.right-i&&d(o.right-r.right+s)}function f(){const t=Array.from(Is(o).querySelectorAll(".step-button")).find((t=>{const e=t.getBoundingClientRect(),n=Is(o).getBoundingClientRect();return e.left>n.left+i}));if(t){const e=t.previousElementSibling;e&&h(Is(o),e)}}function p(){const t=Array.from(Is(o).querySelectorAll(".step-button")).reverse().find((t=>{const e=t.getBoundingClientRect(),n=Is(o).getBoundingClientRect();return e.right<n.right-i}));if(t){const e=t.nextElementSibling;e&&h(Is(o),e)}}Do((()=>{if(Is(o)){u();const t=Is(o).querySelector(".step-button.active");t&&co(s,t,!0);const e=new MutationObserver((()=>{const t=Is(o).querySelector(".step-button.active");t&&co(s,t,!0)}));e.observe(Is(o),{attributes:!0,attributeFilter:["class"],subtree:!0});const n=new ResizeObserver((()=>{u()}));return n.observe(Is(o)),()=>{e.disconnect(),n.disconnect()}}})),Do((()=>{Is(c),Is(o)&&_s().then(u)})),Do((()=>{Is(s)&&Is(o)&&h(Is(o),Is(s))}));var m=Ws();Fs("resize",vo,u),function(t,e,n){wi&&Ti();var i=new ea(t);Wo((()=>{var t=e();i.ensure(t,n)}))}(To(m),(()=>r().state.activeItemIndex),(t=>{var n=xu();let i;var s=Io(n);let d;s.__click=f;var m=Eo(s,2);let v;aa(m,21,(()=>Is(c)),ra,((t,e)=>{var n=ku();let i;var s=Jr((()=>r().interaction((t=>{return n=t.currentTarget,i=Is(e).index,r().state.activeModuleIndex=i,void h(Is(o),n);var n,i}))));n.__click=function(...t){var e;null===(e=Is(s))||void 0===e||e.apply(this,t)};var a=Io(n),l=Io(a,!0);Ei(a),Ei(n),zo((()=>{i=Ea(n,1,"step-button svelte-1mxltt0",null,i,{active:"active"===Is(e).type}),Ba(n,"aria-current","active"===Is(e).type?"step":void 0),Ba(n,"aria-label",Is(e).name?`Go to step ${Is(e).index+1}: ${Is(e).name}`:`Go to step ${Is(e).index+1}`),Ba(n,"data-elementid",`${Is(e).index+1}`),Ba(n,"data-elementname",Is(e).name||`Step ${Is(e).index+1}`),Xs(l,Is(e).name)})),js(t,n)})),Ei(m),$a(m,(t=>co(o,t)),(()=>Is(o)));var g=Eo(m,2);let y;g.__click=p,Ei(n),zo((()=>{var t,o,c;i=Ea(n,1,"steps-indicator-container svelte-1mxltt0",null,i,{"mobile-indicators":e.isMobile}),d=Ea(s,1,"step-arrow step-arrow-prev svelte-1mxltt0",null,d,{visible:Is(a)}),s.disabled=!Is(a),v=Ea(m,1,"steps-indicator svelte-1mxltt0",null,v,{"with-duration":null===(t=r().state.currentModule)||void 0===t?void 0:t.hasDuration,paused:r().state.paused,"fade-left":Is(a),"fade-right":Is(l)}),Ma(m,`--stepDuration: ${null!==(o=null===(c=r().state.currentModule)||void 0===c?void 0:c.duration)&&void 0!==o?o:""}s`),y=Ea(g,1,"step-arrow step-arrow-next svelte-1mxltt0",null,y,{visible:Is(l)}),g.disabled=!Is(l)})),Fs("scroll",m,u),js(t,n)})),js(t,m),Ri()}Cs(["click"]);var Iu=zs('<svg class="pause-button-icon pause-button-icon--play svelte-a3r6re" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M5.23 3.75c0-1.11 1.19-1.82 2.17-1.28l15 8.25a1.46 1.46 0 0 1 0 2.56l-15 8.25a1.46 1.46 0 0 1-2.17-1.28V3.75z"></path></svg>'),Tu=zs('<svg class="pause-button-icon pause-button-icon--pause svelte-a3r6re" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><line class="pause-bar pause-bar--left svelte-a3r6re" x1="8" y1="3.5" x2="8" y2="20.5"></line><line class="pause-bar pause-bar--right svelte-a3r6re" x1="16" y1="3.5" x2="16" y2="20.5"></line></svg>'),Eu=Bs('<button class="pause-button svelte-a3r6re" data-elementid="play_pause" data-elementtype="button"><!></button>');const Su={hash:"svelte-a3r6re",code:".eko-gallery-app {--pauseButton_top: 10px;--pauseButton_right: 10px;--pauseButton_bottom: auto;--pauseButton_left: auto;--pauseButton_size: 32px;--pauseButton_borderRadius: 100%;--pauseButton_border: 1px solid #C4C8CF;--pauseButton_boxShadow: none;--pauseButton_backdropFilter: none;--pauseButton_bgColor: #FFFFFF;--pauseButton_bgColor_hover: #F6F6F7;--pauseButton_bgColor_active: #E4E5E8;--pauseButton_iconSize: 16px;--pauseButton_iconColor: #030303;--pauseButton_playIconFill: none;--pauseButton_playIconStroke: currentColor;--pauseButton_playIconStrokeWidth: 1.5;--pauseButton_pauseIconStrokeWidth: 1.5;--pauseButton_pauseIconStrokeLinecap: butt;--pauseButton_pauseIconScaleY: 1;--pauseButton_pauseIconBarSpread: 0px;}.pause-button.svelte-a3r6re {position:absolute;top:var(--pauseButton_top);right:var(--pauseButton_right);bottom:var(--pauseButton_bottom);left:var(--pauseButton_left);width:var(--pauseButton_size);height:var(--pauseButton_size);padding:0;background:var(--pauseButton_bgColor);border:var(--pauseButton_border);border-radius:var(--pauseButton_borderRadius);box-shadow:var(--pauseButton_boxShadow);backdrop-filter:var(--pauseButton_backdropFilter);-webkit-backdrop-filter:var(--pauseButton_backdropFilter);color:var(--pauseButton_iconColor);display:flex;justify-content:center;align-items:center;pointer-events:auto;transition:background 0.2s ease-in-out;cursor:pointer;outline-color:#3191fc;}.pause-button.svelte-a3r6re:hover {background:var(--pauseButton_bgColor_hover);}.pause-button.svelte-a3r6re:active {background:var(--pauseButton_bgColor_active);}.pause-button.svelte-a3r6re:focus {outline-offset:8px;outline-width:2px;}.pause-button.svelte-a3r6re .pause-button-icon:where(.svelte-a3r6re) {width:var(--pauseButton_iconSize);height:var(--pauseButton_iconSize);pointer-events:none;display:block;}.pause-button.svelte-a3r6re .pause-button-icon--pause:where(.svelte-a3r6re) {fill:none;stroke:currentColor;stroke-width:var(--pauseButton_pauseIconStrokeWidth, 1.5);stroke-linecap:var(--pauseButton_pauseIconStrokeLinecap, butt);transform:scaleY(var(--pauseButton_pauseIconScaleY, 1));transform-origin:center;overflow:visible;}.pause-button.svelte-a3r6re .pause-button-icon--pause:where(.svelte-a3r6re) .pause-bar--left:where(.svelte-a3r6re) {transform:translateX(calc(-1 * var(--pauseButton_pauseIconBarSpread, 0px)));}.pause-button.svelte-a3r6re .pause-button-icon--pause:where(.svelte-a3r6re) .pause-bar--right:where(.svelte-a3r6re) {transform:translateX(var(--pauseButton_pauseIconBarSpread, 0px));}.pause-button.svelte-a3r6re .pause-button-icon--play:where(.svelte-a3r6re) {fill:var(--pauseButton_playIconFill, none);stroke:var(--pauseButton_playIconStroke, currentColor);stroke-width:var(--pauseButton_playIconStrokeWidth, 1.5);stroke-linejoin:round;stroke-linecap:round;}"};Cs(["click"]);const Mu=300,Au=60,Nu="none";function Fu(t,e,n){return t.addEventListener(e,n),()=>t.removeEventListener(e,n)}function Cu(t,e,n){const{x:i,y:r}=function(t,e){const n=t.getBoundingClientRect();return{x:Math.round(e.clientX-n.left),y:Math.round(e.clientY-n.top)}}(t,e);return{event:e,pointersCount:n.length,target:e.target,x:i,y:r,attachmentNode:t}}function Ou(t,e,n,i,r){const o=Cu(t,n,i);return t.dispatchEvent(new CustomEvent(`${e}${r}`,{detail:o})),o}function Pu(){let t=[],e=()=>{},n=[];return{setPointerControls:(i,r,o,s,a,l=Nu,c=[])=>{var u;if(r.style.touchAction=(u=l,Array.isArray(u)?u:[u]).join(" "),n=c,n.forEach((e=>{var n;null===(n=e.onInit)||void 0===n||n.call(e,t)})),!t.length){let l=function(e){t.push(e);const l=Ou(r,i,e,t,"down");function c(e){const o=t.length;t=function(t,e){return e.filter((e=>t.pointerId!==e.pointerId))}(e,t);if(o>t.length){t.length||(u(),d(),h(),f());const o=Ou(r,i,e,t,"up");null==a||a(t,e),setTimeout((()=>{n.forEach((e=>{var n;null===(n=e.onUp)||void 0===n||n.call(e,o,t)}))}))}}null==s||s(t,e),setTimeout((()=>{n.forEach((e=>{var n;null===(n=e.onDown)||void 0===n||n.call(e,l,t)}))}));const u=Fu(r,"pointermove",(e=>{t=t.map((t=>e.pointerId===t.pointerId?e:t));const s=Ou(r,i,e,t,"move");null==o||o(t,e),n.forEach((e=>{var n;null===(n=e.onMove)||void 0===n||n.call(e,s,t)}))})),d=Fu(r,"lostpointercapture",(t=>{c(t)})),h=Fu(r,"pointerup",(t=>{c(t)})),f=Fu(r,"pointerleave",(t=>{c(t)}))};e=Fu(r,"pointerdown",l)}return{destroy:()=>{t.length||(e(),n.forEach((t=>{var e;null===(e=t.onDestroy)||void 0===e||e.call(t)})))}}}}}const Du="@attach";function Ru(){return Symbol(Du)}const Bu="swipe";function Lu(t,e,n,i=!1){const{setPointerControls:r}=Pu(),o=i?Bu:Ru();return{...n,[`on${Bu}`]:t,[o]:t=>{const{onDown:n,onUp:i,parameters:o}=function(t,e){const n={timeframe:Mu,minSwipeDistance:Au,touchAction:Nu,composed:!1,...e};let i,r,o,s;function a(t,e){r=e.clientX,o=e.clientY,i=Date.now(),1===t.length&&(s=e.target)}function l(e,a){if("pointerup"===a.type&&0===e.length&&Date.now()-i<n.timeframe){const e=a.clientX-r,i=a.clientY-o,l=Math.abs(e),c=Math.abs(i);let u=null;l>=2*c&&l>n.minSwipeDistance?u=e>0?"right":"left":c>=2*l&&c>n.minSwipeDistance&&(u=i>0?"bottom":"top"),u&&t.dispatchEvent(new CustomEvent(Bu,{detail:{direction:u,target:s,pointerType:a.pointerType}}))}}return{onDown:a,onUp:l,parameters:n}}(t,null==e?void 0:e());return r(Bu,t,null,n,i,o.touchAction,o.plugins).destroy}}}const zu="tap";function Wu(t,e,n,i=!1){const{setPointerControls:r}=Pu(),o=i?zu:Ru();return{...n,[`on${zu}`]:t,[o]:t=>{const{onDown:n,onUp:i,parameters:o}=function(t,e){const n={timeframe:Mu,composed:!1,touchAction:"auto",...e};let i,r,o;function s(e,s){if(Math.abs(s.clientX-r)<4&&Math.abs(s.clientY-o)<4&&Date.now()-i<n.timeframe){const e=t.getBoundingClientRect(),n=Math.round(s.clientX-e.left),i=Math.round(s.clientY-e.top);t.dispatchEvent(new CustomEvent(zu,{detail:{x:n,y:i,target:s.target,pointerType:s.pointerType}}))}}function a(t,e){r=e.clientX,o=e.clientY,i=Date.now()}return{onDown:a,onUp:s,parameters:n}}(t,null==e?void 0:e());return r(zu,t,null,n,i,o.touchAction,o.plugins).destroy}}}const ju=t=>{const e="#00ff00",n=1e6,i=4;let r,o,s,a=null,l=!1,c=Date.now();const u={x:void 0,y:void 0};function d(){const e=t.fadeTime,n=Date.now(),i=n-c;i>e/20&&(a&&o&&s&&r&&(s.drawImage(r,0,0),a.clearRect(0,0,r.width,r.height),a.globalAlpha=1-3*i/e,a.drawImage(o,0,0),a.globalAlpha=1,s.clearRect(0,0,r.width,r.height)),c=n),l&&requestAnimationFrame(d)}function h(t){u.x=t.x,u.y=t.y}function f(){a&&o&&r&&(a.canvas.width=window.innerWidth,a.canvas.height=window.innerHeight,o.width=r.width,o.height=r.height)}function p(e){var i;m(),r=window.document.createElement("canvas"),r.id="svelte-gestures-highlight-plugin",a=r.getContext("2d"),r.style.cssText=`\ndisplay: block; \nwidth: 100dvw;\nheight: 100dvh;\ntop: 0;\nleft: 0;\nposition: fixed;\npointer-events: none;\nz-index: ${null!==(i=t.zIndex)&&void 0!==i?i:n};\n`,window.document.body.appendChild(r),window.addEventListener("resize",f),e&&h(e.event),o=document.createElement("canvas"),f(),s=o.getContext("2d"),l=!0,d()}function m(){var t;l=!1,null===(t=window.document.getElementById("svelte-gestures-highlight-plugin"))||void 0===t||t.remove(),window.removeEventListener("resize",f)}return{onMove:n=>{var r,o,s;r=n.event,a&&(a.beginPath(),a.lineWidth=null!==(o=t.lineWidth)&&void 0!==o?o:i,a.lineCap="round",a.strokeStyle=null!==(s=t.color)&&void 0!==s?s:e,void 0!==u.x&&void 0!==u.y?(a.moveTo(u.x,u.y),h(r),a.lineTo(u.x,u.y)):h(r),a.stroke())},onDown:t=>{p(t)},onUp:(t,e)=>{0===e.length&&m()},onDestroy:m,onInit:t=>{t.length&&(u.x=void 0,u.y=void 0,p())}}};var Uu=Bs("<div></div>"),$u=Bs("<div></div>");const qu={hash:"svelte-1fv6njc",code:".swiper.svelte-1fv6njc {position:absolute;top:0;left:0;pointer-events:auto;width:100%;height:100%;}"};var Vu=Bs("<img/>"),Gu=Bs('<div class="ui-container svelte-1rvgxfc"><!></div>'),Hu=Bs('<div class="cover-container svelte-1rvgxfc"><!> <!> <!></div>'),Ku=Bs('<div class="covers-container svelte-1rvgxfc" style="scroll-behavior: auto;"><!></div>');const Xu={hash:"svelte-1rvgxfc",code:".covers-container.svelte-1rvgxfc {position:absolute;top:0;left:0;bottom:0;right:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;gap:0.5px;}.covers-container.svelte-1rvgxfc::-webkit-scrollbar {display:none;}.cover-container.svelte-1rvgxfc {position:relative;display:flex;width:100%;height:100%;flex-shrink:0;scroll-snap-align:center;user-select:none;justify-content:center;align-items:center;}.cover-image.svelte-1rvgxfc {width:var(--videoWidth);height:var(--videoHeight);aspect-ratio:var(--videoAspect);object-fit:cover;pointer-events:none;background:#ffffff;}.cover-image.content-playing.svelte-1rvgxfc {opacity:0;}.cover-image.content-playing.force-show.svelte-1rvgxfc {opacity:1;background:transparent;transition:opacity 0s 0.2s;}.ui-container.svelte-1rvgxfc {position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none;}"};function Yu(t,e){Di(e,!0),ba(t,Xu);const n=(t,n=Wn,i=Wn,r=Wn,l=Wn)=>{var c=Hu(),u=Io(c),d=t=>{var e=Vu();let o;zo((t=>{o=Ea(e,1,"cover-image svelte-1rvgxfc",null,o,{"content-playing":n(),"force-show":i().showCover}),Ba(e,"src",t),Ba(e,"alt",i().name),Ba(e,"fetchpriority",r())}),[()=>s().getCoverUrl(i().cover,a)]),Fs("load",e,(function(...t){var e;null===(e=l())||void 0===e||e.apply(this,t)})),function(t){if(!wi)return;t.removeAttribute("onload"),t.removeAttribute("onerror");const e=t.__e;void 0!==e&&(t.__e=void 0,queueMicrotask((()=>{t.isConnected&&t.dispatchEvent(e)})))}(e),js(t,e)};ia(u,(t=>{t(d)}));var h=Eo(u,2);!function(t,e){Di(e,!0),ba(t,qu);const n={color:"#e3e3e3",fadeTime:300,lineWidth:8},i=Lu(e.gallery.interaction((t=>{const{direction:n}=t.detail;var i;if("left"===n)null===(i=e.gallery)||void 0===i||i.next(),e.onEvent("swipe",[-1,0]);else if("right"===n){var r;null===(r=e.gallery)||void 0===r||r.prev(),e.onEvent("swipe",[1,0])}}),{elementid:"swiper"}),(()=>({touchAction:"pan-y",plugins:e.debug?[ju(n)]:[]}))),r=Wu((function(t){const{x:n,y:i}=t.detail;e.onEvent("click",{x:n,y:i})}),(()=>({touchAction:"pan-y"})));var o=Ws(),s=To(o),a=t=>{var e=Uu();La(e,(()=>({...i,...r,class:"swiper"})),void 0,void 0,void 0,"svelte-1fv6njc"),js(t,e)},l=t=>{var e=$u();La(e,(()=>({...r,class:"swiper"})),void 0,void 0,void 0,"svelte-1fv6njc"),js(t,e)};ia(s,(t=>{e.swipeEnabled?t(a):t(l,!1)})),js(t,o),Ri()}(h,{get gallery(){return s()},get debug(){return e.debug},get swipeEnabled(){return e.swipeEnabled},get onEvent(){return e.onEvent}});var f=Eo(h,2),p=t=>{var e=Gu();!function(t,e,n){wi&&Ti();var i=new ea(t);Wo((()=>{var t,r=null!==(t=e())&&void 0!==t?t:null;i.ensure(r,r&&(t=>n(t,r)))}),ii)}(Io(e),(()=>i().Component),((t,e)=>{e(t,{get state(){return i().state},get gallery(){return s()},get isMobile(){return o()}})})),Ei(e),js(t,e)};ia(f,(t=>{var e;s().state.themeLoaded&&null!==(e=i())&&void 0!==e&&e.Component&&t(p)})),Ei(c),js(t,c)};let i,r=Va(e,"scrollOffset",15),o=Va(e,"isMobile",3,!1),s=Va(e,"gallery",7),a=1920,l=s().state.playingModulePosition,c=0,u=null,d=null,h=Jr((()=>!s().state.introModulePlayed&&s().state.introModule)),f=Jr((()=>s().state.startedPlaying)),p=Jr((()=>s().state.currentModulesList)),m=Jr((()=>Is(p).findIndex((t=>g(s().state.playingModulePosition,t.position))))),v=!1;function g(t,e){return t.itemIndex===e.itemIndex&&t.moduleIndex===e.moduleIndex}function y(t){const e=t.scrollLeft,n=t.scrollWidth-t.clientWidth;return 0===e?0:e>n?100:e/n*100}function b(t){var e,n;u=(null===(e=Is(p)[t])||void 0===e?void 0:e.position)||null;const r=null===(n=i)||void 0===n||null===(n=n.children)||void 0===n?void 0:n[t];if(!i||!r)return;const o=i.getBoundingClientRect(),s=r.getBoundingClientRect();let a=i.scrollLeft+(s.left-o.left);const l=Math.max(0,i.scrollWidth-i.clientWidth);a=Math.max(0,Math.min(l,a)),i.scrollTo({left:a,behavior:"auto"})}function k(t){var e;if(Is(h))return;o()&&t.preventDefault();const{target:n}=t,a=y(n),f=(null===(e=Is(p))||void 0===e?void 0:e.length)||1,v=100/(f-1||1),b=Math.round(a/v);c=Math.min(b,f-1);const k=Is(p)[c],x={itemIndex:s().state.activeItemIndex,moduleIndex:s().state.activeModuleIndex};if(!u){const t=i.children[Is(m)],e=i.getBoundingClientRect(),n=t.getBoundingClientRect();r(n.x-e.x)}d&&clearTimeout(d),d=setTimeout((()=>{const t=y(n);Math.abs(t-b*v)<.25&&async function(){s().state.seeking&&(s().state.playerLoaded?s().state.currentItemsList[s().state.activeItemIndex].modules[s().state.activeModuleIndex].play():s().state.playingModulePosition=l,r(0))}()}),u?0:150),null!==u||g(k.position,x)?null!==u&&g(k.position,u)&&(u=null):(s().state.activeItemIndex=k.position.itemIndex,s().state.activeModuleIndex=k.position.moduleIndex),l=k.position}function x(){v||(s().track("coverdisplay"),v=!0)}Do((()=>{const{activeItemIndex:t,activeModuleIndex:e}=s().state;t===l.itemIndex&&e===l.moduleIndex||Ss((()=>{b(Is(p).findIndex((n=>{const{itemIndex:i,moduleIndex:r}=n.position;return t===i&&e===r})))}))})),Do((()=>{Is(m)>-1&&!u&&c!==Is(m)&&Ss((()=>b(Is(m))))})),Do((()=>{const{seeking:t,startedPlaying:e,currentItem:n}=s().state;!t&&e&&Ss((()=>{s().preloadVariantsCovers(n,a)}))})),Do((()=>{Is(f)&&Ss((()=>{s().track("projectstartedplaying")}))}));var w=Ws(),_=To(w),I=t=>{var e=Ku(),r=Io(e),o=t=>{n(t,(()=>Is(f)),(()=>Is(h)),(()=>"high"),(()=>x))},a=t=>{var e=Ws();aa(To(e),19,(()=>Is(p)),(t=>t.id),((t,e,i)=>{n(t,(()=>Is(f)&&Is(i)===Is(m)),(()=>Is(e)),(()=>0===Is(i)?"high":"auto"),(()=>0!==Is(i)||s().state.introModule?()=>{}:x))})),js(t,e)};ia(r,(t=>{Is(h)?t(o):t(a,!1)})),Ei(e),$a(e,(t=>i=t),(()=>i)),Fs("scroll",e,k),js(t,e)};ia(_,(t=>{Is(p)&&t(I)})),js(t,w),Ri()}const Qu="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global||{};let Ju;function Zu(){const t=Qu&&Qu.navigator&&(Qu.navigator.userAgent||Qu.navigator.platform||Qu.navigator.vendor)||"";if(Ju&&Ju.ua===t)return Ju;const e=t.toLowerCase(),n=e.includes("android"),i=e.includes("iphone")||e.includes("ipad")||e.includes("ipod")||e.includes("ios"),r=n||i||e.includes("mobile");return Ju={ua:t,isMobile:r},Ju}const td=(t,e,n)=>{const i=t[e];return i?"function"==typeof i?i():Promise.resolve(i):new Promise(((t,i)=>{("function"==typeof queueMicrotask?queueMicrotask:setTimeout)(i.bind(null,new Error("Unknown variable dynamic import: "+e+(e.split("/").length!==n?". Note that variables only represent file names one level deep.":""))))}))},ed=3e3,nd=new Set;const id="https://storage.eko.com/efu/ekoanalytics/master/latest/EkoAnalyticsPlatform.min.gz.js";function rd(t){var e,n;if("undefined"==typeof window||null!==(e=window.EkoAnalytics)&&void 0!==e&&e.cb||null!==(n=window.EkoAnalytics)&&void 0!==n&&n.configure)return;if(function(t){let e,n;"undefined"==typeof window||(e=window,n="EkoAnalytics",e[n]=function(){e[n].f?(e[n].q.push(arguments),e[n].ts.push(Date.now())):e[n].apply(e,arguments)},e[n].f=!0,e[n].q=e[n].q||[],e[n].ts=e[n].ts||[],e[n].t=Number(new Date),e[n].sa=[],e[n].cb=[],e[n].init=function(t){e[n].id=t},e[n].childRequestIdsCallback=function(t){t.data&&"ea-ids-request"===t.data.type&&e[n].sa.push(t.source)},e.addEventListener("message",e[n].childRequestIdsCallback)),window.EkoAnalytics.cb.push((()=>{let t=(t,e,n="")=>{let i=window.location.hostname,r=i,o=i.split(".");o.length>2&&(r=o.slice(-2).join(".")),window.document.cookie=`${t}=${e}; domain=.${r}; path=/; secure; samesite=lax; ${n}`};t("easid",encodeURIComponent(window.EkoAnalytics("getSid"))),t("eauid",encodeURIComponent(window.EkoAnalytics("getUid")),"max-age=2147483647")})),window.EkoAnalytics("configure",{snowplow:{options:{appId:"ekoGalleryApp"}},ekoEnv:t?"production":"development",env:"website"})}(!t||"production"===t),!window.EkoAnalytics)return void console.warn("Failed to load LUDA script.");if(0===document.querySelectorAll(`script[src="${id}"]`).length){const t=document.createElement("script");t.type="text/javascript",t.async=!0,t.src=id,document.head.appendChild(t)}}function od(t,e){if(!t)return{};const n={},i=t.qoe;Number.isFinite(null==i?void 0:i.browserFps)&&(n.FPS=i.browserFps),Number.isFinite(null==i?void 0:i.score)&&(n.QOE=i.score);try{var r;const i=Number(t.currentTime),o=t.getNodesAtTime(i),s=o.find((t=>(null==e?void 0:e.nodeId)&&(null==t?void 0:t.id)===e.nodeId))||o[0],a=((null==s?void 0:s.tracks)||[]).find((t=>"video"===(null==t?void 0:t.type))),l=Number(null==e?void 0:e.offset),c=Number(null==e?void 0:e.nodeOffsetOverride),u=Math.max(0,i-(Number.isFinite(l)?l:0)+(Number.isFinite(c)?c:0)),d=Number(null==a?void 0:a.offset),h=function(t,e){var n;return"function"==typeof(null==t?void 0:t.getMediaSegmentAtTime)?t.getMediaSegmentAtTime(e,{preferRepresentationTime:!0}):null==t||null===(n=t.segments)||void 0===n?void 0:n.find((t=>{const n=Number(null==t?void 0:t.offset),i=Number(null==t?void 0:t.duration);return!(null!=t&&t.isInit)&&Number.isFinite(n)&&Number.isFinite(i)&&i>0&&e>=n&&e<n+i}))}(a,Math.max(0,u-(Number.isFinite(d)?d:0))),f=null==h?void 0:h.chosenRepresentation,p=function(t){if(Number.isFinite(t))return`${Math.round(t/1e3).toLocaleString("en-US")} kbps`}(null==f?void 0:f.bandwidth),m=(null==f?void 0:f.label)||(null!=f&&f.width&&null!=f&&f.height?`${f.width}x${f.height}`:void 0),v=Number.isFinite(null==h||null===(r=h.abrDecision)||void 0===r?void 0:r.measuredDownloadSpeedKbps)?`${Math.round(h.abrDecision.measuredDownloadSpeedKbps).toLocaleString("en-US")} kbps`:void 0;p&&(n.chosenBitrate=p),m&&(n.chosenResolution=m),v&&(n.measuredBandwidth=v)}catch{return n}return n}var sd,ad;"undefined"!=typeof window&&(window.addEventListener("pageshow",(function(t){t.persisted&&setTimeout((function(){window.location.reload()}),10)}),!1),null===(sd=(ad=window).EkoAnalytics)||void 0===sd||sd.call(ad,"track","init"));function ld(t,e){var n,i;return null!==(n=null===(i=e.variantMap)||void 0===i?void 0:i[t])&&void 0!==n?n:t}function cd(t,e,n){const i=ld(t,e);return n.variants[i]?i:n.availableVariants[0]}let ud=!1;var dd=Bs('<div class="paging-buttons svelte-1n46o8q"><!> <!></div>'),hd=Bs("<!> <!> <!>",1),fd=Bs('<div style="position: absolute; top: 0; left: 0; width: 100%;"></div>'),pd=Bs('<div class="player-container svelte-1n46o8q"><div class="player-div swipable svelte-1n46o8q"></div> <!> <!> <!></div> <!>',1),md=Bs("<div><!></div>");const vd={hash:"svelte-1n46o8q",code:'.eko-gallery-app.svelte-1n46o8q {position:relative;width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;}.eko-gallery-app.svelte-1n46o8q:hover .paging-buttons:where(.svelte-1n46o8q) .nav-button {background-color:var(--nav_arrow_bgColor_hover, #FFFFFF);box-shadow:var(--nav_arrow_boxShadow_hover, 0 0 8px 0 rgba(0, 0, 0, 0.12));}.eko-gallery-app.svelte-1n46o8q * {box-sizing:border-box;touch-action:pan-y;font-family:var(--fontName, "Human BBY Digital"), sans-serif;}.player-container.svelte-1n46o8q {position:relative;flex:1;width:100%;pointer-events:none;overflow:hidden;border-radius:var(--playerContainer_borderRadius, 16px);display:flex;align-items:center;justify-content:center;}.player-container.svelte-1n46o8q .pause-button {opacity:var(--pauseButton_opacity, 1);}.player-container.svelte-1n46o8q:hover .pause-button {opacity:var(--pauseButton_opacity_hover, 1);}.player-container.svelte-1n46o8q:focus-within .pause-button,\n.player-container.svelte-1n46o8q .pause-button:focus-visible {opacity:var(--pauseButton_opacity_hover, 1);}\n\n@media (hover: none), (pointer: coarse) {.player-container.svelte-1n46o8q .pause-button {opacity:1;}\n}.player-div.svelte-1n46o8q {position:absolute;width:var(--videoWidth);height:var(--videoHeight);aspect-ratio:var(--videoAspect);}.swipable.svelte-1n46o8q {will-change:transform;transform:translate3d(var(--uiTranformX, 0), 0, 0);}.paging-buttons.svelte-1n46o8q {position:absolute;top:0;left:0;bottom:0;right:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none;padding:0 12px;}.paging-buttons.svelte-1n46o8q .nav-button {transition:0.2s ease-in-out;box-shadow:none;}.paging-buttons.svelte-1n46o8q .nav-button img {opacity:0.6;}\n\n@media (prefers-reduced-motion: reduce) {.eko-gallery-app.svelte-1n46o8q * {animation-duration:0.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-delay:0ms !important;transition-duration:0.01ms !important;}\n}'};function gd(t,e){Di(e,!0),ba(t,vd);let n=Va(e,"config",19,(()=>({}))),i=Va(e,"variant",7),r=Va(e,"forceMobile",3,!1),o=Va(e,"videoAspectRatio",3,"unset"),s=Va(e,"loadAnalytics",3,!0),a=Va(e,"onGalleryReady",3,(()=>{})),l=Va(e,"onEvent",3,(()=>{}));var c;!ud&&s()&&(rd(null===(c=n())||void 0===c||null===(c=c.options)||void 0===c?void 0:c.galleryEnv),ud=!0);let u,d,h=!1,f=ao(po(new eu({...n(),onEvent:l()}))),p=ao(null),m=Jr((()=>r()||Zu().isMobile)),v=Jr((()=>{var t;return e.theme||(null===(t=n())||void 0===t||null===(t=t.options)||void 0===t?void 0:t.theme)})),g=Jr((()=>{var t;return Is(m)&&!(null!==(t=n())&&void 0!==t&&null!==(t=t.options)&&void 0!==t&&t.disableSwipes)})),y=Jr((()=>{var t,e;return Is(m)?null===(t=n())||void 0===t||null===(t=t.layout)||void 0===t?void 0:t.mobile:null===(e=n())||void 0===e||null===(e=e.layout)||void 0===e?void 0:e.desktop})),b=Jr((()=>{var t;return null===(t=Is(y))||void 0===t?void 0:t.hideNav})),k=ao(0),x=ao(void 0),w=ao(!0),_=ao(po({width:"100%",height:"100%"}));const I=function(){let t=Object.create(null);return{clear(){t=Object.create(null)},set(e,n,i){t[e]={reset:!0===i,stepIndex:n}},take(e){const n=t[e];if(n)return n.reset&&delete t[e],n.stepIndex}}}();var T,E;function S(t){var e,n;return null!==(e=null===(n=Is(f).state.currentItemsList)||void 0===n?void 0:n.findIndex((e=>{var n;return e.id===t||(null===(n=e.modules)||void 0===n?void 0:n.some((e=>e.id===t)))})))&&void 0!==e?e:-1}function M(t,e,n=""){return{elementid:t||"",elementtype:e,elementname:n,interactiontype:"parent-command"}}function A(){return{play(){var t;return!(null===(t=Is(p))||void 0===t||!t.play)&&(Is(p).play(),!0)},pause(){var t;return!(null===(t=Is(p))||void 0===t||!t.pause)&&(Is(p).pause(),!0)},setMuted:t=>!!Is(p)&&(Is(p).muted=t,!0),setVolume:t=>!!Is(p)&&(Is(p).volume=t,!0),isStarted:()=>Is(f).state.startedPlaying,updateVariant(t){var e;const i=ld(t,n());return!(null===(e=Is(f).state.variants)||void 0===e||!e[i])&&(Is(f).selectVariant(i),{handled:!0,interaction:M(t,"variant")})},setNextBlock(t,e){const n=S(t);if(!e||n<0)return!1;const i=I.take(t);"number"==typeof i?Is(f).selectItemAndStep(n,i):Is(f).selectItem(n);const r=Is(f).state.currentItemsList[n];return{handled:!0,interaction:M(t,"gallery item",(null==r?void 0:r.name)||"")}},endBlock(t){var e;const n=Is(f).state.currentItem;return!(t&&(null==n?void 0:n.id)!==t&&!(null==n||null===(e=n.modules)||void 0===e?void 0:e.some((e=>e.id===t))))&&(Is(f).next(),{handled:!0,interaction:M(t,"next button")})},selectOption(t,e){var n;if(S(t)!==Is(f).state.activeItemIndex)return!1;const i=Is(f).state.currentModule,r=null==i||null===(n=i.state)||void 0===n||null===(n=n.items)||void 0===n?void 0:n[e];return!(!r||"function"!=typeof i.state.onItemClicked)&&(i.state.onItemClicked(e),{handled:!0,interaction:{elementid:String(e+1),elementtype:"toggle",elementname:r.label||"",interactiontype:"module-ui"}})},setInitialStep(t,e,n){var i;const r=S(t),o=e>0?e-1:0,s=null===(i=Is(f).state.currentItemsList)||void 0===i||null===(i=i[r])||void 0===i?void 0:i.modules;return!(r<0||null==s||!s[o])&&(I.set(t,o,n),!0)},jumpToStep(t,e){var n;const i=S(t);if(i<0)return!1;if("next"===e||"prev"===e)return i===Is(f).state.activeItemIndex&&(Is(f)[e](),{handled:!0,interaction:M(t,"next"===e?"next button":"previous button")});const r=e>0?e-1:0;return!(null===(n=Is(f).state.currentItemsList)||void 0===n||null===(n=n[i])||void 0===n||null===(n=n.modules)||void 0===n||!n[r])&&(Is(f).selectItemAndStep(i,r),{handled:!0,interaction:M(t,"gallery step",String(e))})},getPerformance:()=>od(Is(p),d)}}function N(){d=void 0;const t={AssetsDeliveryService:{assetsDeliveryServiceUrl:Is(f).urls.assetsDeliveryBase},Tracker:{tag:Is(f).uuid}};co(p,new e.EkoPlayer(u,function(t,...e){function n(t){return"[object Object]"===Object.prototype.toString.call(t)}function i(t,e){if(Array.isArray(e)){Array.isArray(t)||(t=Array.isArray(t)?t.slice():[]);const r=Math.max(t.length,e.length);for(let o=0;o<r;o++){const r=t[o],s=e[o];null!=s&&(n(r)&&n(s)?t[o]=i({...r},s):Array.isArray(r)&&Array.isArray(s)?t[o]=i(r.slice(),s):n(s)?t[o]=i({},s):Array.isArray(s)?t[o]=i([],s):t[o]=s)}return t}if(n(e)){n(t)||(t={});for(const r of Object.keys(e)){const o=t[r],s=e[r];n(o)&&n(s)?t[r]=i({...o},s):Array.isArray(o)&&Array.isArray(s)?t[r]=i(o.slice(),s):n(s)?t[r]=i({},s):Array.isArray(s)?t[r]=i([],s):void 0!==s&&(t[r]=s)}return t}return e}for(const n of e)null!==n&&i(t,n);return t}({},e.playerOptions,t))),Is(p).on("canplay",(t=>{l()("canplay",t)})),Is(p).on("nodestart",(t=>{null!=t&&t.nodeId&&Number.isFinite(null==t?void 0:t.time)&&(d={nodeId:t.nodeId,nodeOffsetOverride:Number.isFinite(t.nodeOffsetOverride)?t.nodeOffsetOverride:0,offset:t.time}),l()("nodestart",t)})),Is(p).on("playing",(t=>{Is(f).state.paused=!1,Is(f).state.startedPlaying||(Is(f).state.startedPlaying=!0,l()("galleryloaded")),l()("playing",t)})),Is(p).on("pause",(t=>{Is(f).state.paused=!0,l()("pause",t)}))}function F(t){var e;null===(e=Is(f))||void 0===e||e.selectItem(t)}function C(){var t;null===(t=Is(f))||void 0===t||t.next()}function O(){var t;null===(t=Is(f))||void 0===t||t.prev()}function P(){Is(p).paused?(Is(p).play(),l()("userplay")):(Is(p).pause(),l()("userpause"))}function D(){return`--uiTranformX: ${Is(k)}px;--videoAspect: ${o()};--videoWidth: ${Is(_).width};--videoHeight: ${Is(_).height};`}T="state",E=()=>Is(f).state,Bi().set(T,E),Is(f).state.activeVariant=cd(i(),n(),Is(f).state),na((()=>{try{n()&&e.EkoPlayer&&(N(),Is(f).start(Is(p))),a()(uu(Is(f)),A())}catch{var t;null===(t=e.onGalleryError)||void 0===t||t.call(e,"gallery-initialization-failure")}return()=>{var t;null===(t=Is(p))||void 0===t||t.dispose(),Is(f).dispose()}})),Do((()=>{var t;n()&&e.EkoPlayer&&(h?(null===(t=e.onGalleryReinitializing)||void 0===t||t.call(e),Ss((()=>{co(w,!1),_s().then((()=>{var t;return Is(f).dispose(),co(f,new eu({...n(),onEvent:l()}),!0),I.clear(),Is(f).state.activeVariant=cd(i(),n(),Is(f).state),null===(t=Is(p))||void 0===t||t.dispose(),co(w,!0),_s()})).then((()=>{N(),Is(f).start(Is(p)),a()(uu(Is(f)),A())})).catch((()=>{var t;return null===(t=e.onGalleryError)||void 0===t?void 0:t.call(e,"gallery-reinitialization-failure")}))}))):h=!0)})),Do((()=>{!ud&&s()&&(rd(Ss((()=>{var t;return null===(t=n())||void 0===t||null===(t=t.options)||void 0===t?void 0:t.galleryEnv}))),ud=!0)})),Do((()=>{const t=ld(i(),Ss((()=>n())));t&&t!==Ss((()=>Is(f).state.activeVariant))&&Is(f).selectVariant(t)})),Do((()=>{const t=Ss((()=>ld(i(),n())));Is(f).state.activeVariant!==t&&Ss((()=>{i(Is(f).state.activeVariant)}))})),Do((()=>{Is(x)&&Is(p)&&Is(p).loadDebugOverlay({containerElement:Is(x)})})),Do((()=>{if("unset"!==o()&&o().includes("/")){const[t,e]=o().split("/").map((t=>Number(t)));isNaN(t)||isNaN(e)||co(_,t>e?{width:"100%",height:"auto"}:{width:"auto",height:"100%"},!0)}else co(_,{width:"100%",height:"100%"},!0)})),Do((()=>{!async function(t,e){if(t&&!nd.has(t)){e.state.themeLoaded=!1;try{let n;try{n=await td(Object.assign({"../themes/smg.scss":()=>Promise.resolve({}),"../themes/walmart.scss":()=>Promise.resolve({}),"../themes/wayfair.scss":()=>Promise.resolve({})}),`../themes/${t}.scss`,3)}catch{console.warn("[eko-gallery-app] theme-module-import-failure")}if(!n||"Module"!==n[Symbol.toStringTag]){const n=`${e.urls.galleryAppDelivery}/${e.version}/${t}.css`,i=document.createElement("link");i.rel="stylesheet",i.href=n;const r=new Promise(((t,e)=>{const n=setTimeout((()=>{e("timeout")}),ed);i.onload=()=>{t(),clearTimeout(n)}}));document.head.appendChild(i),await r}nd.add(t)}catch{console.warn("[eko-gallery-app] theme-load-failure")}e.state.themeLoaded=!0}else e.state.themeLoaded=!0}(Is(v),Is(f))}));let R=null;Do((()=>{const t=Is(f),e=t.state.activeItemIndex,n=t.state.activeModuleIndex;if(R!==t)return R=t,()=>{};const i=setTimeout((()=>{var i,r;const o=null===(i=t.state.currentItemsList)||void 0===i?void 0:i[e],s=null==o||null===(r=o.modules)||void 0===r?void 0:r[n];l()("itemchanged",{itemIndex:e,moduleIndex:n,itemId:null==o?void 0:o.id,moduleId:null==s?void 0:s.id})}),150);return()=>clearTimeout(i)}));var B=md(),L=Io(B),z=t=>{const n=Jr((()=>Is(f).state.introModule));var i=pd(),r=To(i),o=Io(r);$a(o,(t=>u=t),(()=>u));var s=Eo(o,2);Yu(s,{get isMobile(){return Is(m)},get gallery(){return Is(f)},get debug(){return e.debug},get swipeEnabled(){return Is(g)},get onEvent(){return l()},get scrollOffset(){return Is(k)},set scrollOffset(t){co(k,t,!0)}});var a=Eo(s,2),c=t=>{var e=hd(),n=To(e),i=t=>{var e=dd(),n=Io(e);bu(n,{type:"prev",onClick:O,get gallery(){return Is(f)}}),bu(Eo(n,2),{type:"next",onClick:C,get gallery(){return Is(f)}}),Ei(e),js(t,e)};ia(n,(t=>{Is(g)||Is(b)||t(i)}));var r=Eo(n,2),o=t=>{_u(t,{get gallery(){return Is(f)},get isMobile(){return Is(m)}})};ia(r,(t=>{var e;(null===(e=Is(f).state.currentItem)||void 0===e?void 0:e.modules.length)>1&&t(o)}));var s=Eo(r,2),a=t=>{!function(t,e){Di(e,!0),ba(t,Su);const n=Pi("state");let i=Jr((()=>n().paused));var r=Eu(),o=Jr((()=>e.gallery.interaction(e.onPauseClick)));r.__click=function(...t){var e;null===(e=Is(o))||void 0===e||e.apply(this,t)};var s=Io(r),a=t=>{js(t,Iu())},l=t=>{js(t,Tu())};ia(s,(t=>{Is(i)?t(a):t(l,!1)})),Ei(r),zo((()=>{Ba(r,"aria-label",Is(i)?"Play":"Pause"),Ba(r,"data-elementname",Is(i)?"Play":"Pause"),Ba(r,"data-interactiontype",Is(i)?"play":"pause")})),js(t,r),Ri()}(t,{onPauseClick:P,get gallery(){return Is(f)}})};ia(s,(t=>{Is(f).state.startedPlaying&&t(a)})),js(t,e)};ia(a,(t=>{Is(n)&&!Is(f).state.introModulePlayed||!Is(f).state.themeLoaded||t(c)}));var d=Eo(a,2),h=t=>{var n=Ws(),i=To(n),r=t=>{var e=fd();$a(e,(t=>co(x,t)),(()=>Is(x))),js(t,e)};ia(i,(t=>{e.debug&&t(r)})),js(t,n)};ia(d,(t=>{Is(f).state.startedPlaying&&t(h)})),Ei(r);var p=Eo(r,2),v=t=>{mu(t,{onNavItemClick:F,get gallery(){return Is(f)}})};ia(p,(t=>{Is(b)||Is(n)&&!Is(f).state.introModulePlayed||t(v)})),zo((t=>Ma(r,t)),[D]),js(t,i)};ia(L,(t=>{n()&&Is(w)&&t(z)})),Ei(B),zo((()=>Ea(B,1,"eko-gallery-app "+(Is(v)?`theme-${Is(v)}`:""),"svelte-1n46o8q"))),js(t,B),Ri()}function yd(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var bd,kd,xd,wd,_d={exports:{}},Id=yd((bd||(bd=1,xd=_d.exports,wd=function(){var t=function(){},e="undefined",n=typeof window!==e&&typeof window.navigator!==e&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"],r={},o=null;function s(t,e){var n=t[e];if("function"==typeof n.bind)return n.bind(t);try{return Function.prototype.bind.call(n,t)}catch(e){return function(){return Function.prototype.apply.apply(n,[t,arguments])}}}function a(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(){for(var n=this.getLevel(),r=0;r<i.length;r++){var o=i[r];this[o]=r<n?t:this.methodFactory(o,n,this.name)}if(this.log=this.debug,typeof console===e&&n<this.levels.SILENT)return"No console available for logging"}function c(t){return function(){typeof console!==e&&(l.call(this),this[t].apply(this,arguments))}}function u(i,r,o){return"debug"===(l=i)&&(l="log"),typeof console!==e&&("trace"===l&&n?a:void 0!==console[l]?s(console,l):void 0!==console.log?s(console,"log"):t)||c.apply(this,arguments);var l}function d(t,n){var s,a,c,d=this,h="loglevel";function f(){var t;if(typeof window!==e&&h){try{t=window.localStorage[h]}catch(t){}if(typeof t===e)try{var n=window.document.cookie,i=encodeURIComponent(h),r=n.indexOf(i+"=");-1!==r&&(t=/^([^;]+)/.exec(n.slice(r+i.length+1))[1])}catch(t){}return void 0===d.levels[t]&&(t=void 0),t}}function p(t){var e=t;if("string"==typeof e&&void 0!==d.levels[e.toUpperCase()]&&(e=d.levels[e.toUpperCase()]),"number"==typeof e&&e>=0&&e<=d.levels.SILENT)return e;throw new TypeError("log.setLevel() called with invalid level: "+t)}"string"==typeof t?h+=":"+t:"symbol"==typeof t&&(h=void 0),d.name=t,d.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},d.methodFactory=n||u,d.getLevel=function(){return null!=c?c:null!=a?a:s},d.setLevel=function(t,n){return c=p(t),!1!==n&&function(t){var n=(i[t]||"silent").toUpperCase();if(typeof window!==e&&h){try{return void(window.localStorage[h]=n)}catch(t){}try{window.document.cookie=encodeURIComponent(h)+"="+n+";"}catch(t){}}}(c),l.call(d)},d.setDefaultLevel=function(t){a=p(t),f()||d.setLevel(t,!1)},d.resetLevel=function(){c=null,function(){if(typeof window!==e&&h){try{window.localStorage.removeItem(h)}catch(t){}try{window.document.cookie=encodeURIComponent(h)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(t){}}}(),l.call(d)},d.enableAll=function(t){d.setLevel(d.levels.TRACE,t)},d.disableAll=function(t){d.setLevel(d.levels.SILENT,t)},d.rebuild=function(){if(o!==d&&(s=p(o.getLevel())),l.call(d),o===d)for(var t in r)r[t].rebuild()},s=p(o?o.getLevel():"WARN");var m=f();null!=m&&(c=p(m)),l.call(d)}(o=new d).getLogger=function(t){if("symbol"!=typeof t&&"string"!=typeof t||""===t)throw new TypeError("You must supply a name when creating a logger.");var e=r[t];return e||(e=r[t]=new d(t,o.methodFactory)),e};var h=typeof window!==e?window.log:void 0;return o.noConflict=function(){return typeof window!==e&&window.log===o&&(window.log=h),o},o.getLoggers=function(){return r},o.default=o,o},(kd=_d).exports?kd.exports=wd():xd.log=wd()),_d.exports));const Td=()=>{},Ed=["trace","log","debug","info","warn","error","getLevel","setLevel"],Sd=["trace","debug","info","warn","error","silent"],Md={TRACE:"color: white; background-color: magenta;",DEBUG:"color: black; background-color: turquoise;",INFO:"color: white; background-color: green;",WARN:"color: black; background-color: yellow;",ERROR:"color: white; background-color: red;"},Ad="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global;let Nd={level:"trace",appName:""},Fd=[];const Cd="object"==typeof Ad&&Ad.performance&&"function"==typeof Ad.performance.now?Ad.performance.now.bind(Ad.performance):Date.now.bind(Date),Od=t=>t&&"string"==typeof t?t.toLowerCase().trim():"",Pd=(()=>{try{const t=new URLSearchParams(document.location.search),e=[].concat(t.getAll("log")).concat(t.getAll("ekolog")).concat(t.getAll("ekologger")).join(",").split(",");if(0===e.length)return{};let n={};return e.forEach((t=>{const[e,i]=t.split(":");n[Od(e)]=Od(i)||"trace"})),n}catch(t){return{}}})(),Dd=(t,e="")=>{const n=Od(t),i=Id.getLogger(n);if(i.__ekologger)return i.__ekologger;e||Pd[n]||Pd["*"]||(i.__noExplicitLevel=!0);const r=i.methodFactory;i.methodFactory=(e,n,i)=>{const o=r(e,n,i),s=e.toUpperCase();return(...e)=>{o(`[${((t,e=3)=>(Cd()/1e3).toFixed(e))()}] %c[${s}] ${Nd.appName?`[${Nd.appName}] `:""}[${t}]`,Md[s],...e)}},e=Pd[n]||Pd["*"]||e||Nd.level,i.setLevel(e,!1);const o=(...t)=>i.log(...t);return Ed.forEach((t=>{o[t]=(...e)=>(Fd.forEach((n=>{n[t](...e)})),i[t](...e))})),i.__ekologger=o,o};Dd.setDefaults=({appName:t="",level:e})=>{t&&"string"==typeof t&&(Nd.appName=t),(e=Od(e))&&Sd.includes(e)&&(Nd.level=e,Object.values(Id.getLoggers()).filter((t=>t.__noExplicitLevel)).forEach((t=>t.setLevel(Nd.level,!1))))},Dd.installDriver=t=>{const e={...Ed.reduce(((e,n)=>(e[n]="function"==typeof(null==t?void 0:t[n])?t[n]:Td,e)),{})};Fd.push(e)};let Rd=class{#S=new Map;on(t,e){if("function"!=typeof e)return this;const n=this.#S.get(t)||new Set;return n.add(e),this.#S.set(t,n),this}once(t,e){if("function"!=typeof e)return this;const n=(...i)=>(this.off(t,n),e(...i));return this.on(t,n)}off(t,e){if(!t)return this.#S.clear(),this;const n=this.#S.get(t);return n?e?(n.delete(e),0===n.size&&this.#S.delete(t),this):(this.#S.delete(t),this):this}trigger(t,...e){const n=this.#S.get(t);return n?(n.forEach((t=>t(...e))),this):this}};function Bd(t){return"[object Object]"===Object.prototype.toString.call(t)}function Ld(t,...e){const n=Bd(t)?{...t}:{};return e.forEach((t=>{Bd(t)&&Object.keys(t).forEach((e=>{const i=t[e],r=n[e];Bd(i)&&Bd(r)?n[e]=Ld(r,i):Array.isArray(i)?n[e]=i.slice():n[e]=i}))})),n}function zd(t){if("string"==typeof t)return`'${t}'`;if(Array.isArray(t))return`[${t.map((t=>zd(t))).join(", ")}]`;if(Bd(t))try{return JSON.stringify(t)}catch(t){return"[object Object]"}return null===t?"null":void 0===t?"undefined":String(t)}function Wd(t){return Array.from(t).map((t=>zd(t))).join(", ")}var jd=new WeakSet;class Ud extends Rd{constructor(...t){super(),U(this,jd);const e=t.length?t[t.length-1]:void 0,n=this.name;if(!n||"string"!=typeof n)throw new Error("Extending classes must implement get name() returning a string.");this.log=Dd(n,this.loglevel);const i=Bd(this.defaults)?this.defaults:{},r=Bd(e)&&Bd(e[n])?e[n]:{};this.settings=Ld({},i,r),B(jd,this,$d).call(this),B(jd,this,qd).call(this)}get name(){throw new Error("BaseModuleClass requires a name getter.")}get loglevel(){return"warn"}get defaults(){return{}}get methodsExcludedFromAutoLog(){return new Set(["constructor","on","off","once","trigger","#wrapMethodsForLogging"])}dispose(){this._disposed||(this._disposed=!0,"function"==typeof this._lifecycleCleanup&&(this._lifecycleCleanup(),this._lifecycleCleanup=null),"function"==typeof this.onDispose&&this.onDispose())}onDispose(){}}function $d(){const t=new Set,e=this.methodsExcludedFromAutoLog;let n=Object.getPrototypeOf(this);for(;n&&n!==Object.prototype;){const i=Object.getOwnPropertyNames(n);for(let r=0;r<i.length;r+=1){const o=i[r];if("constructor"===o||o.startsWith("#"))continue;if(t.has(o))continue;const s=Object.getOwnPropertyDescriptor(n,o);if(!s||"function"!=typeof s.value)continue;const a=s.value.bind(this),l=!e.has(o);this[o]=l?(...t)=>(this.log&&"function"==typeof this.log.debug&&this.log.debug(`${this.name}.${o}(${Wd(t)})`),a(...t)):a,t.add(o)}n=Object.getPrototypeOf(n)}}function qd(){if("undefined"==typeof window||"function"!=typeof window.addEventListener)return;const t=()=>{try{"function"==typeof this.dispose&&this.dispose()}catch(t){this.log&&"function"==typeof this.log.error&&this.log.error("dispose failed",t)}};window.addEventListener("pagehide",t),window.addEventListener("beforeunload",t),this._lifecycleCleanup=()=>{window.removeEventListener("pagehide",t),window.removeEventListener("beforeunload",t)}}const Vd="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global||{};function Gd(t){return Boolean(t)&&"object"==typeof t&&1===t.nodeType&&"function"==typeof t.appendChild}const Hd=Object.freeze({NODE_ADD:"node:add",NODE_CHILDREN_CHANGED:"node:childrenchanged",NODE_LOADED:"node:loaded",NODE_LOAD_ERROR:"node:loaderror",PLACEMENT_ADDED:"placement:added",RENDER_PLACEMENT_ADDED:"renderplacement:added",TIMELINE_TIME_UPDATE:"timeline:timeupdate",TIMELINE_STATE_CHANGE:"statechange",TIMELINE_SEEKING:"seeking",TIMELINE_SEEKED:"seeked",TIMELINE_RESET:"timeline:reset",TIMELINE_PLAYER_STATE:"player:state",TIMELINE_CUEPOINT:"cuepoint",VISUAL_FRAMES_AVAILABLE:"visualframesavailable",TRACK_BUFFER_UPDATE:"track:bufferupdate",TRACK_READY:"track:ready",TRACK_UNDERFLOW:"track:underflow",CLOCK_TICK:"tick",DECODE_READY:"decode:ready",DECODE_ERROR:"decode:error",DECODER_AUDIO:"decoder:audio",DECODER_FRAME:"decoder:frame",DECODER_INIT:"decoder:init",DECODER_ERROR:"decoder:error",QOE_SCORE:"qoescore",QOE_STATUS:"qoestatus",CONTAINER_RESIZE:"containerresize",CANVAS_WEBGL_CONTEXT_LOST:"canvas.webglcontextlost",CANVAS_WEBGL_CONTEXT_RESTORED:"canvas.webglcontextrestored"});function Kd(t,e){const n={};return Number.isFinite(t)&&(n.time=t),"string"==typeof e&&(n.source=e),n}function Xd({placementId:t,nodeId:e,trackId:n,segmentId:i,trackType:r,pts:o,duration:s,frame:a,audioBuffer:l}={}){const c={};return t&&(c.placementId=t),e&&(c.nodeId=e),n&&(c.trackId=n),i&&(c.segmentId=i),r&&(c.trackType=r),Number.isFinite(o)&&(c.pts=o),Number.isFinite(s)&&(c.duration=s),a&&(c.frame=a),l&&(c.audioBuffer=l),c}function Yd({placementId:t,nodeId:e,trackId:n,segmentId:i,trackType:r,error:o}={}){const s={};return t&&(s.placementId=t),e&&(s.nodeId=e),n&&(s.trackId=n),i&&(s.segmentId=i),r&&(s.trackType=r),o&&(s.error=o),s}var Qd=new WeakMap,Jd=new WeakMap,Zd=new WeakMap,th=new WeakMap,eh=new WeakMap,nh=new WeakMap,ih=new WeakMap,rh=new WeakSet;class oh extends Ud{get defaults(){return{style:{width:"100%",height:"100%"},contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1,preserveDrawingBuffer:!1,powerPreference:"low-power"}}}constructor(...t){var e,n;super(...t),U(this,rh),W(this,Qd,void 0),W(this,Jd,void 0),W(this,Zd,void 0),W(this,th,void 0),W(this,eh,void 0),W(this,nh,void 0),W(this,ih,void 0);const[i,r=null]=t;j(nh,this,r);const o=function(t,e=(null==Vd?void 0:Vd.document)){if(Gd(t))return t;const n="string"==typeof t?t:null;if(!n||!e||"function"!=typeof e.querySelector)return null;const i=e.querySelector(n);return Gd(i)?i:null}(i);if(!o)throw new Error("Canvas requires a valid mount target (HTMLElement or selector string).");j(Qd,this,o);const s=null==Vd?void 0:Vd.document;if(!s||"function"!=typeof s.createElement)throw new Error("Canvas requires document.createElement.");var a,l;j(Jd,this,s.createElement("canvas")),a=z(Jd,this),l=null===(e=this.settings)||void 0===e?void 0:e.style,a&&l&&"object"==typeof l&&!Array.isArray(l)&&Object.keys(l).forEach((t=>{const e=l[t];null!=e&&(a.style[t]=String(e))})),z(Qd,this).appendChild(z(Jd,this));const c=null===(n=this.settings)||void 0===n?void 0:n.contextAttributes,u=c&&"object"==typeof c&&!Array.isArray(c)?c:void 0;if(j(ih,this,u),j(Zd,this,z(Jd,this).getContext("webgl2",u)),!z(Zd,this))throw new Error("Canvas WebGL2 context is not available.");B(rh,this,ah).call(this)}get name(){return"Canvas"}get element(){return z(Jd,this)}get gl(){return z(Zd,this)}onDispose(){B(rh,this,lh).call(this),z(Jd,this)&&z(Jd,this).parentNode&&z(Jd,this).parentNode.removeChild(z(Jd,this)),j(Zd,this,null),j(Jd,this,null),j(Qd,this,null),j(nh,this,null),j(ih,this,null),j(th,this,null),j(eh,this,null)}}function sh(t,e){var n,i;this.trigger(t,e),null===(n=z(nh,this))||void 0===n||null===(i=n.trigger)||void 0===i||i.call(n,t,e)}function ah(){z(Jd,this)&&(j(th,this,(t=>{"function"==typeof(null==t?void 0:t.preventDefault)&&t.preventDefault(),this.log.error("WebGL context lost",t),B(rh,this,sh).call(this,Hd.CANVAS_WEBGL_CONTEXT_LOST,t)})),j(eh,this,(t=>{var e;j(Zd,this,(null===(e=z(Jd,this))||void 0===e?void 0:e.getContext("webgl2",z(ih,this)))||null),z(Zd,this)?B(rh,this,sh).call(this,Hd.CANVAS_WEBGL_CONTEXT_RESTORED,t):this.log.error("WebGL context restored event fired but WebGL2 context is still unavailable.",t)})),z(Jd,this).addEventListener("webglcontextlost",z(th,this)),z(Jd,this).addEventListener("webglcontextrestored",z(eh,this)))}function lh(){z(Jd,this)&&(z(Jd,this).removeEventListener("webglcontextlost",z(th,this)),z(Jd,this).removeEventListener("webglcontextrestored",z(eh,this)))}var ch=new WeakMap,uh=new WeakMap,dh=new WeakMap,hh=new WeakMap,fh=new WeakMap,ph=new WeakMap,mh=new WeakSet;class vh extends Ud{get name(){return"ContainerSize"}get containerWidth(){return z(uh,this)}get containerHeight(){return z(dh,this)}get width(){return z(uh,this)}get height(){return z(dh,this)}constructor(...t){super(...t),U(this,mh),W(this,ch,void 0),W(this,uh,0),W(this,dh,0),W(this,hh,null),W(this,fh,null),W(this,ph,null);const[e]=t;var n;j(ch,this,(n=e)&&n.element&&Gd(n.element)?n.element:Gd(n)?n:null),z(ch,this)&&(B(mh,this,yh).call(this,!0),B(mh,this,gh).call(this))}onDispose(){z(hh,this)&&"function"==typeof z(hh,this).disconnect&&z(hh,this).disconnect(),j(hh,this,null),z(ph,this)&&"function"==typeof(null==Vd?void 0:Vd.removeEventListener)&&Vd.removeEventListener("resize",z(ph,this)),j(ph,this,null),z(fh,this)&&((null==Vd?void 0:Vd.clearInterval)||clearInterval)(z(fh,this)),j(fh,this,null),j(ch,this,null)}}function gh(){if(!z(ch,this))return;const t=null==Vd?void 0:Vd.ResizeObserver;if("function"==typeof t)return j(hh,this,new t((()=>B(mh,this,yh).call(this)))),void z(hh,this).observe(z(ch,this));j(ph,this,(()=>B(mh,this,yh).call(this))),"function"==typeof(null==Vd?void 0:Vd.addEventListener)&&Vd.addEventListener("resize",z(ph,this));const e=(null==Vd?void 0:Vd.setInterval)||setInterval;j(fh,this,e((()=>B(mh,this,yh).call(this)),250))}function yh(t=!1){if(!z(ch,this))return;const{width:e,height:n}=function(t){const e=Number(null==t?void 0:t.clientWidth),n=Number(null==t?void 0:t.clientHeight);return{width:Number.isFinite(e)&&e>0?Math.round(e):0,height:Number.isFinite(n)&&n>0?Math.round(n):0}}(z(ch,this));(t||e!==z(uh,this)||n!==z(dh,this))&&(j(uh,this,e),j(dh,this,n),this.trigger("containerresize",{width:e,height:n}))}var bh={VIDEO_SOURCE_PREFIX:"__SRC_VID:",TEXTURE_SOURCE_PREFIX:"__SRC_TEXTURE:",PREVIOUS_OUTPUT_PREFIX:"__PREVIOUS:",SAVED_FRAME_PREFIX:"__SAVED_FRAME:",SYSTEM_NODES:{FILTERS:{RENDER_TO_CANVAS:"__default"},TAGS:{ATOM:"atom",FILTER:"filter",COMPOSITE_FILTER:"composite",TRANSITION_FILTER:"transition"}},MESSAGES:{UPDATE_OPTIONS:"update_options"}};class kh{constructor(t,e){this.canvasSource=t,this.startRendering=e,this.gl=null,this.glOptions=null}init(t,e,n){this.glOptions=n||{};const i=this.initCanvas(this.canvasSource,t,e);return this.initWebgl(i,this.glOptions)}initCanvas(){throw new Error("implement on concrete class")}getContextConfig(t={}){if(!t||"object"!=typeof t)return{contextType:"webgl",contextAttributes:void 0};const{contextType:e,contextAttributes:n,__shaderGraph:i,...r}=t,o=Object.prototype.hasOwnProperty.call(t,"contextAttributes");let s=o?n:r;return o||!s||"object"!=typeof s||Array.isArray(s)||0!==Object.keys(s).length||(s=void 0),{contextType:e||"webgl",contextAttributes:s}}initWebgl(t,e={}){const{contextType:n,contextAttributes:i}=this.getContextConfig(e),r=t.getContext(n,i);if(!r)throw new Error(`Browser doesn't support ${n}`);return r.enable(r.BLEND),r.disable(r.DEPTH_TEST),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT),r}isStartRendering(){return this.startRendering}}var xh,wh={exports:{}},_h=(xh||(xh=1,function(t){var e=Object.prototype.hasOwnProperty,n="~";function i(){}function r(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function o(t,e,i,o,s){if("function"!=typeof i)throw new TypeError("The listener must be a function");var a=new r(i,o||t,s),l=n?n+e:e;return t._events[l]?t._events[l].fn?t._events[l]=[t._events[l],a]:t._events[l].push(a):(t._events[l]=a,t._eventsCount++),t}function s(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function a(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(n=!1)),a.prototype.eventNames=function(){var t,i,r=[];if(0===this._eventsCount)return r;for(i in t=this._events)e.call(t,i)&&r.push(n?i.slice(1):i);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(t)):r},a.prototype.listeners=function(t){var e=n?n+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,o=i.length,s=new Array(o);r<o;r++)s[r]=i[r].fn;return s},a.prototype.listenerCount=function(t){var e=n?n+t:t,i=this._events[e];return i?i.fn?1:i.length:0},a.prototype.emit=function(t,e,i,r,o,s){var a=n?n+t:t;if(!this._events[a])return!1;var l,c,u=this._events[a],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,e),!0;case 3:return u.fn.call(u.context,e,i),!0;case 4:return u.fn.call(u.context,e,i,r),!0;case 5:return u.fn.call(u.context,e,i,r,o),!0;case 6:return u.fn.call(u.context,e,i,r,o,s),!0}for(c=1,l=new Array(d-1);c<d;c++)l[c-1]=arguments[c];u.fn.apply(u.context,l)}else{var h,f=u.length;for(c=0;c<f;c++)switch(u[c].once&&this.removeListener(t,u[c].fn,void 0,!0),d){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,e);break;case 3:u[c].fn.call(u[c].context,e,i);break;case 4:u[c].fn.call(u[c].context,e,i,r);break;default:if(!l)for(h=1,l=new Array(d-1);h<d;h++)l[h-1]=arguments[h];u[c].fn.apply(u[c].context,l)}}return!0},a.prototype.on=function(t,e,n){return o(this,t,e,n,!1)},a.prototype.once=function(t,e,n){return o(this,t,e,n,!0)},a.prototype.removeListener=function(t,e,i,r){var o=n?n+t:t;if(!this._events[o])return this;if(!e)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==e||r&&!a.once||i&&a.context!==i||s(this,o);else{for(var l=0,c=[],u=a.length;l<u;l++)(a[l].fn!==e||r&&!a[l].once||i&&a[l].context!==i)&&c.push(a[l]);c.length?this._events[o]=1===c.length?c[0]:c:s(this,o)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&s(this,e)):(this._events=new i,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,t.exports=a}(wh)),wh.exports),Ih=yd(_h);class Th extends kh{constructor(t){super(t,!0),this.setSrcVidTracksFn=null,this.shouldUpdateTexture=!0,this.onPlayerSeeking=this.onPlayerSeeking.bind(this),this.onPlayerSeeked=this.onPlayerSeeked.bind(this),this.onPlayerNodeStart=this.onPlayerNodeStart.bind(this),this.oncePlayerPlaying=this.oncePlayerPlaying.bind(this);const e=new Ih;this.on=e.on.bind(e),this.off=e.off.bind(e),this.once=e.once.bind(e),this.trigger=e.emit.bind(e)}onPlayerSeeking(){this.shouldUpdateTexture=!1}onPlayerSeeked(){this.shouldUpdateTexture=!0}onPlayerNodeStart(){this.shouldUpdateTexture=!0,"function"==typeof this.player.canvas.drawFrame&&this.player.canvas.drawFrame(),this.trigger("forcerender")}oncePlayerPlaying(){this.onPlayerNodeStart()}addPlayerListeners(){this.player&&(this.player.on("seeking",this.onPlayerSeeking),this.player.on("seeked",this.onPlayerSeeked),this.player.on("nodestart",this.onPlayerNodeStart),this.player.once("playing",this.oncePlayerPlaying))}removePlayerListeners(){this.player&&(this.player.off("seeking",this.onPlayerSeeking),this.player.off("seeked",this.onPlayerSeeked),this.player.off("nodestart",this.onPlayerNodeStart),this.player.off("playing",this.oncePlayerPlaying))}initCanvas(t,e,n){var i;this.player=t,this.setSrcVidTracksFn=e;const{contextType:r,contextAttributes:o}=this.getContextConfig(this.glOptions),s=!1!==(null===(i=this.glOptions)||void 0===i||null===(i=i.__shaderGraph)||void 0===i?void 0:i.forwardContextAttributes)&&null!=(a=o)&&"object"==typeof a&&!Array.isArray(a)&&Object.keys(a).length>0;var a;const l={contextType:r};s&&(l.contextAttributes=o),t.initPlugin("canvas",l);const c={drawFrame:this.canvasDrawFrameFn.bind(this),resize:n,contextType:r,offscreenVideoCanvasEnabled:!1,viewportModeEnabled:!0,fps:0};return s&&(c.contextAttributes=o),t.canvas.init(c),t.paused&&0===t.currentTime&&(this.shouldUpdateTexture=!1),this.addPlayerListeners(),t.canvas.canvas}canvasDrawFrameFn(t,e,n){var i;this.setSrcVidTracksFn&&this.shouldUpdateTexture&&t&&e&&n&&(n.videoWidth||n.displayWidth)&&(n.videoHeight||n.displayHeight)&&(!(i=n)||"boolean"!=typeof i.isDataLoaded||i&&i.isDataLoaded&&(void 0===i.isFrameTextureReady||i.isFrameTextureReady))&&this.setSrcVidTracksFn(n)}async recover(){if(this.player&&this.player.paused)return new Promise((t=>{this.player.once("seeked",(()=>{this.shouldUpdateTexture=!0,t()})),this.player.currentTime=this.player.currentTime}))}dispose(){this.player&&(this.player.canvas&&"function"==typeof this.player.canvas.dispose&&this.player.canvas.dispose(),this.removePlayerListeners(),this.player=null)}}class Eh extends kh{constructor(t){super(t,!1)}initCanvas(t,e){const n=function(){const t=document.querySelector("video");t&&t.videoHeight&&e(t),requestAnimationFrame(n)};return requestAnimationFrame(n),document.getElementById(t)}}class Sh extends kh{constructor(t){super(t,!1)}initCanvas({src:t,dest:e},n,i){const r="string"==typeof e?document.querySelector(e):e,o="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement,s=()=>{this.isDisposed||(t&&t.videoHeight&&n(t),requestAnimationFrame(s))};return o?requestAnimationFrame(s):"function"==typeof t?t(n,i):n(t),r}dispose(){this.isDisposed=!0}}var Mh=function(t){let e;return e="string"==typeof t?new Eh(t):t&&t.src&&t.dest?new Sh(t):new Th(t),e};function Ah(t){return Array.isArray(t)||(t=[t]),t}class Nh{constructor(t){this.store=t?{...t.get()}:{}}reset(){this.store={}}get(t){if(!t)return this.store;const e=(t=Ah(t)).reduce(((t,e)=>{const n=this.store[e];return t.push(n),t}),[]);return 1===e.length?e[0]:e}set(t,e){if(t=Ah(t),e=Ah(e),t.length!==e.length)throw new Error(`cant set values ${e} to keys ${t}, length did not match`);t.forEach(((t,n)=>{this.store[t]=e[n]}))}}class Fh{constructor(t,e,n,i){this.gl=i.gl,this.unit=t,this.bindPoint=e,this.height=1080,this.width=1920,this.textureObject=n.object,this.textureObjectInfo=n,this.isStatic=!1,n.needRefresh&&this.setParameters()}getUnit(){return this.unit}getObject(){return this.textureObject}bind(){this.gl.bindTexture(this.bindPoint,this.textureObject)}fill(){throw new Error("impl in concrete class")}setParameters(){this.bind(),this.gl.texParameteri(this.bindPoint,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.bindPoint,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.bindPoint,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.bindPoint,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR)}active(){this.gl.activeTexture(this.gl.TEXTURE0+this.getUnit())}beforeUse(){this.active(),this.bind()}dispose(){this.gl.deleteTexture(this.textureObject)}setHeight(t){this.height=t}setWidth(t){this.width=t}getHeight(){if(!this.height)throw new Error(`texture ${this.unit} no height init `);return this.height}getWidth(){if(!this.width)throw new Error(`texture ${this.unit} no width init `);return this.width}}const Ch=Dd("frame","warn");let Oh=!1;if("undefined"!=typeof window&&window.InterludePlayer){let t=window.InterludePlayer.environment,e=t.isAffectedBySafari17SeekBug,n=t.ua.includes("WMT1H")&&t.ua.includes("iOS/17");Oh=e||n}function Ph(t,e){const n=t.gl;var i;n.texImage2D(t.bindPoint,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,e),t.__hasAllocated=!0,i=t,Number.isFinite(i.width)&&Number.isFinite(i.height)&&(i.actualWidth=i.width,i.actualHeight=i.height,i.textureObjectInfo&&(i.textureObjectInfo.allocatedWidth=i.width,i.textureObjectInfo.allocatedHeight=i.height))}class Dh extends Fh{fill(t){if(Oh&&(t.paused||"undefined"!=typeof document&&"hidden"===document.visibilityState))return;if(t.__closed)return;this.bind();const e=function(t,e){let n=!t.__hasAllocated;return e?(e.width===t.width&&e.height===t.height||(n=!0),t.width=e.width,t.height=e.height,n):n}(this,function(t){if(!t)return;const e=[[t.displayWidth,t.displayHeight],[t.codedWidth,t.codedHeight],[t.videoWidth,t.videoHeight],[t.naturalWidth,t.naturalHeight],[t.width,t.height]];for(let t=0;t<e.length;t+=1){const[n,i]=e[t],r=Number(n),o=Number(i);if(Number.isFinite(r)&&Number.isFinite(o)&&r>0&&o>0)return{width:r,height:o}}}(t)),n=performance.now();!function(t,e,n){const i=t.gl,r=function(t){if("undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement)return!0;const e="object"==typeof window?window:"object"==typeof self?self:null,n=e&&e.VideoFrame;return"function"==typeof n&&t instanceof n}(e);r&&(t.__useSubImage=!1),n||!1===t.__useSubImage||r?Ph(t,e):(i.texSubImage2D(t.bindPoint,0,0,0,i.RGBA,i.UNSIGNED_BYTE,e),void 0===t.__useSubImage&&(i.getError()!==i.NO_ERROR?(t.__useSubImage=!1,Ph(t,e)):t.__useSubImage=!0))}(this,t,e);const i=(performance.now()-n)/1e3;i>=.1&&Ch.warn(`[fill] texImage2D() took ${i.toFixed(3)} seconds to execute.`),"function"==typeof t.close&&!0!==t.__keepOpen&&(t.close(),t.__closed=!0)}}class Rh extends Fh{constructor(t,e,n){super(...arguments),n.needRefresh&&(this.fill(null),n.needRefresh=!1)}fill(t){if(this.bind(),t&&t.tagName&&"IMG"===t.tagName){const e=Number(t.naturalWidth||t.width),n=Number(t.naturalHeight||t.height);this.gl.texImage2D(this.bindPoint,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),Number.isFinite(e)&&Number.isFinite(n)&&(this.actualWidth=e,this.actualHeight=n,this.textureObjectInfo&&(this.textureObjectInfo.allocatedWidth=e,this.textureObjectInfo.allocatedHeight=n))}else{const e=this.gl.canvas.width,n=this.gl.canvas.height;this.gl.texImage2D(this.bindPoint,0,this.gl.RGBA,e,n,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),Number.isFinite(e)&&Number.isFinite(n)&&(this.actualWidth=e,this.actualHeight=n,this.textureObjectInfo&&(this.textureObjectInfo.allocatedWidth=e,this.textureObjectInfo.allocatedHeight=n))}}}var Bh=function(t,e,n,i,r){let o;switch(t){case"frame":o=new Dh(e,n,i,r);break;case"pixel":o=new Rh(e,n,i,r);break;default:throw new Error(`cant recognize type ${t}`)}return o};class Lh{constructor(t){this.gl=t.gl;const e=this.gl.getParameter(this.gl.MAX_TEXTURE_IMAGE_UNITS)||20;return this.maxTextures=Math.min(20,e),this.textureObjectPool=[],this.textureUnitsPool=new Set(Array(this.maxTextures).keys()),this.activeTextures=t.activeTextures instanceof Set?t.activeTextures:new Set,{createTexture:this.createTexture.bind(this),releaseTexture:this.releaseTexture.bind(this),refreshTextureObjects:this.refreshTextureObjects.bind(this),refreshActiveTextures:this.refreshActiveTextures.bind(this)}}getTextureObject(){return this.textureObjectPool.pop()||{object:this.gl.createTexture(),needRefresh:!0}}getTextureUnit(){const t=this.textureUnitsPool.values(),e=Math.min.apply(null,[...t]);return this.textureUnitsPool.delete(e),e}createTexture(t){const e=t&&t.type||{},n=this.gl.TEXTURE_2D,i=this.getTextureUnit(),r=this.getTextureObject(),o=Bh(e,i,n,r,{gl:this.gl});return this.activeTextures.add(o),o}releaseTexture(t){this.textureUnitsPool.has(t.getUnit())||(this.textureObjectPool.push({object:t.getObject(),needRefresh:!1}),this.textureUnitsPool.add(t.getUnit())),this.activeTextures.delete(t)}refreshTextureObjects(){this.textureObjectPool.forEach((t=>{t.needRefresh=!0}))}refreshActiveTextures(){const t=new Set;this.activeTextures.forEach((e=>{if(!e||"function"!=typeof e.getUnit)return;t.add(e.getUnit());const n={object:this.gl.createTexture(),needRefresh:!0};e.gl=this.gl,e.textureObjectInfo=n,e.textureObject=n.object,e.__hasAllocated=!1,e.__useSubImage=void 0,e.actualWidth=null,e.actualHeight=null,"function"==typeof e.setParameters&&e.setParameters()})),this.textureObjectPool=[],this.textureUnitsPool=new Set(Array(this.maxTextures).keys()),t.forEach((t=>{this.textureUnitsPool.delete(t)}))}}const zh=bh.VIDEO_SOURCE_PREFIX,Wh=bh.TEXTURE_SOURCE_PREFIX,jh=bh.PREVIOUS_OUTPUT_PREFIX,Uh=bh.SAVED_FRAME_PREFIX;function $h(t,e,n){t.set(`${zh}${n}`,e)}function qh(t,e,n){t.set(`${jh}${n}`,e)}function Vh(t,e,n){t.set(`${Uh}${n}`,e)}class Gh{constructor(t){return this.gl=t.gl,this.glSource=t.glSource,this.textureManager=t.textureManager,this.capturedFramesManager=t.capturedFramesManager,{setVideoSources:this.setVideoSources.bind(this),setTextureSource:this.setTextureSource.bind(this),getInput:this.getInput.bind(this),getPrevOutput:this.getPrevOutput.bind(this),setOutputs:this.setOutputs.bind(this),disposeTextures:this.disposeTextures.bind(this),disposeAllStore:this.disposeAllStore.bind(this)}}setVideoSources(t){for(const[e,n]of Object.entries(this.capturedFramesManager.getCurrentFrames()))$h(t,n,e),qh(t,n,e);for(const[e,n]of Object.entries(this.capturedFramesManager.getSavedFrames()))Vh(t,n,e)}setTextureSource(t,e,n){t.set(`${Wh}${n}`,e)}getInput(t,e){return t.get(e)}getPrevOutput(t,e){return e=Number.isInteger(e)?e:0,t.get(`${jh}${e}`)}setOutputs(t,e=[],n=[]){if(Array.isArray(n)||(n=[n]),e.length>n.length)throw new Error(`output ids ${e.length}  is bigger then supplied outputs ${n.length}`);n.forEach(((e,n)=>{qh(t,e,n)})),e.forEach(((e,i)=>{t.set(e,n[i])}))}disposeTextures(t,e){const n=e.getUnit();t.forEach((t=>{const e=t.getUnit();this.capturedFramesManager.isReservedUnit(e)||n===e||this.textureManager.releaseTexture(t)}))}disposeAllStore(t){const e=new Set;Object.values(t.get()).forEach((t=>{const n=t.getUnit();this.capturedFramesManager.isReservedUnit(n)||e.has(n)||t.isStatic||(this.textureManager.releaseTexture(t),e.add(n))}))}}class Hh{constructor(t){this.context=t}bind(){throw new Error("impl in concrete")}}let Kh=100,Xh=100;function Yh(t,e){Kh=t,Xh=e}let Qh=class extends Hh{bind(t){var e,n;this.context.gl.bindFramebuffer(this.context.gl.FRAMEBUFFER,null);const i=null===(e=this.context.gl)||void 0===e||null===(e=e.canvas)||void 0===e?void 0:e.width,r=null===(n=this.context.gl)||void 0===n||null===(n=n.canvas)||void 0===n?void 0:n.height;return Number.isFinite(i)&&Number.isFinite(r)&&i>0&&r>0&&(this.context.gl.viewport(0,0,i,r),Yh(i,r)),t}},Jh=class extends Hh{bind(t){Array.isArray(t)||(t=[t]),this.context.gl.bindFramebuffer(this.context.gl.FRAMEBUFFER,this.context.frameBufferObject);const e=this.context.textureManager.createTexture({type:"pixel"}),n=this.context.gl.COLOR_ATTACHMENT0;if(this.context.gl.framebufferTexture2D(this.context.gl.FRAMEBUFFER,n,this.context.gl.TEXTURE_2D,e.textureObject,0),this.context.gl.clear(this.context.gl.COLOR_BUFFER_BIT),!0===this.context.useCanvasSizedFilterTargets){var i,r;const t=null===(i=this.context.gl)||void 0===i||null===(i=i.canvas)||void 0===i?void 0:i.width,n=null===(r=this.context.gl)||void 0===r||null===(r=r.canvas)||void 0===r?void 0:r.height;Number.isFinite(t)&&t>0&&e.setWidth(t),Number.isFinite(n)&&n>0&&e.setHeight(n);const o=e.textureObjectInfo,s=null==o?void 0:o.allocatedWidth,a=null==o?void 0:o.allocatedHeight;Number.isFinite(t)&&Number.isFinite(n)&&(s!==t||a!==n)&&"function"==typeof e.fill&&e.fill(null)}else t[0]&&(e.setHeight(t[0].getHeight()),e.setWidth(t[0].getWidth()));return e}};class Zh{constructor(t){this.gl=t.gl,this.textureManager=t.textureManager,this.useCanvasSizedFilterTargets=t.useCanvasSizedFilterTargets,this.bufferIndex=0,this.frameBufferObjectsPool=[this.gl.createFramebuffer(),this.gl.createFramebuffer(),this.gl.createFramebuffer()]}getFrameBufferObject(){const t=this.frameBufferObjectsPool[this.bufferIndex];return this.bufferIndex=this.bufferIndex++%this.frameBufferObjectsPool.length,t}create(t){let e;return e=t===bh.SYSTEM_NODES.FILTERS.RENDER_TO_CANVAS?new Qh({gl:this.gl}):new Jh({gl:this.gl,textureManager:this.textureManager,frameBufferObject:this.getFrameBufferObject(),useCanvasSizedFilterTargets:this.useCanvasSizedFilterTargets}),e}}function tf(t,e,n){const i=e===t.VERTEX_SHADER?"vertex":"fragment";var r;r=t,Boolean(r)&&("undefined"!=typeof WebGL2RenderingContext&&r instanceof WebGL2RenderingContext||"function"==typeof r.createVertexArray)&&(n=function(t="",e){if("string"!=typeof t||!t||function(t=""){return"string"==typeof t&&t.includes("#version 300 es")}(t))return t;let n=t;if("vertex"===e&&(n=n.replace(/\battribute\b/g,"in"),n=n.replace(/\bvarying\b/g,"out")),"fragment"===e&&(n=n.replace(/\bvarying\b/g,"in"),n=n.replace(/\bgl_FragColor\b/g,"fragColor")),n=n.replace(/\btexture2D\b/g,"texture"),n=`#version 300 es\n${n}`,"fragment"===e&&n.includes("fragColor")&&!/\bout\s+vec4\s+fragColor\s*;/.test(n)){const t=n.split("\n");let e=1;for(let n=1;n<t.length;n+=1)if(t[n].trim().startsWith("precision ")){e=n+1;break}t.splice(e,0,"out vec4 fragColor;"),n=t.join("\n")}return n}(n,i));const o=t.createShader(e);if(!o)throw new Error(`Failed to create ${i} shader`);if(t.shaderSource(o,n),t.compileShader(o),t.getShaderParameter(o,t.COMPILE_STATUS))return o;const s=t.getShaderInfoLog(o);throw t.deleteShader(o),new Error(s)}var ef=function(t,e){return tf(t,t.VERTEX_SHADER,e)},nf=function(t,e){return tf(t,t.FRAGMENT_SHADER,e)};const rf={position_3d:0,texture_coordinate_2d:1};var of=function(t,e,n){const i=t.createProgram();if(t.attachShader(i,e),t.attachShader(i,n),Object.entries(rf).forEach((([e,n])=>{t.bindAttribLocation(i,n,e)})),t.linkProgram(i),t.getProgramParameter(i,t.LINK_STATUS))return i;const r=t.getProgramInfoLog(i);throw t.deleteProgram(i),new Error(r)},sf=[-1,-1,1,1,-1,1,-1,1,1,1,1,1],af=[0,1,2,2,1,3],lf=[0,0,1,0,0,1,1,1];const cf=96,uf=[new Float32Array(new ArrayBuffer(cf)),new Float32Array(new ArrayBuffer(cf)),new Float32Array(new ArrayBuffer(cf)),new Float32Array(new ArrayBuffer(cf)),new Float32Array(new ArrayBuffer(cf)),new Float32Array(new ArrayBuffer(cf))],df=[new Int16Array(6),new Int16Array(6),new Int16Array(6)];class hf{constructor(t,e,n){return this.gl=n.gl,this.program=n.program,this.bindPoint=e,this.location=this.gl.getAttribLocation(this.program,t),this.buffer=this.gl.createBuffer(),this.floatBufferCounter=0,this.unit16BufferCounter=0,{fillBuffer:this.fillBuffer.bind(this),bindBuffer:this.bindBuffer.bind(this),setPointer:this.setPointer.bind(this),dispose:this.dispose.bind(this)}}enable(){this.gl.enableVertexAttribArray(this.location)}bindBuffer(){this.gl.bindBuffer(this.bindPoint,this.buffer)}getBuffer(){let t;switch(this.bindPoint){case this.gl.ARRAY_BUFFER:t=uf[this.floatBufferCounter],this.floatBufferCounter=this.floatBufferCounter++%uf.length;break;case this.gl.ELEMENT_ARRAY_BUFFER:t=df[this.unit16BufferCounter],this.unit16BufferCounter=this.unit16BufferCounter++%df.length;break;default:throw new Error("cant get buffer for this bind point: ",this.bindPoint)}return t}fillBuffer(t){this.bindBuffer();const e=this.getBuffer();e.set(t,0),this.gl.bufferData(this.bindPoint,e,this.gl.STATIC_DRAW)}getPointerData(){throw new Error("you should impl this function")}setPointer(){this.bindBuffer(),this.enable();const t=this.getPointerData();this.gl.vertexAttribPointer(this.location,t.size,t.type,t.normalize,t.stride,t.offset)}dispose(){this.gl.deleteBuffer(this.buffer)}}const ff={position_3d:class extends hf{getPointerData(){return{size:3,type:this.gl.FLOAT,normalize:!1,stride:0,offset:0}}},position_indexes:class extends hf{setPointer(){}getPointerData(){}enable(){}},texture_coordinate_2d:class extends hf{getPointerData(){return{size:2,type:this.gl.FLOAT,normalize:!0,stride:0,offset:0}}}};var pf=function(t,e,n){const i=ff[t];if(!i)throw new Error(`${t} is not a attribute name,choose from  list: ${Object.keys(ff)}`);return new i(t,e,n)};class mf{constructor(t,e){this.gl=e.gl,this.program=e.program,this.location=this.gl.getUniformLocation(this.program,t)}compute(){return this}set(){return this}}class vf extends mf{set(t){this.gl.uniform1fv(this.location,t)}}class gf extends mf{set(t){t&&(t.beforeUse(),this.gl.uniform1i(this.location,t.getUnit()))}}const yf="first_texture_dimensions",bf="viewport_dimensions",kf="time",xf={RUNTIME_OPTIONS:"runtimeOptions[0]",STATIC_OPTIONS:"staticOptions[0]",FIRST_TEXTURE:"first_texture",SECOND_TEXTURE:"second_texture",FIRST_MATRIX:"first_mat4"},wf={[xf.FIRST_TEXTURE]:gf,[xf.SECOND_TEXTURE]:gf,[xf.FIRST_MATRIX]:class extends mf{set(t){this.gl.uniformMatrix4fv(this.location,!1,t)}},[xf.STATIC_OPTIONS]:vf,[xf.RUNTIME_OPTIONS]:vf};var _f=function(t,e){const n=wf[t];if(!n)throw new Error(`${t} is not a attribute name,choose from  list: ${Object.keys(wf)}`);return new n(t,e)},If=function(t,e){let n=(Date.now()-t||0)/(e||1);return n=Number.parseFloat(n).toFixed(7),n=Math.min(1,n),n};const Tf="position_3d",Ef="position_indexes",Sf="texture_coordinate_2d";class Mf{constructor(t,e,n,i){this.type=t,this.gl=i.gl,this.frameBuffer=i.frameBufferFactory.create(t),this.rebindAttributesOnProgramSwitch=!1!==i.rebindAttributesOnProgramSwitch,this.vertexShader=ef(this.gl,e.vertex),this.fragmentShader=nf(this.gl,e.fragment),this.program=of(this.gl,this.vertexShader,this.fragmentShader);const r={gl:this.gl,program:this.program};this.attributes=function(t,e){const n={};return t=t||[],(t=[{id:Tf,bindPoint:e.gl.ARRAY_BUFFER},{id:Ef,bindPoint:e.gl.ELEMENT_ARRAY_BUFFER},{id:Sf,bindPoint:e.gl.ARRAY_BUFFER}].concat(t)).forEach((t=>{const i=t.id;n[i]=pf(i,t.bindPoint,e)})),n}(n.attributes,r),this.uniforms=function(t,e){const n={};return(t=t||[]).forEach((t=>{const i=t.id;n[i]=_f(i,e)})),n}(n.uniforms,r),this.gl.useProgram(this.program),i.__handleAttributesInitedOnce||(this.handleAttributes(),i.__handleAttributesInitedOnce=!0),this.handleStaticUniforms(i.options)}static getFilterType(){throw new Error("impl in concrete class")}static getInputsCount(){throw new Error(`impl in concrete class ${this.getFilterType()}`)}static getInitialOptions(){throw new Error(`impl in concrete class ${this.getFilterType()}`)}static getUniformInfo(t){let e=[{id:xf.RUNTIME_OPTIONS},{id:xf.STATIC_OPTIONS}];return(t.getUniformList||Mf.getUniformList)().forEach((t=>{Object.values(xf).includes(t)&&e.push({id:t})})),e}handleRuntimeUniforms(t,e){const{inputTextures:n,viewportDimensions:i}=t;let r=Array.isArray(n)?n:[n],o=[];(this.constructor.getUniformList||Mf.getUniformList)().forEach((t=>{switch(t){case xf.FIRST_TEXTURE:this.uniforms[xf.FIRST_TEXTURE].set(r[0]);break;case xf.SECOND_TEXTURE:this.uniforms[xf.SECOND_TEXTURE].set(r[1]);break;case yf:o=[...o,r[0].getWidth(),r[0].getHeight()];break;case bf:o=[...o,i.width,i.height];break;case kf:{const t=If(e.startTime,e.duration);o=[...o,t];break}}})),o.length>0&&this.uniforms[xf.RUNTIME_OPTIONS].set(o)}static getUniformList(){return[xf.FIRST_TEXTURE]}getOptionsDisplay(){return[]}handleStaticUniforms(){}handleAttributes(){this.attributes[Tf].fillBuffer(sf),this.attributes[Tf].setPointer(),this.attributes[Ef].fillBuffer(af),this.attributes[Sf].fillBuffer(lf),this.attributes[Sf].setPointer()}disposeAttributes(){Object.values(this.attributes).forEach((t=>{t.dispose()}))}render(t,e){const n=this.frameBuffer.bind(t);let i={width:Kh,height:Xh};return this.gl.useProgram(this.program),this.rebindAttributesOnProgramSwitch&&this.gl.__shaderGraphLastProgram!==this.program&&(this.handleAttributes(),this.gl.__shaderGraphLastProgram=this.program),this.handleRuntimeUniforms({inputTextures:t,viewportDimensions:i},e),this.draw(),n}draw(){const t=this.gl.TRIANGLES,e=this.gl.UNSIGNED_SHORT;this.gl.drawElements(t,6,e,0)}updateStaticUniforms(t){this.gl.useProgram(this.program),this.handleStaticUniforms(t)}dispose(){this.gl.detachShader(this.program,this.vertexShader),this.gl.deleteShader(this.vertexShader),this.gl.detachShader(this.program,this.fragmentShader),this.gl.deleteShader(this.fragmentShader),this.gl.deleteProgram(this.program)}}class Af extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Af)};super(Af.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  // we need to flip y poisiton bacause webgl display the canvas\n  // with 0,0 being the bottom left corner \n  // insted of the traditional top left\n  float flip_y_position = position_3d.y * (-1.0);\n  vec4 normalize_poistion = vec4(position_3d.x, flip_y_position, position_3d.z, 1);\n  \n  gl_Position = normalize_poistion;\n  \n  current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  gl_FragColor = texture2D(first_texture, current_texture_coordinate_2d);\n}"},e,t)}static getFilterType(){return"__default"}static getInputsCount(){return 1}static getInitialOptions(){return{}}}var Nf,Ff="undefined"!=typeof Float32Array?Float32Array:Array;function Cf(){var t=new Ff(3);return Ff!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function Of(t,e,n){var i=new Ff(3);return i[0]=t,i[1]=e,i[2]=n,i}function Pf(){var t=new Ff(4);return Ff!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}Cf(),function(){var t;t=new Ff(4),Ff!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}(),Cf(),Of(1,0,0),Of(0,1,0),Pf(),Pf(),Nf=new Ff(9),Ff!=Float32Array&&(Nf[1]=0,Nf[2]=0,Nf[3]=0,Nf[5]=0,Nf[6]=0,Nf[7]=0),Nf[0]=1,Nf[4]=1,Nf[8]=1;class Df extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Df)};super(Df.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform mat4 first_mat4;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xy, 1, 1);\n\n  gl_Position =  first_mat4 * normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  gl_FragColor = texture2D(first_texture, current_texture_coordinate_2d);\n  // gl_FragColor = vec4(256,0,0,1);\n}"},e,t)}static getFilterType(){return"transform"}static getInputsCount(){return 1}static getInitialOptions(){return{translate:{x:0,y:0},scale:{x:1,y:1},rotate:0}}getOptionsDisplay(){return[{properties:["translate","x"],type:"slider",minValue:-2,maxValue:2,step:.001,initialValue:Df.getInitialOptions().translate.x},{properties:["translate","y"],type:"slider",minValue:-2,maxValue:2,step:.001,initialValue:Df.getInitialOptions().translate.y},{properties:["scale","x"],type:"slider",minValue:-10,maxValue:10,step:.001,initialValue:Df.getInitialOptions().scale.x},{properties:["scale","y"],type:"slider",minValue:-10,maxValue:10,step:.001,initialValue:Df.getInitialOptions().scale.y},{properties:["rotate"],type:"slider",minValue:-360,maxValue:360,step:1,initialValue:Df.getInitialOptions().rotate}]}static getUniformList(){return[xf.FIRST_TEXTURE,xf.FIRST_MATRIX]}handleStaticUniforms(t){if(!t||!t.translate||!t.scale)throw new Error(`bad options object for Transform filter, check ${t}`);const e=Number.parseFloat(t.translate.x).toFixed(7),n=-1*Number.parseFloat(t.translate.y).toFixed(7),i=Number.parseFloat(t.scale.x).toFixed(7),r=Number.parseFloat(t.scale.y).toFixed(7),o=t.rotate||0;var s;this.transformMatrix=function(t,e,n,i){var r=e[0],o=e[1],s=e[2],a=e[3],l=r+r,c=o+o,u=s+s,d=r*l,h=r*c,f=r*u,p=o*c,m=o*u,v=s*u,g=a*l,y=a*c,b=a*u,k=i[0],x=i[1],w=i[2];return t[0]=(1-(p+v))*k,t[1]=(h+b)*k,t[2]=(f-y)*k,t[3]=0,t[4]=(h-b)*x,t[5]=(1-(d+v))*x,t[6]=(m+g)*x,t[7]=0,t[8]=(f+y)*w,t[9]=(m-g)*w,t[10]=(1-(d+p))*w,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}((s=new Ff(16),Ff!=Float32Array&&(s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[11]=0,s[12]=0,s[13]=0,s[14]=0),s[0]=1,s[5]=1,s[10]=1,s[15]=1,s),function(t,e,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"zyx",o=Math.PI/360;e*=o,i*=o,n*=o;var s=Math.sin(e),a=Math.cos(e),l=Math.sin(n),c=Math.cos(n),u=Math.sin(i),d=Math.cos(i);switch(r){case"xyz":t[0]=s*c*d+a*l*u,t[1]=a*l*d-s*c*u,t[2]=a*c*u+s*l*d,t[3]=a*c*d-s*l*u;break;case"xzy":t[0]=s*c*d-a*l*u,t[1]=a*l*d-s*c*u,t[2]=a*c*u+s*l*d,t[3]=a*c*d+s*l*u;break;case"yxz":t[0]=s*c*d+a*l*u,t[1]=a*l*d-s*c*u,t[2]=a*c*u-s*l*d,t[3]=a*c*d+s*l*u;break;case"yzx":t[0]=s*c*d+a*l*u,t[1]=a*l*d+s*c*u,t[2]=a*c*u-s*l*d,t[3]=a*c*d-s*l*u;break;case"zxy":t[0]=s*c*d-a*l*u,t[1]=a*l*d+s*c*u,t[2]=a*c*u+s*l*d,t[3]=a*c*d-s*l*u;break;case"zyx":t[0]=s*c*d-a*l*u,t[1]=a*l*d+s*c*u,t[2]=a*c*u-s*l*d,t[3]=a*c*d+s*l*u;break;default:throw new Error("Unknown angle order "+r)}return t}(Pf(),0,0,o),Of(e,n,0),Of(i,r,1)),this.uniforms[xf.FIRST_MATRIX].set(this.transformMatrix)}}class Rf extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Rf)};super(Rf.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[2];\n\nvarying vec2 blur_texture_coordinate_2d[11];\n\n\nvoid main() {\n  vec2 normalize_poistion = vec2(position_3d.xy);\n  gl_Position = vec4(normalize_poistion, 1, 1);\n\n  float texture_width = runtimeOptions[0];\n  float pixel_width = 1.0 / texture_width;\n\n  \n  for(int i=-5; i<5; ++i){\n    float current_i = float(i);\n    blur_texture_coordinate_2d[i+5] = texture_coordinate_2d + vec2(pixel_width * current_i, 0.0);  \n  }\n}\n",fragment:"\nprecision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 blur_texture_coordinate_2d[11];\n\nvoid main() {\n    vec4 out_colour = vec4(0.0);\n\tout_colour += texture2D(first_texture, blur_texture_coordinate_2d[0]) * 0.0093;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[1]) * 0.028002;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[2]) * 0.065984;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[3]) * 0.121703;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[4]) * 0.175713;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[5]) * 0.198596;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[6]) * 0.175713;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[7]) * 0.121703;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[8]) * 0.065984;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[9]) * 0.028002;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[10]) * 0.0093;\n       \n    \n    gl_FragColor = out_colour;\n}"},e,t)}static getFilterType(){return"horizontalBlur"}static getInputsCount(){return 1}static getInitialOptions(){return{}}static getUniformList(){return[xf.FIRST_TEXTURE,yf]}}class Bf extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Bf)};super(Bf.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[2];\n\nvarying vec2 blur_texture_coordinate_2d[11];\n\n\nvoid main() {\n  vec2 normalize_poistion = vec2(position_3d.xy);\n  gl_Position = vec4(normalize_poistion, 1, 1);\n\n  float texture_width = runtimeOptions[1];\n  float pixel_height = 1.0 / texture_width;\n\n  for(int i=-5; i<5; ++i){\n    float current_i = float(i);\n    blur_texture_coordinate_2d[i+5] = texture_coordinate_2d + vec2( 0.0, pixel_height * current_i);\n  }\n}\n",fragment:"\nprecision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 blur_texture_coordinate_2d[11];\n\nvoid main() {\n    vec4 out_colour = vec4(0.0);\n\tout_colour += texture2D(first_texture, blur_texture_coordinate_2d[0]) * 0.0093;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[1]) * 0.028002;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[2]) * 0.065984;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[3]) * 0.121703;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[4]) * 0.175713;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[5]) * 0.198596;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[6]) * 0.175713;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[7]) * 0.121703;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[8]) * 0.065984;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[9]) * 0.028002;\n    out_colour += texture2D(first_texture, blur_texture_coordinate_2d[10]) * 0.0093;\n       \n    \n    gl_FragColor = out_colour;\n}"},e,t)}static getFilterType(){return"verticalBlur"}static getInputsCount(){return 1}static getInitialOptions(){return{}}static getUniformList(){return[xf.FIRST_TEXTURE,yf]}}class Lf extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Lf)};super(Lf.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n  current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float staticOptions[3];\nuniform float runtimeOptions[4];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nconst float Depth = 3.;\nconst float Samples = 8.;\nfloat OffsetDist = staticOptions[0];\n\nvec2 srcDims = vec2(runtimeOptions[0], runtimeOptions[1]);\nvec2 vpDims = vec2(runtimeOptions[2], runtimeOptions[3]);\nvec2 iResolution = vpDims;\n\n\n#define TAU 6.28318530718\n\nvec4 RadialBlur(vec2 fragCoord, float radius) {\n  if (radius <= 0.) {\n    return texture2D(first_texture, fragCoord/iResolution.xy);\n  }\n\n  vec2 offset;\n  float angle = 0.;\n  vec4 color = vec4(0.);\n\n  for(float angle = 0.; angle < TAU; angle += (TAU/Samples)) {\n    offset = vec2(cos(angle), sin(angle)) * radius;\n    color += texture2D(first_texture, (fragCoord + offset)/iResolution.xy);\n  }\n\n  return color/Samples;\n\n}\n\nvec4 FastBlur(vec2 fragCoord) {\n\n  vec4 color;\n  vec2 offset;\n  float fib = 2.;\n  float fibTotal = 0.;\n\n  for(float i = 1.; i <= Depth; ++i) {\n    fib += i;\n    color += RadialBlur(fragCoord, i * OffsetDist)/ fib;\n    fibTotal += 1./fib;\n  }\n\n  return color/fibTotal;\n\n}\n\n// based on https://www.shadertoy.com/view/3ljBDd\nvoid main() {\n//  vec2 fragCoords = (vec2(current_texture_coordinate_2d) + 1.0) / 2.0 * vpDims;\n  vec2 fragCoords = vec2(current_texture_coordinate_2d) * vpDims;\n  gl_FragColor = FastBlur(fragCoords);\n}"},e,t)}static getFilterType(){return"fastBlur"}static getInputsCount(){return 1}static getInitialOptions(){return{}}static getUniformList(){return[xf.FIRST_TEXTURE,yf,bf]}handleStaticUniforms(t){var e;const n=(null!==(e=Number.parseFloat(t.offsetDist))&&void 0!==e?e:4).toFixed(3);this.uniforms[xf.STATIC_OPTIONS].set([n])}}class zf extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(zf)};super(zf.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n  current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float staticOptions[2];\nuniform float runtimeOptions[4];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvec2 vpDims = vec2(runtimeOptions[2], runtimeOptions[3]);\n\n// A simple directional blur that doesn't brighten the image, based on https://www.shadertoy.com/view/WdSXWD\n// and https://www.shadertoy.com/view/NltSD4\n\nvec4 dirBlur() {\n  float angle = staticOptions[0];\n  float strength = staticOptions[1];\n  if (strength == 0.0){\n    return texture2D(first_texture, current_texture_coordinate_2d);\n  }\n\n  vec2 uv = current_texture_coordinate_2d;\n\n  float r = radians(angle);\n  vec2 direction = vec2(sin(r), cos(r));\n\n  vec2 strengthDirection = strength * direction;\n  vec3 acc = vec3(0);\n  for(float i = -1.0; i <= 1.0; i += (2.0 / 50.0)) {\n    acc += texture2D(first_texture, uv - vec2(strengthDirection.x * i, strengthDirection.y * i)).rgb * (2.0 / 50.0) * .5;\n  }\n\n  return vec4(acc, 1.0);\n\n}\n\nvoid main() {\n  gl_FragColor = dirBlur();\n}"},e,t)}static getFilterType(){return"directionalBlur"}static getInputsCount(){return 1}static getInitialOptions(){return{}}static getUniformList(){return[xf.FIRST_TEXTURE,yf,bf]}handleStaticUniforms(t){var e,n;const i=(null!==(e=Number.parseFloat(t.angle))&&void 0!==e?e:90).toFixed(3),r=(null!==(n=Number.parseFloat(t.strength))&&void 0!==n?n:.1).toFixed(3);this.uniforms[xf.STATIC_OPTIONS].set([i,r])}}class Wf extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Wf)};super(Wf.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n  \n  current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform float staticOptions[1];\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n  float opacity = texture.w - (1.0 - staticOptions[0]);\n  gl_FragColor = vec4((texture.xyz) , opacity);\n}"},e,t)}static getFilterType(){return"opacity"}static getInputsCount(){return 1}static getInitialOptions(){return{power:1}}getOptionsDisplay(){return[{properties:["power"],type:"slider",minValue:0,maxValue:1,step:.001}]}handleStaticUniforms(t){const e=Number.parseFloat(t.power).toFixed(7);this.uniforms[xf.STATIC_OPTIONS].set([e])}}class jf extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(jf)};super(jf.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n  current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform sampler2D second_texture;\n\nuniform float staticOptions[7];\nuniform float runtimeOptions[2];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\n\nfloat roundedBoxSDF(vec2 point, vec2 center, vec2 area, float radius) {\n    return length(max(abs(point - center) - area + radius, 0.0)) - radius;\n}\n\nfloat boxSDF(vec2 point, vec2 center, vec2 area){\n    vec2 d = abs(point - center) - area;\n    return length(max(d,vec2(0)));\n}\n\n\nvoid main() {\n  float type = staticOptions[0];\n  vec2 aspectRatio = vec2(runtimeOptions[0]/runtimeOptions[1], 1.0);\n\n\n  vec2 center = vec2(staticOptions[1], staticOptions[2]) * aspectRatio;\n  vec2 area = max(vec2(staticOptions[3], staticOptions[4]) * aspectRatio, 0.0); \n  float radius = staticOptions[5];\n\n  vec2 SDF_PositionCoordinate2d = vec2(\n    current_position_coordinate_2d.x,\n    current_position_coordinate_2d.y * -1.0\n  )  * aspectRatio;\n\n  vec4 color1 = texture2D(first_texture, current_texture_coordinate_2d);\n  vec4 color2 = texture2D(second_texture, current_texture_coordinate_2d);\n\n  float dist;\n  vec4 color;\n  if(type == 0.0){\n    dist = boxSDF(SDF_PositionCoordinate2d, center, area);\n    color = (dist > 0.0) ? color2: color1;\n  } else {\n    dist = roundedBoxSDF(SDF_PositionCoordinate2d, center, area, radius);\n    color = (dist > 0.0) ? color2: color1;\n    color = mix( color, color2, 1.0-smoothstep(0.0,0.0025,abs(dist)));\n  }\n  \n  gl_FragColor = color;\n}"},e,t)}static getFilterType(){return"shapeCompositeMask"}static getInputsCount(){return 2}static getInitialOptions(){return{type:"box",center:{x:0,y:0},area:{width:0,height:0},radius:.01,edgeSoftness:0}}getOptionsDisplay(){return[{properties:["center","x"],type:"slider",minValue:-1,maxValue:1,step:.001},{properties:["center","y"],type:"slider",minValue:-1,maxValue:1,step:.001},{properties:["area","width"],type:"slider",minValue:-2,maxValue:2,step:.001},{properties:["area","height"],type:"slider",minValue:-2,maxValue:2,step:.001},{properties:["radius"],type:"slider",minValue:-2,maxValue:2,step:.001},{properties:["edgeSoftness"],type:"slider",minValue:-2,maxValue:2,step:.001}]}static getUniformList(){return[xf.FIRST_TEXTURE,yf,xf.SECOND_TEXTURE]}handleStaticUniforms(t){let e;switch(t.type){case"box":e=0;break;case"rounded":e=1;break;default:throw new Error("cant recognize shape composite mask type")}const n=Number.parseFloat(t.center.x).toFixed(7);let i=Number.parseFloat(t.center.y).toFixed(7);i+=0;const r=Number.parseFloat(t.area.width).toFixed(7),o=Number.parseFloat(t.area.height).toFixed(7),s=Number.parseFloat(t.radius).toFixed(7),a=Number.parseFloat(t.edgeSoftness).toFixed(7);this.uniforms[xf.STATIC_OPTIONS].set([e,n,i,r,o,s,a])}}class Uf extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Uf)};super(Uf.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform sampler2D second_texture;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 fgColor = texture2D(first_texture, current_texture_coordinate_2d);\n  vec4 bgColor = texture2D(second_texture, current_texture_coordinate_2d);\n  gl_FragColor = vec4(\n    mix(bgColor.xyz, fgColor.xyz, fgColor.w),\n    1.0\n  );\n  // vec4 fgColor = texture2D(textures[1], current_texture_coordinate_2d);\n  // if(fgColor.w > 0.0){\n  //   gl_FragColor = vec4(1.0,0,0,1);\n  // }else{\n  //   gl_FragColor = vec4(1.0,1.0,0,1);\n  // }\n  \n  \n}"},e,t)}static getFilterType(){return"shapeComposite"}static getInputsCount(){return 2}static getInitialOptions(){return{}}static getUniformList(){return[xf.FIRST_TEXTURE,xf.SECOND_TEXTURE]}}class $f extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo($f)};super($f.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform sampler2D second_texture;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  // Look it up in the LUT\n  vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n\n  mediump float blueColor = textureColor.b * 63.0;\n\n  mediump vec2 quad1;\n  quad1.y = floor(floor(blueColor) / 8.0);\n  quad1.x = floor(blueColor) - (quad1.y * 8.0);\n\n  mediump vec2 quad2;\n  quad2.y = floor(ceil(blueColor) / 8.0);\n  quad2.x = ceil(blueColor) - (quad2.y * 8.0);\n\n  highp vec2 texPos1;\n  texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.r);\n  texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.g);\n\n\n  highp vec2 texPos2;\n  texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.r);\n  texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.g);\n\n  lowp vec4 newColor1 = texture2D(second_texture, texPos1);\n  lowp vec4 newColor2 = texture2D(second_texture, texPos2);\n\n  lowp vec4 color = mix(newColor1, newColor2, fract(blueColor));\n\n  gl_FragColor = color;\n\n  // debug\n//   if (current_texture_coordinate_2d.x < 0.5) {\n//     // Left half: show original\n//     gl_FragColor = textureColor;\n//   } else {\n//    gl_FragColor = color;\n//  }\n}\n"},e,t)}static getFilterType(){return"lut"}static getInputsCount(){return 2}static getInitialOptions(){return{}}static getUniformList(){return[xf.FIRST_TEXTURE,xf.SECOND_TEXTURE]}getOptionsDisplay(){return[]}handleStaticUniforms(t){const e=Number.parseFloat(t.lutSize).toFixed(1);this.uniforms[xf.STATIC_OPTIONS].set([e])}}var qf="attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",Vf='precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\n// a 256 * 4 length array with values for the master, r, g and b curve respectively\n// Temporarily changed length to 256 to avoid the following error on some machines:\n// "Implementation limit of 4096 (e.g., number of built-in plus user defined active uniforms components) exceeded, fragment shader uses 4100 total uniforms."\nuniform float staticOptions[256];\n\n\n// implementation of round (doesn\'t exist in webgl)\nint round(float val){\n    return int(floor(val + 0.5));\n}\n\n// no dynamic array indexes in webgl\n// see https://stackoverflow.com/questions/30585265/what-can-i-use-as-an-array-index-in-glsl-in-webgl\nfloat getCurveValue(float pixelValue){\n    float v;\n    for (int k = 0; k < 256; k++) {\n        if (k == round(pixelValue * 255.0)){\n            v = float(staticOptions[k])  / 255.0;\n        }\n    }\n    return v;\n}\n\nvec3 masterCurve(vec4 color){\n    float r = getCurveValue(color.r);\n    float g = getCurveValue(color.g);\n    float b = getCurveValue(color.b);\n//    for (int k = 0; k < 256; ++k) {\n//        if (k == int(color.g) * 256){\n//            g = float(staticOptions[k])  / 256.0;\n//        }\n//    }\n//    for (int k = 0; k < 256; ++k) {\n//        if (k == int(color.b) * 256){\n//            b = float(staticOptions[k]) / 256.0;\n//        }\n//    }\n  return vec3(r,g,b);\n}\n\n//vec3 redCurve(vec3 color){\n//  int offset = 256;\n//  return vec3(staticOptions[int(int(color.r) + offset)], color.g, color.b);\n//}\n//\n//vec3 greenCurve(vec3 color){\n//  int offset = 256 * 2;\n//  return vec3(color.r, staticOptions[int(int(color.g) + offset)], color.b);\n//}\n//\n//vec3 blueCurve(vec3 color){\n//  int offset = 256 * 3;\n//  return vec3(color.r, color.g, staticOptions[int(int(color.b) + offset)]);\n//}\n\nvoid main() {\n//  vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n//  vec3 afterMaster = masterCurve(textureColor);\n//  vec3 afterRed = redCurve(afterMaster);\n//  vec3 afterGreen = greenCurve(afterRed);\n//  vec3 afterBlue = blueCurve(afterGreen);\n//  vec4 finalColor = vec4(afterBlue, textureColor.a);\n\n    vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n    vec3 afterMaster = masterCurve(textureColor);\n    vec4 finalColor = vec4(afterMaster, textureColor.a);\n\n  gl_FragColor = finalColor;\n}\n';const{abs:Gf,cos:Hf,sin:Kf,acos:Xf,atan2:Yf,sqrt:Qf,pow:Jf}=Math;function Zf(t){return t<0?-Jf(-t,1/3):Jf(t,1/3)}const tp=Math.PI,ep=2*tp,np=tp/2,ip=Number.MAX_SAFE_INTEGER||9007199254740991,rp=Number.MIN_SAFE_INTEGER||-9007199254740991,op={x:0,y:0,z:0},sp={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(t,e){const n=e(t);let i=n.x*n.x+n.y*n.y;return void 0!==n.z&&(i+=n.z*n.z),Qf(i)},compute:function(t,e,n){if(0===t)return e[0].t=0,e[0];const i=e.length-1;if(1===t)return e[i].t=1,e[i];const r=1-t;let o=e;if(0===i)return e[0].t=t,e[0];if(1===i){const e={x:r*o[0].x+t*o[1].x,y:r*o[0].y+t*o[1].y,t:t};return n&&(e.z=r*o[0].z+t*o[1].z),e}if(i<4){let e,s,a,l=r*r,c=t*t,u=0;2===i?(o=[o[0],o[1],o[2],op],e=l,s=r*t*2,a=c):3===i&&(e=l*r,s=l*t*3,a=r*c*3,u=t*c);const d={x:e*o[0].x+s*o[1].x+a*o[2].x+u*o[3].x,y:e*o[0].y+s*o[1].y+a*o[2].y+u*o[3].y,t:t};return n&&(d.z=e*o[0].z+s*o[1].z+a*o[2].z+u*o[3].z),d}const s=JSON.parse(JSON.stringify(e));for(;s.length>1;){for(let e=0;e<s.length-1;e++)s[e]={x:s[e].x+(s[e+1].x-s[e].x)*t,y:s[e].y+(s[e+1].y-s[e].y)*t},void 0!==s[e].z&&(s[e].z=s[e].z+(s[e+1].z-s[e].z)*t);s.splice(s.length-1,1)}return s[0].t=t,s[0]},computeWithRatios:function(t,e,n,i){const r=1-t,o=n,s=e;let a,l=o[0],c=o[1],u=o[2],d=o[3];return l*=r,c*=t,2===s.length?(a=l+c,{x:(l*s[0].x+c*s[1].x)/a,y:(l*s[0].y+c*s[1].y)/a,z:!!i&&(l*s[0].z+c*s[1].z)/a,t:t}):(l*=r,c*=2*r,u*=t*t,3===s.length?(a=l+c+u,{x:(l*s[0].x+c*s[1].x+u*s[2].x)/a,y:(l*s[0].y+c*s[1].y+u*s[2].y)/a,z:!!i&&(l*s[0].z+c*s[1].z+u*s[2].z)/a,t:t}):(l*=r,c*=1.5*r,u*=3*r,d*=t*t*t,4===s.length?(a=l+c+u+d,{x:(l*s[0].x+c*s[1].x+u*s[2].x+d*s[3].x)/a,y:(l*s[0].y+c*s[1].y+u*s[2].y+d*s[3].y)/a,z:!!i&&(l*s[0].z+c*s[1].z+u*s[2].z+d*s[3].z)/a,t:t}):void 0))},derive:function(t,e){const n=[];for(let i=t,r=i.length,o=r-1;r>1;r--,o--){const t=[];for(let n,r=0;r<o;r++)n={x:o*(i[r+1].x-i[r].x),y:o*(i[r+1].y-i[r].y)},e&&(n.z=o*(i[r+1].z-i[r].z)),t.push(n);n.push(t),i=t}return n},between:function(t,e,n){return e<=t&&t<=n||sp.approximately(t,e)||sp.approximately(t,n)},approximately:function(t,e,n){return Gf(t-e)<=(n||1e-6)},length:function(t){const e=sp.Tvalues.length;let n=0;for(let i,r=0;r<e;r++)i=.5*sp.Tvalues[r]+.5,n+=sp.Cvalues[r]*sp.arcfn(i,t);return.5*n},map:function(t,e,n,i,r){return i+(t-e)/(n-e)*(r-i)},lerp:function(t,e,n){const i={x:e.x+t*(n.x-e.x),y:e.y+t*(n.y-e.y)};return void 0!==e.z&&void 0!==n.z&&(i.z=e.z+t*(n.z-e.z)),i},pointToString:function(t){let e=t.x+"/"+t.y;return void 0!==t.z&&(e+="/"+t.z),e},pointsToString:function(t){return"["+t.map(sp.pointToString).join(", ")+"]"},copy:function(t){return JSON.parse(JSON.stringify(t))},angle:function(t,e,n){const i=e.x-t.x,r=e.y-t.y,o=n.x-t.x,s=n.y-t.y;return Yf(i*s-r*o,i*o+r*s)},round:function(t,e){const n=""+t,i=n.indexOf(".");return parseFloat(n.substring(0,i+1+e))},dist:function(t,e){const n=t.x-e.x,i=t.y-e.y;return Qf(n*n+i*i)},closest:function(t,e){let n,i,r=Jf(2,63);return t.forEach((function(t,o){i=sp.dist(e,t),i<r&&(r=i,n=o)})),{mdist:r,mpos:n}},abcratio:function(t,e){if(2!==e&&3!==e)return!1;if(void 0===t)t=.5;else if(0===t||1===t)return t;const n=Jf(t,e)+Jf(1-t,e);return Gf((n-1)/n)},projectionratio:function(t,e){if(2!==e&&3!==e)return!1;if(void 0===t)t=.5;else if(0===t||1===t)return t;const n=Jf(1-t,e);return n/(Jf(t,e)+n)},lli8:function(t,e,n,i,r,o,s,a){const l=(t-n)*(o-a)-(e-i)*(r-s);return 0!=l&&{x:((t*i-e*n)*(r-s)-(t-n)*(r*a-o*s))/l,y:((t*i-e*n)*(o-a)-(e-i)*(r*a-o*s))/l}},lli4:function(t,e,n,i){const r=t.x,o=t.y,s=e.x,a=e.y,l=n.x,c=n.y,u=i.x,d=i.y;return sp.lli8(r,o,s,a,l,c,u,d)},lli:function(t,e){return sp.lli4(t,t.c,e,e.c)},makeline:function(t,e){return new vp(t.x,t.y,(t.x+e.x)/2,(t.y+e.y)/2,e.x,e.y)},findbbox:function(t){let e=ip,n=ip,i=rp,r=rp;return t.forEach((function(t){const o=t.bbox();e>o.x.min&&(e=o.x.min),n>o.y.min&&(n=o.y.min),i<o.x.max&&(i=o.x.max),r<o.y.max&&(r=o.y.max)})),{x:{min:e,mid:(e+i)/2,max:i,size:i-e},y:{min:n,mid:(n+r)/2,max:r,size:r-n}}},shapeintersections:function(t,e,n,i,r){if(!sp.bboxoverlap(e,i))return[];const o=[],s=[t.startcap,t.forward,t.back,t.endcap],a=[n.startcap,n.forward,n.back,n.endcap];return s.forEach((function(e){e.virtual||a.forEach((function(i){if(i.virtual)return;const s=e.intersects(i,r);s.length>0&&(s.c1=e,s.c2=i,s.s1=t,s.s2=n,o.push(s))}))})),o},makeshape:function(t,e,n){const i=e.points.length,r=t.points.length,o=sp.makeline(e.points[i-1],t.points[0]),s=sp.makeline(t.points[r-1],e.points[0]),a={startcap:o,forward:t,back:e,endcap:s,bbox:sp.findbbox([o,t,e,s]),intersections:function(t){return sp.shapeintersections(a,a.bbox,t,t.bbox,n)}};return a},getminmax:function(t,e,n){if(!n)return{min:0,max:0};let i,r,o=ip,s=rp;-1===n.indexOf(0)&&(n=[0].concat(n)),-1===n.indexOf(1)&&n.push(1);for(let a=0,l=n.length;a<l;a++)i=n[a],r=t.get(i),r[e]<o&&(o=r[e]),r[e]>s&&(s=r[e]);return{min:o,mid:(o+s)/2,max:s,size:s-o}},align:function(t,e){const n=e.p1.x,i=e.p1.y,r=-Yf(e.p2.y-i,e.p2.x-n);return t.map((function(t){return{x:(t.x-n)*Hf(r)-(t.y-i)*Kf(r),y:(t.x-n)*Kf(r)+(t.y-i)*Hf(r)}}))},roots:function(t,e){e=e||{p1:{x:0,y:0},p2:{x:1,y:0}};const n=t.length-1,i=sp.align(t,e),r=function(t){return 0<=t&&t<=1};if(2===n){const t=i[0].y,e=i[1].y,n=i[2].y,o=t-2*e+n;if(0!==o){const i=-Qf(e*e-t*n),s=-t+e;return[-(i+s)/o,-(-i+s)/o].filter(r)}return e!==n&&0===o?[(2*e-n)/(2*e-2*n)].filter(r):[]}const o=i[0].y,s=i[1].y,a=i[2].y;let l=3*s-o-3*a+i[3].y,c=3*o-6*s+3*a,u=-3*o+3*s,d=o;if(sp.approximately(l,0)){if(sp.approximately(c,0))return sp.approximately(u,0)?[]:[-d/u].filter(r);const t=Qf(u*u-4*c*d),e=2*c;return[(t-u)/e,(-u-t)/e].filter(r)}c/=l,u/=l,d/=l;const h=(3*u-c*c)/3,f=h/3,p=(2*c*c*c-9*c*u+27*d)/27,m=p/2,v=m*m+f*f*f;let g,y,b,k,x;if(v<0){const t=-h/3,e=Qf(t*t*t),n=-p/(2*e),i=Xf(n<-1?-1:n>1?1:n),o=2*Zf(e);return b=o*Hf(i/3)-c/3,k=o*Hf((i+ep)/3)-c/3,x=o*Hf((i+2*ep)/3)-c/3,[b,k,x].filter(r)}if(0===v)return g=m<0?Zf(-m):-Zf(m),b=2*g-c/3,k=-g-c/3,[b,k].filter(r);{const t=Qf(v);return g=Zf(-m+t),y=Zf(m+t),[g-y-c/3].filter(r)}},droots:function(t){if(3===t.length){const e=t[0],n=t[1],i=t[2],r=e-2*n+i;if(0!==r){const t=-Qf(n*n-e*i),o=-e+n;return[-(t+o)/r,-(-t+o)/r]}return n!==i&&0===r?[(2*n-i)/(2*(n-i))]:[]}if(2===t.length){const e=t[0],n=t[1];return e!==n?[e/(e-n)]:[]}return[]},curvature:function(t,e,n,i,r){let o,s,a,l,c=0,u=0;const d=sp.compute(t,e),h=sp.compute(t,n),f=d.x*d.x+d.y*d.y;if(i?(o=Qf(Jf(d.y*h.z-h.y*d.z,2)+Jf(d.z*h.x-h.z*d.x,2)+Jf(d.x*h.y-h.x*d.y,2)),s=Jf(f+d.z*d.z,1.5)):(o=d.x*h.y-d.y*h.x,s=Jf(f,1.5)),0===o||0===s)return{k:0,r:0};if(c=o/s,u=s/o,!r){const r=sp.curvature(t-.001,e,n,i,!0).k,o=sp.curvature(t+.001,e,n,i,!0).k;l=(o-c+(c-r))/2,a=(Gf(o-c)+Gf(c-r))/2}return{k:c,r:u,dk:l,adk:a}},inflections:function(t){if(t.length<4)return[];const e=sp.align(t,{p1:t[0],p2:t.slice(-1)[0]}),n=e[2].x*e[1].y,i=e[3].x*e[1].y,r=e[1].x*e[2].y,o=18*(-3*n+2*i+3*r-e[3].x*e[2].y),s=18*(3*n-i-3*r),a=18*(r-n);if(sp.approximately(o,0)){if(!sp.approximately(s,0)){let t=-a/s;if(0<=t&&t<=1)return[t]}return[]}const l=2*o;if(sp.approximately(l,0))return[];const c=s*s-4*o*a;if(c<0)return[];const u=Math.sqrt(c);return[(u-s)/l,-(s+u)/l].filter((function(t){return 0<=t&&t<=1}))},bboxoverlap:function(t,e){const n=["x","y"],i=n.length;for(let r,o,s,a,l=0;l<i;l++)if(r=n[l],o=t[r].mid,s=e[r].mid,a=(t[r].size+e[r].size)/2,Gf(o-s)>=a)return!1;return!0},expandbox:function(t,e){e.x.min<t.x.min&&(t.x.min=e.x.min),e.y.min<t.y.min&&(t.y.min=e.y.min),e.z&&e.z.min<t.z.min&&(t.z.min=e.z.min),e.x.max>t.x.max&&(t.x.max=e.x.max),e.y.max>t.y.max&&(t.y.max=e.y.max),e.z&&e.z.max>t.z.max&&(t.z.max=e.z.max),t.x.mid=(t.x.min+t.x.max)/2,t.y.mid=(t.y.min+t.y.max)/2,t.z&&(t.z.mid=(t.z.min+t.z.max)/2),t.x.size=t.x.max-t.x.min,t.y.size=t.y.max-t.y.min,t.z&&(t.z.size=t.z.max-t.z.min)},pairiteration:function(t,e,n){const i=t.bbox(),r=e.bbox(),o=1e5,s=n||.5;if(i.x.size+i.y.size<s&&r.x.size+r.y.size<s)return[(o*(t._t1+t._t2)/2|0)/o+"/"+(o*(e._t1+e._t2)/2|0)/o];let a=t.split(.5),l=e.split(.5),c=[{left:a.left,right:l.left},{left:a.left,right:l.right},{left:a.right,right:l.right},{left:a.right,right:l.left}];c=c.filter((function(t){return sp.bboxoverlap(t.left.bbox(),t.right.bbox())}));let u=[];return 0===c.length||(c.forEach((function(t){u=u.concat(sp.pairiteration(t.left,t.right,s))})),u=u.filter((function(t,e){return u.indexOf(t)===e}))),u},getccenter:function(t,e,n){const i=e.x-t.x,r=e.y-t.y,o=n.x-e.x,s=n.y-e.y,a=i*Hf(np)-r*Kf(np),l=i*Kf(np)+r*Hf(np),c=o*Hf(np)-s*Kf(np),u=o*Kf(np)+s*Hf(np),d=(t.x+e.x)/2,h=(t.y+e.y)/2,f=(e.x+n.x)/2,p=(e.y+n.y)/2,m=d+a,v=h+l,g=f+c,y=p+u,b=sp.lli8(d,h,m,v,f,p,g,y),k=sp.dist(b,t);let x,w=Yf(t.y-b.y,t.x-b.x),_=Yf(e.y-b.y,e.x-b.x),I=Yf(n.y-b.y,n.x-b.x);return w<I?((w>_||_>I)&&(w+=ep),w>I&&(x=I,I=w,w=x)):I<_&&_<w?(x=I,I=w,w=x):I+=ep,b.s=w,b.e=I,b.r=k,b},numberSort:function(t,e){return t-e}};class ap{constructor(t){this.curves=[],this._3d=!1,t&&(this.curves=t,this._3d=this.curves[0]._3d)}valueOf(){return this.toString()}toString(){return"["+this.curves.map((function(t){return sp.pointsToString(t.points)})).join(", ")+"]"}addCurve(t){this.curves.push(t),this._3d=this._3d||t._3d}length(){return this.curves.map((function(t){return t.length()})).reduce((function(t,e){return t+e}))}curve(t){return this.curves[t]}bbox(){const t=this.curves;for(var e=t[0].bbox(),n=1;n<t.length;n++)sp.expandbox(e,t[n].bbox());return e}offset(t){const e=[];return this.curves.forEach((function(n){e.push(...n.offset(t))})),new ap(e)}}const{abs:lp,min:cp,max:up,cos:dp,sin:hp,acos:fp,sqrt:pp}=Math,mp=Math.PI;let vp=class e{constructor(t){let e=t&&t.forEach?t:Array.from(arguments).slice(),n=!1;if("object"==typeof e[0]){n=e.length;const t=[];e.forEach((function(e){["x","y","z"].forEach((function(n){void 0!==e[n]&&t.push(e[n])}))})),e=t}let i=!1;const r=e.length;if(n){if(n>4){if(1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");i=!0}}else if(6!==r&&8!==r&&9!==r&&12!==r&&1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const o=this._3d=!i&&(9===r||12===r)||t&&t[0]&&void 0!==t[0].z,s=this.points=[];for(let t=0,n=o?3:2;t<r;t+=n){var a={x:e[t],y:e[t+1]};o&&(a.z=e[t+2]),s.push(a)}const l=this.order=s.length-1,c=this.dims=["x","y"];o&&c.push("z"),this.dimlen=c.length;const u=sp.align(s,{p1:s[0],p2:s[l]}),d=sp.dist(s[0],s[l]);this._linear=u.reduce(((t,e)=>t+lp(e.y)),0)<d/50,this._lut=[],this._t1=0,this._t2=1,this.update()}static quadraticFromPoints(t,n,i,r){if(void 0===r&&(r=.5),0===r)return new e(n,n,i);if(1===r)return new e(t,n,n);const o=e.getABC(2,t,n,i,r);return new e(t,o.A,i)}static cubicFromPoints(t,n,i,r,o){void 0===r&&(r=.5);const s=e.getABC(3,t,n,i,r);void 0===o&&(o=sp.dist(n,s.C));const a=o*(1-r)/r,l=sp.dist(t,i),c=(i.x-t.x)/l,u=(i.y-t.y)/l,d=o*c,h=o*u,f=a*c,p=a*u,m=n.x-d,v=n.y-h,g=n.x+f,y=n.y+p,b=s.A,k=b.x+(m-b.x)/(1-r),x=b.y+(v-b.y)/(1-r),w=b.x+(g-b.x)/r,_=b.y+(y-b.y)/r,I={x:t.x+(k-t.x)/r,y:t.y+(x-t.y)/r},T={x:i.x+(w-i.x)/(1-r),y:i.y+(_-i.y)/(1-r)};return new e(t,I,T,i)}static getUtils(){return sp}getUtils(){return e.getUtils()}static get PolyBezier(){return ap}valueOf(){return this.toString()}toString(){return sp.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const t=this.points,e=["M",t[0].x,t[0].y,2===this.order?"Q":"C"];for(let n=1,i=t.length;n<i;n++)e.push(t[n].x),e.push(t[n].y);return e.join(" ")}setRatios(t){if(t.length!==this.points.length)throw new Error("incorrect number of ratio values");this.ratios=t,this._lut=[]}verify(){const t=this.coordDigest();t!==this._print&&(this._print=t,this.update())}coordDigest(){return this.points.map((function(t,e){return""+e+t.x+t.y+(t.z?t.z:0)})).join("")}update(){this._lut=[],this.dpoints=sp.derive(this.points,this._3d),this.computedirection()}computedirection(){const t=this.points,e=sp.angle(t[0],t[this.order],t[1]);this.clockwise=e>0}length(){return sp.length(this.derivative.bind(this))}static getABC(t=2,e,n,i,r=.5){const o=sp.projectionratio(r,t),s=1-o,a={x:o*e.x+s*i.x,y:o*e.y+s*i.y},l=sp.abcratio(r,t);return{A:{x:n.x+(n.x-a.x)/l,y:n.y+(n.y-a.y)/l},B:n,C:a,S:e,E:i}}getABC(t,n){n=n||this.get(t);let i=this.points[0],r=this.points[this.order];return e.getABC(this.order,i,n,r,t)}getLUT(t){if(this.verify(),t=t||100,this._lut.length===t+1)return this._lut;this._lut=[],t++,this._lut=[];for(let e,n,i=0;i<t;i++)n=i/(t-1),e=this.compute(n),e.t=n,this._lut.push(e);return this._lut}on(e,n){n=n||5;const i=this.getLUT(),r=[];for(let t,o=0,s=0;o<i.length;o++)t=i[o],sp.dist(t,e)<n&&(r.push(t),s+=o/i.length);return!!r.length&&(t/=r.length)}project(t){const e=this.getLUT(),n=e.length-1,i=sp.closest(e,t),r=i.mpos,o=(r-1)/n,s=(r+1)/n,a=.1/n;let l,c=i.mdist,u=o,d=u;c+=1;for(let e;u<s+a;u+=a)l=this.compute(u),e=sp.dist(t,l),e<c&&(c=e,d=u);return d=d<0?0:d>1?1:d,l=this.compute(d),l.t=d,l.d=c,l}get(t){return this.compute(t)}point(t){return this.points[t]}compute(t){return this.ratios?sp.computeWithRatios(t,this.points,this.ratios,this._3d):sp.compute(t,this.points,this._3d,this.ratios)}raise(){const t=this.points,n=[t[0]],i=t.length;for(let e,r,o=1;o<i;o++)e=t[o],r=t[o-1],n[o]={x:(i-o)/i*e.x+o/i*r.x,y:(i-o)/i*e.y+o/i*r.y};return n[i]=t[i-1],new e(n)}derivative(t){return sp.compute(t,this.dpoints[0],this._3d)}dderivative(t){return sp.compute(t,this.dpoints[1],this._3d)}align(){let t=this.points;return new e(sp.align(t,{p1:t[0],p2:t[t.length-1]}))}curvature(t){return sp.curvature(t,this.dpoints[0],this.dpoints[1],this._3d)}inflections(){return sp.inflections(this.points)}normal(t){return this._3d?this.__normal3(t):this.__normal2(t)}__normal2(t){const e=this.derivative(t),n=pp(e.x*e.x+e.y*e.y);return{t:t,x:-e.y/n,y:e.x/n}}__normal3(t){const e=this.derivative(t),n=this.derivative(t+.01),i=pp(e.x*e.x+e.y*e.y+e.z*e.z),r=pp(n.x*n.x+n.y*n.y+n.z*n.z);e.x/=i,e.y/=i,e.z/=i,n.x/=r,n.y/=r,n.z/=r;const o={x:n.y*e.z-n.z*e.y,y:n.z*e.x-n.x*e.z,z:n.x*e.y-n.y*e.x},s=pp(o.x*o.x+o.y*o.y+o.z*o.z);o.x/=s,o.y/=s,o.z/=s;const a=[o.x*o.x,o.x*o.y-o.z,o.x*o.z+o.y,o.x*o.y+o.z,o.y*o.y,o.y*o.z-o.x,o.x*o.z-o.y,o.y*o.z+o.x,o.z*o.z];return{t:t,x:a[0]*e.x+a[1]*e.y+a[2]*e.z,y:a[3]*e.x+a[4]*e.y+a[5]*e.z,z:a[6]*e.x+a[7]*e.y+a[8]*e.z}}hull(t){let e=this.points,n=[],i=[],r=0;for(i[r++]=e[0],i[r++]=e[1],i[r++]=e[2],3===this.order&&(i[r++]=e[3]);e.length>1;){n=[];for(let o,s=0,a=e.length-1;s<a;s++)o=sp.lerp(t,e[s],e[s+1]),i[r++]=o,n.push(o);e=n}return i}split(t,n){if(0===t&&n)return this.split(n).left;if(1===n)return this.split(t).right;const i=this.hull(t),r={left:2===this.order?new e([i[0],i[3],i[5]]):new e([i[0],i[4],i[7],i[9]]),right:2===this.order?new e([i[5],i[4],i[2]]):new e([i[9],i[8],i[6],i[3]]),span:i};return r.left._t1=sp.map(0,0,1,this._t1,this._t2),r.left._t2=sp.map(t,0,1,this._t1,this._t2),r.right._t1=sp.map(t,0,1,this._t1,this._t2),r.right._t2=sp.map(1,0,1,this._t1,this._t2),n?(n=sp.map(n,t,1,0,1),r.right.split(n).left):r}extrema(){const t={};let e=[];return this.dims.forEach(function(n){let i=function(t){return t[n]},r=this.dpoints[0].map(i);t[n]=sp.droots(r),3===this.order&&(r=this.dpoints[1].map(i),t[n]=t[n].concat(sp.droots(r))),t[n]=t[n].filter((function(t){return t>=0&&t<=1})),e=e.concat(t[n].sort(sp.numberSort))}.bind(this)),t.values=e.sort(sp.numberSort).filter((function(t,n){return e.indexOf(t)===n})),t}bbox(){const t=this.extrema(),e={};return this.dims.forEach(function(n){e[n]=sp.getminmax(this,n,t[n])}.bind(this)),e}overlaps(t){const e=this.bbox(),n=t.bbox();return sp.bboxoverlap(e,n)}offset(t,n){if(void 0!==n){const e=this.get(t),i=this.normal(t),r={c:e,n:i,x:e.x+i.x*n,y:e.y+i.y*n};return this._3d&&(r.z=e.z+i.z*n),r}if(this._linear){const n=this.normal(0),i=this.points.map((function(e){const i={x:e.x+t*n.x,y:e.y+t*n.y};return e.z&&n.z&&(i.z=e.z+t*n.z),i}));return[new e(i)]}return this.reduce().map((function(e){return e._linear?e.offset(t)[0]:e.scale(t)}))}simple(){if(3===this.order){const t=sp.angle(this.points[0],this.points[3],this.points[1]),e=sp.angle(this.points[0],this.points[3],this.points[2]);if(t>0&&e<0||t<0&&e>0)return!1}const t=this.normal(0),e=this.normal(1);let n=t.x*e.x+t.y*e.y;return this._3d&&(n+=t.z*e.z),lp(fp(n))<mp/3}reduce(){let t,e,n=0,i=0,r=.01,o=[],s=[],a=this.extrema().values;for(-1===a.indexOf(0)&&(a=[0].concat(a)),-1===a.indexOf(1)&&a.push(1),n=a[0],t=1;t<a.length;t++)i=a[t],e=this.split(n,i),e._t1=n,e._t2=i,o.push(e),n=i;return o.forEach((function(t){for(n=0,i=0;i<=1;)for(i=n+r;i<=1.01;i+=r)if(e=t.split(n,i),!e.simple()){if(i-=r,lp(n-i)<r)return[];e=t.split(n,i),e._t1=sp.map(n,0,1,t._t1,t._t2),e._t2=sp.map(i,0,1,t._t1,t._t2),s.push(e),n=i;break}n<1&&(e=t.split(n,1),e._t1=sp.map(n,0,1,t._t1,t._t2),e._t2=t._t2,s.push(e))})),s}translate(t,n,i){i="number"==typeof i?i:n;const r=this.order;let o=this.points.map(((t,e)=>(1-e/r)*n+e/r*i));return new e(this.points.map(((e,n)=>({x:e.x+t.x*o[n],y:e.y+t.y*o[n]}))))}scale(t){const n=this.order;let i=!1;if("function"==typeof t&&(i=t),i&&2===n)return this.raise().scale(i);const r=this.clockwise,o=this.points;if(this._linear)return this.translate(this.normal(0),i?i(0):t,i?i(1):t);const s=i?i(0):t,a=i?i(1):t,l=[this.offset(0,10),this.offset(1,10)],c=[],u=sp.lli4(l[0],l[0].c,l[1],l[1].c);if(!u)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach((function(t){const e=c[t*n]=sp.copy(o[t*n]);e.x+=(t?a:s)*l[t].n.x,e.y+=(t?a:s)*l[t].n.y})),i?([0,1].forEach((function(e){if(2!==n||!e){var s=o[e+1],a={x:s.x-u.x,y:s.y-u.y},l=i?i((e+1)/n):t;i&&!r&&(l=-l);var d=pp(a.x*a.x+a.y*a.y);a.x/=d,a.y/=d,c[e+1]={x:s.x+l*a.x,y:s.y+l*a.y}}})),new e(c)):([0,1].forEach((t=>{if(2===n&&t)return;const e=c[t*n],i=this.derivative(t),r={x:e.x+i.x,y:e.y+i.y};c[t+1]=sp.lli4(e,r,u,o[t+1])})),new e(c))}outline(t,n,i,r){if(n=void 0===n?t:n,this._linear){const o=this.normal(0),s=this.points[0],a=this.points[this.points.length-1];let l,c,u;void 0===i&&(i=t,r=n),l={x:s.x+o.x*t,y:s.y+o.y*t},u={x:a.x+o.x*i,y:a.y+o.y*i},c={x:(l.x+u.x)/2,y:(l.y+u.y)/2};const d=[l,c,u];l={x:s.x-o.x*n,y:s.y-o.y*n},u={x:a.x-o.x*r,y:a.y-o.y*r},c={x:(l.x+u.x)/2,y:(l.y+u.y)/2};const h=[u,c,l],f=sp.makeline(h[2],d[0]),p=sp.makeline(d[2],h[0]),m=[f,new e(d),p,new e(h)];return new ap(m)}const o=this.reduce(),s=o.length,a=[];let l,c=[],u=0,d=this.length();const h=void 0!==i&&void 0!==r;function f(t,e,n,i,r){return function(o){const s=i/n,a=(i+r)/n,l=e-t;return sp.map(o,0,1,t+s*l,t+a*l)}}o.forEach((function(e){const o=e.length();h?(a.push(e.scale(f(t,i,d,u,o))),c.push(e.scale(f(-n,-r,d,u,o)))):(a.push(e.scale(t)),c.push(e.scale(-n))),u+=o})),c=c.map((function(t){return l=t.points,l[3]?t.points=[l[3],l[2],l[1],l[0]]:t.points=[l[2],l[1],l[0]],t})).reverse();const p=a[0].points[0],m=a[s-1].points[a[s-1].points.length-1],v=c[s-1].points[c[s-1].points.length-1],g=c[0].points[0],y=sp.makeline(v,p),b=sp.makeline(m,g),k=[y].concat(a).concat([b]).concat(c);return new ap(k)}outlineshapes(t,e,n){e=e||t;const i=this.outline(t,e).curves,r=[];for(let t=1,e=i.length;t<e/2;t++){const o=sp.makeshape(i[t],i[e-t],n);o.startcap.virtual=t>1,o.endcap.virtual=t<e/2-1,r.push(o)}return r}intersects(t,n){return t?t.p1&&t.p2?this.lineIntersects(t):(t instanceof e&&(t=t.reduce()),this.curveintersects(this.reduce(),t,n)):this.selfintersects(n)}lineIntersects(t){const e=cp(t.p1.x,t.p2.x),n=cp(t.p1.y,t.p2.y),i=up(t.p1.x,t.p2.x),r=up(t.p1.y,t.p2.y);return sp.roots(this.points,t).filter((t=>{var o=this.get(t);return sp.between(o.x,e,i)&&sp.between(o.y,n,r)}))}selfintersects(t){const e=this.reduce(),n=e.length-2,i=[];for(let r,o,s,a=0;a<n;a++)o=e.slice(a,a+1),s=e.slice(a+2),r=this.curveintersects(o,s,t),i.push(...r);return i}curveintersects(t,e,n){const i=[];t.forEach((function(t){e.forEach((function(e){t.overlaps(e)&&i.push({left:t,right:e})}))}));let r=[];return i.forEach((function(t){const e=sp.pairiteration(t.left,t.right,n);e.length>0&&(r=r.concat(e))})),r}arcs(t){return t=t||.5,this._iterate(t,[])}_error(t,e,n,i){const r=(i-n)/4,o=this.get(n+r),s=this.get(i-r),a=sp.dist(t,e),l=sp.dist(t,o),c=sp.dist(t,s);return lp(l-a)+lp(c-a)}_iterate(t,e){let n,i=0,r=1;do{n=0,r=1;let o,s,a,l,c,u=this.get(i),d=!1,h=!1,f=r,p=1;do{if(h=d,l=a,f=(i+r)/2,o=this.get(f),s=this.get(r),a=sp.getccenter(u,o,s),a.interval={start:i,end:r},d=this._error(a,u,i,r)<=t,c=h&&!d,c||(p=r),d){if(r>=1){if(a.interval.end=p=1,l=a,r>1){let t={x:a.x+a.r*dp(a.e),y:a.y+a.r*hp(a.e)};a.e+=sp.angle({x:a.x,y:a.y},t,this.get(1))}break}r+=(r-i)/2}else r=f}while(!c&&n++<100);if(n>=100)break;l=l||a,e.push(l),i=p}while(r<1);return e}};var gp={pointsToCurve:function(t,e){let n=1/e;if(0===t.length){let t=[];for(let i=0;i<e;i++){let e=i*n;t.push({x:e,y:.5})}return t}if(1===t.length){let i=t[0].y,r=[{x:0,y:i}];for(let t=0;t<e;t++){let e=t*n+n;r.push({x:e,y:i})}return r}let i=[],r=t[0],o=t[t.length-1],s=new vp({x:o.x-1,y:o.y},{x:o.x-1+(r.x-(o.x-1))/2,y:o.y},{x:r.x-(r.x-(o.x-1))/2,y:r.y},r),a=new vp(o,{x:o.x+(r.x+1-o.x)/2,y:o.y},{x:r.x+1-(r.x+1-o.x)/2,y:r.y},{x:r.x+1,y:r.y});for(let e=0;e<t.length-1;e++){let n=t[e],r=t[e+1],o={x:n.x+(r.x-n.x)/2,y:n.y},s={x:r.x-(r.x-n.x)/2,y:r.y},a=new vp(n,o,s,r);i.push(a)}i.unshift(s),i.push(a);let l=[s.get(s.intersects({p1:{x:0,y:0},p2:{x:0,y:1}})[0])];for(let t=0;t<e;t++){let e,r=t*n+n;i.every((t=>{let n=t.intersects({p1:{x:r,y:0},p2:{x:r,y:1}});return!(n.length>0&&(e=t.get(n[0]),l.push(e),1))}))}return l}};class yp{constructor(t,e){this.xs=t,this.ys=e,this.ks=this.getNaturalKs(new Float64Array(this.xs.length))}getNaturalKs(t){const e=this.xs.length-1,n=function(t,e){const n=[];for(let i=0;i<t;i++)n.push(new Float64Array(e));return n}(e+1,e+2);for(let t=1;t<e;t++)n[t][t-1]=1/(this.xs[t]-this.xs[t-1]),n[t][t]=2*(1/(this.xs[t]-this.xs[t-1])+1/(this.xs[t+1]-this.xs[t])),n[t][t+1]=1/(this.xs[t+1]-this.xs[t]),n[t][e+1]=3*((this.ys[t]-this.ys[t-1])/((this.xs[t]-this.xs[t-1])*(this.xs[t]-this.xs[t-1]))+(this.ys[t+1]-this.ys[t])/((this.xs[t+1]-this.xs[t])*(this.xs[t+1]-this.xs[t])));return n[0][0]=2/(this.xs[1]-this.xs[0]),n[0][1]=1/(this.xs[1]-this.xs[0]),n[0][e+1]=3*(this.ys[1]-this.ys[0])/((this.xs[1]-this.xs[0])*(this.xs[1]-this.xs[0])),n[e][e-1]=1/(this.xs[e]-this.xs[e-1]),n[e][e]=2/(this.xs[e]-this.xs[e-1]),n[e][e+1]=3*(this.ys[e]-this.ys[e-1])/((this.xs[e]-this.xs[e-1])*(this.xs[e]-this.xs[e-1])),function(t,e){const n=t.length;let i=0,r=0;for(;i<n&&r<=n;){let e=0,o=-1/0;for(let s=i;s<n;s++){const n=Math.abs(t[s][r]);n>o&&(e=s,o=n)}if(0===t[e][r])r++;else{bp(t,i,e);for(let e=i+1;e<n;e++){const o=t[e][r]/t[i][r];t[e][r]=0;for(let s=r+1;s<=n;s++)t[e][s]-=t[i][s]*o}i++,r++}}for(let i=n-1;i>=0;i--){var o=0;t[i][i]&&(o=t[i][n]/t[i][i]),e[i]=o;for(let e=i-1;e>=0;e--)t[e][n]-=t[e][i]*o,t[e][i]=0}return e}(n,t)}getIndexBefore(t){let e=0,n=this.xs.length,i=0;for(;e<n;)i=Math.floor((e+n)/2),this.xs[i]<t&&i!==e?e=i:n=this.xs[i]>=t&&i!==n?i:e;return e===this.xs.length-1?this.xs.length-1:e+1}at(t){let e=this.getIndexBefore(t);const n=(t-this.xs[e-1])/(this.xs[e]-this.xs[e-1]),i=this.ks[e-1]*(this.xs[e]-this.xs[e-1])-(this.ys[e]-this.ys[e-1]),r=-this.ks[e]*(this.xs[e]-this.xs[e-1])+(this.ys[e]-this.ys[e-1]);return(1-n)*this.ys[e-1]+n*this.ys[e]+n*(1-n)*(i*(1-n)+r*n)}}function bp(t,e,n){let i=t[e];t[e]=t[n],t[n]=i}function kp(t,e,n){const i=n[0],r=n[n.length-1];if(t<i.x)return i.y;if(t>r.x)return r.y;const o=e.at(t);return Math.max(0,Math.min(o,1))}var xp={pointsToCurve:function(t,e){if(!Array.isArray(t)||!t.every((t=>"object"==typeof t&&"number"==typeof t.x&&"number"==typeof t.y&&t.x>=0&&t.x<=1&&t.y>=0&&t.y<=1)))throw new Error("[pointsToCurve] Invalid points. Expected array of objects with x and y in [0, 1] range.");if(!("number"==typeof e&&e>=1))throw new Error(`[pointsToCurve] Invalid resolution: ${e}. Expected integer >= 1.`);const n=t.map((t=>t.x)),i=t.map((t=>t.y)),r=new yp(n,i);let o=[];for(let n=0;n<e;n++)o.push(kp(n/(e-1),r,t));return o}};function wp(t,e=256,n={}){return"bezier"===n.type?gp.pointsToCurve(t,e,n):xp.pointsToCurve(t,e)}const _p=[];for(let t=0;t<256;t++)_p[t]=t;class Ip extends Mf{constructor(t){const e={vertex:qf,fragment:Vf},n={uniforms:Mf.getUniformInfo(Ip)};super(Ip.getFilterType(),e,n,t)}static getFilterType(){return"curves"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=[];var n;e=[...t.master||t.points||t.masterPoints?t.master||(n=t.points||t.masterPoints,wp(n,256).map((t=>255*t))):_p],this.uniforms[xf.STATIC_OPTIONS].set(e)}}function Tp(t,e,n){if("number"!=typeof t||t<0||t>255)throw new Error(`[levels] Invalid black point: ${t}. Expected integer between 0 and 255`);if("number"!=typeof e||e<0||e>255)throw new Error(`[levels] Invalid white point: ${e}. Expected integer between 0 and 255`);if("number"!=typeof n||n<.01||n>9.99)throw new Error(`[levels] Invalid gamma: ${n}. Expected float between 0.01 and 9.99`);if(t>e)throw new Error(`[levels] Invalid black and white points: ${t}, ${e}. Expected black <= white`);let i=[];for(let r=0;r<256;r++){let o;o=r<=t?0:r>=e?255:255*Math.pow((r-t)/(e-t),1/n),i[r]=o}return i}class Ep extends Mf{constructor(t){const e={vertex:qf,fragment:Vf},n={uniforms:Mf.getUniformInfo(Ep)};super(Ep.getFilterType(),e,n,t)}static getFilterType(){return"levels"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=[...Tp(t.black,t.white,t.gamma)];this.uniforms[xf.STATIC_OPTIONS].set(e)}}const Sp=360,Mp=[];for(let t=0;t<Sp;t++)Mp[t]=t;class Ap extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Ap)};super(Ap.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\n// a 360 length array with values for the hue curve\n// this represents a lookup table from a hue value to another hue value\nuniform float staticOptions[360];\n\n// implementation of round (doesn't exist in webgl)\nint round(float val){\n    return int(floor(val + 0.5));\n}\n\n// glsl mod doesn't work with negative numbers so\n// this is a safer version that lets us play with negatives > -1.0\nfloat safeMod(float val){\n    return mod(val + 1.0, 1.0);\n}\n\n// no dynamic array indexes in webgl\n// see https://stackoverflow.com/questions/30585265/what-can-i-use-as-an-array-index-in-glsl-in-webgl\nfloat getCurveValue(float pixelValue){\n    float v;\n    for (int k = 0; k < 360; k++) {\n        if (k == round(pixelValue * 359.0)){\n            v = float(staticOptions[k])  / 359.0;\n        }\n    }\n    return v;\n}\n\n// function source https://www.shadertoy.com/view/4dKcWK\nconst float EPSILON = 1e-10;\n\nvec3 HUEtoRGB(in float hue) {\n    // Hue [0..1] to RGB [0..1]\n    // See http://www.chilliant.com/rgb2hsv.html\n    vec3 rgb = abs(hue * 6. - vec3(3, 2, 4)) * vec3(1, -1, -1) + vec3(-1, 2, 2);\n    return clamp(rgb, 0., 1.);\n}\n\nvec3 RGBtoHCV(in vec3 rgb) {\n    // RGB [0..1] to Hue-Chroma-Value [0..1]\n    // Based on work by Sam Hocevar and Emil Persson\n    vec4 p = (rgb.g < rgb.b) ? vec4(rgb.bg, -1., 2. / 3.) : vec4(rgb.gb, 0., -1. / 3.);\n    vec4 q = (rgb.r < p.x) ? vec4(p.xyw, rgb.r) : vec4(rgb.r, p.yzx);\n    float c = q.x - min(q.w, q.y);\n    float h = abs((q.w - q.y) / (6. * c + EPSILON) + q.z);\n    return vec3(h, c, q.x);\n}\n\nvec3 HSVtoRGB(in vec3 hsv) {\n    // Hue-Saturation-Value [0..1] to RGB [0..1]\n    vec3 rgb = HUEtoRGB(hsv.x);\n    return ((rgb - 1.) * hsv.y + 1.) * hsv.z;\n}\n\nvec3 HSLtoRGB(in vec3 hsl) {\n    // Hue-Saturation-Lightness [0..1] to RGB [0..1]\n    vec3 rgb = HUEtoRGB(hsl.x);\n    float c = (1. - abs(2. * hsl.z - 1.)) * hsl.y;\n    return (rgb - 0.5) * c + hsl.z;\n}\n\nvec3 RGBtoHSV(in vec3 rgb) {\n    // RGB [0..1] to Hue-Saturation-Value [0..1]\n    vec3 hcv = RGBtoHCV(rgb);\n    float s = hcv.y / (hcv.z + EPSILON);\n    return vec3(hcv.x, s, hcv.z);\n}\n\nvec3 RGBtoHSL(in vec3 rgb) {\n    // RGB [0..1] to Hue-Saturation-Lightness [0..1]\n    vec3 hcv = RGBtoHCV(rgb);\n    float z = hcv.z - hcv.y * 0.5;\n    float s = hcv.y / (1. - abs(z * 2. - 1.) + EPSILON);\n    return vec3(hcv.x, s, z);\n}\n\nvoid main() {\n    vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n    vec3 inHSL = RGBtoHSL(textureColor.rgb);\n    // in the UI hue 0 is cyan and 180 is red\n    float shiftedHue = getCurveValue(mod(inHSL.x + 0.5, 1.0));\n    vec3 inRGB = HSLtoRGB(vec3(shiftedHue, inHSL.y, inHSL.z));\n\n    vec4 finalColor = vec4(inRGB, textureColor.a);\n\n    // During the rgb-to-hsl-to-rgb conversion total whites gets clipped on OSX for some reason\n    // make sure to retain absolute white (since it has no chroma component)\n    if (textureColor.r == 1.0 && textureColor.g == 1.0 && textureColor.b == 1.0){\n        finalColor.rgb = vec3(1.0, 1.0, 1.0);\n    }\n\n    gl_FragColor = finalColor;\n}\n"},e,t)}static getFilterType(){return"hue"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=t.points&&function(t){return wp(t,Sp,{type:"bezier"}).map((t=>{return e=t,((Math.round(e.x*Sp)+180)%Sp+(1-e.y-.5)*Sp+Sp)%Sp;var e}))}(t.points)||Mp;this.uniforms[xf.STATIC_OPTIONS].set(e)}}class Np extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Np)};super(Np.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\nuniform float staticOptions[2];\n\n//CIE L*a*b* (CIELAB, L* for lightness, a* from green to red, b* from blue to yellow)\n//Source: https://gist.github.com/mattatz/44f081cac87e2f7c8980 (HLSL)\nvec3 rgb2xyz(vec3 c){\n    vec3 tmp=vec3(\n    (c.r>.04045)?pow((c.r+.055)/1.055,2.4):c.r/12.92,\n    (c.g>.04045)?pow((c.g+.055)/1.055,2.4):c.g/12.92,\n    (c.b>.04045)?pow((c.b+.055)/1.055,2.4):c.b/12.92\n    );\n    mat3 mat=mat3(\n    .4124,.3576,.1805,\n    .2126,.7152,.0722,\n    .0193,.1192,.9505\n    );\n    return 100.*(tmp*mat);\n}\nvec3 xyz2lab(vec3 c){\n    vec3 n=c/vec3(95.047,100.,108.883),\n    v=vec3(\n    (n.x>.008856)?pow(n.x,1./3.):(7.787*n.x)+(16./116.),\n    (n.y>.008856)?pow(n.y,1./3.):(7.787*n.y)+(16./116.),\n    (n.z>.008856)?pow(n.z,1./3.):(7.787*n.z)+(16./116.)\n    );\n    return vec3((116.*v.y)-16.,500.*(v.x-v.y),200.*(v.y-v.z));\n}\nvec3 rgb2lab(vec3 c){\n    vec3 lab=xyz2lab(rgb2xyz(c));\n    return vec3(lab.x/100.,.5+.5*(lab.y/127.),.5+.5*(lab.z/127.));\n}\nvec3 lab2xyz(vec3 c){\n    float fy=(c.x+16.)/116.,\n    fx=c.y/500.+fy,\n    fz=fy-c.z/200.;\n    return vec3(\n    95.047*((fx>.206897)?fx*fx*fx:(fx-16./116.)/7.787),\n    100.   *((fy>.206897)?fy*fy*fy:(fy-16./116.)/7.787),\n    108.883*((fz>.206897)?fz*fz*fz:(fz-16./116.)/7.787)\n    );\n}\nvec3 xyz2rgb(vec3 c){\n    mat3 mat=mat3(\n    3.2406,-1.5372,-.4986,\n    -.9689, 1.8758, .0415,\n    .0557, -.2040,1.0570\n    );\n    vec3 v=(c/100.0)*mat,\n    r=vec3(\n    (v.r>.0031308)?((1.055*pow(v.r,(1./2.4)))-.055):12.92*v.r,\n    (v.g>.0031308)?((1.055*pow(v.g,(1./2.4)))-.055):12.92*v.g,\n    (v.b>.0031308)?((1.055*pow(v.b,(1./2.4)))-.055):12.92*v.b\n    );\n    return r;\n}\nvec3 lab2rgb(vec3 c){return xyz2rgb(lab2xyz(vec3(100.*c.x,2.*127.*(c.y-.5),2.*127.*(c.z-.5))));}\n\n\nfloat handleMix(float x){\n    return  pow(x * 2.0 - 1.0, 2.0);\n}\n\nvoid main() {\n    vec3 inColor = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n//    inColor = vec3(148.0 / 255.0, 99.0 / 255.0, 95.0 / 255.0); // debug\n\n    vec3 inLab = rgb2lab(inColor);\n    vec3 inRGB ;\n\n//    vec2 tempTint = vec2(staticOptions[1], -staticOptions[0]);\n\n//    inLab.yz += (tempTint.xy); // * 0.3; // damping of effect\n\n   // lab range is 0 to 1, input is -128 to 127\n   // lab chromacity zero is 0.5, 0.5 so convert between the ranges\n   // y is a, z is b\n   inLab.y -= (-staticOptions[1] + 128.0) / 255.0 - 0.5;\n   inLab.z -= (staticOptions[0] + 128.0) / 255.0 - 0.5;\n\n    inRGB = lab2rgb(inLab);\n\n\n    // vec3 mixed = mix(inRGB, inColor, handleMix(inLab.x)); // mid tones\n    // vec3 mixed = mix(inRGB, inColor, inLab.x); // only high tones\n    vec3 mixed = mix(inRGB, inColor, 0.0); // no mix\n\n    gl_FragColor = vec4(mixed,1.0);\n}\n"},e,t)}static getFilterType(){return"whiteBalance"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=t.temperature?t.temperature:0,n=t.tint?t.tint:0;this.uniforms[xf.STATIC_OPTIONS].set([e,n])}}class Fp extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Fp)};super(Fp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\nuniform float staticOptions[4];\n\n// algorithm from here\n// https://github.com/CeeJayDK/SweetFX/blob/master/Shaders/Vibrance.fx\n\nvoid main() {\n    float percentAmount = staticOptions[0];\n    float redBalance = staticOptions[1];\n    float greenBalance = staticOptions[2];\n    float blueBalance = staticOptions[3];\n\n    vec3 color = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n    vec3 coefLuma = vec3(0.212656, 0.715158, 0.072186);\n\n    float luma = dot(coefLuma, color);\n\n    float max_color = max(color.r, max(color.g, color.b)); // Find the strongest color\n    float min_color = min(color.r, min(color.g, color.b)); // Find the weakest color\n\n    float color_saturation = max_color - min_color; // The difference between the two is the saturation\n\n    // Extrapolate between luma and original by 1 + (1-saturation) - current\n    vec3 coeffVibrance = vec3(redBalance, greenBalance, blueBalance) * percentAmount;\n\n    color.r = mix(luma, color.r, 1.0 + (coeffVibrance.r * (1.0 - (sign(coeffVibrance.r) * color_saturation))));\n    color.g = mix(luma, color.g, 1.0 + (coeffVibrance.g * (1.0 - (sign(coeffVibrance.g) * color_saturation))));\n    color.b = mix(luma, color.b, 1.0 + (coeffVibrance.b * (1.0 - (sign(coeffVibrance.b) * color_saturation))));\n\n\n    gl_FragColor = vec4(color, 1.0);\n\n}\n"},e,t)}static getFilterType(){return"vibrance"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=t.amount?t.amount/100*2:0,n=null===t.redBalance?1:t.redBalance,i=null===t.greenBalance?1:t.greenBalance,r=null===t.blueBalance?1:t.blueBalance;this.uniforms[xf.STATIC_OPTIONS].set([e,n,i,r])}}class Cp extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Cp)};super(Cp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\nuniform float staticOptions[1];\n\n// algorithm from here\n// https://github.com/minus34/cesium1/blob/master/Cesium/Shaders/Builtin/Functions/saturation.glsl\n\n/**\n * Adjusts the saturation of a color.\n *\n * @name czm_saturation\n * @glslFunction\n *\n * @param {vec3} rgb The color.\n * @param {float} adjustment The amount to adjust the saturation of the color.\n *\n * @returns {float} The color with the saturation adjusted.\n *\n * @example\n * vec3 greyScale = czm_saturation(color, 0.0);\n * vec3 doubleSaturation = czm_saturation(color, 2.0);\n */\nvec3 czm_saturation(vec3 rgb, float adjustment)\n{\n    // Algorithm from Chapter 16 of OpenGL Shading Language\n    const vec3 W = vec3(0.2125, 0.7154, 0.0721);\n    vec3 intensity = vec3(dot(rgb, W));\n    return mix(intensity, rgb, adjustment);\n}\n\n\nvoid main() {\n    float amount = staticOptions[0];\n    vec3 color = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n    gl_FragColor = vec4(czm_saturation(color, amount), 1.0);\n}\n"},e,t)}static getFilterType(){return"saturation"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=null===t.amount?1:t.amount;this.uniforms[xf.STATIC_OPTIONS].set([e])}}class Op extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Op)};super(Op.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n  current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float staticOptions[12];\nuniform float runtimeOptions[4];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\n\nfloat roundedBoxSDF(vec2 CenterPosition, vec2 Size, float Radius) {\n  return length(max(abs(CenterPosition)-Size+Radius,0.0))-Radius;\n}\n\nvoid main() {\n  vec2 srcAR = vec2(runtimeOptions[0]/runtimeOptions[1], 1.0);\n  // custom aspect ratio (other than the default 1920/1080)\n  // useful for example when doing crop on crop\n  if (staticOptions[10] > 0.0) { //\n    srcAR.x = staticOptions[10];\n  }\n  vec2 srcCenter = vec2(staticOptions[0], staticOptions[1]);\n  vec2 srcDims = vec2(staticOptions[2], staticOptions[3]);\n  vec2 srcTL = vec2(srcCenter.x - srcDims[0] / 2.0, srcCenter.y - srcDims[1] / 2.0); // top left point\n\n  vec2 srcDims_AR = srcDims * srcAR;\n  vec2 srcTL_AR = srcTL * srcAR;\n\n  vec2 vpDims = vec2(runtimeOptions[2], runtimeOptions[3]);\n  vec2 vpAR = vec2(vpDims[0]/vpDims[1], 1.0);\n\n  vec2 tgtCenter = vec2(staticOptions[4], staticOptions[5]);\n  vec2 tgtDims = vec2(staticOptions[6], staticOptions[7]);\n  vec2 tgtTL = vec2(tgtCenter.x - tgtDims[0] / 2.0, tgtCenter.y - tgtDims[1] / 2.0);\n\n  vec2 tgtDims_AR = tgtDims * vpAR;\n  vec2 tgtTL_AR = tgtTL * vpAR;\n\n  vec2 pos_AR = current_texture_coordinate_2d * vpAR;\n\n  float ratioW = tgtDims_AR[0] / srcDims_AR[0];\n  float ratioH = tgtDims_AR[1] / srcDims_AR[1];\n\n  float ratio;\n\n  // the type of crop fit. 0 - contain, 1 - fill, 3 - stretch\n  float fitType =  staticOptions[8];\n\n  if (fitType == 0.0){\n    ratio = ratioW > ratioH ? ratioW : ratioH;\n    vec2 tgtDims_OLD_AR = tgtDims_AR;\n    tgtDims_AR = srcDims_AR * ratio;\n    tgtTL_AR = tgtTL_AR - (tgtDims_AR - tgtDims_OLD_AR) / 2.0;\n  } else if (fitType == 1.0){\n    ratio = ratioW < ratioH ? ratioW : ratioH;\n    vec2 tgtDims_OLD_AR = tgtDims_AR;\n    tgtDims_AR = srcDims_AR * ratio;\n    tgtTL_AR = tgtTL_AR + (tgtDims_OLD_AR - tgtDims_AR) / 2.0;\n  }\n\n  vec2 final_pos_AR = (pos_AR - tgtTL_AR) / tgtDims_AR  * srcDims_AR + srcTL_AR;\n\n  // transform coords back from AR into 0 to 1 range\n  vec2 pos = final_pos_AR / srcAR;\n\n  // How soft the edges should be . Higher values could be used to simulate a drop shadow.\n  float edgeSoftness  = staticOptions[11];\n\n  // The radius of the corners in pixels\n  float radius =  staticOptions[9];\n\n  float tightDistance = roundedBoxSDF((current_texture_coordinate_2d  - tgtCenter) , tgtDims_AR / vpAR / 2.0, 0.0);\n//  float distance = roundedBoxSDF((current_texture_coordinate_2d  - tgtCenter) * vpAR, tgtDims * vpAR / 2.0, 0.01);\n  float distance = roundedBoxSDF((current_texture_coordinate_2d  - tgtCenter) * vpDims, (tgtDims * vpDims) / 2.0, radius);\n\n  // Smooth the result (free antialiasing).\n  float smoothedAlpha =  1.0 - smoothstep(0.0, edgeSoftness * 2.0, distance);\n\n  // Return the resultant shape.\n  vec4 textureColor = texture2D(first_texture, pos);\n  vec4 quadColor = vec4(textureColor.xyz, smoothedAlpha);\n\n  // Apply a drop shadow effect.\n//  float shadowSoftness = 0.0;\n//  vec2 shadowOffset = vec2(0.0, 0.0);\n//  float shadowDistance = roundedBoxSDF(pos + shadowOffset, tgtDims_AR / 2.0, radius);\n//  float shadowAlpha = 1.0 - smoothstep(-shadowSoftness, shadowSoftness, shadowDistance);\n//  vec4 shadowColor = vec4(0.4, 0.4, 0.4, 1.0);\n  //  gl_FragColor = mix(quadColor, shadowColor, shadowAlpha - smoothedAlpha);\n\n\n  // pillarboxing\n  if (tightDistance > 0.0 && distance <= 0.0){\n    gl_FragColor = vec4(0, 0, 0, 1.0);\n  } else {\n    gl_FragColor = quadColor;\n  }\n\n  // debug\n  //  gl_FragColor = texture2D(first_texture, pos);\n\n}"},e,t)}static getFilterType(){return"crop"}static getInputsCount(){return 1}static getInitialOptions(){return{source:{center:{x:.5,y:.5},width:1,height:1},target:{center:{x:.5,y:.5},width:1,height:1},fitType:"fill",cornerRadius:10,edgeSoftness:0}}getOptionsDisplay(){return[]}static getUniformList(){return[xf.FIRST_TEXTURE,yf,bf]}handleStaticUniforms(t){let e={...Op.getInitialOptions(),...t};const n=Number.parseFloat(e.source.center.x).toFixed(5),i=Number.parseFloat(e.source.center.y).toFixed(5),r=Number.parseFloat(e.source.width).toFixed(5),o=Number.parseFloat(e.source.height).toFixed(5),s=Number.parseFloat(e.target.center.x).toFixed(5),a=Number.parseFloat(e.target.center.y).toFixed(5),l=Number.parseFloat(e.target.width).toFixed(5),c=Number.parseFloat(e.target.height).toFixed(5),u=Number.parseFloat(e.edgeSoftness).toFixed(5),d=e.source.aspectRatio?Number.parseFloat(e.source.aspectRatio).toFixed(5):0;let h;h="fill"===e.fitType?0:"contain"===e.fitType?1:2;const f=Number.parseFloat(e.cornerRadius).toFixed(5);this.uniforms[xf.STATIC_OPTIONS].set([n,i,r,o,s,a,l,c,h,f,d,u])}}class Pp extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Pp)};super(Pp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n  current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float staticOptions[4];\nuniform float runtimeOptions[2];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\n\nvoid main() {\n  // this is the the texture from the prev shader\n  vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n  vec4 color = vec4(staticOptions[0], staticOptions[1], staticOptions[2], 1.0);\n  vec4 blended = mix(texture, color, staticOptions[3]);\n  gl_FragColor = blended;\n}"},e,t)}static getFilterType(){return"solid"}static getInputsCount(){return 1}static getInitialOptions(){return{color:{r:.33,g:.66,b:.99,a:1}}}getOptionsDisplay(){return[{properties:["color","r"],type:"slider",minValue:0,maxValue:1,step:.001},{properties:["color","g"],type:"slider",minValue:0,maxValue:1,step:.001},{properties:["color","b"],type:"slider",minValue:0,maxValue:1,step:.001}]}handleStaticUniforms(t){var e;const n=Number.parseFloat(t.color.r).toFixed(5),i=Number.parseFloat(t.color.g).toFixed(5),r=Number.parseFloat(t.color.b).toFixed(5),o=(null!==(e=Number.parseFloat(t.color.a))&&void 0!==e?e:1).toFixed(5);this.uniforms[xf.STATIC_OPTIONS].set([n,i,r,o])}}class Dp extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Dp)};super(Dp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n  current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float runtimeOptions[1];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\n\nvoid main() {\n  vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n  gl_FragColor = vec4(textureColor.rgb, 1.0);\n}\n"},e,t)}static getFilterType(){return"solidImage"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}}class Rp extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Rp)};super(Rp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_position = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_position;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\n//CIE L*a*b* (CIELAB, L* for lightness, a* from green to red, b* from blue to yellow)\n//Source: https://gist.github.com/mattatz/44f081cac87e2f7c8980 (HLSL)\nvec3 rgb2xyz(vec3 c){\n    vec3 tmp=vec3(\n    (c.r>.04045)?pow((c.r+.055)/1.055,2.4):c.r/12.92,\n    (c.g>.04045)?pow((c.g+.055)/1.055,2.4):c.g/12.92,\n    (c.b>.04045)?pow((c.b+.055)/1.055,2.4):c.b/12.92\n    );\n    mat3 mat=mat3(\n    .4124,.3576,.1805,\n    .2126,.7152,.0722,\n    .0193,.1192,.9505\n    );\n    return 100.*(tmp*mat);\n}\nvec3 xyz2lab(vec3 c){\n    vec3 n=c/vec3(95.047,100.,108.883),\n    v=vec3(\n    (n.x>.008856)?pow(n.x,1./3.):(7.787*n.x)+(16./116.),\n    (n.y>.008856)?pow(n.y,1./3.):(7.787*n.y)+(16./116.),\n    (n.z>.008856)?pow(n.z,1./3.):(7.787*n.z)+(16./116.)\n    );\n    return vec3((116.*v.y)-16.,500.*(v.x-v.y),200.*(v.y-v.z));\n}\nvec3 rgb2lab(vec3 c){\n    vec3 lab=xyz2lab(rgb2xyz(c));\n    return vec3(lab.x/100.,.5+.5*(lab.y/127.),.5+.5*(lab.z/127.));\n}\n\nvoid main() {\n    vec3 inColor = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n    vec3 inLab = rgb2lab(inColor);\n    gl_FragColor = vec4(inLab, 1.0);\n}\n"},e,t)}static getFilterType(){return"lab"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=t.temperature?t.temperature:0,n=t.tint?t.tint:0;this.uniforms[xf.STATIC_OPTIONS].set([e,n])}}class Bp extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Bp)};super(Bp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n} ",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\nuniform float staticOptions[1];\n\nvoid main() {\n    float exposureStops = staticOptions[0];\n    vec3 color = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n    \n    // Convert exposure stops to multiplier: pow(2.0, stops)\n    float multiplier = pow(2.0, exposureStops);\n    \n    // Apply exposure adjustment\n    vec3 exposedColor = color * multiplier;\n    \n    gl_FragColor = vec4(exposedColor, 1.0);\n} "},e,t)}static getFilterType(){return"exposure"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=null===t.exposure?0:t.exposure;this.uniforms[xf.STATIC_OPTIONS].set([e])}}var Lp,zp,Wp,jp,Up,$p,qp,Vp;function Gp(){if(jp)return Wp;jp=1;const t=zp?Lp:(zp=1,Lp={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),e={};for(const n of Object.keys(t))e[t[n]]=n;const n={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};Wp=n;for(const t of Object.keys(n)){if(!("channels"in n[t]))throw new Error("missing channels property: "+t);if(!("labels"in n[t]))throw new Error("missing channel labels property: "+t);if(n[t].labels.length!==n[t].channels)throw new Error("channel and label counts mismatch: "+t);const{channels:e,labels:i}=n[t];delete n[t].channels,delete n[t].labels,Object.defineProperty(n[t],"channels",{value:e}),Object.defineProperty(n[t],"labels",{value:i})}function i(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}return n.rgb.hsl=function(t){const e=t[0]/255,n=t[1]/255,i=t[2]/255,r=Math.min(e,n,i),o=Math.max(e,n,i),s=o-r;let a,l;o===r?a=0:e===o?a=(n-i)/s:n===o?a=2+(i-e)/s:i===o&&(a=4+(e-n)/s),a=Math.min(60*a,360),a<0&&(a+=360);const c=(r+o)/2;return l=o===r?0:c<=.5?s/(o+r):s/(2-o-r),[a,100*l,100*c]},n.rgb.hsv=function(t){let e,n,i,r,o;const s=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(s,a,l),u=c-Math.min(s,a,l),d=function(t){return(c-t)/6/u+.5};return 0===u?(r=0,o=0):(o=u/c,e=d(s),n=d(a),i=d(l),s===c?r=i-n:a===c?r=1/3+e-i:l===c&&(r=2/3+n-e),r<0?r+=1:r>1&&(r-=1)),[360*r,100*o,100*c]},n.rgb.hwb=function(t){const e=t[0],i=t[1];let r=t[2];const o=n.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(i,r));return r=1-1/255*Math.max(e,Math.max(i,r)),[o,100*s,100*r]},n.rgb.cmyk=function(t){const e=t[0]/255,n=t[1]/255,i=t[2]/255,r=Math.min(1-e,1-n,1-i);return[100*((1-e-r)/(1-r)||0),100*((1-n-r)/(1-r)||0),100*((1-i-r)/(1-r)||0),100*r]},n.rgb.keyword=function(n){const r=e[n];if(r)return r;let o,s=1/0;for(const e of Object.keys(t)){const r=i(n,t[e]);r<s&&(s=r,o=e)}return o},n.keyword.rgb=function(e){return t[e]},n.rgb.xyz=function(t){let e=t[0]/255,n=t[1]/255,i=t[2]/255;return e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92,[100*(.4124*e+.3576*n+.1805*i),100*(.2126*e+.7152*n+.0722*i),100*(.0193*e+.1192*n+.9505*i)]},n.rgb.lab=function(t){const e=n.rgb.xyz(t);let i=e[0],r=e[1],o=e[2];return i/=95.047,r/=100,o/=108.883,i=i>.008856?i**(1/3):7.787*i+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,[116*r-16,500*(i-r),200*(r-o)]},n.hsl.rgb=function(t){const e=t[0]/360,n=t[1]/100,i=t[2]/100;let r,o,s;if(0===n)return s=255*i,[s,s,s];r=i<.5?i*(1+n):i+n-i*n;const a=2*i-r,l=[0,0,0];for(let t=0;t<3;t++)o=e+1/3*-(t-1),o<0&&o++,o>1&&o--,s=6*o<1?a+6*(r-a)*o:2*o<1?r:3*o<2?a+(r-a)*(2/3-o)*6:a,l[t]=255*s;return l},n.hsl.hsv=function(t){const e=t[0];let n=t[1]/100,i=t[2]/100,r=n;const o=Math.max(i,.01);return i*=2,n*=i<=1?i:2-i,r*=o<=1?o:2-o,[e,100*(0===i?2*r/(o+r):2*n/(i+n)),(i+n)/2*100]},n.hsv.rgb=function(t){const e=t[0]/60,n=t[1]/100;let i=t[2]/100;const r=Math.floor(e)%6,o=e-Math.floor(e),s=255*i*(1-n),a=255*i*(1-n*o),l=255*i*(1-n*(1-o));switch(i*=255,r){case 0:return[i,l,s];case 1:return[a,i,s];case 2:return[s,i,l];case 3:return[s,a,i];case 4:return[l,s,i];case 5:return[i,s,a]}},n.hsv.hsl=function(t){const e=t[0],n=t[1]/100,i=t[2]/100,r=Math.max(i,.01);let o,s;s=(2-n)*i;const a=(2-n)*r;return o=n*r,o/=a<=1?a:2-a,o=o||0,s/=2,[e,100*o,100*s]},n.hwb.rgb=function(t){const e=t[0]/360;let n=t[1]/100,i=t[2]/100;const r=n+i;let o;r>1&&(n/=r,i/=r);const s=Math.floor(6*e),a=1-i;o=6*e-s,1&s&&(o=1-o);const l=n+o*(a-n);let c,u,d;switch(s){default:case 6:case 0:c=a,u=l,d=n;break;case 1:c=l,u=a,d=n;break;case 2:c=n,u=a,d=l;break;case 3:c=n,u=l,d=a;break;case 4:c=l,u=n,d=a;break;case 5:c=a,u=n,d=l}return[255*c,255*u,255*d]},n.cmyk.rgb=function(t){const e=t[0]/100,n=t[1]/100,i=t[2]/100,r=t[3]/100;return[255*(1-Math.min(1,e*(1-r)+r)),255*(1-Math.min(1,n*(1-r)+r)),255*(1-Math.min(1,i*(1-r)+r))]},n.xyz.rgb=function(t){const e=t[0]/100,n=t[1]/100,i=t[2]/100;let r,o,s;return r=3.2406*e+-1.5372*n+-.4986*i,o=-.9689*e+1.8758*n+.0415*i,s=.0557*e+-.204*n+1.057*i,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,s=s>.0031308?1.055*s**(1/2.4)-.055:12.92*s,r=Math.min(Math.max(0,r),1),o=Math.min(Math.max(0,o),1),s=Math.min(Math.max(0,s),1),[255*r,255*o,255*s]},n.xyz.lab=function(t){let e=t[0],n=t[1],i=t[2];return e/=95.047,n/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,[116*n-16,500*(e-n),200*(n-i)]},n.lab.xyz=function(t){let e,n,i;n=(t[0]+16)/116,e=t[1]/500+n,i=n-t[2]/200;const r=n**3,o=e**3,s=i**3;return n=r>.008856?r:(n-16/116)/7.787,e=o>.008856?o:(e-16/116)/7.787,i=s>.008856?s:(i-16/116)/7.787,e*=95.047,n*=100,i*=108.883,[e,n,i]},n.lab.lch=function(t){const e=t[0],n=t[1],i=t[2];let r;return r=360*Math.atan2(i,n)/2/Math.PI,r<0&&(r+=360),[e,Math.sqrt(n*n+i*i),r]},n.lch.lab=function(t){const e=t[0],n=t[1],i=t[2]/360*2*Math.PI;return[e,n*Math.cos(i),n*Math.sin(i)]},n.rgb.ansi16=function(t,e=null){const[i,r,o]=t;let s=null===e?n.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),0===s)return 30;let a=30+(Math.round(o/255)<<2|Math.round(r/255)<<1|Math.round(i/255));return 2===s&&(a+=60),a},n.hsv.ansi16=function(t){return n.rgb.ansi16(n.hsv.rgb(t),t[2])},n.rgb.ansi256=function(t){const e=t[0],n=t[1],i=t[2];return e===n&&n===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},n.ansi16.rgb=function(t){let e=t%10;if(0===e||7===e)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];const n=.5*(1+~~(t>50));return[(1&e)*n*255,(e>>1&1)*n*255,(e>>2&1)*n*255]},n.ansi256.rgb=function(t){if(t>=232){const e=10*(t-232)+8;return[e,e,e]}let e;return t-=16,[Math.floor(t/36)/5*255,Math.floor((e=t%36)/6)/5*255,e%6/5*255]},n.rgb.hex=function(t){const e=(((255&Math.round(t[0]))<<16)+((255&Math.round(t[1]))<<8)+(255&Math.round(t[2]))).toString(16).toUpperCase();return"000000".substring(e.length)+e},n.hex.rgb=function(t){const e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let n=e[0];3===e[0].length&&(n=n.split("").map((t=>t+t)).join(""));const i=parseInt(n,16);return[i>>16&255,i>>8&255,255&i]},n.rgb.hcg=function(t){const e=t[0]/255,n=t[1]/255,i=t[2]/255,r=Math.max(Math.max(e,n),i),o=Math.min(Math.min(e,n),i),s=r-o;let a,l;return a=s<1?o/(1-s):0,l=s<=0?0:r===e?(n-i)/s%6:r===n?2+(i-e)/s:4+(e-n)/s,l/=6,l%=1,[360*l,100*s,100*a]},n.hsl.hcg=function(t){const e=t[1]/100,n=t[2]/100,i=n<.5?2*e*n:2*e*(1-n);let r=0;return i<1&&(r=(n-.5*i)/(1-i)),[t[0],100*i,100*r]},n.hsv.hcg=function(t){const e=t[1]/100,n=t[2]/100,i=e*n;let r=0;return i<1&&(r=(n-i)/(1-i)),[t[0],100*i,100*r]},n.hcg.rgb=function(t){const e=t[0]/360,n=t[1]/100,i=t[2]/100;if(0===n)return[255*i,255*i,255*i];const r=[0,0,0],o=e%1*6,s=o%1,a=1-s;let l=0;switch(Math.floor(o)){case 0:r[0]=1,r[1]=s,r[2]=0;break;case 1:r[0]=a,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=s;break;case 3:r[0]=0,r[1]=a,r[2]=1;break;case 4:r[0]=s,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=a}return l=(1-n)*i,[255*(n*r[0]+l),255*(n*r[1]+l),255*(n*r[2]+l)]},n.hcg.hsv=function(t){const e=t[1]/100,n=e+t[2]/100*(1-e);let i=0;return n>0&&(i=e/n),[t[0],100*i,100*n]},n.hcg.hsl=function(t){const e=t[1]/100,n=t[2]/100*(1-e)+.5*e;let i=0;return n>0&&n<.5?i=e/(2*n):n>=.5&&n<1&&(i=e/(2*(1-n))),[t[0],100*i,100*n]},n.hcg.hwb=function(t){const e=t[1]/100,n=e+t[2]/100*(1-e);return[t[0],100*(n-e),100*(1-n)]},n.hwb.hcg=function(t){const e=t[1]/100,n=1-t[2]/100,i=n-e;let r=0;return i<1&&(r=(n-i)/(1-i)),[t[0],100*i,100*r]},n.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},n.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},n.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},n.gray.hsl=function(t){return[0,0,t[0]]},n.gray.hsv=n.gray.hsl,n.gray.hwb=function(t){return[0,100,t[0]]},n.gray.cmyk=function(t){return[0,0,0,t[0]]},n.gray.lab=function(t){return[t[0],0,0]},n.gray.hex=function(t){const e=255&Math.round(t[0]/100*255),n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(n.length)+n},n.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]},Wp}function Hp(){if($p)return Up;$p=1;const t=Gp();function e(t,e){return function(n){return e(t(n))}}function n(n,i){const r=[i[n].parent,n];let o=t[i[n].parent][n],s=i[n].parent;for(;i[s].parent;)r.unshift(i[s].parent),o=e(t[i[s].parent][s],o),s=i[s].parent;return o.conversion=r,o}return Up=function(e){const i=function(e){const n=function(){const e={},n=Object.keys(t);for(let t=n.length,i=0;i<t;i++)e[n[i]]={distance:-1,parent:null};return e}(),i=[e];for(n[e].distance=0;i.length;){const e=i.pop(),r=Object.keys(t[e]);for(let t=r.length,o=0;o<t;o++){const t=r[o],s=n[t];-1===s.distance&&(s.distance=n[e].distance+1,s.parent=e,i.unshift(t))}}return n}(e),r={},o=Object.keys(i);for(let t=o.length,e=0;e<t;e++){const t=o[e];null!==i[t].parent&&(r[t]=n(t,i))}return r}}var Kp=function(){if(Vp)return qp;Vp=1;const t=Gp(),e=Hp(),n={};return Object.keys(t).forEach((i=>{n[i]={},Object.defineProperty(n[i],"channels",{value:t[i].channels}),Object.defineProperty(n[i],"labels",{value:t[i].labels});const r=e(i);Object.keys(r).forEach((t=>{const e=r[t];n[i][t]=function(t){const e=function(...e){const n=e[0];if(null==n)return n;n.length>1&&(e=n);const i=t(e);if("object"==typeof i)for(let t=i.length,e=0;e<t;e++)i[e]=Math.round(i[e]);return i};return"conversion"in t&&(e.conversion=t.conversion),e}(e),n[i][t].raw=function(t){const e=function(...e){const n=e[0];return null==n?n:(n.length>1&&(e=n),t(e))};return"conversion"in t&&(e.conversion=t.conversion),e}(e)}))})),qp=n}(),Xp=yd(Kp);class Yp extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Yp)};super(Yp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform float staticOptions[3];\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  vec4 blend = texture2D(first_texture, current_texture_coordinate_2d);\n  \n  vec3 blendRGB = blend.rgb;\n  vec3 baseRGB = vec3(staticOptions[0], staticOptions[1], staticOptions[2]);\n  \n  vec3 limit = step(0.5, blendRGB);\n  vec3 mixedRGB = mix(2.0 * baseRGB * blendRGB, 1.0 - 2.0 * (1.0 - baseRGB) * (1.0 - blendRGB), limit);\n  \n  gl_FragColor = vec4((mixedRGB * blend.a) + ((1.0 - blend.a) * baseRGB), 1);\n}"},e,t)}static getFilterType(){return"hardLight"}static getInputsCount(){return 1}static getInitialOptions(){return{color:"4b0082"}}getOptionsDisplay(){return[{properties:["color"],type:"colorPicker"}]}handleStaticUniforms(t){const e=Xp.hex.rgb(t.color).map((t=>t/255));this.uniforms[xf.STATIC_OPTIONS].set([e[0],e[1],e[2]])}}class Qp extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Qp)};super(Qp.getFilterType(),{vertex:"precision lowp float;\n\nattribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[1];\nuniform float staticOptions[6];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float exposure_value;\n\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n  vec2 p0 = vec2(0,0);\n  vec2 p3 = vec2(1,1);\n  \n  vec2 E = mix(p0, p1, t);\n  vec2 F = mix(p1, p2, t);\n  vec2 G = mix(p2, p3, t);\n\n  vec2 H = mix(E, F, t);\n  vec2 I = mix(F, G, t);\n\n  vec2 P = mix(H, I, t);\n\n  return P.y;\n}\n\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n  \n  // transfrom logic // \n  // normalized time range from 0 to 1\n  float current_time = runtimeOptions[0];\n  float current_power_progress = getCurrentBeizerProgress(\n    vec2(staticOptions[2], staticOptions[3]),\n    vec2(staticOptions[4], staticOptions[5]),\n    current_time\n  );\n  \n  current_texture_coordinate_2d = texture_coordinate_2d;\n  exposure_value = mix(staticOptions[0], staticOptions[1], current_power_progress);\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float exposure_value;\n\nvoid main() {\n  vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n  gl_FragColor = vec4((texture.xyz) * (1.0 + exposure_value) , texture.w);\n}\n\n"},e,t)}static getFilterType(){return"exposureTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{properties:{power:{form:0,to:0,ease:[0,0,1,1]}}}}handleStaticUniforms(t){const e=t.properties.power;this.uniforms[xf.STATIC_OPTIONS].set([e.from,e.to,...e.ease])}static getUniformList(){return[xf.FIRST_TEXTURE,kf]}}class Jp extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Jp)};super(Jp.getFilterType(),{vertex:"precision lowp float;\n\nattribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[1];\nuniform float staticOptions[6];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float dipToBlack_value;\n\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n  vec2 p0 = vec2(0,0);\n  vec2 p3 = vec2(1,1);\n  \n  vec2 E = mix(p0, p1, t);\n  vec2 F = mix(p1, p2, t);\n  vec2 G = mix(p2, p3, t);\n\n  vec2 H = mix(E, F, t);\n  vec2 I = mix(F, G, t);\n\n  vec2 P = mix(H, I, t);\n\n  return P.y;\n}\n\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n  \n  // transfrom logic // \n  // normalized time range from 0 to 1\n  float current_time = runtimeOptions[0];\n  float current_power_progress = getCurrentBeizerProgress(\n    vec2(staticOptions[2], staticOptions[3]),\n    vec2(staticOptions[4], staticOptions[5]),\n    current_time\n  );\n  \n  current_texture_coordinate_2d = texture_coordinate_2d;\n  dipToBlack_value = mix(staticOptions[0], staticOptions[1], current_power_progress);\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float dipToBlack_value;\n\nvoid main() {\n  vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n  gl_FragColor = vec4(texture.xyz - dipToBlack_value, texture.w);\n}"},e,t)}static getFilterType(){return"dipToBlackTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{}}handleStaticUniforms(t){const e=t.properties.power;this.uniforms[xf.STATIC_OPTIONS].set([e.from,e.to,...e.ease])}static getUniformList(){return[xf.FIRST_TEXTURE,kf]}}class Zp extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(Zp)};super(Zp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[1];\nuniform float staticOptions[16];\n\nvarying vec2 current_texture_coordinate_2d;\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n  vec2 p0 = vec2(0,0);\n  vec2 p3 = vec2(1,1);\n  \n  vec2 E = mix(p0, p1, t);\n  vec2 F = mix(p1, p2, t);\n  vec2 G = mix(p2, p3, t);\n\n  vec2 H = mix(E, F, t);\n  vec2 I = mix(F, G, t);\n\n  vec2 P = mix(H, I, t);\n\n  return P.y;\n}\n\n\nvoid main() {\n  // time range from 0 to 1\n  float current_time = runtimeOptions[0];\n\n  // scale X\n  float current_scale_x_progress = getCurrentBeizerProgress(\n    vec2(staticOptions[4],staticOptions[5]),\n    vec2(staticOptions[6],staticOptions[7]),\n    current_time\n  );\n  float currnet_scale_x_value = mix(staticOptions[0], staticOptions[1], current_scale_x_progress);\n\n  // scale Y\n  float current_scale_y_progress = getCurrentBeizerProgress(\n    vec2(staticOptions[4],staticOptions[5]),\n    vec2(staticOptions[6],staticOptions[7]),\n    current_time\n  );\n  float currnet_scale_y_value = mix(staticOptions[2], staticOptions[3], current_scale_y_progress);\n\n  // translate x\n  float current_translate_x_progress = getCurrentBeizerProgress(\n    vec2(staticOptions[12],staticOptions[13]),\n    vec2(staticOptions[14],staticOptions[15]),\n    current_time\n  );\n  \n  float currnet_translate_x_value = mix(staticOptions[8], staticOptions[9], current_translate_x_progress); \n\n  // translate y\n  float current_translate_y_progress = getCurrentBeizerProgress(\n    vec2(staticOptions[12],staticOptions[13]),\n    vec2(staticOptions[14],staticOptions[15]),\n    current_time\n  );\n  float currnet_translate_y_value = mix(staticOptions[10], staticOptions[11], current_translate_y_progress); \n\n  // See Default vertex shader, we normalize y axis to be -y\n  // because of webgl texture coordinates\n  currnet_translate_y_value = currnet_translate_y_value * -1.0;\n\n  // create matries\n  mat4 scaleMatrix;\n  scaleMatrix[0] = vec4(currnet_scale_x_value, 0, 0, 0); \n  scaleMatrix[1] = vec4(0, currnet_scale_y_value, 0, 0); \n  scaleMatrix[2] = vec4(0, 0, 1, 0); \n  scaleMatrix[3] = vec4(0, 0, 0, 1); \n\n  mat4 translateMatrix;\n  translateMatrix[0] = vec4(1, 0, 0, 0); \n  translateMatrix[1] = vec4(0, 1, 0, 0); \n  translateMatrix[2] = vec4(0, 0, 1, 0); \n  translateMatrix[3] = vec4(currnet_translate_x_value, currnet_translate_y_value, 0, 1); \n\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position =   translateMatrix  * scaleMatrix *  normalize_poistion;\n  // gl_Position =   translateMatrix   * scaleMatrix *  normalize_poistion;\n  \n  \n  current_texture_coordinate_2d = texture_coordinate_2d;\n  \n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n  gl_FragColor = texture2D(first_texture, current_texture_coordinate_2d);\n}"},e,t)}static getFilterType(){return"transformTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{}}handleStaticUniforms(t){const e=t.properties.scale||{},n=t.properties.translate||{};e.ease=e.ease||[0,0,1,1],n.ease=n.ease||[0,0,1,1],this.uniforms[xf.STATIC_OPTIONS].set([e.from&&e.from.x||1,e.to&&e.to.x||1,e.from&&e.from.y||1,e.to&&e.to.y||1,...e.ease,n.from&&n.from.x||0,n.to&&n.to.x||0,n.from&&n.from.y||0,n.to&&n.to.y||0,...n.ease])}static getUniformList(){return[xf.FIRST_TEXTURE,kf]}}class tm extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(tm)};super(tm.getFilterType(),{vertex:"precision lowp float;\n\nattribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float staticOptions[8];\nuniform float runtimeOptions[3];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float current_power_value;\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n  vec2 p0 = vec2(0,0);\n  vec2 p3 = vec2(1,1);\n  \n  vec2 E = mix(p0, p1, t);\n  vec2 F = mix(p1, p2, t);\n  vec2 G = mix(p2, p3, t);\n\n  vec2 H = mix(E, F, t);\n  vec2 I = mix(F, G, t);\n\n  vec2 P = mix(H, I, t);\n\n  return P.y;\n}\n\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  float current_time = runtimeOptions[0];\n  float current_power_progress = getCurrentBeizerProgress(\n    vec2(staticOptions[2],staticOptions[3]),\n    vec2(staticOptions[4],staticOptions[5]),\n    current_time\n  );\n  \n  // varing\n  current_texture_coordinate_2d = texture_coordinate_2d;\n  current_power_value = mix(staticOptions[0], staticOptions[1], current_power_progress);\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform float staticOptions[8];\nuniform float runtimeOptions[3];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float current_power_value;\n\nconst int samples = 12; //multiple of 2\n\nvoid main() {\n  vec2 pixel = vec2(1.0/runtimeOptions[1], 1.0/runtimeOptions[2]);\n  vec2 direction = vec2(staticOptions[6], staticOptions[7]);\n  \n  vec4 color = vec4(0.0);  \n\n  for (int i=1; i<=samples/2; i++) {\n    vec2 motion = float(i) * current_power_value / float(samples / 2) * direction * pixel;\n    \n    color += texture2D(\n      first_texture,\n      current_texture_coordinate_2d + motion);\n\n    color += texture2D(\n      first_texture,\n      current_texture_coordinate_2d - motion);\n  }\n\t\n  color = color/float(samples);\n\n  \n  gl_FragColor = color;\n  // gl_FragColor = vec4(0,1,0,1);\n  \n}"},e,t)}static getFilterType(){return"motionBlurTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{}}handleStaticUniforms(t){const e=t.properties.power||{from:0,to:0},n=t.properties.direction||{x:0,y:0};e.ease=e.ease||[0,0,1,1],this.uniforms[xf.STATIC_OPTIONS].set([e.from,e.to,...e.ease,n.x,n.y])}static getUniformList(){return[xf.FIRST_TEXTURE,kf,yf]}}class em extends Mf{constructor(t){const e={uniforms:Mf.getUniformInfo(em)};super(em.getFilterType(),{vertex:"precision lowp float;\n\nattribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[1];\nuniform float staticOptions[9];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float current_power_value;\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n  vec2 p0 = vec2(0,0);\n  vec2 p3 = vec2(1,1);\n  \n  vec2 E = mix(p0, p1, t);\n  vec2 F = mix(p1, p2, t);\n  vec2 G = mix(p2, p3, t);\n\n  vec2 H = mix(E, F, t);\n  vec2 I = mix(F, G, t);\n\n  vec2 P = mix(H, I, t);\n\n  return P.y;\n}\n\n\nvoid main() {\n  vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n  gl_Position = normalize_poistion;\n\n  float current_time = runtimeOptions[0];\n  float current_power_progress = getCurrentBeizerProgress(\n    vec2(staticOptions[2],staticOptions[3]),\n    vec2(staticOptions[4],staticOptions[5]),\n    current_time\n  );\n  \n  // varing\n  current_texture_coordinate_2d = texture_coordinate_2d;\n  current_power_value = mix(staticOptions[0], staticOptions[1], current_power_progress);\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform float staticOptions[9];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float current_power_value;\n\nvoid main() {\n  vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n  vec4 fadeColor = vec4(staticOptions[6], staticOptions[7], staticOptions[8], 1.0) ;\n  gl_FragColor = mix(texture,fadeColor, current_power_value);\n}"},e,t)}static getFilterType(){return"fadeToColorTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{properties:{power:{form:0,to:0,ease:[0,0,1,1]},color:"#FFFFFF"}}}handleStaticUniforms(t){const e=t.properties.power||{from:0,to:0};e.ease=e.ease||[0,0,1,1];const n=t.properties.color,i=Xp.hex.rgb(n).map((t=>t/255));this.uniforms[xf.STATIC_OPTIONS].set([e.from,e.to,...e.ease,i[0],i[1],i[2]])}static getUniformList(){return[xf.FIRST_TEXTURE,kf]}}var nm=Object.freeze({__proto__:null,Crop:Op,Curves:Ip,Default:Af,DipToBlackTransition:Jp,DirectionalBlur:zf,Exposure:Bp,ExposureTransition:Qp,FadeToColorTransition:em,FastBlur:Lf,HardLight:Yp,HorizontalBlur:Rf,Hue:Ap,Lab:Rp,Levels:Ep,Lut:$f,MotionBlurTransition:tm,Opacity:Wf,Saturation:Cp,ShapeComposite:Uf,ShapeCompositeMask:jf,Solid:Pp,SolidImage:Dp,Transform:Df,TransformTransition:Zp,VerticalBlur:Bf,Vibrance:Fp,WhiteBalance:Np});const im=Object.values(nm).reduce(((t,e)=>(t[e.getFilterType()]=e,t)),{});class rm{constructor(t){this.context=t}static getFilterClass(t){return im[t]}getFilterIds(){return Object.keys(this.filterTypeToInstanceMap)}create(t,e){this.context={...this.context,options:e.options};const n=new im[t](this.context);if(!n)throw new Error(`${t} is not a atom filter, atomFilter list: `,this.getFilterIds());return n}}const om=bh.PREVIOUS_OUTPUT_PREFIX,sm=Object.values(nm).reduce(((t,e)=>(t[e.getFilterType()]={type:e.getFilterType(),options:e.getInitialOptions(),inputs:[...Array(e.getInputsCount())].map(((t,e)=>`${om}${e}`)),outputs:[]},t)),{});var am,lm,cm=function(){if(lm)return am;lm=1;var t=function(t){return function(t){return!!t&&"object"==typeof t}(t)&&(n=t,!("[object RegExp]"===(i=Object.prototype.toString.call(n))||"[object Date]"===i||n.$$typeof===e));var n,i},e="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(t,e){return!1!==e.clone&&e.isMergeableObject(t)?s((n=t,Array.isArray(n)?[]:{}),t,e):t;var n}function i(t,e,i){return t.concat(e).map((function(t){return n(t,i)}))}function r(t){return Object.keys(t).concat((e=t,Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]));var e}function o(t,e){try{return e in t}catch(t){return!1}}function s(e,a,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=n;var c=Array.isArray(a);return c===Array.isArray(e)?c?l.arrayMerge(e,a,l):function(t,e,i){var a={};return i.isMergeableObject(t)&&r(t).forEach((function(e){a[e]=n(t[e],i)})),r(e).forEach((function(r){var l,c;o(l=t,c=r)&&(!Object.hasOwnProperty.call(l,c)||!Object.propertyIsEnumerable.call(l,c))||(o(t,r)&&i.isMergeableObject(e[r])?a[r]=function(t,e){if(!e.customMerge)return s;var n=e.customMerge(t);return"function"==typeof n?n:s}(r,i)(t[r],e[r],i):a[r]=n(e[r],i))})),a}(e,a,l):n(a,l)}return s.all=function(t,e){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce((function(t,n){return s(t,n,e)}),{})},am=s}(),um=yd(cm),dm=function(t,e){return um(t,e,{arrayMerge:(t,e)=>e})};const hm=bh.MESSAGES.UPDATE_OPTIONS;let fm=class{constructor(t,e){this.eventEmitter=new Ih,this.type=t,this.inputs=e.inputs,this.outputs=e.outputs,this.options=e.options}render(){throw new Error("concrete class should implement")}_updateOptions(){throw new Error("concrete class should implement")}updateOptions(t){this._updateOptions(t),this.eventEmitter.emit(hm,this.options)}updateInputs(t){t&&(this.inputs.length===t.length&&this.inputs.every(((e,n)=>e===t[n]))||(this.inputs=[...t]))}getEventEmitter(){return this.eventEmitter}getType(){return this.type}getInputs(){return this.inputs}getOutputs(){return this.outputs}getOptions(){return this.options}getInfo(){return{inputs:this.inputs,outputs:this.outputs,options:this.options}}getOptionsDisplay(){return this.filter.getOptionsDisplay()}dispose(){throw new Error("concrete class should implement")}};class pm extends fm{constructor(t,e,n){super(...arguments),this.filter=n.filterFactory.create(this.type,{options:this.options})}render(t){const e=t.ioStore,n=t.graphIOManager,i=this.getInputs(),r=this.getOutputs(),o=e.get(i),s=this.filter.render(o,this.options);return n.setOutputs(e,r,s),s}_updateOptions(t){this.options=dm(this.options,t),this.filter.updateStaticUniforms(this.options)}dispose(){this.filter.dispose()}}const mm=bh.MESSAGES.UPDATE_OPTIONS;class vm extends pm{constructor(t,e,n){super(...arguments),this.baseNode=n.baseNode,this.registerListeners()}baseNodeUpdateOptions(t){this.options=dm(this.options,t),this.filter.updateStaticUniforms(this.options)}registerListeners(){this.baseNode.getEventEmitter().on(mm,this.baseNodeUpdateOptions,this)}dispose(){this.filter.dispose(),this.baseNode.getEventEmitter().off(mm,this.baseNodeUpdateOptions,this)}}function gm(t){return null!==t&&"object"==typeof t}function ym(t){if(!gm(t)||(e=t,Array.isArray(e)))return t;var e;const n=Object.keys(t).sort(),i={};return n.forEach((e=>{i[e]=ym(t[e])})),i}function bm(t,e){return null!=t&&t.id&&null!=e&&e.id?t.type===e.type&&t.id===e.id:t.type===e.type}function km(t,e){const n=[];t.forEach(((t,i)=>{const r=(o=t,e.findIndex((t=>function(t,e){const n=JSON.parse(JSON.stringify(t));return r=JSON.parse(JSON.stringify(e)),gm(i=n)&&gm(r)?JSON.stringify(ym(i))===JSON.stringify(ym(r)):!(!Number.isNaN(i)||!Number.isNaN(r))||i===r;var i,r}(o,t))));var o;if(-1!==r)return void n.push({type:"take",index:r});const s=(a=t,l=i,(c=e)&&c[l]&&bm(a,c[l])?l:c.findIndex((t=>bm(a,t))));var a,l,c;-1===s?n.push({type:"create",newGraphIndex:i}):n.push({type:"update",currentGraphIndex:s,newGraphIndex:i})}));const i=n.reduce(((t,e)=>("take"===e.type?t.push(e.index):"update"===e.type&&t.push(e.currentGraphIndex),t)),[]);return e.reduce(((t,e,n)=>(i.includes(n)||t.push(n),t)),[]).forEach((t=>{n.push({type:"dispose",currentGraphIndex:t})})),n}function xm(t,e,n,i){const r=[];return t.forEach((t=>{switch(t.type){case"take":r.push(n[t.index]);break;case"update":const o=e[t.newGraphIndex].options,s=n[t.currentGraphIndex];s.updateInputs(e[t.newGraphIndex].inputs),s.updateOptions(o),r.push(s);break;case"create":const a=Om.create(e[t.newGraphIndex],i);r.push(a);break;case"dispose":n[t.currentGraphIndex].dispose();break;default:throw new Error("cant apply action type: ",t.type)}})),r}var wm=function(t,e,n,i){const r=t.graph,o=e.graph;if(!(o&&r&&Array.isArray(o)&&Array.isArray(r)))throw new Error("cant apply new composite options",t);return xm(km(r,o),r,n,i)};class _m extends fm{constructor(t,e,n){super(...arguments),this.context=n,this.nodes=this.createNodes(this.options)}createNodes(t){if(!t||!t.graph)throw new Error("cant create composite node, please supply info.options.graph");return t.graph.map((t=>Om.create(t,this.context)))}render(t){const e=t.ioStore,n=t.graphIOManager;let i=n.getPrevOutput(e);const r=this.outputs;if(this.nodes.length){const t=new Nh(e),r="__PREVIOUS:0",o=[],s=new Set;this.nodes.forEach(((e,a)=>{const l={ioStore:t,graphIOManager:n},c=e.getOutputs?e.getOutputs():void 0,u=Array.isArray(c)?c:[],d={};u.forEach((e=>{d[e]=t.get(e)}));const h=t.get(r);i=e.render(l),a!==this.nodes.length-1&&o.push(i);const f=new Set;if(h&&h!==i&&f.add(h),u.forEach((t=>{const e=d[t];e&&e!==i&&f.add(e)})),f.size){const e=new Set(Object.values(t.get()));f.forEach((t=>{e.has(t)||(n.disposeTextures([t],i),s.add(t))}))}}));const a=o.filter((t=>!s.has(t)));n.disposeTextures(a,i)}return n.setOutputs(e,r,i),i}getOptionsDisplay(){return[]}_updateOptions(t){this.nodes=wm(t,this.options,this.nodes,this.context),this.options=t}dispose(){this.nodes.forEach((t=>{t.dispose()}))}}const Im=bh.MESSAGES.UPDATE_OPTIONS;class Tm extends _m{constructor(t,e,n){super(...arguments),this.baseNode=n.baseNode,this.registerListeners()}registerListeners(){this.baseNode.getEventEmitter().on(Im,this.updateOptions,this)}dispose(){this.nodes.forEach((t=>{t.dispose()})),this.baseNode.getEventEmitter().off(Im,this.updateOptions,this)}}const Em=bh.SYSTEM_NODES.TAGS.ATOM,Sm=bh.SYSTEM_NODES.TAGS.FILTER,Mm=bh.SYSTEM_NODES.TAGS.COMPOSITE_FILTER,Am=bh.SYSTEM_NODES.TAGS.TRANSITION_FILTER,Nm=bh.PREVIOUS_OUTPUT_PREFIX,Fm=Object.keys(sm);function Cm(t,e){const n=(i=t.type,sm[i]);var i;return t=dm(n,t),new pm(t.type,t,e)}var Om={create:function(t,e){let n;switch(function(t){let e;return n=t,e=Fm.includes(n)?Em:t===Mm?Mm:t===Am?Am:Sm,e;var n}((t=JSON.parse(JSON.stringify(t))).type)){case Em:n=Cm(t,e);break;case Sm:n=function(t,e){const n=function(t,e){const n=e.get(t);if(!n)throw new Error(`no base node, cant resolve type: ${t}`);return n}(t.type,e.nodeStore),i=n.getType(),r=n.getInfo();let o;return t=dm(r,t),e={...e,baseNode:n},o=i===Mm?new Tm(i,t,e):new vm(i,t,e),o}(t,e);break;case Mm:n=function(t,e){const n=t.type;return t=dm({inputs:[`${Nm}0`]},t),new _m(n,t,e)}(t,e);break;case Am:n=function(t,e){const n=t.options.filter;if(!n)throw new Error(`transition filter should supply base filter ${n}`);return t.type=`${n}Transition`,Cm(t,e)}(t,e);break;default:throw new Error("cant create node",t.type)}return n}};const Pm=bh.SYSTEM_NODES.FILTERS.RENDER_TO_CANVAS;var Dm=function(t){const e={[Pm]:sm[Pm]};for(const[n,i]of Object.entries(e)){const e=Om.create(i,t);t.nodeStore.set(n,e)}},Rm=function(t,e){for(const[n,i]of Object.entries(t)){const t=Om.create(i,e);e.nodeStore.set(n,t)}};const Bm=bh.CAPTURED_FRAME_PREFIX;class Lm{constructor(t){return this.textureManager=t.textureManager,this.currentFrameTextures={0:this.textureManager.createTexture({type:"frame"})},this.saveInNextFrameTextures=[],this.savedFramesTextures={},this.reservedUnits=new Set([this.currentFrameTextures[0].getUnit()]),{capture:this.capture.bind(this),createCaptureId:this.createCaptureId.bind(this),releaseCaptureId:this.releaseCaptureId.bind(this),getCurrentFrames:this.getCurrentFrames.bind(this),getSavedFrames:this.getSavedFrames.bind(this),isReservedUnit:this.isReservedUnit.bind(this)}}updateCurrentFrame(t,e){e=e||0,this.currentFrameTextures[e].fill(t)}saveFrame(t){0!==this.saveInNextFrameTextures.length&&(this.saveInNextFrameTextures.forEach((e=>{e.fill(t)})),this.saveInNextFrameTextures=[])}capture(t,e){(t.videoHeight>150||t.displayHeight>150)&&(this.updateCurrentFrame(t,e),this.saveFrame(t))}createCaptureId(){const t=this.textureManager.createTexture({type:"frame"});this.saveInNextFrameTextures.push(t);const e=t.getUnit(),n=`${Bm}${e}`;return this.savedFramesTextures[n]=t,this.reservedUnits.add(e),n}releaseCaptureId(t){if("string"!=typeof t)throw new Error("capture id should be string");delete this.saveInNextFrameTextures[t];const e=t.split(":")[1];this.reservedUnits.delete(parseInt(e,10))}getCurrentFrames(){return this.currentFrameTextures}getSavedFrames(){return this.savedFramesTextures}isReservedUnit(t){return this.reservedUnits.has(t)}}const zm=Dd("ShaderGraphApplication","warn"),Wm=bh.SYSTEM_NODES.FILTERS.RENDER_TO_CANVAS,jm=Object.freeze({useCanvasSizedFilterTargets:!1,rebindAttributesOnProgramSwitch:!0,forwardContextAttributes:!0});function Um(t={}){const e=null==t?void 0:t.performanceToggles;return e&&"object"==typeof e?{...jm,...e}:{...jm}}class $m{constructor(t,e={}){return this.glSource=t,this.config=e,this.performanceToggles=Um(e),this.isContextLost=!1,this.isRecovering=!1,this.isDisposed=!1,this.pendingNodeOptionUpdates=new Map,this.doInit(t,e)}doInit(t,e){this.source=Mh(t),this.performanceToggles=Um(e),this.isDisposed=!1,this.resetViewportSyncState(),this.render=this.render.bind(this),this.resizeCanvasSize=this.resizeCanvasSize.bind(this),this.setSrcVidTracks=this.setSrcVidTracks.bind(this),this.onWebGLContextLost=this.onWebGLContextLost.bind(this),this.onForceRender=this.onForceRender.bind(this),this.resizeCanvasSize._shouldPreventDefault=!0;const n=function(t={},e=jm){const n=null!=t&&t.glOptions&&"object"==typeof t.glOptions?{...t.glOptions}:{},i=n.__shaderGraph&&"object"==typeof n.__shaderGraph?n.__shaderGraph:{};return{...n,__shaderGraph:{...i,forwardContextAttributes:!1!==e.forwardContextAttributes}}}(e,this.performanceToggles);return this.gl=this.source.init(this.setSrcVidTracks,this.resizeCanvasSize,n),this.addCanvasListeners(),this.addSourceListeners(),this.exposeDebugGlobalIfBrowser(),this.selectedRenderNode=null,this.setupRenderInfrastructure(t,e),e.userWillCallRender||(this.rafId=requestAnimationFrame(this.render)),this.dirtyCanvasSize=!0,{getNodes:this.getNodes.bind(this),addNodes:this.addClientNodes.bind(this),selectNode:this.selectNode.bind(this),addTexture:this.addTexture.bind(this),releaseTexture:this.releaseTexture.bind(this),captureTexture:this.captureTexture.bind(this),disposeTexture:this.disposeTexture.bind(this),updateOptions:this.updateOptions.bind(this),render:this.render,dispose:this.dispose.bind(this)}}exposeDebugGlobalIfBrowser(){"undefined"!=typeof window&&(window.ekoShaderGraph=this)}setupRenderInfrastructure(t,e){this.activeTextures=this.activeTextures||new Set,this.textureManager=new Lh({gl:this.gl,activeTextures:this.activeTextures}),this.capturedFramesManager=new Lm({textureManager:this.textureManager}),this.graphIOManager=new Gh({glSource:t,gl:this.gl,textureManager:this.textureManager,capturedFramesManager:this.capturedFramesManager}),this.frameBufferFactory=new Zh({gl:this.gl,textureManager:this.textureManager,useCanvasSizedFilterTargets:this.performanceToggles.useCanvasSizedFilterTargets}),this.filterFactory=new rm({gl:this.gl,frameBufferFactory:this.frameBufferFactory,rebindAttributesOnProgramSwitch:this.performanceToggles.rebindAttributesOnProgramSwitch}),this.nodeStore=new Nh,this.ioStore=new Nh,Dm({nodeStore:this.nodeStore,filterFactory:this.filterFactory}),this.addClientNodes(e.nodes,this.isRecovering)}getNodes(){return zm.debug("[getNodes]"),this.nodeStore.get()}addClientNodes(t,e=!1){if(zm.debug("[addClientNodes]",t),t&&!e&&(this.addClientNodeInvocations=this.addClientNodeInvocations||[],this.addClientNodeInvocations.push(t)),!e&&this.isContextUnavailable())return;t=t||{};const n=JSON.parse(JSON.stringify(t));Rm(n,{nodeStore:this.nodeStore,filterFactory:this.filterFactory})}addTexture(t,e,n){if(zm.debug("[addTexture]",t,e,n),this.isContextUnavailable())return null;let i=this.textureManager.createTexture({type:e});return i.isStatic=!0,t&&i.fill(t),this.graphIOManager.setTextureSource(this.ioStore,i,n),i}releaseTexture(t){zm.debug("[releaseTexture]",t),this.isContextUnavailable()||this.textureManager.releaseTexture(t)}selectNode(t){if(zm.debug("[selectNode]",t),!this.isContextUnavailable())return this.nodeStore.get(t)||zm.warn("Missing render node",t),void(this.selectedRenderNodeId=t);this.selectedRenderNodeId=t}captureTexture(){return zm.debug("[captureTexture]"),this.isContextUnavailable()?null:this.capturedFramesManager.createCaptureId()}disposeTexture(t){return zm.debug("[disposeTexture]",t),this.isContextUnavailable()||"string"!=typeof t?null:this.capturedFramesManager.releaseCaptureId(t)}setSrcVidTracks(t){this.isContextUnavailable()||this.capturedFramesManager&&this.capturedFramesManager.capture(t)}resizeCanvasSize(t,e,n,i){this.dirtyCanvasSize={width:n,height:i}}resetViewportSyncState(){this._lastSyncedViewportCanvasWidth=null,this._lastSyncedViewportCanvasHeight=null}syncViewportToCanvasBackingStoreIfChanged(){var t,e;const n=null===(t=this.gl)||void 0===t||null===(t=t.canvas)||void 0===t?void 0:t.width,i=null===(e=this.gl)||void 0===e||null===(e=e.canvas)||void 0===e?void 0:e.height;!Number.isFinite(n)||!Number.isFinite(i)||n<=0||i<=0||n===this._lastSyncedViewportCanvasWidth&&i===this._lastSyncedViewportCanvasHeight||(Yh(n,i),this.gl.viewport(0,0,n,i),this._lastSyncedViewportCanvasWidth=n,this._lastSyncedViewportCanvasHeight=i)}isContextUnavailable(){return!!this.isDisposed||!(!this.isRecovering&&!this.isContextLost)||!(!this.gl||"function"!=typeof this.gl.isContextLost)&&this.gl.isContextLost()}queueNodeOptionUpdate(t,e){t&&e&&"object"==typeof e&&(this.pendingNodeOptionUpdates||(this.pendingNodeOptionUpdates=new Map),this.pendingNodeOptionUpdates.set(t,e))}applyPendingNodeOptionUpdates(t=!1){if(!this.pendingNodeOptionUpdates||!this.pendingNodeOptionUpdates.size)return;const e=Array.from(this.pendingNodeOptionUpdates.entries());this.pendingNodeOptionUpdates.clear(),e.forEach((([e,n])=>{try{if(t){const t=this.nodeStore.get(e);if(!t||"function"!=typeof t.updateOptions)return void this.queueNodeOptionUpdate(e,n);try{t.updateOptions(n)}catch(t){zm.error("Failed to apply pending node options",e,t),this.queueNodeOptionUpdate(e,n)}return}this.updateOptions(e,n)}catch(t){zm.error("Failed to apply pending node options",e,t)}}))}render(t={}){const{noRaf:e=!1}=t;if(this.isContextUnavailable())return;if(this.dirtyCanvasSize){let{width:t=this.gl.canvas.width,height:e=this.gl.canvas.height}=this.dirtyCanvasSize;Yh(t,e),this.gl.canvas.width=t,this.gl.canvas.height=e,this.textureManager.refreshTextureObjects(),this.gl.viewport(0,0,t,e),this.dirtyCanvasSize=!1,this._lastSyncedViewportCanvasWidth=t,this._lastSyncedViewportCanvasHeight=e}this.syncViewportToCanvasBackingStoreIfChanged(),this.graphIOManager.setVideoSources(this.ioStore);let n={ioStore:this.ioStore,graphIOManager:this.graphIOManager};this.renderSelectedNode(n),this.config.onPreRenderToScreen&&this.config.onPreRenderToScreen(),this.renderToCanvas(n),this.config.onPostRenderToScreen&&this.config.onPostRenderToScreen(),this.graphIOManager.disposeAllStore(this.ioStore),n=null,!e&&!this.config.userWillCallRender&&(this.rafId=requestAnimationFrame(this.render))}renderSelectedNode(t){if(!this.selectedRenderNodeId)return;const e=this.nodeStore.get(this.selectedRenderNodeId);e&&"function"==typeof e.render?e.render(t):(zm.warn("Missing selected render node",this.selectedRenderNodeId),this.selectedRenderNodeId=null)}renderToCanvas(t){const e=this.nodeStore.get(Wm);e&&"function"==typeof e.render?e.render(t):zm.warn("Missing render-to-canvas node")}updateOptions(t,e){if(zm.debug("[updateOptions]",t,e),this.isContextUnavailable())return void this.queueNodeOptionUpdate(t,e);const n=this.nodeStore.get(t);if(n&&"function"==typeof n.updateOptions)try{n.updateOptions(e)}catch(n){zm.error("Failed to update node options",t,n),this.queueNodeOptionUpdate(t,e)}else this.queueNodeOptionUpdate(t,e)}addSourceListeners(){var t;"function"==typeof(null===(t=this.source)||void 0===t?void 0:t.on)&&this.source.on("forcerender",this.onForceRender)}removeSourceListeners(){var t;"function"==typeof(null===(t=this.source)||void 0===t?void 0:t.off)&&this.source.off("forcerender",this.onForceRender)}addCanvasListeners(){var t;(null==this||null===(t=this.gl)||void 0===t?void 0:t.canvas)&&(this.config.noWebGLContextLostRecovery||this.gl.canvas.addEventListener("webglcontextlost",this.onWebGLContextLost))}removeCanvasListeners(){var t;(null==this||null===(t=this.gl)||void 0===t?void 0:t.canvas)&&this.gl.canvas.removeEventListener("webglcontextlost",this.onWebGLContextLost)}getNodesOptions(){const t=this.getNodes();let e={};return Object.keys(t).filter((t=>"__default"!==t)).forEach((n=>{e[n]=t[n].options})),e}getDocumentVisibilityPromise(){return new Promise((t=>{"visible"===document.visibilityState&&t();const e=()=>{"visible"===document.visibilityState&&(document.removeEventListener("visibilitychange",e),t())};document.addEventListener("visibilitychange",e)}))}onForceRender(){zm.info("[onForceRender]"),this.render({noRaf:!0})}async onWebGLContextLost(t){if(t&&"function"==typeof t.preventDefault&&t.preventDefault(),this.isDisposed||this.isRecovering)return;this.isContextLost=!0,this.isRecovering=!0;const e=this.getNodesOptions(),n=this.addClientNodeInvocations,i=this.selectedRenderNodeId;cancelAnimationFrame(this.rafId),zm.warn("WebGL context lost - attempting to recover");const r=async()=>{if(this.isDisposed)this.isRecovering=!1;else try{var t;if(await this.getDocumentVisibilityPromise(),this.isDisposed)return void(this.isRecovering=!1);if(this.gl&&"function"==typeof this.gl.isContextLost&&this.gl.isContextLost())return void setTimeout(r,200);this.dispose(!1),this.doInit(this.glSource,this.config),this.textureManager&&"function"==typeof this.textureManager.refreshActiveTextures&&this.textureManager.refreshActiveTextures(),n&&n.length&&n.forEach((t=>{zm.debug("Re-adding client nodes",t),this.addClientNodes(t,!0)})),Object.entries(e).forEach((([t,e])=>{zm.debug("Re-applying node options",t,e);const n=this.nodeStore.get(t);n&&"function"==typeof n.updateOptions&&n.updateOptions(e)})),i&&(this.selectedRenderNodeId=i),this.applyPendingNodeOptionUpdates(!0);const o="function"==typeof(null===(t=this.source)||void 0===t?void 0:t.recover);o&&(zm.debug("Recovering glSource (i.e. seeking/resetting player)"),await this.source.recover()),this.isContextLost=!1,this.isRecovering=!1,o&&this.render()}catch(t){zm.error("Failed to recover WebGL context, retrying",t),setTimeout(r,200)}};await r()}dispose(t=!0){if(this.selectedRenderNode=null,t&&(this.isDisposed=!0,this.isRecovering=!1,this.isContextLost=!1),this.source&&(this.removeSourceListeners(),"function"==typeof this.source.dispose&&this.source.dispose()),this.gl){this.removeCanvasListeners();const e=this.gl.getParameter(this.gl.MAX_TEXTURE_IMAGE_UNITS);for(let t=0;t<e;++t)this.gl.activeTexture(this.gl.TEXTURE0+t),this.gl.bindTexture(this.gl.TEXTURE_2D,null),this.gl.bindTexture(this.gl.TEXTURE_CUBE_MAP,null);if(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,null),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,null),this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,null),this.gl.bindTexture(this.gl.TEXTURE_2D,null),this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,null),t)try{this.gl.getExtension("WEBGL_lose_context").loseContext()}catch(t){console.error(t)}}this.selectedRenderNodeId=null,t&&delete this.addClientNodeInvocations}}class qm{constructor(t={}){this.options=t}get type(){return"stage"}getSignature(){return this.type}build({inputs:t=[]}={}){return{graph:[],outputs:t,signature:this.getSignature()}}}function Vm(t={}){const e={source:{center:{x:.5,y:.5},width:1,height:1},target:{center:{x:.5,y:.5},width:1,height:1},fitType:"fill",cornerRadius:0,edgeSoftness:0},n={...e.source,...t.source||{}},i={...e.target,...t.target||{}};return{...e,...t,source:n,target:i}}class Gm extends qm{get type(){return"retarget"}getSignature(){var t;const e=Array.isArray(null===(t=this.options)||void 0===t?void 0:t.frames)?this.options.frames:[];return`${this.type}:${e.length}`}build({inputs:t=[],stageIndex:e=0}={}){var n;const i=Array.isArray(null===(n=this.options)||void 0===n?void 0:n.frames)?this.options.frames:[];if(!i.length)return{graph:[],outputs:t,signature:this.getSignature()};const r=[],o=[];for(let n=0;n<t.length;n+=1){const s=t[n],a=i[n];if(!a){o.push(s);continue}const l=`retarget-${e}-${n}`;r.push({id:l,type:"crop",inputs:[s],outputs:[l],options:Vm(a)}),o.push(l)}return{graph:r,outputs:o,signature:this.getSignature()}}}class Hm{#M=new Map;constructor(){this.register("retarget",Gm)}register(t,e){t&&"function"==typeof e&&this.#M.set(t,e)}create(t={}){const e="string"==typeof(null==t?void 0:t.type)?t.type:null;if(!e)return null;const n=this.#M.get(e);return n?new n((null==t?void 0:t.options)||{}):null}}class Km{constructor(t={}){this.params=t}static get panAndScanTarget(){return"pre"}static buildDefaultLayoutGraph(t=[]){const e=t[0]||"__SRC_TEXTURE:0";return{type:"default",signature:`default:${t.length}`,isDynamic:!1,graph:[{type:"opacity",inputs:[e],options:{power:1}}]}}static prepareRenderFrames({frames:t}={}){return Array.isArray(t)?t:[]}static getRenderTiming({timing:t}={}){return t&&"object"==typeof t?t:{}}static resetRenderState(t){}render(t){}}class Xm extends Km{#A=null;#N=null;static get type(){return"default"}static get aliases(){return["DefaultRenderNode","default"]}static get requiresFrameCadence(){return!1}static buildLayoutGraph({inputs:t=[]}={}){return super.buildDefaultLayoutGraph(t)}static prepareRenderFrames({frames:t}={}){const e=Array.isArray(t)?t:[];if(e.length<=1)return e;const n=e[e.length-1];return n?[n]:e}render(t){var e;const n=(null==t||null===(e=t.visualFramesAvailable)||void 0===e?void 0:e.frames)||[];if(!n.length)return;const i=null==t?void 0:t.shaderGraph,r=null==t?void 0:t.shaderGraphNodeIds;if(!i||"function"!=typeof i.updateOptions||"function"!=typeof i.selectNode)return;const o=null==r?void 0:r.default;if(o)try{const t=n.map(((t,e)=>t?`__SRC_TEXTURE:${e}`:null)).filter(Boolean),e=Xm.buildLayoutGraph({inputs:t}),r=e.signature;this.#A!==r&&(i.updateOptions(o,{graph:e.graph}),this.#A=r),this.#N!==o&&(i.selectNode(o),this.#N=o),i.render({noRaf:!0})}catch(t){}}}function Ym(t){const e=Number(t);return Number.isFinite(e)?e<=0?0:e>=1?1:e:0}class Qm extends Km{#A=null;#N=null;#F=null;static get type(){return"cross-fade"}static get aliases(){return["CrossFadeRenderNode","cross-fade","crossfade"]}static get requiresFrameCadence(){return!0}static get panAndScanTarget(){return"pre"}static buildLayoutGraph({inputs:t=[],normalizedTime:e}={}){if(t.length<2)return super.buildDefaultLayoutGraph(t);const n=Ym(e),i=[{type:"opacity",inputs:[t[1]],options:{power:n}},{type:"shapeComposite",inputs:["__PREVIOUS:0",t[0]],options:{}}];return{type:Qm.type,signature:`${Qm.type}:${t.length}`,isDynamic:!0,graph:i}}static prepareRenderFrames({frames:t,timelineTime:e,active:n}={}){let i=(Array.isArray(t)?t:[]).slice(0,2);if(i.length<2)return i;const r=Number.isFinite(null==n?void 0:n.duration)&&n.duration>0?n.duration:void 0,o=Number.isFinite(null==n?void 0:n.offset)?n.offset:void 0;if(!Number.isFinite(e)||!Number.isFinite(r)||!Number.isFinite(o))return i;const s=Ym((e-o)/r);return s<=0?[i[0]]:s>=1?[i[1]]:i}render(t){var e;const n=(null==t||null===(e=t.visualFramesAvailable)||void 0===e?void 0:e.frames)||[];if(!n.length)return;const i=null==t?void 0:t.shaderGraph,r=null==t?void 0:t.shaderGraphNodeIds;if(!i||"function"!=typeof i.updateOptions||"function"!=typeof i.selectNode)return;if(n.length<2){const t=null==r?void 0:r.default;if(!t)return;try{const e="default";if(this.#A!==e){const n=Qm.buildLayoutGraph({inputs:["__SRC_TEXTURE:0"]});i.updateOptions(t,{graph:n.graph}),this.#A=e}this.#N!==t&&(i.selectNode(t),this.#N=t),i.render({noRaf:!0})}catch(t){}return}const o=null==r?void 0:r.crossFade;if(o)try{const e=["__SRC_TEXTURE:0","__SRC_TEXTURE:1"],n=Qm.buildLayoutGraph({inputs:e,normalizedTime:null==t?void 0:t.renderNodeNormalizedTime}),r=n.signature,s=Number(null==t?void 0:t.renderNodeNormalizedTime),a=Number.isFinite(s)?s:0;this.#A===r&&this.#F===a||(i.updateOptions(o,{graph:n.graph}),this.#A=r,this.#F=a),this.#N!==o&&(i.selectNode(o),this.#N=o),i.render({noRaf:!0})}catch(t){}}}function Jm(t,e,n={}){if("number"==typeof(null==t?void 0:t.nodeDurationOverride)&&Number.isFinite(t.nodeDurationOverride))return t.nodeDurationOverride;const i="function"==typeof(null==n?void 0:n.getNode)?n.getNode:e&&"function"==typeof e.get?t=>e.get(t):null;if(!i)return;const r=i(null==t?void 0:t.nodeId);if(!r)return;const o=r.duration;if("number"!=typeof o||Number.isNaN(o)||!Number.isFinite(o))return;const s="string"!=typeof r.state||"ready"===r.state;if(!0!==(null==n?void 0:n.allowUnready)&&!s)return;if(!(!0!==(null==n?void 0:n.allowUnready)||s||o>0))return;let a=0;"number"==typeof t.nodeOffsetOverride&&Number.isFinite(t.nodeOffsetOverride)&&(a=t.nodeOffsetOverride);const l=o-a;return l>0?l:0}function Zm(t){return!(!t||!0===t.offsetPending)&&Number.isFinite(t.offset)}function tv(t){return Zm(t)?t.offset:void 0}function ev(t,e,n,i={}){if(!t)return!1;const r=tv(t);if(!Number.isFinite(r))return!1;const o=Jm(t,n,i);return Number.isFinite(o)?e>=r&&e<r+o:e>=r}function nv(t=[]){if(!Array.isArray(t))return t;const e=[],n=[];return t.forEach((t=>{Zm(t)?e.push(t):n.push(t)})),e.sort(((t,e)=>t.offset-e.offset)),t.splice(0,t.length,...e,...n),t}function iv(t=[],e={}){if(!Array.isArray(t)||!t.length)return{updated:!1,resolvedPlacements:[]};const n="function"==typeof e.getPlacementDuration?e.getPlacementDuration:()=>{},i="function"==typeof e.snapPlacementOffset?e.snapPlacementOffset:t=>t,r="function"==typeof e.onResolvedPlacement?e.onResolvedPlacement:null,o=new Map,s=[];if(t.forEach((t=>{null!=t&&t.placementId&&o.set(t.placementId,t),!0===(null==t?void 0:t.offsetPending)&&s.push(t)})),!s.length)return{updated:!1,resolvedPlacements:[]};let a=!1;const l=[];let c=s,u=!0;for(;c.length&&u;){u=!1;const t=[];for(let e=0;e<c.length;e+=1){const s=c[e],d=null==s?void 0:s.offsetAnchorPlacementId;if(!d){t.push(s);continue}const h=o.get(d);if(!h||!0===h.offsetPending){t.push(s);continue}const f=tv(h);if(!Number.isFinite(f)){t.push(s);continue}let p;if("start"===s.offsetAnchorEdge)p=i(f,s);else{const e=n(h);if(!(e>0)){t.push(s);continue}const r=f+e-(Number.isFinite(s.offsetEndSeconds)?s.offsetEndSeconds:0);if(!Number.isFinite(r)){t.push(s);continue}const o=i(r,s);p=!0===s.offsetAnchorIsReference?Math.max(o,r):o}Number.isFinite(p)?(s.offset=p,s.offsetPending=!1,s.offsetAnchorPlacementId=void 0,s.offsetAnchorEdge=void 0,s.offsetAnchorIsReference=void 0,r&&r(s,h,p),l.push(s),a=!0,u=!0):t.push(s)}c=t}return a&&!1!==e.sortPlacements&&nv(t),{updated:a,resolvedPlacements:l}}function rv(t){const e=Number(t);return Number.isFinite(e)?e:0}function ov(t,e={}){const n=function(t){const e=Number(t);return Number.isFinite(e)&&e<0?Math.abs(e):0}(t),i=Number.isFinite(null==e?void 0:e.offsetEndSeconds)?e.offsetEndSeconds:n;var r;return{wantsEndOffset:"end"===(r=t)||null==r||n>0||!0===(null==e?void 0:e.offsetPending),endOffsetSeconds:i,endOffsetFromAtSeconds:n}}function sv(t){if("string"!=typeof t)return null;const e=t.trim();if(!e||"end"===e)return null;const n=Number(e);if(Number.isFinite(n))return null;const i=e.split("@"),r=i[0]?i[0].trim():"";if(!r)return null;if(1===i.length)return{placementId:r,anchor:"start"};if(2!==i.length)return null;const o=i[1]?i[1].trim().toLowerCase():"";return"start"!==o&&"end"!==o?null:{placementId:r,anchor:o}}function av(t=[],e,n,i){if(Array.isArray(t))for(let r=0;r<t.length;r+=1){const o=t[r],s="number"==typeof(null==o?void 0:o.offset)?o.offset:0;if(e<s+("number"==typeof(null==o?void 0:o.duration)&&Number.isFinite(o.duration)?o.duration:Number.POSITIVE_INFINITY)&&s<n)throw new Error(i)}}function lv(t){const e=Number(t);return Number.isFinite(e)&&e>0?e:0}function cv(t){return(null==t?void 0:t.id)||(null==t?void 0:t.nodeId)||null}function uv(t,e){return Array.isArray(t)&&e?t.findIndex((t=>cv(t)===e)):-1}function dv(t,e,n){const i=function(t,e,n){if(!Array.isArray(e)||0===e.length)return null;const i=e.length;if(null==t||"next"===t){const t=uv(e,n);return t>=0?(t+1)%i:0}if("prev"===t){const t=uv(e,n);return t>=0?(t-1+i)%i:i-1}const r=Number(t);return Number.isInteger(r)&&r>=0&&r<i?r:null}(t,e,n);return Number.isInteger(i)?cv(e[i]):null}function hv(t,e,n,i){const r=function(t,e){if(!Array.isArray(t)||t.length<=1)return t||[];const n=function(t){const e=[],n=new Set;return Array.isArray(t)?(t.forEach((t=>{const i=null==t?void 0:t.placementId;i&&!n.has(i)&&(n.add(i),e.push(i))})),e):e}(e);if(!n.length)return t;const i=new Map;t.forEach((t=>{const e=null==t?void 0:t.placementId;e&&!i.has(e)&&i.set(e,t)}));const r=[],o=new Set;return n.forEach((t=>{const e=i.get(t);e&&!o.has(t)&&(o.add(t),r.push(e))})),t.forEach((t=>{const e=null==t?void 0:t.placementId;e&&!o.has(e)&&(o.add(e),r.push(t))})),r}(function(t,e){const n=function(t){const e=Number(null==t?void 0:t.offset),n=Number(null==t?void 0:t.duration),i=n===Number.POSITIVE_INFINITY,r=Number.isFinite(n)&&n>0||i;return Number.isFinite(e)&&r?{start:e,end:i?Number.POSITIVE_INFINITY:e+n}:null}(e);if(!n||!t||!Array.isArray(t.placements))return[];const i=function(t,e){const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.snapToFps);return!Number.isFinite(n)||n<=0?0:.5/n}(t),r=t.placements.filter((e=>{const r=function(t,e){const n=tv(t);if(!Number.isFinite(n))return null;const i="function"==typeof(null==e?void 0:e.getPlacementDuration)?e.getPlacementDuration(t):void 0;return{start:n,end:Number.isFinite(i)&&i>=0?n+i:Number.POSITIVE_INFINITY}}(e,t);return!!r&&r.start<n.end&&r.end>n.start+i}));return r.sort(((t,e)=>tv(t)-tv(e))),r}(e,n),i),o=function(t,e){const n=[],i=new Set;return Array.isArray(t)?(t.forEach((t=>{const r=null==t?void 0:t.nodeId;if(!r||i.has(r))return;const o="function"==typeof(null==e?void 0:e.getNode)?e.getNode(r):null;if(o){const t="object"==typeof o&&null!==o?o.id||o.nodeId?o:{...o,id:r}:{id:r};n.push(t),i.add(r)}})),n):n}(r,e),s=function(t){const e=new Map;return t.forEach((t=>{const n=null==t?void 0:t.placementId,i=null==t?void 0:t.nodeId;n&&i&&(e.has(i)||e.set(i,[]),e.get(i).push(n))})),e}(r),a=Array.isArray(t.nodes)?t.nodes:[];return a.splice(0,a.length,...o),t.nodes=a,t.placements=r,t.nodePlacementMap=s,{nodes:a,placements:r,nodePlacementMap:s}}function fv(t,e,n){if(!Array.isArray(t))return null;if(e){const n=t.find((t=>(null==t?void 0:t.placementId)===e));if(n)return n}return n&&t.find((t=>(null==t?void 0:t.nodeId)===n))||null}function pv(t,e){if(!e||!Array.isArray(t))return null;const n=t.find((t=>(null==t?void 0:t.placementId)===e));return(null==n?void 0:n.nodeId)||null}function mv(t,e,n){if(!t||!e)return null;const i=e.get(t);if(!Array.isArray(i)||!i.length)return null;for(let e=0;e<i.length;e+=1){const r=i[e];if(fv(n,r,t))return r}return null}function vv(t){t.initialized=!1,t.activeRenderPlacementId=null,t.nodes=[],t.placements=[],t.nodePlacementMap=null,t.selectedPlacementId=null,t.previousPlacementId=null,t.pendingSwitch=null,t.switchStartTime=null,t.switchDuration=0,t.switchNormalizedTime=void 0,t.switchTo=null,t.countOfConcurrentChannels=null}class gv extends Km{static get type(){return"switching"}static get aliases(){return["SwitchingRenderNode","switching","switch"]}static get requiresFrameCadence(){return!0}static get panAndScanTarget(){return"pre"}static buildLayoutGraph({inputs:t=[],normalizedTime:e}={}){if(t.length<2)return super.buildDefaultLayoutGraph(t);const n=Ym(e),i=[{type:"opacity",inputs:[t[1]],options:{power:n}},{type:"shapeComposite",inputs:["__PREVIOUS:0",t[0]],options:{}}];return{type:gv.type,signature:`${gv.type}:${t.length}`,isDynamic:!0,graph:i}}static getRenderTiming({timing:t,state:e}={}){const n=t&&"object"==typeof t?t:{},i=Number(null==e?void 0:e.switchNormalizedTime);return Number.isFinite(i)?{...n,normalizedTime:Ym(i)}:n}static prepareRenderFrames({frames:t,timelineTime:e,timeline:n,active:i,renderNodeParams:r,state:o}={}){const s=Array.isArray(t)?t:[],a=o&&"object"==typeof o?o:{},l=null==i?void 0:i.renderPlacementId;l&&a.activeRenderPlacementId!==l&&(vv(a),a.activeRenderPlacementId=l);const c=null==r?void 0:r.initSwitching,u=hv(a,n,i,s),d=(f=s,Array.isArray(f)?f.length:0),h=a.countOfConcurrentChannels;var f;if(a.countOfConcurrentChannels=d,"function"==typeof c&&(a.switchTo||(a.switchTo=(t,e)=>{const n=pv(a.placements,a.selectedPlacementId),i=dv(t,a.nodes,n);if(!i)return;const r={nodeId:i};e&&Object.prototype.hasOwnProperty.call(e,"crossfadeSeconds")&&void 0!==e.crossfadeSeconds&&(r.crossfadeSeconds=e.crossfadeSeconds),a.pendingSwitch=r}),!a.initialized||h!==d)){a.initialized=!0,a.countOfConcurrentChannels=d;try{c({nodes:u.nodes,countOfConcurrentChannels:d,switchTo:a.switchTo})}catch(f){}}if(!a.selectedPlacementId){const t=Number(null==r?void 0:r.initialChannelIndex),e=dv(Number.isInteger(t)&&t>=0?t:0,a.nodes,null);let n=null;if(e&&(n=mv(e,a.nodePlacementMap,s),!n&&a.nodePlacementMap)){const t=a.nodePlacementMap.get(e);Array.isArray(t)&&t.length&&(n=t[0])}a.selectedPlacementId=n||function(t,e){if(Array.isArray(e))for(let i=0;i<e.length;i+=1){var n;const r=null===(n=e[i])||void 0===n?void 0:n.placementId;if(r&&fv(t,r))return r}const i=Array.isArray(t)?t.find((t=>null==t?void 0:t.placementId)):null;return i?i.placementId:null}(s,a.placements)}if(a.pendingSwitch&&Number.isFinite(e)){const t=mv(a.pendingSwitch.nodeId,a.nodePlacementMap,s);if(t){const n=a.selectedPlacementId;a.previousPlacementId=n&&n!==t?n:null,a.selectedPlacementId=t;const i=Object.prototype.hasOwnProperty.call(a.pendingSwitch,"crossfadeSeconds"),o=lv(a.pendingSwitch.crossfadeSeconds),s=lv(null==r?void 0:r.switchCrossfadeSeconds),l=i?o:s;a.switchDuration=l,l>0?a.switchStartTime=e:(a.switchStartTime=null,a.previousPlacementId=null)}a.pendingSwitch=null}let p;if(Number.isFinite(a.switchStartTime)&&a.switchDuration>0&&Number.isFinite(e)){const t=e-a.switchStartTime;t>=a.switchDuration?(a.switchStartTime=null,a.switchDuration=0,a.previousPlacementId=null):t>=0&&(p=Ym(t/a.switchDuration))}a.switchNormalizedTime=Number.isFinite(p)?p:void 0;const m=pv(a.placements,a.selectedPlacementId),v=fv(s,a.selectedPlacementId,m)||s[0];let g=null;if(Number.isFinite(a.switchNormalizedTime)&&a.previousPlacementId){const t=pv(a.placements,a.previousPlacementId),e=pv(a.placements,a.selectedPlacementId),n=fv(s,a.previousPlacementId,t),i=fv(s,a.selectedPlacementId,e);n&&i&&(g=[n,i])}return g||(g=v?[v]:s),g}static resetRenderState(t){t&&"object"==typeof t&&vv(t)}}const yv=.5,bv="auto";function kv(t){return"vertical"===t?"vertical":"horizontal"}function xv(t){return void 0===t||t===bv?bv:"manual"}function wv(t){const e=Number(t);return Number.isFinite(e)&&e>=0?e:.004}function _v(t,e){const n=Number(null==t?void 0:t.width),i=Number(null==t?void 0:t.height);return Number.isFinite(n)&&Number.isFinite(i)&&n>0&&i>0?i>n?"vertical":"horizontal":kv(e)}function Iv(t,e){const n=e&&"object"==typeof e&&e.runtimeParams&&"object"==typeof e.runtimeParams?e.runtimeParams:{},i=Object.prototype.hasOwnProperty.call(n,"orientationMode")?n.orientationMode:null==t?void 0:t.orientationMode,r=Object.prototype.hasOwnProperty.call(n,"orientation")?n.orientation:null==t?void 0:t.orientation,o=Object.prototype.hasOwnProperty.call(n,"gap")?n.gap:null==t?void 0:t.gap,s=xv(i);return{orientationMode:s,orientation:s===bv?_v(null==e?void 0:e.viewportSize,r):kv(r),gap:wv(o)}}function Tv(t){t&&"object"==typeof t&&(t.activeRenderPlacementId=null,t.frames=null,t.gridInitialized=!1,t.runtimeParams=null,t.setGridParams=null)}class Ev extends Km{static get type(){return"grid"}static get aliases(){return["GridRenderNode","grid","SideBySideRenderNode","side-by-side","sidebyside"]}static get requiresFrameCadence(){return!1}static get panAndScanTarget(){return"skip"}static resolvePanAndScanTarget({frameCount:t}={}){return t<2?"pre":Ev.panAndScanTarget}static buildLayoutGraph({inputs:t=[],renderNodeParams:e,state:n}={}){const i=Array.isArray(t)?t.slice(0,12):[],r=i.length;if(r<2)return super.buildDefaultLayoutGraph(i);const{orientation:o,gap:s}=Iv(e,n),{rows:a,cols:l}=(p=o,(f=r)<=3?"vertical"===p?{rows:f,cols:1}:{rows:1,cols:f}:4===f?{rows:2,cols:2}:f<=6?"vertical"===p?{rows:3,cols:2}:{rows:2,cols:3}:f<=8?"vertical"===p?{rows:4,cols:2}:{rows:2,cols:4}:9===f?{rows:3,cols:3}:"vertical"===p?{rows:4,cols:3}:{rows:3,cols:4}),c=1/a,u=Math.max(0,c-s),d=[],h="grid-slice";var f,p;function m(t){const e=Math.floor(t/l),n=function(t,e,n,i){const r=(e-1)*n;return t===e-1&&i>r?i-r:n}(e,a,l,r),i=n<l?t-e*l:t%l,o=1/n;return{row:e,cellWidth:o,cropWidth:Math.max(0,o-s),targetCenterX:(i+yv)*o,targetCenterY:(e+yv)*c}}function v(t,e,n){const i=m(t);return{id:`grid-crop-${t}`,type:"crop",inputs:[e],outputs:[n],options:{source:{center:{x:yv,y:yv},width:1,height:1},target:{center:{x:i.targetCenterX,y:i.targetCenterY},width:i.cropWidth,height:u},fitType:"fill",cornerRadius:0,edgeSoftness:0}}}function g(t){const e=m(t);return{id:`grid-mask-${t}`,type:"shapeCompositeMask",inputs:[h,"accum"],outputs:["accum"],options:{type:"box",center:{x:2*e.targetCenterX-1,y:1-2*e.targetCenterY},area:{width:e.cellWidth,height:c},radius:0,edgeSoftness:0}}}d.push(v(0,i[0],"accum"));for(let t=1;t<r;t+=1)d.push(v(t,i[t],h)),d.push(g(t));return{type:Ev.type,signature:`${Ev.type}:${r}:${a}x${l}:${o}:${s}`,isDynamic:!1,graph:d}}static prepareRenderFrames({frames:t,renderNodeParams:e,active:n,state:i}={}){const r=Array.isArray(t)?t.slice(0,12):[],o=i&&"object"==typeof i?i:{},s=null==n?void 0:n.renderPlacementId;s&&o.activeRenderPlacementId!==s&&(Tv(o),o.activeRenderPlacementId=s);const a=Array.isArray(o.frames)?o.frames:[],l=null==e?void 0:e.initGrid;if("function"==typeof l&&(o.setGridParams||(o.setGridParams=t=>{!function(t,e){if(!t||"object"!=typeof t||!e||"object"!=typeof e)return;const n=t.runtimeParams&&"object"==typeof t.runtimeParams?{...t.runtimeParams}:{};Object.prototype.hasOwnProperty.call(e,"orientationMode")&&(n.orientationMode=xv(e.orientationMode)),Object.prototype.hasOwnProperty.call(e,"orientation")&&(n.orientation=kv(e.orientation)),Object.prototype.hasOwnProperty.call(e,"gap")&&(n.gap=wv(e.gap)),t.runtimeParams=n}(o,t),"function"==typeof o.requestRender&&o.requestRender()}),!o.gridInitialized)){o.gridInitialized=!0;const t=Iv(e,o);try{l({orientationMode:t.orientationMode,orientation:t.orientation,gap:t.gap,setGridParams:o.setGridParams})}catch(t){}}if(r.length<2){const t=function(t,e){if(!Array.isArray(e)||e.length<2)return t.length?[t[t.length-1]]:[];const n=Math.min(12,Math.max(t.length,e.length,2)),i=t[0]||e[0];return Array.from({length:n},((n,r)=>t[r]||e[r]||i))}(r,a);return o.frames=t,t}return o.frames=r,r}static resetRenderState(t){Tv(t)}}const Sv=[Xm,Qm,gv,Ev],Mv=new Map;function Av(t){if("string"!=typeof t)return null;const e=t.trim();return e?e.toLowerCase():null}function Nv(t){const e=Av(t);return e&&Mv.get(e)||null}function Fv(t){return Nv(t)||Xm}Sv.forEach((t=>function(t){(function(t){const e=Array.isArray(t.aliases)?t.aliases:[],n=t.type;return(n?[n,...e]:e.slice()).filter((t=>"string"==typeof t&&t.trim().length))})(t).forEach((e=>{const n=Av(e);n&&Mv.set(n,t)}))}(t)));class Cv{static get defaultType(){return Xm.type||"default"}static getRenderNodeClass(t){return Nv(t)}static normalizeType(t){const e=Nv(t);return e?e.type:null}static doesRenderNodeTypeRequireFrameCadence(t){const e=Nv(t);return!!e&&!0===e.requiresFrameCadence}static buildLayoutGraph({type:t,inputs:e=[],normalizedTime:n,renderNodeParams:i,state:r}={}){const o=Fv(t);return o&&"function"==typeof o.buildLayoutGraph?o.buildLayoutGraph({inputs:e,normalizedTime:n,renderNodeParams:i,state:r}):Xm.buildLayoutGraph({inputs:e,normalizedTime:n,renderNodeParams:i,state:r})}static getPanAndScanTarget(t,e={}){const n=Fv(t);return"post"===(i=n&&"function"==typeof n.resolvePanAndScanTarget?n.resolvePanAndScanTarget(e):null==n?void 0:n.panAndScanTarget)||"skip"===i?i:"pre";var i}static prepareRenderFrames({type:t,frames:e,timelineTime:n,timeline:i,active:r,renderNodeParams:o,state:s}={}){const a=Fv(t);if(a&&"function"==typeof a.prepareRenderFrames){const t=a.prepareRenderFrames({frames:e,timelineTime:n,timeline:i,active:r,renderNodeParams:o,state:s});if(Array.isArray(t))return t}return Array.isArray(e)?e:[]}static getRenderTiming({type:t,timing:e,timelineTime:n,active:i,renderNodeParams:r,state:o}={}){const s=Fv(t),a=e&&"object"==typeof e?e:{};if(s&&"function"==typeof s.getRenderTiming){const t=s.getRenderTiming({timing:a,timelineTime:n,active:i,renderNodeParams:r,state:o});if(t&&"object"==typeof t)return{...a,...t}}return a}static resetRenderState(t,e){const n=Fv(t);n&&"function"==typeof n.resetRenderState&&n.resetRenderState(e)}static resetAllRenderStates(t){t&&"function"==typeof t.forEach&&t.forEach(((t,e)=>{Cv.resetRenderState(e,t)}))}create(t,e){return t&&"function"==typeof t.render?t:new(Fv(t))(e)}}function Ov(t){return Array.isArray(t)?t.filter((t=>t&&"string"==typeof t.type)):[]}function Pv(t,e){return t&&"function"==typeof t.getSignature?t.getSignature():(null==e?void 0:e.type)||"stage"}class Dv{#C;constructor(t){this.#C=t||new Hm}build(t={}){const e=(Array.isArray(null==t?void 0:t.frames)?t.frames:[]).length,n=Array.from({length:e},((t,e)=>`__SRC_TEXTURE:${e}`)),i=Cv.normalizeType(null==t?void 0:t.layoutType)||Cv.defaultType,r=null==t?void 0:t.normalizedTime,o=Ov(null==t?void 0:t.preStages),s=Ov(null==t?void 0:t.postStages),a=[],l=[`layout:${i}`,`inputs:${e}`];let c=n;o.forEach(((e,n)=>{const i=this.#C.create(e);if(!i)return;const r=i.build({inputs:c,stageIndex:n,context:t});Array.isArray(null==r?void 0:r.graph)&&r.graph.length&&a.push(...r.graph),Array.isArray(null==r?void 0:r.outputs)&&r.outputs.length&&(c=r.outputs),l.push(Pv(i,e))}));const u=Cv.buildLayoutGraph({type:i,inputs:c,normalizedTime:r,renderNodeParams:null==t?void 0:t.renderNodeParams,state:null==t?void 0:t.renderNodeState}),d=!(null==u||!u.isDynamic);Array.isArray(null==u?void 0:u.graph)&&u.graph.length&&a.push(...u.graph),l.push((null==u?void 0:u.signature)||`${i}:${c.length}`);let h="__PREVIOUS:0";return s.forEach(((e,n)=>{const i=this.#C.create(e);if(!i)return;const r=i.build({inputs:[h],stageIndex:n,context:t});Array.isArray(null==r?void 0:r.graph)&&r.graph.length&&a.push(...r.graph),h=Array.isArray(null==r?void 0:r.outputs)&&r.outputs.length?r.outputs[0]:"__PREVIOUS:0",l.push(Pv(i,e))})),{graph:a,signature:l.join("|"),isDynamic:d}}}const Rv=[0,0,1,1],Bv="zoomInExposure",Lv=["transform","exposure","fadeToColor","dipToBlack"],zv={zoomInExposure:{filters:{fadeToColor:{duration:150,ease:[1,0,1,0],power:{from:0,to:1},color:"#ffffff"},exposure:!1,transform:{duration:150,ease:[0,.5,.5,1],scale:{from:{x:1,y:1},to:{x:1.1,y:1.1}},translate:{from:{x:0,y:0},to:{x:0,y:0}}}},reverseFilters:{fadeToColor:{duration:700,ease:[0,1,0,1]},exposure:!1,transform:{duration:700,ease:[0,1,0,1]}}},dipToBlack:{filters:{transform:{duration:250,ease:[0,.5,.5,1],scale:{from:{x:1,y:1},to:{x:1.05,y:1.05}},translate:{from:{x:0,y:0},to:{x:0,y:0}}},dipToBlack:{duration:250,ease:[0,.5,.5,1],power:{from:0,to:1}}},reverseFilters:{dipToBlack:{duration:800,ease:[0,1,0,1]}}}};function Wv(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}function jv(t,e=Rv){return Array.isArray(t)&&t.length>=4?t:e}function Uv(t){return"string"==typeof t&&t.trim()?t.trim():"#ffffff"}function $v(t,e){const n=null==t?void 0:t[e];return!1===n||null==n?null:Bd(n)?n:{}}function qv(t={}){let e=0;return Lv.forEach((n=>{const i=$v(t,n);if(!i)return;const r=Wv(null==i?void 0:i.duration);r>e&&(e=r)})),e}function Vv(t,e,n,i,r){const o=[];return Lv.forEach((s=>{const a=$v(t,s);if(!a)return;const l=function(t,e,n){const i=Wv(null==t?void 0:t.duration);return Number.isFinite(n)&&n>0?i>0&&e>0?i*e:n:i}(a,n,i),c=function(t,e,n,i,r){const o={type:"transition",inputs:["__PREVIOUS:0"],options:{filter:t,startTime:n,duration:i,properties:{}}};if("transform"===t){var s,a,l,c;const t=jv(null==e?void 0:e.ease),n=(null==e||null===(s=e.scale)||void 0===s?void 0:s.from)||{x:1,y:1},i=(null==e||null===(a=e.scale)||void 0===a?void 0:a.to)||{x:1,y:1},r=(null==e||null===(l=e.translate)||void 0===l?void 0:l.from)||{x:0,y:0},u=(null==e||null===(c=e.translate)||void 0===c?void 0:c.to)||{x:0,y:0};return o.options.properties.scale={from:n,to:i,ease:t},o.options.properties.translate={from:r,to:u,ease:t},o}if("fadeToColor"===t){const t=jv(null==e?void 0:e.ease),n=(null==e?void 0:e.power)||{from:0,to:1};return o.options.properties.power={from:Wv(null==n?void 0:n.from,0),to:Wv(null==n?void 0:n.to,1),ease:t},o.options.properties.color=Uv((null==e?void 0:e.color)||r),o}if("exposure"===t||"dipToBlack"===t){const t=jv(null==e?void 0:e.ease),n=(null==e?void 0:e.power)||{from:0,to:1};return o.options.properties.power={from:Wv(null==n?void 0:n.from,0),to:Wv(null==n?void 0:n.to,1),ease:t},o}return null}(s,a,e,l,r);c&&o.push(c)})),o}function Gv(t=[]){const e=t.map((t=>{const e=JSON.parse(JSON.stringify(t));return null!=e&&e.options&&(e.options.startTime=0),e}));return JSON.stringify(e)}class Hv{#O=null;start(t={}){const e=null==t?void 0:t.shaderGraph;if(!e||"function"!=typeof e.captureTexture)return null;const{baseFilters:n,reverseFilters:i}=function(t={}){const e=function(t={}){if(Bd(null==t?void 0:t.transition))return t.transition;if("string"==typeof(null==t?void 0:t.transition))return zv[t.transition]||zv[Bv];if(Bd(null==t?void 0:t.filters)||Bd(null==t?void 0:t.reverseFilters))return{filters:t.filters||{},reverseFilters:t.reverseFilters||{}};if("string"==typeof(null==t?void 0:t.filter)){const e=Wv(t.duration)>0?1e3*t.duration:500;return{filters:{[t.filter]:{duration:e,power:{from:0,to:1}}},reverseFilters:{}}}return zv[Bv]}(t),n=Ld({},(null==e?void 0:e.filters)||{},Bd(null==t?void 0:t.filters)?t.filters:{}),i=function(t={}){const e={};return Object.keys(t).forEach((n=>{const i=t[n];if(!1===i)return void(e[n]=!1);const r=JSON.parse(JSON.stringify(Bd(i)?i:{}));Object.values(r).forEach((t=>function(t){if(t&&"object"==typeof t&&"from"in t&&"to"in t){const e=t.from;t.from=t.to,t.to=e}}(t))),e[n]=r})),e}(n),r=Ld({},(null==e?void 0:e.reverseFilters)||{},Bd(null==t?void 0:t.reverseFilters)?t.reverseFilters:{});return{baseFilters:n,reverseFilters:Ld({},i,r)}}(t),r=Wv(null==t?void 0:t.duration),o=r>0?1e3*r:null,s=qv(n),a=qv(i),l=o&&s>0?o/s:1,c=o&&a>0?o/a:1,u=o||s||500,d=o||a||u,h=Uv(null==t?void 0:t.color),f=e.captureTexture(),p=Date.now(),m=Vv(n,p,l,o,h);return this.#O={phase:"out",startTime:p,outDurationMs:u,inDurationMs:d,color:h,captureId:f,baseFilters:n,reverseFilters:i,outScale:l,inScale:c,durationOverrideMs:o,outGraph:m,outSignature:Gv(m),inGraph:null,inSignature:null},{captureId:f,outDurationMs:u,inDurationMs:d}}beginIncoming(){if(!this.#O)return;const t=Date.now(),e=Vv(this.#O.reverseFilters,t,this.#O.inScale,this.#O.durationOverrideMs,this.#O.color);this.#O={...this.#O,phase:"in",startTime:t,inGraph:e,inSignature:Gv(e)}}reset(t){var e;t&&"function"==typeof t.disposeTexture&&null!==(e=this.#O)&&void 0!==e&&e.captureId&&t.disposeTexture(this.#O.captureId),this.#O=null}getState(){return this.#O}buildOutgoingGraph(){const t=this.#O;return t&&"out"===t.phase&&Array.isArray(t.outGraph)&&t.outGraph.length?{signature:`transition:out:${t.outSignature||""}`,forceUpdate:!1,graph:t.outGraph}:null}buildIncomingGraph(){const t=this.#O;return t&&"in"===t.phase&&Array.isArray(t.inGraph)&&t.inGraph.length?{signature:`transition:in:${t.inSignature||""}`,forceUpdate:!1,graph:t.inGraph}:null}}let Kv;const Xv=[/firefox\/(\d+)/,/edg\/(\d+)/,/opr\/(\d+)/,/chrome\/(\d+)/];function Yv(){const t=Vd&&Vd.navigator&&(Vd.navigator.userAgent||Vd.navigator.platform||Vd.navigator.vendor)||"";if(Kv&&Kv.ua===t)return Kv;const e=t.toLowerCase(),n=e.includes("android"),i=e.includes("iphone")||e.includes("ipad")||e.includes("ipod")||e.includes("ios"),r=n||i||e.includes("mobile"),o=!!t&&!r,s=e.includes("firefox/"),a=function(t=""){for(let e=0;e<Xv.length;e+=1){const n=Xv[e],i=t.match(n);if(!i)continue;const r=Number(i[1]);return Number.isFinite(r)?r:null}if(t.includes("safari/")&&t.includes("version/")){const e=t.match(/version\/(\d+)/);if(!e)return null;const n=Number(e[1]);return Number.isFinite(n)?n:null}return null}(e);return Kv={ua:t,lowerUA:e,isAndroid:n,isiOS:i,isMobile:r,isDesktop:o,isFirefox:s,browserMajorVersion:a},Kv}function Qv(){return Yv().ua}function Jv(){return Yv().isAndroid}function Zv(){return Yv().isiOS}function tg(){return Yv().isMobile}function eg(){return Yv().isDesktop}function ng(){return Yv().isFirefox}function ig(){return Yv().browserMajorVersion}var rg={getUserAgent:Qv,isAndroid:Jv,isiOS:Zv,isMobile:tg,isDesktop:eg,isFirefox:ng,getBrowserMajorVersion:ig},og=Object.freeze({__proto__:null,default:rg,getBrowserMajorVersion:ig,getUserAgent:Qv,isAndroid:Jv,isDesktop:eg,isFirefox:ng,isMobile:tg,isiOS:Zv});const sg="Idle",ag="Playing",lg="FirstFramePending",cg="Waiting",ug="Paused",dg="Seeking",hg="Resetting";function fg(t){return Array.isArray(t)?t.filter((t=>t&&"string"==typeof t.type)):[]}function pg(t,e){return!!Array.isArray(t)&&t.some((t=>(null==t?void 0:t.type)===e))}function mg(t){const e=Number(t);return!Number.isFinite(e)||e<=0?null:{type:"retarget",options:{frames:Array.from({length:e},(()=>({fitType:"fill"})))},meta:{source:"panAndScan"}}}function vg(t){return Array.isArray(t)?t.filter((t=>{return!("panAndScan"===(null==(e=t)||null===(n=e.meta)||void 0===n?void 0:n.source));var e,n})):[]}const gg=2073600;function yg(t,e){const n=Number(t);return Number.isFinite(n)&&n>0?n:e}function bg(t,e){if(null==t)return e;const n=Number(t);return Number.isFinite(n)?n:e}var kg=new WeakMap,xg=new WeakMap,wg=new WeakMap,_g=new WeakMap,Ig=new WeakMap,Tg=new WeakMap,Eg=new WeakMap,Sg=new WeakMap,Mg=new WeakMap,Ag=new WeakMap,Ng=new WeakMap,Fg=new WeakMap,Cg=new WeakMap,Og=new WeakMap,Pg=new WeakMap,Dg=new WeakMap,Rg=new WeakMap,Bg=new WeakMap,Lg=new WeakMap,zg=new WeakMap,Wg=new WeakMap,jg=new WeakMap,Ug=new WeakMap,$g=new WeakMap,qg=new WeakMap,Vg=new WeakMap,Gg=new WeakMap,Hg=new WeakMap,Kg=new WeakMap,Xg=new WeakMap,Yg=new WeakMap,Qg=new WeakMap,Jg=new WeakMap,Zg=new WeakMap,ty=new WeakSet;class ey extends Ud{static get pipelineNodeId(){return"ekoplayer-render-pipeline"}get defaults(){return{defaultRenderParams:void 0,resourceLimits:{enabled:!0,maxCanvasPixels:gg,maxDevicePixelRatio:0,renderScale:1,transitionMinFrameIntervalMs:33}}}constructor(...t){super(...t),U(this,ty),W(this,kg,void 0),W(this,xg,void 0),W(this,wg,void 0),W(this,_g,void 0),W(this,Ig,void 0),W(this,Tg,void 0),W(this,Eg,void 0),W(this,Sg,void 0),W(this,Mg,void 0),W(this,Ag,void 0),W(this,Ng,void 0),W(this,Fg,void 0),W(this,Cg,null),W(this,Og,null),W(this,Pg,void 0),W(this,Dg,void 0),W(this,Rg,void 0),W(this,Bg,[]),W(this,Lg,[]),W(this,zg,null),W(this,Wg,null),W(this,jg,null),W(this,Ug,null),W(this,$g,null),W(this,qg,null),W(this,Vg,new Map),W(this,Gg,null),W(this,Hg,null),W(this,Kg,!1),W(this,Xg,!1),W(this,Yg,!1),W(this,Qg,!1),W(this,Jg,[]),W(this,Zg,null);const[e,n,i]=t;j(kg,this,e),j(xg,this,n),j(wg,this,i),z(kg,this)&&"function"==typeof z(kg,this).enableFirstFrameRenderedGate&&z(kg,this).enableFirstFrameRenderedGate(),j(Fg,this,new Dv),j(Pg,this,new Hv),j(Dg,this,null),j(Rg,this,null),j(jg,this,null),j(_g,this,(t=>B(ty,this,Wy).call(this,t))),z(kg,this)&&"function"==typeof z(kg,this).on&&(z(kg,this).on(Hd.VISUAL_FRAMES_AVAILABLE,z(_g,this)),j(Ig,this,(()=>{var t,e,n,i;B(ty,this,sy).call(this),B(ty,this,Dy).call(this,0),j(Lg,this,[]),j(zg,this,null),j(Cg,this,null),j(Og,this,null),B(ty,this,Ty).call(this),j(Gg,this,null);(null===(t=z(Pg,this))||void 0===t||null===(e=t.getState)||void 0===e?void 0:e.call(t))||null===(n=z(Pg,this))||void 0===n||null===(i=n.reset)||void 0===i||i.call(n,z(Dg,this))})),z(kg,this).on(Hd.TIMELINE_SEEKING,z(Ig,this)),j(Tg,this,((t={})=>{"switch"===(null==t?void 0:t.reason)||"reset"===(null==t?void 0:t.reason)?B(ty,this,iy).call(this):B(ty,this,ny).call(this),B(ty,this,ay).call(this)})),z(kg,this).on(Hd.TIMELINE_RESET,z(Tg,this)),j(Mg,this,(()=>B(ty,this,Ay).call(this))),z(kg,this).on(Hd.TIMELINE_TIME_UPDATE,z(Mg,this)),j(Eg,this,(()=>{B(ty,this,jy).call(this)&&z(Wg,this)&&B(ty,this,Wy).call(this,z(Wg,this))})),z(kg,this).on(Hd.TIMELINE_STATE_CHANGE,z(Eg,this))),z(xg,this)&&"function"==typeof z(xg,this).on&&(j(Ag,this,(()=>{const t=z(Wg,this);j(Qg,this,!0),B(ty,this,ny).call(this),j(Wg,this,t)})),z(xg,this).on(Hd.CANVAS_WEBGL_CONTEXT_LOST,z(Ag,this)),j(Ng,this,(()=>{var t;const e=null===(t=z(xg,this))||void 0===t?void 0:t.gl;if(!e||"function"==typeof e.isContextLost&&e.isContextLost())return void j(Qg,this,!0);const n=z(Wg,this);j(Qg,this,!1),B(ty,this,ny).call(this),j(Wg,this,n),n&&B(ty,this,jy).call(this)&&B(ty,this,Wy).call(this,n)})),z(xg,this).on(Hd.CANVAS_WEBGL_CONTEXT_RESTORED,z(Ng,this))),j(Sg,this,(()=>{j(zg,this,null),z(Wg,this)&&B(ty,this,jy).call(this)&&B(ty,this,Wy).call(this,z(Wg,this))})),z(wg,this)&&"function"==typeof z(wg,this).on&&z(wg,this).on(Hd.CONTAINER_RESIZE,z(Sg,this))}get name(){return"Renderer"}onDispose(){z(kg,this)&&z(_g,this)&&"function"==typeof z(kg,this).off&&z(kg,this).off(Hd.VISUAL_FRAMES_AVAILABLE,z(_g,this)),z(kg,this)&&z(Ig,this)&&"function"==typeof z(kg,this).off&&z(kg,this).off(Hd.TIMELINE_SEEKING,z(Ig,this)),z(kg,this)&&z(Tg,this)&&"function"==typeof z(kg,this).off&&z(kg,this).off(Hd.TIMELINE_RESET,z(Tg,this)),z(kg,this)&&z(Mg,this)&&"function"==typeof z(kg,this).off&&z(kg,this).off(Hd.TIMELINE_TIME_UPDATE,z(Mg,this)),z(kg,this)&&z(Eg,this)&&"function"==typeof z(kg,this).off&&z(kg,this).off(Hd.TIMELINE_STATE_CHANGE,z(Eg,this)),z(wg,this)&&z(Sg,this)&&"function"==typeof z(wg,this).off&&z(wg,this).off(Hd.CONTAINER_RESIZE,z(Sg,this)),z(xg,this)&&z(Ag,this)&&"function"==typeof z(xg,this).off&&z(xg,this).off(Hd.CANVAS_WEBGL_CONTEXT_LOST,z(Ag,this)),z(xg,this)&&z(Ng,this)&&"function"==typeof z(xg,this).off&&z(xg,this).off(Hd.CANVAS_WEBGL_CONTEXT_RESTORED,z(Ng,this)),B(ty,this,ny).call(this),j(_g,this,null),j(Ig,this,null),j(Tg,this,null),j(Mg,this,null),j(Eg,this,null),j(Sg,this,null),j(Ag,this,null),j(Ng,this,null),j(Fg,this,null),j(Pg,this,null),j(Vg,this,null),j(Gg,this,null),j(xg,this,null),j(wg,this,null),j(kg,this,null)}startTransition(t={}){var e,n;const i=null===(e=z(xg,this))||void 0===e?void 0:e.element,r=null===(n=z(xg,this))||void 0===n?void 0:n.gl;if(!i||!r)return null;if(z(Qg,this)||"function"==typeof r.isContextLost&&r.isContextLost())return j(Qg,this,!0),null;if(B(ty,this,cy).call(this,i),!z(Dg,this))return null;const o=z(Pg,this).start({shaderGraph:z(Dg,this),duration:null==t?void 0:t.duration,filter:null==t?void 0:t.filter,color:null==t?void 0:t.color,filters:null==t?void 0:t.filters,reverseFilters:null==t?void 0:t.reverseFilters,transition:null==t?void 0:t.transition});return j(jg,this,z(Wg,this)||null),B(ty,this,By).call(this),o}beginTransitionIn(t={}){var e,n;null!==(e=z(Pg,this))&&void 0!==e&&null!==(n=e.beginIncoming)&&void 0!==n&&n.call(e,t),j(jg,this,null),B(ty,this,By).call(this)}resetTransition(){var t,e;null!==(t=z(Pg,this))&&void 0!==t&&null!==(e=t.reset)&&void 0!==e&&e.call(t,z(Dg,this)),j(jg,this,null),B(ty,this,Ly).call(this)}}function ny(){if(B(ty,this,sy).call(this),z(Pg,this)&&"function"==typeof z(Pg,this).reset&&z(Pg,this).reset(z(Dg,this)),B(ty,this,Dy).call(this,0),z(Dg,this)&&"function"==typeof z(Dg,this).dispose)try{z(Dg,this).dispose()}catch(t){}j(Dg,this,null),j(Rg,this,null),j(Bg,this,[]),j(Lg,this,[]),j(Kg,this,!1),j(zg,this,null),j(Cg,this,null),j(Og,this,null),j(Wg,this,null),j(jg,this,null),B(ty,this,Ly).call(this),B(ty,this,Ty).call(this),j(Gg,this,null)}function iy(){B(ty,this,sy).call(this),z(Pg,this)&&"function"==typeof z(Pg,this).reset&&z(Pg,this).reset(z(Dg,this)),B(ty,this,Dy).call(this,0),j(Bg,this,[]),j(Lg,this,[]),j(zg,this,null),j(Cg,this,null),j(Og,this,null),j(Wg,this,null),j(jg,this,null),B(ty,this,Ly).call(this),B(ty,this,Ty).call(this),j(Gg,this,null),j(Hg,this,null)}function ry(){const t="function"==typeof Vd.requestAnimationFrame?Vd.requestAnimationFrame.bind(Vd):null,e="function"==typeof Vd.cancelAnimationFrame?Vd.cancelAnimationFrame.bind(Vd):null;return t?{schedule:e=>t(e),cancel(t){"number"==typeof t&&e&&e(t)}}:null}function oy(t){j(Jg,this,z(Jg,this).filter((e=>e!==t))),z(Jg,this).length||j(Zg,this,null)}function sy(){z(Zg,this)&&z(Jg,this).forEach((t=>z(Zg,this).call(this,t))),j(Jg,this,[]),j(Zg,this,null),j(Yg,this,!1)}function ay(){B(ty,this,sy).call(this),j(Xg,this,!1)}function ly(){if(z(Xg,this)||z(Yg,this))return;const t=B(ty,this,ry).call(this);if(!t)return;const{schedule:e,cancel:n}=t;let i;j(Zg,this,n),j(Yg,this,!0),i=e((()=>{let t;B(ty,this,oy).call(this,i),t=e((()=>{B(ty,this,oy).call(this,t),j(Yg,this,!1),z(Xg,this)||(j(Xg,this,!0),z(kg,this)&&"function"==typeof z(kg,this).notifyFirstFrameRendered&&z(kg,this).notifyFirstFrameRendered())})),z(Jg,this).push(t)})),z(Jg,this).push(i)}function cy(t){if(z(Dg,this)||!t)return;const e=this,n={dest:t,src:(t,n)=>{j(Rg,e,n)}};j(Dg,e,new $m(n,{userWillCallRender:!0,glOptions:{contextType:"webgl2"},performanceToggles:{useCanvasSizedFilterTargets:!0}})),z(Dg,e)&&"function"==typeof z(Dg,e).addNodes&&z(Dg,e).addNodes({[pe.pipelineNodeId]:{type:"composite",options:{graph:[]}}})}function uy(t){var e;if("null"===(null==t?void 0:t.message))return!0;const n=null===(e=z(xg,this))||void 0===e?void 0:e.gl;return!(!n||"function"!=typeof n.isContextLost||!n.isContextLost())}function dy(t,e,n){const i=e||z(Wg,this)||null;if(B(ty,this,ny).call(this),j(Wg,this,i),!n)return this.log.warn("Shader graph render failed; rebuilding graph once.",t),void B(ty,this,Wy).call(this,i,!0);this.log.warn("Shader graph render is still unavailable after rebuild; deferring until the next render pass.",t)}function hy(){var t;const e=null===(t=this.settings)||void 0===t?void 0:t.resourceLimits;return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function fy(){const t=B(ty,this,hy).call(this).enabled;return!0===t||!1!==t&&Zv()}function py(){if(!B(ty,this,fy).call(this))return 0;const t=bg(B(ty,this,hy).call(this).transitionMinFrameIntervalMs,33);return Number.isFinite(t)&&t>0?t:0}function my(t,e,n={}){const i=!0===(null==n?void 0:n.useDevicePixelRatio),r=B(ty,this,fy).call(this),o=i?yg(null==Vd?void 0:Vd.devicePixelRatio,1):1;let s=o,a=0;if(r){const t=B(ty,this,hy).call(this);a=bg(t.maxCanvasPixels,gg);const e=bg(t.maxDevicePixelRatio,0);s=yg(t.renderScale,1)*(e>0?Math.min(o,e):o)}let l=Math.max(1,Math.round(t*s)),c=Math.max(1,Math.round(e*s));if(r&&a>0){const t=l*c;if(t>a){const e=Math.sqrt(a/t);l=Math.max(1,Math.floor(l*e)),c=Math.max(1,Math.floor(c*e))}}return{width:l,height:c}}function vy(t=[],e={}){var n;const i=null===(n=z(xg,this))||void 0===n?void 0:n.element,r=z(Rg,this);if(!i||"function"!=typeof r)return!1;let o=0,s=0;const a=!0===(null==e?void 0:e.useViewportSize);if(a){var l,c,u,d,h,f;const t=Number(null!==(l=null===(c=z(wg,this))||void 0===c?void 0:c.containerWidth)&&void 0!==l?l:null===(u=z(wg,this))||void 0===u?void 0:u.width),e=Number(null!==(d=null===(h=z(wg,this))||void 0===h?void 0:h.containerHeight)&&void 0!==d?d:null===(f=z(wg,this))||void 0===f?void 0:f.height);if(Number.isFinite(t)&&Number.isFinite(e)&&t>0&&e>0)o=Math.round(t),s=Math.round(e);else{const t=Number(i.clientWidth),e=Number(i.clientHeight);Number.isFinite(t)&&Number.isFinite(e)&&t>0&&e>0&&(o=Math.round(t),s=Math.round(e))}}if(!(o>0&&s>0)){if(!Array.isArray(t)||!t.length)return;for(let e=0;e<t.length;e+=1){var p;const n=null===(p=t[e])||void 0===p?void 0:p.frame,i=Number((null==n?void 0:n.displayWidth)||(null==n?void 0:n.codedWidth)||(null==n?void 0:n.videoWidth)||(null==n?void 0:n.naturalWidth)||(null==n?void 0:n.width)),r=Number((null==n?void 0:n.displayHeight)||(null==n?void 0:n.codedHeight)||(null==n?void 0:n.videoHeight)||(null==n?void 0:n.naturalHeight)||(null==n?void 0:n.height));!Number.isFinite(i)||!Number.isFinite(r)||i<=0||r<=0||(i>o&&(o=i),r>s&&(s=r))}}if(!(o>0&&s>0))return!1;const m=B(ty,this,my).call(this,o,s,{useDevicePixelRatio:a}),v=m.width,g=m.height,y=z(zg,this);return!(y&&y.width===v&&y.height===g||(j(zg,this,{width:v,height:g}),r(null,null,v,g),0))}function gy(t){const e=null==t?void 0:t.nodeId,n=null==t?void 0:t.trackId,i=null==t?void 0:t.segmentId,r=null==t?void 0:t.presentationTime;return e&&n&&i&&Number.isFinite(r)?`${e}:${n}:${i}@${r}`:null}function yy(t,e,n){const i=Number.isFinite(null==t?void 0:t.duration)&&t.duration>0?t.duration:void 0;let r;if(i&&Number.isFinite(null==t?void 0:t.offset)){const n=(e-t.offset)/i;r=n<0?0:n>1?1:n}const o=B(ty,this,by).call(this,t),s=B(ty,this,ky).call(this,o);return Cv.getRenderTiming({type:o,timing:{duration:i,normalizedTime:r},timelineTime:e,active:t,renderNodeParams:n,state:s})}function by(t){return Cv.normalizeType(null==t?void 0:t.type)||Cv.defaultType}function ky(t){if(!t||!z(Vg,this))return null;let e=z(Vg,this).get(t);return e||(e={},z(Vg,this).set(t,e)),e}function xy(){var t,e,n,i,r,o,s,a,l,c,u;const d=Number(null!==(t=null===(e=z(wg,this))||void 0===e?void 0:e.containerWidth)&&void 0!==t?t:null===(n=z(wg,this))||void 0===n?void 0:n.width),h=Number(null!==(i=null===(r=z(wg,this))||void 0===r?void 0:r.containerHeight)&&void 0!==i?i:null===(o=z(wg,this))||void 0===o?void 0:o.height);if(Number.isFinite(d)&&Number.isFinite(h)&&d>0&&h>0)return{width:Math.round(d),height:Math.round(h)};const f=null===(s=z(xg,this))||void 0===s?void 0:s.element,p=Number(null==f?void 0:f.clientWidth),m=Number(null==f?void 0:f.clientHeight);if(Number.isFinite(p)&&Number.isFinite(m)&&p>0&&m>0)return{width:Math.round(p),height:Math.round(m)};const v=Number(null!==(a=null==f?void 0:f.width)&&void 0!==a?a:null===(l=z(zg,this))||void 0===l?void 0:l.width),g=Number(null!==(c=null==f?void 0:f.height)&&void 0!==c?c:null===(u=z(zg,this))||void 0===u?void 0:u.height);return Number.isFinite(v)&&Number.isFinite(g)&&v>0&&g>0?{width:Math.round(v),height:Math.round(g)}:null}function wy(t){const e=B(ty,this,ky).call(this,t);return e&&"object"==typeof e&&(e.requestRender=()=>B(ty,this,_y).call(this),e.viewportSize=B(ty,this,xy).call(this)),e}function _y(){z(Kg,this)||(j(Kg,this,!0),Promise.resolve().then((()=>{j(Kg,this,!1),z(Wg,this)&&B(ty,this,jy).call(this)&&B(ty,this,Wy).call(this,z(Wg,this))})))}function Iy(t){if(!t||!z(Vg,this))return;const e=z(Vg,this).get(t);e&&Cv.resetRenderState(t,e),z(Vg,this).delete(t)}function Ty(){z(Vg,this)&&(Cv.resetAllRenderStates(z(Vg,this)),z(Vg,this).clear())}function Ey(t,e,n,i){const r=B(ty,this,by).call(this,t);z(Gg,this)&&z(Gg,this)!==r&&B(ty,this,Iy).call(this,z(Gg,this)),j(Gg,this,r);const o=B(ty,this,wy).call(this,r);return Cv.prepareRenderFrames({type:r,frames:e,timelineTime:n,timeline:z(kg,this),active:t,renderNodeParams:i,state:o})}function Sy(t){var e;return null!=t&&t.params&&"object"==typeof t.params?t.params:!t&&null!==(e=this.settings)&&void 0!==e&&e.defaultRenderParams&&"object"==typeof this.settings.defaultRenderParams?this.settings.defaultRenderParams:{}}function My(t){return t?String(t.renderPlacementId||t.type||"unknown"):"default"}function Ay(){if(!z(kg,this)||!z(Wg,this))return;const t=z(kg,this).currentTime,e=z(kg,this).getActiveRenderPlacement(t),n=B(ty,this,My).call(this,e);n!==z(Hg,this)&&(j(Hg,this,n),B(ty,this,Wy).call(this,{...z(Wg,this),time:t}))}function Ny(t){return!t||"object"!=typeof t||!Object.prototype.hasOwnProperty.call(t,"panAndScan")||!1!==t.panAndScan}function Fy(t,e){const n=B(ty,this,Sy).call(this,t),i=null==n?void 0:n.stages;let r=fg(null==i?void 0:i.pre),o=fg(null==i?void 0:i.post);const s=B(ty,this,Ny).call(this,n),a=B(ty,this,by).call(this,t),l=pg(r,"retarget")||pg(o,"retarget");if(s&&!l){const i=Cv.getPanAndScanTarget(a,{frameCount:Array.isArray(e)?e.length:0,active:t,renderNodeParams:n});if("pre"===i){const t=mg(Array.isArray(e)?e.length:0);t&&(r=[t,...r])}else if("post"===i){const t=mg(1);t&&(o=[...o,t])}}else s||(r=vg(r),o=vg(o));return{preStages:r,postStages:o,renderNodeParams:n}}function Cy(t,e,n,i,r){const o=r||B(ty,this,yy).call(this,t,n,i),s=B(ty,this,Fy).call(this,t,e),a=B(ty,this,by).call(this,t),l=B(ty,this,wy).call(this,a);return z(Fg,this).build({layoutType:null==t?void 0:t.type,frames:e,preStages:s.preStages,postStages:s.postStages,normalizedTime:o.normalizedTime,renderNodeDuration:o.duration,renderNodeParams:s.renderNodeParams,renderNodeState:l,timelineTime:n})}function Oy(){var t,e;const n=null===(t=z(Pg,this))||void 0===t||null===(e=t.getState)||void 0===e?void 0:e.call(t);return"out"===(null==n?void 0:n.phase)?z(Pg,this).buildOutgoingGraph():"in"===(null==n?void 0:n.phase)?z(Pg,this).buildIncomingGraph():null}function Py(t,e,n,i){const r=n||e!==z(Cg,this),o=r||i;return r&&z(Dg,this)&&"function"==typeof z(Dg,this).updateOptions&&(z(Dg,this).updateOptions(pe.pipelineNodeId,{graph:t}),j(Cg,this,e)),z(Dg,this)&&"function"==typeof z(Dg,this).selectNode&&z(Og,this)!==pe.pipelineNodeId&&(z(Dg,this).selectNode(pe.pipelineNodeId),j(Og,this,pe.pipelineNodeId)),!(!o||!z(Dg,this)||"function"!=typeof z(Dg,this).render||(z(Dg,this).render({noRaf:!0}),0))}function Dy(t){if(!Array.isArray(z(Bg,this))||!z(Bg,this).length)return;const e=Number.isFinite(t)?Math.max(0,t):0;if(!(z(Bg,this).length<=e)){for(let t=e;t<z(Bg,this).length;t+=1){const e=z(Bg,this)[t];if(e&&z(Dg,this)&&"function"==typeof z(Dg,this).releaseTexture)try{z(Dg,this).releaseTexture(e)}catch(t){}}z(Bg,this).length=e,z(Lg,this).length=e}}function Ry(t=[]){if(!z(Dg,this)||"function"!=typeof z(Dg,this).addTexture)return{didUpdate:!1,hasUploadFailure:!1,ready:!1};if("function"==typeof z(Dg,this).isContextUnavailable&&z(Dg,this).isContextUnavailable())return{didUpdate:!1,hasUploadFailure:!1,ready:!1};if(!Array.isArray(t)||!t.length)return B(ty,this,Dy).call(this,0),{didUpdate:!1,hasUploadFailure:!1,ready:!1};B(ty,this,Dy).call(this,t.length);let e=!1,n=!1,i=!0;for(let o=0;o<t.length;o+=1){var r;z(Bg,this)[o]||"function"!=typeof z(Dg,this).addTexture||(z(Bg,this)[o]=z(Dg,this).addTexture(null,"frame",o));const s=B(ty,this,gy).call(this,t[o]),a=null===(r=t[o])||void 0===r?void 0:r.frame;if(z(Bg,this)[o]&&a){if(!s||s!==z(Lg,this)[o])try{z(Bg,this)[o].fill(a),z(Lg,this)[o]=s,e=!0}catch(t){i=!1,n=!0,z(Lg,this)[o]=null}}else i=!1}return{didUpdate:e,hasUploadFailure:n,ready:i}}function By(){if(z(Ug,this))return;const t="function"==typeof Vd.requestAnimationFrame?t=>Vd.requestAnimationFrame(t):t=>setTimeout(t,16),e="function"==typeof Vd.cancelAnimationFrame?t=>Vd.cancelAnimationFrame(t):clearTimeout;j($g,this,e);const n=()=>{var e,i;if(null!==(e=z(Pg,this))&&void 0!==e&&null!==(i=e.getState)&&void 0!==i&&i.call(e)){if(z(Wg,this)){const t=B(ty,this,py).call(this),e=Date.now();(!t||!z(qg,this)||e-z(qg,this)>=t)&&(j(qg,this,e),B(ty,this,Wy).call(this,z(Wg,this)))}j(Ug,this,t(n))}else j(Ug,this,null)};j(Ug,this,t(n))}function Ly(){z(Ug,this)&&z($g,this)&&z($g,this).call(this,z(Ug,this)),j(Ug,this,null),j($g,this,null),j(qg,this,null)}function zy(t){var e,n;const i=null===(e=z(Pg,this))||void 0===e||null===(n=e.getState)||void 0===n?void 0:n.call(e);return"out"===(null==i?void 0:i.phase)&&z(jg,this)?z(jg,this):t}function Wy(t={},e=!1){try{var n,i;t&&j(Wg,this,t);const e=null===(n=z(xg,this))||void 0===n?void 0:n.element,r=null===(i=z(xg,this))||void 0===i?void 0:i.gl;if(!e||!r)return;if(z(Qg,this)||"function"==typeof r.isContextLost&&r.isContextLost())return void j(Qg,this,!0);if(!B(ty,this,jy).call(this))return;const o=B(ty,this,zy).call(this,t),s=Number.isFinite(null==o?void 0:o.time)?o.time:void 0;if(!Number.isFinite(s))return;if(B(ty,this,cy).call(this,e),!z(Dg,this))return;const a=z(kg,this)&&"function"==typeof z(kg,this).getActiveRenderPlacement?z(kg,this).getActiveRenderPlacement(s):void 0,l=B(ty,this,My).call(this,a);l!==z(Hg,this)&&j(Hg,this,l);const c=Array.isArray(null==o?void 0:o.frames)?o.frames:[],u=B(ty,this,Sy).call(this,a),d=B(ty,this,Ny).call(this,u),h=B(ty,this,Ey).call(this,a,c,s,u),f=B(ty,this,yy).call(this,a,s,u),p=B(ty,this,vy).call(this,h,{useViewportSize:d}),m=B(ty,this,Ry).call(this,h),v=m.didUpdate;if(h.length>0&&!m.ready)return void(m.hasUploadFailure&&this.log.warn("Skipping render because one or more input textures could not be uploaded."));const g=B(ty,this,Cy).call(this,a,h,s,u,f),y=B(ty,this,Oy).call(this);let b=g.graph,k=g.signature,x=!!g.isDynamic;y&&Array.isArray(y.graph)&&y.graph.length&&(b=b.concat(y.graph),k=`${k}|${y.signature||"transition"}`,x=x||!!y.forceUpdate);const w=p||v||x||y&&Array.isArray(y.graph)&&y.graph.length;B(ty,this,Py).call(this,b,k,x,w)&&h.length>0&&B(ty,this,ly).call(this)}catch(n){if(B(ty,this,uy).call(this,n))return void B(ty,this,dy).call(this,n,t,e);throw n}}function jy(){var t;const e=null===(t=z(kg,this))||void 0===t?void 0:t.state;return e===sg||e===lg||e===ag||e===ug}function Uy(t){return"number"==typeof t&&Number.isFinite(t)&&t>0}function $y(t){return t&&"resource"===t.entryType&&t.transferSize>0&&t.duration>0&&t.responseEnd>=t.requestStart}function qy(t){return Array.isArray(t)&&0!==t.length?t.reduce(((t,e)=>t+e),0)/t.length:NaN}pe=ey;var Vy=new WeakMap,Gy=new WeakMap,Hy=new WeakMap,Ky=new WeakMap,Xy=new WeakSet;class Yy extends Ud{get name(){return"DownloadSpeedGuesstimator"}get defaults(){return{persistentStorage:{key:"ekoDownloadSpeedKbps",ttl:-1},priorities:[["resourceTiming","downlink","persistentValue"],["resourceTiming","downlink"],["resourceTiming","persistentValue","ua"],["resourceTiming","ua","defaultKbps"],["downlink","persistentValue"],["downlink"],["persistentValue"],["connectionType"],["ua"],["defaultKbps"]],defaultKbps:2500,connectionType:{"slow-2g":50,"2g":70,"3g":700,"4g":3500,bluetooth:750,cellular:750,ethernet:3500,wifi:2500,wimax:2500,none:0},ua:{desktop:2500,ios:2500,android:2500}}}constructor(...t){super(...t),U(this,Xy),W(this,Vy,void 0),W(this,Gy,void 0),W(this,Hy,void 0),W(this,Ky,void 0),j(Vy,this,!!(Vd&&Vd.navigator&&Vd.navigator.connection)),j(Gy,this,!(!Vd||!Vd.performance||"function"!=typeof Vd.performance.getEntriesByType)),j(Hy,this,B(Xy,this,Jy).call(this)),j(Ky,this,B(Xy,this,ib).call(this))}guesstimate(){const t=B(Xy,this,ob).call(this);this.log.debug("[guesstimate] Data:",t);const e=B(Xy,this,rb).call(this,t),n=Uy(e)?e:t.defaultKbps;return B(Xy,this,Zy).call(this,n),this.log.info(`[guesstimate] Result: ${n} kbps`),n}update(t){Uy(t)&&B(Xy,this,Zy).call(this,t)}onDispose(){j(Hy,this,void 0),j(Ky,this,void 0)}}function Qy(){return Math.round(Date.now()/1e3)}function Jy(){try{if(!Vd||!Vd.localStorage||"function"!=typeof Vd.localStorage.getItem)return}catch(t){return}const t=this.settings.persistentStorage.key,e=Vd.localStorage.getItem(t);if(e)try{const t=JSON.parse(e),n=this.settings.persistentStorage.ttl,i=B(Xy,this,Qy).call(this)-t.timestamp;if("number"==typeof n&&n>=0&&i>n)return null;if(!Uy(t.value))return;return t.value}catch(t){return}}function Zy(t){if(!Uy(t))return;try{if(!Vd||!Vd.localStorage||"function"!=typeof Vd.localStorage.setItem)return}catch(t){return}const e=this.settings.persistentStorage.key,n=JSON.stringify({value:t,timestamp:B(Xy,this,Qy).call(this)});try{Vd.localStorage.setItem(e,n),j(Hy,this,t)}catch(t){}}function tb(){return Vd&&Vd.performance&&"function"==typeof Vd.performance.getEntriesByType?qy(Vd.performance.getEntriesByType("resource").filter($y).map((t=>8*t.transferSize/t.duration))):NaN}function eb(){if(!Vd||!Vd.navigator||!Vd.navigator.connection)return NaN;const t=Vd.navigator.connection.downlink;return Uy(t)?1e3*t:NaN}function nb(){if(!z(Vy,this))return NaN;const t=Vd.navigator.connection,e=t.effectiveType||t.type,n=this.settings.connectionType||{};return e&&Object.prototype.hasOwnProperty.call(n,e)?n[e]:NaN}function ib(){const t=this.settings.ua||{};return Jv()?t.android:Zv()?t.ios:t.desktop}function rb(t){const e=Array.isArray(this.settings.priorities)?this.settings.priorities:[];for(let n=0;n<e.length;n+=1){const i=e[n];if(!Array.isArray(i)||0===i.length)continue;const r=i.map((e=>t[e])).filter((t=>Uy(t)));if(r.length===i.length)return this.log.debug("[#selectFromPriorities] Selected from priorities:",i,"with values:",r),qy(r)}return NaN}function ob(){const t=this.settings.testOverrides||{},e=Uy(t.resourceTiming)?t.resourceTiming:B(Xy,this,tb).call(this),n=Uy(t.downlink)?t.downlink:B(Xy,this,eb).call(this),i=Uy(t.persistentValue)?t.persistentValue:z(Hy,this),r=Uy(t.connectionType)?t.connectionType:B(Xy,this,nb).call(this),o=Uy(t.ua)?t.ua:z(Ky,this);return{defaultKbps:this.settings.defaultKbps,resourceTiming:e,downlink:n,connectionType:r,persistentValue:i,ua:o}}const sb=new Rd;function ab(t){return"string"!=typeof t||0===t.length?[]:t.split(".").filter((t=>t.length>0))}function lb(t){if("string"!=typeof t)return!1;if(0===t.length)return!1;const e=Number(t);return Number.isInteger(e)&&String(e)===t}function cb(t){return null!==t&&"object"==typeof t}function ub(t,e,n){const i=ab(e);if(0===i.length)return void 0===t?n:t;let r=t;for(let t=0;t<i.length;t+=1){if(null==r)return n;if(r=r[i[t]],void 0===r)return n}return void 0===r?n:r}function db(t,e,n){if(!cb(t))return t;const i=ab(e);if(0===i.length)return t;let r=t;for(let t=0;t<i.length;t+=1){const e=i[t];if(t===i.length-1){r[e]=n;break}cb(r[e])||(r[e]=lb(i[t+1])?[]:{}),r=r[e]}return t}const hb={get:(t,e)=>Vd&&Vd.eko?ub(Vd.eko,t,e):e,set(t,e){if(Vd)return Vd.eko&&"object"==typeof Vd.eko||(Vd.eko={}),db(Vd.eko,t,e),Vd.eko}},fb=Vd&&Vd.performance,pb=fb&&"function"==typeof fb.now?()=>fb.now():()=>Date.now();function mb(){return"undefined"==typeof AbortController?null:new AbortController}function vb(){const t=new Error("The operation was aborted");return t.name="AbortError",t.code="ABORT_ERR",t}function gb(t,e){return!(!e||!e.aborted)||!!t&&("AbortError"===t.name||"ABORT_ERR"===t.code||20===t.code)}const yb=2,bb=100,kb=2,xb="runtime.downloadSpeedSamples",wb=Dd("download","warn");function _b(t){return new Promise((e=>{setTimeout(e,t)}))}function Ib(t){return t>=500}function Tb(t){if(!t||!t.headers||"function"!=typeof t.headers.get)return 0;const e=t.headers.get("content-length");if(!e)return 0;const n=Number(e);return Number.isNaN(n)||n<0?0:n}function Eb(t,e,n,i,r,o){const s={bytes:t,durationMs:e,kbps:e>0?8*t/e:0,startTime:n,endTime:i,url:o};try{let t=hb.get(r);t||(t=[],hb.set(r,t)),t.push(s)}catch(t){}return s}async function Sb(t,e={}){const{method:n="GET",headers:i,body:r,retries:o=yb,retryDelay:s=bb,backoffFactor:a=kb,samplesTargetPath:l=xb,fetch:c,loglevel:u="warn",cache:d,signal:h,onProgress:f,returnType:p="default"}=e;wb.setLevel(u);const m=function(t){if(t)return t;if(Vd&&"function"==typeof Vd.fetch)return Vd.fetch.bind(Vd);throw new Error("fetch is not available in this environment")}(c);let v=0,g=s;for(;;){if(h&&h.aborted)throw vb();const e=pb();try{const s=await m(t,{method:n,headers:i,body:r,cache:d,mode:"cors",signal:h});if(h&&h.aborted)throw vb();if(!s.ok){if(v<o&&Ib(s.status)){v+=1,wb.warn(`[${t}] Download attempt #${v} failed with status ${s.status}, retrying in ${g}ms...`),await _b(g),g*=a;continue}wb.error(`[${t}] Download attempt #${v} failed with status ${s.status}, no more retries.`);const e=new Error(`Download failed with status ${s.status}`);throw e.status=s.status,e}let c=pb();const u=Tb(s),y="arrayBuffer"===p||"bytes"===p,b=y&&"function"==typeof f;let k,x,w,_,I,T=0;if(y&&s.body&&"function"==typeof s.body.getReader&&b){const t=s.body.getReader(),e=[];for(;;){if(h&&h.aborted)throw vb();const{done:n,value:i}=await t.read();if(n)break;if(i&&i.length){const t=pb();Number.isFinite(_)||(_=t),I=t,e.push(i),T+=i.length,f({loaded:T,total:u||void 0,chunk:i})}}k=new Uint8Array(T);let n=0;e.forEach((t=>{k.set(t,n),n+=t.length})),c=pb()}else if(y){const t=await s.arrayBuffer();k=new Uint8Array(t),T=k.length,c=pb()}else"text"===p?(x=await s.text(),c=pb()):"json"===p&&(w=await s.json(),c=pb());if(h&&h.aborted)throw vb();const E=y?k?k.length:T:("text"===p&&"string"==typeof x?x.length:0)||("json"===p&&w?JSON.stringify(w).length:0),S=u||E||0;let M=e,A=c;Number.isFinite(_)&&(M=_,Number.isFinite(I)&&(A=Math.max(I,c))),(!Number.isFinite(M)||!Number.isFinite(A)||A<M)&&(M=e,A=c);const N=Math.max(0,A-M),F=Eb(S,N,M,A,l,t);try{sb.trigger("download:sample",F)}catch(t){}const C={response:s,bytes:S,durationMs:N,kbps:F.kbps,startTime:F.startTime,endTime:F.endTime};if("default"===p)return C;if("arrayBuffer"===p||"bytes"===p){const t=k||new Uint8Array(await s.arrayBuffer());return"arrayBuffer"===p?t.buffer:t}return"text"===p?x:"json"===p?w:C}catch(e){if(gb(e,h))throw"AbortError"===e.name?e:vb();if(!(v<o)||e.status&&!Ib(e.status))throw wb.error(`[${t}] Download attempt #${v} failed with error ${e}, no more retries.`),e;v+=1,wb.warn(`[${t}] Download attempt #${v} failed with error ${e}, retrying in ${g}ms...`),await _b(g),g*=a}}}const Mb={disabledTracks:{default:["audio"],targetPaths:["NodeRepository.disabledTracks"]},muted:{default:!1,targetPaths:["AudioPlaybackManager.muted"]},volume:{default:1,targetPaths:["AudioPlaybackManager.volume"]},encodeProfile:{default:null,targetPaths:["AssetsDeliveryService.profile"]},forceVideoCodec:{default:void 0,targetPaths:["NodeRepository.forceVideoCodec"]},forceImageFallback:{default:!1,targetPaths:["NodeRepository.forceImageFallback"]},mediaHostRewriteMap:{default:{"storageeko.s3.amazonaws.com":"https://storage.eko.com","studioz-post.s3.amazonaws.com":"https://studioz-post.eko.com"},targetPaths:["NodeRepository.mediaHostRewriteMap"]},playbackRate:{default:1,targetPaths:["PlaybackClock.playbackRate"]},initialKbps:{default:"auto",targetPaths:["DownloadSpeed.initialKbps"]},defaultRenderParams:{default:void 0,targetPaths:["Renderer.defaultRenderParams"]},maxBufferedVideoFrames:{default:24,targetPaths:["Timeline.maxBufferedVideoFrames"]},waitingBufferAheadSeconds:{default:3,targetPaths:["Timeline.waitingBufferAheadSeconds"]},abrStrategy:{default:"auto",targetPaths:["ABRSelector.abrStrategy"]},segmentEvictionEnabled:{default:!0,targetPaths:["SegmentEvictionCoordinator.enabled"]},segmentEvictionBufferBehindSeconds:{default:30,targetPaths:["SegmentEvictionCoordinator.bufferBehindSeconds"]},segmentEvictionBufferAheadSeconds:{default:30,targetPaths:["SegmentEvictionCoordinator.bufferAheadSeconds"]},segmentEvictionMaxRetainedBytes:{default:52428800,targetPaths:["SegmentEvictionCoordinator.maxRetainedBytes"]},autoplay:{default:!0,targetPaths:["Idle.autoplay"]},autoPauseOnVisibilityChange:{default:!0,targetPaths:["DocumentVisibility.autoPauseOnVisibilityChange"]},autoResumeOnVisibilityChange:{default:!0,targetPaths:["DocumentVisibility.autoResumeOnVisibilityChange"]},trackingEnabled:{default:!0,targetPaths:["Tracker.trackingEnabled"]}},Ab=Object.freeze(Object.entries(Mb).reduce(((t,[e,n])=>(Object.prototype.hasOwnProperty.call(n,"default")&&(t[e]=n.default),t)),{})),Nb=Dd("config","warn");function Fb(t){return Ab[t]}var Cb=new WeakMap,Ob=new WeakMap,Pb=new WeakMap,Db=new WeakMap,Rb=new WeakMap,Bb=new WeakSet;class Lb extends Ud{get name(){return"DownloadSpeed"}get defaults(){return{alpha:.3,maxSamples:30,minBytesPerSample:1024,minDurationMs:5,maxSampleKbpsCap:void 0,ignoreCacheHits:!0,samplesPath:"runtime.downloadSpeedSamples",initialKbps:Fb("initialKbps"),probeUrl:void 0,defaultKbps:2500}}constructor(...t){super(...t),U(this,Bb),W(this,Cb,void 0),W(this,Ob,void 0),W(this,Pb,void 0),W(this,Db,void 0),W(this,Rb,void 0),j(Pb,this,[]),j(Ob,this,0),j(Cb,this,B(Bb,this,jb).call(this)),j(Rb,this,mb()),j(Db,this,(t=>{B(Bb,this,Hb).call(this,t,"event")})),B(Bb,this,Ub).call(this),sb.on("download:sample",z(Db,this)),B(Bb,this,$b).call(this),this.log.debug(`[#constructor] Initial estimate: ${z(Cb,this)} kbps`)}getKbps(){return z(Cb,this)}addSample(t){B(Bb,this,Hb).call(this,t,"manual")}reset(){j(Pb,this,[]),j(Ob,this,0),j(Cb,this,B(Bb,this,jb).call(this))}onDispose(){z(Rb,this)&&z(Rb,this).abort(),j(Rb,this,null),sb.off("download:sample",z(Db,this)),j(Pb,this,[]),j(Ob,this,0),j(Cb,this,void 0),j(Db,this,null)}}function zb(t,e){return!!(this.settings.ignoreCacheHits&&(0===e||t&&"boolean"==typeof t.cached&&t.cached||t&&"number"==typeof t.transferSize&&"number"==typeof t.encodedBodySize&&t.transferSize<=t.encodedBodySize))}function Wb(t){if(!t||"object"!=typeof t)return null;const e=Number(t.bytes),n=Number(t.durationMs);let i=Uy(t.kbps)?Number(t.kbps):NaN;return!Uy(i)&&n>0&&Uy(e)&&(i=8*e/n),Uy(i)?e<=this.settings.minBytesPerSample||n<=this.settings.minDurationMs||B(Bb,this,zb).call(this,t,e)?null:(Uy(this.settings.maxSampleKbpsCap)&&i>this.settings.maxSampleKbpsCap&&(i=this.settings.maxSampleKbpsCap),{...t,bytes:e,durationMs:n,kbps:i}):null}function jb(){const t=this.settings.initialKbps;if(Uy(t))return t;if("auto"===t)try{const t=(new Yy).guesstimate();if(Uy(t))return t}catch(t){}return this.settings.defaultKbps}function Ub(){const t=hb.get(this.settings.samplesPath,[]);if(!Array.isArray(t)||0===t.length)return;const e=t.slice(-this.settings.maxSamples);for(let t=0;t<e.length;t+=1)B(Bb,this,Hb).call(this,e[t],"replay",{emit:!1})}async function $b(){if(!this.settings.probeUrl||z(Ob,this)>0)return;const t=z(Rb,this)?z(Rb,this).signal:void 0;if(!t||!t.aborted)try{await Sb(this.settings.probeUrl,{cache:"no-store",samplesTargetPath:this.settings.samplesPath,signal:t})}catch(t){}}function qb(t){return"number"==typeof t.startTime&&"number"==typeof t.endTime&&Number.isFinite(t.startTime)&&Number.isFinite(t.endTime)&&t.startTime>=0&&t.endTime>t.startTime}function Vb(t,e){if(!B(Bb,this,qb).call(this,t)||!B(Bb,this,qb).call(this,e))return 0;const n=Math.max(t.startTime,e.startTime);return Math.min(t.endTime,e.endTime)-n}function Gb(t){if(!B(Bb,this,qb).call(this,t))return t;const e=[];for(let n=0;n<z(Pb,this).length;n+=1){const i=z(Pb,this)[n];B(Bb,this,qb).call(this,i)&&(B(Bb,this,Vb).call(this,t,i)>0&&e.push(i))}if(0===e.length)return t;j(Pb,this,z(Pb,this).filter((t=>!e.includes(t))));const n=[t,...e],i=n.reduce(((t,e)=>t+(e.bytes||0)),0),r=Math.min(...n.map((t=>t.startTime))),o=Math.max(...n.map((t=>t.endTime))),s=o-r;if(!Uy(i)||s<=0)return t;const a={bytes:i,durationMs:s,kbps:8*i/s,startTime:r,endTime:o,url:t.url||e[e.length-1].url};return B(Bb,this,Wb).call(this,a)}function Hb(t,e,{emit:n=!0}={}){const i=B(Bb,this,Wb).call(this,t);if(!i)return;const r=B(Bb,this,Gb).call(this,i);if(!r)return;j(Ob,this,z(Ob,this)+1),z(Pb,this).push(r),z(Pb,this).length>this.settings.maxSamples&&z(Pb,this).shift();const o=this.defaults.alpha,s="number"==typeof this.settings.alpha?this.settings.alpha:o,a=Uy(z(Cb,this)),l=a?z(Cb,this):r.kbps,c=a||1!==z(Ob,this)?s*r.kbps+(1-s)*l:r.kbps;j(Cb,this,c),this.log.debug(`[#ingestSample] Next estimate: ${c} kbps`),n&&this.trigger("download:speed",{kbps:z(Cb,this),sample:r,source:e,samplesCount:z(Ob,this)})}function Kb(t=""){if(t&&"string"==typeof t)return t.split(",")[0].trim()||void 0}function Xb(t=""){const e=Kb(t);if(!e)return;const n=e.match(/^[a-z0-9]+/i);return n?n[0].toLowerCase():void 0}var Yb={getFirstCodec:Kb,getBaseCodec:Xb},Qb=Object.freeze({__proto__:null,default:Yb,getBaseCodec:Xb,getFirstCodec:Kb});class Jb{constructor(t={}){const{id:e,url:n,uri:i,mime:r,codecs:o,bandwidth:s,timescale:a,sizeBytes:l,...c}=t;if(!e)throw new Error("Representation requires id");const u=n||i;if(!u)throw new Error("Representation requires url or uri");this.id=e,this.url=u,this.mime=r,this.codecs=o,this.baseCodec=Xb(o),Uy(s)&&(this.bandwidth=s),Uy(a)&&(this.timescale=a),Uy(l)&&(this.sizeBytes=l),Object.assign(this,c)}}class Zb{#P=new Map;#D;#R;#B=0;#L;constructor(t={}){const{id:e,offset:n=0,duration:i=0,isInit:r=!1,representations:o=[]}=t;if(!e)throw new Error("Segment requires id");o.forEach((t=>{if(!t||!t.url&&!t.uri)throw new Error("Segment representation must include uri or url")})),this.id=e,this.offset=n,this.duration=i,this.isInit=!!r,this.originalRepresentations=o.map((t=>t instanceof Jb?t:new Jb(t))),this.representations=this.originalRepresentations.map((t=>t)),this.appliedFilters=[],this.loadAttempts=0,this.loadError=void 0}setRepresentationBuffer(t,e){t&&e&&this.#P.set(t,e)}setDownloadProgress(t,e){const n=Number(t);Number.isFinite(n)&&n>=0&&(this.#B=Math.max(this.#B,n));const i=Number(e);Number.isFinite(i)&&i>0&&(this.#L=i)}setChosenRepresentation(t){this.#D=t;const e=null==t?void 0:t.id;if(!(this.isInit||!e||this.#P.size<=1))for(const t of this.#P.keys())t!==e&&this.#P.delete(t)}setABRDecisionSnapshot(t){if(!t||"object"!=typeof t)return void(this.#R=void 0);const e={...t};Array.isArray(t.availableRepresentations)&&(e.availableRepresentations=t.availableRepresentations.map((t=>({...t})))),this.#R=e}markLoadAttempt(){const t=Number(this.loadAttempts);this.loadAttempts=Number.isFinite(t)&&t>0?t+1:1,this.loadError=void 0}setLoadError(t){this.loadError=t||new Error("Segment load failed")}getRepresentationBuffer(t){return this.#P.get(t)}get chosenRepresentation(){return this.#D}get abrDecision(){return this.#R}get arrayBuffer(){return this.#D?this.#P.get(this.#D.id):void 0}get retainedByteLength(){let t=0;for(const e of this.#P.values())e&&"number"==typeof e.byteLength&&(t+=e.byteLength);return t}get bufferedRatio(){var t;const e=Uy(this.#L)?this.#L:null===(t=this.#D)||void 0===t?void 0:t.sizeBytes;return Uy(e)?Math.min(1,Math.max(0,this.#B/e)):this.retainedByteLength>0?1:0}get isLoaded(){return this.retainedByteLength>0}evict(){this.#D=void 0,this.#R=void 0,this.#P.clear(),this.#B=0,this.#L=void 0}}class tk{constructor(t={}){const{timestamp:e,name:n,data:i,isSticky:r=!1}=t;this.timestamp="number"==typeof e?e:0,this.name="string"==typeof n?n:"",this.data=i,this.isSticky="boolean"==typeof r&&r}}function ek(t,e){const n=Number(null==t?void 0:t.offset),i=Number(null==t?void 0:t.duration);if(!e)return{offset:n,duration:i};const r=(null==t?void 0:t.chosenRepresentation)||(Array.isArray(null==t?void 0:t.representations)?t.representations[0]:void 0),o=Number(null==r?void 0:r.segStart),s=Number(null==r?void 0:r.segDuration);return Number.isFinite(o)&&Number.isFinite(s)&&s>0?{offset:o,duration:s}:{offset:n,duration:i}}function nk(t,e,n={}){if(!Array.isArray(t)||!t.length)return;const i=Number(e);if(!Number.isFinite(i))return;const r=!!n.preferRepresentationTime;let o,s,a=-1/0;for(let e=0;e<t.length;e+=1){const n=t[e];if(!n||n.isInit)continue;o||(o=n);const l=ek(n,r);if(!Number.isFinite(l.offset))continue;const c=Number(l.duration);if(Number.isFinite(c)&&c>0&&i>=l.offset&&i<l.offset+c)return n;l.offset<=i&&l.offset>a&&(a=l.offset,s=n)}return s||o}const ik=new Set(["video","audio","image","cue","data","bbox"]);class rk{constructor(t={}){const{id:e,type:n,offset:i=0,duration:r,source:o,segments:s=[],cues:a=[]}=t;if(!e)throw new Error("Track requires id");if(!ik.has(n))throw new Error(`Track type must be one of ${Array.from(ik).join("|")}`);this.id=e,this.type=n,this.offset=i,this.duration=Uy(r)?r:void 0,this.source=o,"cue"===n?(this._cues=a.map((t=>t instanceof tk?t:new tk(t))),this._segments=[]):(this._segments=s.map((t=>t instanceof Zb?t:new Zb(t))),this._cues=void 0)}get segments(){return this._segments.slice()}get cues(){if("cue"===this.type)return this._cues.slice()}get endTime(){if(Uy(this.duration))return this.offset+this.duration;if(!this._segments.length)return;const t=this._segments.reduce(((t,e)=>{const n=Uy(e.duration)?e.duration:0;return Math.max(t,e.offset+n)}),this.offset);return t}get buffered(){const t=this._segments.map((t=>({duration:Uy(null==t?void 0:t.duration)?t.duration:0,offset:Uy(null==t?void 0:t.offset)?t.offset:0,ratio:t&&!t.isInit&&"number"==typeof t.bufferedRatio?t.bufferedRatio:0}))).filter((t=>t.duration>0&&t.ratio>0));if(!t.length)return;const e=t.reduce(((t,e)=>Math.min(t,e.offset)),1/0),n=t.reduce(((t,e)=>{const n=e.offset+e.duration*Math.min(1,e.ratio);return Math.max(t,n)}),0);return!Number.isFinite(e)||!Number.isFinite(n)||n<=e?void 0:{start:e,end:n}}getMediaSegmentAtTime(t,e={}){return nk(this._segments,t,e)}setSegments(t=[]){if("cue"===this.type)return;const e=Array.isArray(t)?t:[];this._segments=e.map((t=>t instanceof Zb?t:new Zb(t)))}}function ok(t){return"string"==typeof t?t:t&&"object"==typeof t?t.nodeId||t.nodeIdOrRef||t.id:void 0}function sk(t){const e=ok(t);let n=1;if(t&&"object"==typeof t&&Uy(t.weight)&&(n=t.weight),!e)throw new Error("Child entry requires a nodeId");return{nodeId:e,weight:n}}function ak(t){return(Array.isArray(t)?t:[]).map((t=>sk(t)))}function lk(t,e=void 0){if("string"==typeof t){const e=t.match(/\d+\.?\d*/);if(e){const t=Number(e[0]);if(Number.isFinite(t))return t}}else if("number"==typeof t&&Number.isFinite(t))return t;return e}function ck(t,e){if(t){if(t.includes("$Number%")){const n=t.match(/\$Number%0(\d+)d\$/);if(n){const i=Number(n[1]),r=String(e).padStart(i,"0");return t.replace(/\$Number%0\d+d\$/,r)}}return t.replace(/\$Number\$/g,String(e))}}function uk(t,e){if(e)try{var n;return new URL(e,t||(null==Vd||null===(n=Vd.location)||void 0===n?void 0:n.href)||void 0).toString()}catch(t){return e}}const dk=new Map;class hk{static register(t,e){if(!t||"function"!=typeof e)throw new Error("ManifestFactory.register requires type and parser function");dk.set(t,e)}static inferType(t={}){const{typeHint:e,url:n,mimeType:i,body:r}=t;return e||function(t=""){const e=function(t=""){return t&&"string"==typeof t?t.split("#")[0].split("?")[0].toLowerCase():""}(t);return e.endsWith(".mpd")?"dash":e.endsWith(".ivd")?"ivd":e.endsWith(".jpg")||e.endsWith(".jpeg")||e.endsWith(".png")||e.endsWith(".webp")||e.endsWith(".gif")||e.endsWith(".avif")?"image":void 0}(n||"")||function(t=""){const e=t.toLowerCase();return e.includes("dash")||e.includes("mpd")||e.includes("xml")?"dash":e.includes("ivd")||e.includes("json")?"ivd":e.includes("image/")?"image":void 0}(i||"")||function(t=""){const e="string"==typeof t?t.trim():"";if(e.startsWith("<")&&e.includes("<MPD"))return"dash";if(e.startsWith("{"))try{const t=JSON.parse(e);if(t&&"object"==typeof t)return"ivd"}catch(t){return}}(r||"")}static parse(t={}){const e=hk.inferType(t);if(!e||!dk.has(e))throw new Error("Unsupported manifest type");return dk.get(e)(t)}}hk.register("dash",(function(t={}){const{body:e,url:n}=t,i=function(){if(Vd&&"function"==typeof Vd.DOMParser)return new Vd.DOMParser;throw new Error("DOMParser is not available in this environment")}().parseFromString(e||"","application/xml"),r=i.getElementsByTagName("MPD")[0];if(!r)throw new Error("Invalid MPD");const o=i.getElementsByTagName("Period")[0],s=o?Array.from(o.getElementsByTagName("AdaptationSet")):[],a=[];let l=lk(r.getAttribute("mediaPresentationDuration"));l=Number.isFinite(l)?l:void 0,s.forEach(((t,e)=>{const i=t.getAttribute("mimeType")||"",r=function(t=""){const e=t.toLowerCase();return e.includes("video")?"video":e.includes("audio")?"audio":e.includes("image")?"image":"data"}(i),o=t.getAttribute("id")||`${r}-${e+1}`,s=t.getElementsByTagName("SegmentTemplate")[0],c=Array.from(t.getElementsByTagName("Representation")).map((t=>function(t,e,n){const i=t.getAttribute("id")||t.getAttribute("representationId")||"",r=lk(t.getAttribute("bandwidth")),o=t.getAttribute("codecs"),s=t.getAttribute("mimeType")||e&&e.getAttribute("mimeType")||n,a=t.getElementsByTagName("SegmentTemplate")[0]||e;return{repId:i,bandwidth:r,codecs:o,mime:s,media:a?a.getAttribute("media"):void 0,initialization:a?a.getAttribute("initialization"):void 0,timescale:lk(a&&a.getAttribute("timescale"))||lk(e&&e.getAttribute("timescale"),1)||1,startNumber:lk(a&&a.getAttribute("startNumber"))||lk(e&&e.getAttribute("startNumber"),1)||1,timeline:function(t){const e=[],n=t.getElementsByTagName("SegmentTimeline")[0];if(!n)return e;const i=Array.from(n.getElementsByTagName("S"));let r=0;for(let t=0;t<i.length;t+=1){const n=i[t],o=lk(n.getAttribute("t")),s=lk(n.getAttribute("d")),a=lk(n.getAttribute("r"),0);if(!Uy(s))continue;Uy(o)&&(r=o);const l=a>=0?a:0;for(let t=0;t<=l;t+=1)e.push({start:r,duration:s}),r+=s}return e}(a)}}(t,s,i))),u=c.map((t=>({id:t.repId,url:uk(n,ck(t.initialization,t.startNumber)),bandwidth:t.bandwidth,mime:t.mime,codecs:t.codecs,timescale:t.timescale}))).filter((t=>t.url)),d=c.reduce(((t,e)=>{const n=Array.isArray(null==t?void 0:t.timeline)?t.timeline.length:0;return(Array.isArray(null==e?void 0:e.timeline)?e.timeline.length:0)>n?e:t}),c[0]),h=Array.isArray(null==d?void 0:d.timeline)?d.timeline:[],f=h.length,p=[],m=(null==d?void 0:d.timescale)||1;u.length>0&&p.push({id:`init-${o}`,offset:0,duration:0,isInit:!0,representations:u});for(let t=0;t<f;t+=1){const e=h[t];if(!e)continue;const i=c.map((e=>{const i=e.startNumber+t,r=e.timescale||m,o=Array.isArray(e.timeline)?e.timeline[t]:void 0;if(!o)return null;const s=o.start,a=o.duration;return{id:e.repId,url:uk(n,ck(e.media,i)),bandwidth:e.bandwidth,mime:e.mime,codecs:e.codecs,timescale:e.timescale,segIndex:t,segStart:s/r,segDuration:a/r}})).filter(Boolean);i.length&&p.push({id:`${o}-seg-${t+1}`,offset:e.start/m,duration:e.duration/m,isInit:!1,representations:i})}a.push({id:o,type:r,offset:0,duration:l,segments:p})}));const c=a[0]?a[0].id:void 0;return{id:n||r.getAttribute("id")||"mpd",mainTrackId:c,tracks:a,duration:l}})),hk.register("ivd",(function(t={}){var e;const{body:n,url:i}=t;let r;try{r="string"==typeof n?JSON.parse(n):n}catch(t){throw new Error("Invalid IVD manifest")}if(!r||"object"!=typeof r)throw new Error("Invalid IVD manifest");const o=Array.isArray(r.representations)?r.representations:[],s=new Map;o.forEach(((t,e)=>{const n=function(t){const e=(t.mimeType||"").toLowerCase();return e.includes("video")?"video":e.includes("audio")?"audio":"data"}(t),i=Number.isInteger(t.altIndex)?t.altIndex:0,r=`${n}-${i}`,o=(l=e,{id:`${(a=t).format||"unknownformat"}-${a.altIndex||0}-${a.label||l+1}`,url:a.url,mime:a.mimeType,codecs:a.codecs,bandwidth:a.bandwidth||a.audioBandwidth||a.videoBandwidth,sizeBytes:a.contentLength,duration:Uy(a.duration)?a.duration:void 0,segIndex:Number.isInteger(a.segIndex)&&a.segIndex>=0?a.segIndex:0});var a,l;s.has(r)||s.set(r,{type:n,altIndex:i,reps:[]}),s.get(r).reps.push(o)}));const a=Array.from(s.values()).map(((t,e)=>{const n=new Map;t.reps.forEach((t=>{const e=Number.isInteger(t.segIndex)?t.segIndex:0;n.has(e)||n.set(e,[]),n.get(e).push(t)}));const i=Array.from(n.keys()).sort(((t,e)=>t-e));let o=0;const s=i.map((i=>{var r;const s=n.get(i)||[],a=(null===(r=s.find((t=>Uy(t.duration))))||void 0===r?void 0:r.duration)||0,l={id:`${t.type}-${t.altIndex}-${e+1}-seg-${i+1}`,offset:o,duration:a,isInit:!1,representations:s.map((t=>{const{duration:e,segIndex:n,...i}=t;return i}))};return o+=a,l})),a=s.reduce(((t,e)=>t+(Uy(e.duration)?e.duration:0)),0),l=Uy(r.duration)?r.duration:a||void 0;return{id:`${t.type}-${t.altIndex}-${e+1}`,type:t.type,offset:0,duration:l,segments:s}})),l=r.mainTrackId||(null===(e=a.find((t=>"video"===t.type)))||void 0===e?void 0:e.id)||a[0]&&a[0].id,c=a.find((t=>t.id===l)),u=(null==c?void 0:c.duration)||void 0;return{id:r.id||i||"ivd",metadata:r.metadata||{},mainTrackId:l,tracks:a,duration:u}})),hk.register("image",(function(t={}){const e=null==t?void 0:t.url;if(!e||"string"!=typeof e)throw new Error("ImageParser requires url");const n=Uy(null==t?void 0:t.duration)?t.duration:30,i=Uy(null==t?void 0:t.width)?t.width:void 0,r=Uy(null==t?void 0:t.height)?t.height:void 0,o={id:"image-1",url:e,mime:"string"==typeof(null==t?void 0:t.mimeType)?t.mimeType:void 0};Uy(i)&&Uy(r)&&(o.width=i,o.height=r);const s="image-1";return{id:e,metadata:{},mainTrackId:s,tracks:[{id:s,type:"image",offset:0,duration:n,segments:[{id:"image-1-seg-1",offset:0,duration:n,isInit:!1,representations:[o]}]}],duration:n}}));const fk=["video/mp4"];function pk(t){return fk.includes(t.mime)}var mk={name:"containers",fn:function(t=[]){return t.filter(pk)},isRelevantForTrack:function(t){return"video"===(null==t?void 0:t.type)}},vk={name:"force-video-codec",fn:function(t=[],{node:e}={}){const n=Xb(null==e?void 0:e.forceVideoCodec);if(!n)return t;const i=t.filter((t=>(null==t?void 0:t.baseCodec)===n));return i.length?i:t},isRelevantForTrack:function(t){return"video"===(null==t?void 0:t.type)}};function gk(t=""){return t.toLowerCase().includes("video")}const yk=new(me=new WeakMap,ve=new WeakSet,class extends Ud{get name(){return"MediaCapabilities"}get defaults(){return{enabled:!0,smoothWeight:10,powerWeight:10,ignoreSmooth:!1,ignorePower:!0,codecBonus:{av01:.2,hvc1:.15,hev1:.15,vp09:.1,avc1:0}}}constructor(...t){super(...t),U(this,ve),W(this,me,void 0),j(me,this,new Map)}onDispose(){z(me,this)&&z(me,this).clear()}async sortRepsCodecs(t=[]){if(!Array.isArray(t)||0===t.length)return[];const e=[],n=new Set;let i=0;t.forEach((t=>{const r=null==t?void 0:t.baseCodec;r&&!n.has(r)&&(n.add(r),e.push({codec:r,rep:t,index:i}),i+=1)}));const r=(await Promise.all(e.map((async t=>{const{score:e}=await B(ve,this,Ek).call(this,t.rep);return{...t,score:e}})))).sort(((t,e)=>{const n=e.score-t.score;return 0!==n?n:t.index-e.index}));return this.log.info("[sortRepsCodecs] Sorted entries:",r),r.map((t=>t.codec))}});function bk(){return!!(Vd&&Vd.navigator&&Vd.navigator.mediaCapabilities&&"function"==typeof Vd.navigator.mediaCapabilities.decodingInfo)}function kk(t){if(!t||"object"!=typeof t)return void this.log.debug("[#buildConfig] Invalid representation:",t);const e=t.mime||t.mimeType||"",n=function(t="",e=""){const n=t||"",i=e||"";return i?`${n}; codecs="${i}"`:n}(e,t.codecs||"");return gk(e)?(this.log.debug("[#buildConfig] Building video config for:",t),{type:"file",video:{contentType:n,width:t.width||1920,height:t.height||1080,bitrate:t.videoBandwidth||t.bandwidth||0,framerate:t.framerate||t.frameRate||24}}):function(t=""){return t.toLowerCase().includes("audio")}(e)?(this.log.debug("[#buildConfig] Building audio config for:",t),{type:"file",audio:{contentType:n,channels:t.channels||2,bitrate:t.audioBandwidth||t.bandwidth||0,samplerate:t.audioSamplingRate||48e3}}):void this.log.debug("[#buildConfig] Unknown mime type:",e)}function xk(t){const e=Kb(null==t?void 0:t.codecs);if(!e)return;const n={codec:e,codedWidth:t.codedWidth||t.width||1920,codedHeight:t.codedHeight||t.height||1080};return t.description&&(n.description=t.description),n}function wk(t){return t?JSON.stringify(t):"invalid"}function _k(){return!(!Vd||!Vd.VideoDecoder||"function"!=typeof Vd.VideoDecoder.isConfigSupported)}async function Ik(t){if(!this.settings.enabled||!B(ve,this,bk).call(this)||!t)return this.log.debug("[#queryCapabilities] Not supported, returning false",t),{supported:!1,smooth:!1,powerEfficient:!1};const e=B(ve,this,wk).call(this,t),n=z(me,this).get(e);if(n)return n;let i;try{i=await Vd.navigator.mediaCapabilities.decodingInfo(t)}catch(t){i={supported:!1,smooth:!1,powerEfficient:!1}}return this.log.debug("[#queryCapabilities] Config:",t,"\nDecoding info result:",i),z(me,this).set(e,i),i}async function Tk(t){if(!gk((null==t?void 0:t.mime)||(null==t?void 0:t.mimeType)||""))return{supported:!0};if(!B(ve,this,_k).call(this))return{supported:!0};const e=B(ve,this,xk).call(this,t);if(!e)return{supported:!1};const n=`video-decoder:${B(ve,this,wk).call(this,e)}`,i=z(me,this).get(n);if(i)return i;let r;try{r=await Vd.VideoDecoder.isConfigSupported(e)}catch(t){r={supported:!1}}return this.log.debug("[#queryVideoDecoderSupport] Config:",e,"\nSupport result:",r),z(me,this).set(n,r),r}async function Ek(t){const e=B(ve,this,kk).call(this,t),[n,i]=await Promise.all([B(ve,this,Ik).call(this,e),B(ve,this,Tk).call(this,t)]),r=!!n.supported&&!!i.supported,o={supported:r,smooth:r&&!!n.smooth,powerEfficient:r&&!!n.powerEfficient},s=function(t="",e={}){const n=(t||"").toLowerCase();return Object.keys(e).reduce(((t,i)=>n.includes(i.toLowerCase())?e[i]:t),0)}(t.codecs||"",this.settings.codecBonus);let a=0;return o.supported&&(a+=1),!this.settings.ignoreSmooth&&o.smooth&&(a+=this.settings.smoothWeight),!this.settings.ignorePower&&o.powerEfficient&&(a+=this.settings.powerWeight),a+=s,{score:a,capability:o}}const Sk=[],Mk=()=>!0;[mk,vk,{name:"media-capabilities",fn:async function(t=[],{track:e}){if(null==e||!e.preferredCodec){const n=await yk.sortRepsCodecs(t);if(!Array.isArray(n)||0===n.length)return t;e.preferredCodec=n[0]}return t.filter((t=>(null==t?void 0:t.baseCodec)===e.preferredCodec))},isRelevantForTrack:function(t){return"video"===(null==t?void 0:t.type)}}].forEach((({name:t,fn:e,isRelevantForTrack:n})=>{!function(t,e,{isRelevantForTrack:n}={}){if(!t||"function"!=typeof e)throw new Error("registerRepresentationFilter requires a name and function");const i="function"==typeof n?n:Mk;Sk.push({name:t,fn:e,isRelevantForTrack:i})}(t,e,{isRelevantForTrack:n})}));const Ak=Dd("Node","warn"),Nk={start:0,end:0},Fk=.001;function Ck(t){if(!Array.isArray(t)||!t.length)return;const e=t.map((t=>{const e=Number(null==t?void 0:t.segStart),n=Number(null==t?void 0:t.segDuration);return!Number.isFinite(e)||!Number.isFinite(n)||n<=0?null:{start:e,duration:n}}));if(e.some((t=>!t)))return;const n=e[0];return e.every((t=>Math.abs(t.start-n.start)<=Fk&&Math.abs(t.duration-n.duration)<=Fk))?{offset:n.start,duration:n.duration}:void 0}var Ok=new WeakMap,Pk=new WeakMap,Dk=new WeakMap,Rk=new WeakMap,Bk=new WeakMap,Lk=new WeakMap,zk=new WeakMap,Wk=new WeakMap,jk=new WeakMap,Uk=new WeakMap,$k=new WeakSet;class qk extends Rd{constructor(t={},e={}){super(),U(this,$k),W(this,Ok,void 0),W(this,Pk,void 0),W(this,Dk,void 0),W(this,Rk,void 0),W(this,Bk,void 0),W(this,Lk,void 0),W(this,zk,void 0),W(this,Wk,void 0),W(this,jk,void 0),W(this,Uk,[]);const{id:n,manifestRef:i,duration:r,width:o,height:s,metadata:a={},children:l=[]}=t;if(!n)throw new Error("Node requires id");if(!i)throw new Error("Node requires manifestRef");this.id=n,this.manifestRef=i,this.metadata=a,this.state="pending",this.error=void 0,this.tracks=[],this.mainTrackId=void 0,this.imageFallbackActive=!1,this.disabledTracks=[],this.disabledTrackTypes=Array.isArray(e.disabledTracks)?e.disabledTracks.filter((t=>"string"==typeof t)):[],this.enabledRepFilters=Array.isArray(e.enabledRepFilters)?e.enabledRepFilters:void 0,this.forceVideoCodec="string"==typeof e.forceVideoCodec&&e.forceVideoCodec.trim()?e.forceVideoCodec.trim():void 0,j(zk,this,!0===e.forceImageFallback),j(Ok,this,e.abrSelector),j(Pk,this,e.assetsDeliveryService),j(Rk,this,Uy(r)?r:void 0),j(Bk,this,Uy(o)?o:void 0),j(Lk,this,Uy(s)?s:void 0),j(Wk,this,e&&"object"==typeof e.mediaHostRewriteMap?e.mediaHostRewriteMap:void 0),j(jk,this,Uy(e.maxManifestLoadAttempts)?e.maxManifestLoadAttempts:1/0),this.manifestLoadAttempts=0,this.manifestLoadError=void 0,j(Uk,this,ak(l))}setChildren(t){const e=ak(t);return B($k,this,lx).call(this,e,{emit:!0})}addChild(t){const e=sk(t),n=z(Uk,this).slice(),i=n.findIndex((t=>(null==t?void 0:t.nodeId)===e.nodeId));if(i>=0){var r;if((null===(r=n[i])||void 0===r?void 0:r.weight)===e.weight)return this.children;n[i]=e}else n.push(e);return B($k,this,lx).call(this,n,{emit:!0})}removeChild(t){const e=ok(t);if(!e)return this.children;const n=z(Uk,this).filter((t=>(null==t?void 0:t.nodeId)!==e));return n.length===z(Uk,this).length?this.children:B($k,this,lx).call(this,n,{emit:!0})}async load(t={}){const{loadingMode:e="full",signal:n}=t;Ak.info(`[load] [${this.id}] Loading node in '${e}' mode`);try{if(n&&n.aborted)throw vb();"ready"!==this.state&&await this.resolve({signal:n});const t="partial"===e,i=[];this.tracks.forEach((e=>{const n=e.segments||[];if(t){const t=n.find((t=>t.isInit)),r=n.find((t=>!t.isInit));t&&Array.isArray(t.representations)&&!t.isLoaded&&i.push({track:e,segment:t}),r&&Array.isArray(r.representations)&&!r.isLoaded&&i.push({track:e,segment:r})}else n.forEach((t=>{Array.isArray(t.representations)&&!t.isLoaded&&i.push({track:e,segment:t})}))}));const r=i.filter((({segment:t})=>t.isInit)),o=i.filter((({segment:t})=>!t.isInit)),s=o.length?o[0]:void 0,a=r.map((({track:t,segment:e})=>B($k,this,rx).call(this,t,e,n))),l=s?B($k,this,ox).call(this,s.segment,s.track,n):Promise.resolve();await Promise.all([...a,l]);const c=s?o.slice(1):o;for(const t of c)await B($k,this,ox).call(this,t.segment,t.track,n);if(n&&n.aborted)throw vb();return this.trigger("node:loaded",{nodeId:this.id,node:this,loadingMode:e}),this}catch(t){if(gb(t,n))throw t;throw this.trigger("node:loaderror",{nodeId:this.id,node:this,error:t,loadingMode:e}),t}}async loadMediaSegmentsAtOffset(t,e={}){const n=Number(t);if(Ak.info(`[loadMediaSegmentsAtOffset] [${this.id}] Loading media segments at offset ${n}`),!Number.isFinite(n))return;const{signal:i}=e;if(i&&i.aborted)throw vb();if("ready"!==this.state&&await this.resolve({signal:i}),"ready"!==this.state)return;const r=[],o=[];if(this.tracks.forEach((t=>{const e=(null==t?void 0:t.segments)||[];if(!Array.isArray(e)||!e.length)return;const s=e.find((t=>(null==t?void 0:t.isInit)&&Array.isArray(null==t?void 0:t.representations)));s&&!s.isLoaded&&r.push(B($k,this,rx).call(this,t,s,i)),e.forEach((e=>{if(!e||e.isInit||!Array.isArray(e.representations))return;const i=Number(e.offset);Number.isFinite(i)&&Math.abs(i-n)<=Fk&&!e.isLoaded&&o.push({segment:e,track:t})}))})),r.length||o.length){if(await Promise.all(r),o.length&&await Promise.all(o.map((({segment:t,track:e})=>B($k,this,ox).call(this,t,e,i)))),i&&i.aborted)throw vb();this.trigger("node:loaded",{nodeId:this.id,node:this,loadingMode:"segment-offset",offsetSeconds:n})}}async resolve(t={}){const{signal:e,manifestOverride:n}=t;let i=!0;for(;i;){if(i=!1,"ready"===this.state)return this;if("resolving"===this.state)try{return await z(Dk,this)}catch(t){if(!gb(t)||e&&e.aborted)throw t;i=!0;continue}if(e&&e.aborted)throw vb();if(this.hasExceededManifestLoadAttempts()){const t=this.manifestLoadError||new Error("Manifest load retry limit reached");throw this.state="failed",this.error=t,t}const t=B($k,this,Qk).call(this);return this.state="resolving",this.error=void 0,j(Dk,this,(async()=>{try{const t=await B($k,this,sx).call(this,{signal:e,manifestOverride:n});if(e&&e.aborted)throw vb();let i=hk.parse(t);return i=B($k,this,Yk).call(this,i),this.tracks=(i.tracks||[]).map((t=>t instanceof rk?t:new rk(t))),this.mainTrackId=i.mainTrackId||this.mainTrackId,this.metadata=i.metadata||this.metadata,B($k,this,ux).call(this),B($k,this,cx).call(this),await B($k,this,ax).call(this),this.state="ready",this}catch(n){if(gb(n,e))throw B($k,this,Jk).call(this,t),n;throw this.state="failed",this.error=n,n}})()),z(Dk,this)}return z(Dk,this)}evict(){this.tracks.forEach((t=>{(t.segments||[]).forEach((t=>{t.evict()}))}))}get children(){return z(Uk,this).slice()}set children(t){this.setChildren(t)}get duration(){if(!this.mainTrackId)return 0;const t=this.tracks.find((t=>t.id===this.mainTrackId));return t?Uy(t.duration)?t.duration:t.endTime:0}get retainedByteLength(){let t=0;return this.tracks.forEach((e=>{(Array.isArray(e.segments)?e.segments:[]).forEach((e=>{t+=Uy(e.retainedByteLength)?e.retainedByteLength:0}))})),t}get buffered(){if("ready"!==this.state)return Nk;const t=Array.isArray(this.tracks)?this.tracks.find((t=>(null==t?void 0:t.id)===this.mainTrackId)):void 0,e=this.duration;if(!t||!Uy(e))return Nk;const n=Array.isArray(this.tracks)?this.tracks.map((t=>{if(!t||void 0===t.buffered)return;const e=t.buffered;return e&&Number.isFinite(e.start)&&Number.isFinite(e.end)?{track:t,range:e}:void 0})).filter(Boolean):[];if(!n.length)return Nk;if(n.length===this.tracks.length&&n.every((({track:t,range:e})=>{const n=t.endTime,i=Uy(t.offset)?t.offset:0;return Number.isFinite(n)&&e.start<=i&&e.end>=n})))return{start:0,end:e};const i=n.reduce(((t,{range:e})=>Math.min(t,e.end)),1/0);if(!Number.isFinite(i))return Nk;const r=Math.min(i,e);return r>0?{start:0,end:r}:Nk}get isLoaded(){return"ready"===this.state&&(Array.isArray(this.tracks)?this.tracks:[]).flatMap((t=>Array.isArray(null==t?void 0:t.segments)?t.segments:[])).every((t=>t.isLoaded))}hasExceededManifestLoadAttempts(){if(!Number.isFinite(z(jk,this))||z(jk,this)<=0)return!1;if(!this.manifestLoadError)return!1;const t=Number(this.manifestLoadAttempts);return Number.isFinite(t)&&t>=z(jk,this)}}function Vk(t){return function(t,e){if(!t||"string"!=typeof t)return t;if(!e||"object"!=typeof e)return t;const n=Vd&&"function"==typeof Vd.URL?Vd.URL:"function"==typeof URL?URL:null;if(!n)return t;let i;try{i=new n(t)}catch(e){return t}const r=function(t,e){const n=null==t?void 0:t.hostname,i=null==t?void 0:t.pathname;if("string"!=typeof n||"string"!=typeof i)return t;if(!/^s3(?:[.-][a-z0-9-]+)?\.amazonaws\.com$/i.test(n))return t;const r=i.split("/").filter(Boolean);if(r.length<2)return t;const o=r[0],s=new e(t.toString());return s.hostname=`${o}.${n}`,s.pathname=`/${r.slice(1).join("/")}`,s}(i,n),o=e[r.hostname]?r:i,s=e[o.hostname];if(!s||"string"!=typeof s)return t;let a;try{a=new n(s)}catch(e){return t}return a.protocol&&a.host?(o.protocol=a.protocol,o.host=a.host,o.toString()):t}(t,z(Wk,this))}function Gk(){return z(zk,this)||void 0===Vd.VideoDecoder}function Hk(){return this.manifestRef&&"object"==typeof this.manifestRef&&"assets-delivery-service"===this.manifestRef.type}function Kk(t){if(!B($k,this,Hk).call(this))return!1;if(!B($k,this,Gk).call(this))return!1;const e=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[],n=e.find((e=>(null==e?void 0:e.id)===(null==t?void 0:t.mainTrackId)))||e[0];return"image"!==(null==n?void 0:n.type)}function Xk(t){const e=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[],n=function(t){const e=Number(null==t?void 0:t.duration);if(Number.isFinite(e)&&e>0)return e;const n=Array.isArray(null==t?void 0:t.segments)?t.segments:[];let i=0;return n.forEach((t=>{if(null!=t&&t.isInit)return;const e=Number(null==t?void 0:t.offset),n=Number(null==t?void 0:t.duration);!Number.isFinite(e)||!Number.isFinite(n)||n<=0||(i=Math.max(i,e+n))})),i>0?i:void 0}(e.find((e=>(null==e?void 0:e.id)===(null==t?void 0:t.mainTrackId)))||e[0]);return Uy(n)?n:Uy(z(Rk,this))?z(Rk,this):void 0}function Yk(t){if(this.imageFallbackActive=!1,!B($k,this,Kk).call(this,t))return t;if(!z(Pk,this)||"function"!=typeof z(Pk,this).resolveImageOne)return t;const e=z(Pk,this).resolveImageOne(this.manifestRef),n=B($k,this,Vk).call(this,null==e?void 0:e.url);if(!n)return t;const i={typeHint:"image",url:n,duration:B($k,this,Xk).call(this,t),width:z(Bk,this),height:z(Lk,this)},r=hk.parse(i);return t&&"object"==typeof t.metadata&&!Array.isArray(t.metadata)&&(r.metadata=t.metadata),this.imageFallbackActive=!0,r}function Qk(){return{state:this.state,error:this.error,tracks:this.tracks,mainTrackId:this.mainTrackId,metadata:this.metadata,imageFallbackActive:this.imageFallbackActive,disabledTracks:this.disabledTracks,manifestRef:this.manifestRef,manifestLoadAttempts:this.manifestLoadAttempts,manifestLoadError:this.manifestLoadError}}function Jk(t){t&&(this.state=t.state,this.error=t.error,this.tracks=t.tracks,this.mainTrackId=t.mainTrackId,this.metadata=t.metadata,this.imageFallbackActive=t.imageFallbackActive,this.disabledTracks=t.disabledTracks,this.manifestRef=t.manifestRef,this.manifestLoadAttempts=t.manifestLoadAttempts,this.manifestLoadError=t.manifestLoadError)}function Zk(){const t=Number(this.manifestLoadAttempts);this.manifestLoadAttempts=Number.isFinite(t)&&t>0?t+1:1,this.manifestLoadError=void 0}function tx(t){this.manifestLoadError=t||new Error("Manifest load failed")}function ex(t){if(!t)return null;const e={loadAttempts:Number(t.loadAttempts),loadError:t.loadError};if("function"==typeof t.markLoadAttempt)return t.markLoadAttempt(),e;const n=Number(t.loadAttempts);return t.loadAttempts=Number.isFinite(n)&&n>0?n+1:1,t.loadError=void 0,e}function nx(t,e){if(!t||!e)return;const n=Number(e.loadAttempts);t.loadAttempts=Number.isFinite(n)&&n>=0?n:0,t.loadError=e.loadError}function ix(t,e){t&&("function"!=typeof t.setLoadError?t.loadError=e||new Error("Segment load failed"):t.setLoadError(e))}async function rx(t,e,n){const i=B($k,this,ex).call(this,e);try{const i=e.representations.map((async i=>{const r=B($k,this,Vk).call(this,i.url),o=await Sb(r,{returnType:"arrayBuffer",signal:n,onProgress:({loaded:n,total:i,chunk:r})=>{e&&"function"==typeof e.setDownloadProgress&&e.setDownloadProgress(n,i),this.trigger("segment:chunk",{nodeId:this.id,trackId:null==t?void 0:t.id,trackType:null==t?void 0:t.type,segmentId:e.id,isInit:!0,loaded:n,total:i,chunk:r})}}),s=o instanceof ArrayBuffer?o:null==o?void 0:o.arrayBuffer;s&&e.setRepresentationBuffer(i.id,s)}));await Promise.all(i)}catch(t){if(gb(t,n))throw B($k,this,nx).call(this,e,i),t;throw B($k,this,ix).call(this,e,t),t}}async function ox(t,e,n){const i=z(Ok,this),r={representations:t.representations,nodeId:this.id,trackId:null==e?void 0:e.id,segmentId:t.id},o=i&&"function"==typeof i.select?i.select(r):void 0,s=t.representations.find((t=>t.id===o))||t.representations[0];if(!s)return;t&&"function"==typeof t.setABRDecisionSnapshot&&t.setABRDecisionSnapshot(r.abrDecision),t.setChosenRepresentation(s);const a=B($k,this,ex).call(this,t);try{const i=B($k,this,Vk).call(this,s.url),r=await Sb(i,{returnType:"arrayBuffer",signal:n,onProgress:({loaded:n,total:i,chunk:r})=>{t&&"function"==typeof t.setDownloadProgress&&t.setDownloadProgress(n,i),this.trigger("segment:chunk",{nodeId:this.id,trackId:null==e?void 0:e.id,trackType:null==e?void 0:e.type,segmentId:t.id,isInit:!1,loaded:n,total:i,chunk:r})}}),o=r instanceof ArrayBuffer?r:null==r?void 0:r.arrayBuffer;o&&(t.setRepresentationBuffer(s.id,o),t.setChosenRepresentation(s))}catch(e){if(gb(e,n))throw B($k,this,nx).call(this,t,a),e;throw B($k,this,ix).call(this,t,e),e}}async function sx(t={}){const{signal:e,manifestOverride:n}=t;if(e&&e.aborted)throw vb();B($k,this,Zk).call(this);try{let t=this.manifestRef;if(n&&"object"==typeof n){if(B($k,this,Hk).call(this)&&"string"==typeof n.encodeProfile&&n.encodeProfile&&(this.manifestRef={...this.manifestRef,encodeProfile:n.encodeProfile},t=this.manifestRef),n.ivd)return{typeHint:"ivd",body:n.ivd};if(n.body){const t=B($k,this,Vk).call(this,n.url);return{typeHint:n.typeHint,url:t,mimeType:n.mimeType,body:n.body,duration:z(Rk,this),width:z(Bk,this),height:z(Lk,this)}}"string"==typeof n.url&&n.url&&(t=n)}if(t&&"object"==typeof t&&"assets-delivery-service"===t.type){if(!z(Pk,this)||"function"!=typeof z(Pk,this).resolveOne)throw new Error("AssetsDeliveryService is required for assets-delivery-service manifestRef");const n=await z(Pk,this).resolveOne(t,{signal:e});if(!n)throw new Error("AssetsDeliveryService returned empty result");if("string"==typeof n.encodeProfile&&n.encodeProfile&&(this.manifestRef={...t,encodeProfile:n.encodeProfile}),n.ivd)return{typeHint:"ivd",body:n.ivd};const i=n.typeHint,r=B($k,this,Vk).call(this,n.url),o=n.mimeType,s=n.body;if(r||s||o)return{typeHint:i,url:r,mimeType:o,body:s,duration:z(Rk,this),width:z(Bk,this),height:z(Lk,this)};throw new Error("AssetsDeliveryService returned unsupported manifest shape")}if(t&&"object"==typeof t){const e=B($k,this,Vk).call(this,t.url),n=t.mimeType;if(t.body)return{url:e,mimeType:n,body:"string"==typeof t.body?t.body:JSON.stringify(t.body)}}if("string"==typeof t||t&&"string"==typeof t.url){const n="string"==typeof t?t:t.url,i=B($k,this,Vk).call(this,n),r="object"==typeof t?t.typeHint:void 0,o="object"==typeof t?t.mimeType:void 0;if("image"===hk.inferType({typeHint:r,url:i,mimeType:o})){const e="object"==typeof t&&Uy(t.duration)?t.duration:z(Rk,this);return{typeHint:"image",url:i,mimeType:o,duration:e,width:"object"==typeof t&&Uy(t.width)?t.width:z(Bk,this),height:"object"==typeof t&&Uy(t.height)?t.height:z(Lk,this)}}const s=await Sb(i,{returnType:"default",signal:e});return{url:i,body:s&&s.response&&"function"==typeof s.response.text?await s.response.text():void 0,mimeType:(s&&s.response&&s.response.headers&&"function"==typeof s.response.headers.get&&s.response.headers.get("content-type")?s.response.headers.get("content-type"):void 0)||o}}throw new Error("Node manifestRef is invalid or missing")}catch(t){if(gb(t,e))throw t;throw B($k,this,tx).call(this,t),t}}async function ax(){const t=Sk.slice().filter((t=>!this.enabledRepFilters||this.enabledRepFilters.includes(t.name)));if(t.length)for(let e=0;e<this.tracks.length;e+=1){const n=this.tracks[e],i=Array.isArray(n.segments)?n.segments:[],r=[];for(let e=0;e<i.length;e+=1){const o=i[e];if(!Array.isArray(o.representations)){r.push(o);continue}o.appliedFilters=o.appliedFilters||[];let s=o.representations;for(let e=0;e<t.length;e+=1){const{name:i,fn:r,isRelevantForTrack:a}=t[e];if(!a(n))continue;const l=await r(s,{segment:o,track:n,node:this});Array.isArray(l)&&(s=l),o.appliedFilters.push(i)}if(o.representations=s,o.representations.length){if(!o.isInit){const t=Ck(o.representations);t&&(o.offset=t.offset,o.duration=t.duration)}r.push(o)}}r.length!==i.length&&n&&"function"==typeof n.setSegments&&n.setSegments(r)}}function lx(t,{emit:e=!1}={}){return function(t=[],e=[]){if(!Array.isArray(t)||!Array.isArray(e)||t.length!==e.length)return!1;for(let n=0;n<t.length;n+=1){const i=t[n],r=e[n];if((null==i?void 0:i.nodeId)!==(null==r?void 0:r.nodeId)||(null==i?void 0:i.weight)!==(null==r?void 0:r.weight))return!1}return!0}(z(Uk,this),t)||(j(Uk,this,t),e&&(n=this)&&"function"==typeof n.trigger&&n.trigger("node:childrenchanged",{nodeId:n.id,node:n,children:Array.isArray(n.children)?n.children:[]})),this.children;var n}function cx(){var t;const e=Array.isArray(this.disabledTrackTypes)?this.disabledTrackTypes:[];if(!e.length||!Array.isArray(this.tracks)||!this.tracks.length)return void(this.disabledTracks=[]);const n=new Set(e),i=[],r=[];this.tracks.forEach((t=>{t&&n.has(t.type)?r.push(t):t&&i.push(t)})),this.tracks=i,this.disabledTracks=r,this.mainTrackId&&!i.some((t=>t.id===this.mainTrackId))&&(this.mainTrackId=null===(t=i[0])||void 0===t?void 0:t.id)}function ux(){if(!Array.isArray(this.tracks)||!this.tracks.length)return;const t=this.duration;if(!Uy(t))return;const e=[new tk({name:"nodestart",timestamp:0,data:{id:this.id},isSticky:!0}),new tk({name:"nodeend",timestamp:t,data:{id:this.id}})],n=new rk({id:`${this.id}-auto-cue`,type:"cue",cues:e,offset:0,duration:t});this.tracks.push(n)}var dx=new WeakMap,hx=new WeakMap,fx=new WeakMap,px=new WeakMap,mx=new WeakSet;class vx extends Ud{constructor(...t){super(...t),U(this,mx),W(this,dx,new Map),W(this,hx,new Map),W(this,fx,void 0),W(this,px,void 0);const[e,n]=t;j(fx,this,e),j(px,this,n)}get name(){return"NodeRepository"}get defaults(){return{enabledRepFilters:["containers","force-video-codec","media-capabilities"],disabledTracks:Fb("disabledTracks"),forceVideoCodec:Fb("forceVideoCodec"),forceImageFallback:Fb("forceImageFallback"),mediaHostRewriteMap:Fb("mediaHostRewriteMap"),maxManifestLoadAttempts:3}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"get","list"])}onDispose(){z(dx,this).forEach(((t,e)=>{const n=z(hx,this).get(e);n&&t&&"function"==typeof t.off&&t.off(Hd.NODE_CHILDREN_CHANGED,n)})),z(hx,this).clear(),z(dx,this).clear()}add(t){const e=t instanceof qk?t:new qk(t,{enabledRepFilters:this.settings.enabledRepFilters,disabledTracks:this.settings.disabledTracks,forceVideoCodec:this.settings.forceVideoCodec,forceImageFallback:this.settings.forceImageFallback,mediaHostRewriteMap:this.settings.mediaHostRewriteMap,maxManifestLoadAttempts:this.settings.maxManifestLoadAttempts,abrSelector:z(fx,this),assetsDeliveryService:z(px,this)});if(!e.id)throw new Error("NodeRepository.add requires node with id");if(z(dx,this).has(e.id))throw new Error(`NodeRepository.add: node with id ${e.id} already exists`);return z(dx,this).set(e.id,e),B(mx,this,gx).call(this,e),this.trigger(Hd.NODE_ADD,{node:e}),e}get(t){const e=(null==t?void 0:t.id)||t;if(!e)throw new Error("NodeRepository.get requires node or id");return z(dx,this).get(e)}list(){return Array.from(z(dx,this).values())}}function gx(t){if(!t||"function"!=typeof t.on||!t.id)return;const e=t=>{this.trigger(Hd.NODE_CHILDREN_CHANGED,t)};t.on(Hd.NODE_CHILDREN_CHANGED,e),z(hx,this).set(t.id,e)}var yx=new WeakMap,bx=new WeakMap,kx=new WeakSet;class xx extends Ud{constructor(...t){super(...t),U(this,kx),W(this,yx,void 0),W(this,bx,new Map);const[e]=t;j(yx,this,e)}get name(){return"ABRSelector"}get defaults(){return{safetyMargin:.35,minBufferForUpgrade:5,minBufferCritical:1,hysteresisRatio:1.1,abrStrategy:Fb("abrStrategy")}}select(t={}){var e;const{representations:n=[],bufferSeconds:i}=t;if(!Array.isArray(n)||0===n.length)return;const r=z(yx,this)&&"function"==typeof z(yx,this).getKbps?z(yx,this).getKbps():void 0,o=B(kx,this,wx).call(this,n[0]),s=z(bx,this).get(o),a=this.settings.abrStrategy||"auto";this.log.debug(`[select] strategy=${a}, bw=${r}, buffer=${i}, prev=${s}`);const l=n.slice().sort(((t,e)=>B(kx,this,_x).call(this,t.bandwidth)-B(kx,this,_x).call(this,e.bandwidth)));if("bottom"===a){const e=l[0];return B(kx,this,Ex).call(this,e,t,{decisionReason:"strategy:bottom",trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:void 0,bufferSeconds:i}),null==e?void 0:e.id}if("top"===a){const e=l[l.length-1];return B(kx,this,Ex).call(this,e,t,{decisionReason:"strategy:top",trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:void 0,bufferSeconds:i}),null==e?void 0:e.id}if("random"===a){const e=l[Math.floor(Math.random()*l.length)];return B(kx,this,Ex).call(this,e,t,{decisionReason:"strategy:random",trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:void 0,bufferSeconds:i}),null==e?void 0:e.id}const c=Number.isFinite(i)?i:void 0,u=Uy(r)?r*this.settings.safetyMargin:void 0;let d="auto:highest-available";if(s&&void 0!==c&&c<this.settings.minBufferCritical){const e=l[0];return this.log.debug("[select] critical buffer -> lowest",t),B(kx,this,Ex).call(this,e,t,{decisionReason:"auto:critical-buffer",trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:u,bufferSeconds:c}),null==e?void 0:e.id}let h=l[l.length-1];if(void 0!==u){const e=l.filter((t=>B(kx,this,_x).call(this,t.bandwidth)<=u));e.length>0?(h=e[e.length-1],d="auto:highest-under-safe-bandwidth",this.log.debug("[select] under safe bandwidth ->",h.id,t)):(this.log.debug("[select] no rep under safe bandwidth, fallback lowest",t),h=l[0],d="auto:no-rep-under-safe-bandwidth")}if(s&&void 0!==c&&c<this.settings.minBufferForUpgrade){const e=n.find((t=>t.id===s));e&&Uy(e.bandwidth)&&Uy(h.bandwidth)&&h.bandwidth/e.bandwidth>this.settings.hysteresisRatio&&(h=n.filter((t=>t.bandwidth&&t.bandwidth<=e.bandwidth*this.settings.hysteresisRatio)).sort(((t,e)=>t.bandwidth-e.bandwidth)).pop()||e,d="auto:hysteresis-hold",this.log.debug("[select] hysteresis prevents upgrade; hold",h.id,t))}return B(kx,this,Ex).call(this,h,t,{decisionReason:d,trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:u,bufferSeconds:c}),null===(e=h)||void 0===e?void 0:e.id}onDispose(){z(bx,this).clear(),j(yx,this,null)}}function wx(t){var e,n;return(null===(e=t.mime)||void 0===e||null===(n=e.split)||void 0===n||null===(n=n.call(e,"/"))||void 0===n?void 0:n[0])||"unknown"}function _x(t){return Uy(t)?t/1e3:0}function Ix(t){return Uy(t)?t/1e3:void 0}function Tx(t,e,n={}){const i=Array.isArray(null==e?void 0:e.representations)?e.representations.map((t=>({id:null==t?void 0:t.id,bandwidthKbps:B(kx,this,Ix).call(this,null==t?void 0:t.bandwidth)}))):[];return{timeMs:Date.now(),strategy:this.settings.abrStrategy||"auto",decisionReason:n.decisionReason,nodeId:null==e?void 0:e.nodeId,trackId:null==e?void 0:e.trackId,segmentId:null==e?void 0:e.segmentId,trackType:n.trackType,measuredDownloadSpeedKbps:Number.isFinite(n.measuredDownloadSpeedKbps)?n.measuredDownloadSpeedKbps:void 0,safeBandwidthKbps:Number.isFinite(n.safeBandwidthKbps)?n.safeBandwidthKbps:void 0,bufferSeconds:Number.isFinite(n.bufferSeconds)?n.bufferSeconds:void 0,previousRepresentationId:n.previousRepresentationId,selectedRepresentationId:null==t?void 0:t.id,selectedRepresentationBandwidthKbps:B(kx,this,Ix).call(this,null==t?void 0:t.bandwidth),safetyMargin:Number(this.settings.safetyMargin),minBufferForUpgrade:Number(this.settings.minBufferForUpgrade),minBufferCritical:Number(this.settings.minBufferCritical),hysteresisRatio:Number(this.settings.hysteresisRatio),availableRepresentations:i}}function Ex(t,e,n={}){if(!t)return;const i=B(kx,this,Tx).call(this,t,e,n);e&&"object"==typeof e&&(e.abrDecision=i),this.log.info("[select] Chosen representation:",t,"context:",e,"decision:",i),this.trigger("abr:selection",{representation:t,context:e,strategy:this.settings.abrStrategy,decision:i});const r=B(kx,this,wx).call(this,t);z(bx,this).set(r,t.id)}var Sx=new WeakMap,Mx=new WeakSet;class Ax extends Ud{constructor(...t){super(...t),U(this,Mx),W(this,Sx,void 0);const[e]=t;if(j(Sx,this,e),!z(Sx,this)||"function"!=typeof z(Sx,this).list)throw new Error("NodePrioritizer requires a NodeRepository instance")}get name(){return"NodePrioritizer"}get defaults(){return{levelMultiplier:1,priorityMultiplier:.3}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"sortNodes"])}onDispose(){j(Sx,this,null)}getPrioritizationSnapshot(t){const e=z(Sx,this).list();if(!e.length)return{orderedIds:[],reachableIds:[]};const{levels:n,weights:i}=B(Mx,this,Nx).call(this,e,t);return{orderedIds:B(Mx,this,Fx).call(this,e,n,i),reachableIds:Array.from(n.keys())}}sortNodes(t){const{orderedIds:e}=this.getPrioritizationSnapshot(t);return e.length?(this.log.info(`[sortNodes(${t})] Sorted nodes: [${e.join(", ")}]`),e):[]}getReachableNodeIds(t){const{reachableIds:e}=this.getPrioritizationSnapshot(t);return e}}function Nx(t,e){const n=new Map;t.forEach((t=>{t&&t.id&&n.set(t.id,t)}));const i=new Map,r=new Map;if(!e||!n.has(e))return{levels:i,weights:r};const o=[{id:e,level:0,priority:1}];for(i.set(e,0),r.set(e,1);o.length;){const{id:t,level:e,priority:s}=o.shift(),a=n.get(t),l=Array.isArray(null==a?void 0:a.children)?a.children:[];for(let t=0;t<l.length;t+=1){const a=l[t],c=(null==a?void 0:a.nodeId)||(null==a?void 0:a.id);if(!c||!n.has(c)||i.has(c))continue;const u=Uy(null==a?void 0:a.weight)?a.weight:1,d=Math.max(u,s);i.set(c,e+1),r.set(c,d),o.push({id:c,level:e+1,priority:d})}}return{levels:i,weights:r}}function Fx(t,e,n){const i=e.size>0,{levelMultiplier:r,priorityMultiplier:o}=this.settings,s=t.map((t=>{var s;const a=e.has(t.id)?e.get(t.id):i?Number.MAX_SAFE_INTEGER:0,l=Number.isFinite(a)?a:Number.MAX_SAFE_INTEGER,c=null!==(s=n.get(t.id))&&void 0!==s?s:1,u=(Number.isFinite(l)?r*l:Number.MAX_SAFE_INTEGER)+o*c;return{id:t.id,score:u,level:l,priorityWeight:c}}));return s.sort(((t,e)=>t.score!==e.score?t.score-e.score:t.level!==e.level?t.level-e.level:t.priorityWeight!==e.priorityWeight?t.priorityWeight-e.priorityWeight:t.id.localeCompare(e.id))),s.map((t=>t.id))}function Cx(t,e){return function(t,e){const n=Array.isArray(t)?t:[];return n.length?e&&n.includes(e)?e:n[0]:e||void 0}(null==t?void 0:t.availableEncodeProfiles,e)}function Ox(t,e){const n=t&&"object"==typeof t?{...t}:t;return n&&"object"==typeof n?("string"==typeof e&&e?n.encodeProfile=e:delete n.encodeProfile,n):n}function Px(t){return"string"==typeof t&&t.startsWith("cmaf:")}function Dx(t){return"image"===(null==t?void 0:t.assetType)?"image":"ivd"}function Rx(t){if(!t||"object"!=typeof t)return t;if(Object.prototype.hasOwnProperty.call(t,"mpd")){const e="string"==typeof t.mpdUrl&&t.mpdUrl||"string"==typeof t.url&&t.url||void 0;return{typeHint:"dash",body:t.mpd,url:e}}return t.ivd||t.url||t.body||t.mimeType||t.typeHint?t:(e=t)&&"object"==typeof e&&Array.isArray(e.representations)?{ivd:t}:t;var e}var Bx=new WeakMap,Lx=new WeakMap,zx=new WeakSet;class Wx extends Ud{constructor(...t){super(...t),U(this,zx),W(this,Bx,void 0),W(this,Lx,void 0);const[,e={}]=t;j(Bx,this,"function"==typeof e.fetchFn?e.fetchFn:void 0),j(Lx,this,mb())}get name(){return"AssetsDeliveryService"}get defaults(){return{assetsDeliveryServiceUrl:"https://assets.eko.com",profile:Fb("encodeProfile"),maxBatchSize:5,imageQueryParams:{startOffset:0,width:1024}}}async resolveOne(t,e={}){var n;const i=await this.resolve([t],e);if(!i.length)return;const r=i[0],o=null==r?void 0:r.manifest,s=null==r||null===(n=r.manifestRef)||void 0===n?void 0:n.encodeProfile;return o&&"object"==typeof o&&"string"==typeof s&&s?{...o,encodeProfile:s}:o}resolveImageOne(t){if(!B(zx,this,Ux).call(this,t))return;const e=Cx(t,this.settings.profile),n=function(t,e,n){const i=function(t,e,n){const i=(t||"").replace(/\/$/,""),r=null==n?void 0:n.assetId,o=null==n?void 0:n.assetRevision;if(i&&e&&"string"==typeof r&&"number"==typeof o)return`${i}/${e}/${encodeURIComponent(r)}/${o}`}(t,"image",e);if(!i)return;const r=function(t){if(!t||"object"!=typeof t||Array.isArray(t))return"";const e=new URLSearchParams;return Object.keys(t).forEach((n=>{if("string"!=typeof n||!n)return;const i=t[n];null!=i&&("number"!=typeof i||Number.isFinite(i))&&("string"!=typeof i&&"number"!=typeof i&&"boolean"!=typeof i||e.set(n,String(i)))})),e.toString()}(n);return r?`${i}?${r}`:i}(this.settings.assetsDeliveryServiceUrl||"",t,this.settings.imageQueryParams);if(!n)return;const i={typeHint:"image",url:n};return"string"==typeof e&&e&&(i.encodeProfile=e),i}async resolve(t=[],e={}){const n=(Array.isArray(t)?t:[t]).filter((t=>B(zx,this,Ux).call(this,t)));if(!n.length)return[];const i=B(zx,this,jx).call(this,e);if(i&&i.aborted)return[];const r=[],o=this.settings.profile;n.forEach((t=>{if("image"!==Dx(t))return;const e=this.resolveImageOne(t);e&&e.url&&r.push({manifestRef:Ox(t,e.encodeProfile),manifest:{typeHint:"image",url:e.url}})}));const s=n.filter((t=>"image"!==Dx(t))).map((t=>function(t,e){const n=Cx(t,e);return{ref:t,profile:n,route:Px(n)?"dash":"ivd"}}(t,o))),a=B(zx,this,qx).call(this,s);for(const{refs:t,route:e}of a){if(i&&i.aborted)return r;const{url:n}=B(zx,this,Vx).call(this,t,e),o=await B(zx,this,Gx).call(this,n,{method:"GET",signal:i});o&&"object"==typeof o&&t.forEach((({ref:t,profile:e})=>{const n=`${t.assetId}:${t.assetRevision}`,i=o[n]||o[t.assetId]||o[t.assetId||n];i&&r.push({manifestRef:Ox(t,e),manifest:Rx(i)})}))}return r}onDispose(){z(Lx,this)&&z(Lx,this).abort(),j(Lx,this,null),j(Bx,this,null)}}function jx(t){return t&&t.signal?t.signal:z(Lx,this)?z(Lx,this).signal:void 0}function Ux(t){const e="number"==typeof(null==t?void 0:t.assetRevision)&&Number.isFinite(t.assetRevision)&&t.assetRevision>=0;return t&&"assets-delivery-service"===t.type&&"string"==typeof t.assetId&&e}function $x(t,e){const n=Number.isFinite(e)&&e>0?e:t.length,i=[];for(let e=0;e<t.length;e+=n)i.push(t.slice(e,e+n));return i}function qx(t){if(!Array.isArray(t)||!t.length)return[];const e=[];t.forEach((t=>{const n=e[e.length-1];n&&n.route===t.route?n.refs.push(t):e.push({route:t.route,refs:[t]})}));const n=[];return e.forEach((t=>{B(zx,this,$x).call(this,t.refs,this.settings.maxBatchSize).forEach((e=>{n.push({route:t.route,refs:e})}))})),n}function Vx(t,e="ivd"){const n=t.map((({ref:t,profile:e})=>function(t,e){const n=`${t.assetId}:${t.assetRevision}`;return e?`${n}:${e}`:n}(t,e))),i=new URLSearchParams({assets:n.join(","),type:"data"});return{url:`${(this.settings.assetsDeliveryServiceUrl||"").replace(/\/$/,"")}/${"dash"===e?"dash":"ivd"}?${i.toString()}`}}async function Gx(t,e){return z(Bx,this)?z(Bx,this).call(this,t,e):await Sb(t,{returnType:"json",method:(null==e?void 0:e.method)||"GET",signal:null==e?void 0:e.signal})}function Hx({prioritizer:t,repository:e,startNodeId:n,prioritizedIds:i,pendingIds:r,allowedIds:o,filter:s,fallbackToRepository:a=!0}={}){const l=Array.isArray(i)?i:t&&"function"==typeof t.sortNodes?t.sortNodes(n):[],c=a?(f=e)&&"function"==typeof f.list?f.list().map((t=>null==t?void 0:t.id)).filter(Boolean):[]:[],u=l.length?l:c,d=r?new Set(r):null,h=o?new Set(o):null;var f;return u.filter((t=>{if(!t)return!1;if(d&&d.has(t))return!1;if(h&&!h.has(t))return!1;const n=function(t,e){if(t&&"function"==typeof t.get)return t.get(e)}(e,t);return!(!n||"function"==typeof s&&!s(n,t))}))}const Kx=(Vd.requestAnimationFrame||Vd.mozRequestAnimationFrame||Vd.webkitRequestAnimationFrame||Vd.msRequestAnimationFrame||(t=>Vd.setTimeout(t,1e3/60))).bind(Vd),Xx=(Vd.cancelAnimationFrame||Vd.mozCancelAnimationFrame||Vd.webkitCancelAnimationFrame||Vd.msCancelAnimationFrame||(t=>Vd.clearTimeout(t))).bind(Vd),Yx=Dd("ticker","warn");let Qx,Jx=[],Zx=null,tw=pb();function ew(){tw=pb();const t=[];let e,n;for(n=Jx.length-1;n>=0;--n)e=Jx[n],tw>=e.lastTick+e.interval&&t.push(e);for(n=t.length-1;n>=0;--n)if(e=t[n],!e.stopped){e.lastTick=tw;try{e.callback()}catch(t){console&&"function"==typeof console.error?console.error(t):Yx.error(t)}}Qx=Kx(ew)}function nw(){pb()-tw>=200&&(Xx(Qx),ew())}function iw(t){let e=-1;for(let n=0;n<Jx.length;n+=1)if(Jx[n].callback===t){e=n;break}return e}function rw(t,e=0){if(!t||"function"!=typeof t||"number"!=typeof e||e<0)return void Yx.error("[start] Invalid arguments given to start method.",arguments);const n=iw(t);return-1!==n?(Yx.debug("[start] Callback already exists, overriding interval.",arguments),Jx[n].interval=e,t):(Jx.push({callback:t,interval:e,lastTick:pb()}),1===Jx.length&&(Qx=Kx(ew),Zx||(Zx=Vd.setInterval(nw,1e3))),t)}function ow(t){const e=iw(t);-1!==e?(Jx[e].stopped=!0,Jx.splice(e,1),Jx.length||(Xx(Qx),Vd.clearInterval(Zx),Zx=null)):Yx.debug("[stop] Callback not found, doing nothing.",arguments)}function sw(t){return-1!==iw(t)}function aw(t,e,n){const i="number"==typeof n?n:(null==n?void 0:n.maxQueueSize)||Number.POSITIVE_INFINITY,r=null!=n&&n.immediatelyFlushFirst?"boolean"==typeof n.immediatelyFlushFirst?n.immediatelyFlushFirst?1:0:Number(n.immediatelyFlushFirst):0;let o=0;if("function"!=typeof t)return void Yx.error("[createThrottler] Bad argument given to createThrottler, first argument must be a function.",arguments);Yx.debug("[createThrottler] Creating a new throttler instance.",arguments);const s=[];function a(){Yx.debug("[onThrottlerTick] Calling callback with "+s.length+" queued items.");const e=s.slice(0);s.length=0,ow(a),t(e)}const l={push:function(t){Yx.debug("[push] Queuing argument:",t),0===s.length&&rw(a,e),s.push(t),o+=1,(o<=r||s.length>=i)&&a()},flush:function(){Yx.debug("[flush] Flushing queue."),0!==s.length&&a()},dispose:function(){Yx.debug("[dispose] Disposing of throttler.");const t=s.slice(0);return s.length=0,ow(a),t}};return Object.defineProperty(l,"interval",{enumerable:!0,get:function(){return e},set:function(t){"number"==typeof t&&(e=t)}}),l}function lw(t,e){if(t&&"function"==typeof t)return t.__tickerThrottler||(t.__tickerThrottler=aw((function(){t()}),e)),"number"==typeof e&&(t.__tickerThrottler.interval=e),t.__tickerThrottler.push(),t.__tickerThrottler;Yx.error("[scheduleExecution] Bad argument given to scheduleExecution, first argument must be a function.",arguments)}var cw=new WeakMap,uw=new WeakMap,dw=new WeakMap,hw=new WeakMap,fw=new WeakMap,pw=new WeakMap,mw=new WeakMap,vw=new WeakMap,gw=new WeakMap,yw=new WeakMap,bw=new WeakMap,kw=new WeakMap,xw=new WeakMap,ww=new WeakMap,_w=new WeakMap,Iw=new WeakMap,Tw=new WeakSet;class Ew extends Ud{constructor(...t){super(...t),U(this,Tw),W(this,cw,void 0),W(this,uw,void 0),W(this,dw,void 0),W(this,hw,void 0),W(this,fw,[]),W(this,pw,[]),W(this,mw,new Set),W(this,vw,new Set),W(this,gw,!1),W(this,yw,void 0),W(this,bw,void 0),W(this,kw,void 0),W(this,xw,void 0),W(this,ww,void 0),W(this,_w,void 0),W(this,Iw,void 0);const[e,n,i,r]=t;j(cw,this,e),j(uw,this,n),j(dw,this,i),j(hw,this,r),j(yw,this,mb());const o=t.length?t[t.length-1]:void 0,s=o&&"object"==typeof o&&Number.isFinite(o.maxConcurrent)?o.maxConcurrent:void 0;Number.isFinite(s)&&(this.settings.maxConcurrent=s),j(Iw,this,(()=>B(Tw,this,Bw).call(this))),B(Tw,this,Nw).call(this),B(Tw,this,Aw).call(this)}get name(){return"NodeResolver"}get defaults(){return{maxConcurrent:5}}onDispose(){var t;z(yw,this)&&z(yw,this).abort(),j(yw,this,null),z(hw,this)&&"function"==typeof z(hw,this).off&&z(kw,this)&&z(hw,this).off(Hd.PLACEMENT_ADDED,z(kw,this)),z(hw,this)&&"function"==typeof z(hw,this).off&&z(_w,this)&&z(hw,this).off(Hd.TIMELINE_RESET,z(_w,this)),z(cw,this)&&"function"==typeof z(cw,this).off&&z(xw,this)&&z(cw,this).off(Hd.NODE_ADD,z(xw,this)),z(cw,this)&&"function"==typeof z(cw,this).off&&z(ww,this)&&z(cw,this).off(Hd.NODE_CHILDREN_CHANGED,z(ww,this)),j(kw,this,null),j(xw,this,null),j(ww,this,null),j(_w,this,null),j(fw,this,[]),j(pw,this,[]),z(mw,this).clear(),z(vw,this).clear(),j(gw,this,!1),j(bw,this,void 0),null!==(t=z(Iw,this))&&void 0!==t&&t.__tickerThrottler&&z(Iw,this).__tickerThrottler.dispose(),j(Iw,this,null)}}function Sw(){return z(yw,this)?z(yw,this).signal:void 0}function Mw(){return this._disposed||z(yw,this)&&z(yw,this).signal.aborted}function Aw(){z(hw,this)&&"function"==typeof z(hw,this).on&&(j(kw,this,(t=>{B(Tw,this,Cw).call(this,null==t?void 0:t.nodeId)})),z(hw,this).on(Hd.PLACEMENT_ADDED,z(kw,this)),j(_w,this,(()=>B(Tw,this,Fw).call(this))),z(hw,this).on(Hd.TIMELINE_RESET,z(_w,this))),z(cw,this)&&"function"==typeof z(cw,this).on&&(j(xw,this,(({node:t})=>{(null==t?void 0:t.id)&&B(Tw,this,Cw).call(this,t.id,{fromRepoAdd:!0})})),z(cw,this).on(Hd.NODE_ADD,z(xw,this)),j(ww,this,(()=>{lw(z(Iw,this),100)})),z(cw,this).on(Hd.NODE_CHILDREN_CHANGED,z(ww,this)))}function Nw(){const t=z(hw,this)&&Array.isArray(z(hw,this).placements)?z(hw,this).placements:[];t.forEach((t=>B(Tw,this,Cw).call(this,t.nodeId)));const e=t.length?t[t.length-1]:void 0;e&&e.nodeId&&j(bw,this,e.nodeId)}function Fw(){z(yw,this)&&z(yw,this).abort(),j(yw,this,mb()),j(fw,this,[]),j(pw,this,[]),z(mw,this).clear(),j(gw,this,!1),j(bw,this,void 0)}function Cw(t,{fromRepoAdd:e=!1}={}){B(Tw,this,Mw).call(this)||t&&(z(vw,this).has(t)||z(mw,this).has(t)||(z(fw,this).push(t),z(bw,this)||e||j(bw,this,t),!z(gw,this)&&e||B(Tw,this,Ow).call(this)))}function Ow(){if(z(gw,this))return void B(Tw,this,Pw).call(this);if(0===z(fw,this).length)return;j(gw,this,!0);const t=z(fw,this).shift();B(Tw,this,Lw).call(this,t).finally((()=>{B(Tw,this,Pw).call(this)}))}async function Pw(){if(!B(Tw,this,Mw).call(this))for(z(fw,this).length||z(pw,this).length||j(pw,this,B(Tw,this,Dw).call(this));z(mw,this).size<this.settings.maxConcurrent;){const t=this.settings.maxConcurrent-z(mw,this).size;if(t<=0)break;const e=[];for(;e.length<t&&(z(fw,this).length||z(pw,this).length);){let t=z(fw,this).shift();t||(t=z(pw,this).shift()),t&&e.push(t)}if(!e.length)break;const n=B(Tw,this,zw).call(this,e);n.length&&z(dw,this)&&"function"==typeof z(dw,this).resolve&&B(Tw,this,Ww).call(this,n).finally((()=>B(Tw,this,Pw).call(this))),e.filter((t=>!n.find((e=>e.nodeId===t)))).forEach((t=>{B(Tw,this,Lw).call(this,t).finally((()=>B(Tw,this,Pw).call(this)))}))}}function Dw(){const t=new Set([...z(vw,this),...z(mw,this),...z(fw,this)]);return B(Tw,this,Rw).call(this,t)}function Rw(t){const e=z(hw,this)&&Array.isArray(z(hw,this).placements)?z(hw,this).placements:[],n=(e.length?e[e.length-1].nodeId:void 0)||z(bw,this);return Hx({prioritizer:z(uw,this),repository:z(cw,this),startNodeId:n,pendingIds:t,fallbackToRepository:!1})}function Bw(){B(Tw,this,Mw).call(this)||(z(gw,this)||0!==z(fw,this).length)&&(j(pw,this,B(Tw,this,Dw).call(this)),z(gw,this)&&B(Tw,this,Pw).call(this))}async function Lw(t,e){if(!t||z(vw,this).has(t)||z(mw,this).has(t))return;const n=B(Tw,this,Sw).call(this);if(n&&n.aborted)return;const i=z(cw,this)&&"function"==typeof z(cw,this).get?z(cw,this).get(t):void 0;if(i&&"function"==typeof i.resolve)if("function"==typeof i.hasExceededManifestLoadAttempts&&i.hasExceededManifestLoadAttempts())z(vw,this).add(t);else{z(mw,this).add(t);try{const r={signal:n};e&&(r.manifestOverride=e),await i.resolve(r),z(vw,this).add(t)}catch(e){if(gb(e,n))return;this.log.warn(`NodeResolver failed to resolve node ${t}: ${(null==e?void 0:e.message)||e}`),"function"==typeof i.hasExceededManifestLoadAttempts&&i.hasExceededManifestLoadAttempts()&&z(vw,this).add(t)}finally{z(mw,this).delete(t)}}}function zw(t){const e=[];return t.forEach((t=>{const n=z(cw,this)&&"function"==typeof z(cw,this).get?z(cw,this).get(t):void 0;n&&n.manifestRef&&"assets-delivery-service"===n.manifestRef.type&&e.push({nodeId:t,ref:n.manifestRef})})),e}async function Ww(t){const e=B(Tw,this,Sw).call(this);if(!e||!e.aborted){t.forEach((({nodeId:t})=>z(mw,this).add(t)));try{const n=t.map((t=>t.ref)),i=await z(dw,this).resolve(n,{signal:e});t.forEach((({nodeId:t,ref:e})=>{var n;const r=z(cw,this)&&"function"==typeof z(cw,this).get?z(cw,this).get(t):void 0;if(z(mw,this).delete(t),!r||"function"!=typeof r.resolve)return;const o=Array.isArray(i)?i.find((t=>{const n=null==t?void 0:t.manifestRef;return n&&n.assetId===e.assetId&&n.assetRevision===e.assetRevision})):void 0,s="string"==typeof(null==o||null===(n=o.manifestRef)||void 0===n?void 0:n.encodeProfile)&&o.manifestRef.encodeProfile?o.manifestRef.encodeProfile:void 0,a=o?B(Tw,this,jw).call(this,o.manifest,s):void 0;B(Tw,this,Lw).call(this,t,a)}))}catch(n){gb(n,e)||this.log.warn(`NodeResolver ADS batch failed: ${(null==n?void 0:n.message)||n}`),t.forEach((({nodeId:t})=>z(mw,this).delete(t)))}}}function jw(t,e){if(!t)return;const n="string"==typeof e&&e?e:void 0,i=t=>n&&t&&"object"==typeof t?{...t,encodeProfile:n}:t;return t.ivd?i({typeHint:"ivd",body:t.ivd}):t.url||t.body||t.mimeType?i({typeHint:t.typeHint,url:t.url,mimeType:t.mimeType,body:t.body}):i(t)}const Uw=.001,$w="priority";function qw(t){const e=Number(t);return Number.isFinite(e)?e:0}var Vw=new WeakMap,Gw=new WeakMap,Hw=new WeakMap,Kw=new WeakMap,Xw=new WeakMap,Yw=new WeakMap,Qw=new WeakMap,Jw=new WeakMap,Zw=new WeakMap,t_=new WeakMap,e_=new WeakMap,n_=new WeakMap,i_=new WeakMap,r_=new WeakMap,o_=new WeakMap,s_=new WeakMap,a_=new WeakMap,l_=new WeakMap,c_=new WeakMap,u_=new WeakMap,d_=new WeakSet;class h_ extends Ud{constructor(...t){super(...t),U(this,d_),W(this,Vw,void 0),W(this,Gw,void 0),W(this,Hw,void 0),W(this,Kw,new Map),W(this,Xw,new Map),W(this,Yw,[]),W(this,Qw,new Set),W(this,Jw,new Map),W(this,Zw,!1),W(this,t_,void 0),W(this,e_,void 0),W(this,n_,void 0),W(this,i_,void 0),W(this,r_,void 0),W(this,o_,void 0),W(this,s_,void 0),W(this,a_,void 0),W(this,l_,!1),W(this,c_,[]),W(this,u_,void 0);const[e,n,i]=t;j(Vw,this,e),j(Gw,this,n),j(Hw,this,i),j(e_,this,mb()),j(u_,this,(()=>B(d_,this,K_).call(this))),B(d_,this,S_).call(this)}get name(){return"SegmentLoadCoordinator"}get defaults(){return{maxConcurrentLoads:3,maxSegmentLoadAttempts:3}}onDispose(){var t;z(e_,this)&&z(e_,this).abort(),j(e_,this,null),z(Jw,this).size&&z(Jw,this).forEach((t=>{(null==t?void 0:t.controller)&&t.controller.abort()})),z(Jw,this).clear(),z(Hw,this)&&"function"==typeof z(Hw,this).off&&(z(n_,this)&&z(Hw,this).off(Hd.PLACEMENT_ADDED,z(n_,this)),z(r_,this)&&z(Hw,this).off(Hd.TIMELINE_SEEKING,z(r_,this)),z(o_,this)&&z(Hw,this).off(Hd.TIMELINE_SEEKED,z(o_,this)),z(s_,this)&&z(Hw,this).off(Hd.TIMELINE_RESET,z(s_,this))),z(Vw,this)&&"function"==typeof z(Vw,this).off&&z(i_,this)&&z(Vw,this).off(Hd.NODE_CHILDREN_CHANGED,z(i_,this)),z(a_,this)&&"function"==typeof Vd.removeEventListener&&Vd.removeEventListener("online",z(a_,this)),j(n_,this,null),j(i_,this,null),j(r_,this,null),j(o_,this,null),j(s_,this,null),j(a_,this,null),z(Kw,this).clear(),z(Xw,this).clear(),j(Yw,this,[]),z(Qw,this).clear(),z(Jw,this).clear(),j(Zw,this,!1),j(t_,this,void 0),j(l_,this,!1),j(c_,this,[]),null!==(t=z(u_,this))&&void 0!==t&&t.__tickerThrottler&&z(u_,this).__tickerThrottler.dispose(),j(u_,this,null)}}function f_(){return z(e_,this)?z(e_,this).signal:void 0}function p_(){return this._disposed||z(e_,this)&&z(e_,this).signal.aborted}function m_(){const t=Number(this.settings.maxSegmentLoadAttempts);return Number.isFinite(t)&&t>0?t:1/0}function v_(t){const e=B(d_,this,m_).call(this);if(!Number.isFinite(e)||e===1/0)return!1;if(null==t||!t.loadError)return!1;const n=Number(t.loadAttempts);return Number.isFinite(n)&&n>=e}function g_(t){return!!t&&(!!B(d_,this,v_).call(this,t)||B(d_,this,y_).call(this,t))}function y_(t){if(!t)return!1;if("boolean"==typeof t.isLoaded)return t.isLoaded;const e=Number(t.retainedByteLength);return Number.isFinite(e)&&e>0}function b_(t){if(!t||B(d_,this,y_).call(this,t))return;const e=Number(t.loadAttempts);(Number.isFinite(e)&&e>0||t.loadError)&&("function"==typeof t.evict&&t.evict(),t.loadAttempts=0,t.loadError=void 0)}function k_(t){t&&(t.manifestLoadError&&(t.manifestLoadAttempts=0,t.manifestLoadError=void 0,"failed"===t.state&&(t.state="pending",t.error=void 0)),(Array.isArray(t.tracks)?t.tracks:[]).forEach((t=>{(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).forEach((t=>{B(d_,this,b_).call(this,t)}))})))}function x_(){(z(Vw,this)&&"function"==typeof z(Vw,this).list?z(Vw,this).list():[]).forEach((t=>{B(d_,this,k_).call(this,t)}))}function w_(t,{allowSeekKeep:e=!1,segmentOffset:n}={}){const i=mb(),r=i?i.signal:B(d_,this,f_).call(this);return t&&z(Jw,this).set(t,{controller:i,allowSeekKeep:!!e,segmentOffset:n}),{signal:r,controller:i}}function __(t,e,n={}){const i=z(Jw,this).get(t);i&&i.controller===e&&(Object.prototype.hasOwnProperty.call(n,"allowSeekKeep")&&(i.allowSeekKeep=!!n.allowSeekKeep),Object.prototype.hasOwnProperty.call(n,"segmentOffset")&&(i.segmentOffset=n.segmentOffset))}function I_(t,e){const n=z(Jw,this).get(t);n&&(e&&n.controller!==e||z(Jw,this).delete(t))}function T_(t,e){const n=new Set;return(Array.isArray(t)?t:[]).forEach((t=>{const i=null==t?void 0:t.nodeId;if(!i)return;const r=z(Vw,this)&&"function"==typeof z(Vw,this).get?z(Vw,this).get(i):void 0;if(!r)return;const o=B(d_,this,L_).call(this,r,t,e);Number.isFinite(o)&&n.add(`${i}:${o}`)})),n}function E_(t){z(Jw,this).size&&z(Jw,this).forEach(((e,n)=>{const i=null==e?void 0:e.segmentOffset,r=Number.isFinite(i)?`${n}:${i}`:"";!(null!=e&&e.allowSeekKeep&&r&&t&&t.has(r))&&(null==e?void 0:e.controller)&&e.controller.abort()}))}function S_(){z(Hw,this)&&"function"==typeof z(Hw,this).on&&(j(n_,this,(t=>{B(d_,this,O_).call(this,t)})),z(Hw,this).on(Hd.PLACEMENT_ADDED,z(n_,this)),j(r_,this,(t=>B(d_,this,M_).call(this,t))),z(Hw,this).on(Hd.TIMELINE_SEEKING,z(r_,this)),j(o_,this,(t=>B(d_,this,A_).call(this,t))),z(Hw,this).on(Hd.TIMELINE_SEEKED,z(o_,this)),j(s_,this,(()=>B(d_,this,C_).call(this))),z(Hw,this).on(Hd.TIMELINE_RESET,z(s_,this))),z(Vw,this)&&"function"==typeof z(Vw,this).on&&(j(i_,this,(()=>{lw(z(u_,this),100)})),z(Vw,this).on(Hd.NODE_CHILDREN_CHANGED,z(i_,this))),"function"==typeof Vd.addEventListener&&(j(a_,this,(()=>B(d_,this,F_).call(this))),Vd.addEventListener("online",z(a_,this)))}function M_(t={}){if(B(d_,this,p_).call(this))return;const e=Number(null==t?void 0:t.targetTime);if(!Number.isFinite(e))return;const n=Array.isArray(null==t?void 0:t.placements)?t.placements:[],i=B(d_,this,T_).call(this,n,e);B(d_,this,E_).call(this,i),j(l_,this,!0),j(c_,this,n.map((t=>{const n=null==t?void 0:t.nodeId;if(n)return{nodeId:n,placement:t,targetTime:e}})).filter(Boolean)),setTimeout((()=>B(d_,this,D_).call(this)),0)}function A_(t={}){var e;if(B(d_,this,p_).call(this))return;j(l_,this,!1),j(c_,this,[]);const n=Number.isFinite(null==t?void 0:t.targetTime)?Number(t.targetTime):Number(null===(e=z(Hw,this))||void 0===e?void 0:e.currentTime);B(d_,this,N_).call(this,n),setTimeout((()=>B(d_,this,D_).call(this)),0)}function N_(t){var e;(Array.isArray(null===(e=z(Hw,this))||void 0===e?void 0:e.placements)?z(Hw,this).placements:[]).forEach((e=>{if(!e)return;const n=tv(e);if(Number.isFinite(n)){if(Number.isFinite(t)){if(n>=t)return void B(d_,this,O_).call(this,e);const i=Jm(e,z(Vw,this));return Number.isFinite(i)?void(n+i>t&&B(d_,this,O_).call(this,e)):void(n<=t&&B(d_,this,O_).call(this,e))}B(d_,this,O_).call(this,e)}}))}function F_(){var t;B(d_,this,p_).call(this)||(B(d_,this,x_).call(this),j(l_,this,!1),j(c_,this,[]),B(d_,this,N_).call(this,Number(null===(t=z(Hw,this))||void 0===t?void 0:t.currentTime)),j(Yw,this,B(d_,this,G_).call(this)),setTimeout((()=>B(d_,this,D_).call(this)),0))}function C_(){z(e_,this)&&z(e_,this).abort(),j(e_,this,mb()),z(Jw,this).size&&z(Jw,this).forEach((t=>{(null==t?void 0:t.controller)&&t.controller.abort()})),z(Jw,this).clear(),z(Kw,this).clear(),z(Xw,this).clear(),j(Yw,this,[]),z(Qw,this).clear(),j(Zw,this,!1),j(t_,this,void 0),j(l_,this,!1),j(c_,this,[])}function O_(t){if(B(d_,this,p_).call(this))return;const e=null==t?void 0:t.nodeId;if(!e)return;const n=z(Kw,this).get(e);if(n){const i=tv(n),r=tv(t);Number.isFinite(i)?Number.isFinite(r)&&r<i&&z(Kw,this).set(e,t):Number.isFinite(r)&&z(Kw,this).set(e,t)}else z(Kw,this).set(e,t);const i=z(t_,this);j(t_,this,e),i&&i!==e&&j(Yw,this,[]),z(Zw,this)?setTimeout((()=>B(d_,this,D_).call(this)),0):B(d_,this,P_).call(this)}function P_(){z(Zw,this)||z(Kw,this).size&&(j(Zw,this,!0),B(d_,this,D_).call(this))}async function D_(){if(B(d_,this,p_).call(this))return;if(z(Qw,this).size>=this.settings.maxConcurrentLoads)return;if(z(l_,this))return void(z(c_,this).length&&B(d_,this,R_).call(this));const t=B(d_,this,j_).call(this);if(t.hasPending)B(d_,this,U_).call(this,t);else for(z(Yw,this).length||j(Yw,this,B(d_,this,G_).call(this));z(Qw,this).size<this.settings.maxConcurrentLoads&&z(Yw,this).length;){const t=z(Yw,this).shift();B(d_,this,X_).call(this,t,"partial").finally((()=>{setTimeout((()=>B(d_,this,D_).call(this)),0)}))}}function R_(){if(B(d_,this,p_).call(this))return;const t=Math.max(0,this.settings.maxConcurrentLoads-z(Qw,this).size);if(!t||!z(c_,this).length)return;const e=[],n=[];for(let i=0;i<z(c_,this).length;i+=1){const r=z(c_,this)[i];(null==r?void 0:r.nodeId)&&(e.length<t&&!z(Qw,this).has(r.nodeId)?e.push(r):n.push(r))}j(c_,this,n),e.forEach((t=>{B(d_,this,B_).call(this,t).finally((()=>{setTimeout((()=>B(d_,this,D_).call(this)),0)}))}))}async function B_(t={}){const e=null==t?void 0:t.nodeId,n=null==t?void 0:t.placement,i=Number(null==t?void 0:t.targetTime);if(!e||!n||!Number.isFinite(i))return;if(z(Qw,this).has(e))return;const{signal:r,controller:o}=B(d_,this,w_).call(this,e);if(r&&r.aborted)B(d_,this,I_).call(this,e,o);else{z(Qw,this).add(e);try{const t=z(Vw,this)&&"function"==typeof z(Vw,this).get?z(Vw,this).get(e):void 0;if(!t)return;if("ready"!==t.state&&"function"==typeof t.resolve)try{await t.resolve({signal:r})}catch(t){return}if("ready"!==t.state)return;const s=B(d_,this,L_).call(this,t,n,i);if(!Number.isFinite(s)){const n=Array.isArray(null==t?void 0:t.tracks)?t.tracks.map((t=>null==t?void 0:t.type)).filter(Boolean):[];return void this.log.debug(`[#loadSeekWork] No seek segment offset for node [${e}] targetTime=${i} mainTrackId=${(null==t?void 0:t.mainTrackId)||"n/a"} trackTypes=[${n.join(",")}]`)}"function"==typeof t.loadMediaSegmentsAtOffset?(this.log.debug(`[#loadSeekWork] Loading seek segment for node [${e}] at offset=${s}`),B(d_,this,__).call(this,e,o,{allowSeekKeep:!0,segmentOffset:s}),await t.loadMediaSegmentsAtOffset(s,{signal:r})):"function"==typeof t.load&&await t.load({loadingMode:"partial",signal:r})}catch(t){gb(t,r)||this.log.warn(`[#loadSeekWork] SegmentLoadCoordinator failed to seek-load node ${e}: ${(null==t?void 0:t.message)||t}`)}finally{z(Qw,this).delete(e),B(d_,this,I_).call(this,e,o)}}}function L_(t,e,n){var i;const r=tv(e);if(!Number.isFinite(r))return;const o=qw(null==e?void 0:e.nodeOffsetOverride),s=Math.max(0,n-r+o),a=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];let l;if(null!=t&&t.mainTrackId){const e=a.find((e=>(null==e?void 0:e.id)===t.mainTrackId));"video"!==(null==e?void 0:e.type)&&"image"!==(null==e?void 0:e.type)||(l=e)}if(l||(l=a.find((t=>"video"===(null==t?void 0:t.type)))||a.find((t=>"image"===(null==t?void 0:t.type)))),!l||!Array.isArray(l.segments))return;const c=l.segments.filter((t=>t&&!t.isInit&&Array.isArray(t.representations)));if(!c.length)return;const u=qw(null===(i=l)||void 0===i?void 0:i.offset),d=nk(c,Math.max(0,s-u),{preferRepresentationTime:!0}),h=Number(null==d?void 0:d.offset);return Number.isFinite(h)?h:void 0}function z_(t,e,n=(t=>null===(t=z(Hw,this))||void 0===t?void 0:t.currentTime)()){var i;const r=(Array.isArray(null===(i=z(Hw,this))||void 0===i?void 0:i.placements)?z(Hw,this).placements:[]).filter((e=>(null==e?void 0:e.nodeId)===t&&Number.isFinite(tv(e)))).sort(((t,e)=>tv(t)-tv(e)));if(!r.length)return e;const o=Number(n);if(!Number.isFinite(o))return e||r[0];let s,a;for(let t=0;t<r.length;t+=1){const e=r[t],n=tv(e);if(!Number.isFinite(n))continue;const i=Jm(e,z(Vw,this)),l=Number.isFinite(i)&&i>=0;(!a&&n>=o-Uw&&(a=e),l)?o+Uw>=n&&o<n+i-Uw&&(s=e):o+Uw>=n&&(s=e)}return s||a||r[r.length-1]}function W_(t,e){var n;const i=Number(tv(e));if(!Number.isFinite(i))return;const r=Jm(e,z(Vw,this)),o=Number.isFinite(r)&&r>=0?i+r:void 0,s=(Array.isArray(null===(n=z(Hw,this))||void 0===n?void 0:n.placements)?z(Hw,this).placements:[]).filter((e=>(null==e?void 0:e.nodeId)===t&&Number.isFinite(tv(e)))).sort(((t,e)=>tv(t)-tv(e)));for(let t=0;t<s.length;t+=1){const e=s[t],n=Number(tv(e));if(Number.isFinite(n)&&!(n<=i+Uw)){if(Number.isFinite(o)&&n>o+Uw)return;return e}}}function j_(){const t=[];let e=!1,n=1/0;if(z(Kw,this).forEach(((i,r)=>{if(!r||!i)return;const o=z(Xw,this).get(r);if(o)return e=!0,void(n=Math.min(n,qw(o.timelineStart)));const s=B(d_,this,$_).call(this,r,i);s&&(e=!0,n=Math.min(n,qw(s.timelineStart)),t.push(s))})),!e||!Number.isFinite(n))return{hasPending:!1,waveTime:void 0,startable:[]};const i=t.filter((t=>qw(t.timelineStart)===n&&!z(Qw,this).has(t.nodeId))).sort(((t,e)=>{const n=Number.isFinite(null==t?void 0:t.timelineStart)?t.timelineStart:Number.POSITIVE_INFINITY,i=Number.isFinite(null==e?void 0:e.timelineStart)?e.timelineStart:Number.POSITIVE_INFINITY;return n!==i?n-i:String(t.nodeId).localeCompare(String(e.nodeId))}));return{hasPending:!0,waveTime:n,startable:i}}function U_({waveTime:t,startable:e}){const n=Math.max(0,this.settings.maxConcurrentLoads-z(Qw,this).size);n&&e.length&&e.slice(0,n).forEach((e=>{B(d_,this,V_).call(this,e,t).finally((()=>{setTimeout((()=>B(d_,this,D_).call(this)),0)}))}))}function $_(t,e){var n,i;const r=z(Vw,this)&&"function"==typeof z(Vw,this).get?z(Vw,this).get(t):void 0;if(!r)return;if("function"==typeof r.hasExceededManifestLoadAttempts&&r.hasExceededManifestLoadAttempts())return void z(Kw,this).delete(t);const o=B(d_,this,z_).call(this,t,e,null===(n=z(Hw,this))||void 0===n?void 0:n.currentTime),s=Number(tv(o)),a=qw(null===(i=z(Hw,this))||void 0===i?void 0:i.currentTime),l="function"==typeof r.loadMediaSegmentsAtOffset,c="function"==typeof r.load;if(!l&&!c)return void z(Kw,this).delete(t);if(r.isLoaded)return void z(Kw,this).delete(t);if("ready"!==r.state){if(!Number.isFinite(s))return;return{nodeId:t,segmentOffset:0,timelineStart:s}}if(!B(d_,this,Y_).call(this,r))return void z(Kw,this).delete(t);const u=Array.isArray(r.tracks)?r.tracks:[],d=u.some((t=>{const e=(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).find((t=>(null==t?void 0:t.isInit)&&Array.isArray(null==t?void 0:t.representations)));return!!e&&!B(d_,this,g_).call(this,e)})),h=new Set;u.forEach((t=>{(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).forEach((t=>{if(!t||t.isInit||!Array.isArray(t.representations))return;const e=Number(t.offset);if(Number.isFinite(e)){const t=Math.round(e/Uw)*Uw;h.add(t)}}))}));const f=Array.from(h).sort(((t,e)=>t-e)),p=e=>{const n=Number(tv(e));if(!Number.isFinite(n))return{status:"none"};const i=qw(null==e?void 0:e.nodeOffsetOverride),o=Math.max(0,a-n+i);let s=0;for(let t=0;t<f.length&&f[t]<=o+Uw;t+=1)s=t;const l=f.slice(s);if(!l.some((t=>B(d_,this,q_).call(this,r,t))))return{status:f.slice(0,s).some((t=>B(d_,this,q_).call(this,r,t)))?"beforeOnly":"none"};const c=l.find((t=>B(d_,this,q_).call(this,r,t))),u=Math.max(0,qw(c)-i);return{status:"work",work:{nodeId:t,segmentOffset:c,timelineStart:n+u}}},m=p(o);if("work"===m.status)return m.work;if("beforeOnly"!==m.status){if(d&&Number.isFinite(s))return{nodeId:t,segmentOffset:0,timelineStart:s};z(Kw,this).delete(t)}else{const e=B(d_,this,W_).call(this,t,o);if(e){const t=p(e);if("work"===t.status)return t.work}}}function q_(t,e){const n=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[],i=qw(e);return n.some((t=>(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).some((t=>{if(!t||t.isInit||!Array.isArray(t.representations))return!1;const e=Number(t.offset);return Number.isFinite(e)&&Math.abs(e-i)<=Uw&&!B(d_,this,g_).call(this,t)}))))}async function V_(t,e){const n=null==t?void 0:t.nodeId,i=null==t?void 0:t.segmentOffset;if(this.log.debug(`[#loadP0Work] Loading ${$w} node [${n}] at segmentOffset=${i} wave=${e}`),!n)return;const r=z(Vw,this)&&"function"==typeof z(Vw,this).get?z(Vw,this).get(n):void 0;if(!r)return void z(Kw,this).delete(n);const o="function"==typeof r.loadMediaSegmentsAtOffset&&Number.isFinite(i),{signal:s,controller:a}=B(d_,this,w_).call(this,n,{allowSeekKeep:o,segmentOffset:i});if(s&&s.aborted)B(d_,this,I_).call(this,n,a);else{z(Qw,this).add(n),z(Xw,this).set(n,{timelineStart:e,segmentOffset:i});try{"function"==typeof r.loadMediaSegmentsAtOffset?await r.loadMediaSegmentsAtOffset(i,{signal:s}):"function"==typeof r.load&&await r.load({loadingMode:"full",signal:s})}catch(t){if(gb(t,s))return;const e=`[#loadP0Work] SegmentLoadCoordinator failed to load ${$w} work for node ${n}: ${(null==t?void 0:t.message)||t}`;this.log.warn(e)}finally{this.log.debug(`[#loadP0Work] Finished ${$w} work for node [${n}]`),z(Xw,this).delete(n),z(Qw,this).delete(n),B(d_,this,I_).call(this,n,a)}}}function G_(){const t=new Set([...z(Kw,this).keys(),...z(Qw,this)]),e=B(d_,this,H_).call(this),n=Array.isArray(null==e?void 0:e.orderedIds)?e.orderedIds:null,i=Array.isArray(null==e?void 0:e.reachableIds)&&e.reachableIds.length?new Set(e.reachableIds):null,r=t=>!("function"==typeof t.hasExceededManifestLoadAttempts&&t.hasExceededManifestLoadAttempts()||t.isLoaded||"ready"===t.state&&B(d_,this,Q_).call(this,t));if(i){const e=Hx({prioritizer:z(Gw,this),repository:z(Vw,this),startNodeId:z(t_,this),prioritizedIds:n,pendingIds:t,allowedIds:i,filter:r});if(e.length)return e}return Hx({prioritizer:z(Gw,this),repository:z(Vw,this),startNodeId:z(t_,this),prioritizedIds:n,pendingIds:t,filter:r})}function H_(){return z(Gw,this)&&z(t_,this)?"function"==typeof z(Gw,this).getPrioritizationSnapshot?z(Gw,this).getPrioritizationSnapshot(z(t_,this)):{orderedIds:"function"==typeof z(Gw,this).sortNodes?z(Gw,this).sortNodes(z(t_,this)):[],reachableIds:"function"==typeof z(Gw,this).getReachableNodeIds?z(Gw,this).getReachableNodeIds(z(t_,this)):[]}:null}function K_(){B(d_,this,p_).call(this)||(z(Zw,this)||z(Kw,this).size)&&(j(Yw,this,B(d_,this,G_).call(this)),z(Zw,this)&&!z(l_,this)&&B(d_,this,D_).call(this))}async function X_(t,e){if(this.log.debug(`[#loadNode] Loading node [${t}] in '${e}' mode`),!t)return;const n=z(Vw,this)&&"function"==typeof z(Vw,this).get?z(Vw,this).get(t):void 0;if(!n||"function"!=typeof n.load)return;if("function"==typeof n.hasExceededManifestLoadAttempts&&n.hasExceededManifestLoadAttempts())return;if(n.isLoaded)return void this.log.debug(`[#loadNode] Skipping load for ${t}: already loaded`);const{signal:i,controller:r}=B(d_,this,w_).call(this,t,{allowSeekKeep:!1});if(i&&i.aborted)B(d_,this,I_).call(this,t,r);else try{if("ready"!==n.state&&await n.resolve({signal:i}),"ready"!==n.state)return void this.log.debug(`[#loadNode] Skipping load for ${t}: not ready`);if("partial"===e&&B(d_,this,Q_).call(this,n))return void this.log.debug(`[#loadNode] Skipping load for ${t}: partial already loaded`);if(!B(d_,this,Y_).call(this,n))return void this.log.debug(`[#loadNode] Skipping load for ${t}: no loadable tracks`);z(Qw,this).add(t),await n.load({loadingMode:e,signal:i})}catch(e){if(gb(e,i))return;this.log.warn(`[#loadNode] SegmentLoadCoordinator failed to load node ${t}: ${(null==e?void 0:e.message)||e}`)}finally{this.log.debug(`[#loadNode] Finished loading node [${t}]`),z(Qw,this).delete(t),B(d_,this,I_).call(this,t,r)}}function Y_(t){return(Array.isArray(t.tracks)?t.tracks:[]).some((t=>{var e;return null==t||null===(e=t.segments)||void 0===e?void 0:e.length}))}function Q_(t){const e=(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).filter((t=>Array.isArray(null==t?void 0:t.segments)&&t.segments.length));return!e.length||e.every((t=>{const e=Array.isArray(null==t?void 0:t.segments)?t.segments:[];if(!e.length)return!0;const n=e.find((t=>null==t?void 0:t.isInit)),i=e.find((t=>t&&!t.isInit));return!(n&&!B(d_,this,g_).call(this,n)||i&&!B(d_,this,g_).call(this,i))}))}class J_ extends Ud{constructor(...t){super(...t),this.track=void 0,this.lastSegment=void 0}get name(){return"BaseDecoder"}configure(t){this.track=t}decode(t){this.lastSegment=t}decodeChunk(t,e){}onDispose(){this.track=void 0,this.lastSegment=void 0}}function Z_(t){if(!t)throw new Error("Assertion failed.")}const tI=t=>t&&t[t.length-1],eI=t=>{let e=0;for(;0===t.readBits(1)&&e<32;)e++;if(e>=32)throw new Error("Invalid exponential-Golomb code.");return(1<<e)-1+t.readBits(e)},nI=t=>t.constructor===Uint8Array?t:ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(t),iI=t=>t.constructor===DataView?t:ArrayBuffer.isView(t)?new DataView(t.buffer,t.byteOffset,t.byteLength):new DataView(t),rI=new TextDecoder,oI=t=>Object.fromEntries(Object.entries(t).map((([t,e])=>[e,t]))),sI={bt709:1,bt470bg:5,smpte170m:6,bt2020:9,smpte432:12},aI=oI(sI),lI={bt709:1,smpte170m:6,linear:8,"iec61966-2-1":13,pq:16,hlg:18},cI=oI(lI),uI={rgb:0,bt709:1,bt470bg:5,smpte170m:6,"bt2020-ncl":9},dI=oI(uI),hI=t=>[...t].map((t=>t.toString(16).padStart(2,"0"))).join(""),fI=t=>(t=(t=(t=(t=(t=t>>1&1431655765|(1431655765&t)<<1)>>2&858993459|(858993459&t)<<2)>>4&252645135|(252645135&t)<<4)>>8&16711935|(16711935&t)<<8)>>16&65535|(65535&t)<<16)>>>0,pI=(t,e,n)=>{let i=0,r=t.length-1,o=-1;for(;i<=r;){const s=i+r>>1,a=n(t[s]);a===e?(o=s,r=s-1):a<e?i=s+1:r=s-1}return o},mI=(t,e,n)=>{let i=0,r=t.length-1,o=-1;for(;i<=r;){const s=i+(r-i+1)/2|0;n(t[s])<=e?(o=s,i=s+1):r=s-1}return o},vI=()=>{let t,e;return{promise:new Promise(((n,i)=>{t=n,e=i})),resolve:t,reject:e}},gI=(t,e,n)=>t.getUint8(e)<<16|t.getUint8(e+1)<<8|t.getUint8(e+2),yI=(t,e,n)=>Math.max(e,Math.min(n,t)),bI=/^[a-z]{3}$/,kI=1e6*(1+Number.EPSILON);let xI=null;let wI=null;const _I=()=>{if(null!==wI)return wI;if("undefined"==typeof navigator)return null;const t=/\bChrome\/(\d+)/.exec(navigator.userAgent);return t?wI=Number(t[1]):null},II=t=>"number"==typeof t&&!Number.isNaN(t);class TI{constructor(t,e){if(this.data=t,this.mimeType=e,!(t instanceof Uint8Array))throw new TypeError("data must be a Uint8Array.");if("string"!=typeof e)throw new TypeError("mimeType must be a string.")}}const EI={default:!0,forced:!1,original:!1,commentary:!1,hearingImpaired:!1,visuallyImpaired:!1};class SI{constructor(t){this.bytes=t,this.pos=0}seekToByte(t){this.pos=8*t}readBit(){var t;const e=Math.floor(this.pos/8),n=null!==(t=this.bytes[e])&&void 0!==t?t:0,i=7-(7&this.pos),r=(n&1<<i)>>i;return this.pos++,r}readBits(t){if(1===t)return this.readBit();let e=0;for(let n=0;n<t;n++)e<<=1,e|=this.readBit();return e}writeBits(t,e){const n=this.pos+t;for(let t=this.pos;t<n;t++){const i=Math.floor(t/8);let r=this.bytes[i];const o=7-(7&t);r&=~(1<<o),r|=(e&1<<n-t-1)>>n-t-1<<o,this.bytes[i]=r}this.pos=n}readAlignedByte(){var t;if(this.pos%8!=0)throw new Error("Bitstream is not byte-aligned.");const e=this.pos/8,n=null!==(t=this.bytes[e])&&void 0!==t?t:0;return this.pos+=8,n}skipBits(t){this.pos+=t}getBitsLeft(){return 8*this.bytes.length-this.pos}clone(){const t=new SI(this.bytes);return t.pos=this.pos,t}}const MI=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],AI=[-1,1,2,3,4,5,6,8],NI=t=>{if(!t||t.byteLength<2)throw new TypeError("AAC description must be at least 2 bytes long.");const e=new SI(t);let n=e.readBits(5);31===n&&(n=32+e.readBits(6));const i=e.readBits(4);let r=null;15===i?r=e.readBits(24):i<MI.length&&(r=MI[i]);const o=e.readBits(4);let s=null;return o>=1&&o<=7&&(s=AI[o]),{objectType:n,frequencyIndex:i,sampleRate:r,channelConfiguration:o,numberOfChannels:s}},FI=["pcm-s16","pcm-s16be","pcm-s24","pcm-s24be","pcm-s32","pcm-s32be","pcm-f32","pcm-f32be","pcm-f64","pcm-f64be","pcm-u8","pcm-s8","ulaw","alaw"],CI=[{maxPictureSize:36864,maxBitrate:2e5,level:10},{maxPictureSize:73728,maxBitrate:8e5,level:11},{maxPictureSize:122880,maxBitrate:18e5,level:20},{maxPictureSize:245760,maxBitrate:36e5,level:21},{maxPictureSize:552960,maxBitrate:72e5,level:30},{maxPictureSize:983040,maxBitrate:12e6,level:31},{maxPictureSize:2228224,maxBitrate:18e6,level:40},{maxPictureSize:2228224,maxBitrate:3e7,level:41},{maxPictureSize:8912896,maxBitrate:6e7,level:50},{maxPictureSize:8912896,maxBitrate:12e7,level:51},{maxPictureSize:8912896,maxBitrate:18e7,level:52},{maxPictureSize:35651584,maxBitrate:18e7,level:60},{maxPictureSize:35651584,maxBitrate:24e7,level:61},{maxPictureSize:35651584,maxBitrate:48e7,level:62}],OI=t=>{const{codec:e,codecDescription:n,colorSpace:i,avcCodecInfo:r,hevcCodecInfo:o,vp9CodecInfo:s,av1CodecInfo:a}=t;if("avc"===e){if(Z_(null!==t.avcType),r){const e=new Uint8Array([r.avcProfileIndication,r.profileCompatibility,r.avcLevelIndication]);return`avc${t.avcType}.${hI(e)}`}if(!n||n.byteLength<4)throw new TypeError("AVC decoder description is not provided or is not at least 4 bytes long.");return`avc${t.avcType}.${hI(n.subarray(1,4))}`}if("hevc"===e){let t,e,i,r,s,a;if(o)t=o.generalProfileSpace,e=o.generalProfileIdc,i=fI(o.generalProfileCompatibilityFlags),r=o.generalTierFlag,s=o.generalLevelIdc,a=[...o.generalConstraintIndicatorFlags];else{if(!n||n.byteLength<23)throw new TypeError("HEVC decoder description is not provided or is not at least 23 bytes long.");const o=iI(n),l=o.getUint8(1);t=l>>6&3,e=31&l,i=fI(o.getUint32(2)),r=l>>5&1,s=o.getUint8(12),a=[];for(let t=0;t<6;t++)a.push(o.getUint8(6+t))}let l="hev1.";for(l+=["","A","B","C"][t]+e,l+=".",l+=i.toString(16).toUpperCase(),l+=".",l+=0===r?"L":"H",l+=s;a.length>0&&0===a[a.length-1];)a.pop();return a.length>0&&(l+=".",l+=a.map((t=>t.toString(16).toUpperCase())).join(".")),l}if("vp8"===e)return"vp8";if("vp9"===e){if(!s){const e=t.width*t.height;let n=tI(CI).level;for(const t of CI)if(e<=t.maxPictureSize){n=t.level;break}return`vp09.00.${n.toString().padStart(2,"0")}.08`}let e=`vp09.${s.profile.toString().padStart(2,"0")}.${s.level.toString().padStart(2,"0")}.${s.bitDepth.toString().padStart(2,"0")}.${s.chromaSubsampling.toString().padStart(2,"0")}`;return e+=`.${s.colourPrimaries.toString().padStart(2,"0")}.${s.transferCharacteristics.toString().padStart(2,"0")}.${s.matrixCoefficients.toString().padStart(2,"0")}.${s.videoFullRangeFlag.toString().padStart(2,"0")}`,e.endsWith(".01.01.01.01.00")&&(e=e.slice(0,-15)),e}if("av1"===e){if(!a){const e=t.width*t.height;let n=tI(CI).level;for(const t of CI)if(e<=t.maxPictureSize){n=t.level;break}return`av01.0.${n.toString().padStart(2,"0")}M.08`}const e=a.profile,n=a.level.toString().padStart(2,"0"),r=a.tier?"H":"M",o=a.bitDepth.toString().padStart(2,"0"),s=a.monochrome?"1":"0",l=100*a.chromaSubsamplingX+10*a.chromaSubsamplingY+1*(a.chromaSubsamplingX&&a.chromaSubsamplingY?a.chromaSamplePosition:0),c=null!=i&&i.primaries?sI[i.primaries]:1,u=null!=i&&i.transfer?lI[i.transfer]:1,d=null!=i&&i.matrix?uI[i.matrix]:1,h=null!=i&&i.fullRange?1:0;let f=`av01.${e}.${n}${r}.${o}`;return f+=`.${s}.${l.toString().padStart(3,"0")}`,f+=`.${c.toString().padStart(2,"0")}`,f+=`.${u.toString().padStart(2,"0")}`,f+=`.${d.toString().padStart(2,"0")}`,f+=`.${h}`,f.endsWith(".0.110.01.01.01.0")&&(f=f.slice(0,-17)),f}throw new TypeError(`Unhandled codec '${e}'.`)},PI=t=>{const{codec:e,codecDescription:n,aacCodecInfo:i}=t;if("aac"===e){if(!i)throw new TypeError("AAC codec info must be provided.");if(i.isMpeg2)return"mp4a.67";{let t;return t=null!==i.objectType?i.objectType:NI(n).objectType,`mp4a.40.${t}`}}if("mp3"===e)return"mp3";if("opus"===e)return"opus";if("vorbis"===e)return"vorbis";if("flac"===e)return"flac";if("ac3"===e)return"ac-3";if("eac3"===e)return"ec-3";if(e&&FI.includes(e))return e;throw new TypeError(`Unhandled codec '${e}'.`)},DI=/^pcm-([usf])(\d+)+(be)?$/,RI=[48e3,44100,32e3],BI=[24e3,22050,16e3];var LI,zI;!function(t){t[t.NON_IDR_SLICE=1]="NON_IDR_SLICE",t[t.SLICE_DPA=2]="SLICE_DPA",t[t.SLICE_DPB=3]="SLICE_DPB",t[t.SLICE_DPC=4]="SLICE_DPC",t[t.IDR=5]="IDR",t[t.SEI=6]="SEI",t[t.SPS=7]="SPS",t[t.PPS=8]="PPS",t[t.AUD=9]="AUD",t[t.SPS_EXT=13]="SPS_EXT"}(LI||(LI={})),function(t){t[t.RASL_N=8]="RASL_N",t[t.RASL_R=9]="RASL_R",t[t.BLA_W_LP=16]="BLA_W_LP",t[t.RSV_IRAP_VCL23=23]="RSV_IRAP_VCL23",t[t.VPS_NUT=32]="VPS_NUT",t[t.SPS_NUT=33]="SPS_NUT",t[t.PPS_NUT=34]="PPS_NUT",t[t.AUD_NUT=35]="AUD_NUT",t[t.PREFIX_SEI_NUT=39]="PREFIX_SEI_NUT",t[t.SUFFIX_SEI_NUT=40]="SUFFIX_SEI_NUT"}(zI||(zI={}));const WI=function*(t){let e=0,n=-1;for(;e<t.length-2;){const i=t.indexOf(0,e);if(-1===i||i>=t.length-2)break;e=i;let r=0;e+3<t.length&&0===t[e+1]&&0===t[e+2]&&1===t[e+3]?r=4:0===t[e+1]&&1===t[e+2]&&(r=3),0!==r?(-1!==n&&e>n&&(yield{offset:n,length:e-n}),n=e+r,e=n):e++}-1!==n&&n<t.length&&(yield{offset:n,length:t.length-n})},jI=function*(t,e){let n=0;const i=new DataView(t.buffer,t.byteOffset,t.byteLength);for(;n+e<=t.length;){let t;1===e?t=i.getUint8(n):2===e?t=i.getUint16(n,!1):3===e?t=gI(i,n):(Z_(4===e),t=i.getUint32(n,!1)),n+=e,yield{offset:n,length:t},n+=t}},UI=t=>31&t,$I=t=>{const e=[],n=t.length;for(let i=0;i<n;i++)i+2<n&&0===t[i]&&0===t[i+1]&&3===t[i+2]?(e.push(0,0),i+=2):e.push(t[i]);return new Uint8Array(e)},qI=t=>t>>1&63,VI=function*(t){const e=new SI(t),n=()=>{let t=0;for(let n=0;n<8;n++){const i=e.readAlignedByte();if(t|=(127&i)<<7*n,!(128&i))break;if(7===n&&128&i)return null}return t>=2**32-1?null:t};for(;e.getBitsLeft()>=8;){e.skipBits(1);const i=e.readBits(4),r=e.readBits(1),o=e.readBits(1);let s;if(e.skipBits(1),r&&e.skipBits(8),o){const t=n();if(null===t)return;s=t}else s=Math.floor(e.getBitsLeft()/8);Z_(e.pos%8==0),yield{type:i,data:t.subarray(e.pos/8,e.pos/8+s)},e.skipBits(8*s)}};var GI;!function(t){t[t.STREAMINFO=0]="STREAMINFO",t[t.VORBIS_COMMENT=4]="VORBIS_COMMENT",t[t.PICTURE=6]="PICTURE"}(GI||(GI={}));const HI=[2,1,2,3,3,4,4,5];class KI{constructor(t){this.input=t}}const XI=[],YI=[],QI=new Uint8Array(0);class JI{constructor(t,e,n,i,r=-1,o,s){if(this.data=t,this.type=e,this.timestamp=n,this.duration=i,this.sequenceNumber=r,t===QI&&void 0===o)throw new Error("Internal error: byteLength must be explicitly provided when constructing metadata-only packets.");if(void 0===o&&(o=t.byteLength),!(t instanceof Uint8Array))throw new TypeError("data must be a Uint8Array.");if("key"!==e&&"delta"!==e)throw new TypeError('type must be either "key" or "delta".');if(!Number.isFinite(n))throw new TypeError("timestamp must be a number.");if(!Number.isFinite(i)||i<0)throw new TypeError("duration must be a non-negative number.");if(!Number.isFinite(r))throw new TypeError("sequenceNumber must be a number.");if(!Number.isInteger(o)||o<0)throw new TypeError("byteLength must be a non-negative integer.");if(void 0!==s&&("object"!=typeof s||!s))throw new TypeError("sideData, when provided, must be an object.");if(void 0!==(null==s?void 0:s.alpha)&&!(s.alpha instanceof Uint8Array))throw new TypeError("sideData.alpha, when provided, must be a Uint8Array.");if(void 0!==(null==s?void 0:s.alphaByteLength)&&(!Number.isInteger(s.alphaByteLength)||s.alphaByteLength<0))throw new TypeError("sideData.alphaByteLength, when provided, must be a non-negative integer.");this.byteLength=o,this.sideData=null!=s?s:{},this.sideData.alpha&&void 0===this.sideData.alphaByteLength&&(this.sideData.alphaByteLength=this.sideData.alpha.byteLength)}get isMetadataOnly(){return this.data===QI}get microsecondTimestamp(){return Math.trunc(kI*this.timestamp)}get microsecondDuration(){return Math.trunc(kI*this.duration)}toEncodedVideoChunk(){if(this.isMetadataOnly)throw new TypeError("Metadata-only packets cannot be converted to a video chunk.");if("undefined"==typeof EncodedVideoChunk)throw new Error("Your browser does not support EncodedVideoChunk.");return new EncodedVideoChunk({data:this.data,type:this.type,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}alphaToEncodedVideoChunk(t=this.type){if(!this.sideData.alpha)throw new TypeError("This packet does not contain alpha side data.");if(this.isMetadataOnly)throw new TypeError("Metadata-only packets cannot be converted to a video chunk.");if("undefined"==typeof EncodedVideoChunk)throw new Error("Your browser does not support EncodedVideoChunk.");return new EncodedVideoChunk({data:this.sideData.alpha,type:t,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}toEncodedAudioChunk(){if(this.isMetadataOnly)throw new TypeError("Metadata-only packets cannot be converted to an audio chunk.");if("undefined"==typeof EncodedAudioChunk)throw new Error("Your browser does not support EncodedAudioChunk.");return new EncodedAudioChunk({data:this.data,type:this.type,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}static fromEncodedChunk(t,e){var n;if(!(t instanceof EncodedVideoChunk||t instanceof EncodedAudioChunk))throw new TypeError("chunk must be an EncodedVideoChunk or EncodedAudioChunk.");const i=new Uint8Array(t.byteLength);return t.copyTo(i),new JI(i,t.type,t.timestamp/1e6,(null!==(n=t.duration)&&void 0!==n?n:0)/1e6,void 0,void 0,e)}clone(t){var e,n,i,r,o,s;if(void 0!==t&&("object"!=typeof t||null===t))throw new TypeError("options, when provided, must be an object.");if(void 0!==(null==t?void 0:t.data)&&!(t.data instanceof Uint8Array))throw new TypeError("options.data, when provided, must be a Uint8Array.");if(void 0!==(null==t?void 0:t.type)&&"key"!==t.type&&"delta"!==t.type)throw new TypeError('options.type, when provided, must be either "key" or "delta".');if(void 0!==(null==t?void 0:t.timestamp)&&!Number.isFinite(t.timestamp))throw new TypeError("options.timestamp, when provided, must be a number.");if(void 0!==(null==t?void 0:t.duration)&&!Number.isFinite(t.duration))throw new TypeError("options.duration, when provided, must be a number.");if(void 0!==(null==t?void 0:t.sequenceNumber)&&!Number.isFinite(t.sequenceNumber))throw new TypeError("options.sequenceNumber, when provided, must be a number.");if(void 0!==(null==t?void 0:t.sideData)&&("object"!=typeof t.sideData||null===t.sideData))throw new TypeError("options.sideData, when provided, must be an object.");return new JI(null!==(e=null==t?void 0:t.data)&&void 0!==e?e:this.data,null!==(n=null==t?void 0:t.type)&&void 0!==n?n:this.type,null!==(i=null==t?void 0:t.timestamp)&&void 0!==i?i:this.timestamp,null!==(r=null==t?void 0:t.duration)&&void 0!==r?r:this.duration,null!==(o=null==t?void 0:t.sequenceNumber)&&void 0!==o?o:this.sequenceNumber,this.byteLength,null!==(s=null==t?void 0:t.sideData)&&void 0!==s?s:this.sideData)}}const ZI=t=>{if(!t||"object"!=typeof t)throw new TypeError("options must be an object.");if(void 0!==t.metadataOnly&&"boolean"!=typeof t.metadataOnly)throw new TypeError("options.metadataOnly, when defined, must be a boolean.");if(void 0!==t.verifyKeyPackets&&"boolean"!=typeof t.verifyKeyPackets)throw new TypeError("options.verifyKeyPackets, when defined, must be a boolean.");if(t.verifyKeyPackets&&t.metadataOnly)throw new TypeError("options.verifyKeyPackets and options.metadataOnly cannot be enabled together.")},tT=t=>{if(!II(t))throw new TypeError("timestamp must be a number.")},eT=(t,e,n)=>n.verifyKeyPackets?e.then((async e=>{if(!e||"delta"===e.type)return e;const n=await t.determinePacketType(e);return n&&(e.type=n),e})):e;class nT{constructor(t){if(!(t instanceof iT))throw new TypeError("track must be an InputTrack.");this._track=t}getFirstPacket(t={}){if(ZI(t),this._track.input._disposed)throw new AT;return eT(this._track,this._track._backing.getFirstPacket(t),t)}async getFirstKeyPacket(t={}){ZI(t);const e=await this.getFirstPacket(t);return e?"key"===e.type?e:this.getNextKeyPacket(e,t):null}getPacket(t,e={}){if(tT(t),ZI(e),this._track.input._disposed)throw new AT;return eT(this._track,this._track._backing.getPacket(t,e),e)}getNextPacket(t,e={}){if(!(t instanceof JI))throw new TypeError("packet must be an EncodedPacket.");if(ZI(e),this._track.input._disposed)throw new AT;return eT(this._track,this._track._backing.getNextPacket(t,e),e)}async getKeyPacket(t,e={}){if(tT(t),ZI(e),this._track.input._disposed)throw new AT;if(!e.verifyKeyPackets)return this._track._backing.getKeyPacket(t,e);const n=await this._track._backing.getKeyPacket(t,e);return n?(Z_("key"===n.type),"delta"===await this._track.determinePacketType(n)?this.getKeyPacket(n.timestamp-1/this._track.timeResolution,e):n):n}async getNextKeyPacket(t,e={}){if(!(t instanceof JI))throw new TypeError("packet must be an EncodedPacket.");if(ZI(e),this._track.input._disposed)throw new AT;if(!e.verifyKeyPackets)return this._track._backing.getNextKeyPacket(t,e);const n=await this._track._backing.getNextKeyPacket(t,e);return n?(Z_("key"===n.type),"delta"===await this._track.determinePacketType(n)?this.getNextKeyPacket(n,e):n):n}packets(t,e,n={}){if(void 0!==t&&!(t instanceof JI))throw new TypeError("startPacket must be an EncodedPacket.");if(void 0!==t&&t.isMetadataOnly&&(null==n||!n.metadataOnly))throw new TypeError("startPacket can only be metadata-only if options.metadataOnly is enabled.");if(void 0!==e&&!(e instanceof JI))throw new TypeError("endPacket must be an EncodedPacket.");if(ZI(n),this._track.input._disposed)throw new AT;const i=[];let{promise:r,resolve:o}=vI(),{promise:s,resolve:a}=vI(),l=!1,c=!1,u=null;const d=[];(async()=>{let u=null!=t?t:await this.getFirstPacket(n);for(;u&&!c&&!this._track.input._disposed&&!(e&&u.sequenceNumber>=(null==e?void 0:e.sequenceNumber));)i.length>Math.max(2,d.length)?(({promise:s,resolve:a}=vI()),await s):(i.push(u),o(),({promise:r,resolve:o}=vI()),u=await this.getNextPacket(u,n));l=!0,o()})().catch((t=>{u||(u=t,o())}));const h=this._track;return{async next(){for(;;){if(h.input._disposed)throw new AT;if(c)return{value:void 0,done:!0};if(u)throw u;if(i.length>0){const t=i.shift(),e=performance.now();for(d.push(e);d.length>0&&e-d[0]>=1e3;)d.shift();return a(),{value:t,done:!1}}if(l)return{value:void 0,done:!0};await r}},return:async()=>(c=!0,a(),o(),{value:void 0,done:!0}),async throw(t){throw t},[Symbol.asyncIterator](){return this}}}}class iT{constructor(t,e){this.input=t,this._backing=e}isVideoTrack(){return this instanceof rT}isAudioTrack(){return this instanceof oT}get id(){return this._backing.getId()}get number(){return this._backing.getNumber()}get internalCodecId(){return this._backing.getInternalCodecId()}get languageCode(){return this._backing.getLanguageCode()}get name(){return this._backing.getName()}get timeResolution(){return this._backing.getTimeResolution()}get disposition(){return this._backing.getDisposition()}getFirstTimestamp(){return this._backing.getFirstTimestamp()}computeDuration(){return this._backing.computeDuration()}async computePacketStats(t=1/0){const e=new nT(this);let n=1/0,i=-1/0,r=0,o=0;for await(const s of e.packets(void 0,void 0,{metadataOnly:!0})){if(r>=t&&s.timestamp>=i)break;n=Math.min(n,s.timestamp),i=Math.max(i,s.timestamp+s.duration),r++,o+=s.byteLength}return{packetCount:r,averagePacketRate:r?Number((r/(i-n)).toPrecision(16)):0,averageBitrate:r?Number((8*o/(i-n)).toPrecision(16)):0}}}class rT extends iT{constructor(t,e){super(t,e),this._backing=e,this.pixelAspectRatio=(t=>{Z_(0!==t.den);let e=Math.abs(t.num),n=Math.abs(t.den);for(;0!==n;){const t=e%n;e=n,n=t}const i=e||1;return{num:t.num/i,den:t.den/i}})({num:this._backing.getSquarePixelWidth()*this._backing.getCodedHeight(),den:this._backing.getSquarePixelHeight()*this._backing.getCodedWidth()})}get type(){return"video"}get codec(){return this._backing.getCodec()}get codedWidth(){return this._backing.getCodedWidth()}get codedHeight(){return this._backing.getCodedHeight()}get rotation(){return this._backing.getRotation()}get squarePixelWidth(){return this._backing.getSquarePixelWidth()}get squarePixelHeight(){return this._backing.getSquarePixelHeight()}get displayWidth(){return this._backing.getRotation()%180==0?this.squarePixelWidth:this.squarePixelHeight}get displayHeight(){return this._backing.getRotation()%180==0?this.squarePixelHeight:this.squarePixelWidth}getColorSpace(){return this._backing.getColorSpace()}async hasHighDynamicRange(){const t=await this._backing.getColorSpace();return"bt2020"===t.primaries||"smpte432"===t.primaries||"pg"===t.transfer||"hlg"===t.transfer||"bt2020-ncl"===t.matrix}canBeTransparent(){return this._backing.canBeTransparent()}getDecoderConfig(){return this._backing.getDecoderConfig()}async getCodecParameterString(){var t;const e=await this._backing.getDecoderConfig();return null!==(t=null==e?void 0:e.codec)&&void 0!==t?t:null}async canDecode(){try{const t=await this._backing.getDecoderConfig();if(!t)return!1;const e=this._backing.getCodec();return Z_(null!==e),XI.some((n=>n.supports(e,t)))?!0:"undefined"!=typeof VideoDecoder&&!0===(await VideoDecoder.isConfigSupported(t)).supported}catch(t){return console.error("Error during decodability check:",t),!1}}async determinePacketType(t){if(!(t instanceof JI))throw new TypeError("packet must be an EncodedPacket.");if(t.isMetadataOnly)throw new TypeError("packet must not be metadata-only to determine its type.");if(null===this.codec)return null;const e=await this.getDecoderConfig();return Z_(e),((t,e,n)=>{switch(t){case"avc":for(const t of((t,e)=>{if(e.description){const n=3&nI(e.description)[4];return jI(t,n+1)}return WI(t)})(n,e)){const e=n[t.offset],r=UI(e);if(r>=LI.NON_IDR_SLICE&&r<=LI.SLICE_DPC)return"delta";if(r===LI.IDR)return"key";if(r===LI.SEI&&(i=void 0,!(null!==xI?xI:xI=!("undefined"==typeof navigator||(null===(i=navigator.vendor)||void 0===i||!i.includes("Google Inc"))&&!/Chrome/.test(navigator.userAgent)))||_I()>=144)){const e=n.subarray(t.offset,t.offset+t.length),i=$I(e);let r=1;do{let t=0;for(;;){const e=i[r++];if(void 0===e)break;if(t+=e,e<255)break}let e=0;for(;;){const t=i[r++];if(void 0===t)break;if(e+=t,t<255)break}if(6===t){const t=new SI(i);t.pos=8*r;const e=eI(t),n=t.readBits(1);if(0===e&&1===n)return"key"}r+=e}while(r<i.length-1)}}return"delta";case"hevc":for(const t of((t,e)=>{if(e.description){const n=3&nI(e.description)[21];return jI(t,n+1)}return WI(t)})(n,e)){const e=qI(n[t.offset]);if(e<zI.BLA_W_LP)return"delta";if(e<=zI.RSV_IRAP_VCL23)return"key"}return"delta";case"vp8":return 1&n[0]?"delta":"key";case"vp9":{const t=new SI(n);if(2!==t.readBits(2))return null;const e=t.readBits(1);return 3===(t.readBits(1)<<1)+e&&t.skipBits(1),t.readBits(1)?null:0===t.readBits(1)?"key":"delta"}case"av1":{let t=!1;for(const{type:e,data:i}of VI(n))if(1===e){const e=new SI(i);e.skipBits(4),t=!!e.readBits(1)}else if(3===e||6===e||7===e){if(t)return"key";const e=new SI(i);return e.readBits(1)?null:0===e.readBits(2)?"key":"delta"}return null}default:(t=>{throw new Error(`Unexpected value: ${t}`)})(t),Z_(!1)}var i})(this.codec,e,t.data)}}class oT extends iT{constructor(t,e){super(t,e),this._backing=e}get type(){return"audio"}get codec(){return this._backing.getCodec()}get numberOfChannels(){return this._backing.getNumberOfChannels()}get sampleRate(){return this._backing.getSampleRate()}getDecoderConfig(){return this._backing.getDecoderConfig()}async getCodecParameterString(){var t;const e=await this._backing.getDecoderConfig();return null!==(t=null==e?void 0:e.codec)&&void 0!==t?t:null}async canDecode(){try{const t=await this._backing.getDecoderConfig();if(!t)return!1;const e=this._backing.getCodec();return Z_(null!==e),YI.some((n=>n.supports(e,t)))?!0:!!t.codec.startsWith("pcm-")||"undefined"!=typeof AudioDecoder&&!0===(await AudioDecoder.isConfigSupported(t)).supported}catch(t){return console.error("Error during decodability check:",t),!1}}async determinePacketType(t){if(!(t instanceof JI))throw new TypeError("packet must be an EncodedPacket.");return null===this.codec?null:"key"}}const sT=t=>{let e=LT(t);const n=$T(t,4);let i=8;1===e&&(e=WT(t),i=16);const r=e-i;return r<0?null:{name:n,totalSize:e,headerSize:i,contentSize:r}},aT=t=>zT(t)/65536,lT=t=>zT(t)/1073741824,cT=t=>{let e=0;for(let n=0;n<4;n++){e<<=7;const n=PT(t);if(e|=127&n,!(128&n))break}return e},uT=t=>{let e=DT(t);return t.skip(2),e=Math.min(e,t.remainingLength),rI.decode(OT(t,e))},dT=t=>{const e=sT(t);if(!e||"data"!==e.name)return null;if(t.remainingLength<8)return null;const n=LT(t);t.skip(4);const i=OT(t,e.contentSize-8);switch(n){case 1:return rI.decode(i);case 2:return new TextDecoder("utf-16be").decode(i);case 13:return new TI(i,"image/jpeg");case 14:return new TI(i,"image/png");case 27:return new TI(i,"image/bmp");default:return i}};class hT extends KI{constructor(t){super(t),this.moovSlice=null,this.currentTrack=null,this.tracks=[],this.metadataPromise=null,this.movieTimescale=-1,this.movieDurationInTimescale=-1,this.isQuickTime=!1,this.metadataTags={},this.currentMetadataKeys=null,this.isFragmented=!1,this.fragmentTrackDefaults=[],this.currentFragment=null,this.lastReadFragment=null,this.reader=t._reader}async computeDuration(){const t=await this.getTracks(),e=await Promise.all(t.map((t=>t.computeDuration())));return Math.max(0,...e)}async getTracks(){return await this.readMetadata(),this.tracks.map((t=>t.inputTrack))}async getMimeType(){await this.readMetadata();const t=await Promise.all(this.tracks.map((t=>t.inputTrack.getCodecParameterString())));return(t=>{let e=(t.hasVideo?"video/":t.hasAudio?"audio/":"application/")+(t.isQuickTime?"quicktime":"mp4");return t.codecStrings.length>0&&(e+=`; codecs="${[...new Set(t.codecStrings)].join(", ")}"`),e})({isQuickTime:this.isQuickTime,hasVideo:this.tracks.some((t=>{var e;return"video"===(null===(e=t.info)||void 0===e?void 0:e.type)})),hasAudio:this.tracks.some((t=>{var e;return"audio"===(null===(e=t.info)||void 0===e?void 0:e.type)})),codecStrings:t.filter(Boolean)})}async getMetadataTags(){return await this.readMetadata(),this.metadataTags}readMetadata(){var t;return null!==(t=this.metadataPromise)&&void 0!==t?t:this.metadataPromise=(async()=>{let t=0;for(;;){let e=this.reader.requestSliceRange(t,8,16);if(e instanceof Promise&&(e=await e),!e)break;const n=t,i=sT(e);if(!i)break;if("ftyp"===i.name){const t=$T(e,4);this.isQuickTime="qt  "===t}else if("moov"===i.name){let t=this.reader.requestSlice(e.filePos,i.contentSize);if(t instanceof Promise&&(t=await t),!t)break;this.moovSlice=t,this.readContiguousBoxes(this.moovSlice),this.tracks.sort(((t,e)=>Number(e.disposition.default)-Number(t.disposition.default)));for(const t of this.tracks){const e=t.editListPreviousSegmentDurations/this.movieTimescale;t.editListOffset-=Math.round(e*t.timescale)}break}t=n+i.totalSize}if(this.isFragmented&&null!==this.reader.fileSize){let t=this.reader.requestSlice(this.reader.fileSize-4,4);t instanceof Promise&&(t=await t),Z_(t);const e=LT(t),n=this.reader.fileSize-e;if(n>=0&&n<=this.reader.fileSize-16){let t=this.reader.requestSliceRange(n,8,16);if(t instanceof Promise&&(t=await t),t){const e=sT(t);if(e&&"mfra"===e.name){let n=this.reader.requestSlice(t.filePos,e.contentSize);n instanceof Promise&&(n=await n),n&&this.readContiguousBoxes(n)}}}}})()}getSampleTableForTrack(t){var e;if(t.sampleTable)return t.sampleTable;const n={sampleTimingEntries:[],sampleCompositionTimeOffsets:[],sampleSizes:[],keySampleIndices:null,chunkOffsets:[],sampleToChunk:[],presentationTimestamps:null,presentationTimestampIndexMap:null};t.sampleTable=n,Z_(this.moovSlice);const i=this.moovSlice.slice(t.sampleTableByteOffset);if(this.currentTrack=t,this.traverseBox(i),this.currentTrack=null,"audio"===(null===(e=t.info)||void 0===e?void 0:e.type)&&t.info.codec&&FI.includes(t.info.codec)&&0===n.sampleCompositionTimeOffsets.length){var r;Z_("audio"===(null===(r=t.info)||void 0===r?void 0:r.type));const e=(t=>{if(Z_(FI.includes(t)),"ulaw"===t)return{dataType:"ulaw",sampleSize:1,littleEndian:!0,silentValue:255};if("alaw"===t)return{dataType:"alaw",sampleSize:1,littleEndian:!0,silentValue:213};const e=DI.exec(t);let n;return Z_(e),n="u"===e[1]?"unsigned":"s"===e[1]?"signed":"float",{dataType:n,sampleSize:Number(e[2])/8,littleEndian:"be"!==e[3],silentValue:"pcm-u8"===t?128:0}})(t.info.codec),i=[],o=[];for(let r=0;r<n.sampleToChunk.length;r++){const s=n.sampleToChunk[r],a=n.sampleToChunk[r+1],l=(a?a.startChunkIndex:n.chunkOffsets.length)-s.startChunkIndex;for(let r=0;r<l;r++){const a=s.startSampleIndex+r*s.samplesPerChunk,l=a+s.samplesPerChunk,c=mI(n.sampleTimingEntries,a,(t=>t.startIndex)),u=n.sampleTimingEntries[c],d=mI(n.sampleTimingEntries,l,(t=>t.startIndex)),h=n.sampleTimingEntries[d],f=u.startDecodeTimestamp+(a-u.startIndex)*u.delta,p=h.startDecodeTimestamp+(l-h.startIndex)*h.delta-f,m=tI(i);m&&m.delta===p?m.count++:i.push({startIndex:s.startChunkIndex+r,startDecodeTimestamp:f,count:1,delta:p});const v=s.samplesPerChunk*e.sampleSize*t.info.numberOfChannels;o.push(v)}s.startSampleIndex=s.startChunkIndex,s.samplesPerChunk=1}n.sampleTimingEntries=i,n.sampleSizes=o}if(n.sampleCompositionTimeOffsets.length>0){n.presentationTimestamps=[];for(const t of n.sampleTimingEntries)for(let e=0;e<t.count;e++)n.presentationTimestamps.push({presentationTimestamp:t.startDecodeTimestamp+e*t.delta,sampleIndex:t.startIndex+e});for(const t of n.sampleCompositionTimeOffsets)for(let e=0;e<t.count;e++){const i=t.startIndex+e,r=n.presentationTimestamps[i];r&&(r.presentationTimestamp+=t.offset)}n.presentationTimestamps.sort(((t,e)=>t.presentationTimestamp-e.presentationTimestamp)),n.presentationTimestampIndexMap=Array(n.presentationTimestamps.length).fill(-1);for(let t=0;t<n.presentationTimestamps.length;t++)n.presentationTimestampIndexMap[n.presentationTimestamps[t].sampleIndex]=t}return n}async readFragment(t){var e;if((null===(e=this.lastReadFragment)||void 0===e?void 0:e.moofOffset)===t)return this.lastReadFragment;let n=this.reader.requestSliceRange(t,8,16);n instanceof Promise&&(n=await n),Z_(n);const i=sT(n);Z_("moof"===(null==i?void 0:i.name));let r=this.reader.requestSlice(t,i.totalSize);r instanceof Promise&&(r=await r),Z_(r),this.traverseBox(r);const o=this.lastReadFragment;Z_(o&&o.moofOffset===t);for(const[,t]of o.trackData){const e=t.track,{fragmentPositionCache:n}=e;if(!t.startTimestampIsFinal){const i=e.fragmentLookupTable.find((t=>t.moofOffset===o.moofOffset));if(i)kT(t,i.timestamp);else{const e=mI(n,o.moofOffset-1,(t=>t.moofOffset));if(-1!==e){const i=n[e];kT(t,i.endTimestamp)}}t.startTimestampIsFinal=!0}const i=mI(n,t.startTimestamp,(t=>t.startTimestamp));-1!==i&&n[i].moofOffset===o.moofOffset||n.splice(i+1,0,{moofOffset:o.moofOffset,startTimestamp:t.startTimestamp,endTimestamp:t.endTimestamp})}return o}readContiguousBoxes(t){const e=t.filePos;for(;t.filePos-e<=t.length-8&&this.traverseBox(t););}*iterateContiguousBoxes(t){const e=t.filePos;for(;t.filePos-e<=t.length-8;){const e=t.filePos,n=sT(t);if(!n)break;yield{boxInfo:n,slice:t},t.filePos=e+n.totalSize}}traverseBox(t){var e,n,i,r,o,s,a,l,c,u,d,h,f,p,m,v,g,y,b,k,x,w,_,I,T,E,S,M,A,N,F,C,O,P,D,R;const B=t.filePos,L=sT(t);if(!L)return!1;const z=t.filePos,W=B+L.totalSize;switch(L.name){case"mdia":case"minf":case"dinf":case"mfra":case"edts":case"wave":this.readContiguousBoxes(t.slice(z,L.contentSize));break;case"mvhd":{const e=PT(t);t.skip(3),1===e?(t.skip(16),this.movieTimescale=LT(t),this.movieDurationInTimescale=WT(t)):(t.skip(8),this.movieTimescale=LT(t),this.movieDurationInTimescale=LT(t))}break;case"trak":{const e={id:-1,demuxer:this,inputTrack:null,disposition:{...EI},info:null,timescale:-1,durationInMovieTimescale:-1,durationInMediaTimescale:-1,rotation:0,internalCodecId:null,name:null,languageCode:"und",sampleTableByteOffset:-1,sampleTable:null,fragmentLookupTable:[],currentFragmentState:null,fragmentPositionCache:[],editListPreviousSegmentDurations:0,editListOffset:0};if(this.currentTrack=e,this.readContiguousBoxes(t.slice(z,L.contentSize)),-1!==e.id&&-1!==e.timescale&&null!==e.info)if("video"===e.info.type&&-1!==e.info.width){const t=e;e.inputTrack=new rT(this.input,new pT(t)),this.tracks.push(e)}else if("audio"===e.info.type&&-1!==e.info.numberOfChannels){const t=e;e.inputTrack=new oT(this.input,new mT(t)),this.tracks.push(e)}this.currentTrack=null}break;case"tkhd":{const e=this.currentTrack;if(!e)break;const n=PT(t),i=!!(1&RT(t));if(e.disposition.default=i,0===n)t.skip(8),e.id=LT(t),t.skip(4),e.durationInMovieTimescale=LT(t);else{if(1!==n)throw new Error(`Incorrect track header version ${n}.`);t.skip(16),e.id=LT(t),t.skip(4),e.durationInMovieTimescale=WT(t)}t.skip(16);const r=[aT(t),aT(t),lT(t),aT(t),aT(t),lT(t),aT(t),aT(t),lT(t)],o=(t=>{const e=(t%360+360)%360;if(0===e||90===e||180===e||270===e)return e;throw new Error(`Invalid rotation ${t}.`)})((Ct=xT(r),90*Math.round(Ct/90)));Z_(0===o||90===o||180===o||270===o),e.rotation=o}break;case"elst":{const e=this.currentTrack;if(!e)break;const n=PT(t);t.skip(3);let i=!1,r=0;const o=LT(t);for(let s=0;s<o;s++){const o=1===n?WT(t):LT(t),s=1===n?jT(t):zT(t),a=aT(t);if(0!==o){if(i){console.warn("Unsupported edit list: multiple edits are not currently supported. Only using first edit.");break}if(-1!==s){if(1!==a){console.warn("Unsupported edit list entry: media rate must be 1.");break}e.editListPreviousSegmentDurations=r,e.editListOffset=s,i=!0}else r+=o}}}break;case"mdhd":{const e=this.currentTrack;if(!e)break;const n=PT(t);t.skip(3),0===n?(t.skip(8),e.timescale=LT(t),e.durationInMediaTimescale=LT(t)):1===n&&(t.skip(16),e.timescale=LT(t),e.durationInMediaTimescale=WT(t));let i=DT(t);if(i>0){e.languageCode="";for(let t=0;t<3;t++)e.languageCode=String.fromCharCode(96+(31&i))+e.languageCode,i>>=5;Ft=e.languageCode,bI.test(Ft)||(e.languageCode="und")}}break;case"hdlr":{const e=this.currentTrack;if(!e)break;t.skip(8);const n=$T(t,4);"vide"===n?e.info={type:"video",width:-1,height:-1,squarePixelWidth:-1,squarePixelHeight:-1,codec:null,codecDescription:null,colorSpace:null,avcType:null,avcCodecInfo:null,hevcCodecInfo:null,vp9CodecInfo:null,av1CodecInfo:null}:"soun"===n&&(e.info={type:"audio",numberOfChannels:-1,sampleRate:-1,codec:null,codecDescription:null,aacCodecInfo:null})}break;case"stbl":{const e=this.currentTrack;if(!e)break;e.sampleTableByteOffset=B,this.readContiguousBoxes(t.slice(z,L.contentSize))}break;case"stsd":{const e=this.currentTrack;if(!e)break;if(null===e.info||e.sampleTable)break;const n=PT(t);t.skip(3);const i=LT(t);for(let r=0;r<i;r++){const i=t.filePos,r=sT(t);if(!r)break;e.internalCodecId=r.name;const o=r.name.toLowerCase();if("video"===e.info.type)"avc1"===o||"avc3"===o?(e.info.codec="avc",e.info.avcType="avc1"===o?1:3):"hvc1"===o||"hev1"===o?e.info.codec="hevc":"vp08"===o?e.info.codec="vp8":"vp09"===o?e.info.codec="vp9":"av01"===o?e.info.codec="av1":console.warn(`Unsupported video codec (sample entry type '${r.name}').`),t.skip(24),e.info.width=DT(t),e.info.height=DT(t),e.info.squarePixelWidth=e.info.width,e.info.squarePixelHeight=e.info.height,t.skip(50),this.readContiguousBoxes(t.slice(t.filePos,i+r.totalSize-t.filePos));else{"mp4a"===o||("opus"===o?e.info.codec="opus":"flac"===o?e.info.codec="flac":"twos"===o||"sowt"===o||"raw "===o||"in24"===o||"in32"===o||"fl32"===o||"fl64"===o||"lpcm"===o||"ipcm"===o||"fpcm"===o||("ulaw"===o?e.info.codec="ulaw":"alaw"===o?e.info.codec="alaw":"ac-3"===o?e.info.codec="ac3":"ec-3"===o?e.info.codec="eac3":console.warn(`Unsupported audio codec (sample entry type '${r.name}').`))),t.skip(8);const s=DT(t);t.skip(6);let a=DT(t),l=DT(t);t.skip(4);let c=LT(t)/65536;if(0===n&&s>0)if(1===s)t.skip(4),l=8*LT(t),t.skip(8);else if(2===s){t.skip(4),c=UT(t),a=LT(t),t.skip(4),l=LT(t);const n=LT(t);if(t.skip(8),"lpcm"===o){const t=l+7>>3,i=Boolean(1&n),r=Boolean(2&n),o=4&n?-1:0;l>0&&l<=64&&(i?32===l&&(e.info.codec=r?"pcm-f32be":"pcm-f32"):o&1<<t-1?1===t?e.info.codec="pcm-s8":2===t?e.info.codec=r?"pcm-s16be":"pcm-s16":3===t?e.info.codec=r?"pcm-s24be":"pcm-s24":4===t&&(e.info.codec=r?"pcm-s32be":"pcm-s32"):1===t&&(e.info.codec="pcm-u8")),null===e.info.codec&&console.warn("Unsupported PCM format.")}}"opus"===e.info.codec&&(c=48e3),e.info.numberOfChannels=a,e.info.sampleRate=c,"twos"===o?8===l?e.info.codec="pcm-s8":16===l?e.info.codec="pcm-s16be":(console.warn(`Unsupported sample size ${l} for codec 'twos'.`),e.info.codec=null):"sowt"===o?8===l?e.info.codec="pcm-s8":16===l?e.info.codec="pcm-s16":(console.warn(`Unsupported sample size ${l} for codec 'sowt'.`),e.info.codec=null):"raw "===o?e.info.codec="pcm-u8":"in24"===o?e.info.codec="pcm-s24be":"in32"===o?e.info.codec="pcm-s32be":"fl32"===o?e.info.codec="pcm-f32be":"fl64"===o?e.info.codec="pcm-f64be":"ipcm"===o?e.info.codec="pcm-s16be":"fpcm"===o&&(e.info.codec="pcm-f32be"),this.readContiguousBoxes(t.slice(t.filePos,i+r.totalSize-t.filePos))}}}break;case"avcC":{const e=this.currentTrack;if(!e)break;Z_(e.info),e.info.codecDescription=OT(t,L.contentSize)}break;case"hvcC":{const e=this.currentTrack;if(!e)break;Z_(e.info),e.info.codecDescription=OT(t,L.contentSize)}break;case"vpcC":{var j;const e=this.currentTrack;if(!e)break;Z_("video"===(null===(j=e.info)||void 0===j?void 0:j.type)),t.skip(4);const n=PT(t),i=PT(t),r=PT(t),o=r>>4,s=r>>1&7,a=1&r,l=PT(t),c=PT(t),u=PT(t);e.info.vp9CodecInfo={profile:n,level:i,bitDepth:o,chromaSubsampling:s,videoFullRangeFlag:a,colourPrimaries:l,transferCharacteristics:c,matrixCoefficients:u}}break;case"av1C":{var U;const e=this.currentTrack;if(!e)break;Z_("video"===(null===(U=e.info)||void 0===U?void 0:U.type)),t.skip(1);const n=PT(t),i=n>>5,r=31&n,o=PT(t),s=o>>7,a=o>>6&1,l=o>>4&1,c=o>>3&1,u=o>>2&1,d=3&o,h=2===i&&a?o>>5&1?12:10:a?10:8;e.info.av1CodecInfo={profile:i,level:r,tier:s,bitDepth:h,monochrome:l,chromaSubsamplingX:c,chromaSubsamplingY:u,chromaSamplePosition:d}}break;case"colr":{var $;const e=this.currentTrack;if(!e)break;if(Z_("video"===(null===($=e.info)||void 0===$?void 0:$.type)),"nclx"!==$T(t,4))break;const n=DT(t),i=DT(t),r=DT(t),o=Boolean(128&PT(t));e.info.colorSpace={primaries:aI[n],transfer:cI[i],matrix:dI[r],fullRange:o}}break;case"pasp":{var q;const e=this.currentTrack;if(!e)break;Z_("video"===(null===(q=e.info)||void 0===q?void 0:q.type));const n=LT(t),i=LT(t);n>i?e.info.squarePixelWidth=Math.round(e.info.width*n/i):e.info.squarePixelHeight=Math.round(e.info.height*i/n)}break;case"esds":{var V;const e=this.currentTrack;if(!e)break;Z_("audio"===(null===(V=e.info)||void 0===V?void 0:V.type)),t.skip(4),Z_(3===PT(t)),cT(t),t.skip(2);const n=PT(t),i=!!(64&n),r=!!(32&n);if(!!(128&n)&&t.skip(2),i){const e=PT(t);t.skip(e)}r&&t.skip(2),Z_(4===PT(t));const o=cT(t),s=t.filePos,a=PT(t);if(64===a||103===a?(e.info.codec="aac",e.info.aacCodecInfo={isMpeg2:103===a,objectType:null}):105===a||107===a?e.info.codec="mp3":221===a?e.info.codec="vorbis":console.warn(`Unsupported audio codec (objectTypeIndication ${a}) - discarding track.`),t.skip(12),o>t.filePos-s){Z_(5===PT(t));const n=cT(t);if(e.info.codecDescription=OT(t,n),"aac"===e.info.codec){const t=NI(e.info.codecDescription);null!==t.numberOfChannels&&(e.info.numberOfChannels=t.numberOfChannels),null!==t.sampleRate&&(e.info.sampleRate=t.sampleRate)}}}break;case"enda":{var G;const e=this.currentTrack;if(!e)break;Z_("audio"===(null===(G=e.info)||void 0===G?void 0:G.type)),255&DT(t)&&("pcm-s16be"===e.info.codec?e.info.codec="pcm-s16":"pcm-s24be"===e.info.codec?e.info.codec="pcm-s24":"pcm-s32be"===e.info.codec?e.info.codec="pcm-s32":"pcm-f32be"===e.info.codec?e.info.codec="pcm-f32":"pcm-f64be"===e.info.codec&&(e.info.codec="pcm-f64"))}break;case"pcmC":{var H;const e=this.currentTrack;if(!e)break;Z_("audio"===(null===(H=e.info)||void 0===H?void 0:H.type)),t.skip(4);const n=PT(t),i=Boolean(1&n),r=PT(t);"pcm-s16be"===e.info.codec?i?16===r?e.info.codec="pcm-s16":24===r?e.info.codec="pcm-s24":32===r?e.info.codec="pcm-s32":(console.warn(`Invalid ipcm sample size ${r}.`),e.info.codec=null):16===r?e.info.codec="pcm-s16be":24===r?e.info.codec="pcm-s24be":32===r?e.info.codec="pcm-s32be":(console.warn(`Invalid ipcm sample size ${r}.`),e.info.codec=null):"pcm-f32be"===e.info.codec&&(i?32===r?e.info.codec="pcm-f32":64===r?e.info.codec="pcm-f64":(console.warn(`Invalid fpcm sample size ${r}.`),e.info.codec=null):32===r?e.info.codec="pcm-f32be":64===r?e.info.codec="pcm-f64be":(console.warn(`Invalid fpcm sample size ${r}.`),e.info.codec=null));break}case"dOps":{var K;const e=this.currentTrack;if(!e)break;Z_("audio"===(null===(K=e.info)||void 0===K?void 0:K.type)),t.skip(1);const n=PT(t),i=DT(t),r=LT(t),o=BT(t),s=PT(t);let a;a=0!==s?OT(t,2+n):new Uint8Array(0);const l=new Uint8Array(19+a.byteLength),c=new DataView(l.buffer);c.setUint32(0,1332770163,!1),c.setUint32(4,1214603620,!1),c.setUint8(8,1),c.setUint8(9,n),c.setUint16(10,i,!0),c.setUint32(12,r,!0),c.setInt16(16,o,!0),c.setUint8(18,s),l.set(a,19),e.info.codecDescription=l,e.info.numberOfChannels=n}break;case"dfLa":{var X;const e=this.currentTrack;if(!e)break;Z_("audio"===(null===(X=e.info)||void 0===X?void 0:X.type)),t.skip(4);const n=127,i=128,r=t.filePos;for(;t.filePos<W;){const r=PT(t),o=RT(t);if((r&n)===GI.STREAMINFO){t.skip(10);const n=LT(t),i=n>>>12,r=1+(n>>9&7);e.info.sampleRate=i,e.info.numberOfChannels=r,t.skip(20)}else t.skip(o);if(r&i)break}const o=t.filePos;t.filePos=r;const s=OT(t,o-r),a=new Uint8Array(4+s.byteLength);new DataView(a.buffer).setUint32(0,1716281667,!1),a.set(s,4),e.info.codecDescription=a}break;case"dac3":{var Y;const e=this.currentTrack;if(!e)break;Z_("audio"===(null===(Y=e.info)||void 0===Y?void 0:Y.type));const n=OT(t,3),i=new SI(n),r=i.readBits(2);i.skipBits(8);const o=i.readBits(3),s=i.readBits(1);r<3&&(e.info.sampleRate=RI[r]),e.info.numberOfChannels=HI[o]+s}break;case"dec3":{var Q;const e=this.currentTrack;if(!e)break;Z_("audio"===(null===(Q=e.info)||void 0===Q?void 0:Q.type));const n=(t=>{if(t.length<2)return null;const e=new SI(t),n=e.readBits(13),i=e.readBits(3),r=[];for(let n=0;n<=i&&!(Math.ceil(e.pos/8)+3>t.length);n++){const t=e.readBits(2),n=e.readBits(5);e.skipBits(1),e.skipBits(1);const i=e.readBits(3),o=e.readBits(3),s=e.readBits(1);e.skipBits(3);const a=e.readBits(4);let l=0;a>0?l=e.readBits(9):e.skipBits(1),r.push({fscod:t,fscod2:null,bsid:n,bsmod:i,acmod:o,lfeon:s,numDepSub:a,chanLoc:l})}return 0===r.length?null:{dataRate:n,substreams:r}})(OT(t,L.contentSize));if(!n){console.warn("Invalid dec3 box contents, ignoring.");break}const i=(t=>{const e=t.substreams[0];return Z_(e),e.fscod<3?RI[e.fscod]:null!==e.fscod2&&e.fscod2<3?BI[e.fscod2]:null})(n);null!==i&&(e.info.sampleRate=i),e.info.numberOfChannels=(t=>{const e=t.substreams[0];Z_(e);let n=HI[e.acmod]+e.lfeon;if(e.numDepSub>0){const t=[2,2,1,1,2,2,2,1,1];for(let i=0;i<9;i++)e.chanLoc&1<<8-i&&(n+=t[i])}return n})(n)}break;case"stts":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=LT(t);let i=0,r=0;for(let o=0;o<n;o++){const n=LT(t),o=LT(t);e.sampleTable.sampleTimingEntries.push({startIndex:i,startDecodeTimestamp:r,count:n,delta:o}),i+=n,r+=n*o}}break;case"ctts":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=LT(t);let i=0;for(let r=0;r<n;r++){const n=LT(t),r=zT(t);e.sampleTable.sampleCompositionTimeOffsets.push({startIndex:i,count:n,offset:r}),i+=n}}break;case"stsz":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=LT(t),i=LT(t);if(0===n)for(let n=0;n<i;n++){const n=LT(t);e.sampleTable.sampleSizes.push(n)}else e.sampleTable.sampleSizes.push(n)}break;case"stz2":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4),t.skip(3);const n=PT(t),i=LT(t),r=OT(t,Math.ceil(i*n/8)),o=new SI(r);for(let t=0;t<i;t++){const t=o.readBits(n);e.sampleTable.sampleSizes.push(t)}}break;case"stss":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4),e.sampleTable.keySampleIndices=[];const n=LT(t);for(let i=0;i<n;i++){const n=LT(t)-1;e.sampleTable.keySampleIndices.push(n)}0!==e.sampleTable.keySampleIndices[0]&&e.sampleTable.keySampleIndices.unshift(0)}break;case"stsc":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=LT(t);for(let i=0;i<n;i++){const n=LT(t)-1,i=LT(t),r=LT(t);e.sampleTable.sampleToChunk.push({startSampleIndex:-1,startChunkIndex:n,samplesPerChunk:i,sampleDescriptionIndex:r})}let i=0;for(let t=0;t<e.sampleTable.sampleToChunk.length;t++)e.sampleTable.sampleToChunk[t].startSampleIndex=i,t<e.sampleTable.sampleToChunk.length-1&&(i+=(e.sampleTable.sampleToChunk[t+1].startChunkIndex-e.sampleTable.sampleToChunk[t].startChunkIndex)*e.sampleTable.sampleToChunk[t].samplesPerChunk)}break;case"stco":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=LT(t);for(let i=0;i<n;i++){const n=LT(t);e.sampleTable.chunkOffsets.push(n)}}break;case"co64":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=LT(t);for(let i=0;i<n;i++){const n=WT(t);e.sampleTable.chunkOffsets.push(n)}}break;case"mvex":this.isFragmented=!0,this.readContiguousBoxes(t.slice(z,L.contentSize));break;case"mehd":{const e=PT(t);t.skip(3);const n=1===e?WT(t):LT(t);this.movieDurationInTimescale=n}break;case"trex":{t.skip(4);const e=LT(t),n=LT(t),i=LT(t),r=LT(t),o=LT(t);this.fragmentTrackDefaults.push({trackId:e,defaultSampleDescriptionIndex:n,defaultSampleDuration:i,defaultSampleSize:r,defaultSampleFlags:o})}break;case"tfra":{const e=PT(t);t.skip(3);const n=LT(t),i=this.tracks.find((t=>t.id===n));if(!i)break;const r=LT(t),o=(12&r)>>2,s=3&r,a=[PT,DT,RT,LT],l=a[(48&r)>>4],c=a[o],u=a[s],d=LT(t);for(let n=0;n<d;n++){const n=1===e?WT(t):LT(t),r=1===e?WT(t):LT(t);l(t),c(t),u(t),i.fragmentLookupTable.push({timestamp:n,moofOffset:r})}i.fragmentLookupTable.sort(((t,e)=>t.timestamp-e.timestamp));for(let t=0;t<i.fragmentLookupTable.length-1;t++){const e=i.fragmentLookupTable[t],n=i.fragmentLookupTable[t+1];e.timestamp===n.timestamp&&(i.fragmentLookupTable.splice(t+1,1),t--)}}break;case"moof":this.currentFragment={moofOffset:B,moofSize:L.totalSize,implicitBaseDataOffset:B,trackData:new Map},this.readContiguousBoxes(t.slice(z,L.contentSize)),this.lastReadFragment=this.currentFragment,this.currentFragment=null;break;case"traf":if(Z_(this.currentFragment),this.readContiguousBoxes(t.slice(z,L.contentSize)),this.currentTrack){const t=this.currentFragment.trackData.get(this.currentTrack.id);if(t){const{currentFragmentState:e}=this.currentTrack;Z_(e),null!==e.startTimestamp&&(kT(t,e.startTimestamp),t.startTimestampIsFinal=!0)}this.currentTrack.currentFragmentState=null,this.currentTrack=null}break;case"tfhd":{var J,Z,tt,et;Z_(this.currentFragment),t.skip(1);const e=RT(t),n=Boolean(1&e),i=Boolean(2&e),r=Boolean(8&e),o=Boolean(16&e),s=Boolean(32&e),a=Boolean(65536&e),l=Boolean(131072&e),c=LT(t),u=this.tracks.find((t=>t.id===c));if(!u)break;const d=this.fragmentTrackDefaults.find((t=>t.trackId===c));this.currentTrack=u,u.currentFragmentState={baseDataOffset:this.currentFragment.implicitBaseDataOffset,sampleDescriptionIndex:null!==(J=null==d?void 0:d.defaultSampleDescriptionIndex)&&void 0!==J?J:null,defaultSampleDuration:null!==(Z=null==d?void 0:d.defaultSampleDuration)&&void 0!==Z?Z:null,defaultSampleSize:null!==(tt=null==d?void 0:d.defaultSampleSize)&&void 0!==tt?tt:null,defaultSampleFlags:null!==(et=null==d?void 0:d.defaultSampleFlags)&&void 0!==et?et:null,startTimestamp:null},n?u.currentFragmentState.baseDataOffset=WT(t):l&&(u.currentFragmentState.baseDataOffset=this.currentFragment.moofOffset),i&&(u.currentFragmentState.sampleDescriptionIndex=LT(t)),r&&(u.currentFragmentState.defaultSampleDuration=LT(t)),o&&(u.currentFragmentState.defaultSampleSize=LT(t)),s&&(u.currentFragmentState.defaultSampleFlags=LT(t)),a&&(u.currentFragmentState.defaultSampleDuration=0)}break;case"tfdt":{const e=this.currentTrack;if(!e)break;Z_(e.currentFragmentState);const n=PT(t);t.skip(3);const i=0===n?LT(t):WT(t);e.currentFragmentState.startTimestamp=i}break;case"trun":{const e=this.currentTrack;if(!e)break;if(Z_(this.currentFragment),Z_(e.currentFragmentState),this.currentFragment.trackData.has(e.id)){console.warn("Can't have two trun boxes for the same track in one fragment. Ignoring...");break}const n=PT(t),i=RT(t),r=Boolean(1&i),o=Boolean(4&i),s=Boolean(256&i),a=Boolean(512&i),l=Boolean(1024&i),c=Boolean(2048&i),u=LT(t);let d=e.currentFragmentState.baseDataOffset;r&&(d+=zT(t));let h=null;o&&(h=LT(t));let f=d;if(0===u){this.currentFragment.implicitBaseDataOffset=f;break}let p=0;const m={track:e,startTimestamp:0,endTimestamp:0,firstKeyFrameTimestamp:null,samples:[],presentationTimestamps:[],startTimestampIsFinal:!1};this.currentFragment.trackData.set(e.id,m);for(let i=0;i<u;i++){let r,o,u;s?r=LT(t):(Z_(null!==e.currentFragmentState.defaultSampleDuration),r=e.currentFragmentState.defaultSampleDuration),a?o=LT(t):(Z_(null!==e.currentFragmentState.defaultSampleSize),o=e.currentFragmentState.defaultSampleSize),l?u=LT(t):(Z_(null!==e.currentFragmentState.defaultSampleFlags),u=e.currentFragmentState.defaultSampleFlags),0===i&&null!==h&&(u=h);let d=0;c&&(d=0===n?LT(t):zT(t));const v=!(65536&u);m.samples.push({presentationTimestamp:p+d,duration:r,byteOffset:f,byteSize:o,isKeyFrame:v}),f+=o,p+=r}m.presentationTimestamps=m.samples.map(((t,e)=>({presentationTimestamp:t.presentationTimestamp,sampleIndex:e}))).sort(((t,e)=>t.presentationTimestamp-e.presentationTimestamp));for(let t=0;t<m.presentationTimestamps.length;t++){const e=m.presentationTimestamps[t],n=m.samples[e.sampleIndex];if(null===m.firstKeyFrameTimestamp&&n.isKeyFrame&&(m.firstKeyFrameTimestamp=n.presentationTimestamp),t<m.presentationTimestamps.length-1){const i=m.presentationTimestamps[t+1];n.duration=i.presentationTimestamp-e.presentationTimestamp}}const v=m.samples[m.presentationTimestamps[0].sampleIndex],g=m.samples[tI(m.presentationTimestamps).sampleIndex];m.startTimestamp=v.presentationTimestamp,m.endTimestamp=g.presentationTimestamp+g.duration,this.currentFragment.implicitBaseDataOffset=f}break;case"udta":{const g=this.iterateContiguousBoxes(t.slice(z,L.contentSize));for(const{boxInfo:t,slice:y}of g){if("meta"!==t.name&&!this.currentTrack){var nt,it,rt,ot,st,at,lt,ct;const e=y.filePos;null!==(it=(nt=this.metadataTags).raw)&&void 0!==it||(nt.raw={}),"©"===t.name[0]?null!==(st=(rt=this.metadataTags.raw)[ot=t.name])&&void 0!==st||(rt[ot]=uT(y)):null!==(ct=(at=this.metadataTags.raw)[lt=t.name])&&void 0!==ct||(at[lt]=OT(y,t.contentSize)),y.filePos=e}switch(t.name){case"meta":y.skip(-t.headerSize),this.traverseBox(y);break;case"©nam":case"name":this.currentTrack?this.currentTrack.name=rI.decode(OT(y,t.contentSize)):null!==(n=(e=this.metadataTags).title)&&void 0!==n||(e.title=uT(y));break;case"©des":this.currentTrack||null!==(r=(i=this.metadataTags).description)&&void 0!==r||(i.description=uT(y));break;case"©ART":this.currentTrack||null!==(s=(o=this.metadataTags).artist)&&void 0!==s||(o.artist=uT(y));break;case"©alb":this.currentTrack||null!==(l=(a=this.metadataTags).album)&&void 0!==l||(a.album=uT(y));break;case"albr":this.currentTrack||null!==(u=(c=this.metadataTags).albumArtist)&&void 0!==u||(c.albumArtist=uT(y));break;case"©gen":this.currentTrack||null!==(h=(d=this.metadataTags).genre)&&void 0!==h||(d.genre=uT(y));break;case"©day":if(!this.currentTrack){var ut,dt;const t=new Date(uT(y));Number.isNaN(t.getTime())||null!==(dt=(ut=this.metadataTags).date)&&void 0!==dt||(ut.date=t)}break;case"©cmt":this.currentTrack||null!==(p=(f=this.metadataTags).comment)&&void 0!==p||(f.comment=uT(y));break;case"©lyr":this.currentTrack||null!==(v=(m=this.metadataTags).lyrics)&&void 0!==v||(m.lyrics=uT(y))}}}break;case"meta":{if(this.currentTrack)break;const e=0!==LT(t);this.currentMetadataKeys=new Map,e?this.readContiguousBoxes(t.slice(z,L.contentSize)):this.readContiguousBoxes(t.slice(z+4,L.contentSize-4)),this.currentMetadataKeys=null}break;case"keys":{if(!this.currentMetadataKeys)break;t.skip(4);const e=LT(t);for(let n=0;n<e;n++){const e=LT(t);t.skip(4);const i=rI.decode(OT(t,e-8));this.currentMetadataKeys.set(n+1,i)}}break;case"ilst":{if(!this.currentMetadataKeys)break;const e=this.iterateContiguousBoxes(t.slice(z,L.contentSize));for(const{boxInfo:t,slice:n}of e){var ht,ft,pt,mt,vt;let e=t.name;const i=(e.charCodeAt(0)<<24)+(e.charCodeAt(1)<<16)+(e.charCodeAt(2)<<8)+e.charCodeAt(3);this.currentMetadataKeys.has(i)&&(e=this.currentMetadataKeys.get(i));const r=dT(n);switch(null!==(ft=(ht=this.metadataTags).raw)&&void 0!==ft||(ht.raw={}),null!==(vt=(pt=this.metadataTags.raw)[mt=e])&&void 0!==vt||(pt[mt]=r),e){case"©nam":case"titl":case"com.apple.quicktime.title":case"title":"string"==typeof r&&(null!==(y=(g=this.metadataTags).title)&&void 0!==y||(g.title=r));break;case"©des":case"desc":case"dscp":case"com.apple.quicktime.description":case"description":"string"==typeof r&&(null!==(k=(b=this.metadataTags).description)&&void 0!==k||(b.description=r));break;case"©ART":case"com.apple.quicktime.artist":case"artist":"string"==typeof r&&(null!==(w=(x=this.metadataTags).artist)&&void 0!==w||(x.artist=r));break;case"©alb":case"albm":case"com.apple.quicktime.album":case"album":"string"==typeof r&&(null!==(I=(_=this.metadataTags).album)&&void 0!==I||(_.album=r));break;case"aART":case"album_artist":"string"==typeof r&&(null!==(E=(T=this.metadataTags).albumArtist)&&void 0!==E||(T.albumArtist=r));break;case"©cmt":case"com.apple.quicktime.comment":case"comment":"string"==typeof r&&(null!==(M=(S=this.metadataTags).comment)&&void 0!==M||(S.comment=r));break;case"©gen":case"gnre":case"com.apple.quicktime.genre":case"genre":"string"==typeof r&&(null!==(N=(A=this.metadataTags).genre)&&void 0!==N||(A.genre=r));break;case"©lyr":case"lyrics":"string"==typeof r&&(null!==(C=(F=this.metadataTags).lyrics)&&void 0!==C||(F.lyrics=r));break;case"©day":case"rldt":case"com.apple.quicktime.creationdate":case"date":if("string"==typeof r){var gt,yt;const t=new Date(r);Number.isNaN(t.getTime())||null!==(yt=(gt=this.metadataTags).date)&&void 0!==yt||(gt.date=t)}break;case"covr":case"com.apple.quicktime.artwork":r instanceof TI?(null!==(P=(O=this.metadataTags).images)&&void 0!==P||(O.images=[]),this.metadataTags.images.push({data:r.data,kind:"coverFront",mimeType:r.mimeType})):r instanceof Uint8Array&&(null!==(R=(D=this.metadataTags).images)&&void 0!==R||(D.images=[]),this.metadataTags.images.push({data:r,kind:"coverFront",mimeType:"image/*"}));break;case"track":if("string"==typeof r){var bt,kt,xt,wt;const t=r.split("/"),e=Number.parseInt(t[0],10),n=t[1]&&Number.parseInt(t[1],10);Number.isInteger(e)&&e>0&&(null!==(kt=(bt=this.metadataTags).trackNumber)&&void 0!==kt||(bt.trackNumber=e)),n&&Number.isInteger(n)&&n>0&&(null!==(wt=(xt=this.metadataTags).tracksTotal)&&void 0!==wt||(xt.tracksTotal=n))}break;case"trkn":if(r instanceof Uint8Array&&r.length>=6){var _t,It,Tt,Et;const t=iI(r),e=t.getUint16(2,!1),n=t.getUint16(4,!1);e>0&&(null!==(It=(_t=this.metadataTags).trackNumber)&&void 0!==It||(_t.trackNumber=e)),n>0&&(null!==(Et=(Tt=this.metadataTags).tracksTotal)&&void 0!==Et||(Tt.tracksTotal=n))}break;case"disc":case"disk":if(r instanceof Uint8Array&&r.length>=6){var St,Mt,At,Nt;const t=iI(r),e=t.getUint16(2,!1),n=t.getUint16(4,!1);e>0&&(null!==(Mt=(St=this.metadataTags).discNumber)&&void 0!==Mt||(St.discNumber=e)),n>0&&(null!==(Nt=(At=this.metadataTags).discsTotal)&&void 0!==Nt||(At.discsTotal=n))}}}}}var Ft,Ct;return t.filePos=W,!0}}class fT{constructor(t){this.internalTrack=t,this.packetToSampleIndex=new WeakMap,this.packetToFragmentLocation=new WeakMap}getId(){return this.internalTrack.id}getNumber(){const t=this.internalTrack.demuxer,e=this.internalTrack.inputTrack.type;let n=0;for(const i of t.tracks)if(i.inputTrack.type===e&&n++,i===this.internalTrack)break;return n}getCodec(){throw new Error("Not implemented on base class.")}getInternalCodecId(){return this.internalTrack.internalCodecId}getName(){return this.internalTrack.name}getLanguageCode(){return this.internalTrack.languageCode}getTimeResolution(){return this.internalTrack.timescale}getDisposition(){return this.internalTrack.disposition}async computeDuration(){var t,e;const n=await this.getPacket(1/0,{metadataOnly:!0});return(null!==(t=null==n?void 0:n.timestamp)&&void 0!==t?t:0)+(null!==(e=null==n?void 0:n.duration)&&void 0!==e?e:0)}async getFirstTimestamp(){var t;const e=await this.getFirstPacket({metadataOnly:!0});return null!==(t=null==e?void 0:e.timestamp)&&void 0!==t?t:0}async getFirstPacket(t){const e=await this.fetchPacketForSampleIndex(0,t);return e||!this.internalTrack.demuxer.isFragmented?e:this.performFragmentedLookup(null,(t=>t.trackData.get(this.internalTrack.id)?{sampleIndex:0,correctSampleFound:!0}:{sampleIndex:-1,correctSampleFound:!1}),-1/0,1/0,t)}mapTimestampIntoTimescale(t){return(t=>{const e=Math.round(t);return Math.abs(t/e-1)<10*Number.EPSILON?e:t})(t*this.internalTrack.timescale)+this.internalTrack.editListOffset}async getPacket(t,e){const n=this.mapTimestampIntoTimescale(t),i=this.internalTrack.demuxer.getSampleTableForTrack(this.internalTrack),r=vT(i,n),o=await this.fetchPacketForSampleIndex(r,e);return wT(i)&&this.internalTrack.demuxer.isFragmented?this.performFragmentedLookup(null,(t=>{const e=t.trackData.get(this.internalTrack.id);if(!e)return{sampleIndex:-1,correctSampleFound:!1};const i=mI(e.presentationTimestamps,n,(t=>t.presentationTimestamp));return{sampleIndex:-1!==i?e.presentationTimestamps[i].sampleIndex:-1,correctSampleFound:-1!==i&&n<e.endTimestamp}}),n,n,e):o}async getNextPacket(t,e){const n=this.packetToSampleIndex.get(t);if(void 0!==n)return this.fetchPacketForSampleIndex(n+1,e);const i=this.packetToFragmentLocation.get(t);if(void 0===i)throw new Error("Packet was not created from this track.");return this.performFragmentedLookup(i.fragment,(t=>{if(t===i.fragment){const e=t.trackData.get(this.internalTrack.id);if(i.sampleIndex+1<e.samples.length)return{sampleIndex:i.sampleIndex+1,correctSampleFound:!0}}else if(t.trackData.get(this.internalTrack.id))return{sampleIndex:0,correctSampleFound:!0};return{sampleIndex:-1,correctSampleFound:!1}}),-1/0,1/0,e)}async getKeyPacket(t,e){const n=this.mapTimestampIntoTimescale(t),i=this.internalTrack.demuxer.getSampleTableForTrack(this.internalTrack),r=gT(i,n),o=await this.fetchPacketForSampleIndex(r,e);return wT(i)&&this.internalTrack.demuxer.isFragmented?this.performFragmentedLookup(null,(t=>{const e=t.trackData.get(this.internalTrack.id);if(!e)return{sampleIndex:-1,correctSampleFound:!1};const i=((t,e)=>{for(let n=t.length-1;n>=0;n--)if(e(t[n]))return n;return-1})(e.presentationTimestamps,(t=>e.samples[t.sampleIndex].isKeyFrame&&t.presentationTimestamp<=n));return{sampleIndex:-1!==i?e.presentationTimestamps[i].sampleIndex:-1,correctSampleFound:-1!==i&&n<e.endTimestamp}}),n,n,e):o}async getNextKeyPacket(t,e){const n=this.packetToSampleIndex.get(t);if(void 0!==n){const t=this.internalTrack.demuxer.getSampleTableForTrack(this.internalTrack),i=bT(t,n);return this.fetchPacketForSampleIndex(i,e)}const i=this.packetToFragmentLocation.get(t);if(void 0===i)throw new Error("Packet was not created from this track.");return this.performFragmentedLookup(i.fragment,(t=>{if(t===i.fragment){const e=t.trackData.get(this.internalTrack.id).samples.findIndex(((t,e)=>t.isKeyFrame&&e>i.sampleIndex));if(-1!==e)return{sampleIndex:e,correctSampleFound:!0}}else{const e=t.trackData.get(this.internalTrack.id);if(e&&null!==e.firstKeyFrameTimestamp){const t=e.samples.findIndex((t=>t.isKeyFrame));return Z_(-1!==t),{sampleIndex:t,correctSampleFound:!0}}}return{sampleIndex:-1,correctSampleFound:!1}}),-1/0,1/0,e)}async fetchPacketForSampleIndex(t,e){if(-1===t)return null;const n=this.internalTrack.demuxer.getSampleTableForTrack(this.internalTrack),i=yT(n,t);if(!i)return null;let r;if(e.metadataOnly)r=QI;else{let t=this.internalTrack.demuxer.reader.requestSlice(i.sampleOffset,i.sampleSize);t instanceof Promise&&(t=await t),Z_(t),r=OT(t,i.sampleSize)}const o=(i.presentationTimestamp-this.internalTrack.editListOffset)/this.internalTrack.timescale,s=i.duration/this.internalTrack.timescale,a=new JI(r,i.isKeyFrame?"key":"delta",o,s,t,i.sampleSize);return this.packetToSampleIndex.set(a,t),a}async fetchPacketInFragment(t,e,n){if(-1===e)return null;const i=t.trackData.get(this.internalTrack.id).samples[e];let r;if(Z_(i),n.metadataOnly)r=QI;else{let t=this.internalTrack.demuxer.reader.requestSlice(i.byteOffset,i.byteSize);t instanceof Promise&&(t=await t),Z_(t),r=OT(t,i.byteSize)}const o=(i.presentationTimestamp-this.internalTrack.editListOffset)/this.internalTrack.timescale,s=i.duration/this.internalTrack.timescale,a=new JI(r,i.isKeyFrame?"key":"delta",o,s,t.moofOffset+e,i.byteSize);return this.packetToFragmentLocation.set(a,{fragment:t,sampleIndex:e}),a}async performFragmentedLookup(t,e,n,i,r){var o,s;const a=this.internalTrack.demuxer;let l=null,c=null,u=-1;if(t){const{sampleIndex:n,correctSampleFound:i}=e(t);if(i)return this.fetchPacketInFragment(t,n,r);-1!==n&&(c=t,u=n)}const d=mI(this.internalTrack.fragmentLookupTable,n,(t=>t.timestamp)),h=-1!==d?this.internalTrack.fragmentLookupTable[d]:null,f=mI(this.internalTrack.fragmentPositionCache,n,(t=>t.startTimestamp)),p=-1!==f?this.internalTrack.fragmentPositionCache[f]:null,m=Math.max(null!==(o=null==h?void 0:h.moofOffset)&&void 0!==o?o:0,null!==(s=null==p?void 0:p.moofOffset)&&void 0!==s?s:0)||null;let v;for(t?null===m||t.moofOffset>=m?(v=t.moofOffset+t.moofSize,l=t):v=m:v=null!=m?m:0;;){if(l){const t=l.trackData.get(this.internalTrack.id);if(t&&t.startTimestamp>i)break}let t=a.reader.requestSliceRange(v,8,16);if(t instanceof Promise&&(t=await t),!t)break;const n=v,o=sT(t);if(!o)break;if("moof"===o.name){l=await a.readFragment(n);const{sampleIndex:t,correctSampleFound:i}=e(l);if(i)return this.fetchPacketInFragment(l,t,r);-1!==t&&(c=l,u=t)}v=n+o.totalSize}if(h&&(!c||c.moofOffset<h.moofOffset)){var g;const t=this.internalTrack.fragmentLookupTable[d-1];Z_(!t||t.timestamp<h.timestamp);const n=null!==(g=null==t?void 0:t.timestamp)&&void 0!==g?g:-1/0;return this.performFragmentedLookup(null,e,n,i,r)}return c?this.fetchPacketInFragment(c,u,r):null}}class pT extends fT{constructor(t){super(t),this.decoderConfigPromise=null,this.internalTrack=t}getCodec(){return this.internalTrack.info.codec}getCodedWidth(){return this.internalTrack.info.width}getCodedHeight(){return this.internalTrack.info.height}getSquarePixelWidth(){return this.internalTrack.info.squarePixelWidth}getSquarePixelHeight(){return this.internalTrack.info.squarePixelHeight}getRotation(){return this.internalTrack.rotation}async getColorSpace(){var t,e,n,i;return{primaries:null===(t=this.internalTrack.info.colorSpace)||void 0===t?void 0:t.primaries,transfer:null===(e=this.internalTrack.info.colorSpace)||void 0===e?void 0:e.transfer,matrix:null===(n=this.internalTrack.info.colorSpace)||void 0===n?void 0:n.matrix,fullRange:null===(i=this.internalTrack.info.colorSpace)||void 0===i?void 0:i.fullRange}}async canBeTransparent(){return!1}async getDecoderConfig(){var t;return this.internalTrack.info.codec?null!==(t=this.decoderConfigPromise)&&void 0!==t?t:this.decoderConfigPromise=(async(t,e)=>{if("vp9"!==this.internalTrack.info.codec||this.internalTrack.info.vp9CodecInfo){if("av1"===this.internalTrack.info.codec&&!this.internalTrack.info.av1CodecInfo){const t=await this.getFirstPacket({});this.internalTrack.info.av1CodecInfo=t&&(t=>{for(const{type:e,data:n}of VI(t)){if(1!==e)continue;const t=new SI(n),i=t.readBits(3);t.readBits(1);const r=t.readBits(1);let o=0,s=0,a=0;if(r)o=t.readBits(5);else{if(t.readBits(1)&&(t.skipBits(32),t.skipBits(32),t.readBits(1)))return null;const e=t.readBits(1);e&&(a=t.readBits(5),t.skipBits(32),t.skipBits(5),t.skipBits(5));const n=t.readBits(5);for(let i=0;i<=n;i++){t.skipBits(12);const n=t.readBits(5);if(0===i&&(o=n),n>7){const e=t.readBits(1);0===i&&(s=e)}if(e&&t.readBits(1)){const e=a+1;t.skipBits(e),t.skipBits(e),t.skipBits(1)}t.readBits(1)&&t.skipBits(4)}}const l=t.readBits(4),c=t.readBits(4),u=l+1;t.skipBits(u);const d=c+1;t.skipBits(d);let h=0;if(h=r?0:t.readBits(1),h&&(t.skipBits(4),t.skipBits(3)),t.skipBits(1),t.skipBits(1),t.skipBits(1),!r){t.skipBits(1),t.skipBits(1),t.skipBits(1),t.skipBits(1);const e=t.readBits(1);e&&(t.skipBits(1),t.skipBits(1));let n=0;n=t.readBits(1)?2:t.readBits(1),n>0&&(t.readBits(1)||t.skipBits(1)),e&&t.skipBits(3)}t.skipBits(1),t.skipBits(1),t.skipBits(1);const f=t.readBits(1);let p=8;2===i&&f?p=t.readBits(1)?12:10:i<=2&&(p=f?10:8);let m=0;1!==i&&(m=t.readBits(1));let v=1,g=1,y=0;return m||(0===i?(v=1,g=1):1===i?(v=0,g=0):12===p&&(v=t.readBits(1),v&&(g=t.readBits(1))),v&&g&&(y=t.readBits(2))),{profile:i,level:o,tier:s,bitDepth:p,monochrome:m,chromaSubsamplingX:v,chromaSubsamplingY:g,chromaSamplePosition:y}}return null})(t.data)}}else{const t=await this.getFirstPacket({});this.internalTrack.info.vp9CodecInfo=t&&(t=>{const e=new SI(t);if(2!==e.readBits(2))return null;const n=e.readBits(1),i=(e.readBits(1)<<1)+n;if(3===i&&e.skipBits(1),1===e.readBits(1))return null;if(0!==e.readBits(1))return null;if(e.skipBits(2),4817730!==e.readBits(24))return null;let r=8;i>=2&&(r=e.readBits(1)?12:10);const o=e.readBits(3);let s=0,a=0;if(7!==o)if(a=e.readBits(1),1===i||3===i){const t=e.readBits(1),n=e.readBits(1);s=t||n?t&&!n?2:1:3,e.skipBits(1)}else s=1;else s=3,a=1;const l=(e.readBits(16)+1)*(e.readBits(16)+1);let c=tI(CI).level;for(const t of CI)if(l<=t.maxPictureSize){c=t.level;break}return{profile:i,level:c,bitDepth:r,chromaSubsampling:s,videoFullRangeFlag:a,colourPrimaries:2===o?1:1===o?6:2,transferCharacteristics:2===o?1:1===o?6:2,matrixCoefficients:7===o?0:2===o?1:1===o?6:2}})(t.data)}return{codec:OI(this.internalTrack.info),codedWidth:this.internalTrack.info.width,codedHeight:this.internalTrack.info.height,displayAspectWidth:this.internalTrack.info.squarePixelWidth,displayAspectHeight:this.internalTrack.info.squarePixelHeight,description:null!==(t=this.internalTrack.info.codecDescription)&&void 0!==t?t:void 0,colorSpace:null!==(e=this.internalTrack.info.colorSpace)&&void 0!==e?e:void 0}})():null}}class mT extends fT{constructor(t){super(t),this.decoderConfig=null,this.internalTrack=t}getCodec(){return this.internalTrack.info.codec}getNumberOfChannels(){return this.internalTrack.info.numberOfChannels}getSampleRate(){return this.internalTrack.info.sampleRate}async getDecoderConfig(){var t,e;return this.internalTrack.info.codec?null!==(t=this.decoderConfig)&&void 0!==t?t:this.decoderConfig={codec:PI(this.internalTrack.info),numberOfChannels:this.internalTrack.info.numberOfChannels,sampleRate:this.internalTrack.info.sampleRate,description:null!==(e=this.internalTrack.info.codecDescription)&&void 0!==e?e:void 0}:null}}const vT=(t,e)=>{if(t.presentationTimestamps){const n=mI(t.presentationTimestamps,e,(t=>t.presentationTimestamp));return-1===n?-1:t.presentationTimestamps[n].sampleIndex}{const n=mI(t.sampleTimingEntries,e,(t=>t.startDecodeTimestamp));if(-1===n)return-1;const i=t.sampleTimingEntries[n];return i.startIndex+Math.min(Math.floor((e-i.startDecodeTimestamp)/i.delta),i.count-1)}},gT=(t,e)=>{if(!t.keySampleIndices)return vT(t,e);if(t.presentationTimestamps){const n=mI(t.presentationTimestamps,e,(t=>t.presentationTimestamp));if(-1===n)return-1;for(let e=n;e>=0;e--){const n=t.presentationTimestamps[e].sampleIndex;if(-1!==pI(t.keySampleIndices,n,(t=>t)))return n}return-1}{var n;const i=vT(t,e),r=mI(t.keySampleIndices,i,(t=>t));return null!==(n=t.keySampleIndices[r])&&void 0!==n?n:-1}},yT=(t,e)=>{const n=mI(t.sampleTimingEntries,e,(t=>t.startIndex)),i=t.sampleTimingEntries[n];if(!i||i.startIndex+i.count<=e)return null;let r=i.startDecodeTimestamp+(e-i.startIndex)*i.delta;const o=mI(t.sampleCompositionTimeOffsets,e,(t=>t.startIndex)),s=t.sampleCompositionTimeOffsets[o];s&&e-s.startIndex<s.count&&(r+=s.offset);const a=t.sampleSizes[Math.min(e,t.sampleSizes.length-1)],l=mI(t.sampleToChunk,e,(t=>t.startSampleIndex)),c=t.sampleToChunk[l];Z_(c);const u=c.startChunkIndex+Math.floor((e-c.startSampleIndex)/c.samplesPerChunk),d=t.chunkOffsets[u],h=c.startSampleIndex+(u-c.startChunkIndex)*c.samplesPerChunk;let f=0,p=d;if(1===t.sampleSizes.length)p+=a*(e-h),f+=a*c.samplesPerChunk;else for(let n=h;n<h+c.samplesPerChunk;n++){const i=t.sampleSizes[n];n<e&&(p+=i),f+=i}let m=i.delta;if(t.presentationTimestamps){const n=t.presentationTimestampIndexMap[e];Z_(void 0!==n),n<t.presentationTimestamps.length-1&&(m=t.presentationTimestamps[n+1].presentationTimestamp-r)}return{presentationTimestamp:r,duration:m,sampleOffset:p,sampleSize:a,chunkOffset:d,chunkSize:f,isKeyFrame:!t.keySampleIndices||-1!==pI(t.keySampleIndices,e,(t=>t))}},bT=(t,e)=>{var n;if(!t.keySampleIndices)return e+1;const i=mI(t.keySampleIndices,e,(t=>t));return null!==(n=t.keySampleIndices[i+1])&&void 0!==n?n:-1},kT=(t,e)=>{t.startTimestamp+=e,t.endTimestamp+=e;for(const n of t.samples)n.presentationTimestamp+=e;for(const n of t.presentationTimestamps)n.presentationTimestamp+=e},xT=t=>{const[e,,,n]=t,i=Math.hypot(e,n),r=e/i,o=n/i,s=-Math.atan2(o,r)*(180/Math.PI);return Number.isFinite(s)?s:0},wT=t=>0===t.sampleSizes.length;class _T{}class IT extends _T{async _getMajorBrand(t){let e=t._reader.requestSlice(0,12);return e instanceof Promise&&(e=await e),e?(e.skip(4),"ftyp"!==$T(e,4)?null:$T(e,4)):null}_createDemuxer(t){return new hT(t)}}const TT=new class extends IT{async _canReadInput(t){const e=await this._getMajorBrand(t);return!!e&&"qt  "!==e}get name(){return"MP4"}get mimeType(){return"video/mp4"}};class ET{constructor(){this._disposed=!1,this._sizePromise=null,this.onread=null}async getSizeOrNull(){var t;if(this._disposed)throw new AT;return null!==(t=this._sizePromise)&&void 0!==t?t:this._sizePromise=Promise.resolve(this._retrieveSize())}async getSize(){if(this._disposed)throw new AT;const t=await this.getSizeOrNull();if(null===t)throw new Error("Cannot determine the size of an unsized source.");return t}}class ST extends ET{constructor(t,e={}){var n;if(!(t instanceof ReadableStream))throw new TypeError("stream must be a ReadableStream.");if(!e||"object"!=typeof e)throw new TypeError("options must be an object.");if(void 0!==e.maxCacheSize&&(!II(e.maxCacheSize)||e.maxCacheSize<0))throw new TypeError("options.maxCacheSize, when provided, must be a non-negative number.");super(),this._reader=null,this._cache=[],this._pendingSlices=[],this._currentIndex=0,this._targetIndex=0,this._maxRequestedIndex=0,this._endIndex=null,this._pulling=!1,this._stream=t,this._maxCacheSize=null!==(n=e.maxCacheSize)&&void 0!==n?n:16777216}_retrieveSize(){return this._endIndex}_read(t,e){if(null!==this._endIndex&&e>this._endIndex)return null;this._maxRequestedIndex=Math.max(this._maxRequestedIndex,e);const n=mI(this._cache,t,(t=>t.start)),i=-1!==n?this._cache[n]:null;if(i&&i.start<=t&&e<=i.end)return{bytes:i.bytes,view:i.view,offset:i.start};let r=t;const o=new Uint8Array(e-t);if(-1!==n)for(let i=n;i<this._cache.length;i++){const n=this._cache[i];if(n.start>=e)break;const s=Math.max(t,n.start);s>r&&this._throwDueToCacheMiss();const a=Math.min(e,n.end);s<a&&(o.set(n.bytes.subarray(s-n.start,a-n.start),s-t),r=a)}if(r===e)return{bytes:o,view:iI(o),offset:t};this._currentIndex>r&&this._throwDueToCacheMiss();const{promise:s,resolve:a,reject:l}=vI();return this._pendingSlices.push({start:t,end:e,bytes:o,resolve:a,reject:l}),this._targetIndex=Math.max(this._targetIndex,e),this._pulling||(this._pulling=!0,this._pull().catch((t=>{if(this._pulling=!1,!(this._pendingSlices.length>0))throw t;this._pendingSlices.forEach((e=>e.reject(t))),this._pendingSlices.length=0}))),s}_throwDueToCacheMiss(){throw new Error("Read is before the cached region. With ReadableStreamSource, you must access the data more sequentially or increase the size of its cache.")}async _pull(){for(null!==(t=this._reader)&&void 0!==t||(this._reader=this._stream.getReader());this._currentIndex<this._targetIndex&&!this._disposed;){var t;const{done:e,value:n}=await this._reader.read();if(e){for(const t of this._pendingSlices)t.resolve(null);this._pendingSlices.length=0,this._endIndex=this._currentIndex;break}const i=this._currentIndex,r=this._currentIndex+n.byteLength;for(let t=0;t<this._pendingSlices.length;t++){const e=this._pendingSlices[t],o=Math.max(i,e.start),s=Math.min(r,e.end);o<s&&(e.bytes.set(n.subarray(o-i,s-i),o-e.start),s===e.end&&(e.resolve({bytes:e.bytes,view:iI(e.bytes),offset:e.start}),this._pendingSlices.splice(t,1),t--))}for(this._cache.push({start:i,end:r,bytes:n,view:iI(n),age:0});this._cache.length>0;){const t=this._cache[0];if(this._maxRequestedIndex-t.end<=this._maxCacheSize)break;this._cache.shift()}this._currentIndex+=n.byteLength}this._pulling=!1}_dispose(){this._pendingSlices.length=0,this._cache.length=0}}null!==(ge=Symbol.dispose)&&void 0!==ge||(Symbol.dispose=Symbol("Symbol.dispose"));class MT{get disposed(){return this._disposed}constructor(t){if(this._demuxerPromise=null,this._format=null,this._disposed=!1,!t||"object"!=typeof t)throw new TypeError("options must be an object.");if(!Array.isArray(t.formats)||t.formats.some((t=>!(t instanceof _T))))throw new TypeError("options.formats must be an array of InputFormat.");if(!(t.source instanceof ET))throw new TypeError("options.source must be a Source.");if(t.source._disposed)throw new Error("options.source must not be disposed.");this._formats=t.formats,this._source=t.source,this._reader=new NT(t.source)}_getDemuxer(){var t;return null!==(t=this._demuxerPromise)&&void 0!==t?t:this._demuxerPromise=(async()=>{this._reader.fileSize=await this._source.getSizeOrNull();for(const t of this._formats)if(await t._canReadInput(this))return this._format=t,t._createDemuxer(this);throw new Error("Input has an unsupported or unrecognizable format.")})()}get source(){return this._source}async getFormat(){return await this._getDemuxer(),Z_(this._format),this._format}async computeDuration(){return(await this._getDemuxer()).computeDuration()}async getFirstTimestamp(){const t=await this.getTracks();if(0===t.length)return 0;const e=await Promise.all(t.map((t=>t.getFirstTimestamp())));return Math.min(...e)}async getTracks(){return(await this._getDemuxer()).getTracks()}async getVideoTracks(){return(await this.getTracks()).filter((t=>t.isVideoTrack()))}async getAudioTracks(){return(await this.getTracks()).filter((t=>t.isAudioTrack()))}async getPrimaryVideoTrack(){var t;return null!==(t=(await this.getTracks()).find((t=>t.isVideoTrack())))&&void 0!==t?t:null}async getPrimaryAudioTrack(){var t;return null!==(t=(await this.getTracks()).find((t=>t.isAudioTrack())))&&void 0!==t?t:null}async getMimeType(){return(await this._getDemuxer()).getMimeType()}async getMetadataTags(){return(await this._getDemuxer()).getMetadataTags()}dispose(){this._disposed||(this._disposed=!0,this._source._disposed=!0,this._source._dispose())}[Symbol.dispose](){this.dispose()}}class AT extends Error{constructor(t="Input has been disposed."){super(t),this.name="InputDisposedError"}}class NT{constructor(t){this.source=t}requestSlice(t,e){if(this.source._disposed)throw new AT;if(t<0)return null;if(null!==this.fileSize&&t+e>this.fileSize)return null;const n=t+e,i=this.source._read(t,n);return i instanceof Promise?i.then((e=>e?new FT(e.bytes,e.view,e.offset,t,n):null)):i?new FT(i.bytes,i.view,i.offset,t,n):null}requestSliceRange(t,e,n){if(this.source._disposed)throw new AT;if(t<0)return null;if(null!==this.fileSize)return this.requestSlice(t,yI(this.fileSize-t,e,n));{const i=this.requestSlice(t,n),r=i=>{if(i)return i;const r=i=>(Z_(null!==i),this.requestSlice(t,yI(i-t,e,n))),o=this.source._retrieveSize();return o instanceof Promise?o.then(r):r(o)};return i instanceof Promise?i.then(r):r(i)}}}class FT{constructor(t,e,n,i,r){this.bytes=t,this.view=e,this.offset=n,this.start=i,this.end=r,this.bufferPos=i-n}static tempFromBytes(t){return new FT(t,iI(t),0,0,t.length)}get length(){return this.end-this.start}get filePos(){return this.offset+this.bufferPos}set filePos(t){this.bufferPos=t-this.offset}get remainingLength(){return Math.max(this.end-this.filePos,0)}skip(t){this.bufferPos+=t}slice(t,e=this.end-t){if(t<this.start||t+e>this.end)throw new RangeError("Slicing outside of original slice.");return new FT(this.bytes,this.view,this.offset,t,t+e)}}const CT=(t,e)=>{if(t.filePos<t.start||t.filePos+e>t.end)throw new RangeError(`Tried reading [${t.filePos}, ${t.filePos+e}), but slice is [${t.start}, ${t.end}). This is likely an internal error, please report it alongside the file that caused it.`)},OT=(t,e)=>{CT(t,e);const n=t.bytes.subarray(t.bufferPos,t.bufferPos+e);return t.bufferPos+=e,n},PT=t=>(CT(t,1),t.view.getUint8(t.bufferPos++)),DT=t=>{CT(t,2);const e=t.view.getUint16(t.bufferPos,!1);return t.bufferPos+=2,e},RT=t=>{CT(t,3);const e=gI(t.view,t.bufferPos);return t.bufferPos+=3,e},BT=t=>{CT(t,2);const e=t.view.getInt16(t.bufferPos,!1);return t.bufferPos+=2,e},LT=t=>{CT(t,4);const e=t.view.getUint32(t.bufferPos,!1);return t.bufferPos+=4,e},zT=t=>{CT(t,4);const e=t.view.getInt32(t.bufferPos,!1);return t.bufferPos+=4,e},WT=t=>4294967296*LT(t)+LT(t),jT=t=>4294967296*zT(t)+LT(t),UT=t=>{CT(t,8);const e=t.view.getFloat64(t.bufferPos,!1);return t.bufferPos+=8,e},$T=(t,e)=>{CT(t,e);let n="";for(let i=0;i<e;i++)n+=String.fromCharCode(t.bytes[t.bufferPos++]);return n};var qT=new WeakMap,VT=new WeakMap,GT=new WeakMap,HT=new WeakMap,KT=new WeakMap,XT=new WeakMap,YT=new WeakMap,QT=new WeakMap,JT=new WeakMap,ZT=new WeakMap,tE=new WeakMap,eE=new WeakMap,nE=new WeakMap,iE=new WeakMap,rE=new WeakMap,oE=new WeakSet;class sE extends Ud{constructor(...t){super(...t),U(this,oE),W(this,qT,null),W(this,VT,null),W(this,GT,null),W(this,HT,null),W(this,KT,!1),W(this,XT,!1),W(this,YT,!1),W(this,QT,!1),W(this,JT,void 0),W(this,ZT,null),W(this,tE,null),W(this,eE,!1),W(this,nE,!1),W(this,iE,null),W(this,rE,!1)}get name(){return"FMP4Demuxer"}get defaults(){return{}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"pushChunk","endOfStream"])}pushChunk(t,e={}){if(z(YT,this)||z(QT,this))return;const n=t instanceof Uint8Array?t:new Uint8Array(t),i=!!e.isInit;j(ZT,this,B(oE,this,hE).call(this,n,e,i)),i&&(j(JT,this,n),j(tE,this,null),this.trigger("demux:init",{data:n})),B(oE,this,dE).call(this);try{var r;const t=null===(r=z(qT,this))||void 0===r?void 0:r.write(n);t&&"function"==typeof t.catch&&t.catch((t=>{B(oE,this,fE).call(this,t)}))}catch(t){if(z(YT,this)||B(oE,this,aE).call(this,t))return;return this.log.warn("[FMP4Demuxer] mediabunny demux failed",t),void B(oE,this,fE).call(this,t)}const o=B(oE,this,vE).call(this);o&&"function"==typeof o.catch&&o.catch((t=>{B(oE,this,fE).call(this,t)}))}endOfStream(){if(z(QT,this))return;if(z(eE,this))return;let t;j(eE,this,!0),j(nE,this,!1),j(rE,this,!1);try{var e;t=null===(e=z(qT,this))||void 0===e?void 0:e.close()}catch(e){t=Promise.resolve()}let n=!1;B(oE,this,cE).call(this),j(iE,this,setTimeout((()=>{j(iE,this,null),n||z(nE,this)||z(QT,this)||B(oE,this,uE).call(this)}),20)),Promise.resolve(t).catch((()=>{})).finally((()=>{n=!0,B(oE,this,cE).call(this),B(oE,this,uE).call(this)}))}onDispose(){super.onDispose(),j(QT,this,!0);try{var t,e;null===(t=z(GT,this))||void 0===t||null===(e=t.close)||void 0===e||e.call(t)}catch(t){}this.endOfStream();try{var n,i;null===(n=z(VT,this))||void 0===n||null===(i=n.dispose)||void 0===i||i.call(n)}catch(t){}j(GT,this,null),j(VT,this,null),j(YT,this,!1),j(ZT,this,null),j(HT,this,null),j(KT,this,!1),j(XT,this,!1),j(eE,this,!1),j(nE,this,!1),j(rE,this,!1),B(oE,this,cE).call(this)}}function aE(t){return!!z(QT,this)&&(!t||("InputDisposedError"===(null==t?void 0:t.name)||("string"==typeof(null==t?void 0:t.message)?t.message:"").includes("Input has been disposed")))}function lE(){try{var t,e;const n=null===(t=z(qT,this))||void 0===t||null===(e=t.close)||void 0===e?void 0:e.call(t);n&&"function"==typeof n.catch&&n.catch((()=>{}))}catch(t){}j(qT,this,null)}function cE(){null!==z(iE,this)&&(clearTimeout(z(iE,this)),j(iE,this,null))}function uE(){if(z(nE,this)||z(QT,this)||z(YT,this))return;if(j(nE,this,!0),z(XT,this))return void j(rE,this,!0);j(rE,this,!1);const t=B(oE,this,vE).call(this);t&&"function"==typeof t.catch&&t.catch((t=>{B(oE,this,fE).call(this,t)}))}function dE(){if(z(VT,this)&&z(qT,this))return;const t=Vd.TransformStream;if(void 0===t)throw new Error("TransformStream is not available in this environment");const{readable:e,writable:n}=new t;j(qT,this,n.getWriter()),j(VT,this,new MT({source:new ST(e),formats:[TT]})),j(KT,this,!1)}function hE(t,e,n){const i={isInit:n,byteLength:(null==t?void 0:t.byteLength)||0};return"number"==typeof e.loaded&&(i.loaded=e.loaded),"number"==typeof e.total&&(i.total=e.total),"number"==typeof e.pts&&(i.pts=e.pts),"number"==typeof e.dts&&(i.dts=e.dts),"number"==typeof e.duration&&(i.duration=e.duration),"boolean"==typeof e.isKey&&(i.isKey=e.isKey),i}function fE(t){if(z(YT,this)||B(oE,this,aE).call(this,t))return;if(B(oE,this,mE).call(this,t))return void j(KT,this,!1);j(YT,this,!0),B(oE,this,lE).call(this);try{var e,n;null===(e=z(GT,this))||void 0===e||null===(n=e.close)||void 0===n||n.call(e)}catch(t){}j(GT,this,null);try{var i,r;null===(i=z(VT,this))||void 0===i||null===(r=i.dispose)||void 0===r||r.call(i)}catch(t){}j(VT,this,null);const o={error:t,recoverable:!1,severity:"fatal",streamClosed:z(eE,this),streamFinalized:z(nE,this)};z(ZT,this)&&(o.context={...z(ZT,this)}),this.trigger("demux:error",o)}function pE(t){if(!t)return!1;const e="string"==typeof(null==t?void 0:t.message)?t.message:"";return!!e&&(e.includes("unsupported or unrecognizable format")||e.includes("No supported tracks found"))}function mE(t){return!!B(oE,this,pE).call(this,t)&&(!z(nE,this)||z(rE,this))}async function vE(){if(!(z(QT,this)||z(YT,this)||z(KT,this)||z(XT,this))){j(XT,this,!0);try{B(oE,this,dE).call(this);const t=await z(VT,this).getPrimaryVideoTrack(),e=t?null:await z(VT,this).getPrimaryAudioTrack(),n=t||e;if(!n)throw new Error("No supported tracks found in MP4");const i=await n.getDecoderConfig(),r=await n.getCodecParameterString(),o=await z(VT,this).getMimeType();this.trigger("demux:init",{...z(JT,this)?{data:z(JT,this)}:{},decoderConfig:i,codec:r,mimeType:o}),j(GT,this,new nT(n)),j(KT,this,!0),j(HT,this,(async()=>{try{for await(const t of z(GT,this).packets()){if(z(QT,this))break;const e="number"==typeof t.timestamp?t.timestamp:0;null===z(tE,this)&&j(tE,this,e);let n=e-z(tE,this);n<0&&(n=0),this.trigger("demux:sample",{data:t.data,pts:n,dts:n,duration:t.duration,isKey:"key"===t.type})}this.trigger("demux:complete")}catch(t){B(oE,this,fE).call(this,t)}})())}catch(t){if(B(oE,this,mE).call(this,t))return;throw t}finally{j(XT,this,!1),!z(rE,this)||z(YT,this)||z(QT,this)||B(oE,this,uE).call(this)}}}const gE=1e6,yE=24e3/1001,bE={primaries:"bt709",transfer:"bt709",matrix:"bt709",fullRange:!0},kE=new Uint8Array;function xE(t){return t?t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):kE:kE}let wE=null;const _E={video:(ye=new WeakMap,be=new WeakMap,ke=new WeakMap,xe=new WeakMap,we=new WeakMap,_e=new WeakMap,Ie=new WeakMap,Te=new WeakMap,Ee=new WeakMap,Se=new WeakMap,Me=new WeakMap,Ae=new WeakMap,Ne=new WeakMap,Fe=new WeakMap,Ce=new WeakMap,Oe=new WeakMap,Pe=new WeakMap,De=new WeakMap,Re=new WeakMap,Be=new WeakMap,Le=new WeakMap,ze=new WeakMap,We=new WeakMap,je=new WeakMap,Ue=new WeakMap,$e=new WeakMap,qe=new WeakMap,Ve=new WeakMap,Ge=new WeakMap,He=new WeakMap,Ke=new WeakMap,Xe=new WeakMap,Ye=new WeakMap,Qe=new WeakMap,Je=new WeakSet,class extends J_{get name(){return"WebCodecsSegmentDecoder"}get defaults(){return{decodedHorizonSeconds:1,maxDecodedFrames:24,maxDecodeQueueSize:4,av1ColorSpaceOverrideEnabled:!0,convertFramesToBitmapsOnAndroid:!0,androidFixEndOfSegmentDelta:.2}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"decodeChunk"])}constructor(...t){super(...t),U(this,Je),W(this,ye,void 0),W(this,be,[]),W(this,ke,void 0),W(this,xe,void 0),W(this,we,void 0),W(this,_e,void 0),W(this,Ie,[]),W(this,Te,void 0),W(this,Ee,new Map),W(this,Se,!0),W(this,Me,!1),W(this,Ae,!1),W(this,Ne,!1),W(this,Fe,void 0),W(this,Ce,!1),W(this,Oe,!1),W(this,Pe,0),W(this,De,void 0),W(this,Re,void 0),W(this,Be,{}),W(this,Le,void 0),W(this,ze,0),W(this,We,null),W(this,je,!1),W(this,Ue,null),W(this,$e,void 0),W(this,qe,0),W(this,Ve,0),W(this,Ge,0),W(this,He,0),W(this,Ke,!1),W(this,Xe,!1),W(this,Ye,.2),W(this,Qe,Promise.resolve()),j(ke,this,this.settings.decodedHorizonSeconds||1),j(xe,this,B(Je,this,pS).call(this,this.settings.maxDecodedFrames)),j(we,this,B(Je,this,vS).call(this,this.settings.maxDecodeQueueSize)),j(Ke,this,Jv()),j(Xe,this,B(Je,this,sS).call(this,this.settings.convertFramesToBitmapsOnAndroid)),j(Ye,this,B(Je,this,aS).call(this,this.settings.androidFixEndOfSegmentDelta)),j(_e,this,(()=>0)),j(Te,this,(()=>B(Je,this,YE).call(this)));const e=this.settings.demuxerOptions?{FMP4Demuxer:this.settings.demuxerOptions}:{};j(ye,this,new sE(e)),z(ye,this).on("demux:init",(t=>B(Je,this,WE).call(this,t))),z(ye,this).on("demux:sample",(t=>B(Je,this,jE).call(this,t))),z(ye,this).on("demux:complete",(()=>B(Je,this,UE).call(this))),z(ye,this).on("demux:error",(t=>B(Je,this,AE).call(this,t)))}setCurrentTimeProvider(t){"function"==typeof t&&j(_e,this,t)}setTimeOffsetSeconds(t){const e=Number(t);j(ze,this,Number.isFinite(e)?e:0)}setSeekTargetTimeSeconds(t){const e=Number(t);j(We,this,Number.isFinite(e)?e:null),j(je,this,!1),j(Ue,this,null)}endOfStream(){z(ye,this)&&"function"==typeof z(ye,this).endOfStream&&z(ye,this).endOfStream()}configure(t){super.configure(t),j(Be,this,{codec:B(Je,this,xS).call(this,t),width:(null==t?void 0:t.codedWidth)||(null==t?void 0:t.width),height:(null==t?void 0:t.codedHeight)||(null==t?void 0:t.height)}),j(De,this,z(Be,this).codec)}setSegment(t){this.lastSegment=t,B(Je,this,RE).call(this)}setNodeId(t){j($e,this,t)}decode(t){this.setSegment(t);const e=null==t?void 0:t.arrayBuffer;e&&z(ye,this).pushChunk(e,{isInit:!(null==t||!t.isInit)})}async decodeChunk(t,e={}){await z(ye,this).pushChunk(t,{isInit:!!e.isInit,pts:"number"==typeof e.pts?e.pts:void 0,dts:"number"==typeof e.dts?e.dts:void 0,duration:"number"==typeof e.duration?e.duration:void 0,isKey:!!e.isKey,loaded:"number"==typeof e.loaded?e.loaded:void 0,total:"number"==typeof e.total?e.total:void 0})}get decodedFrames(){return z(be,this).slice()}onDispose(){if(super.onDispose(),B(Je,this,ZE).call(this),z(ye,this)&&"function"==typeof z(ye,this).dispose&&z(ye,this).dispose(),j(be,this,[]),j(Ie,this,[]),z(Ee,this).clear(),j(Ue,this,null),z(Fe,this)&&"function"==typeof z(Fe,this).close)try{z(Fe,this).close()}catch(t){}j(Fe,this,null),j(Ce,this,!1),j(Re,this,null),j(De,this,null),j($e,this,null),j(Qe,this,Promise.resolve()),B(Je,this,RE).call(this)}}),audio:(Ze=new WeakMap,tn=new WeakMap,en=new WeakMap,nn=new WeakMap,rn=new WeakMap,on=new WeakMap,sn=new WeakMap,an=new WeakSet,class extends J_{constructor(...t){super(...t),U(this,an),W(this,Ze,void 0),W(this,tn,[]),W(this,en,0),W(this,nn,!1),W(this,rn,!1),W(this,on,void 0),W(this,sn,0)}get name(){return"WebAudioDecoder"}setSegment(t){j(on,this,t)}setTimeOffsetSeconds(t){const e=Number(t);j(sn,this,Number.isFinite(e)?e:0)}decode(t){if(this.lastSegment=t,!t)return;if(t.isInit)return void j(Ze,this,xE(t.arrayBuffer));const e=t.arrayBuffer;e&&B(an,this,EE).call(this,xE(e),!0)}decodeChunk(t,e={}){if(!t)return;if(e.isInit)return void j(Ze,this,xE(t));const n=xE(t);if(!n.length)return;z(tn,this).push(n),j(en,this,z(en,this)+n.length);const i=Number(e.loaded),r=Number(e.total);Number.isFinite(i)&&Number.isFinite(r)&&r>0&&i>=r&&B(an,this,IE).call(this)}endOfStream(){B(an,this,IE).call(this)}onDispose(){super.onDispose(),j(Ze,this,void 0),j(tn,this,[]),j(en,this,0),j(nn,this,!1),j(rn,this,!1),j(on,this,void 0)}}),image:class extends J_{#z;#W=0;#j=[];#U=0;#$;get name(){return"ImageDecoder"}setSegment(t){this.#z=t}setTimeOffsetSeconds(t){const e=Number(t);this.#W=Number.isFinite(e)?e:0}decode(t){super.decode(t),t&&(this.#z=t);const e=null==t?void 0:t.arrayBuffer;e instanceof ArrayBuffer&&(this.#j=[new Uint8Array(e)],this.#U=e.byteLength,this.endOfStream())}decodeChunk(t,e={}){if(null!=e&&e.isInit)return;const n=function(t){if(t)return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):ArrayBuffer.isView(t)&&t.buffer?new Uint8Array(t.buffer):void 0}(t);n&&n.length&&(this.#j.push(n),this.#U+=n.length)}async endOfStream(){var t,e,n;if(this.#$)return;if(!(this.#j.length&&this.#U>0))return;const i=new Uint8Array(this.#U);let r=0;for(let t=0;t<this.#j.length;t+=1){const e=this.#j[t];i.set(e,r),r+=e.length}const o=null===(t=this.#z)||void 0===t?void 0:t.chosenRepresentation,s=(null==o?void 0:o.mime)||(null===(e=this.track)||void 0===e?void 0:e.mimeType)||(null===(n=this.track)||void 0===n?void 0:n.mime)||function(t){if(t instanceof Uint8Array&&!(t.byteLength<4))return t.byteLength>=8&&137===t[0]&&80===t[1]&&78===t[2]&&71===t[3]&&13===t[4]&&10===t[5]&&26===t[6]&&10===t[7]?"image/png":255===t[0]&&216===t[1]&&255===t[2]?"image/jpeg":t.byteLength>=6&&71===t[0]&&73===t[1]&&70===t[2]&&56===t[3]?"image/gif":t.byteLength>=12&&82===t[0]&&73===t[1]&&70===t[2]&&70===t[3]&&87===t[8]&&69===t[9]&&66===t[10]&&80===t[11]?"image/webp":void 0}(i);try{var a,l;const t=await async function(t,e){const n=function(t,e){if(!(t&&t.byteLength>0))return;if("function"!=typeof Vd.Blob)return;const n="string"==typeof e?e:"";return new Vd.Blob([t],n?{type:n}:void 0)}(t,e);if(!n)throw new Error("Image decode requires Blob support");let i;if("function"==typeof Vd.Image&&Vd.URL&&"function"==typeof Vd.URL.createObjectURL&&"function"==typeof Vd.URL.revokeObjectURL){const t=Vd.URL.createObjectURL(n);try{const e=new Vd.Image;return await new Promise(((n,i)=>{e.onload=()=>n(),e.onerror=t=>i(t||new Error("Image decode failed")),e.src=t})),e}catch(t){i=t}finally{Vd.URL.revokeObjectURL(t)}}if("function"==typeof Vd.createImageBitmap)try{return Vd.createImageBitmap(n)}catch(t){i=t}if(i)throw i;throw new Error("No supported image decode mechanism")}(i,s);this.#$=t;const e=function(t){if(!t)return;const e=[[t.naturalWidth,t.naturalHeight],[t.width,t.height],[t.displayWidth,t.displayHeight],[t.videoWidth,t.videoHeight],[t.codedWidth,t.codedHeight]];for(let t=0;t<e.length;t+=1){const[n,i]=e[t],r=Number(n),o=Number(i);if(Number.isFinite(r)&&Number.isFinite(o)&&r>0&&o>0)return{width:r,height:o}}}(t);e&&o&&(Uy(o.width)||(o.width=e.width),Uy(o.height)||(o.height=e.height)),this.trigger("decoder:frame",{pts:this.#W,duration:Uy(null===(a=this.#z)||void 0===a?void 0:a.duration)?this.#z.duration:null===(l=this.track)||void 0===l?void 0:l.duration,frame:t})}catch(t){this.trigger("decoder:error",{error:t})}}onDispose(){if(super.onDispose(),this.#$&&"function"==typeof this.#$.close)try{this.#$.close()}catch(t){}this.#$=null,this.#j=[],this.#U=0,this.#z=null}}};function IE(){if(z(nn,this)||z(rn,this))return;if(!z(en,this))return;const t=B(an,this,TE).call(this);t.length&&B(an,this,EE).call(this,t,!1)}function TE(){const t=z(Ze,this),e=t?t.length:0,n=e+z(en,this);if(!n)return kE;const i=new Uint8Array(n);let r=0;e&&(i.set(t,r),r+=e);for(let t=0;t<z(tn,this).length;t+=1){const e=z(tn,this)[t];e&&e.length&&(i.set(e,r),r+=e.length)}return i}function EE(t,e){if(z(nn,this)||z(rn,this))return;const n=e?B(an,this,SE).call(this,t):t;if(!n||!n.length)return;const i=function(){if(wE)return wE;const t=Vd.AudioContext||Vd.webkitAudioContext;return t?(wE=new t,wE):null}();if(!i||"function"!=typeof i.decodeAudioData)return void this.trigger("decoder:error",{error:new Error("AudioContext is not available")});const r=n.buffer.slice(0);j(rn,this,!0),new Promise(((t,e)=>{const n=i.decodeAudioData(r,t,e);n&&"function"==typeof n.then&&n.then(t).catch(e)})).then((t=>{var e;j(nn,this,!0);const n=Number.isFinite(null==t?void 0:t.duration)?t.duration:Number(null===(e=z(on,this))||void 0===e?void 0:e.duration)||void 0;this.trigger("decoder:audio",{audioBuffer:t,pts:z(sn,this),duration:n})})).catch((t=>{this.trigger("decoder:error",{error:t})})).finally((()=>{j(tn,this,[]),j(en,this,0),j(rn,this,!1)}))}function SE(t){const e=z(Ze,this);if(!e||!e.length)return t;const n=e.length+t.length,i=new Uint8Array(n);return i.set(e,0),i.set(t,e.length),i}function ME(t,e){var n,i,r,o,s;const a=null!=t&&t.context&&"object"==typeof t.context?t.context:void 0;return{error:e,errorName:null==e?void 0:e.name,errorMessage:"string"==typeof(null==e?void 0:e.message)?e.message:void 0,nodeId:z($e,this),trackId:null===(n=this.track)||void 0===n?void 0:n.id,trackType:null===(i=this.track)||void 0===i?void 0:i.type,codec:(null===(r=z(Be,this))||void 0===r?void 0:r.codec)||z(De,this),segmentId:null===(o=this.lastSegment)||void 0===o?void 0:o.id,segmentIsInit:!(null===(s=this.lastSegment)||void 0===s||!s.isInit),chunkContext:a}}function AE(t){const e=(null==t?void 0:t.error)||t,n=B(Je,this,ME).call(this,t,e);if(B(Je,this,NE).call(this,t,e))return this.log.warn("[onDemuxError] recoverable demux error",n),void B(Je,this,UE).call(this);const i=B(Je,this,zE).call(this,t),r=B(Je,this,FE).call(this,i);if(i&&0===i.missingFrames)return this.log.warn(`[onDemuxError] ignoring demux error (no missing frames)${r}`,{...n,missingFrameStats:i}),void B(Je,this,UE).call(this);let o=n;i&&(o={...n,missingFrameStats:i}),this.log.warn(`[onDemuxError] demux error${r}`,o),this.trigger("decoder:error",t)}function NE(t,e){if("boolean"==typeof(null==t?void 0:t.recoverable))return t.recoverable;const n="string"==typeof(null==t?void 0:t.severity)?t.severity:"";if(n)return"recoverable"===n||"transient"===n;const i="string"==typeof(null==e?void 0:e.message)?e.message:"";return!!i&&(i.includes("unsupported or unrecognizable format")||i.includes("No supported tracks found"))}function FE(t){return t?` expectedFrames=${B(Je,this,CE).call(this,t.expectedFrames)} demuxedFrames=${B(Je,this,CE).call(this,t.demuxedFrames)} missingFrames=${B(Je,this,CE).call(this,t.missingFrames)}`:""}function CE(t){if(null==t)return"unknown";const e=Number(t);return Number.isFinite(e)?String(e):"unknown"}function OE(t,e={}){return{expectedFrames:null,demuxedFrames:z(qe,this),missingFrames:null,reason:t,...e}}function PE(t){const e=Number(t);return Number.isFinite(e)?e:null}function DE(t){var e,n;const i=(null==t?void 0:t.context)||{},r=Number(i.loaded),o=Number(i.total);if(!Number.isFinite(o)||o<=0||!Number.isFinite(r)||r<o)return null;if(null!==(e=this.lastSegment)&&void 0!==e&&e.isInit)return null;const s=Number(null===(n=this.lastSegment)||void 0===n?void 0:n.duration);if(!Number.isFinite(s)||s<=0)return B(Je,this,OE).call(this,"segment_duration_unavailable",{segmentDurationSeconds:B(Je,this,PE).call(this,s),demuxedCoverageSeconds:z(He,this),frameDurationSeconds:null});const a=B(Je,this,LE).call(this);if(!Number.isFinite(a)||a<=0){const t=Math.max(1,Math.round(s*yE));return{expectedFrames:t,demuxedFrames:z(qe,this),missingFrames:Math.max(0,t-z(qe,this)),reason:"fallback_fps",fallbackFps:yE,segmentDurationSeconds:s,demuxedCoverageSeconds:z(He,this),frameDurationSeconds:B(Je,this,PE).call(this,a)}}const l=Math.min(.5*a,.02),c=Math.max(0,s-z(He,this)),u=c<=l?0:c,d=Math.max(1,Math.floor((s+l)/a)),h=Math.max(0,d-z(qe,this)),f=u>0?Math.ceil(u/a):0;return{expectedFrames:d,demuxedFrames:z(qe,this),missingFrames:Math.max(h,f),segmentDurationSeconds:s,demuxedCoverageSeconds:z(He,this),frameDurationSeconds:a}}function RE(){j(qe,this,0),j(Ve,this,0),j(Ge,this,0),j(He,this,0)}function BE(t){j(qe,this,z(qe,this)+1);const e=Number(null==t?void 0:t.pts),n=Number(null==t?void 0:t.duration);if(Number.isFinite(n)&&n>0&&(j(Ve,this,z(Ve,this)+n),j(Ge,this,z(Ge,this)+1)),!Number.isFinite(e))return;const i=Number.isFinite(n)&&n>0?e+n:e;Number.isFinite(i)&&i>z(He,this)&&j(He,this,i)}function LE(){return z(Ge,this)>0?z(Ve,this)/z(Ge,this):z(qe,this)>0&&z(He,this)>0?z(He,this)/z(qe,this):null}function zE(t){return B(Je,this,DE).call(this,t)}function WE(t){(null==t?void 0:t.data)instanceof Uint8Array&&(j(Re,this,t.data.buffer),B(Je,this,eS).call(this)),null!=t&&t.decoderConfig&&(j(Le,this,t.decoderConfig),j(De,this,t.decoderConfig.codec||z(De,this)),B(Je,this,eS).call(this)),this.trigger("decoder:init",t)}function jE(t){B(Je,this,BE).call(this,t),z(Ie,this).push(t),B(Je,this,YE).call(this)}function UE(){j(Me,this,!0),B(Je,this,iS).call(this)}function $E(t){const e="number"==typeof(null==t?void 0:t.pts)?t.pts:void 0;if(Number.isFinite(e))return z(ze,this)+e}function qE(t){return z(Ie,this).some((e=>{const n=B(Je,this,$E).call(this,e);return Number.isFinite(n)&&n>=t}))}function VE(t){let e=-1,n=null;for(let i=0;i<z(Ie,this).length;i+=1){const r=z(Ie,this)[i],o=B(Je,this,$E).call(this,r);Number.isFinite(o)&&(null==r?void 0:r.isKey)&&o<=t&&(e=i,n=o)}return{chosenIndex:e,chosenPtsSeconds:n}}function GE(t){let e=-1,n=null;for(let i=0;i<z(Ie,this).length;i+=1){const r=z(Ie,this)[i],o=B(Je,this,$E).call(this,r);if(Number.isFinite(o)&&null!=r&&r.isKey&&(e=i,n=o,o>=t))break}return{chosenIndex:e,chosenPtsSeconds:n}}function HE(t){const e=t+z(ke,this),n=z(We,this);if(!Number.isFinite(n))return e;const i=Number.isFinite(z(Ue,this))?z(Ue,this):null;if(Number.isFinite(i))return Math.max(e,i);const{chosenPtsSeconds:r}=B(Je,this,GE).call(this,n);return Number.isFinite(r)?Math.max(e,r):e}function KE(t){const e=z(We,this);Number.isFinite(e)&&Number.isFinite(t)&&t>=e&&(j(We,this,null),j(Ue,this,null))}function XE(){const t=z(We,this);if(!Number.isFinite(t)||z(je,this))return!0;if(!B(Je,this,qE).call(this,t)&&!z(Me,this))return!1;const e=B(Je,this,VE).call(this,t);let n=e;if(-1===e.chosenIndex&&(n=B(Je,this,GE).call(this,t)),n.chosenIndex>0){const t=`[#maybeAlignToSeekKeyframe] Dropping ${n.chosenIndex} samples before keyframe @ ${n.chosenPtsSeconds}`;this.log.debug(t),z(Ie,this).splice(0,n.chosenIndex)}return j(Se,this,!0),Number.isFinite(n.chosenPtsSeconds)&&j(Ue,this,n.chosenPtsSeconds),j(je,this,!0),!0}function YE(){const t=z(_e,this)?z(_e,this).call(this):0,e=B(Je,this,HE).call(this,t);if(B(Je,this,hS).call(this,t),B(Je,this,fS).call(this),!B(Je,this,XE).call(this))return void B(Je,this,JE).call(this);const n=void 0!==Vd.VideoDecoder&&void 0!==Vd.EncodedVideoChunk;for(n&&!z(Ce,this)&&z(Le,this)&&B(Je,this,eS).call(this);z(Ie,this).length&&!B(Je,this,mS).call(this)&&!(n&&z(Fe,this)&&B(Je,this,gS).call(this));){const t=z(Ie,this)[0],i="number"==typeof(null==t?void 0:t.pts)?t.pts:0,r=z(ze,this)+i;if(r>e)break;if(null!=t&&t.raw)z(Ie,this).shift(),B(Je,this,QE).call(this,t);else{if(n){if(!z(Ce,this)||!z(Fe,this))break;if(z(Se,this)&&!t.isKey){z(Ie,this).shift();continue}z(Ie,this).shift();const e=Math.max(0,Math.round(r*gE));z(Ee,this).set(e,!!t.isKey);try{const n=new Vd.EncodedVideoChunk({type:t.isKey?"key":"delta",timestamp:e,duration:t.duration?Math.round(t.duration*gE):void 0,data:t.data instanceof Uint8Array?t.data:new Uint8Array(t.data)});z(Fe,this).decode(n),t.isKey&&j(Se,this,!1);continue}catch(t){z(Ee,this).delete(e);const n="string"==typeof(null==t?void 0:t.message)?t.message:"";if("DataError"===(null==t?void 0:t.name)&&n.includes("key frame")){j(Se,this,!0);continue}this.log.warn("[#drainDecodeQueue] decode failed, falling back to placeholder",t)}}z(Ie,this).shift(),B(Je,this,QE).call(this,t)}}B(Je,this,iS).call(this),B(Je,this,JE).call(this)}function QE(t){const e=z(_e,this)?z(_e,this).call(this):0,n=B(Je,this,HE).call(this,e),i=z(ze,this)+("number"==typeof t.pts?t.pts:0);if(i<e||i>n)return;B(Je,this,hS).call(this,e);const r={pts:i,duration:t.duration,data:t.data,isKey:t.isKey};z(be,this).push(r),B(Je,this,fS).call(this),this.trigger("decoder:frame",r),B(Je,this,KE).call(this,i)}function JE(){if(z(Ie,this).length>0&&void 0!==Vd.VideoDecoder){if(sw(z(Te,this)))return;rw(z(Te,this),50)}else B(Je,this,ZE).call(this)}function ZE(){z(Te,this)&&sw(z(Te,this))&&ow(z(Te,this))}function tS(){return null!=Vd&&Vd.performance&&"function"==typeof Vd.performance.now?Vd.performance.now():Date.now()}function eS(){if(z(Ce,this))return;if(void 0===Vd.VideoDecoder)return;if(!z(Le,this))return;if(z(Oe,this)&&B(Je,this,tS).call(this)<z(Pe,this))return;const t=B(Je,this,nS).call(this);try{j(Fe,this,new Vd.VideoDecoder({output:t=>B(Je,this,oS).call(this,t),error:t=>B(Je,this,rS).call(this,t)})),z(Fe,this).configure(t),j(Ce,this,!0),j(Se,this,!0),j(Oe,this,!1),j(Pe,this,0),B(Je,this,YE).call(this)}catch(t){this.log.warn("[#maybeConfigureDecoder] configure failed, falling back to placeholder decode",t),j(Fe,this,null),j(Ce,this,!1),j(Le,this,null)}}function nS(){const t={...z(Le,this)};return B(Je,this,bS).call(this,t)&&z(Be,this).codec?t.codec=z(Be,this).codec:!t.codec&&z(De,this)&&(t.codec=z(De,this)),z(Re,this)&&!t.description&&(t.description=z(Re,this)),z(Be,this).width&&!t.codedWidth&&(t.codedWidth=z(Be,this).width),z(Be,this).height&&!t.codedHeight&&(t.codedHeight=z(Be,this).height),B(Je,this,kS).call(this,t),t}function iS(){void 0!==Vd.VideoDecoder&&void 0!==Vd.EncodedVideoChunk&&(z(Oe,this)||!z(Me,this)||z(Ne,this)||z(Ae,this)||z(Ce,this)&&z(Fe,this)&&"function"==typeof z(Fe,this).flush&&(z(Ie,this).length||(j(Ae,this,!0),Promise.resolve().then((()=>z(Fe,this).flush())).then((()=>{j(Ne,this,!0),j(Se,this,!0)})).catch((t=>{"AbortError"!==(null==t?void 0:t.name)&&this.log.warn("[#maybeFlushDecoder] flush failed",t)})).finally((()=>{j(Ae,this,!1)})))))}function rS(t){if(this.log.warn("[#handleDecoderError] decoder error",t),this.trigger("decoder:error",{error:t}),z(Fe,this)&&"function"==typeof z(Fe,this).close)try{z(Fe,this).close()}catch(t){}j(Fe,this,null),j(Ce,this,!1),j(Ae,this,!1),j(Ne,this,!1),j(Se,this,!0),z(Ee,this).clear(),j(Oe,this,!0),j(Pe,this,B(Je,this,tS).call(this)+1e3)}function oS(t){j(Qe,this,z(Qe,this).then((()=>{var e;if(!this._disposed)return B(Je,this,dS).call(this,t);null===(e=t.close)||void 0===e||e.call(t)})).catch((e=>{this.log.warn("[#enqueueDecodedFrame] failed processing decoded frame",e);try{var n;null===(n=t.close)||void 0===n||n.call(t)}catch(t){}})))}function sS(t){return"boolean"!=typeof t||t}function aS(t){const e=Number(t);return!Number.isFinite(e)||e<0?.2:e}function lS(){return!!z(Xe,this)&&"function"==typeof Vd.createImageBitmap&&z(Ke,this)}function cS(t){var e;const n=Number(null===(e=this.lastSegment)||void 0===e?void 0:e.duration);if(!Number.isFinite(n)||n<=0)return!1;if(!Number.isFinite(t))return!1;const i=Number(z(ze,this));return!!Number.isFinite(i)&&t>=i+n-z(Ye,this)}async function uS(t,e){try{var n;const i=B(Je,this,cS).call(this,e),r=await Vd.createImageBitmap(t,{premultiplyAlpha:i?"none":"default"});return null!==(n=t.close)&&void 0!==n&&n.call(t),r}catch(e){return this.log.debug("[#maybeConvertFrameToBitmap] createImageBitmap failed",e),t}}async function dS(t){var e,n;let i=t;if(this._disposed)return void(null===(e=(n=i).close)||void 0===e||e.call(n));const r="number"==typeof t.timestamp?t.timestamp:void 0,o="number"==typeof t.timestamp?t.timestamp/gE:z(_e,this)?z(_e,this).call(this):0,s="number"==typeof t.duration?t.duration/gE:void 0;let a;void 0!==r&&(a=z(Ee,this).get(r),z(Ee,this).delete(r));try{var l,c,u,d;let e=z(_e,this)?z(_e,this).call(this):0,n=B(Je,this,HE).call(this,e);if(o<e||o>n)return void(null===(l=(c=i).close)||void 0===l||l.call(c));if(B(Je,this,lS).call(this)){var h,f,p,m;if(i=await B(Je,this,uS).call(this,t,o),this._disposed)return void(null===(h=(f=i).close)||void 0===h||h.call(f));if(e=z(_e,this)?z(_e,this).call(this):0,n=B(Je,this,HE).call(this,e),o<e||o>n)return void(null===(p=(m=i).close)||void 0===p||p.call(m))}if(B(Je,this,hS).call(this,e),this._disposed)return void(null===(u=(d=i).close)||void 0===u||u.call(d));const r={frame:i,pts:o,duration:s,isKey:void 0!==a&&a};z(be,this).push(r),B(Je,this,fS).call(this),this.trigger("decoder:frame",r),B(Je,this,KE).call(this,o),this.log.debug(`[#handleDecodedFrame] [${z(Be,this).codec}] Decoded frame:`,r)}catch(t){this.log.warn(`[#handleDecodedFrame] [${z(Be,this).codec}] Failed to handle decoded frame`,t);try{var v,g;null===(v=(g=i).close)||void 0===v||v.call(g)}catch(t){}}}function hS(t){const e=B(Je,this,HE).call(this,t),n=[];z(be,this).forEach((i=>{var r;const o=null!==(r=null==i?void 0:i.pts)&&void 0!==r?r:0;o<t||o>e||n.push(i)})),j(be,this,n)}function fS(){const t=z(xe,this);if(!Number.isFinite(t)||t<=0)return;if(z(be,this).length<=t)return;const e=z(be,this).length-t;z(be,this).splice(0,e)}function pS(t){const e=Number(t);return!Number.isFinite(e)||e<=0?0:Math.floor(e)}function mS(){const t=z(xe,this);return!(!Number.isFinite(t)||t<=0)&&z(be,this).length>=t}function vS(t){const e=Number(t);return!Number.isFinite(e)||e<=0?0:Math.floor(e)}function gS(){var t;const e=z(we,this);if(!Number.isFinite(e)||e<=0)return!1;const n=Number(null===(t=z(Fe,this))||void 0===t?void 0:t.decodeQueueSize);return!!Number.isFinite(n)&&n>=e}function yS(t){return"string"==typeof t&&t.toLowerCase().startsWith("av01")}function bS(t){var e;return!1!==this.settings.av1ColorSpaceOverrideEnabled&&B(Je,this,yS).call(this,(null===(e=z(Be,this))||void 0===e?void 0:e.codec)||(null==t?void 0:t.codec))}function kS(t){B(Je,this,bS).call(this,t)&&(t.colorSpace={...bE})}function xS(t){if(t&&Array.isArray(t.segments))for(let e=0;e<t.segments.length;e+=1){const n=t.segments[e];if(!Array.isArray(null==n?void 0:n.representations))continue;const i=n.chosenRepresentation||n.representations[0];if(null!=i&&i.codecs)return i.codecs;if(null!=i&&i.mime)return i.mime}}class wS extends Ud{#q;get name(){return"DecoderFactory"}constructor(...t){super(...t);const e=t.length?t[t.length-1]:void 0;this.#q=e&&"object"==typeof e&&!Array.isArray(e)?e:{}}create(t,e=this.#q){if(!t||!t.type)return new J_(e);const n=_E[t.type];return n?(this.log.debug(`[#create] [${t.type}] Creating decoder:`,n),new n(e)):new J_(e)}}class _S{#V;#G;#H;#K;constructor(t={}){this.#V=t.getActiveRenderPlacement,this.#G=t.getPlacementsActiveAtTime,this.#H=t.ensureDecodedForPlacementAtTime;const e=Number(t.lookaheadSeconds);this.#K=Number.isFinite(e)&&e>=0?e:1}handleTimeUpdate(t={}){const e=Number(null==t?void 0:t.time);if(!Number.isFinite(e))return;if("function"!=typeof this.#H)return;const n="function"==typeof this.#G?this.#G:()=>[],i=n(e),r=new Set;i.forEach((t=>{null!=t&&t.placementId&&r.add(t.placementId),this.#H(t,e)}));const o=this.#K;if(!(o>0))return;const s=e+o;n(s).forEach((t=>{const e=null==t?void 0:t.placementId;e&&!r.has(e)&&this.#H(t,s)}))}dispose(){}}class IS{#X;#Y;#Q;#J;#Z;#tt;constructor(t={}){this.#X=t.getNode,this.#Y=t.getPlacementState,this.#Q=t.getDecodeTracks,this.#J=t.getSegmentIdForTrackAtTime,this.#Z=t.decodeLoadedMediaSegment,this.#tt=t.decodeLoadedMediaSegmentsAfter}ensureDecodedForPlacementAtTime(t,e){if(!t||!Number.isFinite(e))return;const n=null==t?void 0:t.placementId,i=null==t?void 0:t.nodeId;if(!n||!i)return;const r="function"==typeof this.#X?this.#X(i):void 0;if(!r)return;const o="function"==typeof this.#Y?this.#Y(n):void 0,s=null==o?void 0:o.trackStates;s&&"function"==typeof s.get&&("function"==typeof this.#Q?this.#Q(r).filter((t=>"video"===(null==t?void 0:t.type)||"image"===(null==t?void 0:t.type)||"audio"===(null==t?void 0:t.type))):[]).forEach((n=>{var i;const r=s.get(n.id);if(!r)return;const o="function"==typeof this.#J?this.#J(n,t,e):null;if(!o)return;const a=null==n||null===(i=n.segments)||void 0===i?void 0:i.find((t=>(null==t?void 0:t.id)===o));a&&!a.isInit&&a.retainedByteLength>0&&a.arrayBuffer&&(r.segmentDecoders&&"function"==typeof r.segmentDecoders.has&&r.segmentDecoders.has(o)||"function"!=typeof this.#Z||this.#Z(t,n,a),"video"===(null==n?void 0:n.type)&&"function"==typeof this.#tt&&this.#tt(t,n,a))}))}dispose(){}}const TS=new Set(["video","audio","image"]);function ES(t){const e=Number(t);return Number.isFinite(e)?e:0}var SS=new WeakMap,MS=new WeakMap,AS=new WeakMap,NS=new WeakMap,FS=new WeakMap,CS=new WeakMap,OS=new WeakMap,PS=new WeakMap,DS=new WeakMap,RS=new WeakMap,BS=new WeakMap,LS=new WeakMap,zS=new WeakMap,WS=new WeakMap,jS=new WeakMap,US=new WeakMap,$S=new WeakMap,qS=new WeakMap,VS=new WeakMap,GS=new WeakSet;class HS extends Ud{constructor(...t){super(...t),U(this,GS),W(this,SS,void 0),W(this,MS,void 0),W(this,AS,void 0),W(this,NS,void 0),W(this,FS,void 0),W(this,CS,void 0),W(this,OS,void 0),W(this,PS,void 0),W(this,DS,void 0),W(this,RS,void 0),W(this,BS,void 0),W(this,LS,new Map),W(this,zS,new Map),W(this,WS,new Map),W(this,jS,new Map),W(this,US,new Set),W(this,$S,0),W(this,qS,!1),W(this,VS,null);const[e,n,i]=t;j(SS,this,e),j(MS,this,n),j(AS,this,i||new wS),j(NS,this,new IS({getNode:t=>B(GS,this,yM).call(this,t),getPlacementState:t=>z(LS,this).get(t),getDecodeTracks:t=>B(GS,this,fM).call(this,t),getSegmentIdForTrackAtTime:(t,e,n)=>B(GS,this,eM).call(this,t,e,n),decodeLoadedMediaSegment:(t,e,n)=>{B(GS,this,LM).call(this,t,e,n)},decodeLoadedMediaSegmentsAfter:(t,e,n)=>{B(GS,this,NM).call(this,t,e,n)}})),j(FS,this,new _S({getActiveRenderPlacement:t=>{var e,n;return null===(e=z(MS,this))||void 0===e||null===(n=e.getActiveRenderPlacement)||void 0===n?void 0:n.call(e,t)},getPlacementsActiveAtTime:t=>{var e,n;return(null===(e=z(MS,this))||void 0===e||null===(n=e.getPlacementsActiveAtTime)||void 0===n?void 0:n.call(e,t))||[]},ensureDecodedForPlacementAtTime:(t,e)=>{var n,i;null===(n=z(NS,this))||void 0===n||null===(i=n.ensureDecodedForPlacementAtTime)||void 0===i||i.call(n,t,e)}})),B(GS,this,KS).call(this),B(GS,this,uM).call(this)}get name(){return"DecodeCoordinator"}onDispose(){var t,e;z(MS,this)&&"function"==typeof z(MS,this).off&&z(CS,this)&&z(MS,this).off(Hd.PLACEMENT_ADDED,z(CS,this)),z(MS,this)&&"function"==typeof z(MS,this).off&&z(OS,this)&&z(MS,this).off(Hd.TIMELINE_SEEKING,z(OS,this)),z(MS,this)&&"function"==typeof z(MS,this).off&&z(PS,this)&&z(MS,this).off(Hd.TIMELINE_SEEKED,z(PS,this)),z(MS,this)&&"function"==typeof z(MS,this).off&&z(DS,this)&&z(MS,this).off(Hd.TIMELINE_TIME_UPDATE,z(DS,this)),z(MS,this)&&"function"==typeof z(MS,this).off&&z(RS,this)&&z(MS,this).off(Hd.TIMELINE_RESET,z(RS,this)),B(GS,this,XS).call(this),j(CS,this,null),j(OS,this,null),j(PS,this,null),j(DS,this,null),j(RS,this,null),null!==(t=z(NS,this))&&void 0!==t&&null!==(e=t.dispose)&&void 0!==e&&e.call(t),j(NS,this,null),z(FS,this)&&"function"==typeof z(FS,this).dispose&&z(FS,this).dispose(),j(FS,this,null),z(zS,this).forEach(((t,e)=>{const n=B(GS,this,yM).call(this,e);n&&"function"==typeof n.off&&n.off("node:loaded",t)})),z(zS,this).clear(),z(WS,this).forEach(((t,e)=>{const n=B(GS,this,yM).call(this,e);n&&"function"==typeof n.off&&n.off("segment:chunk",t)})),z(WS,this).clear(),z(jS,this).clear(),z(US,this).clear(),B(GS,this,sM).call(this),z(LS,this).forEach((({trackStates:t})=>{t&&t.forEach((t=>{B(GS,this,wM).call(this,t)}))})),z(LS,this).clear()}}function KS(){z(MS,this)&&"function"==typeof z(MS,this).on&&(j(CS,this,(t=>{B(GS,this,dM).call(this,t)})),z(MS,this).on(Hd.PLACEMENT_ADDED,z(CS,this)),j(OS,this,(t=>B(GS,this,YS).call(this,t))),z(MS,this).on(Hd.TIMELINE_SEEKING,z(OS,this)),j(PS,this,(()=>B(GS,this,QS).call(this))),z(MS,this).on(Hd.TIMELINE_SEEKED,z(PS,this)),j(DS,this,(t=>B(GS,this,JS).call(this,t))),z(MS,this).on(Hd.TIMELINE_TIME_UPDATE,z(DS,this)),j(RS,this,(()=>B(GS,this,ZS).call(this))),z(MS,this).on(Hd.TIMELINE_RESET,z(RS,this))),(null==Vd?void 0:Vd.document)&&"function"==typeof Vd.document.addEventListener&&(j(BS,this,(()=>{B(GS,this,aM).call(this)})),Vd.document.addEventListener("visibilitychange",z(BS,this)))}function XS(){z(BS,this)&&null!=Vd&&Vd.document&&"function"==typeof Vd.document.removeEventListener&&Vd.document.removeEventListener("visibilitychange",z(BS,this)),j(BS,this,null)}function YS(t={}){const e=Number(null==t?void 0:t.targetTime);Number.isFinite(e)&&(z(LS,this).forEach((t=>{const n=null==t?void 0:t.trackStates;n&&n.forEach((n=>{var i;const r=null==n||null===(i=n.track)||void 0===i?void 0:i.type;"video"!==r&&"image"!==r&&"audio"!==r||(B(GS,this,tM).call(this,n,null==t?void 0:t.placement,e),n.seekSegmentId=null)}))})),(Array.isArray(null==t?void 0:t.placements)?t.placements:[]).forEach((t=>{const n=null==t?void 0:t.placementId,i=null==t?void 0:t.nodeId;if(!n||!i)return;const r=z(LS,this).get(n);if(!r||!r.trackStates)return;const o=B(GS,this,yM).call(this,i);o&&(r.trackStates.forEach((n=>{const i=null==n?void 0:n.track;!i||"video"!==i.type&&"image"!==i.type&&"audio"!==i.type||B(GS,this,tM).call(this,n,r.placement||t,e)})),B(GS,this,AM).call(this,r.placement||t,o))})))}function QS(){z(LS,this).forEach((t=>{const e=null==t?void 0:t.trackStates;e&&e.forEach((t=>{var e;const n=null==t||null===(e=t.track)||void 0===e?void 0:e.type;"video"!==n&&"image"!==n&&"audio"!==n||(t.seekSegmentId=null)}))}))}function JS(t={}){var e,n;B(GS,this,MM).call(this,null==t?void 0:t.time),null!==(e=z(FS,this))&&void 0!==e&&null!==(n=e.handleTimeUpdate)&&void 0!==n&&n.call(e,t),B(GS,this,aM).call(this),B(GS,this,_M).call(this,null==t?void 0:t.time)}function ZS(){z(zS,this).forEach(((t,e)=>{const n=B(GS,this,yM).call(this,e);n&&"function"==typeof n.off&&n.off("node:loaded",t)})),z(zS,this).clear(),z(WS,this).forEach(((t,e)=>{const n=B(GS,this,yM).call(this,e);n&&"function"==typeof n.off&&n.off("segment:chunk",t)})),z(WS,this).clear(),z(jS,this).clear(),z(US,this).clear(),z(LS,this).forEach((({trackStates:t})=>{t&&t.forEach((t=>{const e=null==t?void 0:t.segmentDecoders;e&&e.forEach((t=>{t&&"function"==typeof t.dispose&&t.dispose()}))}))})),z(LS,this).clear()}function tM(t,e,n){t&&(B(GS,this,wM).call(this,t),t.seekSegmentId=B(GS,this,eM).call(this,t.track,e,n))}function eM(t,e,n){if(!t||!e||!Array.isArray(t.segments))return null;const i=tv(e);if(!Number.isFinite(i))return null;const r=ES(null==e?void 0:e.nodeOffsetOverride),o=Math.max(0,n-i+r),s=ES(null==t?void 0:t.offset),a=Math.max(0,o-s),l="function"==typeof t.getMediaSegmentAtTime?t.getMediaSegmentAtTime(a,{preferRepresentationTime:!0}):nk(t.segments,a,{preferRepresentationTime:!0});return(null==l?void 0:l.id)||null}function nM(t){if(!t)return!1;const e=null==t?void 0:t.name;if("QuotaExceededError"===e)return!0;if("EncodingError"===e)return!0;const n="string"==typeof(null==t?void 0:t.message)?t.message:"";return!!n.includes("Decoder failure")||!!n.includes("Codec reclaimed due to inactivity")||!("OperationError"!==e||!n.includes("initialize after flush"))}function iM(){const t=null==Vd?void 0:Vd.document;return!t||"string"!=typeof t.visibilityState||"visible"===t.visibilityState}function rM(){var t;const e=z(MS,this);if(!e||"number"!=typeof e.currentTime)return!1;if(e.state===dg)return!1;const n=Date.now();if(n<z($S,this))return!1;const i=e.currentTime;if(!Number.isFinite(i))return!1;const r="function"==typeof e.getPlacementsActiveAtTime?e.getPlacementsActiveAtTime(i):[],o=Number(null==e||null===(t=e.settings)||void 0===t?void 0:t.snapToFps),s=Number.isFinite(o)&&o>0?1/o:1/60;let a;if(Array.isArray(r)&&r.length)a=i+s;else if(a=B(GS,this,oM).call(this,i),!Number.isFinite(a))return!1;return j($S,this,n+1500),this.log.warn("[DecodeCoordinator] attempting decoder recovery seek"),e.currentTime=a,!0}function oM(t){var e;const n=z(MS,this);if(!n)return null;const i=Array.isArray(n.placements)?n.placements:[];if(!i.length)return null;const r=Number(t);if(!Number.isFinite(r))return null;const o=Number(null==n||null===(e=n.settings)||void 0===e?void 0:e.snapToFps),s=Number.isFinite(o)&&o>0?1/o:1/60;let a=Number.NEGATIVE_INFINITY,l=null,c=Number.NEGATIVE_INFINITY,u=null,d=null;return i.forEach((t=>{const e=tv(t);if(!Number.isFinite(e))return;(!Number.isFinite(d)||e<d)&&(d=e);const n=Jm(t,z(SS,this)),i=Number.isFinite(n),o=i?e+n:e;(o>e||!i)&&((o>a||!Number.isFinite(a)&&Number.isFinite(o))&&(a=o,l=e),o<=r&&o>c&&(c=o,u=i?Math.max(e,o-s):e))})),Number.isFinite(l)&&Number.isFinite(a)&&r>=a-s?l:Number.isFinite(u)?u:Number.isFinite(d)?d:null}function sM(){j(qS,this,!1),j(VS,this,null)}function aM(){z(qS,this)&&B(GS,this,iM).call(this)&&B(GS,this,rM).call(this)}function lM(t){if(!B(GS,this,nM).call(this,t))return;const e=z(MS,this);e&&"number"==typeof e.currentTime&&(j(qS,this,!0),j(VS,this,t),B(GS,this,iM).call(this)&&B(GS,this,rM).call(this))}function cM(t){var e;return!!t&&(Array.isArray(null===(e=z(MS,this))||void 0===e?void 0:e.placements)?z(MS,this).placements:[]).includes(t)}function uM(t){var e;(Array.isArray(null===(e=z(MS,this))||void 0===e?void 0:e.placements)?[...z(MS,this).placements]:[]).filter((e=>"function"!=typeof t||t(e))).sort(((t,e)=>{const n=tv(t),i=tv(e);return(Number.isFinite(n)?n:Number.POSITIVE_INFINITY)-(Number.isFinite(i)?i:Number.POSITIVE_INFINITY)})).forEach((t=>{B(GS,this,dM).call(this,t)}))}async function dM(t){if(!t||!t.placementId||z(LS,this).has(t.placementId))return;if(!B(GS,this,cM).call(this,t))return;const e=t.nodeId;if(!e||!z(SS,this)||"function"!=typeof z(SS,this).get)return;const n=B(GS,this,yM).call(this,e);if(n){if(n.state&&"ready"!==n.state){if("function"==typeof n.resolve)try{await n.resolve()}catch(n){if(!B(GS,this,cM).call(this,t))return;return void this.log.warn(`[#processPlacement] Failed to resolve node ${e}`,n)}if(!B(GS,this,cM).call(this,t))return;if("ready"!==n.state)return}if(B(GS,this,SM).call(this,t))return B(GS,this,EM).call(this,t,n),void z(US,this).add(t.placementId);B(GS,this,TM).call(this,t,n)}}function hM(t){return B(GS,this,fM).call(this,t).every((t=>B(GS,this,IM).call(this,t)))}function fM(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).filter((t=>TS.has(null==t?void 0:t.type)))}function pM(t){if(!t||!t.id||"function"!=typeof t.on)return;if(z(zS,this).has(t.id))return;const e=()=>{B(GS,this,FM).call(this,t.id)};t.on("node:loaded",e),z(zS,this).set(t.id,e)}function mM(t){if(!t||!t.id||"function"!=typeof t.on)return;if(z(WS,this).has(t.id))return;const e=t=>B(GS,this,CM).call(this,t);t.on("segment:chunk",e),z(WS,this).set(t.id,e)}function vM(t,e){if(!t||!e)return;const n=z(jS,this).get(t)||new Set;n.add(e),z(jS,this).set(t,n)}function gM(t){return z(jS,this).get(t)||new Set}function yM(t){if(t&&z(SS,this)&&"function"==typeof z(SS,this).get)return z(SS,this).get(t)}function bM(t){if(!t)return;const e=t.fullBufferRetryTimer;null!=e&&("function"==typeof(null==Vd?void 0:Vd.clearTimeout)?Vd.clearTimeout.bind(Vd):clearTimeout)(e),t.fullBufferRetryTimer=null,t.fullBufferDecodeScheduled=!1,t.fullBufferRetryAttempts=0}function kM(t){const e=null==t?void 0:t.segmentStates;e&&"function"==typeof e.forEach&&e.forEach((t=>{B(GS,this,bM).call(this,t)}))}function xM(t,e,n,i){var r,o;if(!(t&&e&&n&&i))return!1;const s=z(LS,this).get(t),a=null==s||null===(r=s.trackStates)||void 0===r?void 0:r.get(e);return(null==a||null===(o=a.segmentStates)||void 0===o?void 0:o.get(n))===i}function wM(t){if(!t)return;B(GS,this,kM).call(this,t);const e=t.segmentDecoders;e&&"function"==typeof e.forEach&&(e.forEach((t=>{if(t&&"function"==typeof t.dispose)try{t.dispose()}catch(t){}})),"function"==typeof e.clear&&e.clear()),t.segmentStates&&"function"==typeof t.segmentStates.clear&&t.segmentStates.clear(),t.ready=!1,t.seekSegmentId=null}function _M(t){const e=ES(t);if(!Number.isFinite(e))return;const n=e-2;Number.isFinite(n)&&z(LS,this).forEach((t=>{const e=null==t?void 0:t.placement;if(!e)return;const i=tv(e),r=Jm(e,z(SS,this),{allowUnready:!0});if(!Number.isFinite(i)||!Number.isFinite(r))return;const o=i+r;if(!Number.isFinite(o)||o>n)return;const s=null==t?void 0:t.trackStates;s&&"function"==typeof s.forEach&&s.forEach((t=>{var e;const n=null==t||null===(e=t.track)||void 0===e?void 0:e.type;"video"!==n&&"image"!==n&&"audio"!==n||B(GS,this,wM).call(this,t)}))}))}function IM(t){if(!t||!Array.isArray(t.segments))return!1;const e=t.segments.find((t=>null==t?void 0:t.isInit));if(e&&!(e.retainedByteLength>0))return!1;const n=t.segments.find((t=>t&&!t.isInit));return!n||n.retainedByteLength>0}function TM(t,e){if(this.log.debug(`[#startDecode] [${t.placementId}] [${e.id}] Starting decode`),B(GS,this,EM).call(this,t,e)){if(B(GS,this,vM).call(this,e.id,t.placementId),!B(GS,this,hM).call(this,e))return B(GS,this,pM).call(this,e),void B(GS,this,mM).call(this,e);B(GS,this,AM).call(this,t,e),B(GS,this,mM).call(this,e)}}function EM(t,e){if(!t||!t.placementId||!e)return;const n=z(LS,this).get(t.placementId);if(n)return n.placement=t,n;const i=B(GS,this,fM).call(this,e),r=new Map;i.forEach((n=>{try{const t=n.segments.some((t=>null==t?void 0:t.isInit));r.set(n.id,{hasInit:t,track:n,ready:!1,segmentDecoders:new Map,segmentStates:new Map})}catch(i){this.trigger(Hd.DECODE_ERROR,Yd({placementId:t.placementId,nodeId:e.id,trackId:null==n?void 0:n.id,trackType:null==n?void 0:n.type,error:i}))}}));const o={trackStates:r,nodeId:e.id,placement:t};return z(LS,this).set(t.placementId,o),o}function SM(t){var e;const n=tv(t),i=ES(null===(e=z(MS,this))||void 0===e?void 0:e.currentTime);return!Number.isFinite(n)||!!Number.isFinite(i)&&n-i>2}function MM(t){if(!z(US,this).size)return;const e=ES(t);if(!Number.isFinite(e))return;const n=[];z(US,this).forEach((t=>{const i=z(LS,this).get(t),r=null==i?void 0:i.placement;if(!r)return void n.push(t);const o=tv(r);Number.isFinite(o)&&o-e<=2&&n.push(t)})),n.forEach((t=>{z(US,this).delete(t);const e=z(LS,this).get(t),n=null==e?void 0:e.placement;if(!n)return;const i=B(GS,this,yM).call(this,n.nodeId);i&&B(GS,this,TM).call(this,n,i)}))}function AM(t,e){const n=z(LS,this).get(t.placementId);n&&B(GS,this,fM).call(this,e).forEach((i=>{const r=n.trackStates.get(i.id);if(r&&!r.ready)try{let n;if(r.seekSegmentId&&(n=i.segments.find((t=>t&&!t.isInit&&t.id===r.seekSegmentId&&t.retainedByteLength>0)),!n))return;if(n||(n=i.segments.find((t=>t&&!t.isInit&&t.retainedByteLength>0))),!n)return;B(GS,this,LM).call(this,t,i,n),r.seekSegmentId&&"video"===(null==i?void 0:i.type)&&B(GS,this,NM).call(this,t,i,n),r.ready=!0,this.trigger(Hd.DECODE_READY,Xd({placementId:t.placementId,nodeId:e.id,trackId:i.id,trackType:i.type}))}catch(n){this.trigger(Hd.DECODE_ERROR,Yd({placementId:t.placementId,nodeId:e.id,trackId:null==i?void 0:i.id,trackType:null==i?void 0:i.type,error:n}))}}))}function NM(t,e,n){var i;if(!(t&&e&&n&&Array.isArray(e.segments)))return;const r=null==t?void 0:t.placementId,o=r?z(LS,this).get(r):void 0,s=null==o||null===(i=o.trackStates)||void 0===i?void 0:i.get(e.id),a=null==s?void 0:s.segmentDecoders;if(!a||"function"!=typeof a.has)return;const l=e.segments,c=l.findIndex((t=>(null==t?void 0:t.id)===n.id));if(c<0)return;let u=0;for(let n=c+1;n<l.length;n+=1){const i=l[n];if(!i||i.isInit)continue;if(a.has(i.id))continue;if(!(i.retainedByteLength>0))break;const r=i.arrayBuffer;if(!r||"number"!=typeof r.byteLength||r.byteLength<=0)break;if(B(GS,this,LM).call(this,t,e,i),u+=1,u>=2)break}}function FM(t){const e=B(GS,this,yM).call(this,t);e&&B(GS,this,hM).call(this,e)&&B(GS,this,gM).call(this,t).forEach((t=>{const n=z(LS,this).get(t);B(GS,this,AM).call(this,(null==n?void 0:n.placement)||{placementId:t},e)}))}function CM(t){t&&t.nodeId&&t.trackId&&t.chunk&&B(GS,this,gM).call(this,t.nodeId).forEach((e=>B(GS,this,OM).call(this,e,t)))}function OM(t,e){const n=z(LS,this).get(t);if(!n)return;const i=n.trackStates.get(e.trackId);if(i)try{var r,o;if(e.isInit)return;const s=i.track,a=null==s||null===(r=s.segments)||void 0===r?void 0:r.find((t=>(null==t?void 0:t.id)===e.segmentId));if(!a||a.isInit)return;if("image"===(null==s?void 0:s.type))return void(!i.ready&&a.retainedByteLength>0&&B(GS,this,LM).call(this,n.placement,s,a)&&(i.ready=!0,this.trigger(Hd.DECODE_READY,Xd({placementId:t,nodeId:e.nodeId,trackId:e.trackId,trackType:e.trackType}))));if((null===(o=z(MS,this))||void 0===o?void 0:o.state)===dg&&i.seekSegmentId&&("video"===(null==s?void 0:s.type)||"audio"===(null==s?void 0:s.type))&&a.id!==i.seekSegmentId)return;const l=a.id,c=i.segmentStates.get(l)||{initSent:!1,pendingChunks:[],ended:!1,firstChunkObserved:!1,missedSegmentPrefix:!1,fullBufferDecodeScheduled:!1,fullBufferRetryTimer:null,fullBufferRetryAttempts:0};i.segmentStates.set(l,c);const u=B(GS,this,RM).call(this,n.placement,s,a);if(!u||"function"!=typeof u.decodeChunk)return;if(i.hasInit&&!c.initSent){const t=B(GS,this,BM).call(this,s,a);if(!t)return void c.pendingChunks.push({chunk:e.chunk,loaded:e.loaded,total:e.total});u.decodeChunk(t,{isInit:!0}),c.initSent=!0,c.pendingChunks.length&&(c.pendingChunks.forEach((t=>{u.decodeChunk(t.chunk,{isInit:!1,loaded:t.loaded,total:t.total})})),c.pendingChunks=[])}const d="number"==typeof e.loaded&&"number"==typeof e.total&&e.total>0&&e.loaded>=e.total;B(GS,this,PM).call(this,c,e)?d&&!c.ended&&B(GS,this,DM).call(this,n.placement,s,a,c):(u.decodeChunk(e.chunk,{isInit:!1,loaded:e.loaded,total:e.total}),d&&!c.ended&&"function"==typeof u.endOfStream&&(c.ended=!0,u.endOfStream())),i.ready||(i.ready=!0,this.trigger(Hd.DECODE_READY,Xd({placementId:t,nodeId:e.nodeId,trackId:e.trackId,trackType:e.trackType})))}catch(n){this.trigger(Hd.DECODE_ERROR,Yd({placementId:t,nodeId:e.nodeId,trackId:e.trackId,trackType:e.trackType,error:n}))}}function PM(t,e){var n;if(!t||t.missedSegmentPrefix)return!(null==t||!t.missedSegmentPrefix);if(t.firstChunkObserved)return!1;t.firstChunkObserved=!0;const i=Number(null==e?void 0:e.loaded),r=Number(null==e||null===(n=e.chunk)||void 0===n?void 0:n.byteLength);return!(!Number.isFinite(i)||!Number.isFinite(r)||r<=0)&&(t.missedSegmentPrefix=i>r,t.missedSegmentPrefix)}function DM(t,e,n,i){if(!t||!e||!n||!i||i.fullBufferDecodeScheduled)return;const r=null==t?void 0:t.placementId,o=null==e?void 0:e.id,s=null==n?void 0:n.id;if(!r||!o||!s)return;const a="function"==typeof(null==Vd?void 0:Vd.setTimeout)?Vd.setTimeout.bind(Vd):setTimeout;i.fullBufferDecodeScheduled=!0,i.fullBufferRetryAttempts=0;const l=()=>{if(!B(GS,this,xM).call(this,r,o,s,i)||i.ended)return void B(GS,this,bM).call(this,i);if(B(GS,this,LM).call(this,t,e,n))return void B(GS,this,bM).call(this,i);i.fullBufferRetryAttempts+=1;const c=i.fullBufferRetryAttempts<=8?0:50;i.fullBufferRetryTimer=a((()=>{l()}),c)};i.fullBufferRetryTimer=a((()=>{l()}),0)}function RM(t,e,n){var i,r;const o=null==t?void 0:t.placementId;if(!o||!e||!n)return;const s=z(LS,this).get(o),a=null==s||null===(i=s.trackStates)||void 0===i?void 0:i.get(e.id);if(!a)return;const l=a.segmentDecoders.get(n.id);if(l)return l;const c=z(AS,this).create(e);if(c&&"function"==typeof c.configure&&c.configure(e),c&&"function"==typeof c.setNodeId&&c.setNodeId(null==t?void 0:t.nodeId),c&&"function"==typeof c.setSegment&&c.setSegment(n),c&&"function"==typeof c.setCurrentTimeProvider&&c.setCurrentTimeProvider((()=>{var t;return"number"==typeof(null===(t=z(MS,this))||void 0===t?void 0:t.currentTime)?z(MS,this).currentTime:0})),c&&"function"==typeof c.setTimeOffsetSeconds){var u,d;const i=tv(t),r=ES(null==e?void 0:e.offset),o=ES(null!==(u=null==n||null===(d=n.chosenRepresentation)||void 0===d?void 0:d.segStart)&&void 0!==u?u:null==n?void 0:n.offset);Number.isFinite(i)&&c.setTimeOffsetSeconds(i+r+o)}return c&&"function"==typeof c.setSeekTargetTimeSeconds&&(null===(r=z(MS,this))||void 0===r?void 0:r.state)===dg&&"video"===(null==e?void 0:e.type)&&c.setSeekTargetTimeSeconds(z(MS,this).currentTime),c&&"function"==typeof c.on&&(c.on(Hd.DECODER_FRAME,(i=>{i&&(!z(qS,this)||"video"!==(null==e?void 0:e.type)&&"image"!==(null==e?void 0:e.type)||(j(qS,this,!1),j(VS,this,null)),z(MS,this)&&"function"==typeof z(MS,this).notifyDecodedFrame&&(i.frame||i.data)&&z(MS,this).notifyDecodedFrame({placementId:o,nodeId:null==t?void 0:t.nodeId,trackId:null==e?void 0:e.id,trackType:null==e?void 0:e.type,segmentId:null==n?void 0:n.id,pts:i.pts,duration:i.duration,frame:i.frame,data:i.data}))})),c.on(Hd.DECODER_AUDIO,(i=>{i&&i.audioBuffer&&this.trigger(Hd.DECODER_AUDIO,Xd({placementId:o,nodeId:null==t?void 0:t.nodeId,trackId:null==e?void 0:e.id,trackType:null==e?void 0:e.type,segmentId:null==n?void 0:n.id,pts:i.pts,duration:i.duration,audioBuffer:i.audioBuffer}))})),c.on(Hd.DECODER_ERROR,(i=>{const r=(null==i?void 0:i.error)||i;this.trigger(Hd.DECODER_ERROR,Yd({placementId:o,nodeId:null==t?void 0:t.nodeId,trackId:null==e?void 0:e.id,trackType:null==e?void 0:e.type,segmentId:null==n?void 0:n.id,error:r})),B(GS,this,lM).call(this,r)}))),a.segmentDecoders.set(n.id,c),c}function BM(t,e){var n,i;if(!t||!e||!Array.isArray(t.segments))return;const r=t.segments.find((t=>null==t?void 0:t.isInit));if(!r||"function"!=typeof r.getRepresentationBuffer)return;const o=(null==e||null===(n=e.chosenRepresentation)||void 0===n?void 0:n.id)||(null==e||null===(i=e.representations)||void 0===i||null===(i=i[0])||void 0===i?void 0:i.id);if(!o)return;const s=r.getRepresentationBuffer(o);return s?s instanceof Uint8Array?s:new Uint8Array(s):void 0}function LM(t,e,n){var i;if(!t||!e||!n)return!1;const r=t.placementId,o=z(LS,this).get(r),s=null==o||null===(i=o.trackStates)||void 0===i?void 0:i.get(e.id);if(!s)return!1;const a=B(GS,this,RM).call(this,t,e,n);if(!a||"function"!=typeof a.decodeChunk)return!1;const l=s.segmentStates.get(n.id)||{initSent:!1,pendingChunks:[],ended:!1,firstChunkObserved:!1,missedSegmentPrefix:!1,fullBufferDecodeScheduled:!1,fullBufferRetryTimer:null,fullBufferRetryAttempts:0};if(s.segmentStates.set(n.id,l),l.ended)return B(GS,this,bM).call(this,l),!0;if(s.hasInit&&!l.initSent){const t=B(GS,this,BM).call(this,e,n);if(!t)return!1;a.decodeChunk(t,{isInit:!0}),l.initSent=!0}const c=n.arrayBuffer;return!(!c||"number"!=typeof c.byteLength||c.byteLength<=0||(a.decodeChunk(new Uint8Array(c),{isInit:!1,loaded:c.byteLength,total:c.byteLength}),l.ended||"function"!=typeof a.endOfStream||(l.ended=!0,a.endOfStream()),B(GS,this,bM).call(this,l),0))}const zM=1e-6;var WM=new WeakMap,jM=new WeakMap,UM=new WeakMap,$M=new WeakMap,qM=new WeakMap,VM=new WeakMap,GM=new WeakMap,HM=new WeakMap,KM=new WeakSet;class XM extends Ud{get name(){return"TransitionManager"}get defaults(){return{durationSeconds:.5}}constructor(t,e,n){super(n),U(this,KM),W(this,WM,void 0),W(this,jM,void 0),W(this,UM,null),W(this,$M,null),W(this,qM,null),W(this,VM,0),W(this,GM,[]),W(this,HM,null),j(WM,this,t),j(jM,this,e),z(WM,this)&&"function"==typeof z(WM,this).on&&(j(HM,this,(()=>B(KM,this,rA).call(this))),z(WM,this).on(Hd.TIMELINE_RESET,z(HM,this)))}transitionTo(t,e={}){const n=Number(t);if(!Number.isFinite(n))throw new Error("TransitionManager.transitionTo requires a numeric time");B(KM,this,rA).call(this);const i=B(KM,this,YM).call(this),r=B(KM,this,tA).call(this,n,e);return r?B(KM,this,eA).call(this,n,e,i,r):Promise.resolve()}onDispose(){z(WM,this)&&"function"==typeof z(WM,this).off&&z(HM,this)&&z(WM,this).off(Hd.TIMELINE_RESET,z(HM,this)),j(HM,this,null),B(KM,this,rA).call(this),j(jM,this,null),j(WM,this,null)}}function YM(){return j(VM,this,z(VM,this)+1),z(VM,this)}function QM(t={}){var e;const n=Number(null==t?void 0:t.duration),i=Number(null===(e=this.settings)||void 0===e?void 0:e.durationSeconds);return Number.isFinite(n)?n:i}function JM(t={},e){return{duration:e,filter:null==t?void 0:t.filter,color:null==t?void 0:t.color,filters:null==t?void 0:t.filters,reverseFilters:null==t?void 0:t.reverseFilters,transition:null==t?void 0:t.transition}}function ZM(t,e){const n=1e3*t,i=Number.isFinite(Number(null==e?void 0:e.outDurationMs))&&e.outDurationMs>0?e.outDurationMs:n;return{outDurationMs:i,inDurationMs:Number.isFinite(Number(null==e?void 0:e.inDurationMs))&&e.inDurationMs>0?e.inDurationMs:i}}function tA(t,e={}){var n;const i=z(jM,this),r=B(KM,this,QM).call(this,e);if(!i||"function"!=typeof i.startTransition)return z(WM,this).currentTime=t,null;if(!(r>0))return z(WM,this).currentTime=t,null!==(n=i.resetTransition)&&void 0!==n&&n.call(i),null;const o=B(KM,this,JM).call(this,e,r);"function"==typeof(null==e?void 0:e.onTransitionInStart)&&e.onTransitionInStart();const s=i.startTransition(o),{outDurationMs:a,inDurationMs:l}=B(KM,this,ZM).call(this,r,s);return{renderer:i,transitionOptions:o,outDurationMs:a,inDurationMs:l,shouldWaitForFrames:!1!==(null==e?void 0:e.waitForVisualFrames)}}function eA(t,e={},n,i){const{renderer:r,transitionOptions:o,outDurationMs:s,inDurationMs:a,shouldWaitForFrames:l}=i,c=B(KM,this,cA).call(this,t,e,n),u=l?B(KM,this,uA).call(this,t,n):Promise.resolve();let d=!1,h=!1,f=!1,p=!l;const m=()=>{var t;B(KM,this,oA).call(this,n)&&!f&&d&&h&&p&&(f=!0,"function"==typeof(null==e?void 0:e.onTransitionInEnd)&&e.onTransitionInEnd(),"function"==typeof(null==e?void 0:e.onTransitionOutStart)&&e.onTransitionOutStart(),null!==(t=r.beginTransitionIn)&&void 0!==t&&t.call(r,o),j($M,this,setTimeout((()=>{var t;B(KM,this,oA).call(this,n)&&(null!==(t=r.resetTransition)&&void 0!==t&&t.call(r),"function"==typeof(null==e?void 0:e.onTransitionOutEnd)&&e.onTransitionOutEnd(),B(KM,this,nA).call(this))}),a)))};return j(UM,this,setTimeout((()=>{d=!0,m()}),s)),c.then((()=>{h=!0,m()})).catch((()=>{var t;B(KM,this,oA).call(this,n)&&(null!==(t=r.resetTransition)&&void 0!==t&&t.call(r),B(KM,this,nA).call(this))})),u.then((()=>{p=!0,m()})).catch((()=>{p=!0,m()})),z(WM,this).currentTime=t,new Promise((t=>{j(qM,this,t)}))}function nA(){const t=z(qM,this);j(qM,this,null),B(KM,this,iA).call(this),B(KM,this,lA).call(this),t&&t()}function iA(){z(UM,this)&&clearTimeout(z(UM,this)),z($M,this)&&clearTimeout(z($M,this)),j(UM,this,null),j($M,this,null)}function rA(){var t,e;z(jM,this)&&null!==(t=(e=z(jM,this)).resetTransition)&&void 0!==t&&t.call(e),B(KM,this,iA).call(this),B(KM,this,lA).call(this),z(qM,this)&&(z(qM,this).call(this),j(qM,this,null))}function oA(t){return z(VM,this)===t}function sA(t,e){z(WM,this)&&"function"==typeof z(WM,this).on&&(z(WM,this).on(t,e),z(GM,this).push({eventName:t,handler:e}))}function aA(t,e){z(WM,this)&&"function"==typeof z(WM,this).off&&(z(WM,this).off(t,e),j(GM,this,z(GM,this).filter((n=>n.eventName!==t||n.handler!==e))))}function lA(){z(WM,this)&&"function"==typeof z(WM,this).off?(z(GM,this).forEach((t=>{z(WM,this).off(t.eventName,t.handler)})),j(GM,this,[])):j(GM,this,[])}function cA(t,e,n){const i=null==e?void 0:e.transitionOutPromise;if(i&&"function"==typeof i.then)return i;if("function"==typeof i)try{const t=i();if(t&&"function"==typeof t.then)return t}catch(t){return Promise.resolve()}if(!z(WM,this)||"function"!=typeof z(WM,this).on)return Promise.resolve();const r=B(KM,this,dA).call(this);return new Promise((e=>{let i=!1;const o=r?Hd.TIMELINE_SEEKED:"nodestart";let s,a;const l=()=>{B(KM,this,aA).call(this,Hd.TIMELINE_SEEKING,s),B(KM,this,aA).call(this,o,a),e()};s=(e={})=>{B(KM,this,oA).call(this,n)?B(KM,this,hA).call(this,e,t)&&(i=!0):l()},a=(e={})=>{B(KM,this,oA).call(this,n)?(o!==Hd.TIMELINE_SEEKED||B(KM,this,hA).call(this,e,t))&&(o===Hd.TIMELINE_SEEKED||i)&&l():l()},B(KM,this,sA).call(this,Hd.TIMELINE_SEEKING,s),B(KM,this,sA).call(this,o,a)}))}function uA(t,e){if(!z(WM,this)||"function"!=typeof z(WM,this).on)return Promise.resolve();const n=Number(t);return new Promise((t=>{const i=(r={})=>{if(!B(KM,this,oA).call(this,e))return B(KM,this,aA).call(this,Hd.VISUAL_FRAMES_AVAILABLE,i),void t();const o=Number(null==r?void 0:r.time);Number.isFinite(n)&&Number.isFinite(o)&&o+zM<n||(Array.isArray(null==r?void 0:r.frames)?r.frames:[]).length&&(B(KM,this,aA).call(this,Hd.VISUAL_FRAMES_AVAILABLE,i),t())};B(KM,this,sA).call(this,Hd.VISUAL_FRAMES_AVAILABLE,i)}))}function dA(){var t,e;const n=null===(t=z(WM,this))||void 0===t?void 0:t.state;if(n===ug||n===sg)return!0;const i=null===(e=z(WM,this))||void 0===e?void 0:e.placements;return!Array.isArray(i)||0===i.length}function hA(t,e){const n=Number(null==t?void 0:t.targetTime);return!Number.isFinite(n)||Math.abs(n-e)<zM}function fA(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}var pA=new WeakMap,mA=new WeakMap,vA=new WeakMap,gA=new WeakMap,yA=new WeakMap,bA=new WeakMap,kA=new WeakMap,xA=new WeakMap,wA=new WeakMap,_A=new WeakMap,IA=new WeakMap,TA=new WeakMap,EA=new WeakMap,SA=new WeakMap,MA=new WeakSet;class AA extends Ud{get name(){return"AudioPlaybackManager"}get defaults(){return{muted:!1,volume:1,lookaheadSeconds:1}}constructor(t,e,n){super(n),U(this,MA),W(this,pA,void 0),W(this,mA,void 0),W(this,vA,null),W(this,gA,null),W(this,yA,[]),W(this,bA,new Set),W(this,kA,new Map),W(this,xA,!1),W(this,wA,1),W(this,_A,!0),W(this,IA,null),W(this,TA,null),W(this,EA,null),W(this,SA,null),j(pA,this,t),j(mA,this,e),j(xA,this,!!this.settings.muted),j(wA,this,Ym(this.settings.volume));const i=Array.isArray(null==n?void 0:n.disabledTracks)?n.disabledTracks:[];j(_A,this,!i.includes("audio")),B(MA,this,NA).call(this)}get muted(){return z(xA,this)}set muted(t){j(xA,this,!!t),B(MA,this,jA).call(this)}get volume(){return z(wA,this)}set volume(t){j(wA,this,Ym(t)),B(MA,this,jA).call(this)}handleDecodedAudio(t={}){if(!z(_A,this))return;const e=null==t?void 0:t.audioBuffer,n=null==t?void 0:t.placementId,i=null==t?void 0:t.segmentId,r=fA(null==t?void 0:t.pts,null);if(!(e&&n&&i&&Number.isFinite(r)))return;const o=Number.isFinite(null==t?void 0:t.duration)?t.duration:e.duration,s=`${n}:${i}`;z(bA,this).has(s)||(z(yA,this).push({key:s,placementId:n,pts:r,duration:o,audioBuffer:e}),z(yA,this).sort(((t,e)=>t.pts-e.pts)),B(MA,this,DA).call(this))}onDispose(){B(MA,this,FA).call(this),B(MA,this,zA).call(this,!0),z(vA,this)&&"function"==typeof z(vA,this).close&&z(vA,this).close(),j(vA,this,null),j(gA,this,null),j(pA,this,null),j(mA,this,null)}}function NA(){z(pA,this)&&"function"==typeof z(pA,this).on&&(j(IA,this,(t=>B(MA,this,CA).call(this,t))),z(pA,this).on(Hd.TIMELINE_TIME_UPDATE,z(IA,this)),j(TA,this,(t=>B(MA,this,OA).call(this,t))),z(pA,this).on(Hd.TIMELINE_STATE_CHANGE,z(TA,this)),j(SA,this,(()=>B(MA,this,PA).call(this))),z(pA,this).on(Hd.TIMELINE_RESET,z(SA,this))),z(mA,this)&&"function"==typeof z(mA,this).on&&(j(EA,this,(t=>this.handleDecodedAudio(t))),z(mA,this).on(Hd.DECODER_AUDIO,z(EA,this)))}function FA(){z(pA,this)&&"function"==typeof z(pA,this).off&&(z(IA,this)&&z(pA,this).off(Hd.TIMELINE_TIME_UPDATE,z(IA,this)),z(TA,this)&&z(pA,this).off(Hd.TIMELINE_STATE_CHANGE,z(TA,this)),z(SA,this)&&z(pA,this).off(Hd.TIMELINE_RESET,z(SA,this))),z(mA,this)&&"function"==typeof z(mA,this).off&&z(EA,this)&&z(mA,this).off(Hd.DECODER_AUDIO,z(EA,this)),j(IA,this,null),j(TA,this,null),j(EA,this,null),j(SA,this,null)}function CA(){B(MA,this,DA).call(this)}function OA(t={}){const e=null==t?void 0:t.to;if(e)return e===ag?(B(MA,this,UA).call(this),void B(MA,this,DA).call(this)):void(e!==ug&&e!==cg?e!==dg&&e!==hg||B(MA,this,PA).call(this):B(MA,this,$A).call(this))}function PA(){B(MA,this,$A).call(this),B(MA,this,zA).call(this,!0),j(yA,this,[])}function DA(){if(!z(_A,this)||!z(pA,this))return;if(z(pA,this).state!==ag)return;const t=B(MA,this,WA).call(this);if(!t)return;const e=fA(z(pA,this).currentTime,0),n=e+Math.max(0,fA(this.settings.lookaheadSeconds,1)),i=[];for(let r=0;r<z(yA,this).length;r+=1){const o=z(yA,this)[r];o&&(o.pts>n?i.push(o):B(MA,this,RA).call(this,o)&&B(MA,this,LA).call(this,o,t,e))}j(yA,this,i)}function RA(t){if(!t||!z(pA,this))return!1;const e=B(MA,this,BA).call(this,t.pts);return!(!e||e!==t.placementId)}function BA(t){if(!z(pA,this)||"function"!=typeof z(pA,this).getPlacementsActiveAtTime)return null;const e=z(pA,this).getPlacementsActiveAtTime(t);if(!Array.isArray(e)||!e.length)return null;const n=e.find((t=>null==t?void 0:t.placementId));return n?n.placementId:null}function LA(t,e,n){const i=t.key;if(z(bA,this).has(i))return;const r=t.audioBuffer;if(!r)return;const o=Number.isFinite(t.duration)?t.duration:r.duration,s=t.pts;if(!Number.isFinite(s))return;const a=n-s;if(Number.isFinite(o)&&o>0&&a>=o)return;const l=e.createBufferSource();l.buffer=r,l.connect(z(gA,this));let c=e.currentTime,u=0;a>0?u=a:a<0&&(c=e.currentTime+Math.abs(a));try{l.start(c,u)}catch(t){return void this.log.warn("[AudioPlaybackManager] Failed to start audio buffer",t)}z(bA,this).add(i),z(kA,this).set(i,l),l.onended=()=>{z(kA,this).delete(i)}}function zA(t){z(kA,this).forEach(((t,e)=>{if(t&&"function"==typeof t.stop)try{t.stop()}catch(t){}z(kA,this).delete(e)})),t&&z(bA,this).clear()}function WA(){if(z(vA,this))return z(vA,this);const t=Vd.AudioContext||Vd.webkitAudioContext;if(!t)return this.log.warn("[AudioPlaybackManager] AudioContext is not available."),null;try{return j(vA,this,new t),j(gA,this,z(vA,this).createGain()),z(gA,this).connect(z(vA,this).destination),B(MA,this,jA).call(this),z(vA,this)}catch(t){return this.log.warn("[AudioPlaybackManager] Failed to initialize AudioContext",t),j(vA,this,null),j(gA,this,null),null}}function jA(){if(!z(gA,this))return;const t=z(xA,this)?0:z(wA,this);z(gA,this).gain.value=t}function UA(){z(vA,this)&&"function"==typeof z(vA,this).resume&&"suspended"===z(vA,this).state&&z(vA,this).resume().catch((()=>{}))}function $A(){z(vA,this)&&"function"==typeof z(vA,this).suspend&&"running"===z(vA,this).state&&z(vA,this).suspend().catch((()=>{}))}var qA=new WeakMap,VA=new WeakMap,GA=new WeakMap,HA=new WeakMap,KA=new WeakMap,XA=new WeakSet;class YA extends Ud{constructor(...t){super(...t),U(this,XA),W(this,qA,void 0),W(this,VA,void 0),W(this,GA,void 0),W(this,HA,void 0),W(this,KA,void 0),j(qA,this,B(XA,this,JA).call(this,this.settings.currentTime)),j(VA,this,B(XA,this,ZA).call(this,this.settings.playbackRate)),j(GA,this,null),j(HA,this,!1),j(KA,this,B(XA,this,QA).bind(this))}get name(){return"PlaybackClock"}get defaults(){return{currentTime:0,playbackRate:Fb("playbackRate")}}get currentTime(){return z(qA,this)}get playbackRate(){return z(VA,this)}set playbackRate(t){j(VA,this,B(XA,this,ZA).call(this,t))}play(){z(HA,this)||(j(HA,this,!0),j(GA,this,pb()),rw(z(KA,this),0))}pause(){z(HA,this)&&(j(HA,this,!1),ow(z(KA,this)))}seek(t){j(qA,this,B(XA,this,JA).call(this,t)),j(GA,this,pb())}reset(){this.pause(),j(qA,this,0),j(GA,this,null)}onDispose(){this.pause(),j(KA,this,null)}}function QA(){const t=pb();if(null===z(GA,this))return j(GA,this,t),void this.trigger(Hd.CLOCK_TICK,{currentTime:z(qA,this)});const e=t-z(GA,this);j(GA,this,t);const n=e/1e3;j(qA,this,z(qA,this)+n*z(VA,this)),this.trigger(Hd.CLOCK_TICK,{currentTime:z(qA,this)})}function JA(t){return"number"!=typeof t||Number.isNaN(t)||!Number.isFinite(t)||t<0?0:t}function ZA(t){return"number"!=typeof t||Number.isNaN(t)||!Number.isFinite(t)||t<=0?z(VA,this)||1:t}var tN=new WeakMap,eN=new WeakSet;class nN extends Ud{constructor(...t){super(...t),U(this,eN),W(this,tN,new Map)}get name(){return"TrackBuffers"}get defaults(){return{}}refreshNode(t){if(!t||!Array.isArray(t.tracks))return;const e=t.id,n=z(tN,this).get(e)||new Map;z(tN,this).set(e,n),t.tracks.forEach((t=>{const i=null==t?void 0:t.type;if(!i)return;const r=t.buffered,o=n.get(i),s=!!o&&o.ready,a=(l=r)&&Number.isFinite(l.start)&&Number.isFinite(l.end)&&l.end>l.start;var l,c,u;u=r,!(c=null==o?void 0:o.range)&&!u||c&&u&&c.start===u.start&&c.end===u.end?o&&o.ready!==a&&n.set(i,{range:r,ready:a}):(n.set(i,{range:r,ready:a}),this.trigger(Hd.TRACK_BUFFER_UPDATE,{nodeId:e,trackType:i,range:r})),!s&&a?this.trigger(Hd.TRACK_READY,{nodeId:e,trackType:i,range:r}):s&&!a&&this.trigger(Hd.TRACK_UNDERFLOW,{nodeId:e,trackType:i,range:r})}))}getTrackRange(t,e){const n=z(tN,this).get(t),i=null==n?void 0:n.get(e);return null==i?void 0:i.range}computeBuffered(t=[],e=0,n){if(!n||"function"!=typeof n.get)return;const i=Number.isFinite(e)?e:0;let r,o,s=!1;for(let e=0;e<t.length;e+=1){const a=B(eN,this,rN).call(this,n,t[e],i);if(!a||a.end<=i)continue;if(void 0===r){r=a.start,o=a.end,s=a.full;continue}const l=a.start<=o,c=s&&a.full;if(!l&&!c)break;o=Math.max(o,a.end),s=a.full}return void 0===r||void 0===o?{start:0,end:0}:{start:r,end:o}}get buffered(){return z(tN,this)}reset(){z(tN,this).clear()}onDispose(){z(tN,this).clear(),"function"==typeof this.off&&this.off()}}function iN(t,e=0){const n=Array.isArray(null==t?void 0:t.segments)?t.segments:[],i=[];for(let t=0;t<n.length;t+=1){const e=n[t];if(!e||e.isInit)continue;const r=Number(e.duration),o=Number(e.offset),s=Number(e.bufferedRatio);if(!Number.isFinite(r)||r<=0||!Number.isFinite(o)||s<=0)continue;const a=o+r*Math.min(1,s);!Number.isFinite(a)||a<=o||i.push({start:o,end:a})}if(!i.length)return;i.sort(((t,e)=>t.start-e.start));const r=[i[0]];for(let t=1;t<i.length;t+=1){const e=i[t],n=r[r.length-1];e.start<=n.end+.001?n.end=Math.max(n.end,e.end):r.push({...e})}const o=Number.isFinite(e)?e:0;for(let t=0;t<r.length;t+=1){const e=r[t];if(e.end>o+.001)return e}}function rN(t,e,n=0){var i,r;const o=tv(e);if(!Number.isFinite(o))return;const s=t.get(e.nodeId);if(!s)return;const a=Array.isArray(s.tracks)?s.tracks:[];if(!a.length){const t=s.buffered;if(!t||!Number.isFinite(t.start)||!Number.isFinite(t.end))return;return B(eN,this,oN).call(this,s,t,o,e)}const l=s.mainTrackId,c=Number.isFinite(e.nodeOffsetOverride)?e.nodeOffsetOverride:0,u=Math.max(0,n-o+c);let d;l&&(d=a.find((t=>(null==t?void 0:t.id)===l))),(null===(i=d)||void 0===i?void 0:i.type)||(d=a.find((t=>null==t?void 0:t.type)));const h=B(eN,this,iN).call(this,d,u)||(null===(r=d)||void 0===r?void 0:r.buffered);return h&&Number.isFinite(h.start)&&Number.isFinite(h.end)?B(eN,this,oN).call(this,s,h,o,e):void 0}function oN(t,e,n,i){const r=Number.isFinite(i.nodeOffsetOverride)?i.nodeOffsetOverride:0;let o=e.start-r+n,s=e.end-r+n;const a=t.duration,l=Number.isFinite(i.nodeDurationOverride)?i.nodeDurationOverride:a;if(Number.isFinite(l)){const t=n+l;s=Math.min(s,t);const e=o<=n&&s>=t;if(o=Math.max(o,n),!(s>o))return;return{start:o,end:s,full:e}}if(o=Math.max(o,n),s>o)return{start:o,end:s,full:!1}}class sN{constructor(t={}){const{placementId:e,nodeId:n,offset:i,offsetPending:r=!1,offsetAnchorPlacementId:o,offsetEndSeconds:s,offsetAnchorEdge:a,offsetAnchorIsReference:l,nodeOffsetOverride:c,nodeDurationOverride:u,loop:d=!1,loopRootPlacementId:h,loopRootOffset:f}=t;if(!e)throw new Error("Placement requires placementId");if(!n)throw new Error("Placement requires nodeId");this.placementId=e,this.nodeId=n;const p=Number.isFinite(i)?i:0;this.offsetPending=!0===r,this.offsetAnchorPlacementId=o,this.offsetAnchorEdge=a,this.offsetAnchorIsReference=l,this.offsetEndSeconds=Number.isFinite(s)?s:void 0,this.offset=this.offsetPending?void 0:p,this.nodeOffsetOverride=c,this.nodeDurationOverride=u,this.loop=!0===d,this.loopRootPlacementId=h,this.loopRootOffset=f}}class aN extends Ud{constructor(t,e){super(e),this.timeline=t}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"handleDecodedFrame","handleClockTick","handleMainTrackBufferUpdate"])}enter(){}exit(){}play(){this.timeline.transitionTo(ag)}pause(){this.timeline.transitionTo(ug)}wait(){this.timeline.transitionTo(cg)}reset(){this.timeline.transitionTo(hg)}seek(t){this.timeline.transitionTo(dg,{targetTime:t,returnState:this.timeline.state})}getCurrentTime(){return this.timeline.currentTime}emitPlayerStateEvent(t,e={}){if(!t||!this.timeline||"function"!=typeof this.timeline.trigger)return;const n=Number.isFinite(null==e?void 0:e.time)?e.time:this.getCurrentTime(),i={...e,event:t};Number.isFinite(n)&&(i.time=n),this.timeline.trigger("player:state",i)}get buffered(){return this.timeline.computeBuffered(this.timeline.currentTime)}handleMainTrackUnderflow(t){this.wait()}handleMainTrackReady(t){const e=this.timeline.getLastStableState()||ug;this.timeline.transitionTo(e)}handleMainTrackBufferUpdate(t){}handleDecodedFrame(t){}handleClockTick(t){}onDispose(){this.timeline=null}}const lN=24e3/1001;function cN(t,e=(null==t?void 0:t.currentTime)){return Number.isFinite(e)?e:Number.isFinite(null==t?void 0:t.currentTime)?t.currentTime:0}function uN(t){var e;const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.snapToFps);return Number.isFinite(n)&&n>0?.5/n:.001}function dN(t){var e;const n=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];let i;if(null!=t&&t.mainTrackId){const e=n.find((e=>(null==e?void 0:e.id)===t.mainTrackId));i=null==e?void 0:e.type}if(i||(i=null===(e=n.find((t=>null==t?void 0:t.type)))||void 0===e?void 0:e.type),"video"===i||"audio"===i||"image"===i)return i}function hN(t){const e=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];if(e.length){if(null!=t&&t.mainTrackId){const n=e.find((e=>(null==e?void 0:e.id)===t.mainTrackId));if("video"===(null==n?void 0:n.type)||"image"===(null==n?void 0:n.type))return n}return e.find((t=>"video"===(null==t?void 0:t.type)||"image"===(null==t?void 0:t.type)))}}function fN(t,e,n,i,r){var o,s;const a="function"==typeof(null==t?void 0:t.getDecodedVisualBuffer)?t.getDecodedVisualBuffer(e,n):void 0;if(!a)return"function"==typeof(null==t?void 0:t.hasDecodedFirstFrame)&&t.hasDecodedFirstFrame(e,i);const l=Array.isArray(a.frames)?a.frames:[];let c,u=Number.isFinite(null===(o=a.current)||void 0===o?void 0:o.presentationTime)?a.current:void 0;for(let t=0;t<l.length;t+=1){const e=l[t],n=Number(null==e?void 0:e.presentationTime);if(Number.isFinite(n)){if(!(n<=r)){c=n;break}u=e}}const d=Number(null===(s=u)||void 0===s?void 0:s.presentationTime);if(!Number.isFinite(d)||d>r)return!1;const h=function(t,e,n,i){const r=Number(null==n?void 0:n.duration);if(Number.isFinite(r)&&r>0)return e+r;const o=function(t,e){const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.snapToFps);return 2/(Number.isFinite(n)&&n>0?n:lN)}(t),s=Number.isFinite(i)&&i>e?i-e:o;return e+Math.min(s,o)}(t,d,u,c);return!!Number.isFinite(h)&&r<=h+uN(t)}function pN(t,e=(null==t?void 0:t.currentTime)){const n=cN(t,e),i="function"==typeof(null==t?void 0:t.getPlacementsActiveAtTime)?t.getPlacementsActiveAtTime(n):[];if(!i.length)return!1;for(let e=0;e<i.length;e+=1){const n=i[e],r=null==n?void 0:n.placementId;if(!r)return!0;const o="function"==typeof(null==t?void 0:t.getNode)?t.getNode(n.nodeId):void 0;if(!o)return!0;const s=dN(o);if(!s)return!0;if(!t.hasDecodedFirstFrame(r,s))return!0}return!1}function mN(t,e=(null==t?void 0:t.currentTime)){return pN(t,e)||function(t,e=(null==t?void 0:t.currentTime)){const n=cN(t,e),i="function"==typeof(null==t?void 0:t.getPlacementsActiveAtTime)?t.getPlacementsActiveAtTime(n):[];if(!i.length)return!1;for(let e=0;e<i.length;e+=1){const r=i[e],o=null==r?void 0:r.placementId;if(!o)return!0;const s="function"==typeof(null==t?void 0:t.getNode)?t.getNode(r.nodeId):void 0;if(!s)return!0;const a=hN(s);if(null!=a&&a.id&&!fN(t,o,a.id,a.type,n))return!0}return!1}(t,e)}function vN(t,e=(null==t?void 0:t.currentTime)){if("function"!=typeof(null==t?void 0:t.computeBuffered))return!1;const n=cN(t,e),i=t.computeBuffered(n),r=Number(null==i?void 0:i.start),o=Number(null==i?void 0:i.end);if(!Number.isFinite(r)||!Number.isFinite(o)||o<=r)return!1;const s=uN(t);if(!(r<=n+s))return!1;return o-n>=function(t,e){const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.waitingBufferAheadSeconds);return!Number.isFinite(n)||n<0?3:n}(t)-s||function(t,e,n,i){const r=function(t){const e=Array.isArray(null==t?void 0:t.placements)?t.placements:[];let n;for(let i=0;i<e.length;i+=1){const r=e[i],o=tv(r);if(!Number.isFinite(o))continue;const s="function"==typeof(null==t?void 0:t.getPlacementDuration)?t.getPlacementDuration(r):void 0;if(!Number.isFinite(s))continue;const a=o+s;Number.isFinite(a)&&(!Number.isFinite(n)||a>n)&&(n=a)}return n}(t);return!!Number.isFinite(r)&&(e>=r-i||n>=r-i)}(t,n,o,s)}const gN={[sg]:class extends aN{get name(){return sg}get defaults(){return{autoplay:Fb("autoplay")}}enter(){this.timeline.recordStableState(ug),this.timeline.stopPlaybackClock()}play(){const t=mN(this.timeline),e=t?cg:this.timeline.getPlaybackStartState();if(this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),t)return this.timeline.recordStableState(ag),void this.timeline.transitionTo(cg);this.timeline.transitionTo(e)}pause(){}handleDecodedFrame(t){if(!0!==this.settings.autoplay)return;if(!Array.isArray(this.timeline.placements)||!this.timeline.placements.length)return;if(mN(this.timeline))return;const e=this.timeline.getPlaybackStartState();this.log.info("[handleDecodedFrame] Autoplay enabled, starting playback!"),this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),this.timeline.transitionTo(e)}},[lg]:class extends aN{get name(){return lg}enter(t={}){const{from:e,to:n}=t;this.timeline.recordStableState(ag),this.timeline.stopPlaybackClock(),this.emitPlayerStateEvent("canplay",{from:e,to:n})}play(){}handleMainTrackUnderflow(){}pause(){this.timeline.transitionTo(ug)}},[ag]:class extends aN{get name(){return ag}enter(t={}){const{from:e,to:n,fromFirstFramePending:i}=t;this.timeline.recordStableState(ag),this.timeline.startPlaybackClock(),!0!==i&&this.emitPlayerStateEvent("canplay",{from:e,to:n}),this.emitPlayerStateEvent("playing",{from:e,to:n})}play(){}pause(){this.timeline.transitionTo(ug)}handleClockTick(t){const e=this.timeline.currentTime;mN(this.timeline,e)&&(this.timeline.recordStableState(ag),this.timeline.transitionTo(cg))}},[cg]:(ln=new WeakMap,cn=new WeakMap,un=new WeakSet,class extends aN{constructor(...t){super(...t),U(this,un),W(this,ln,void 0),W(this,cn,null)}get name(){return cg}enter(t={}){const{from:e,to:n}=t;this.timeline.stopPlaybackClock(),B(un,this,yN).call(this),B(un,this,kN).call(this),this.emitPlayerStateEvent("waiting",{from:e,to:n}),B(un,this,_N).call(this)}exit(){B(un,this,bN).call(this),B(un,this,xN).call(this)}play(){this.timeline.recordStableState(ag);const t=B(un,this,wN).call(this),e=t?cg:this.timeline.getPlaybackStartState();this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),t||this.timeline.transitionTo(e)}pause(){this.timeline.transitionTo(ug)}handleMainTrackReady(t){const e=this.timeline.getLastStableState()||ug;e!==ag?this.timeline.transitionTo(e):B(un,this,_N).call(this)}handleDecodedFrame(t){B(un,this,_N).call(this)}handleMainTrackBufferUpdate(t){B(un,this,_N).call(this)}}),[ug]:class extends aN{get name(){return ug}enter(t={}){const{from:e,to:n}=t;this.timeline.recordStableState(ug),this.timeline.stopPlaybackClock(),this.emitPlayerStateEvent("pause",{from:e,to:n})}play(){const t=mN(this.timeline),e=t?cg:this.timeline.getPlaybackStartState();if(this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),t)return this.timeline.recordStableState(ag),void this.timeline.transitionTo(cg);this.timeline.transitionTo(e)}pause(){}},[dg]:class extends aN{get name(){return dg}enter(t={}){const{targetTime:e,returnState:n}=t;if(this.timeline&&"function"==typeof this.timeline.stopPlaybackClock&&this.timeline.stopPlaybackClock(),this.timeline&&"function"==typeof this.timeline.startSeeking)return void this.timeline.startSeeking(e,n);this.timeline.updateTime(e);const i=n===ag||n===lg,r=i&&"function"==typeof this.timeline.getPlaybackStartState?this.timeline.getPlaybackStartState(e):i?ag:ug;this.timeline.transitionTo(r,{fromSeeking:!0})}play(){var t;if(this.timeline&&"function"==typeof this.timeline.setSeekReturnState)return void this.timeline.setSeekReturnState(ag);const e="function"==typeof(null===(t=this.timeline)||void 0===t?void 0:t.getPlaybackStartState)?this.timeline.getPlaybackStartState():ag;this.timeline.transitionTo(e)}pause(){this.timeline&&"function"==typeof this.timeline.setSeekReturnState?this.timeline.setSeekReturnState(ug):this.timeline.transitionTo(ug)}handleDecodedFrame(t){this.timeline&&"function"==typeof this.timeline.maybeCompleteSeek&&this.timeline.maybeCompleteSeek(t)}},[hg]:class extends aN{get name(){return hg}enter(){this.timeline.resetClock(),this.timeline.transitionTo(sg,{fromReset:!0})}play(){}pause(){}get buffered(){return{start:0,end:0}}}};function yN(){var t;const e=null===(t=this.timeline)||void 0===t?void 0:t.trackBuffers;e&&"function"==typeof e.on&&(j(ln,this,(t=>this.handleMainTrackBufferUpdate(t))),e.on(Hd.TRACK_BUFFER_UPDATE,z(ln,this)))}function bN(){var t;const e=null===(t=this.timeline)||void 0===t?void 0:t.trackBuffers;z(ln,this)&&e&&"function"==typeof e.off?(e.off(Hd.TRACK_BUFFER_UPDATE,z(ln,this)),j(ln,this,null)):j(ln,this,null)}function kN(){if(null!==z(cn,this))return;const t="function"==typeof(null==Vd?void 0:Vd.setInterval)?Vd.setInterval.bind(Vd):setInterval;j(cn,this,t((()=>{var t;(null===(t=this.timeline)||void 0===t?void 0:t.state)===cg&&B(un,this,_N).call(this)}),200))}function xN(){null!==z(cn,this)&&(("function"==typeof(null==Vd?void 0:Vd.clearInterval)?Vd.clearInterval.bind(Vd):clearInterval)(z(cn,this)),j(cn,this,null))}function wN(t=(t=>null===(t=this.timeline)||void 0===t?void 0:t.currentTime)()){return function(t,e=(null==t?void 0:t.currentTime),n={}){return!!pN(t,e)||!0===n.skipBufferResume||!vN(t,e)}(this.timeline,t)}function _N(t=(t=>null===(t=this.timeline)||void 0===t?void 0:t.currentTime)()){return(this.timeline.getLastStableState()||ug)===ag&&!B(un,this,wN).call(this,t)&&(this.timeline.transitionTo(this.timeline.getPlaybackStartState(t)),!0)}function IN(t){return t&&("string"!=typeof t.state||"ready"===t.state)}function TN(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).some((t=>"video"===(null==t?void 0:t.type)))}function EN(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).some((t=>"video"===(null==t?void 0:t.type)||"image"===(null==t?void 0:t.type)))}function SN(t){return t===ag||t===lg}var MN=new WeakMap,AN=new WeakMap,NN=new WeakMap,FN=new WeakMap,CN=new WeakMap,ON=new WeakMap,PN=new WeakMap,DN=new WeakMap,RN=new WeakMap,BN=new WeakMap,LN=new WeakMap,zN=new WeakMap,WN=new WeakMap,jN=new WeakMap,UN=new WeakSet;class $N{constructor(t={}){U(this,UN),W(this,MN,void 0),W(this,AN,void 0),W(this,NN,void 0),W(this,FN,void 0),W(this,CN,void 0),W(this,ON,void 0),W(this,PN,void 0),W(this,DN,void 0),W(this,RN,void 0),W(this,BN,null),W(this,LN,ug),W(this,zN,[]),W(this,WN,new Set),W(this,jN,new Map),j(MN,this,t.getState),j(AN,this,t.getNode),j(NN,this,t.getPlacementsActiveAtTime),j(FN,this,t.getLastStableState),j(CN,this,t.getPlaybackStartState),j(ON,this,t.clearVisualFrameBuffers),j(PN,this,t.updateTime),j(DN,this,t.transitionTo),j(RN,this,t.trigger)}start(t,e){const n=Number(t);if(!Number.isFinite(n))return;let i=e;i===dg?i=z(LN,this):i===cg&&"function"==typeof z(FN,this)&&(i=z(FN,this).call(this)),j(LN,this,SN(i)?ag:ug),j(BN,this,n),z(WN,this).clear(),z(jN,this).clear(),j(zN,this,"function"==typeof z(NN,this)?z(NN,this).call(this,n):[]),"function"==typeof z(ON,this)&&z(ON,this).call(this),"function"==typeof z(PN,this)&&z(PN,this).call(this,n,{source:"seek"}),"function"==typeof z(RN,this)&&z(RN,this).call(this,Hd.TIMELINE_SEEKING,{targetTime:n,placements:z(zN,this).slice()}),this.maybeComplete()}setReturnState(t){j(LN,this,SN(t)?ag:ug)}maybeComplete(t){if(("function"==typeof z(MN,this)?z(MN,this).call(this):void 0)!==dg)return;const e=z(BN,this);if(!Number.isFinite(e))return;const n=null==t?void 0:t.trackType,i=null==t?void 0:t.placementId;if(i&&"video"===n){const n=Number(null==t?void 0:t.pts);if(Number.isFinite(n)&&n>=e){z(WN,this).add(i);const t=z(jN,this).get(i);(!Number.isFinite(t)||n<t)&&z(jN,this).set(i,n)}}else i&&"image"===n&&function(t,e){const n=Number(null==t?void 0:t.pts),i=Number(null==t?void 0:t.duration);return!Number.isFinite(n)||(Number.isFinite(i)&&i>0?e>=n&&e<n+i:e>=n)}(t,e)&&z(WN,this).add(i);const r=Array.isArray(z(zN,this))?z(zN,this):[];if(r.length){if("function"==typeof z(AN,this)){for(let t=0;t<r.length;t+=1){const e=r[t],n=null==e?void 0:e.placementId;if(!n)return;const i=z(AN,this).call(this,e.nodeId);if(!IN(i))return;if(EN(i)&&!z(WN,this).has(n))return}B(UN,this,qN).call(this,e,r)}}else B(UN,this,qN).call(this,e,[])}dispose(){j(zN,this,[]),z(WN,this).clear(),z(jN,this).clear(),j(BN,this,null)}}function qN(t,e){const n=B(UN,this,VN).call(this,t,e);if("function"==typeof z(PN,this)&&z(PN,this).call(this,n,{source:"seek"}),j(BN,this,null),j(zN,this,[]),z(WN,this).clear(),z(jN,this).clear(),"function"==typeof z(RN,this)&&z(RN,this).call(this,Hd.TIMELINE_SEEKED,{targetTime:t,placements:Array.isArray(e)?e.slice():[]}),"function"==typeof z(DN,this)){const t=z(LN,this)===ag&&"function"==typeof z(CN,this)?z(CN,this).call(this,n):z(LN,this);z(DN,this).call(this,t,{fromSeeking:!0})}}function VN(t,e){const n=Number(t);if(!Number.isFinite(n))return t;if(!Array.isArray(e)||!e.length||"function"!=typeof z(AN,this))return n;let i=n;for(let t=0;t<e.length;t+=1){const n=e[t],r=null==n?void 0:n.placementId;if(!r)continue;if(!TN(z(AN,this).call(this,n.nodeId)))continue;const o=z(jN,this).get(r);Number.isFinite(o)&&o>i&&(i=o)}return i}function GN(t){if(t&&"function"==typeof t.close)try{t.close()}catch(t){}}function HN(t){if(!t)return;const e=Array.isArray(null==t?void 0:t.frames)?t.frames:[],n=null==t?void 0:t.current;(n?[n,...e]:e).forEach((t=>GN(null==t?void 0:t.frame)))}function KN(t){return tv(t)}function XN(t){return Number.isFinite(null==t?void 0:t.loopRootOffset)?t.loopRootOffset:KN(t)}function YN(t,e){return"string"==typeof(null==t?void 0:t.loopRootPlacementId)&&t.loopRootPlacementId?t.loopRootPlacementId:e}function QN(t){if("string"!=typeof t)return Number.NaN;const e=t.match(/(\d+)/);return e?Number(e[1]):Number.NaN}function JN(t){if(!t)return;const e=[[t.displayWidth,t.displayHeight],[t.codedWidth,t.codedHeight],[t.videoWidth,t.videoHeight],[t.naturalWidth,t.naturalHeight],[t.width,t.height]];for(let t=0;t<e.length;t+=1){const[n,i]=e[t],r=Number(n),o=Number(i);if(Number.isFinite(r)&&Number.isFinite(o)&&r>0&&o>0)return{width:r,height:o}}}const ZN=1e-6;function tF(t){return t&&("string"!=typeof t.state||"ready"===t.state)}function eF(t){const e=Number(t);return Number.isFinite(e)?e:0}function nF(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).filter((t=>"cue"===(null==t?void 0:t.type)&&Array.isArray(null==t?void 0:t.cues)))}function iF(t){return t&&"cue"===t.type&&Array.isArray(t.cues)?t.cues:[]}var rF=new WeakMap,oF=new WeakMap,sF=new WeakMap,aF=new WeakMap,lF=new WeakMap,cF=new WeakMap,uF=new WeakMap,dF=new WeakMap,hF=new WeakSet;class fF{constructor(t={}){U(this,hF),W(this,rF,void 0),W(this,oF,void 0),W(this,sF,void 0),W(this,aF,void 0),W(this,lF,void 0),W(this,cF,void 0),W(this,uF,-1e-6),W(this,dF,null),j(rF,this,t.getPlacements),j(oF,this,t.getPlacementsActiveAtTime),j(sF,this,t.getPlacementDuration),j(aF,this,t.getNode),j(lF,this,t.triggerTimeline),j(cF,this,t.triggerNode)}handleSeeking(t,e){const n=eF(t);j(dF,this,n)}handleSeeked(t){const e=eF(t),n=z(dF,this);j(dF,this,null),Number.isFinite(n)?(B(hF,this,mF).call(this,n,e),j(uF,this,e)):j(uF,this,e)}handleTimeUpdate(t,e={}){const n=eF(t),i=z(uF,this);!0===(null==e?void 0:e.isSeeking)?j(uF,this,n):Number.isFinite(i)?n<=i?n<i&&j(uF,this,n-ZN):(B(hF,this,pF).call(this,i,n),j(uF,this,n)):j(uF,this,n)}dispose(){j(dF,this,null),j(uF,this,-1e-6)}}function pF(t,e){const n="function"==typeof z(rF,this)?z(rF,this).call(this):[];B(hF,this,vF).call(this,n,t,e,{onlySticky:!1})}function mF(t,e){if("function"!=typeof z(oF,this))return;const n=z(oF,this).call(this,e);B(hF,this,vF).call(this,n,t,e,{onlySticky:!0})}function vF(t,e,n,i={}){if("function"!=typeof z(aF,this)||"function"!=typeof z(lF,this))return;if(!Array.isArray(t)||!t.length)return;const r=!0===i.onlySticky,o=[];for(let i=0;i<t.length;i+=1){const s=t[i],a=null==s?void 0:s.placementId,l=null==s?void 0:s.nodeId;if(!a||!l)continue;const c=z(aF,this).call(this,l);if(!tF(c))continue;const u=nF(c);if(!u.length)continue;const d=tv(s);if(!Number.isFinite(d))continue;const h=Number.isFinite(null==s?void 0:s.nodeOffsetOverride)?s.nodeOffsetOverride:0,f="function"==typeof z(sF,this)?z(sF,this).call(this,s):void 0,p="number"==typeof f&&Number.isFinite(f)?d+f:Number.POSITIVE_INFINITY,m=r?d-ZN:e;for(let t=0;t<u.length;t+=1){const e=iF(u[t]);for(let i=0;i<e.length;i+=1){const s=e[i],c=eF(null==s?void 0:s.timestamp),u=d+Math.max(0,c-h);u<=p&&(r&&!0!==(null==s?void 0:s.isSticky)||u>m&&u<=n&&"string"==typeof(null==s?void 0:s.name)&&s.name&&o.push({time:u,placementOffset:d,placementId:a,nodeId:l,cuepoint:s,trackIndex:t,cueIndex:i}))}}}o.length&&(o.sort(((t,e)=>t.time!==e.time?t.time-e.time:t.placementOffset!==e.placementOffset?t.placementOffset-e.placementOffset:t.placementId!==e.placementId?t.placementId<e.placementId?-1:1:t.trackIndex!==e.trackIndex?t.trackIndex-e.trackIndex:t.cueIndex-e.cueIndex)),o.forEach((t=>{const e=t.cuepoint,n={time:t.time,nodeId:t.nodeId,placementId:t.placementId,cuepoint:e};z(lF,this).call(this,"cuepoint",n),z(lF,this).call(this,e.name,n),"function"==typeof z(cF,this)&&(z(cF,this).call(this,t.nodeId,"cuepoint",n),z(cF,this).call(this,t.nodeId,e.name,n))})))}class gF{#et;#nt=0;#it=new Set;constructor(t){this.#et="string"==typeof t?t:""}claim(t){if(t)return this.#it.add(t),t;let e;do{e=`${this.#et}${++this.#nt}`}while(this.#it.has(e));return this.#it.add(e),e}reset(){this.#nt=0,this.#it.clear()}}const yF=24e3/1001;function bF(t){var e;const n=null==t?void 0:t.frame;if(!n||!0===n.__closed||!0===n.closed)return 0;if("function"==typeof n.allocationSize)try{const t=Number(n.allocationSize());if(Number.isFinite(t)&&t>0)return t}catch(t){}const i=Number(null==n?void 0:n.byteLength);if(Number.isFinite(i)&&i>0)return i;const r=Number(null==n||null===(e=n.data)||void 0===e?void 0:e.byteLength);if(Number.isFinite(r)&&r>0)return r;const o=function(t,e){const n=Number(null==t?void 0:t.width),i=Number(null==t?void 0:t.height);return Number.isFinite(n)&&Number.isFinite(i)&&n>0&&i>0?{width:n,height:i}:JN(e)}(t,n),s=Number(null==o?void 0:o.width),a=Number(null==o?void 0:o.height);return Number.isFinite(s)&&Number.isFinite(a)&&s>0&&a>0?s*a*4:0}var kF=new WeakMap,xF=new WeakMap,wF=new WeakMap,_F=new WeakMap,IF=new WeakMap,TF=new WeakMap,EF=new WeakMap,SF=new WeakMap,MF=new WeakMap,AF=new WeakMap,NF=new WeakMap,FF=new WeakMap,CF=new WeakMap,OF=new WeakMap,PF=new WeakMap,DF=new WeakMap,RF=new WeakMap,BF=new WeakMap,LF=new WeakMap,zF=new WeakMap,WF=new WeakMap,jF=new WeakMap,UF=new WeakMap,$F=new WeakMap,qF=new WeakMap,VF=new WeakMap,GF=new WeakMap,HF=new WeakMap,KF=new WeakMap,XF=new WeakMap,YF=new WeakMap,QF=new WeakMap,JF=new WeakMap,ZF=new WeakSet;class tC extends Ud{constructor(...t){super(...t),U(this,ZF),W(this,kF,void 0),W(this,xF,void 0),W(this,wF,void 0),W(this,_F,void 0),W(this,IF,void 0),W(this,TF,!1),W(this,EF,[]),W(this,SF,new gF("placement-")),W(this,MF,[]),W(this,AF,new gF("renderplacement-")),W(this,NF,void 0),W(this,FF,void 0),W(this,CF,void 0),W(this,OF,!1),W(this,PF,new Set),W(this,DF,new Set),W(this,RF,new Map),W(this,BF,[]),W(this,LF,0),W(this,zF,new Set),W(this,WF,new Set),W(this,jF,Number.NEGATIVE_INFINITY),W(this,UF,[]),W(this,$F,Number.NEGATIVE_INFINITY),W(this,qF,0),W(this,VF,void 0),W(this,GF,void 0),W(this,HF,new Map),W(this,KF,null),W(this,XF,void 0),W(this,YF,void 0),W(this,QF,void 0),W(this,JF,void 0);const[e,n={}]=t;j(kF,this,e),j(VF,this,n),j(IF,this,new YA(n)),j(NF,this,new nN(n)),j(_F,this,ug),B(ZF,this,dC).call(this),B(ZF,this,hC).call(this),j(XF,this,new $N({getState:()=>this.state,getNode:t=>z(kF,this)&&"function"==typeof z(kF,this).get?z(kF,this).get(t):void 0,getPlacementsActiveAtTime:t=>B(ZF,this,VC).call(this,t,{endEpsilonSeconds:B(ZF,this,tO).call(this)}),getLastStableState:()=>this.getLastStableState(),getPlaybackStartState:t=>this.getPlaybackStartState(t),clearVisualFrameBuffers:()=>B(ZF,this,$C).call(this),updateTime:(t,e)=>this.updateTime(t,e),transitionTo:(t,e)=>this.transitionTo(t,e),trigger:(t,e)=>this.trigger(t,e)})),j(YF,this,new fF({getPlacements:()=>z(EF,this).slice(),getPlacementsActiveAtTime:t=>B(ZF,this,VC).call(this,t),getPlacementDuration:t=>B(ZF,this,EC).call(this,t),getNode:t=>z(kF,this)&&"function"==typeof z(kF,this).get?z(kF,this).get(t):void 0,triggerTimeline:(t,e)=>this.trigger(t,e),triggerNode:(t,e,n)=>{const i=z(kF,this)&&"function"==typeof z(kF,this).get?z(kF,this).get(t):void 0;i&&"function"==typeof i.trigger&&i.trigger(e,n)}})),j(QF,this,(()=>{var t,e;null===(t=z(YF,this))||void 0===t||null===(e=t.handleSeeked)||void 0===e||e.call(t,this.currentTime)})),this.on(Hd.TIMELINE_SEEKED,z(QF,this)),j(JF,this,(t=>B(ZF,this,bC).call(this,t))),this.on("nodestart",z(JF,this)),this.transitionTo(sg)}get name(){return"Timeline"}get defaults(){return{snapToFps:yF,maxBufferedVideoFrames:24}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"computeBuffered","notifyDecodedFrame","getDecodedFrameStats","getActiveRenderPlacement","maybeCompleteSeek","getPlacementsActiveAtTime","hasDecodedFirstFrame","getDecodedVisualBuffer","getPlacementDuration","getNode"])}transitionTo(t,e={}){const n=z(wF,this),i=function(t,e,n={}){const i=gN[t];return i?new i(e,n):null}(t,this,z(VF,this)),r=e&&"object"==typeof e&&!Array.isArray(e)?{...e,from:n,to:t}:{from:n,to:t};i?(z(xF,this)&&"function"==typeof z(xF,this).exit&&z(xF,this).exit(),j(xF,this,i),j(wF,this,t),"function"==typeof i.enter&&i.enter(r),this.trigger(Hd.TIMELINE_STATE_CHANGE,{from:n,to:t,options:e})):this.log.warn(`Unknown state "${t}"`)}recordStableState(t){j(_F,this,t)}getLastStableState(){return z(_F,this)}enableFirstFrameRenderedGate(){j(TF,this,!0)}getPlaybackStartState(t=this.currentTime){return this.shouldWaitForFirstRenderedFrame(t)?lg:ag}shouldWaitForFirstRenderedFrame(t=this.currentTime){if(!z(TF,this)||z(OF,this))return!1;const e=Number.isFinite(t)?t:this.currentTime,n=B(ZF,this,VC).call(this,e);return Array.isArray(n)&&n.length>0}notifyFirstFrameRendered(){z(OF,this)||(j(OF,this,!0),this.state===lg&&this.transitionTo(ag,{fromFirstFramePending:!0}))}get state(){return z(wF,this)}get paused(){return z(wF,this)===sg||z(wF,this)===ug}get currentTime(){return z(IF,this).currentTime}set currentTime(t){z(xF,this).seek(t)}get playbackRate(){return z(IF,this).playbackRate}set playbackRate(t){z(IF,this).playbackRate=t}play(){z(xF,this).play()}pause(){z(xF,this).pause()}reset(){z(xF,this).reset()}seekToPlacement(t){if(!t)throw new Error("Timeline.seekToPlacement requires placement id");B(ZF,this,wC).call(this);const e=B(ZF,this,YC).call(this,t);if(!e)throw new Error("Timeline.seekToPlacement requires placement id");const n=tv(e);if(!Number.isFinite(n))throw new Error("Timeline.seekToPlacement requires resolved placement offset");return this.currentTime=n,n}updateTime(t,e={}){var n,i;B(ZF,this,wC).call(this),B(ZF,this,_C).call(this),z(IF,this).seek(t),B(ZF,this,qC).call(this,this.currentTime),B(ZF,this,GC).call(this);const r="string"==typeof(null==e?void 0:e.source)?e.source:"set";null!==(n=z(YF,this))&&void 0!==n&&null!==(i=n.handleTimeUpdate)&&void 0!==i&&i.call(n,this.currentTime,{isSeeking:this.state===dg}),B(ZF,this,kC).call(this,this.currentTime),B(ZF,this,LC).call(this,this.currentTime),this.trigger(Hd.TIMELINE_TIME_UPDATE,Kd(this.currentTime,r))}startSeeking(t,e){var n,i;null!==(n=z(YF,this))&&void 0!==n&&null!==(i=n.handleSeeking)&&void 0!==i&&i.call(n,this.currentTime,t),z(XF,this)&&"function"==typeof z(XF,this).start&&z(XF,this).start(t,e)}setSeekReturnState(t){z(XF,this)&&"function"==typeof z(XF,this).setReturnState&&z(XF,this).setReturnState(t)}maybeCompleteSeek(t){z(XF,this)&&"function"==typeof z(XF,this).maybeComplete&&z(XF,this).maybeComplete(t)}startPlaybackClock(){z(IF,this).play()}stopPlaybackClock(){z(IF,this).pause()}resetClock(){var t,e;j(OF,this,!1),z(IF,this).reset(),this.trigger(Hd.TIMELINE_RESET,{reason:"reset"}),null===(t=z(YF,this))||void 0===t||null===(e=t.dispose)||void 0===e||e.call(t)}applyTimelineDefinition(t={}){const e=Array.isArray(null==t?void 0:t.placements)?t.placements:[],n=Array.isArray(null==t?void 0:t.renderPlacements)?t.renderPlacements:[];B(ZF,this,eC).call(this),B(ZF,this,nC).call(this,e),B(ZF,this,iC).call(this,n),this.currentTime=0}placeOnTimeline(t,e,n={}){const i=t&&"object"==typeof t?t.id:t;if(!i)throw new Error("Timeline.placeOnTimeline requires node id");const r=z(SF,this).claim(n.placementId),o=n.nodeOffsetOverride||n.offset,s=n.nodeDurationOverride||n.duration,a=sv(e);if("string"==typeof e&&e.includes("@")&&!a)throw new Error("Timeline.placeOnTimeline requires valid placement reference");const{wantsEndOffset:l,endOffsetSeconds:c}=a?{wantsEndOffset:!1}:ov(e,n);let u,d,h,f=!1;const p=null!==a;if(B(ZF,this,wC).call(this),a){const t=z(EF,this).find((t=>(null==t?void 0:t.placementId)===a.placementId));if(!t)throw new Error("Timeline.placeOnTimeline requires valid placement reference");d=t.placementId,h=a.anchor;const e=tv(t);if("start"===a.anchor)Number.isFinite(e)?u=B(ZF,this,SC).call(this,e,{nodeOffsetOverride:o}):f=!0;else{const n=B(ZF,this,EC).call(this,t);if(Number.isFinite(e)&&n>0){const t=e+n,i=B(ZF,this,SC).call(this,t,{nodeOffsetOverride:o});u=Math.max(i,t)}else f=!0}}else if(l){const t=n.offsetAnchorPlacementId?z(EF,this).find((t=>(null==t?void 0:t.placementId)===n.offsetAnchorPlacementId)):z(EF,this).length?z(EF,this)[z(EF,this).length-1]:void 0;if(d=n.offsetAnchorPlacementId||(null==t?void 0:t.placementId),d){const e=tv(t),n=B(ZF,this,EC).call(this,t);Number.isFinite(e)&&n>0?u=B(ZF,this,SC).call(this,e+n-c,{nodeOffsetOverride:o}):(f=!0,h="end")}else u=B(ZF,this,SC).call(this,-c,{nodeOffsetOverride:o})}else u=rv(e),u=B(ZF,this,SC).call(this,u,{...n,nodeOffsetOverride:o});const m=!0===n.loop?n.loopRootPlacementId||r:void 0,v=!0===n.loop&&Number.isFinite(n.loopRootOffset)?n.loopRootOffset:!0===n.loop?u:void 0,g=l?c:a&&"end"===a.anchor?0:void 0,y=new sN({placementId:r,nodeId:i,offset:u,offsetPending:f,offsetAnchorPlacementId:f?d:void 0,offsetAnchorEdge:f?h:void 0,offsetAnchorIsReference:f?p:void 0,offsetEndSeconds:g,nodeOffsetOverride:o,nodeDurationOverride:s,loop:!0===n.loop,loopRootPlacementId:m,loopRootOffset:v});if(z(EF,this).push(y),nv(z(EF,this)),B(ZF,this,RC).call(this,y),B(ZF,this,PC).call(this),f&&d){const t=z(EF,this).find((t=>(null==t?void 0:t.placementId)===d));B(ZF,this,AC).call(this,null==t?void 0:t.nodeId)}return this.trigger(Hd.PLACEMENT_ADDED,y),r}placeRenderNodeOnTimeline(t,e,n,i={}){const r="string"==typeof t?t:null==t?void 0:t.type;if(!r||"string"!=typeof r)throw new Error("Timeline.placeRenderNodeOnTimeline requires render node type");const o=B(ZF,this,MC).call(this,e,i),s=o.offset,a=!0===o.offsetPending,l=o.offsetAnchorPlacementId,c=o.offsetAnchorEdge,u=o.offsetAnchorIsReference,d=z(AF,this).claim(i.renderPlacementId),h=Number(n),f=h===Number.POSITIVE_INFINITY,p=Number.isFinite(h)&&h>0||f?h:void 0;if(!p)throw new Error("Timeline.placeRenderNodeOnTimeline requires a positive duration (seconds) or Infinity as 3rd argument");const m=i.params&&"object"==typeof i.params?i.params:void 0,v={renderPlacementId:d,type:r,offset:s,offsetPending:a,offsetAnchorPlacementId:l,offsetAnchorEdge:c,offsetAnchorIsReference:u,duration:p,params:m};if(!a){const t=s,e=s+p;av(z(MF,this),t,e,"Timeline.placeRenderNodeOnTimeline does not allow overlapping render node placements")}if(z(MF,this).push(v),nv(z(MF,this)),a&&l){const t=z(EF,this).find((t=>(null==t?void 0:t.placementId)===l));B(ZF,this,AC).call(this,null==t?void 0:t.nodeId)}return this.trigger(Hd.RENDER_PLACEMENT_ADDED,v),d}get placements(){return z(EF,this).slice()}getPlacementsActiveAtTime(t){return B(ZF,this,VC).call(this,t)}getNodesAtTime(t){const e=B(ZF,this,QC).call(this,t);if(!Number.isFinite(e))return[];const n=B(ZF,this,VC).call(this,e),i=[];return n.forEach((t=>{const e=this.getNode(null==t?void 0:t.nodeId);e&&i.push(e)})),i}getPlacementDuration(t){return B(ZF,this,EC).call(this,t)}getNode(t){if(z(kF,this)&&"function"==typeof z(kF,this).get)return z(kF,this).get(t)}get renderPlacements(){return z(MF,this).slice()}get placementsAhead(){const t=this.currentTime;return z(EF,this).filter((e=>{const n=tv(e);if(!Number.isFinite(n))return!1;const i=B(ZF,this,EC).call(this,e);return"number"==typeof i?n+i>t:n>=t}))}get buffered(){return z(xF,this)?z(xF,this).buffered:{start:0,end:0}}get trackBuffers(){return z(NF,this)}onDispose(){B(ZF,this,cC).call(this),z(DF,this)&&z(DF,this).clear(),z(YF,this)&&"function"==typeof z(YF,this).dispose&&z(YF,this).dispose(),j(YF,this,null),B(ZF,this,lC).call(this),B(ZF,this,uC).call(this),z(XF,this)&&"function"==typeof z(XF,this).dispose&&z(XF,this).dispose(),j(XF,this,null),z(IF,this)&&"function"==typeof z(IF,this).dispose&&(z(GF,this)&&"function"==typeof z(IF,this).off&&(z(IF,this).off("tick",z(GF,this)),j(GF,this,null)),z(IF,this).dispose(),j(IF,this,null)),B(ZF,this,CC).call(this),j(xF,this,null),j(wF,this,null),j(EF,this,[]),j(MF,this,[]),B(ZF,this,OC).call(this),B(ZF,this,PC).call(this),z(HF,this).clear(),j(KF,this,null)}notifyDecodedFrame(t={}){const e=null==t?void 0:t.placementId,n=null==t?void 0:t.trackType;if(!e||!n)return;const i=`${e}:${n}`;z(PF,this).add(i),B(ZF,this,UC).call(this,t),B(ZF,this,GC).call(this),z(xF,this)&&"function"==typeof z(xF,this).handleDecodedFrame&&z(xF,this).handleDecodedFrame(t)}getDecodedFrameStats(){return function(t){const e={totalBytes:0,frames:0,available:!1};if(!t||"function"!=typeof t.values)return e;for(const n of t.values()){const t=[];null!=n&&n.current&&t.push(n.current),Array.isArray(null==n?void 0:n.frames)&&t.push(...n.frames),t.forEach((t=>{const n=null==t?void 0:t.frame;if(!n||!0===n.__closed||!0===n.closed)return;e.frames+=1;const i=bF(t);Number.isFinite(i)&&i>0&&(e.totalBytes+=i)}))}return e.available=!0,e}(z(HF,this))}hasDecodedFirstFrame(t,e){return!(!t||!e)&&z(PF,this).has(`${t}:${e}`)}getDecodedVisualBuffer(t,e){if(t&&e)return z(HF,this).get(`${t}:${e}`)}computeBuffered(t){const e=z(kF,this);if(e&&"function"==typeof e.get)return z(NF,this).computeBuffered(z(EF,this),t,e)}getActiveRenderPlacement(t=this.currentTime){const e=Number.isFinite(t)?t:this.currentTime,n=Array.isArray(z(MF,this))?z(MF,this):[];if(!n.length)return;let i;for(let t=0;t<n.length;t+=1){const r=n[t];if(!0===(null==r?void 0:r.offsetPending))continue;const o="number"==typeof r.offset?r.offset:void 0;if(!Number.isFinite(o))continue;const s=r.duration;("number"==typeof s&&Number.isFinite(s)&&s>0?e>=o&&e<o+s:e>=o)&&(i=r)}return i}}function eC(){j(OF,this,!1),this.trigger(Hd.TIMELINE_RESET,{reason:"switch"}),B(ZF,this,$C).call(this),z(NF,this)&&"function"==typeof z(NF,this).reset&&z(NF,this).reset(),z(DF,this)&&z(DF,this).clear(),j(EF,this,[]),j(MF,this,[]),B(ZF,this,OC).call(this),B(ZF,this,PC).call(this),z(SF,this).reset(),z(AF,this).reset()}function nC(t=[]){for(let e=0;e<t.length;e+=1){const n=t[e];if(!n||!n.nodeId)continue;const i=B(ZF,this,rC).call(this,n),r=B(ZF,this,sC).call(this,n);this.placeOnTimeline(n.nodeId,r,i)}}function iC(t=[]){for(let e=0;e<t.length;e+=1){const n=t[e];if(!n||!n.type)continue;const i=B(ZF,this,oC).call(this,n),r=B(ZF,this,aC).call(this,n);this.placeRenderNodeOnTimeline(n.type,r,n.duration,i)}}function rC(t){const e={};return t.placementId&&(e.placementId=t.placementId),Number.isFinite(t.nodeOffsetOverride)&&(e.nodeOffsetOverride=t.nodeOffsetOverride),Number.isFinite(t.nodeDurationOverride)&&(e.nodeDurationOverride=t.nodeDurationOverride),!0===t.offsetPending&&(e.offsetPending=!0,t.offsetAnchorPlacementId&&(e.offsetAnchorPlacementId=t.offsetAnchorPlacementId),t.offsetAnchorEdge&&(e.offsetAnchorEdge=t.offsetAnchorEdge)),Number.isFinite(t.offsetEndSeconds)&&(e.offsetEndSeconds=t.offsetEndSeconds),!0===t.loop&&(e.loop=!0),t.loopRootPlacementId&&(e.loopRootPlacementId=t.loopRootPlacementId),Number.isFinite(t.loopRootOffset)&&(e.loopRootOffset=t.loopRootOffset),e}function oC(t){const e={};return t.renderPlacementId&&(e.renderPlacementId=t.renderPlacementId),t.params&&"object"==typeof t.params&&(e.params=t.params),e}function sC(t){if(!0===t.offsetPending&&t.offsetAnchorPlacementId&&t.offsetAnchorEdge){if(!0===t.offsetAnchorIsReference)return`${t.offsetAnchorPlacementId}@${t.offsetAnchorEdge}`;if("end"===t.offsetAnchorEdge)return Number.isFinite(t.offsetEndSeconds)&&t.offsetEndSeconds>0?-t.offsetEndSeconds:"end"}return"string"==typeof t.offset||Number.isFinite(t.offset)?t.offset:0}function aC(t){return!0===t.offsetPending&&t.offsetAnchorPlacementId&&t.offsetAnchorEdge&&!0===t.offsetAnchorIsReference?`${t.offsetAnchorPlacementId}@${t.offsetAnchorEdge}`:"string"==typeof t.offset||Number.isFinite(t.offset)?t.offset:0}function lC(){z(xF,this)&&"function"==typeof z(xF,this).exit&&z(xF,this).exit()}function cC(){z(QF,this)&&"function"==typeof this.off&&(this.off(Hd.TIMELINE_SEEKED,z(QF,this)),j(QF,this,null)),z(JF,this)&&"function"==typeof this.off&&(this.off("nodestart",z(JF,this)),j(JF,this,null))}function uC(){z(NF,this)&&(z(FF,this)&&(z(NF,this).off("track:underflow",z(FF,this)),j(FF,this,null)),z(CF,this)&&(z(NF,this).off("track:ready",z(CF,this)),j(CF,this,null)),"function"==typeof z(NF,this).dispose&&z(NF,this).dispose(),j(NF,this,null))}function dC(){z(NF,this)&&"function"==typeof z(NF,this).on&&(j(FF,this,(t=>B(ZF,this,pC).call(this,t))),j(CF,this,(t=>B(ZF,this,mC).call(this,t))),z(NF,this).on(Hd.TRACK_UNDERFLOW,z(FF,this)),z(NF,this).on(Hd.TRACK_READY,z(CF,this)))}function hC(){z(IF,this)&&"function"==typeof z(IF,this).on&&(j(GF,this,(t=>B(ZF,this,fC).call(this,t))),z(IF,this).on(Hd.CLOCK_TICK,z(GF,this)))}function fC(t){var e,n;B(ZF,this,wC).call(this),B(ZF,this,GC).call(this),null!==(e=z(YF,this))&&void 0!==e&&null!==(n=e.handleTimeUpdate)&&void 0!==n&&n.call(e,this.currentTime,{isSeeking:!1}),B(ZF,this,kC).call(this,this.currentTime),this.trigger(Hd.TIMELINE_TIME_UPDATE,Kd(this.currentTime,"clock")),z(xF,this)&&"function"==typeof z(xF,this).handleClockTick&&z(xF,this).handleClockTick(t)}function pC(t){B(ZF,this,wC).call(this);const e=B(ZF,this,vC).call(this);e&&(null==t?void 0:t.trackType)===e.trackType&&(z(xF,this)&&"function"==typeof z(xF,this).handleMainTrackUnderflow?z(xF,this).handleMainTrackUnderflow(t):this.transitionTo(cg))}function mC(t){if(B(ZF,this,wC).call(this),this.state!==cg)return;const e=B(ZF,this,vC).call(this);if(!e)return;if((null==t?void 0:t.trackType)!==e.trackType)return;if(z(xF,this)&&"function"==typeof z(xF,this).handleMainTrackReady)return void z(xF,this).handleMainTrackReady(t);const n=this.getLastStableState()||ug;this.transitionTo(n)}function vC(t=this.currentTime){const e=B(ZF,this,yC).call(this,t);if(!e)return;const n=z(kF,this)&&"function"==typeof z(kF,this).get?z(kF,this).get(e.nodeId):void 0;if(!n)return;const i=B(ZF,this,gC).call(this,n);return i?{placement:e,trackType:i}:void 0}function gC(t){var e;const n=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];let i;if(null!=t&&t.mainTrackId){const e=n.find((e=>(null==e?void 0:e.id)===t.mainTrackId));i=null==e?void 0:e.type}if(i||(i=null===(e=n.find((t=>null==t?void 0:t.type)))||void 0===e?void 0:e.type),"video"===i||"audio"===i||"image"===i)return i}function yC(t=this.currentTime){const e=z(EF,this)||[];let n;for(let i=0;i<e.length;i+=1){const r=e[i],o=tv(r);if(!Number.isFinite(o))continue;const s=B(ZF,this,EC).call(this,r);if(Number.isFinite(s)){if(t>=o&&t<o+s)return r}else if(t<=o)return r;!n&&t<o&&(n=r)}return n}function bC(t={}){if(this.state!==ag)return;const e=null==t?void 0:t.placementId;if(!e)return;const n=B(ZF,this,YC).call(this,e);n&&B(ZF,this,xC).call(this,n)}function kC(t=this.currentTime){if(this.state!==ag)return;const e=B(ZF,this,VC).call(this,t);Array.isArray(e)&&e.length&&e.forEach((t=>B(ZF,this,xC).call(this,t)))}function xC(t){const e=null==t?void 0:t.placementId;if(!e)return;if(z(DF,this).has(e))return;if(!t||!0!==t.loop)return;if(!t.nodeId)return;const n=B(ZF,this,EC).call(this,t);if(!Number.isFinite(n)||n<=0)return;const i=tv(t);if(!Number.isFinite(i))return;const r=i+n;if(!Number.isFinite(r))return;const o=t.loopRootPlacementId||t.placementId,s=Number.isFinite(t.loopRootOffset)?t.loopRootOffset:i;z(DF,this).add(e),this.placeOnTimeline(t.nodeId,r,{nodeOffsetOverride:t.nodeOffsetOverride,nodeDurationOverride:t.nodeDurationOverride,loop:!0,loopRootPlacementId:o,loopRootOffset:s})}function wC(){const t=iv(z(EF,this),{getPlacementDuration:t=>B(ZF,this,EC).call(this,t),snapPlacementOffset:(t,e)=>B(ZF,this,SC).call(this,t,{nodeOffsetOverride:null==e?void 0:e.nodeOffsetOverride}),onResolvedPlacement:(t,e)=>{!0!==t.loop||Number.isFinite(t.loopRootOffset)||(t.loopRootOffset=t.offset),B(ZF,this,NC).call(this,null==e?void 0:e.nodeId)}});return t.updated&&(B(ZF,this,PC).call(this),t.resolvedPlacements.forEach((t=>{B(ZF,this,RC).call(this,t),this.trigger(Hd.PLACEMENT_ADDED,t)}))),t.updated}function _C(){if(!z(MF,this).length||!z(EF,this).length)return!1;const t=new Map;z(EF,this).forEach((e=>{(null==e?void 0:e.placementId)&&t.set(e.placementId,e)}));const e=z(MF,this).filter((t=>!0===(null==t?void 0:t.offsetPending)));if(!e.length)return!1;let n=!1;const i=[];for(let r=0;r<e.length;r+=1){const o=e[r];B(ZF,this,IC).call(this,o,t)&&(n=!0,i.push(o))}return n&&(nv(z(MF,this)),i.forEach((t=>{this.trigger(Hd.RENDER_PLACEMENT_ADDED,t)}))),n}function IC(t,e){const n=null==t?void 0:t.offsetAnchorPlacementId,i=null==t?void 0:t.offsetAnchorEdge;if(!n||!i)return!1;const r=e.get(n);if(!r||!0===r.offsetPending)return!1;const o=B(ZF,this,TC).call(this,r,t);if(!Number.isFinite(o))return!1;t.offset=o,t.offsetPending=!1,t.offsetAnchorPlacementId=void 0,t.offsetAnchorEdge=void 0,t.offsetAnchorIsReference=void 0;const s=t.offset,a=t.offset+t.duration;return av(z(MF,this).filter((e=>e!==t&&!0!==(null==e?void 0:e.offsetPending))),s,a,"Timeline.placeRenderNodeOnTimeline does not allow overlapping render node placements"),B(ZF,this,NC).call(this,null==r?void 0:r.nodeId),!0}function TC(t,e){const n=tv(t);if(!Number.isFinite(n))return;if("start"===e.offsetAnchorEdge)return B(ZF,this,SC).call(this,n);const i=B(ZF,this,EC).call(this,t);if(!(i>0))return;const r=n+i;if(!Number.isFinite(r))return;const o=B(ZF,this,SC).call(this,r);return!0===e.offsetAnchorIsReference?Math.max(o,r):o}function EC(t){return Jm(t,z(kF,this))}function SC(t,e={}){var n;return function(t,e={},n){const i=Number(n);if(!(i>0))return t;const r=Number(t);if(!Number.isFinite(r))return t;const o=Number.isFinite(null==e?void 0:e.nodeOffsetOverride)?e.nodeOffsetOverride:0,s=r-o;return Math.round(s*i)/i+o}(t,e,null===(n=this.settings)||void 0===n?void 0:n.snapToFps)}function MC(t,e={}){const n=sv(t);if("string"==typeof t&&t.includes("@")&&!n)throw new Error("Timeline.placeRenderNodeOnTimeline requires valid placement reference");if(!n){const n=rv(t);return{offset:B(ZF,this,SC).call(this,n,e)}}const i=z(EF,this).find((t=>(null==t?void 0:t.placementId)===n.placementId));if(!i)throw new Error("Timeline.placeRenderNodeOnTimeline requires valid placement reference");const r=tv(i);if("start"===n.anchor)return Number.isFinite(r)?{offset:B(ZF,this,SC).call(this,r,e)}:{offset:void 0,offsetPending:!0,offsetAnchorPlacementId:i.placementId,offsetAnchorEdge:"start",offsetAnchorIsReference:!0};const o=B(ZF,this,EC).call(this,i);if(!(Number.isFinite(r)&&o>0))return{offset:void 0,offsetPending:!0,offsetAnchorPlacementId:i.placementId,offsetAnchorEdge:"end",offsetAnchorIsReference:!0};const s=r+o,a=B(ZF,this,SC).call(this,s,e);return{offset:Math.max(a,s)}}function AC(t){if(!t||!z(kF,this)||"function"!=typeof z(kF,this).get)return;if(z(RF,this).has(t))return;let e;try{e=z(kF,this).get(t)}catch(t){return}if(!e||"function"!=typeof e.on)return;if("ready"===e.state&&e.duration>0)return void this.updateTime(this.currentTime);const n=()=>{this.updateTime(this.currentTime),B(ZF,this,NC).call(this,t)};e.on(Hd.NODE_LOADED,n),z(RF,this).set(t,n)}function NC(t){if(!t)return;if(B(ZF,this,FC).call(this,t))return;const e=z(RF,this).get(t);if(!e)return;let n;try{n=z(kF,this).get(t)}catch(t){n=null}n&&"function"==typeof n.off&&n.off(Hd.NODE_LOADED,e),z(RF,this).delete(t)}function FC(t){if(!t)return!1;const e=new Map;z(EF,this).forEach((t=>{(null==t?void 0:t.placementId)&&e.set(t.placementId,t)}));const n=n=>{if(null==n||!n.offsetPending||null==n||!n.offsetAnchorPlacementId)return!1;const i=e.get(n.offsetAnchorPlacementId);return(null==i?void 0:i.nodeId)===t};return!!z(EF,this).some((t=>n(t)))||!!z(MF,this).some((t=>n(t)))}function CC(){z(RF,this).size&&z(kF,this)?(z(RF,this).forEach(((t,e)=>{let n;try{n=z(kF,this).get(e)}catch(t){n=null}n&&"function"==typeof n.off&&n.off(Hd.NODE_LOADED,t)})),z(RF,this).clear()):z(RF,this).clear()}function OC(){j(BF,this,[]),j(LF,this,0),z(zF,this).clear(),z(WF,this).clear(),j(jF,this,Number.NEGATIVE_INFINITY)}function PC(){j(UF,this,[]),j(qF,this,0),j($F,this,Number.NEGATIVE_INFINITY)}function DC(t,e){const n=z(BF,this),i={placementId:t,endTime:e};if(!n.length||e>=n[n.length-1].endTime)return void n.push(i);const r=n.findIndex((t=>e<t.endTime)),o=-1===r?n.length:r;n.splice(o,0,i),o<z(LF,this)&&j(LF,this,z(LF,this)+1)}function RC(t){const e=null==t?void 0:t.placementId;if(!e||z(zF,this).has(e))return;const n=tv(t),i=B(ZF,this,EC).call(this,t);if(!Number.isFinite(n)||!Number.isFinite(i)||i<0)return void z(WF,this).add(e);const r=n+i;Number.isFinite(r)&&(z(zF,this).add(e),z(WF,this).delete(e),B(ZF,this,DC).call(this,e,r))}function BC(){z(WF,this).size&&Array.from(z(WF,this)).forEach((t=>{const e=B(ZF,this,YC).call(this,t);e?B(ZF,this,RC).call(this,e):z(WF,this).delete(t)}))}function LC(t){const e=Number(t);if(!Number.isFinite(e))return;if(e<z(jF,this))return void j(jF,this,e);if(j(jF,this,e),B(ZF,this,BC).call(this),!z(BF,this).length)return;const n=new Set;let i=z(LF,this);for(;i<z(BF,this).length;){const t=z(BF,this)[i];if(!t||!Number.isFinite(t.endTime)||t.endTime>e)break;t.placementId&&n.add(t.placementId),i+=1}i!==z(LF,this)&&(j(LF,this,i),n.size&&(B(ZF,this,jC).call(this,n),B(ZF,this,zC).call(this,n)))}function zC(t){if(t&&t.size)for(const e of z(PF,this)){const n=e.split(":")[0];t.has(n)&&z(PF,this).delete(e)}}function WC(t){const e=Array.isArray(null==t?void 0:t.frames)?t.frames:[],n=null==t?void 0:t.current;(n?[n,...e]:e).forEach((t=>{const e=null==t?void 0:t.frame;if(e&&"function"==typeof e.close)try{e.close()}catch(t){}}))}function jC(t){if(t&&t.size)for(const[e,n]of z(HF,this).entries())t.has(null==n?void 0:n.placementId)&&(B(ZF,this,WC).call(this,n),z(HF,this).delete(e))}function UC(t={}){var e;const n=null==t?void 0:t.placementId,i=null==t?void 0:t.nodeId,r=null==t?void 0:t.trackId,o=null==t?void 0:t.segmentId,s=null==t?void 0:t.trackType;if(!(n&&i&&r&&o))return;if("video"!==s&&"image"!==s)return;const a=(null==t?void 0:t.frame)||(null==t?void 0:t.data);if(!a)return;"video"===s&&"object"==typeof a&&"function"==typeof a.close&&(a.__keepOpen=!0);const l=JN(a),c=Number.isFinite(null==l?void 0:l.width)?l.width:void 0,u=Number.isFinite(null==l?void 0:l.height)?l.height:void 0,d=Number.isFinite(null==t?void 0:t.pts)?t.pts:void 0;if(!Number.isFinite(d))return;const h=Number.isFinite(null==t?void 0:t.duration)?t.duration:void 0,f=`${n}:${r}`,p=z(HF,this).get(f),m=p||{placementId:n,nodeId:i,trackId:r,trackType:s,frames:[],current:void 0},v={placementId:n,nodeId:i,trackId:r,segmentId:o,frame:a,width:c,height:u,presentationTime:d,duration:h},g=m.frames,y=g.length?g[g.length-1]:void 0;if(!y||y.presentationTime<=v.presentationTime)g.push(v);else{let t=g.findIndex((t=>t.presentationTime>v.presentationTime));-1===t&&(t=g.length),g.splice(t,0,v)}const b=Number(null===(e=this.settings)||void 0===e?void 0:e.maxBufferedVideoFrames);if("video"===s&&Number.isFinite(b)&&b>0&&g.length>b){const t=g.length-b;for(let e=0;e<t;e+=1){const t=g.pop(),e=null==t?void 0:t.frame;if(e&&"function"==typeof e.close)try{e.close()}catch(t){}}}p||z(HF,this).set(f,m)}function $C(){for(const t of z(HF,this).values())B(ZF,this,WC).call(this,t);z(HF,this).clear(),j(KF,this,null),z(PF,this).clear()}function qC(t){const e=Number.isFinite(t)?t:this.currentTime;if(!Number.isFinite(e))return;e<z($F,this)&&(j(UF,this,[]),j(qF,this,0));const n=Array.isArray(z(EF,this))?z(EF,this):[],i=[],r=new Set;z(UF,this).forEach((t=>{B(ZF,this,eO).call(this,t,e)&&(i.push(t),(null==t?void 0:t.placementId)&&r.add(t.placementId))}));let o=z(qF,this);for(;o<n.length;){const t=n[o],s=tv(t);if(!Number.isFinite(s))break;if(s>e)break;if(B(ZF,this,eO).call(this,t,e)){const e=null==t?void 0:t.placementId;e&&r.has(e)||(i.push(t),e&&r.add(e))}o+=1}j(UF,this,i),j(qF,this,o),j($F,this,e)}function VC(t,e={}){const n=Number.isFinite(t)?t:this.currentTime,i=Number.isFinite(null==e?void 0:e.endEpsilonSeconds)?e.endEpsilonSeconds:0;return 0===i&&n===this.currentTime&&n===z($F,this)?z(UF,this).slice():(Array.isArray(z(EF,this))?z(EF,this):[]).filter((t=>B(ZF,this,eO).call(this,t,n,i)))}function GC(){const t=this.currentTime,e=B(ZF,this,KC).call(this,t);if(!e.length)return void j(KF,this,null);const n=this.getActiveRenderPlacement(t),i=B(ZF,this,XC).call(this,e,n);(i!==z(KF,this)||B(ZF,this,HC).call(this,t,n))&&(j(KF,this,i),this.trigger(Hd.VISUAL_FRAMES_AVAILABLE,{time:t,frames:e}))}function HC(t,e){const n=e||this.getActiveRenderPlacement(t);if(!n)return!1;if(!Cv.doesRenderNodeTypeRequireFrameCadence(null==n?void 0:n.type))return!1;const i=n.duration;return"number"==typeof i&&i>0}function KC(t){return function(t={}){const e=t.buffers,n=t.time,i=t.getPlacementById,r=t.isPlacementActiveAtTime,o=t.getPlacementDuration,s=[];if(!e||"function"!=typeof e.entries)return[];const a=[];for(const[t,c]of e.entries()){const e=null==c?void 0:c.placementId,u="function"==typeof i?i(e):void 0;if(!u){HN(c),a.push(t);continue}if("function"==typeof r&&!r(u,n)){const e=KN(u),i="function"==typeof o?o(u):void 0;Number.isFinite(i)&&Number.isFinite(e)&&n>=e+i&&(HN(c),a.push(t));continue}const d=Array.isArray(null==c?void 0:c.frames)?c.frames:[];for(;d.length&&Number.isFinite(null===(l=d[0])||void 0===l?void 0:l.presentationTime)&&d[0].presentationTime<=n;){var l;const t=c.current,e=d.shift();c.current=e,t&&t!==e&&GN(null==t?void 0:t.frame)}if(!c.current)continue;const h={placementId:e,nodeId:c.current.nodeId,trackId:c.current.trackId,segmentId:c.current.segmentId,frame:c.current.frame,width:c.current.width,height:c.current.height,presentationTime:c.current.presentationTime,duration:c.current.duration};s.push({frame:h,placementId:e,placementOffset:KN(u),placementSortOffset:XN(u),placementSortId:YN(u,e)})}return a.forEach((t=>{e.delete(t)})),s.sort(((t,e)=>{const n=Number.isFinite(null==t?void 0:t.placementSortOffset)?t.placementSortOffset:Number.isFinite(null==t?void 0:t.placementOffset)?t.placementOffset:0,i=Number.isFinite(null==e?void 0:e.placementSortOffset)?e.placementSortOffset:Number.isFinite(null==e?void 0:e.placementOffset)?e.placementOffset:0;if(n!==i)return n-i;const r=(null==t?void 0:t.placementSortId)||(null==t?void 0:t.placementId),o=(null==e?void 0:e.placementSortId)||(null==e?void 0:e.placementId),s=QN(r),a=QN(o);return Number.isFinite(s)&&Number.isFinite(a)&&s!==a?s-a:r&&o&&r!==o?r<o?-1:1:function(t,e){const n=(null==t?void 0:t.frame)||{},i=(null==e?void 0:e.frame)||{};return n.trackId!==i.trackId?n.trackId<i.trackId?-1:1:n.nodeId!==i.nodeId?n.nodeId<i.nodeId?-1:1:n.segmentId!==i.segmentId?n.segmentId<i.segmentId?-1:1:("number"==typeof n.presentationTime?n.presentationTime:0)-("number"==typeof i.presentationTime?i.presentationTime:0)}(t,e)})),s.map((t=>t.frame))}({buffers:z(HF,this),time:t,getPlacementById:t=>B(ZF,this,YC).call(this,t),isPlacementActiveAtTime:(t,e)=>B(ZF,this,eO).call(this,t,e),getPlacementDuration:t=>B(ZF,this,EC).call(this,t)})}function XC(t,e){return`${e?`render:${e.renderPlacementId||e.type||"unknown"}`:"render:default"}|${t.map((t=>`${t.nodeId}:${t.trackId}:${t.segmentId}@${t.presentationTime}`)).join("|")}`}function YC(t){if(t)return(z(EF,this)||[]).find((e=>(null==e?void 0:e.placementId)===t))}function QC(t){if("end"===t){const t=B(ZF,this,JC).call(this);if(!Number.isFinite(t))return;const e=B(ZF,this,ZC).call(this);return Math.max(0,t-Math.min(t,e))}const e=Number(t);return Number.isFinite(e)?e:0}function JC(){let t;return(Array.isArray(z(EF,this))?z(EF,this):[]).forEach((e=>{const n=tv(e);if(!Number.isFinite(n))return;const i=B(ZF,this,EC).call(this,e);if(!Number.isFinite(i))return;const r=n+i;Number.isFinite(r)&&(!Number.isFinite(t)||r>t)&&(t=r)})),t}function ZC(){const t=B(ZF,this,tO).call(this);return t>0?t:.001}function tO(){var t;const e=Number(null===(t=this.settings)||void 0===t?void 0:t.snapToFps);return!Number.isFinite(e)||e<=0?0:.5/e}function eO(t,e,n=0){if(!ev(t,e,z(kF,this)))return!1;const i=Number(n);if(!Number.isFinite(i)||i<=0)return!0;const r=B(ZF,this,EC).call(this,t);if(!Number.isFinite(r))return!0;const o=tv(t);return!Number.isFinite(o)||e<o+r-i}var nO=new WeakMap,iO=new WeakMap,rO=new WeakMap,oO=new WeakMap,sO=new WeakMap,aO=new WeakMap,lO=new WeakMap,cO=new WeakMap,uO=new WeakMap,dO=new WeakMap,hO=new WeakMap,fO=new WeakMap,pO=new WeakMap,mO=new WeakMap,vO=new WeakMap,gO=new WeakMap,yO=new WeakMap,bO=new WeakSet;class kO extends Ud{get name(){return"QoE"}get defaults(){return{calcScoreInterval:1,streamQualityWeight:.8,fpsWeight:.2,fpsMathFuncType:"quad",bestFpsMobile:27,bestFpsDesktop:57,waitingMultiplier:1,statusFloors:{excellent:.98,good:.85,fair:.7,poor:0,alert:0},alertStatusCeil:.3,fpsGracePeriod:2,windowSeconds:30}}constructor(...t){super(...t),U(this,bO),W(this,nO,void 0),W(this,iO,void 0),W(this,rO,1),W(this,oO,1),W(this,sO,1),W(this,aO,""),W(this,lO,0),W(this,cO,[]),W(this,uO,null),W(this,dO,void 0),W(this,hO,[]),W(this,fO,null),W(this,pO,null),W(this,mO,0),W(this,vO,0),W(this,gO,0),W(this,yO,void 0);const[e]=t;j(nO,this,e),j(mO,this,pb()),j(yO,this,B(bO,this,xO).call(this)),B(bO,this,wO).call(this),B(bO,this,_O).call(this),B(bO,this,MO).call(this),B(bO,this,EO).call(this)}get publicAPI(){return z(yO,this)}calcScore(){B(bO,this,BO).call(this)}onDispose(){z(nO,this)&&z(iO,this)&&"function"==typeof z(nO,this).off&&z(nO,this).off(Hd.TIMELINE_PLAYER_STATE,z(iO,this)),j(iO,this,null),B(bO,this,SO).call(this),B(bO,this,AO).call(this),j(nO,this,null),j(hO,this,[]),j(cO,this,[]),j(yO,this,null)}}function xO(){const t=this;return{get score(){return z(rO,t)},get status(){return z(aO,t)},get streamQualityScore(){return z(oO,t)},get fpsScore(){return z(sO,t)},get browserFps(){return z(lO,t)},get waitingSeconds(){return z(vO,t)/1e3},get playingSeconds(){return z(gO,t)/1e3}}}function wO(){Number(this.settings.streamQualityWeight)+Number(this.settings.fpsWeight)!==1&&(this.log.warn("QoE weights must sum to 1; resetting to legacy defaults."),this.settings.streamQualityWeight=.8,this.settings.fpsWeight=.2)}function _O(){z(nO,this)&&"function"==typeof z(nO,this).on&&(j(iO,this,(t=>B(bO,this,IO).call(this,t))),z(nO,this).on(Hd.TIMELINE_PLAYER_STATE,z(iO,this)))}function IO(t={}){const e="string"==typeof(null==t?void 0:t.event)?t.event:"";"playing"!==e?"waiting"!==e?"pause"!==e&&"seeking"!==e&&"seeked"!==e&&"reset"!==e||B(bO,this,TO).call(this,null):B(bO,this,TO).call(this,"waiting"):B(bO,this,TO).call(this,"playing")}function TO(t){if(t===z(fO,this))return;const e=pb();z(fO,this)&&Number.isFinite(z(pO,this))&&z(hO,this).push({state:z(fO,this),startMs:z(pO,this),endMs:e}),j(fO,this,t),j(pO,this,t?e:null),B(bO,this,CO).call(this,e)}function EO(){const t=Number(this.settings.calcScoreInterval);!Number.isFinite(t)||t<=0||(j(dO,this,(()=>B(bO,this,BO).call(this))),rw(z(dO,this),1e3*t))}function SO(){z(dO,this)&&ow(z(dO,this)),j(dO,this,null)}function MO(){if("function"!=typeof Kx)return;const t=()=>{if(this._disposed)return;const e=pb();j(lO,this,B(bO,this,NO).call(this,z(cO,this),e)),j(uO,this,Kx(t))};j(uO,this,Kx(t))}function AO(){z(uO,this)&&"function"==typeof Xx&&Xx(z(uO,this)),j(uO,this,null)}function NO(t,e){const n=B(bO,this,FO).call(this);for(t.push(e);t.length&&e-t[0]>n;)t.shift();if(t.length<2)return 0;const i=t[t.length-1]-t[0];return i<=0?0:1e3*(t.length-1)/i}function FO(){const t=Number(this.settings.windowSeconds);return!Number.isFinite(t)||t<=0?3e4:1e3*t}function CO(t){const e=t-B(bO,this,FO).call(this);for(;z(hO,this).length&&z(hO,this)[0].endMs<=e;)z(hO,this).shift()}function OO(t){const e=t-B(bO,this,FO).call(this);let n=0,i=0;const r=(r,o,s)=>{const a=Math.max(o,e),l=Math.min(s,t);l<=a||("waiting"===r?n+=l-a:"playing"===r&&(i+=l-a))};return z(hO,this).forEach((t=>{r(t.state,t.startMs,t.endMs)})),z(fO,this)&&Number.isFinite(z(pO,this))&&r(z(fO,this),z(pO,this),t),j(vO,this,n),j(gO,this,i),{waitingMs:n,playingMs:i}}function PO(t,e){if(t<=0)return 1;if(t>e)return 0;const n=e||1;return Ym(1-t*this.settings.waitingMultiplier/n)}function DO(){if(pb()-z(mO,this)<=1e3*this.settings.fpsGracePeriod)return 1;const t=Number(z(lO,this)),e=rg.isDesktop()?this.settings.bestFpsDesktop:this.settings.bestFpsMobile,n=Ym(e>0?t/e:0);return"quad"===this.settings.fpsMathFuncType?n*n:n}function RO(t,e){const n=this.settings.statusFloors||{};let i="";return t>=n.excellent?i="excellent":t>=n.good?i="good":t>=n.fair?i="fair":(i="poor",t<=this.settings.alertStatusCeil&&e>0&&(i="alert")),i}function BO(){const t=pb(),{waitingMs:e,playingMs:n}=B(bO,this,OO).call(this,t),i=B(bO,this,PO).call(this,e,n),r=B(bO,this,DO).call(this),o=Ym(i*this.settings.streamQualityWeight+r*this.settings.fpsWeight);o!==z(rO,this)&&(j(rO,this,o),this.trigger(Hd.QOE_SCORE,o)),j(oO,this,i),j(sO,this,r);const s=B(bO,this,RO).call(this,o,e);s!==z(aO,this)&&(j(aO,this,s),this.trigger(Hd.QOE_STATUS,s))}function LO(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}function zO(t){const e=Number(t);return!Number.isFinite(e)||e<0?0:e}var WO=new WeakMap,jO=new WeakMap,UO=new WeakMap,$O=new WeakMap,qO=new WeakSet;class VO extends Ud{get name(){return"SegmentEvictionCoordinator"}get defaults(){return{enabled:Fb("segmentEvictionEnabled"),bufferBehindSeconds:Fb("segmentEvictionBufferBehindSeconds"),bufferAheadSeconds:Fb("segmentEvictionBufferAheadSeconds"),maxRetainedBytes:Fb("segmentEvictionMaxRetainedBytes")}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"evictAtTime"])}constructor(t,e,n={}){super(n),U(this,qO),W(this,WO,void 0),W(this,jO,void 0),W(this,UO,void 0),W(this,$O,void 0),j(WO,this,t),j(jO,this,e),j(UO,this,(t=>B(qO,this,GO).call(this,t))),j($O,this,(t=>B(qO,this,HO).call(this,t))),z(WO,this)&&"function"==typeof z(WO,this).on&&(z(WO,this).on(Hd.TIMELINE_TIME_UPDATE,z(UO,this)),z(WO,this).on(Hd.TIMELINE_SEEKED,z($O,this)))}onDispose(){z(WO,this)&&"function"==typeof z(WO,this).off&&(z(WO,this).off(Hd.TIMELINE_TIME_UPDATE,z(UO,this)),z(WO,this).off(Hd.TIMELINE_SEEKED,z($O,this))),j(WO,this,null),j(jO,this,null),j(UO,this,null),j($O,this,null)}evictAtTime(t){if(!0!==this.settings.enabled)return;const e=Number(t);if(!Number.isFinite(e))return;const n=zO(this.settings.bufferBehindSeconds),i=zO(this.settings.bufferAheadSeconds),r=e-n,o=e+i,s=B(qO,this,KO).call(this);if(!s.length)return;const a=Number(this.settings.maxRetainedBytes);if(Number.isFinite(a)&&a>0&&B(qO,this,XO).call(this,s)<=a)return;const l=new Map;s.forEach((t=>{const e=null==t?void 0:t.nodeId;if(!e)return;const n=tv(t);if(!Number.isFinite(n))return;const i=l.get(e)||[];i.push(t),l.set(e,i)})),l.size&&l.forEach(((t,e)=>{const n=B(qO,this,YO).call(this,e);if(!n)return;const i=t.filter((t=>B(qO,this,QO).call(this,t,r,o)));i.length?B(qO,this,JO).call(this,n,i,r,o):"function"==typeof n.evict&&n.evict()}))}}function GO(t){var e,n;if(!0!==this.settings.enabled)return;if((null===(e=z(WO,this))||void 0===e?void 0:e.state)===dg)return;const i=Number(null==t?void 0:t.time),r=Number.isFinite(i)?i:Number(null===(n=z(WO,this))||void 0===n?void 0:n.currentTime);this.evictAtTime(r)}function HO(t){var e;if(!0!==this.settings.enabled)return;const n=Number(null==t?void 0:t.targetTime),i=Number.isFinite(n)?n:Number(null===(e=z(WO,this))||void 0===e?void 0:e.currentTime);this.evictAtTime(i)}function KO(){var t;const e=null===(t=z(WO,this))||void 0===t?void 0:t.placements;return Array.isArray(e)?e:[]}function XO(t){if(!Array.isArray(t)||!t.length)return 0;const e=new Set;let n=0;return t.forEach((t=>{const i=null==t?void 0:t.nodeId;if(!i||e.has(i))return;e.add(i);const r=B(qO,this,YO).call(this,i),o=Number(null==r?void 0:r.retainedByteLength);Uy(o)?n+=o:(Array.isArray(null==r?void 0:r.tracks)?r.tracks:[]).forEach((t=>{(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).forEach((t=>{Uy(null==t?void 0:t.retainedByteLength)&&(n+=t.retainedByteLength)}))}))})),n}function YO(t){if(z(jO,this)&&"function"==typeof z(jO,this).get)return z(jO,this).get(t)}function QO(t,e,n){const i=tv(t);if(!Number.isFinite(i))return!1;const r=Jm(t,z(jO,this));return(Number.isFinite(r)?i+r:Number.POSITIVE_INFINITY)>e&&i<n}function JO(t,e,n,i){const r=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];r.length&&r.forEach((t=>{const r=Array.isArray(null==t?void 0:t.segments)?t.segments:[],o=LO(null==t?void 0:t.offset,0);r.forEach((t=>{if(!t||!Uy(null==(r=t)?void 0:r.retainedByteLength))return;var r;if(t.isInit)return;let s=!1;for(let r=0;r<e.length;r+=1){const a=e[r],l=tv(a);if(!Number.isFinite(l))continue;const c=LO(null==a?void 0:a.nodeOffsetOverride,0),u=LO(null==t?void 0:t.offset,NaN);if(!Number.isFinite(u))continue;const d=LO(null==t?void 0:t.duration,0),h=l+o+u-c,f=h+(d>0?d:0),p=Jm(a,z(jO,this)),m=Number.isFinite(p)?l+p:Number.POSITIVE_INFINITY;if(!(f<=l||h>=m||f<=n||h>=i)){s=!0;break}}s||t.evict()}))}))}var ZO=new WeakMap,tP=new WeakMap,eP=new WeakMap,nP=new WeakSet;class iP extends Ud{get name(){return"DocumentVisibility"}get defaults(){return{autoPauseOnVisibilityChange:!0,autoResumeOnVisibilityChange:!0}}constructor(t,e={}){super(e),U(this,nP),W(this,ZO,void 0),W(this,tP,null),W(this,eP,!1),j(ZO,this,t),B(nP,this,rP).call(this)}onDispose(){B(nP,this,oP).call(this),j(ZO,this,null),j(eP,this,!1)}}function rP(){const t=null==Vd?void 0:Vd.document;t&&"function"==typeof t.addEventListener&&(j(tP,this,(()=>B(nP,this,sP).call(this))),t.addEventListener("visibilitychange",z(tP,this)))}function oP(){const t=null==Vd?void 0:Vd.document;z(tP,this)&&t&&"function"==typeof t.removeEventListener&&t.removeEventListener("visibilitychange",z(tP,this)),j(tP,this,null)}function sP(){const t=null==Vd?void 0:Vd.document,e=null==t?void 0:t.visibilityState;"string"==typeof e&&("hidden"!==e?"visible"===e&&B(nP,this,lP).call(this):B(nP,this,aP).call(this))}function aP(){var t;(null===(t=this.settings)||void 0===t?void 0:t.autoPauseOnVisibilityChange)&&z(ZO,this)&&"function"==typeof z(ZO,this).pause&&(z(ZO,this).state===ag?(this.log.info("[#handleHidden] Pausing timeline due to document visibility change"),z(ZO,this).pause(),j(eP,this,!0)):j(eP,this,!1))}function lP(){var t;z(eP,this)&&(null===(t=this.settings)||void 0===t?void 0:t.autoResumeOnVisibilityChange)&&z(ZO,this)&&"function"==typeof z(ZO,this).play&&(z(ZO,this).state!==ag?(this.log.info("[#handleVisible] Resuming timeline due to document visibility change"),z(ZO,this).play(),j(eP,this,!1)):j(eP,this,!1))}const cP=[{event:"canplay",once:!0,trackAs:"canplay"},{event:"playing",once:!0,trackAs:"startedplaying"},"seeked","canvas.webglcontextlost"];function uP(t,e=0){return Number.isFinite(t)?t:e}function dP(t){const e=null==t?void 0:t.exposedPlayerAPI;return e&&"object"==typeof e?e:t}const hP=[function(t){return{schema:"iglu:com.helloeko/player/jsonschema/1-0-7",match:/^.*$/,getData:()=>{var e,n,i;const r=function(t){const e=null==t?void 0:t.exposedPlayerAPI;return e&&"object"==typeof e?e:t}(t);return{playerversion:"string"==typeof(null==r?void 0:r.version)?r.version:"0.0.0",isautoplay:!(null==r||null===(e=r.options)||void 0===e||!e.autoplay),playerqoe:uP(null==r||null===(n=r.qoe)||void 0===n?void 0:n.score),playerqoestatus:"string"==typeof(null==r||null===(i=r.qoe)||void 0===i?void 0:i.status)?r.qoe.status:"",ismuted:!(null==r||!r.muted),playervolume:uP(null==r?void 0:r.volume),playercontainerwidth:uP(null==r?void 0:r.containerWidth),playercontainerheight:uP(null==r?void 0:r.containerHeight)}}}},function(t){return{schema:"iglu:com.helloeko/currentnode/jsonschema/1-0-2",match:/^.*$/,getData:()=>{var e;const n=dP(t),i=function(t){const e=dP(t);if(!e||"function"!=typeof e.getNodesAtTime)return null;const n=Number.isFinite(e.currentTime)?e.currentTime:0,i=e.getNodesAtTime(n);return Array.isArray(i)&&0!==i.length&&i[0]||null}(t);return{currentnodeid:"string"==typeof(null==i?void 0:i.id)?i.id:"",currentnodetime:Number.isFinite(null==n?void 0:n.currentTime)?n.currentTime:0,currentnodeduration:Number.isFinite(null==i?void 0:i.duration)?i.duration:0,currentnodeprofile:"string"==typeof(null==i||null===(e=i.metadata)||void 0===e?void 0:e.profile)?i.metadata.profile:""}}}},function(t){let e=0,n=0;const i=()=>{e||(e=Date.now(),n=0)},r=()=>{e&&!n&&(n=Date.now())};return t&&"function"==typeof t.on&&(t.on("seeking",i),t.on("seeked",r)),{schema:"iglu:com.helloeko/seeked/jsonschema/1-0-0",match:"seeked",getData:()=>{r();const t=e&&n&&n>=e?(n-e)/1e3:0;return e=0,n=0,{seekduration:t}},dispose:()=>{t&&"function"==typeof t.off&&(t.off("seeking",i),t.off("seeked",r))}}},function(){return{schema:"iglu:com.helloeko/environment/jsonschema/1-0-0",match:/^.*$/,getData:()=>{var t;const e=null==Vd||null===(t=Vd.eko)||void 0===t||null===(t=t.environment)||void 0===t?void 0:t.embeddingApp;return e?{embeddingapp:e}:{}}}}],fP=Object.freeze({once:!1,trackAs:""});var pP=new WeakMap,mP=new WeakMap,vP=new WeakMap,gP=new WeakMap,yP=new WeakMap,bP=new WeakMap,kP=new WeakSet;class xP extends Ud{get name(){return"Tracker"}get defaults(){return{tag:null,trackingEnabled:Fb("trackingEnabled"),defaultForwarders:cP,defaultContextPackers:hP}}constructor(t,e={}){var n,i;super(e),U(this,kP),W(this,pP,void 0),W(this,mP,new Map),W(this,vP,[]),W(this,gP,!1),W(this,yP,void 0),W(this,bP,void 0),j(bP,this,!this.settings.tag),j(yP,this,this.settings.tag||(null===(n=crypto)||void 0===n||null===(i=n.randomUUID)||void 0===i?void 0:i.call(n))||`eko-player-${Date.now()}`),j(pP,this,t),B(kP,this,MP).call(this),B(kP,this,_P).call(this)}track(t,...e){if(!this.settings.trackingEnabled)return;if("string"!=typeof t||!t)return void this.log.warn("[track] Expected event to be a non-empty string.");const n=B(kP,this,NP).call(this);n&&n("track",t,...e,z(yP,this))}registerContextPacker(t){if(!t||"object"!=typeof t)return void this.log.warn("[registerContextPacker] Expected a packer object.");const e={tag:z(yP,this),schema:t.schema,match:t.match,getData:B(kP,this,wP).call(this,t.getData)};if("string"!=typeof e.schema||!e.schema)return void this.log.warn('[registerContextPacker] Expected "schema" to be a non-empty string.');if("function"!=typeof e.getData)return void this.log.warn('[registerContextPacker] Expected "getData" to be a function.');if(!this.settings.trackingEnabled)return;const n=B(kP,this,NP).call(this);n&&n("registerContextPacker",e)}onDispose(){if(B(kP,this,SP).call(this),B(kP,this,AP).call(this),j(pP,this,null),z(bP,this)){const t=B(kP,this,NP).call(this);t&&(t("reset",z(yP,this)),j(yP,this,null))}}}function wP(t){return"function"!=typeof t?null:(...e)=>e.pop()!==z(yP,this)?null:t(...e)}function _P(){(Array.isArray(this.settings.defaultForwarders)?this.settings.defaultForwarders:[]).forEach((t=>B(kP,this,IP).call(this,t)))}function IP(t){const e=B(kP,this,TP).call(this,t);if(!e)return void this.log.warn("[#addEventForwarder] Invalid forwarder input.",t);const n=z(pP,this);if(!n||"function"!=typeof n.on)return;const i=B(kP,this,EP).call(this,e);if(z(mP,this).has(i))return;const r=(...t)=>{e.once&&n&&"function"==typeof n.off&&n.off(e.event,r);const i=e.trackAs||e.event;this.track(i,...t)};n.on(e.event,r),z(mP,this).set(i,{event:e.event,listener:r})}function TP(t){return"string"==typeof t&&t?{event:t,...fP}:t&&"object"==typeof t&&"string"==typeof t.event&&t.event?{event:t.event,once:!!t.once,trackAs:"string"==typeof t.trackAs?t.trackAs:""}:null}function EP({event:t,once:e,trackAs:n}){return`${t}:${e}:${n}`}function SP(){const t=z(pP,this);t&&"function"==typeof t.off&&z(mP,this).forEach((({event:e,listener:n})=>{t.off(e,n)})),z(mP,this).clear()}function MP(){(Array.isArray(this.settings.defaultContextPackers)?this.settings.defaultContextPackers:[]).forEach((t=>{if("function"!=typeof t)return;const e=t(z(pP,this),this);e&&"object"==typeof e&&("function"==typeof e.dispose&&z(vP,this).push(e.dispose),e.disabled||this.registerContextPacker({schema:e.schema,match:e.match,getData:e.getData}))}))}function AP(){z(vP,this).forEach((t=>{try{t()}catch(t){this.log.warn("[#teardownContextPackers] Failed disposing context packer.",t)}})),j(vP,this,[])}function NP(){const t=null==Vd?void 0:Vd.EkoAnalytics;return"function"==typeof t?t:(B(kP,this,FP).call(this),null)}function FP(){this.settings.trackingEnabled&&!z(gP,this)&&(this.log.warn("EkoAnalytics not found on window."),j(gP,this,!0))}class CP{#rt;#ot;#st;#at;#lt;#ct;#ut;#dt;#ht;#ft;#pt;#mt;#vt;#gt;#yt;#bt;#kt;#xt;#wt;constructor(t,e={},n=null){this.#rt=new oh(t,n,e),this.#ot=new vh(this.#rt,e),this.#st=new Wx(e),this.#at=new Lb(e),this.#lt=new xx(this.#at,e),this.#ct=new vx(this.#lt,this.#st,e),this.#ut=new Ax(this.#ct,e),this.#dt=new tC(this.#ct,e),this.#ht=new iP(this.#dt,e),this.#xt=new VO(this.#dt,this.#ct,e),this.#ft=new Ew(this.#ct,this.#ut,this.#st,this.#dt,e),this.#pt=new h_(this.#ct,this.#ut,this.#dt,e),this.#mt=new wS(e),this.#vt=new HS(this.#ct,this.#dt,this.#mt,e),this.#yt=new kO(this.#dt,e),this.#wt=new xP(n,e);const i=e&&"object"==typeof e?e.adapters:null,r=i&&"object"==typeof i&&"function"==typeof i.renderAdapterFactory?i.renderAdapterFactory:null,o=i&&"object"==typeof i&&"function"==typeof i.audioAdapterFactory?i.audioAdapterFactory:null;this.#bt=r?r({timeline:this.#dt,canvas:this.#rt,containerSize:this.#ot,options:e}):new ey(this.#dt,this.#rt,this.#ot,e),this.#gt=o?o({timeline:this.#dt,decodeCoordinator:this.#vt,options:e}):new AA(this.#dt,this.#vt,e),this.#kt=new XM(this.#dt,this.#bt,e)}get canvas(){return this.#rt}get containerSize(){return this.#ot}get assetsDeliveryService(){return this.#st}get downloadSpeed(){return this.#at}get abrSelector(){return this.#lt}get nodeRepository(){return this.#ct}get nodePrioritizer(){return this.#ut}get timeline(){return this.#dt}get documentVisibility(){return this.#ht}get nodeResolver(){return this.#ft}get segmentLoadCoordinator(){return this.#pt}get decoderFactory(){return this.#mt}get parsingManager(){return this.#vt}get audioAdapter(){return this.#gt}get audioPlaybackManager(){return this.#gt}get qoe(){return this.#yt}get renderAdapter(){return this.#bt}get renderer(){return this.#bt}get transitionManager(){return this.#kt}get tracker(){return this.#wt}dispose(){[this.#wt,this.#dt,this.#ht,this.#pt,this.#ft,this.#ut,this.#ct,this.#st,this.#lt,this.#at,this.#vt,this.#mt,this.#gt,this.#yt,this.#bt,this.#kt,this.#xt,this.#ot,this.#rt].forEach((t=>{t&&"function"==typeof t.dispose&&t.dispose()})),this.#dt=null,this.#ht=null,this.#pt=null,this.#ft=null,this.#ut=null,this.#ct=null,this.#st=null,this.#lt=null,this.#at=null,this.#vt=null,this.#mt=null,this.#gt=null,this.#yt=null,this.#bt=null,this.#kt=null,this.#xt=null,this.#rt=null,this.#wt=null}}const OP="main.1274514";var PP={isPlainObject:Bd,deepMerge:Ld,get:ub,set:db,ekoGlobalStore:hb,download:Sb,isPositiveNumber:Uy,clamp01:Ym,root:Vd,now:pb,getFrameDimensions:JN,codecs:Qb,useragent:og,requestAnimationFrame:Kx,cancelAnimationFrame:Xx,start:rw,stop:ow,isTicking:sw,predicator:function(t,e){const n=e||{};if("function"!=typeof t)return void Yx.error("[predicator] Bad argument given to predicator, first argument must be a function.",arguments);if(t.apply())return Yx.debug("[predicator] Invoking onFulfilled immediately."),void("function"==typeof n.onFulfilled&&n.onFulfilled.call(null,0));const i=n.timeout||1e4,r=n.interval,o=pb();let s,a,l,c,u;c=function(){t.apply()&&l()},l=function(){ow(c),Vd.clearTimeout(s),u=pb()-o,Yx.debug("[predicator] Invoking onFulfilled after "+u+" ms."),"function"==typeof n.onFulfilled&&n.onFulfilled.call(null,u)},a=function(){ow(c),u=pb()-o,Yx.debug("[predicator] Invoking onTimeout after "+u+" ms."),"function"==typeof n.onTimeout&&n.onTimeout.call(null,u)},s=Vd.setTimeout(a,i),rw(c,r)},createThrottler:aw,scheduleExecution:lw},DP=new WeakMap,RP=new WeakMap,BP=new WeakMap,LP=new WeakMap,zP=new WeakMap,WP=new WeakMap,jP=new WeakMap,UP=new WeakSet;class $P{constructor(t){U(this,UP),W(this,DP,[]),W(this,RP,[]),W(this,BP,new gF("placement-")),W(this,LP,new gF("renderplacement-")),W(this,zP,void 0),W(this,WP,new Map),W(this,jP,void 0),j(zP,this,t),j(jP,this,{allowUnready:!0,getNode:t=>B(UP,this,qP).call(this,t)})}get placements(){return z(DP,this).slice()}get renderPlacements(){return z(RP,this).slice()}getNodesAtTime(t){B(UP,this,VP).call(this);const e=B(UP,this,HP).call(this,t);if(!Number.isFinite(e))return[];const n=z(DP,this).filter((t=>ev(t,e,null,z(jP,this)))),i=[];return n.forEach((t=>{const e=B(UP,this,qP).call(this,null==t?void 0:t.nodeId);e&&i.push(e)})),i}placeOnTimeline(t,e,n={}){const i=t&&"object"==typeof t?t:null,r=i?i.id:t;if(!r)throw new Error("TimelineDefinition.placeOnTimeline requires node id");i&&z(WP,this).set(r,i);const o=n.nodeOffsetOverride||n.offset,s=n.nodeDurationOverride||n.duration,a=sv(e);if("string"==typeof e&&e.includes("@")&&!a)throw new Error("TimelineDefinition.placeOnTimeline requires valid placement reference");const{wantsEndOffset:l,endOffsetSeconds:c}=a?{wantsEndOffset:!1}:ov(e,n);let u,d,h,f=!1;const p=null!==a;if(a){const t=z(DP,this).find((t=>(null==t?void 0:t.placementId)===a.placementId));if(!t)throw new Error("TimelineDefinition.placeOnTimeline requires valid placement reference");d=t.placementId,h=a.anchor;const e=tv(t);if("start"===a.anchor)Number.isFinite(e)?u=e:f=!0;else{const n=B(UP,this,GP).call(this,t);Number.isFinite(e)&&n>0?u=e+n:f=!0}}else if(l){const t=n.offsetAnchorPlacementId?z(DP,this).find((t=>(null==t?void 0:t.placementId)===n.offsetAnchorPlacementId)):z(DP,this).length?z(DP,this)[z(DP,this).length-1]:void 0;if(d=n.offsetAnchorPlacementId||(null==t?void 0:t.placementId),d){const e=tv(t),n=B(UP,this,GP).call(this,t);Number.isFinite(e)&&n>0?u=e+n-c:(f=!0,h="end")}else u=-c}else u=rv(e);const m=z(BP,this).claim(n.placementId),v={placementId:m,nodeId:r,offset:u,offsetPending:f,offsetAnchorPlacementId:f?d:void 0,offsetAnchorEdge:f?h:void 0,offsetAnchorIsReference:f?p:void 0,offsetEndSeconds:l?c:a&&"end"===a.anchor?0:void 0,nodeOffsetOverride:o,nodeDurationOverride:s,loop:!0===n.loop};return z(DP,this).push(v),nv(z(DP,this)),m}placeRenderNodeOnTimeline(t,e,n,i={}){const r="string"==typeof t?t:null==t?void 0:t.type;if(!r||"string"!=typeof r)throw new Error("TimelineDefinition.placeRenderNodeOnTimeline requires render node type");let o,s,a,l=!1;const c=sv(e);if("string"==typeof e&&e.includes("@")&&!c)throw new Error("TimelineDefinition.placeRenderNodeOnTimeline requires valid placement reference");const u=null!==c;if(c){const t=z(DP,this).find((t=>(null==t?void 0:t.placementId)===c.placementId));if(!t)throw new Error("TimelineDefinition.placeRenderNodeOnTimeline requires valid placement reference");s=t.placementId,a=c.anchor;const e=tv(t);if("start"===c.anchor)Number.isFinite(e)?o=e:l=!0;else{const n=B(UP,this,GP).call(this,t);Number.isFinite(e)&&Number.isFinite(n)?o=e+n:l=!0}}else o=rv(e);const d=z(LP,this).claim(i.renderPlacementId),h=Number(n),f=h===Number.POSITIVE_INFINITY,p=Number.isFinite(h)&&h>0||f?h:void 0;if(!p)throw new Error("TimelineDefinition.placeRenderNodeOnTimeline requires a positive duration (seconds) or Infinity as 3rd argument");const m={renderPlacementId:d,type:r,offset:o,offsetPending:l,offsetAnchorPlacementId:l?s:void 0,offsetAnchorEdge:l?a:void 0,offsetAnchorIsReference:l?u:void 0,duration:p,params:i.params&&"object"==typeof i.params?i.params:void 0};if(!l){const t=o,e=o+p;av(z(RP,this),t,e,"TimelineDefinition.placeRenderNodeOnTimeline does not allow overlapping render nodes")}return z(RP,this).push(m),nv(z(RP,this)),d}}function qP(t){if(t)return z(zP,this)&&"function"==typeof z(zP,this).get?z(zP,this).get(t):z(WP,this).get(t)}function VP(){return iv(z(DP,this),{getPlacementDuration:t=>B(UP,this,GP).call(this,t)}).updated}function GP(t){return Jm(t,null,z(jP,this))}function HP(t){if("end"===t){const t=B(UP,this,KP).call(this);if(!Number.isFinite(t))return;return Math.max(0,t-Math.min(t,.001))}const e=Number(t);return Number.isFinite(e)?e:0}function KP(){let t;return z(DP,this).forEach((e=>{const n=tv(e);if(!Number.isFinite(n))return;const i=B(UP,this,GP).call(this,e);if(!Number.isFinite(i))return;const r=n+i;Number.isFinite(r)&&(!Number.isFinite(t)||r>t)&&(t=r)})),t}const XP=new Set(["canplay","play","playing","waiting","pause","seeking","seeked"]);var YP=new WeakMap,QP=new WeakMap,JP=new WeakMap,ZP=new WeakMap,tD=new WeakMap,eD=new WeakMap,nD=new WeakMap,iD=new WeakMap,rD=new WeakMap,oD=new WeakMap,sD=new WeakMap,aD=new WeakMap,lD=new WeakMap,cD=new WeakMap,uD=new WeakMap,dD=new WeakMap,hD=new WeakMap,fD=new WeakMap,pD=new WeakMap,mD=new WeakMap,vD=new WeakMap,gD=new WeakMap,yD=new WeakMap,bD=new WeakMap,kD=new WeakMap,xD=new WeakSet;class wD extends Ud{get name(){return"EkoPlayer"}get exposedPlayerAPI(){return z(ZP,this)}constructor(t,e={}){const{options:n,publicOptions:i}=function(t={}){const e=Ld({},Ab,t);Object.entries(Mb).forEach((([t,{targetPaths:n}])=>{void 0!==e[t]&&n.forEach((n=>{void 0===ub(e,n)&&db(e,n,e[t])}))}));const n=function(t){const e={};return Object.keys(Mb).forEach((n=>{Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})),Object.freeze(e)}(e);return Nb.info("Processed options:",e),Nb.info("Public options:",n),{options:e,publicOptions:n}}(e);return super(n),U(this,xD),W(this,YP,void 0),W(this,QP,void 0),W(this,JP,void 0),W(this,ZP,void 0),W(this,tD,void 0),W(this,eD,void 0),W(this,nD,void 0),W(this,iD,void 0),W(this,rD,void 0),W(this,oD,void 0),W(this,sD,void 0),W(this,aD,void 0),W(this,lD,void 0),W(this,cD,void 0),W(this,uD,void 0),W(this,dD,void 0),W(this,hD,void 0),W(this,fD,void 0),W(this,pD,void 0),W(this,mD,void 0),W(this,vD,void 0),W(this,gD,void 0),W(this,yD,void 0),W(this,bD,void 0),W(this,kD,0),j(JP,this,i),this.log.info("Initializing EkoPlayer with options:",i),j(aD,this,new CP(t,n,this)),B(xD,this,CD).call(this,z(aD,this)),j(uD,this,(t=>B(xD,this,_D).call(this,t))),z(QP,this)&&"function"==typeof z(QP,this).on&&z(QP,this).on(Hd.TIMELINE_CUEPOINT,z(uD,this)),j(dD,this,null),j(fD,this,(t=>B(xD,this,ID).call(this,t))),j(pD,this,(t=>{const e=t&&"object"==typeof t?t:{};B(xD,this,ID).call(this,{...e,event:"seeking"})})),j(mD,this,(t=>{const e=t&&"object"==typeof t?t:{};B(xD,this,ID).call(this,{...e,event:"seeked"})})),z(QP,this)&&"function"==typeof z(QP,this).on&&(z(QP,this).on(Hd.TIMELINE_PLAYER_STATE,z(fD,this)),z(QP,this).on(Hd.TIMELINE_SEEKING,z(pD,this)),z(QP,this).on(Hd.TIMELINE_SEEKED,z(mD,this))),j(yD,this,(t=>{const e=t&&"object"==typeof t?t:{};this.trigger(Hd.CONTAINER_RESIZE,e)})),z(lD,this)&&"function"==typeof z(lD,this).on&&z(lD,this).on(Hd.CONTAINER_RESIZE,z(yD,this)),B(xD,this,MD).call(this),B(xD,this,SD).call(this),j(ZP,this,B(xD,this,FD).call(this)),z(ZP,this)}onDispose(){z(QP,this)&&"function"==typeof z(QP,this).off&&z(uD,this)&&z(QP,this).off(Hd.TIMELINE_CUEPOINT,z(uD,this)),j(uD,this,null),z(QP,this)&&"function"==typeof z(QP,this).off&&(z(fD,this)&&z(QP,this).off(Hd.TIMELINE_PLAYER_STATE,z(fD,this)),z(pD,this)&&z(QP,this).off(Hd.TIMELINE_SEEKING,z(pD,this)),z(mD,this)&&z(QP,this).off(Hd.TIMELINE_SEEKED,z(mD,this))),j(fD,this,null),j(pD,this,null),j(mD,this,null),j(dD,this,null),z(lD,this)&&"function"==typeof z(lD,this).off&&z(yD,this)&&z(lD,this).off(Hd.CONTAINER_RESIZE,z(yD,this)),j(yD,this,null),z(sD,this)&&"function"==typeof z(sD,this).off&&(z(vD,this)&&z(sD,this).off("qoescore",z(vD,this)),z(gD,this)&&z(sD,this).off("qoestatus",z(gD,this))),j(vD,this,null),j(gD,this,null),z(oD,this)&&"function"==typeof z(oD,this).off&&z(bD,this)&&z(oD,this).off(Hd.DECODER_ERROR,z(bD,this)),j(bD,this,null),j(kD,this,0),z(cD,this)&&"function"==typeof z(cD,this).dispose&&z(cD,this).dispose(),j(cD,this,null),z(aD,this)&&"function"==typeof z(aD,this).dispose&&z(aD,this).dispose(),j(QP,this,null),j(YP,this,null),j(eD,this,null),j(nD,this,null),j(iD,this,null),j(rD,this,null),j(oD,this,null),j(sD,this,null),j(lD,this,null),j(tD,this,null),j(ZP,this,null),j(aD,this,null)}}function _D(t={}){var e;this.trigger(Hd.TIMELINE_CUEPOINT,t);const n="string"==typeof(null==t||null===(e=t.cuepoint)||void 0===e?void 0:e.name)?t.cuepoint.name:"";n&&this.trigger(n,t)}function ID(t={}){const e="string"==typeof(null==t?void 0:t.event)?t.event:"";if(!XP.has(e))return;if("playing"!==e||Number.isFinite(z(hD,this))||(j(hD,this,pb()),this.log.info(`[#handlePlayerStateEvent] Playback started @ ${(z(hD,this)/1e3).toFixed(3)}s (${Date.now()})`)),z(dD,this)===e)return;j(dD,this,e);const n=Number.isFinite(null==t?void 0:t.time)?t.time:z(QP,this)&&Number.isFinite(z(QP,this).currentTime)?z(QP,this).currentTime:0,i={};Number.isFinite(n)&&(i.time=n),"string"==typeof(null==t?void 0:t.from)&&(i.from=t.from),"string"==typeof(null==t?void 0:t.to)&&(i.to=t.to),Number.isFinite(null==t?void 0:t.targetTime)&&(i.targetTime=t.targetTime),Array.isArray(null==t?void 0:t.placements)&&(i.placements=t.placements.slice()),this.trigger(e,i)}function TD(){return new $P(z(YP,this))}function ED(t){if(!t||"object"!=typeof t)throw new Error("EkoPlayer.switchTimeline requires a timeline definition");if(!z(QP,this)||"function"!=typeof z(QP,this).applyTimelineDefinition)throw new Error("EkoPlayer.switchTimeline requires an active timeline");z(QP,this).applyTimelineDefinition(t),"function"==typeof z(QP,this).play&&z(QP,this).play()}function SD(){z(sD,this)&&"function"==typeof z(sD,this).on&&(j(vD,this,(t=>{this.trigger(Hd.QOE_SCORE,t)})),j(gD,this,(t=>{this.trigger(Hd.QOE_STATUS,t)})),z(sD,this).on(Hd.QOE_SCORE,z(vD,this)),z(sD,this).on(Hd.QOE_STATUS,z(gD,this)))}function MD(){z(oD,this)&&"function"==typeof z(oD,this).on&&(j(bD,this,(t=>{const e=t&&"object"==typeof t?t:{error:t};this.trigger(Hd.DECODER_ERROR,e),B(xD,this,AD).call(this,e)})),z(oD,this).on(Hd.DECODER_ERROR,z(bD,this)))}function AD(t={}){var e;const n=z(QP,this);if(!n||"number"!=typeof n.currentTime)return;const i=Date.now();if(i<z(kD,this))return;const r=Number(n.currentTime);if(!Number.isFinite(r))return;const o=Number(null==n||null===(e=n.settings)||void 0===e?void 0:e.snapToFps),s=Number.isFinite(o)&&o>0?1/o:1/60;j(kD,this,i+1500),this.log.warn("[#attemptDecoderRecoverySeek] decoder:error received, attempting seek recovery",null==t?void 0:t.error),n.currentTime=r+s}async function ND(t={}){var e;if(z(cD,this))return z(cD,this);const n=t&&"object"==typeof t&&!Array.isArray(t)?{...t}:{},i=z(tD,this)&&z(tD,this).element?z(tD,this).element:null;if(!i)throw new Error("Debug overlay requires an initialized player canvas and mount element.");const r=function({canvasElement:t,containerElement:e}={}){const n=t&&t.parentNode?t.parentNode:null;if(null==e)return n;const i=function(t,e=(null==Vd?void 0:Vd.document)){if(Gd(t))return t;if("string"!=typeof t)return null;let n=t.trim();if("#"===n.charAt(0)&&(n=n.slice(1)),!n||!e||"function"!=typeof e.getElementById)return null;const i=e.getElementById(n);return Gd(i)?i:null}(e,t&&t.ownerDocument?t.ownerDocument:null);if(i)return i;if("string"==typeof e){const t=e.trim(),n="#"===t.charAt(0)?t.slice(1):t;if(!n)throw new Error("Debug overlay containerElement id cannot be empty.");throw new Error(`Debug overlay containerElement id "${n}" was not found.`)}throw new Error("Debug overlay containerElement must be an element id string or DOM element.")}({canvasElement:i,containerElement:n.containerElement});if(!r)throw new Error("Debug overlay requires an initialized player canvas and mount element.");Object.prototype.hasOwnProperty.call(n,"containerElement")&&delete n.containerElement;const o=await import("./debug-overlay-B4njlEwZ.esm.js"),s=(null==o?void 0:o.createDebugOverlay)||(null==o?void 0:o.default);if("function"!=typeof s)throw new Error("Debug overlay bundle does not export createDebugOverlay().");return n.publicOptions=z(JP,this),n.playerVersion=OP,j(cD,this,s({mountElement:r,canvasElement:i,timeline:z(QP,this),assetsDeliveryServiceUrl:null===(e=z(aD,this))||void 0===e||null===(e=e.assetsDeliveryService)||void 0===e||null===(e=e.settings)||void 0===e?void 0:e.assetsDeliveryServiceUrl,getNode:t=>z(YP,this)&&"function"==typeof z(YP,this).get?z(YP,this).get(t):void 0,listNodes:()=>z(YP,this)&&"function"==typeof z(YP,this).list?z(YP,this).list():[],downloadSpeed:z(aD,this)?z(aD,this).downloadSpeed:void 0,downloadEvents:sb,qoe:z(sD,this)?z(sD,this).publicAPI:void 0,qoeEvents:this,options:n,playbackStartedAtMs:z(hD,this)})),z(cD,this)}function FD(){const t=this;return{createTimeline:()=>B(xD,t,TD).call(t),switchTimeline:e=>B(xD,t,ED).call(t,e),play:z(QP,this).play,pause:z(QP,this).pause,reset:z(QP,this).reset,placeOnTimeline:z(QP,this).placeOnTimeline,placeRenderNodeOnTimeline:z(QP,this).placeRenderNodeOnTimeline,addNode:z(YP,this).add,getNode:z(YP,this).get,listNodes:z(YP,this).list,getNodesAtTime:e=>z(QP,t).getNodesAtTime(e),dispose:this.dispose,on:t.on,off:t.off,once:t.once,trigger:t.trigger,transitionTo:(e,n)=>z(nD,t).transitionTo(e,n),track:(e,...n)=>{if(z(rD,t)&&"function"==typeof z(rD,t).track)return z(rD,t).track(e,...n)},seekToPlacement:e=>z(QP,t).seekToPlacement(e),get currentTime(){return z(QP,t).currentTime},set currentTime(e){z(QP,t).currentTime=e},get buffered(){return z(QP,t).buffered},get options(){return z(JP,t)},get containerWidth(){return z(lD,t)?z(lD,t).containerWidth:0},get containerHeight(){return z(lD,t)?z(lD,t).containerHeight:0},get playbackRate(){return z(QP,t).playbackRate},set playbackRate(e){z(QP,t).playbackRate=e},get paused(){return!!z(QP,t)&&!0===z(QP,t).paused},get muted(){return!!z(iD,t)&&z(iD,t).muted},set muted(e){z(iD,t)&&(z(iD,t).muted=e)},get volume(){return z(iD,t)?z(iD,t).volume:1},set volume(e){z(iD,t)&&(z(iD,t).volume=e)},get qoe(){return z(sD,t)?z(sD,t).publicAPI:void 0},get utils(){return PP},get version(){return OP},loadDebugOverlay:(...e)=>B(xD,t,ND).call(t,...e)}}function CD(t){t&&(j(tD,this,t.canvas),j(YP,this,t.nodeRepository),j(QP,this,t.timeline),j(iD,this,t.audioAdapter||t.audioPlaybackManager),j(rD,this,t.tracker),j(oD,this,t.parsingManager),j(sD,this,t.qoe),j(eD,this,t.renderAdapter||t.renderer),j(nD,this,t.transitionManager),j(lD,this,t.containerSize))}class OD{constructor({target:t,props:e}){if(!t)throw new Error("`options.target` is required");co(this.#_t,e,!0),this.#_t.v.EkoPlayer=wD;const n=t.hasChildNodes()?Qs:Ys;this.#It=n(gd,{target:t,props:this.#_t.v})}#It;#_t=ao(po({}));destroy(t){if(this.#It)return function(t,e){const n=ta.get(t);return n?(ta.delete(t),n(e)):Promise.resolve()}(this.#It,t)}get props(){return Is(this.#_t)}}const PD=b("gallery-react");const DD=a(((t,i)=>{const{config:r,variantId:a,debug:c,ssrHtml:u,activeItem:d={index:0,step:0},forceMobile:h,videoAspectRatio:f,theme:p,loadAnalytics:m=!0,onEvent:v=()=>{}}=t,g=n(null),y=n({}),b=function(t){return void 0!==t}(r),k=n(d),x=n(u);y.current.initEventSent||(v("galleryinit"),y.current.initEventSent=!0);const w=o((t=>{y.current.state=t,t.activeItemIndex===k.current.index&&t.activeModuleIndex===k.current.step||v("activeitemchanged",{index:t.activeItemIndex,step:t.activeModuleIndex})}),[]),_=o((t=>{y.current.API=t,0===k.current.index&&0===k.current.step||t.selectItemAndStep(k.current.index,k.current.step),y.current.unsubscribe&&y.current.unsubscribe(),y.current.unsubscribe=t.subscribe(w)}),[]),I=o(((t,e)=>{v(t,e)}),[v]);return s((()=>(PD.setDataStorage("gallery-react",{config:r}),window.eko=window.eko||{},window.eko.config=r,window.eko.gallery={version:"4.0.17"},()=>{window.eko.config=void 0})),[r]),l(i,(()=>({prev:()=>{var t;null===(t=y.current.API)||void 0===t||t.prev()},next:()=>{var t;null===(t=y.current.API)||void 0===t||t.next()}}))),s((()=>{if(null==g||!g.current)return;const t=g.current;return y.current.app=new OD({target:t,props:{config:r,forceMobile:h,videoAspectRatio:f,theme:p,loadAnalytics:m,variant:a,onGalleryReady:_,onEvent:I}}),()=>{var t;null===(t=y.current.app)||void 0===t||t.destroy()}}),[]),s((()=>{y.current.app&&(y.current.app.props.config=r,k.current={index:0,step:0})}),[r]),s((()=>{y.current.app&&(y.current.app.props.variant=a)}),[a]),s((()=>{y.current.app&&(y.current.app.props.debug=c,y.current.app.props.forceMobile=h,y.current.app.props.videoAspectRatio=f,y.current.app.props.theme=p,y.current.app.props.loadAnalytics=m,y.current.app.props.onEvent=I)}),[c,h,f,p,m,I]),s((()=>{k.current=d,y.current.state&&(y.current.state.activeItemIndex===d.index&&y.current.state.activeModuleIndex===d.step||y.current.API.selectItemAndStep(d.index,d.step))}),[d]),b?e.createElement("div",q({style:{position:"relative",width:"100%",height:"100%"},ref:g},x.current?{dangerouslySetInnerHTML:{__html:x.current}}:{})):t.children}));DD.propTypes={className:Ot.string,config:Ot.object,variantId:Ot.string,onEvent:Ot.func,ssrHtml:Ot.string,videoAspectRatio:Ot.string,theme:Ot.string,debug:Ot.bool,activeItem:Ot.shape({index:Ot.number,step:Ot.number}),forceMobile:Ot.bool,loadAnalytics:Ot.bool,children:Ot.node},DD.displayName="EkoGallerySvelte";const RD=d("v2"),BD=d("v1");export{dn as E,U as _,W as a,j as b,z as c,B as d,u as e,BD as f,RD as g,DD as h,R as w};