hyperframes 0.7.53 → 0.7.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +445 -89
- package/dist/commands/layout-audit.browser.js +82 -7
- package/dist/hyperframe-runtime.js +20 -20
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +20 -20
- package/dist/skills/hyperframes-cli/SKILL.md +8 -1
- package/dist/skills/hyperframes-cli/references/preview-render.md +1 -1
- package/dist/studio/assets/{index-CJpl5RTK.js → index-BRwkMj0w.js} +108 -108
- package/dist/studio/assets/{index-DHrXh-VF.js → index-BXaqaVKt.js} +1 -1
- package/dist/studio/assets/{index-Bo8sRL2U.js → index-CPetwHFV.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/dist/studio/index.js +48 -3
- package/dist/studio/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -50,7 +50,7 @@ var VERSION;
|
|
|
50
50
|
var init_version = __esm({
|
|
51
51
|
"src/version.ts"() {
|
|
52
52
|
"use strict";
|
|
53
|
-
VERSION = true ? "0.7.
|
|
53
|
+
VERSION = true ? "0.7.55" : "0.0.0-dev";
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
|
|
@@ -56524,7 +56524,7 @@ var RUNTIME_IIFE;
|
|
|
56524
56524
|
var init_runtime_inline = __esm({
|
|
56525
56525
|
"../core/dist/generated/runtime-inline.js"() {
|
|
56526
56526
|
"use strict";
|
|
56527
|
-
RUNTIME_IIFE = '"use strict";(()=>{var kl=Object.create;var ai=Object.defineProperty;var Dl=Object.getOwnPropertyDescriptor;var Il=Object.getOwnPropertyNames;var Pl=Object.getPrototypeOf,Ol=Object.prototype.hasOwnProperty;var Bl=(e,t,n)=>t in e?ai(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var te=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Hl=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Il(t))!Ol.call(e,r)&&r!==n&&ai(e,r,{get:()=>t[r],enumerable:!(i=Dl(t,r))||i.enumerable});return e};var Gl=(e,t,n)=>(n=e!=null?kl(Pl(e)):{},Hl(t||!e||!e.__esModule?ai(n,"default",{value:e,enumerable:!0}):n,e));var be=(e,t,n)=>Bl(e,typeof t!="symbol"?t+"":t,n);var To=te((Zp,vi)=>{var X=String,Mo=function(){return{isColorSupported:!1,reset:X,bold:X,dim:X,italic:X,underline:X,inverse:X,hidden:X,strikethrough:X,black:X,red:X,green:X,yellow:X,blue:X,magenta:X,cyan:X,white:X,gray:X,bgBlack:X,bgRed:X,bgGreen:X,bgYellow:X,bgBlue:X,bgMagenta:X,bgCyan:X,bgWhite:X,blackBright:X,redBright:X,greenBright:X,yellowBright:X,blueBright:X,magentaBright:X,cyanBright:X,whiteBright:X,bgBlackBright:X,bgRedBright:X,bgGreenBright:X,bgYellowBright:X,bgBlueBright:X,bgMagentaBright:X,bgCyanBright:X,bgWhiteBright:X}};vi.exports=Mo();vi.exports.createColors=Mo});var Mi=te(()=>{});var En=te((nh,Ro)=>{"use strict";var No=To(),Lo=Mi(),Gt=class e extends Error{constructor(t,n,i,r,o,s){super(t),this.name="CssSyntaxError",this.reason=t,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(t){if(!this.source)return"";let n=this.source;t==null&&(t=No.isColorSupported);let i=c=>c,r=c=>c,o=c=>c;if(t){let{bold:c,gray:m,red:f}=No.createColors(!0);r=x=>c(f(x)),i=x=>m(x),Lo&&(o=x=>Lo(x))}let s=n.split(/\\r?\\n/),l=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),u=String(a).length;return s.slice(l,a).map((c,m)=>{let f=l+1+m,x=" "+(" "+f).slice(-u)+" | ";if(f===this.line){if(c.length>160){let b=20,g=Math.max(0,this.column-b),A=Math.max(this.column+b,this.endColumn+b),_=c.slice(g,A),N=i(x.replace(/\\d/g," "))+c.slice(0,Math.min(this.column-1,b-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(_)+`\n `+N+r("^")}let S=i(x.replace(/\\d/g," "))+c.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(c)+`\n `+S+r("^")}return" "+i(x)+o(c)}).join(`\n`)}toString(){let t=this.showSourceCode();return t&&(t=`\n\n`+t+`\n`),this.name+": "+this.message+t}};Ro.exports=Gt;Gt.default=Gt});var Ti=te((ih,Do)=>{"use strict";var Du=/(<)(\\/?style\\b)/gi,Iu=/(<)(!--)/g;function Ye(e){return typeof e!="string"||!e.includes("<")?e:e.replace(Du,"\\\\3c $2").replace(Iu,"\\\\3c $2")}var ko={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Pu(e){return e[0].toUpperCase()+e.slice(1)}var Wt=class{constructor(t){this.builder=t}atrule(t,n){let i=t.raws,r="@"+t.name,o=t.params?this.rawValue(t,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),t.nodes)this.block(t,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(Ye(r+o+s),t)}}beforeAfter(t,n){let i;t.type==="decl"?i=this.raw(t,null,"beforeDecl"):t.type==="comment"?i=this.raw(t,null,"beforeComment"):n==="before"?i=this.raw(t,null,"beforeRule"):i=this.raw(t,null,"beforeClose");let r=t.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(t,null,"indent");if(s.length)for(let l=0;l<o;l++)i+=s}return i}block(t,n){let i=this.raw(t,"between","beforeOpen");this.builder(Ye(n+i)+"{",t,"start");let r;t.nodes&&t.nodes.length?(this.body(t),r=this.raw(t,"after")):r=this.raw(t,"after","emptyBody"),r&&this.builder(Ye(r)),this.builder("}",t,"end")}body(t){let n=t.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(t,"semicolon"),o=t.type==="document";for(let s=0;s<n.length;s++){let l=n[s],a=this.raw(l,"before");a&&this.builder(o?a:Ye(a)),this.stringify(l,i!==s||r)}}comment(t){let n=this.raw(t,"left","commentLeft"),i=this.raw(t,"right","commentRight");this.builder(Ye("/*"+n+t.text+i+"*/"),t)}decl(t,n){let i=t.raws,r=this.raw(t,"between","colon"),o=t.prop+r+this.rawValue(t,"value");t.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(Ye(o),t)}document(t){this.body(t)}raw(t,n,i){let r;if(i||(i=n),n&&(r=t.raws[n],typeof r<"u"))return r;let o=t.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return ko[i];let s=t.root(),l=s.rawCache||(s.rawCache={});if(typeof l[i]<"u")return l[i];if(i==="before"||i==="after")return this.beforeAfter(t,i);{let a="raw"+Pu(i);this[a]?r=this[a](s,t):s.walk(u=>{if(r=u.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=ko[i]),l[i]=r,r}rawBeforeClose(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(t,n){let i;return t.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(t,n){let i;return t.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(t){let n;return t.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(t){let n;return t.walk(i=>{if(i.nodes&&(i.parent!==t||t.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(t){let n;return t.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(t){if(t.raws.indent)return t.raws.indent;let n;return t.walk(i=>{let r=i.parent;if(r&&r!==t&&r.parent&&r.parent===t&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let i=t[n],r=t.raws[n];return r&&r.value===i?r.raw:i}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,i=t.parent&&t.parent.type==="document";this.builder(i?n:Ye(n))}}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(Ye(t.raws.ownSemicolon),t,"end")}stringify(t,n){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,n)}};Do.exports=Wt;Wt.default=Wt});var Ut=te((rh,Io)=>{"use strict";var Ou=Ti();function Ni(e,t){new Ou(t).stringify(e)}Io.exports=Ni;Ni.default=Ni});var An=te((oh,Li)=>{"use strict";Li.exports.isClean=Symbol("isClean");Li.exports.my=Symbol("my")});var jt=te((sh,Po)=>{"use strict";var Bu=En(),Hu=Ti(),Gu=Ut(),{isClean:Vt,my:Wu}=An();function Ri(e,t){let n=new e.constructor;for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i)||i==="proxyCache")continue;let r=e[i],o=typeof r;i==="parent"&&o==="object"?t&&(n[i]=t):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>Ri(s,n)):(o==="object"&&r!==null&&(r=Ri(r)),n[i]=r)}return n}function je(e,t){if(t&&typeof t.offset<"u")return t.offset;let n=1,i=1,r=0;for(let o=0;o<e.length;o++){if(i===t.line&&n===t.column){r=o;break}e[o]===`\n`?(n=1,i+=1):n+=1}return r}var zt=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[Vt]=!1,this[Wu]=!0;for(let n in t)if(n==="nodes"){this.nodes=[];for(let i of t[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=t[n]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\\n\\s{4}at /.test(t.stack)){let n=this.source;t.stack=t.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let n in t)this[n]=t[n];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let n=Ri(this);for(let i in t)n[i]=t[i];return n}cloneAfter(t={}){let n=this.clone(t);return this.parent.insertAfter(this,n),n}cloneBefore(t={}){let n=this.clone(t);return this.parent.insertBefore(this,n),n}error(t,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(t,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Bu(t)}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:n==="root"?()=>t.root().toProxy():t[n]},set(t,n,i){return t[n]===i||(t[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&t.markDirty()),!0}}}markClean(){this[Vt]=!0}markDirty(){if(this[Vt]){this[Vt]=!1;let t=this;for(;t=t.parent;)t[Vt]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t={}){let n=this.source.start;if(t.index)n=this.positionInside(t.index);else if(t.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(je(i,this.source.start),je(i,this.source.end)).indexOf(t.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(t){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=je(r,this.source.start),s=o+t;for(let l=o;l<s;l++)r[l]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:je(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:je(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(t.word){let s=n.slice(je(n,this.source.start),je(n,this.source.end)).indexOf(t.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+t.word.length))}else t.start?i={column:t.start.column,line:t.start.line,offset:je(n,t.start)}:t.index&&(i=this.positionInside(t.index)),t.end?r={column:t.end.column,line:t.end.line,offset:je(n,t.end)}:typeof t.endIndex=="number"?r=this.positionInside(t.endIndex):t.index&&(r=this.positionInside(t.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(t,n){return new Hu().raw(this,t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let n=this,i=!1;for(let r of t)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let l=this[s];if(Array.isArray(l))i[s]=l.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof l=="object"&&l.toJSON)i[s]=l.toJSON(null,n);else if(s==="source"){if(l==null)continue;let a=n.get(l.input);a==null&&(a=o,n.set(l.input,o),o++),i[s]={end:l.end,inputId:a,start:l.start}}else i[s]=l}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=Gu){t.stringify&&(t=t.stringify);let n="";return t(this,i=>{n+=i}),n}warn(t,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return t.warn(n,r)}};Po.exports=zt;zt.default=zt});var $t=te((ah,Oo)=>{"use strict";var Uu=jt(),qt=class extends Uu{constructor(t){super(t),this.type="comment"}};Oo.exports=qt;qt.default=qt});var Jt=te((lh,Bo)=>{"use strict";var Vu=jt(),Kt=class extends Vu{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}};Bo.exports=Kt;Kt.default=Kt});var Xe=te((uh,$o)=>{"use strict";var Ho=$t(),Go=Jt(),zu=jt(),{isClean:Wo,my:Uo}=An(),ki,Vo,zo,Di;function jo(e){return e.map(t=>(t.nodes&&(t.nodes=jo(t.nodes)),delete t.source,t))}function qo(e){if(e[Wo]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)qo(t)}var De=class e extends zu{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...t){for(let n of t){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let n of this.nodes)n.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=t(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:t[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>t[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>t[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,i){return t[n]===i||(t[n]=i,(n==="name"||n==="params"||n==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,n){let i=this.index(t),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(t);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(t,n){let i=this.index(t),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(t);for(let l of o)this.proxyOf.nodes.splice(i,0,l);let s;for(let l in this.indexes)s=this.indexes[l],i<=s&&(this.indexes[l]=s+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=jo(Vo(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let r of t)r.parent&&r.parent.removeChild(r,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let r of t)r.parent&&r.parent.removeChild(r,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new Go(t)]}else if(t.selector||t.selectors)t=[new Di(t)];else if(t.name)t=[new ki(t)];else if(t.text)t=[new Ho(t)];else throw new Error("Unknown node type in node creation");return t.map(r=>(r[Uo]||e.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[Wo]&&qo(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...t){t=t.reverse();for(let n of t){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=t&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(t,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(t,i))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,i)=>{let r;try{r=t(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(t)),r})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&t.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(t){return this.walk((n,i)=>{if(n.type==="comment")return t(n,i)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&t.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&t.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};De.registerParse=e=>{Vo=e};De.registerRule=e=>{Di=e};De.registerAtRule=e=>{ki=e};De.registerRoot=e=>{zo=e};$o.exports=De;De.default=De;De.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,ki.prototype):e.type==="rule"?Object.setPrototypeOf(e,Di.prototype):e.type==="decl"?Object.setPrototypeOf(e,Go.prototype):e.type==="comment"?Object.setPrototypeOf(e,Ho.prototype):e.type==="root"&&Object.setPrototypeOf(e,zo.prototype),e[Uo]=!0,e.nodes&&e.nodes.forEach(t=>{De.rebuild(t)})}});var wn=te((ch,Jo)=>{"use strict";var Ko=Xe(),ht=class extends Ko{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}};Jo.exports=ht;ht.default=ht;Ko.registerAtRule(ht)});var Cn=te((dh,Qo)=>{"use strict";var ju=Xe(),Yo,Xo,ct=class extends ju{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new Yo(new Xo,this,t).stringify()}};ct.registerLazyResult=e=>{Yo=e};ct.registerProcessor=e=>{Xo=e};Qo.exports=ct;ct.default=ct});var es=te((fh,Zo)=>{var qu="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",$u=(e,t=21)=>(n=t)=>{let i="",r=n|0;for(;r--;)i+=e[Math.random()*e.length|0];return i},Ku=(e=21)=>{let t="",n=e|0;for(;n--;)t+=qu[Math.random()*64|0];return t};Zo.exports={nanoid:Ku,customAlphabet:$u}});var Fn=te(()=>{});var _n=te(()=>{});var Ii=te(()=>{});var ts=te(()=>{});var Oi=te((Eh,rs)=>{"use strict";var{existsSync:Ju,readFileSync:Yu}=ts(),{dirname:Pi,join:Xu}=Fn(),{SourceMapConsumer:ns,SourceMapGenerator:is}=_n();function Qu(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var Yt=class{constructor(t,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=Pi(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new ns(this.json||this.text)),this.consumerCache}decodeInline(t){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=t.match(r)||t.match(o);if(s)return decodeURIComponent(t.substr(s[0].length));let l=t.match(n)||t.match(i);if(l)return Qu(t.substr(l[0].length));let a=t.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(t){return t.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let n=t.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=t.lastIndexOf(n.pop()),r=t.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(t.substring(i,r)))}loadFile(t,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(t))&&(this.root=Pi(t),Ju(t)))return this.mapFile=t,Yu(t,"utf-8").toString().trim()}loadMap(t,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(t);if(i){let r=this.loadFile(i,t,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof ns)return is.fromSourceMap(n).toString();if(n instanceof is)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;t&&(i=Xu(Pi(t),i));let r=this.loadFile(i,t,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(t,n){return t?t.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};rs.exports=Yt;Yt.default=Yt});var Xt=te((Ah,us)=>{"use strict";var{nanoid:Zu}=es(),{isAbsolute:Gi,resolve:Wi}=Fn(),{SourceMapConsumer:ec,SourceMapGenerator:tc}=_n(),{fileURLToPath:os,pathToFileURL:vn}=Ii(),ss=En(),nc=Oi(),Bi=Mi(),Hi=Symbol("lineToIndexCache"),ic=!!(ec&&tc),as=!!(Wi&&Gi);function ls(e){if(e[Hi])return e[Hi];let t=e.css.split(`\n`),n=new Array(t.length),i=0;for(let r=0,o=t.length;r<o;r++)n[r]=i,i+=t[r].length+1;return e[Hi]=n,n}var gt=class{get from(){return this.file||this.id}constructor(t,n={}){if(t===null||typeof t>"u"||typeof t=="object"&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!as||/^\\w+:\\/\\//.test(n.from)||Gi(n.from)?this.file=n.from:this.file=Wi(n.from)),as&&ic){let i=new nc(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Zu(6)+">"),this.map&&(this.map.file=this.from)}error(t,n,i,r={}){let o,s,l,a,u;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){l=f.offset;let x=this.fromOffset(l);s=x.line,o=x.col}else s=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let c=this.origin(n,i,s,o);return c?u=new ss(t,c.endLine===void 0?c.line:{column:c.column,line:c.line},c.endLine===void 0?c.column:{column:c.endColumn,line:c.endLine},c.source,c.file,r.plugin):u=new ss(t,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),u.input={column:i,endColumn:o,endLine:s,endOffset:l,line:n,offset:a,source:this.css},this.file&&(vn&&(u.input.url=vn(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(t,n){return ls(this)[t-1]+n-1}fromOffset(t){let n=ls(this),i=n[n.length-1],r=0;if(t>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),t<n[s])o=s-1;else if(t>=n[s+1])r=s+1;else{r=s;break}}return{col:t-n[r]+1,line:r+1}}mapResolve(t){return/^\\w+:\\/\\//.test(t)?t:Wi(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:t});if(!s.source)return!1;let l;typeof i=="number"&&(l=o.originalPositionFor({column:r,line:i}));let a;Gi(s.source)?a=vn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||vn(this.map.mapFile));let u={column:s.column,endColumn:l&&l.column,endLine:l&&l.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(os)u.file=os(a);else throw new Error("file: protocol is not available in this PostCSS build");let c=o.sourceContentFor(s.source);return c&&(u.source=c),u}toJSON(){let t={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(t[n]=this[n]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}};us.exports=gt;gt.default=gt;Bi&&Bi.registerInput&&Bi.registerInput(gt)});var xt=te((wh,ms)=>{"use strict";var cs=Xe(),ds,fs,Qe=class extends cs{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,n,i){let r=super.normalize(t);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(t,n){let i=this.index(t);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(t)}toResult(t={}){return new ds(new fs,this,t).stringify()}};Qe.registerLazyResult=e=>{ds=e};Qe.registerProcessor=e=>{fs=e};ms.exports=Qe;Qe.default=Qe;cs.registerRoot(Qe)});var Ui=te((Ch,ps)=>{"use strict";var Qt={comma(e){return Qt.split(e,[","],!0)},space(e){let t=[" ",`\n`," "];return Qt.split(e,t)},split(e,t,n){let i=[],r="",o=!1,s=0,l=!1,a="",u=!1;for(let c of e)u?u=!1:c==="\\\\"?u=!0:l?c===a&&(l=!1):c===\'"\'||c==="\'"?(l=!0,a=c):c==="("?s+=1:c===")"?s>0&&(s-=1):s===0&&t.includes(c)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=c;return(n||r!=="")&&i.push(r.trim()),i}};ps.exports=Qt;Qt.default=Qt});var Mn=te((Fh,gs)=>{"use strict";var hs=Xe(),rc=Ui(),bt=class extends hs{get selectors(){return rc.comma(this.selector)}set selectors(t){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=t.join(i)}constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}};gs.exports=bt;bt.default=bt;hs.registerRule(bt)});var bs=te((_h,xs)=>{"use strict";var oc=wn(),sc=$t(),ac=Jt(),lc=Xt(),uc=Oi(),cc=xt(),dc=Mn();function Zt(e,t){if(Array.isArray(e))return e.map(r=>Zt(r));let{inputs:n,...i}=e;if(n){t=[];for(let r of n){let o={...r,__proto__:lc.prototype};o.map&&(o.map={...o.map,__proto__:uc.prototype}),t.push(o)}}if(i.nodes&&(i.nodes=e.nodes.map(r=>Zt(r,t))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=t[r])}if(i.type==="root")return new cc(i);if(i.type==="decl")return new ac(i);if(i.type==="rule")return new dc(i);if(i.type==="comment")return new sc(i);if(i.type==="atrule")return new oc(i);throw new Error("Unknown node type: "+e.type)}xs.exports=Zt;Zt.default=Zt});var zi=te((vh,Cs)=>{"use strict";var{dirname:Tn,relative:Ss,resolve:Es,sep:As}=Fn(),{SourceMapConsumer:ws,SourceMapGenerator:Nn}=_n(),{pathToFileURL:ys}=Ii(),fc=Xt(),mc=!!(ws&&Nn),pc=!!(Tn&&Es&&Ss&&As),Vi=class{constructor(t,n,i,r){this.stringify=t,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let t;this.isInline()?t="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?t=this.mapOpts.annotation(this.opts.to,this.root):t=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let n=this.toUrl(this.path(t.file)),i=t.root||Tn(t.file),r;this.mapOpts.sourcesContent===!1?(r=new ws(t.text),r.sourcesContent&&(r.sourcesContent=null)):r=t.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let t;for(let n=this.root.nodes.length-1;n>=0;n--)t=this.root.nodes[n],t.type==="comment"&&t.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let t;for(;(t=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",t+3);if(n===-1)break;for(;t>0&&this.css[t-1]===`\n`;)t--;this.css=this.css.slice(0,t)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),pc&&mc&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,n=>{t+=n}),[t]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=Nn.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new Nn({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new Nn({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(l,a,u)=>{if(this.css+=l,a&&u!=="end"&&(r.generated.line=t,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=l.match(/\\n/g),s?(t+=s.length,o=l.lastIndexOf(`\n`),n=l.length-o):n+=l.length,a&&u!=="start"){let c=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==c.last||c.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=t,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=t,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\\w+:\\/\\//.test(t))return t;let n=this.memoizedPaths.get(t);if(n)return n;let i=this.opts.to?Tn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=Tn(Es(i,this.mapOpts.annotation)));let r=Ss(i,t);return this.memoizedPaths.set(t,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let n=t.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let t=new fc(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!t[i]){t[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let n=this.memoizedFileURLs.get(t);if(n)return n;if(ys){let i=ys(t).toString();return this.memoizedFileURLs.set(t,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let n=this.memoizedURLs.get(t);if(n)return n;As==="\\\\"&&(t=t.replace(/\\\\/g,"/"));let i=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,i),i}};Cs.exports=Vi});var vs=te((Mh,_s)=>{"use strict";var Ln=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,Rn=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,hc=/.[\\r\\n"\'(/\\\\]/,Fs=/[\\da-f]/i;_s.exports=function(t,n={}){let i=t.css.valueOf(),r=n.ignoreErrors,o,s,l,a,u,c,m,f,x,S,b=i.length,g=0,A=[],_=[],N=-1;function J(){return g}function B(v){throw t.error("Unclosed "+v,g)}function M(){return _.length===0&&g>=b}function E(v){if(_.length)return _.pop();if(g>=b)return;let T=v?v.ignoreUnclosed:!1;switch(o=i.charCodeAt(g),o){case 10:case 32:case 9:case 13:case 12:{a=g;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);c=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let k=String.fromCharCode(o);c=[k,k,g];break}case 40:{if(S=A.length?A.pop()[1]:"",x=i.charCodeAt(g+1),S==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||T){a=g;break}else B("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["brackets",i.slice(g,a+1),g,a],g=a}else g<=N?c=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||hc.test(s)?(N=a===-1?b:a,c=["(","(",g]):(c=["brackets",s,g,a],g=a));break}case 39:case 34:{u=o===39?"\'":\'"\',a=g;do{if(m=!1,a=i.indexOf(u,a+1),a===-1)if(r||T){a=g+1;break}else B("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{Ln.lastIndex=g+1,Ln.test(i),Ln.lastIndex===0?a=i.length-1:a=Ln.lastIndex-2,c=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,l=!0;i.charCodeAt(a+1)===92;)a+=1,l=!l;if(o=i.charCodeAt(a+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Fs.test(i.charAt(a)))){for(;Fs.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}c=["word",i.slice(g,a+1),g,a],g=a;break}default:{o===47&&i.charCodeAt(g+1)===42?(a=i.indexOf("*/",g+2)+1,a===0&&(r||T?a=i.length:B("comment")),c=["comment",i.slice(g,a+1),g,a],g=a):(Rn.lastIndex=g+1,Rn.test(i),Rn.lastIndex===0?a=i.length-1:a=Rn.lastIndex-2,c=["word",i.slice(g,a+1),g,a],A.push(c),g=a);break}}return g++,c}function F(v){_.push(v)}return{back:F,endOfFile:M,nextToken:E,position:J}}});var Ls=te((Th,Ns)=>{"use strict";var gc=wn(),xc=$t(),bc=Jt(),yc=xt(),Ms=Mn(),Sc=vs(),Ts={empty:!0,space:!0};function Ec(e){for(let t=e.length-1;t>=0;t--){let n=e[t],i=n[3]||n[2];if(i)return i}}var ji=class{constructor(t){this.input=t,this.root=new yc,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let n=new gc;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let i,r,o,s=!1,l=!1,a=[],u=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),i=t[0],i==="("||i==="["?u.push(i==="("?")":"]"):i==="{"&&u.length>0?u.push("}"):i===u[u.length-1]&&u.pop(),u.length===0)if(i===";"){n.source.end=this.getPosition(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){l=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(t);break}else a.push(t);else a.push(t);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(t=a[a.length-1],n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),l&&(n.nodes=[],this.current=n)}checkMissedSemicolon(t){let n=this.colon(t);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=t[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(t){let n=0,i,r,o;for(let[s,l]of t.entries()){if(r=l,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(t){let n=new xc;this.init(n,t[2]),n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++;let i=t[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=Sc(this.input)}decl(t,n){let i=new bc;this.init(i,t[0][2]);let r=t[t.length-1];for(r[0]===";"&&(this.semicolon=!0,t.pop()),i.source.end=this.getPosition(r[3]||r[2]||Ec(t)),i.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),i.raws.before+=t.shift()[1];for(i.source.start=this.getPosition(t[0][2]),i.prop="";t.length;){let u=t[0][0];if(u===":"||u==="space"||u==="comment")break;i.prop+=t.shift()[1]}i.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],l;for(;t.length&&(l=t[0][0],!(l!=="space"&&l!=="comment"));)s.push(t.shift());this.precheckMissedSemicolon(t);for(let u=t.length-1;u>=0;u--){if(o=t[u],o[1].toLowerCase()==="!important"){i.important=!0;let c=this.stringFrom(t,u);c=this.spacesFromEnd(t)+c,c!==" !important"&&(i.raws.important=c);break}else if(o[1].toLowerCase()==="important"){let c=t.slice(0),m="";for(let f=u;f>0;f--){let x=c[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=c.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,t=c)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(u=>u[0]!=="space"&&u[0]!=="comment")&&(i.raws.between+=s.map(u=>u[1]).join(""),s=[]),this.raw(i,"value",s.concat(t),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let n=new Ms;this.init(n,t[2]),n.selector="",n.raws.between="",this.current=n}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(t[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(t){let n=this.input.fromOffset(t);return{column:n.col,line:n.line,offset:t}}init(t,n){this.current.push(t),t.source={input:this.input,start:this.getPosition(n)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let n=!1,i=null,r=!1,o=null,s=[],l=t[1].startsWith("--"),a=[],u=t;for(;u;){if(i=u[0],a.push(u),i==="("||i==="[")o||(o=u),s.push(i==="("?")":"]");else if(l&&r&&i==="{")o||(o=u),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,l);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!l)for(;a.length&&(u=a[a.length-1][0],!(u!=="space"&&u!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,l)}else this.unknownWord(a)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,n,i,r){let o,s,l=i.length,a="",u=!0,c,m;for(let f=0;f<l;f+=1)o=i[f],s=o[0],s==="space"&&f===l-1&&!r?u=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",c=i[f+1]?i[f+1][0]:"empty",!Ts[m]&&!Ts[c]?a.slice(-1)===","?u=!1:a+=o[1]:u=!1):a+=o[1];if(!u){let f=i.reduce((x,S)=>x+S[1],"");t.raws[n]={raw:f,value:a}}t[n]=a}rule(t){t.pop();let n=new Ms;this.init(n,t[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(n,"selector",t),this.current=n}spacesAndCommentsFromEnd(t){let n,i="";for(;t.length&&(n=t[t.length-1][0],!(n!=="space"&&n!=="comment"));)i=t.pop()[1]+i;return i}spacesAndCommentsFromStart(t){let n,i="";for(;t.length&&(n=t[0][0],!(n!=="space"&&n!=="comment"));)i+=t.shift()[1];return i}spacesFromEnd(t){let n,i="";for(;t.length&&(n=t[t.length-1][0],n==="space");)i=t.pop()[1]+i;return i}stringFrom(t,n){let i="";for(let r=n;r<t.length;r++)i+=t[r][1];return t.splice(n,t.length-n),i}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word "+t[0][1],{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};Ns.exports=ji});var Dn=te((Nh,Rs)=>{"use strict";var Ac=Xe(),wc=Xt(),Cc=Ls();function kn(e,t){let n=new wc(e,t),i=new Cc(n);try{i.parse()}catch(r){throw r}return i.root}Rs.exports=kn;kn.default=kn;Ac.registerParse(kn)});var qi=te((Lh,ks)=>{"use strict";var en=class{constructor(t,n={}){if(this.type="warning",this.text=t,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};ks.exports=en;en.default=en});var In=te((Rh,Ds)=>{"use strict";var Fc=qi(),tn=class{get content(){return this.css}constructor(t,n,i){this.processor=t,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(t,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new Fc(t,n);return this.messages.push(i),i}warnings(){return this.messages.filter(t=>t.type==="warning")}};Ds.exports=tn;tn.default=tn});var $i=te((kh,Ps)=>{"use strict";var Is={};Ps.exports=function(t){Is[t]||(Is[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var Yi=te((Ih,Gs)=>{"use strict";var _c=Xe(),vc=Cn(),Mc=zi(),Tc=Dn(),Os=In(),Nc=xt(),Lc=Ut(),{isClean:Ge,my:Rc}=An(),Dh=$i(),kc={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Dc={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Ic={Once:!0,postcssPlugin:!0,prepare:!0},yt=0;function nn(e){return typeof e=="object"&&typeof e.then=="function"}function Hs(e){let t=!1,n=kc[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,yt,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,yt,n+"Exit"]:[n,n+"Exit"]}function Bs(e){let t;return e.type==="document"?t=["Document",yt,"DocumentExit"]:e.type==="root"?t=["Root",yt,"RootExit"]:t=Hs(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function Ki(e){return e[Ge]=!1,e.nodes&&e.nodes.forEach(t=>Ki(t)),e}var Ji={},Ze=class e{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(t,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Ki(n);else if(n instanceof e||n instanceof Os)r=Ki(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=Tc;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Rc]&&_c.rebuild(r)}this.result=new Os(t,r,i),this.helpers={...Ji,postcss:Ji,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,n){let i=this.result.lastPlugin;try{n&&n.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin?(t.plugin=i.postcssPlugin,t.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return t}prepareVisitors(){this.listeners={};let t=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!Dc[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Ic[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?t(n,i,n[i][r]):t(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&t(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let n=this.plugins[t],i=this.runOnRoot(n);if(nn(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ge];){t[Ge]=!0;let n=[Bs(t)];for(;n.length>0;){let i=this.visitTick(n);if(nn(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(t.type==="document"){let r=t.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(t,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>t.Once(i,this.helpers));return nn(n[0])?Promise.all(n):n}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,n=Lc;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(t.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,l=>{s+=l}),this.result.css=s,this.result}let o=new Mc(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins){let n=this.runOnRoot(t);if(nn(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ge];)t[Ge]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let n of t.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,n){return this.async().then(t,n)}toString(){return this.css}visitSync(t,n){for(let[i,r]of t){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(nn(o))throw this.getAsyncError()}}visitTick(t){let n=t[t.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){t.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,l]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return l(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,l;for(;l=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!l[Ge]){l[Ge]=!0,t.push(Bs(l));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===yt){i.nodes&&i.nodes.length&&(i[Ge]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}t.pop()}walkSync(t){t[Ge]=!0;let n=Hs(t);for(let i of n)if(i===yt)t.nodes&&t.each(r=>{r[Ge]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,t.toProxy()))return}}warnings(){return this.sync().warnings()}};Ze.registerPostcss=e=>{Ji=e};Gs.exports=Ze;Ze.default=Ze;Nc.registerLazyResult(Ze);vc.registerLazyResult(Ze)});var Us=te((Oh,Ws)=>{"use strict";var Pc=zi(),Oc=Dn(),Bc=In(),Hc=Ut(),Ph=$i(),rn=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let t,n=Oc;try{t=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(t,n,i){n=n.toString(),this.stringified=!1,this._processor=t,this._css=n,this._opts=i,this._map=void 0;let r=Hc;this.result=new Bc(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Pc(r,void 0,this._opts,n);if(s.isMap()){let[l,a]=s.generate();l&&(this.result.css=l),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,n){return this.async().then(t,n)}toString(){return this._css}warnings(){return[]}};Ws.exports=rn;rn.default=rn});var zs=te((Bh,Vs)=>{"use strict";var Gc=Cn(),Wc=Yi(),Uc=Us(),Vc=xt(),dt=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let i of t)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new Uc(this,t,n):new Wc(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};Vs.exports=dt;dt.default=dt;Vc.registerProcessor(dt);Gc.registerProcessor(dt)});var Qs=te((Hh,Xs)=>{"use strict";var js=wn(),qs=$t(),zc=Xe(),jc=En(),$s=Jt(),Ks=Cn(),qc=bs(),$c=Xt(),Kc=Yi(),Jc=Ui(),Yc=jt(),Xc=Dn(),Xi=zs(),Qc=In(),Js=xt(),Ys=Mn(),Zc=Ut(),ed=qi();function le(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new Xi(e)}le.plugin=function(t,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(t+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let l=n(...s);return l.postcssPlugin=t,l.postcssVersion=new Xi().version,l}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,l,a){return le([r(a)]).process(s,l)},r};le.stringify=Zc;le.parse=Xc;le.fromJSON=qc;le.list=Jc;le.comment=e=>new qs(e);le.atRule=e=>new js(e);le.decl=e=>new $s(e);le.rule=e=>new Ys(e);le.root=e=>new Js(e);le.document=e=>new Ks(e);le.CssSyntaxError=jc;le.Declaration=$s;le.Container=zc;le.Processor=Xi;le.Document=Ks;le.Comment=qs;le.Warning=ed;le.AtRule=js;le.Result=Qc;le.Input=$c;le.Rule=Ys;le.Root=Js;le.Node=Yc;Kc.registerPostcss(le);Xs.exports=le;le.default=le});function pn(){return globalThis}function L(e,t){if(typeof window>"u")return;let n=pn(),i=n.__hf?.onSwallowed;if(i)try{i({label:e,error:t})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${e} swallowed:`,t)}function Ce(e){try{window.parent.postMessage(e,"*")}catch(t){L("bridge.postMessage",t)}}var Wl={play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),"stop-media":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek(Number(e.frame??0),e.seekMode??"commit"),tick:(e,t)=>t.onTick(),"set-muted":(e,t)=>t.onSetMuted(!!e.muted),"set-volume":(e,t)=>t.onSetVolume(Math.max(0,Math.min(1,Number(e.volume??1)))),"set-media-output-muted":(e,t)=>t.onSetMediaOutputMuted(!!e.muted),"set-native-media-sync-disabled":(e,t)=>t.onSetNativeMediaSyncDisabled(!!e.disabled),"set-web-audio-media-disabled":(e,t)=>t.onSetWebAudioMediaDisabled(!!e.disabled),"set-playback-rate":(e,t)=>t.onSetPlaybackRate(Number(e.playbackRate??1)),"set-root-duration":(e,t)=>t.onSetRootDuration(Number(e.durationSeconds??0)),"set-color-grading":(e,t)=>t.onSetColorGrading(e.target??null,e.grading??null),"set-color-grading-compare":(e,t)=>t.onSetColorGradingCompare(e.target??null,e.compare??null),"enable-pick-mode":(e,t)=>t.onEnablePickMode(),"disable-pick-mode":(e,t)=>t.onDisablePickMode(),"flash-elements":e=>Ul(e)};function Ul(e){let t=e.selectors,n=e.duration||800;t&&Vl(t,n)}function Or(e){let t=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=Wl[r];o&&o(i,e)};return window.addEventListener("message",t),Ce({source:"hf-preview",type:"ready"}),t}function Vl(e,t){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${t}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of e)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),t)})}catch(i){L("bridge.flashElements.querySelector",i)}}var li=null;function Br(e){li=e}function lt(e,t){if(li)try{li({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){L("runtime.analytics.site1",n)}}function zl(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-"),n=0,i=t.length;for(;n<i&&t[n]==="-";)n++;for(;i>n&&t[i-1]==="-";)i--;let r=t.slice(n,i);return r.length>0?r:"node"}function Tt(e){return`--${zl(e)}`}function Hr(e){let t=new Map;for(let n of e){let i=Tt(n),r=t.get(i);r?r.includes(n)||r.push(n):t.set(i,[n])}return[...t.values()].filter(n=>n.length>1)}function Gr(){if(typeof document>"u")return{};let e=new Set;document.documentElement?.hasAttribute("data-composition-variables")&&e.add(document.documentElement);for(let i of Array.from(document.querySelectorAll("[data-composition-variables]")))e.add(i);let t={};for(let i of e)Object.assign(t,Nt(i));let n=hn();return{...t,...n}}function Nt(e){if(!e)return{};let t=e.getAttribute("data-composition-variables");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}var ui="data-hf-css-vars";function ci(e){return"style"in e&&typeof e.style?.setProperty=="function"}function di(e,t){if(!ci(e))return;let n=[];for(let[i,r]of Object.entries(t))if(typeof r=="string"&&r!==""||typeof r=="number"){let o=Tt(i);e.style.setProperty(o,String(r)),n.push(o)}n.length>0&&e.setAttribute(ui,n.join(" "))}function Wr(e){if(!ci(e))return;let t=e.getAttribute(ui);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(ui)}}function Ur(e){let t=new Set;e.documentElement?.hasAttribute("data-composition-variables")&&t.add(e.documentElement);for(let r of Array.from(e.querySelectorAll("[data-composition-variables]")))t.add(r);let n=hn(),i=[];for(let r of t)i.push(...jl(r,n,e.defaultView));for(let r of Hr(i))console.warn(`composition variables ${r.join(", ")} collapse to the same CSS property ${Tt(r[0]??"")} \\u2014 rename one to avoid cross-talk`)}function jl(e,t,n){if(!ci(e))return[];let i=Nt(e),r={};for(let[o,s]of Object.entries(i)){if(o in t)continue;let l=Tt(o);(e.style.getPropertyValue(l)||(n?n.getComputedStyle(e).getPropertyValue(l):"")).trim()===""&&(r[o]=s)}for(let[o,s]of Object.entries(t))o in i&&(r[o]=s);return di(e,r),Object.keys(i)}function Vr(e){let t=e.getAttribute("data-variable-values");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function hn(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}function zr(e){let t=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},i=u=>e?.resolveStartSeconds?e.resolveStartSeconds(u):Number.parseFloat(u.getAttribute("data-start")??"0")||0,r=(u,c)=>{let m=null;try{m=u.effect?.getComputedTiming?.()??null}catch(x){L("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:c+f/1e3}:{unbounded:!0}},o=(u,c)=>{for(let m of u){try{m.currentTime=c}catch(f){L("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){L("runtime.adapters.css.site2",f)}}},s=u=>{for(let c of u)try{c.play()}catch(m){L("runtime.adapters.css.site3",m)}},l=u=>{for(let c of u)try{c.pause()}catch(m){L("runtime.adapters.css.site4",m)}},a=u=>{u.baseDelay?u.el.style.animationDelay=u.baseDelay:u.el.style.removeProperty("animation-delay"),u.basePlayState?u.el.style.animationPlayState=u.basePlayState:u.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{t=[];let u=document.querySelectorAll("*");for(let c of u){if(!(c instanceof HTMLElement))continue;let m=window.getComputedStyle(c);!m.animationName||m.animationName==="none"||t.push({el:c,baseDelay:c.style.animationDelay||"",basePlayState:c.style.animationPlayState||"",animations:n(c)})}},getInferredDurationSeconds:()=>{let u=0;for(let c of t){if(!c.el.isConnected)continue;let m=i(c.el);for(let f of n(c.el)){let x=r(f,m);x.endSeconds!=null&&(u=Math.max(u,x.endSeconds))}}return u>0?u:null},seek:u=>{let c=Number(u.time)||0;for(let m of t){if(!m.el.isConnected)continue;let f=i(m.el),x=Math.max(0,c-f)*1e3,S=m.animations;if(S.length>0){o(S,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let u of t){if(!u.el.isConnected)continue;let c=u.animations;c.length>0&&l(c),a(u)}},play:()=>{for(let u of t)u.el.isConnected&&(a(u),s(u.animations))},revert:()=>{t=[]}}}function jr(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(t.time)||0),r=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,r)):n.seek(i,r)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function qr(){return{name:"animejs",discover:()=>{try{let e=window.anime;if(!e||typeof e.running>"u")return;let t=e.running;if(!Array.isArray(t)||t.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of t)i.has(r)||n.push(r);window.__hfAnime=n}catch(e){L("runtime.adapters.animejs.site1",e)}},seek:e=>{let t=Math.max(0,(Number(e.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(t)}catch(r){L("runtime.adapters.animejs.site2",r)}},pause:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.pause=="function"&&t.pause()}catch(n){L("runtime.adapters.animejs.site3",n)}},play:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.play=="function"&&t.play()}catch(n){L("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function Kr(){return{name:"lottie",discover:()=>{try{let e=window.lottie;if(e&&typeof e.getRegisteredAnimations=="function"){let t=e.getRegisteredAnimations();if(Array.isArray(t)&&t.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of t)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(e){L("runtime.adapters.lottie.site1",e)}},seek:e=>{let t=Math.max(0,Number(e.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if(fi(i))i.goToAndStop(t*1e3,!1);else if(mi(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=t*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,t/r*100);i.seek(o)}}}catch(r){L("runtime.adapters.lottie.site2",r)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(fi(t)||mi(t))&&t.pause()}catch(n){L("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let e=window.__hfLottie;if(!e||e.length===0)return null;let t=0,n=!1;for(let i of e){let r=null;try{r=ql(i)}catch(o){L("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,t=Math.max(t,r))}return n?t:null}}}function $r(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function ql(e){return fi(e)?$r(e.totalFrames,e.frameRate):mi(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:$r(e.totalFrames,e.frameRate):null}function fi(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function mi(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var pi=-1;function gn(e){if(e!==pi){pi=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.site1",t)}}}function Jr(e){pi=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.force",t)}}function Yr(){let e=null,t=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let c=window.THREE?.DefaultLoadingManager;return!c||typeof c!="object"||typeof c.itemsLoaded!="number"||typeof c.itemsTotal!="number"?null:c},l=u=>{o||u.itemsTotal<=u.itemsLoaded||(o=new Promise(c=>{u.onLoad=function(){try{r?.call(this)}finally{o=null,u.onLoad=r??null,c()}}}))},a=u=>{n!==u&&(n=u,i=u.onStart??null,r=u.onLoad??null,u.onStart=function(c,m,f){try{i?.call(this,c,m,f)}finally{l(u)}})};return{name:"three",discover:()=>{let u=s();u&&(a(u),l(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,gn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let u=s();return!u||u.itemsTotal<=u.itemsLoaded?null:(o||l(u),o)}}}function He(e){let t=null,n=new WeakSet;return{name:e.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=e.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:t||(t=Promise.allSettled(r.map(o=>e.waitFor(o).then(()=>{n.add(o)}))).then(()=>{t=null}),t)}}}function Xr(){return He({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMapbox;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function Qr(){return He({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfLeaflet;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>e.whenReady(t))})}function Zr(){return He({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfGoogleMaps;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{let n=e.addListener("tilesloaded",()=>{n.remove(),t()})})})}function eo(){return He({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMaplibre;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function to(){return He({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}function no(){let e=null,t=0;return{name:"typegpu",discover:()=>{},seek:n=>{e=Math.max(0,Number(n.time)||0),t=e,window.__hfTypegpuTime=e,gn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0}}}function io(e){let t=e.nextElementSibling;if(t instanceof HTMLImageElement&&t.classList.contains("__render_frame__")&&t.complete&&t.naturalWidth>0)return t;if(e.id){let n=document.getElementById(`__render_frame_${e.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function ro(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=io(n.source);if(o)return t.call(this,{...n,source:o},i,r)}return t.call(this,n,i,r)}}function oo(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let i=n?.prototype;if(i)for(let r of t){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...l){let a=l.length-1,u=l[a];if(u instanceof HTMLVideoElement){let c=io(u);c&&(l[a]=c)}return o.apply(this,l)};s.__hfVideoPatched=!0,i[r]=s}}}function so(){let e=!1,t=0,n=!1,i,r,o,s=new Set,l=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},u=g=>{let A=Number(g.currentTime);return Number.isFinite(A)&&A>0?A:0},c=(g,A)=>A<=0?g:g>=A?Math.max(0,g-A):g,m=(g,A)=>{let _=l.get(g);if(_)return _;let N={compositionTimeMs:A,animationTimeMs:e?c(u(g),A):u(g)};return l.set(g,N),N},f=(g,A)=>{if(!s.has(g)){s.add(g);let _=()=>{s.delete(g)};try{g.addEventListener("finish",_,{once:!0}),g.addEventListener("cancel",_,{once:!0})}catch(N){L("runtime.adapters.waapi.site4",N)}}m(g,A)},x=(g,A)=>{for(let _ of g)f(_,A)},S=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let A=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:A,configurable:!0});let _=function(...N){let J=A.apply(this,N);return f(J,t),J};g.animate=_,i=g,r=A,o=_,n=!0}catch{}},b=g=>{let A=null;try{A=g.effect?.getComputedTiming?.()??null}catch(J){L("runtime.adapters.waapi.site4",J)}if(!A)return{};let _=Number(A.endTime);return Number.isFinite(_)?{endSeconds:(l.get(g)?.compositionTimeMs??0)/1e3+_/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,S(),x(a(),t)},seek:g=>{let A=Math.max(0,(Number(g.time)||0)*1e3);t=A,(!e||s.size>0)&&x(a(),e?A:0);for(let _ of s){let N=e?m(_,A):m(_,0),J=N.animationTimeMs+Math.max(0,A-N.compositionTimeMs);try{_.currentTime=J}catch(B){L("runtime.adapters.waapi.site1",B)}try{_.pause()}catch(B){L("runtime.adapters.waapi.site2",B)}}},pause:()=>{e||x(a(),t);for(let g of s)try{g.pause()}catch(A){L("runtime.adapters.waapi.site3",A)}},revert:()=>{if(s.clear(),l=new WeakMap,e=!1,t=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){L("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let A of a()){let _=b(A);_.endSeconds!=null&&(g=Math.max(g,_.endSeconds))}return g>0?g:null}}}function ao(e,t){if(e.length===0)return 1;let n=0;for(;n<e.length-2&&t>=e[n+1].time;)n+=1;let i=e[n],r=e[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(t-i.time)/o));return i.volume+(r.volume-i.volume)*s}function $l(e,t,n,i){let r=Number.parseFloat(e.dataset.start??"0")||0,o=Number.parseFloat(e.dataset.end??""),s=Number.parseFloat(e.dataset.duration??""),l=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(e.dataset.volume??""),u=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;e.volume=u;let c=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,l),x=[];for(let b=m;b<=f+1e-6;b+=c){let g=Math.min(f,b);t(g);let A=Number(e.volume);if(!Number.isFinite(A))continue;let _=Math.max(0,Math.min(1,A)),N=x.at(-1);if((!N||Math.abs(N.volume-_)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(_.toFixed(6))}),g===f)break}return x.some(b=>Math.abs(b.volume-u)>1e-4)?x:null}function lo(e,t,n,i){if(!t||!(e instanceof HTMLAudioElement)&&!(e instanceof HTMLVideoElement)||n<=0)return;let r=l=>{try{typeof t.totalTime=="function"?t.totalTime(l,!0):typeof t.seek=="function"&&t.seek(l,!0)}catch{}},o=typeof t.totalTime=="function"?Number(t.totalTime()):typeof t.seek=="function"?Number(t.seek()):0,s=$l(e,r,n,60);Number.isFinite(o)&&r(o),s&&i.set(e,s)}function kt(e){let t=e.defaultPlaybackRate;return Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1}function uo(e){let t=Array.from(document.querySelectorAll("video, audio")),n=e?.shouldIncludeElement?t.filter(s=>e.shouldIncludeElement?.(s)):t.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let l=e?.resolveStartSeconds?e.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(l))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,u=kt(s),c=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=e?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/u));let x=Number.isFinite(f)&&f>0?l+f:Number.POSITIVE_INFINITY,S=Number.parseFloat(s.dataset.volume??""),b={el:s,start:l,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(S)?S:null,playbackRate:u,loop:c,sourceDuration:m};i.push(b),s.tagName==="VIDEO"&&r.push(b),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var hi=new WeakMap,Lt=new WeakMap,gi=new WeakSet,mt=new WeakSet;function Kl(e){if(mt.has(e))return;mt.add(e);let t=()=>mt.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var Jl=3;function Yl(e){return e.error!=null||e.networkState===Jl}var xi=new WeakMap;function Rt(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function co(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(e.timeSeconds>=n.start&&e.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let T=n.sourceDuration-n.mediaStart;T>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%T)}let s=Rt(e.userVolume??1),l=Rt(n.volume??1),a=xi.get(i),u=Rt(i.volume),c;n.volumeKeyframes&&n.volumeKeyframes.length>0?c=Rt(ao(n.volumeKeyframes,r)):a===void 0||Math.abs(u-a)>1e-4?c=u:c=l;let m=Rt(c*s);i.volume=m,xi.set(i,m),e.onElementVolume?.(i,m),(t||e.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*e.playbackRate}catch(T){L("runtime.media.site1",T)}let f=.04,x=2,S=i.currentTime||0,b=Math.abs(S-r),g=r-S,A=hi.get(i);hi.set(i,g);let _=A===void 0,N=!_&&Math.abs(g-A)>.5,J=b>3,B=b>.5&&(_||N||J),M=i.tagName==="VIDEO"&&!i.paused,E=A!==void 0&&Math.abs(g-A)<.004,F=!1;if(!M&&!B&&!_&&E&&b>f){let T=(Lt.get(i)??0)+1;Lt.set(i,T),T>=x&&(F=!0,Lt.set(i,0))}else b<=f&&Lt.set(i,0);let v=!M&&e.forceSync&&b>.02;if(B||F||v){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(k){L("runtime.media.site2",k)}if(Math.abs(i.currentTime-r)>.5&&!gi.has(i)){gi.add(i),i.load();try{i.currentTime=r}catch(k){L("runtime.media.site3",k)}}}mt.delete(i)}e.playing&&i.paused&&!mt.has(i)&&!Yl(i)?(Kl(i),i.play().catch(T=>{mt.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!i.paused&&i.pause();continue}hi.delete(i),Lt.delete(i),gi.delete(i),xi.delete(i),i.paused||i.pause()}}var ze="data-color-grading",Dt="data-hf-color-grading-source-hidden",Sn="data-hf-authored-opacity",fo="__hf_color_grading_",Xl="rec709",xn={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},bn={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},yn={blur:0,pixelate:0},mo=Object.keys(xn),Ql=Object.keys(bn),po=Object.keys(yn);function Ae(e,t,n={},i={}){return{id:e,label:t,adjust:{...xn,...n},details:{...bn,...i},effects:{...yn}}}var Zl=[Ae("neutral","Neutral"),Ae("natural-lift","Natural Lift",{exposure:.04,contrast:.06,highlights:-.06,shadows:.08,saturation:.05}),Ae("fresh-pop","Fresh Pop",{exposure:.08,contrast:.12,whites:.06,shadows:.04,temperature:-.02,vibrance:.08,saturation:.16}),Ae("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Ae("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Ae("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Ae("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Ae("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Ae("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Ae("vintage-wash","Vintage Wash",{exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},{vignette:.18}),Ae("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Ae("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Ae("warm-clean","Warm Clean",{exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,vibrance:.04,saturation:.06}),Ae("cool-clean","Cool Clean",{contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}),Ae("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Ae("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Ae("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06})],eu=new Map(Zl.map(e=>[e.id,e])),tu=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,nu={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},vibrance:{min:-1,max:1},saturation:{min:-1,max:1}},iu={vignette:{min:0,max:1},vignetteMidpoint:{min:0,max:1},vignetteRoundness:{min:-1,max:1},vignetteFeather:{min:0,max:1},grain:{min:0,max:1},grainSize:{min:0,max:1},grainRoughness:{min:0,max:1}},ru={blur:{min:0,max:1},pixelate:{min:0,max:1}};function ut(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ou(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function ho(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function bi(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?ou(n,t.min,t.max):0}function su(e){if(e==null)return null;let t=String(e).trim();return t||null}function au(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!ut(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:ho(e.intensity,1)}}function lu(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return ut(n)?n:null}catch{return null}return{preset:t,intensity:1}}return ut(e)?e:null}function uu(e,t){let n=e.trim().match(tu);if(!n)return e;let i=n[1]??n[2]??"";return i&&Object.hasOwn(t,i)?t[i]:e}function yi(e,t){if(typeof e=="string"){let i=uu(e,t);if(i!==e)return i;let r=e.trim();if(!r.startsWith("{"))return e;try{return yi(JSON.parse(r),t)}catch{return e}}if(!ut(e))return e;let n={};for(let[i,r]of Object.entries(e))n[i]=yi(r,t);return n}function cu(e){return e?eu.get(e)??null:null}function Si(e){let t=lu(e);if(!t||t.enabled===!1)return null;let n=su(t.preset),i=cu(n),r=i?.adjust??xn,o=i?.details??bn,s=i?.effects??yn,l=ut(t.adjust)?t.adjust:{},a=ut(t.details)?t.details:{},u=ut(t.effects)?t.effects:{},c=mo.reduce((x,S)=>(x[S]=bi(l[S]??r[S],nu[S]),x),{...xn}),m=Ql.reduce((x,S)=>(x[S]=bi(a[S]??o[S],iu[S]),x),{...bn}),f=po.reduce((x,S)=>(x[S]=bi(u[S]??s[S],ru[S]),x),{...yn});return{enabled:!0,preset:n,intensity:ho(t.intensity,1),adjust:c,details:m,effects:f,lut:au(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():Xl}}function go(e,t){return Si(yi(e,t))}function It(e){return!e?.enabled||e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:mo.some(t=>Math.abs(e.adjust[t])>1e-4)||Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||po.some(t=>Math.abs(e.effects[t])>1e-4)}var du=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),fu=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function xo(e){let t=!1,n=null,i=null,r=null,o=null;function s(E,F){try{window.dispatchEvent(new CustomEvent(E,{detail:F}))}catch(v){L("runtime.picker.site1",v)}}function l(E){r=E,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:t,timestamp:Date.now()})}function a(E){o=E,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function u(E){let F=E.ownerDocument.defaultView;if(!F)return!1;let v=E;for(;v&&v!==document.body&&v!==document.documentElement;){let T=F.getComputedStyle(v);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let k=Number.parseFloat(T.opacity);if(Number.isFinite(k)&&k<=.01&&!v.hasAttribute(Dt))return!0;v=v.parentElement}return!1}function c(E){if(!E||E===document.body||E===document.documentElement)return!1;let F=E.tagName.toLowerCase();return!(F==="script"||F==="style"||F==="link"||F==="meta"||E.classList.contains("__hf-pick-highlight")||E.closest(du)||u(E))}function m(E){return!!E?.closest(fu)}function f(E){let F=E;if(F.id)return`#${F.id}`;let v=E.getAttribute("data-composition-id");if(v)return`[data-composition-id="${CSS.escape(v)}"]`;let T=E.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let k=E.getAttribute("data-track-index");if(k)return`[data-track-index="${CSS.escape(k)}"]`;let W=E.tagName.toLowerCase(),j=E.parentElement;if(!j)return W;let re=j.querySelectorAll(`:scope > ${W}`);if(re.length===1)return W;for(let P=0;P<re.length;P+=1)if(re[P]===E)return`${W}:nth-of-type(${P+1})`;return W}function x(E){let F=E.tagName.toLowerCase(),v=(E.textContent??"").trim().replace(/\\s+/g," "),T=(k,W)=>k.length>W?`${k.slice(0,W-1)}\\u2026`:k;return F==="h1"||F==="h2"||F==="h3"?"Heading":F==="p"||F==="span"||F==="div"?v.length>0?T(v,56):"Text":F==="img"?"Image":F==="video"?"Video":F==="audio"?"Audio":F==="svg"?"Shape":E.getAttribute("data-composition-src")?"Composition":F==="section"?"Section":`${F.charAt(0).toUpperCase()}${F.slice(1)}`}function S(E,F,v){let T=typeof v=="number"&&v>0?v:8,k=[];if(document.elementsFromPoint)k=document.elementsFromPoint(E,F);else if(document.elementFromPoint){let re=document.elementFromPoint(E,F);k=re?[re]:[]}if(m(k[0]??null))return[];let W={},j=[];for(let re=0;re<k.length;re+=1){let P=k[re];if(!c(P))continue;let se=`${P.tagName}::${P.id||""}::${re}`;if(!W[se]&&(W[se]=!0,j.push(P),j.length>=T))break}return j}function b(E){let F=E.getBoundingClientRect(),v={};for(let k=0;k<E.attributes.length;k+=1){let W=E.attributes[k];W.name.startsWith("data-")&&(v[W.name]=W.value)}return{id:E.id||null,tagName:E.tagName.toLowerCase(),selector:f(E),label:x(E),boundingBox:{x:F.left,y:F.top,width:F.width,height:F.height},textContent:E.textContent?E.textContent.trim().slice(0,200):null,src:E.getAttribute("src")||E.getAttribute("data-composition-src")||null,dataAttributes:v}}function g(E,F,v){return S(E,F,v).map(b)}function A(E){if(!t)return;let v=S(E.clientX,E.clientY,1)[0]??(E.target instanceof Element?E.target:null);if(!c(v)||n===v)return;n&&n.classList.remove("__hf-pick-highlight"),n=v,v.classList.add("__hf-pick-highlight");let T=b(v);l(T),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function _(E){if(!t)return;E.preventDefault(),E.stopPropagation(),E.stopImmediatePropagation();let F=g(E.clientX,E.clientY,8);F.length!==0&&(l(F[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:F,selectedIndex:0,point:{x:E.clientX,y:E.clientY}}))}function N(E){E.key==="Escape"&&(B(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function J(){t||(t=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",A,!0),document.addEventListener("click",_,!0),document.addEventListener("keydown",N,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function B(){t&&(t=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",A,!0),document.removeEventListener("click",_,!0),document.removeEventListener("keydown",N,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function M(){window.__HF_PICKER_API={enable:J,disable:B,isActive:()=>t,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(E,F,v)=>Number.isFinite(E)&&Number.isFinite(F)?g(E,F,v):[],pickAtPoint:(E,F,v)=>{if(!Number.isFinite(E)||!Number.isFinite(F))return null;let T=g(E,F,8);if(!T.length)return null;let k=Math.max(0,Math.min(T.length-1,Number(v??0))),W=T[k]??null;return W?(a(W),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:W}),B(),W):null},pickManyAtPoint:(E,F,v)=>{if(!Number.isFinite(E)||!Number.isFinite(F))return[];let T=g(E,F,8);if(!T.length)return[];let k=[],W=Array.isArray(v)?v:[0];for(let j of W){let re=Math.max(0,Math.min(T.length-1,Math.floor(Number(j)))),P=T[re];if(!P)continue;k.some(Ee=>Ee.selector===P.selector&&Ee.tagName===P.tagName)||k.push(P)}return k.length?(a(k[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:k}),B(),k):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:J,disablePickMode:B,installPickerApi:M}}var mu=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function pt(e,t){let n=Number.isFinite(t)&&t>0?t:30,i=Number.isFinite(e)&&e>0?e:0;return Math.floor(i*n+1e-9)/n}function bo(e,t,n=mu){for(let i of n){let r=t.getPropertyValue(i);r&&e.setProperty(i,r)}}function Pt(e,t,n){let i=e?.[t];return typeof i=="function"?Number(i.call(e))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&L("runtime.player.nonConformantNum",{prop:t,actual:typeof i}),n)}function ke(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&L("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function Ot(e,t,n){if(e){for(let i of Object.values(e))if(!(!i||i===t))try{n(i)}catch(r){L("runtime.player.site1",r)}}}function yo(e,t,n,i){let r=pt(t,n),o=i?.suppressEvents===!0;return ke(e,"pause"),typeof e.totalTime=="function"?e.totalTime(r,o):typeof e.seek=="function"&&e.seek(r,o),r}function pu(e,t,n,i,r){let o=[];Ot(e,t,s=>{ke(s,"play"),o.push(s)});try{return yo(t,n,i,r)}finally{for(let s of o)try{ke(s,"pause")}catch(l){L("runtime.player.site2",l)}}}function hu(e,t){Ot(e,t,n=>{ke(n,"play")})}function So(e){return{_timeline:null,play:()=>{let t=e.getTimeline();if(!t||e.getIsPlaying())return;let n=Math.max(0,Number(e.getSafeDuration?.()??Pt(t,"duration",0))||0);n>0&&Math.max(0,Pt(t,"time",0))>=n&&(ke(t,"pause"),typeof t.seek=="function"&&t.seek(0,!1),e.onDeterministicSeek(0),e.setIsPlaying(!1),e.onSyncMedia(0,!1),e.onRenderFrameSeek(0)),typeof t.timeScale=="function"&&t.timeScale(e.getPlaybackRate()),ke(t,"play"),Ot(e.getTimelineRegistry?.(),t,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),ke(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let t=e.getTimeline();if(!t)return;ke(t,"pause"),Ot(e.getTimelineRegistry?.(),t,i=>{ke(i,"pause")});let n=Math.max(0,Pt(t,"time",0));e.onDeterministicSeek(n),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(n,!1),e.onRenderFrameSeek(n),e.onStatePost(!0)},seek:(t,n)=>{let i=e.getTimeline();if(!i)return;let r=Math.max(0,Number(t)||0),o=e.getIsPlaying(),s=pu(e.getTimelineRegistry?.(),i,r,e.getCanonicalFps());e.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),ke(i,"play"),Ot(e.getTimelineRegistry?.(),i,l=>{typeof l.timeScale=="function"&&l.timeScale(e.getPlaybackRate()),ke(l,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(s,!0)):(e.setIsPlaying(!1),e.onSyncMedia(s,!1)),e.onRenderFrameSeek(s),e.onStatePost(!0)},renderSeek:(t,n)=>{let i=e.getTimeline(),r=e.getCanonicalFps(),o=i?(hu(e.getTimelineRegistry?.(),i),yo(i,t,r,n)):pt(Math.max(0,Number(t)||0),r);e.onDeterministicSeek(o,n),e.setIsPlaying(!1),e.onSyncMedia(o,!1),e.onRenderFrameSeek(o),e.onStatePost(!0)},getTime:()=>Pt(e.getTimeline(),"time",0),getDuration:()=>Pt(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:t=>e.setPlaybackRate(t),getPlaybackRate:()=>e.getPlaybackRate()}}function Eo(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var gu=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function Ai(e){return e.id||e.getAttribute("data-hf-id")||null}function Ei(e){if(e==null)return null;let t=Number(e);return Number.isFinite(t)?t:null}function xu(e,t){let n=e.getAttribute("data-composition-id");if(!n)return null;let i=Number(t[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function bu(e){if(!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration))return null;let t=Ei(e.getAttribute("data-playback-start"))??Ei(e.getAttribute("data-media-start"))??0;return e.duration>t?e.duration-t:null}function yu(e,t,n,i){let r=Ei(e.getAttribute("data-duration"));return r!=null&&r>0?r:xu(e,t)??bu(e)??Math.max(0,n-i)}function Su(e){for(let[t,n]of e){let i=t.parentElement;for(;i;){let r=e.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Ao(e){let{startResolver:t,timelineRegistry:n,rootDuration:i}=e,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||gu.has(l.tagName))continue;let a=t.resolveStartForElement(l,0);if(yu(l,n,i,a)<=0)continue;let u={id:Ai(l)??`__clip-${s++}`,element:l,parentId:null,children:[]};r.set(l,u)}return Su(r),{roots:Array.from(r.values()).filter(l=>l.parentId===null)}}function Ke(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function wo(e){let t=(e??"").trim();if(!t)return null;let n=Ke(t);if(n!=null)return{kind:"absolute",value:n};let i=t.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",l=Number.parseFloat(s),a=Number.isFinite(l)?Math.max(0,l):0,u=o==="-"?-a:a;return{kind:"reference",refId:r,offset:u}}var Eu="data-hf-authored-duration",Au="data-hf-authored-end";function wu(e){return Ke(e.getAttribute("data-duration"))}function Cu(e){return Ke(e.getAttribute("data-end"))}function Fu(e){return Ke(e.getAttribute(Eu))}function _u(e){return Ke(e.getAttribute(Au))}function Je(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=c=>{let m=document.getElementById(c);return m||(document.querySelector(`[data-composition-id="${CSS.escape(c)}"]`)??null)},l=c=>{let m=r.get(c);if(m!==void 0)return m;let f=null,x=wu(c)??(n?Fu(c):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let S=Cu(c)??(n?_u(c):null);if(S!=null){let b=u(c,0),g=S-b;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&c instanceof HTMLMediaElement){let S=Ke(c.getAttribute("data-playback-start"))??Ke(c.getAttribute("data-media-start"))??0;Number.isFinite(c.duration)&&c.duration>S&&(f=(c.duration-S)/kt(c))}if(f==null||f<=0){let S=c.getAttribute("data-composition-id");if(S){let b=t[S]??null;if(b&&typeof b.duration=="function")try{let g=Number(b.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){L("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(c,f),f):(r.set(c,null),null)},a=(c,m)=>{if(c.hasAttribute("data-composition-id")){let x=c.parentElement?.closest("[data-composition-id]");return x?u(x,m):0}let f=c.closest("[data-composition-id]");return f?u(f,m):0},u=(c,m)=>{let f=i.get(c);if(f!==void 0)return f??m;if(o.has(c))return m;o.add(c);try{let x=wo(c.getAttribute("data-start"));if(!x){if(c.hasAttribute("data-composition-id")){let _=c.parentElement;if(_&&(_.hasAttribute("data-composition-src")||_.hasAttribute("data-composition-id")||_.hasAttribute("data-composition-file"))){let N=u(_,m);return i.set(c,N),N}}return i.set(c,m),m}if(x.kind==="absolute"){let _=Math.max(0,x.value),N=Math.max(0,a(c,m)+_);return i.set(c,N),N}let S=s(x.refId);if(!S)return i.set(c,m),m;let b=u(S,0),g=l(S);if(g==null||g<=0){let _=Math.max(0,b+x.offset);return i.set(c,_),_}let A=Math.max(0,b+g+x.offset);return i.set(c,A),A}finally{o.delete(c)}};return{resolveStartForElement:(c,m=0)=>u(c,Math.max(0,m)),resolveDurationForElement:c=>l(c)}}function wi(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}var vu="data-hf-authored-duration",Mu="data-hf-authored-end";function Fe(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function Ci(e){return Fe(e.getAttribute("data-duration"))??Fe(e.getAttribute(vu))}function Co(e){return Fe(e.getAttribute("data-end"))??Fe(e.getAttribute(Mu))}function Fi(e){try{let t=e.style?.zIndex;if(t&&t!=="auto"){let n=parseInt(t,10);if(Number.isFinite(n))return n}return 0}catch{return 0}}function _i(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}var Fo={composition:0,video:1,image:2,element:3,audio:4};function Tu(e){if(e.length===0)return;let t=new Map;for(let s of e){let l=t.get(s.track)??new Set;l.add(s.kind),t.set(s.track,l)}if(!Array.from(t.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...t.keys()].sort((s,l)=>s-l);for(let s of o){let l=t.get(s);if(l.size===1)r.set(`${s}:${[...l][0]}`,i++);else{let a=[...l].sort((u,c)=>(Fo[u]??99)-(Fo[c]??99));for(let u of a)r.set(`${s}:${u}`,i++)}}for(let s of e){let l=`${s.track}:${s.kind}`,a=r.get(l);a!=null&&(s.track=a)}}function Ht(e){let t=String(e??"").trim();if(!t)return null;let n=t.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(t,document.baseURI).toString()}catch{return t}}function _o(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return Ht(t);let n=e.getAttribute("data-composition-src");if(n)return Ht(n);let i=e.querySelector("img[src], video[src], audio[src], source[src]");return i?Ht(i.getAttribute("src")):null}function Nu(e){let t=e.className;return typeof t!="string"?null:t.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function Lu(e){if(!e)return null;try{return new URL(e,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return e.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Ru(e){let t=e.textContent?.replace(/\\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function Bt(e){let t=e.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return t?t.replace(/\\b\\w/g,n=>n.toUpperCase()):e}function ku(e,t,n){let i=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=e.getAttribute("data-composition-id");if(r)return Bt(r);let o=e.id;if(o)return Bt(o);let s=Nu(e);if(s)return Bt(s);let l=Lu(_o(e));if(l)return Bt(l);let a=Ru(e);return a||`${Bt(t)} ${n+1}`}function vo(e){let n=window.__timelines??{},i=Je({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=O=>{if(!O)return null;let D=n[O]??null;if(!D||typeof D.duration!="function")return null;try{let G=Number(D.duration());return Number.isFinite(G)&&G>0?G:null}catch{return null}},o=O=>{let D=Fe(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let G=Fe(O.getAttribute("data-playback-start"))??Fe(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>G?Math.max(0,(O.duration-G)/kt(O)):null},s=()=>{let O=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(O.length===0)return null;let D=0;for(let G of O){let Q=G.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(G,0):Math.max(0,Number(G.getAttribute("data-start")??0)||0);if(!Number.isFinite(Q))continue;let ae=o(G);ae==null||ae<=0||(D=Math.max(D,Math.max(0,Q)+ae))}return D>0?D:null},l=(O,D)=>{let G=[],Q=null,ae=null,$=null,z=O.parentElement;for(;z;){let Y=z.getAttribute("data-composition-id");Y&&(G.push(Y),!$&&z!==D&&($=Y),Q==null&&(Q=i.resolveStartForElement(z,0)),ae==null&&(ae=Fe(z.getAttribute("data-duration"))??r(Y)??null)),z=z.parentElement}return{parentCompositionId:$,compositionAncestors:G.reverse(),inheritedStart:Q,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),u=Array.from(document.querySelectorAll("[data-composition-id]")),c=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,S=r(c),b=Ci(a??document.body),g=_i(...u.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),G=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||G==null||G<=0?null:Math.max(0,D)+G})),A=g!=null?Math.max(0,g-Math.max(0,m)):null,_=typeof S=="number"&&Number.isFinite(S)&&S>0?S:null,N=typeof b=="number"&&Number.isFinite(b)&&b>0?b:null,J=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,B=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,M=_i(J,B),E=_!=null&&M!=null&&_>M+1,v=N??(E?M:_i(_,J,B))??null,k=(v!=null?m+v:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),W=(O,D)=>!Number.isFinite(D)||D<=0?0:k==null||!Number.isFinite(k)?D:!Number.isFinite(O)||O>=k?0:Math.max(0,Math.min(D,k-O)),j=[],re=[],P=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),se=0;for(let O=0;O<P.length;O+=1){let D=P[O];if(D===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(D.tagName))continue;let G=l(D,a),Q=i.resolveStartForElement(D,G.inheritedStart??0),ae=D.getAttribute("data-composition-id"),$=Ci(D);if(($==null||$<=0)&&ae&&ae!==c&&($=r(ae)),($==null||$<=0)&&D instanceof HTMLMediaElement){let ve=Fe(D.getAttribute("data-playback-start"))??Fe(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&($=Math.max(0,D.duration-ve))}if($==null||$<=0){let ve=G.inheritedDuration;if(ve!=null&&ve>0){let Ue=(G.inheritedStart??0)+ve;$=Math.max(0,Ue-Q)}}if($==null||$<=0||($=W(Q,$),$<=0))continue;let z=Q+$;se=Math.max(se,z);let Y=D.tagName.toLowerCase(),Oe=ae&&ae!==c?"composition":Y==="video"?"video":Y==="audio"?"audio":Y==="img"?"image":"element";j.push({id:Ai(D)??ae??null,label:ku(D,Oe,j.length),start:Q,duration:$,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,zIndex:Fi(D),stackingContextId:G.parentCompositionId??c,kind:Oe,tagName:Y,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:G.compositionAncestors,parentCompositionId:G.parentCompositionId,nodePath:null,compositionSrc:Ht(D.getAttribute("data-composition-src")),assetUrl:_o(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:Fe(D.getAttribute("data-timeline-priority"))})}let Ee=new Set(j.map(O=>O.id)),H=a?.getAttribute("data-composition-id")??null,U=H?n[H]??null:null;if(U&&a){let O=U;if(typeof O.getChildren=="function")try{let D=O.getChildren(!0,!0,!1)??[],G=new Map;for(let $ of a.children){let z=$;if(!z.id)continue;let Y=z.tagName.toLowerCase();Y==="script"||Y==="style"||Y==="link"||G.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=$=>{let z=$;for(;z;){if(G.has(z))return z;if(z===a)return null;z=z.parentElement}return null};for(let $ of D){if(typeof $.targets!="function"||typeof $.startTime!="function"||typeof $.duration!="function")continue;let z=$.startTime(),Y=$.parent;for(;Y&&Y!==U&&typeof Y.startTime=="function";)z+=Y.startTime(),Y=Y.parent;let Oe=z+$.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Oe)))for(let ve of $.targets()){if(!(ve instanceof Element))continue;let wt=Q(ve);if(!wt)continue;let Ue=G.get(wt);Ue&&(Ue.start=Math.min(Ue.start,z),Ue.end=Math.max(Ue.end,Oe))}}let ae=j.length>0?Math.max(...j.map($=>$.track))+1:0;for(let[$,z]of G){if(z.start===1/0||z.end===-1/0)continue;let Y=$;if(Ee.has(Y.id))continue;let Oe=Math.max(0,z.end-z.start);if(Oe<=0)continue;let ve=W(z.start,Oe);ve<=0||(se=Math.max(se,z.start+ve),j.push({id:Y.id,label:Y.getAttribute("data-timeline-label")??Y.getAttribute("data-label")??Y.getAttribute("aria-label")??Y.id,start:z.start,duration:ve,track:Number.parseInt(Y.getAttribute("data-track-index")??Y.getAttribute("data-track")??"",10)||ae,zIndex:Fi(Y),stackingContextId:H,kind:"element",tagName:Y.tagName.toLowerCase(),compositionId:Y.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Y.getAttribute("data-timeline-role"),timelineLabel:Y.getAttribute("data-timeline-label"),timelineGroup:Y.getAttribute("data-timeline-group"),timelinePriority:Fe(Y.getAttribute("data-timeline-priority"))}),Ee.add(Y.id))}}catch(D){L("runtime.timeline.site1",D)}}if(a&&v!=null&&v>0){let O=j.length>0?Math.max(...j.map(D=>D.track))+1:0;for(let D of a.children){let G=D;if(!G.id||Ee.has(G.id))continue;let Q=G.getAttribute("data-timeline-role");if(Q!=="overlay"&&Q!=="persistent-overlay")continue;let ae=G.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(G).display==="none")continue;let z=W(0,v);z<=0||(se=Math.max(se,z),j.push({id:G.id,label:G.getAttribute("data-timeline-label")??G.getAttribute("data-label")??G.getAttribute("aria-label")??G.id,start:0,duration:z,track:Number.parseInt(G.getAttribute("data-track-index")??G.getAttribute("data-track")??"",10)||O,zIndex:Fi(G),stackingContextId:H,kind:"element",tagName:ae,compositionId:G.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Q,timelineLabel:G.getAttribute("data-timeline-label"),timelineGroup:G.getAttribute("data-timeline-group"),timelinePriority:Fe(G.getAttribute("data-timeline-priority"))}),Ee.add(G.id))}}Tu(j);for(let O of u){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!wi(D))continue;let G=i.resolveStartForElement(O,0),Q=Ci(O);if((Q==null||Q<=0)&&Co(O)!=null){let Y=Co(O);Q=Math.max(0,Y-G)}let ae=r(D),$=Q&&Q>0?Q:ae;if($==null||$<=0)continue;let z=W(G,$);z<=0||re.push({id:D,label:O.getAttribute("data-label")??D,start:G,duration:z,thumbnailUrl:Ht(O.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,se||1,v??0);return{source:"hf-preview",type:"timeline",durationInFrames:E&&N==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,e.canonicalFps))),clips:j,scenes:re,compositionWidth:Fe(a?.getAttribute("data-width"))??1920,compositionHeight:Fe(a?.getAttribute("data-height"))??1080}}var ce=Gl(Qs(),1),Zs=ce.default,Gh=ce.default.stringify,Wh=ce.default.fromJSON,Uh=ce.default.plugin,Vh=ce.default.parse,zh=ce.default.list,jh=ce.default.document,qh=ce.default.comment,$h=ce.default.atRule,Kh=ce.default.rule,Jh=ce.default.decl,Yh=ce.default.root,Xh=ce.default.CssSyntaxError,Qh=ce.default.Declaration,Zh=ce.default.Container,e0=ce.default.Processor,t0=ce.default.Document,n0=ce.default.Comment,i0=ce.default.Warning,r0=ce.default.AtRule,o0=ce.default.Result,s0=ce.default.Input,a0=ce.default.Rule,l0=ce.default.Root,u0=ce.default.Node;var Qi="data-hf-authored-id",ea="data-hf-inner-root";function Zi(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function er(e){return e.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function td(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function na(e){let t=e.trim();return t?Array.from(new Set([t,td(t)])).filter(Boolean):[]}function nd(e){return!!e&&/[\\w-]/.test(e)}function id(e,t,n){let i=na(t).sort((l,a)=>a.length-l.length);if(i.length===0)return e;let r="",o=0,s=null;for(let l=0;l<e.length;l+=1){let a=e[l],u=l>0?e[l-1]:"";if(s){r+=a,a===s&&u!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let c=i.find(m=>e.startsWith(m,l+1));if(c){let m=e[l+1+c.length];if(!nd(m)){r+=n,l+=c.length;continue}}}r+=a}return r}function rd(e,t){let n=t?.trim();return n?id(e,n,`[${Qi}="${er(n)}"]`):e}function ta(e){return`${e}:not(:has([${ea}])), ${e} > [${ea}]`}function od(e,t,n,i,r,o){let s=rd(e,i),l=sd(s,t,n),a=l.trim();if(!a||a==="*")return e;if(/^(html|body|:root)$/i.test(a))return o?ta(t):e;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Zi(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(a))return a.replace(u,"").trim()===""?ta(t):l.replace(u,t);let c=l.match(/^\\s*/)?.[0]??"",m=l.match(/\\s*$/)?.[0]??"";if(r){let f=i?`[${Qi}="${er(i)}"]`:null;if(f&&a.startsWith(f)){let x=a.slice(f.length);return`${c}${t}${f}${x}${m}`}}return`${c}${t} ${a}${m}`}function sd(e,t,n){let i=Zi(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return e.replace(new RegExp(`${r}(?:${o})+`,"g"),t).replace(new RegExp(`(?:${o})+${r}`,"g"),t)}var ad=new Set(["keyframes","-webkit-keyframes","font-face"]);function ld(e){return e?.type==="atrule"}function ud(e){let t=e.parent;for(;t;){if(ld(t)&&ad.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function ia(e,t,n,i,r){let o=t.trim();if(!e||!o)return e;let s=n||`[data-composition-id="${er(o)}"]`,l=Zs.parse(e);return l.walkRules(a=>{ud(a)||(a.selectors=a.selectors.map(u=>od(u,s,o,i,r?.compoundAuthoredRoot,r?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function ra(e,t,n="[HyperFrames] composition script error:",i,r=t,o){let s=JSON.stringify(t),l=JSON.stringify(r),a=JSON.stringify(n),u=Zi(t),c=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${u}"|\'${u}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),S=JSON.stringify(na(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${c};\n var __hfAuthoredRootAttr = ${JSON.stringify(Qi)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${S};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n // Inside a sub-composition, __hyperframes is passed as a bare script\n // param bound to the SCOPED variant (per-comp getVariables). But\n // authors routinely write the documented window.__hyperframes.\n // getVariables() form, which would otherwise fall through to the host\n // page\'s base __hyperframes and return the WRONG (or empty) variables\n // for this instance. Route it to the scoped variant too so both\n // spellings resolve to this composition\'s own variables.\n // (__hfScopedHyperframes is a hoisted var assigned below, before any\n // sub-comp script -- the only code that reads this -- runs.)\n if (prop === "__hyperframes") return __hfScopedHyperframes;\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${e.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}var cd=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function oa(e){let t=e.getAttribute("id")?.trim();for(let n of cd)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var dd=8e3,fd=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,md=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,pd=["src","href"];function hd(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function aa(e,t){if(!t)return e;let n=e.trim();if(hd(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function la(e,t){return!t||!e?e:e.replace(md,(n,i,r)=>{let o=aa(r||"",t);return o===r?n:`url(${i||""}${o}${i||""})`})}function gd(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let i of pd){let r=n.getAttribute(i);if(r==null)continue;let o=aa(r,t);o!==r&&n.setAttribute(i,o)}}function xd(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=la(i,t);r!==i&&n.setAttribute("style",r)}}function bd(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let i=n.textContent||"",r=la(i,t);r!==i&&(n.textContent=r)}}function ua(e,t){if(t){gd(e,t),xd(e,t),bd(e,t);for(let n of Array.from(e.querySelectorAll("template")))ua(n.content,t)}}function yd(e,t){return`${e}__hf${t}`}var Sd=e=>new Promise(t=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),t({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};e.addEventListener("load",()=>o("load"),{once:!0}),e.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),dd)});function tr(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function Ed(e){let t=document.importNode(e,!0);oa(t);let n=t.getAttribute("data-width"),i=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=i?`${i}px`:"100%",t}function sa(e,t){let n=e.trim();if(!n)return e;try{return fd.test(n)?new URL(n,document.baseURI).toString():t?new URL(n,t).toString():new URL(n,document.baseURI).toString()}catch{return e}}function Pn(e){let t=(e.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(e.getAttribute("data-hf-original-composition-id")||t||"").trim()||null,runtimeCompositionId:t}}function Ad(e){let t=new Map;for(let n of e){let i=Pn(n).authoredCompositionId||"";i&&t.set(i,(t.get(i)||0)+1)}return t}function ca(e){let t=Pn(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function wd(e){return!!e.querySelector(\'[data-hf-inner-root="true"]\')}function Cd(e){return e.hasAttribute("data-composition-src")?!0:ca(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:wd(e):!1}function ir(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:ca(t))}function da(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(ir().map(n=>Pn(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function fa(e,t=Ad(e)){let n=new Map,i=new Map;for(let r of e){let{authoredCompositionId:o,runtimeCompositionId:s}=Pn(r),l=Cd(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(t.get(o)||0)>1,u=s||o;if(l){let c=a?(n.get(o)||0)+1:0;a&&n.set(o,c),u=a?yd(o,c):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",u),s&&s!==u&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:u})}return i}async function nr(e){let t=null;e.authoredCompositionId&&(t=Array.from(e.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===e.authoredCompositionId)??null);let n=t??e.sourceNode,i=t?.getAttribute("data-composition-id")?.trim()||e.authoredCompositionId||null,r=e.runtimeCompositionId||i||null,o=t?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(e.headLinks)for(let f of e.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}let l=f=>{for(let x of f){let S=x.cloneNode(!0);S instanceof HTMLStyleElement&&(i&&(S.textContent=ia(S.textContent||"",i,s,o,{scopeRootSelectors:!0})),document.head.appendChild(S),e.injectedStyles.push(S))}};e.headStyles&&l(e.headStyles),l(Array.from(n.querySelectorAll("style")));let a=[];if(e.headScripts)for(let f of e.headScripts){let x=f.getAttribute("type")?.trim()??"",S=f.getAttribute("src")?.trim()??"";if(S){let b=sa(S,e.compositionUrl);a.push({kind:"external",src:b,type:x})}else{let b=f.textContent?.trim()??"";b&&a.push({kind:"inline",content:b,type:x,scopeCompositionId:i})}}let u=Array.from(n.querySelectorAll("script")),c=[...a];for(let f of u){let x=f.getAttribute("type")?.trim()??"",S=f.getAttribute("src")?.trim()??"";if(S){let b=sa(S,e.compositionUrl);c.push({kind:"external",src:b,type:x})}else{let b=f.textContent?.trim()??"";b&&c.push({kind:"inline",content:b,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(t){let f=t.getAttribute("data-width"),x=t.getAttribute("data-height"),S=e.parseDimensionPx(f),b=e.parseDimensionPx(x);f&&e.host.setAttribute("data-width",f),x&&e.host.setAttribute("data-height",x),S&&e.host instanceof HTMLElement&&(e.host.style.width=S),b&&e.host instanceof HTMLElement&&(e.host.style.height=b),t.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked",""),e.host.appendChild(Ed(t))}else e.hasTemplate?e.host.appendChild(document.importNode(n,!0)):e.host.innerHTML=e.fallbackBodyInnerHtml;r&&Fd(e,n,r);for(let f of c){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=ra(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),e.injectedScripts.push(x),f.kind==="external"){let S=await Sd(x);S.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:S.status,elapsedMs:S.elapsedMs}})}}}async function ma(e){let t=ir();if(da(),t.length===0)return;let n=fa(t),i=t.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let l=document.querySelector(`template#${CSS.escape(s)}-template`);tr(r),await nr({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function pa(e){let t=ir();if(da(),t.length===0)return;let n=fa(t),i=t.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),l=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||l||null,u=null;try{u=new URL(o,document.baseURI)}catch{u=null}tr(r);try{let c=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(c){await nr({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),S=new DOMParser().parseFromString(f,"text/html");ua(S,u);let b=(l?S.querySelector(`template#${CSS.escape(l)}-template`):null)??S.querySelector("template"),g=b?b.content:S.body,A=b?void 0:Array.from(S.head.querySelectorAll("style")),_=b?void 0:Array.from(S.head.querySelectorAll("script")),N=b?void 0:Array.from(S.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await nr({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!b,fallbackBodyInnerHtml:S.body.innerHTML,compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,headStyles:A,headScripts:_,headLinks:N,declaredVariableDefaults:Nt(S.documentElement),onDiagnostic:e.onDiagnostic})}catch(c){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),tr(r)}}))}function Fd(e,t,n){let r={...e.declaredVariableDefaults??(t instanceof Element?Nt(t):{}),...Vr(e.host)};Wr(e.host),Object.keys(r).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=r,di(e.host,{...r,...hn()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function _d(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function vd(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&e.push(r)}return e}function Md(e){let t=e.parentElement;if(t?.dataset.captionWrapper==="true")return t;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",e.parentNode?.insertBefore(n,e),n.appendChild(e),n}function rr(){let e=window.gsap;e&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(t=>t.ok?t.json():null).then(t=>{if(!t||!Array.isArray(t)||t.length===0)return;let n=vd();for(let i of t){let r=null;if(i.wordId&&(r=_d(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=e.getTweensOf(r).filter(c=>c.vars.color!==void 0).sort((c,m)=>c.startTime()-m.startTime()),u=a.length>0?String(a[0].vars.color):"";for(let c of a)String(c.vars.color)===u?i.dimColor&&(c.vars.color=i.dimColor):i.activeColor&&(c.vars.color=i.activeColor);i.dimColor&&e.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&e.set(r,s),Object.keys(o).length>0){let l=Md(r);e.set(l,o)}}}).catch(()=>{})}var Ea="data-hf-edit-base-x",Aa="data-hf-edit-base-y",or="data-hf-edit-original-translate",On=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},Td=e=>{let t=[],n=0,i="";for(let r of e.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&t.push(i),i=""):i+=r;return i&&t.push(i),t},ha=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,sr=(e,t)=>ha.test(e)&&ha.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,Nd=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[i,r,o]=Td(e);if(i===void 0)return`${t} ${n}`;if(r===void 0)return`${sr(i,t)} ${n}`;let s=o===void 0?"":` ${o}`;return`${sr(i,t)} ${sr(r,n)}${s}`},Ld=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},Rd=e=>{let t=e.style.getPropertyValue("translate").trim();if(t)return t==="none"?"":t;try{let n=e.ownerDocument.defaultView,i=n?n.getComputedStyle(e).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},ga=new WeakMap;function kd(e,t){let n=ga.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){lt("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let i=On(e.getAttribute("data-x"))-On(e.getAttribute(Ea)),r=On(e.getAttribute("data-y"))-On(e.getAttribute(Aa));e.hasAttribute(or)||e.setAttribute(or,Rd(e)),n===void 0&&Ld(e);let o=e.getAttribute(or)??"",s=Nd(o,`${i}px`,`${r}px`);e.style.setProperty("translate",s),ga.set(e,e.style.getPropertyValue("translate"))}function Bn(e){let t=e.querySelectorAll(`[${Ea}], [${Aa}]`),n=e.defaultView?.HTMLElement,i=0;for(let r=0;r<t.length;r++){let o=t[r];(n?o instanceof n:typeof o.style?.setProperty=="function")&&(kd(o),i+=1)}return i}var xa="__hfPositionEditsSeekReapplyWrapped",ba=new WeakSet,ya=new WeakMap,Sa=new WeakMap;function wa(e){let t=e,n=()=>{try{Bn(t.document)}catch{}},i=m=>typeof m=="function"&&(ba.has(m)||!!m[xa]),r=m=>{ba.add(m);try{Object.defineProperty(m,xa,{value:!0})}catch{}},o=m=>{if(typeof m!="function"||i(m))return m;let f=function(...x){let S=m.apply(this,x);return n(),S};return r(f),f},s=(m,f)=>{let x=ya.get(m);if(x?.has(f))return!0;let S=Object.getOwnPropertyDescriptor(m,f);if(S?.configurable===!1){let A=m[f];return typeof A=="function"&&(m[f]=o(A),n()),!1}let b=m[f],g=S?.set;return Object.defineProperty(m,f,{configurable:!0,enumerable:S?.enumerable??!0,get:()=>b,set:A=>{b=o(A),g?.call(m,A)}}),b=o(b),x??(x=new Set),x.add(f),ya.set(m,x),n(),!0},l=(m,f)=>{let x=Sa.get(t),S=Object.getOwnPropertyDescriptor(t,m);if(!x?.has(m)){if(S?.configurable===!1){let A=t[m];return A?s(A,f):!1}let g=t[m];Object.defineProperty(t,m,{configurable:!0,enumerable:S?.enumerable??!0,get:()=>g,set:A=>{g=A,g&&s(g,f)}}),x??(x=new Set),x.add(m),Sa.set(t,x)}let b=t[m];return b?s(b,f):!1},a=()=>{let m=l("__hf","seek"),f=l("__player","renderSeek");return m&&f};if(a())return;let u=120,c=t.setInterval(()=>{if(a()){t.clearInterval(c);return}u-=1,u<=0&&t.clearInterval(c)},50)}function Hn(e){let t=window,i=e.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?t.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=t.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:t.__hfVariables??{}}function Gn(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Ca=new Set(["img","video","audio","source"]);function Dd(e){if(typeof e=="string"&&e.length>0)return e;if(e!==null&&typeof e=="object"){let t=e.url;if(typeof t=="string"&&t.length>0)return t}return null}function Id(e){let t=e.replace(/[\\u0000-\\u0020]/g,""),n=/^([a-z][a-z0-9+.-]*):/i.exec(t);if(!n)return!0;let i=n[1].toLowerCase();return i==="https"||i==="http"||i==="blob"?!0:i==="data"?/^data:image\\//i.test(t):!1}function Pd(e){return e.replace(/[;{}<>\\r\\n]/g,"")}function Od(e){if(Gn(e))return String(e);if(e!==null&&typeof e=="object"){let t=e.name;if(typeof t=="string"&&t.length>0)return t}return null}function ar(e,t){let n=e.closest("[data-composition-id]"),i=t.get(n);if(i)return i;let r=Hn(e);return t.set(n,r),r}function Bd(e,t){if(e.childElementCount===0){e.textContent=t;return}let n=!1;for(let i of Array.from(e.childNodes))i.nodeType===Node.TEXT_NODE&&(i.nodeValue=n?"":t,n=!0);n||e.insertBefore(e.ownerDocument.createTextNode(t),e.firstChild)}function Hd(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function Gd(e,t){let n=new Set,i=Hd(e);i&&n.add(i);for(let r of Array.from(e.querySelectorAll("[data-composition-id]")))n.add(r);for(let r of n){let o=ar(r,t);for(let[s,l]of Object.entries(o)){let a=Od(l);a!==null&&r instanceof HTMLElement&&r.style.setProperty(`--${s}`,Pd(a))}}}function lr(e){let t=new Map;Gd(e,t);for(let n of Array.from(e.querySelectorAll("[data-var-src]"))){let i=n.getAttribute("data-var-src")?.trim();if(!i)continue;if(!Ca.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(Ca).join("/")}.`);continue}let r=Dd(ar(n,t)[i]);if(r!==null){if(!Id(r)){console.warn(`[hyperframes] Ignoring data-var-src="${i}": unsafe URL protocol.`);continue}n.setAttribute("src",r)}}for(let n of Array.from(e.querySelectorAll("[data-var-text]"))){let i=n.getAttribute("data-var-text")?.trim();if(!i)continue;let r=ar(n,t)[i];Gn(r)&&Bd(n,String(r))}}var Se=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);be(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},Wd=[0,0,0],Ud=[1,1,1],cr=64;function Vd(e){let t=!1;for(let n=0;n<e.length;n++){let i=e[n];if(i===\'"\'&&(t=!t),i==="#"&&!t)return e.slice(0,n)}return e}function et(e,t){let n=Number(e);if(!Number.isFinite(n))throw new Se(`Invalid number "${e}"`,t);return n}function Fa(e,t,n){if(e.length!==3)throw new Se(`${t} expects three numbers`,n);return[et(e[0],n),et(e[1],n),et(e[2],n)]}function _a(e,t,n){if(!e)throw new Se(`${t} expects a size`,n);let i=Number(e);if(!Number.isInteger(i)||i<2)throw new Se(`${t} must be an integer greater than 1`,n);return i}function zd(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new Se("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function jd(e){let t=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(e);if(t)return t[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(e);return n&&(n[1]??"").trim()||null}function qd(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function va(e,t={}){let n=t.maxSize??cr,i=null,r=Wd,o=Ud,s=null,l=null,a=[],u=e.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<u.length;m++){let f=m+1,x=Vd(u[m]??"").trim();if(!x)continue;let S=x.split(/\\s+/),b=(S[0]??"").toUpperCase(),g=S.slice(1);if(b==="TITLE"){i=jd(x);continue}if(b==="DOMAIN_MIN"){r=Fa(g,b,f);continue}if(b==="DOMAIN_MAX"){o=Fa(g,b,f);continue}if(b==="LUT_3D_INPUT_RANGE"){if(g.length!==2)throw new Se(`${b} expects two numbers`,f);let A=et(g[0],f),_=et(g[1],f);if(_<=A)throw new Se("LUT_3D_INPUT_RANGE max must exceed min",f);r=[A,A,A],o=[_,_,_];continue}if(b==="LUT_1D_SIZE"){s=_a(g[0],b,f);continue}if(b==="LUT_3D_SIZE"){if(l=_a(g[0],b,f),l>n)throw new Se(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!qd(b)){if(b.startsWith("LUT_"))throw new Se(`Unsupported cube keyword ${b}`,f);continue}if(!l)throw s?new Se("1D cube LUTs are not supported yet",f):new Se("LUT data appears before LUT_3D_SIZE",f);if(S.length!==3)throw new Se("LUT data rows must contain three numbers",f);a.push(et(S[0],f),et(S[1],f),et(S[2],f))}if(s&&l)throw new Se("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw s?new Se("1D cube LUTs are not supported yet"):new Se("Missing LUT_3D_SIZE");zd(r,o);let c=l*l*l;if(a.length!==c*3)throw new Se(`Expected ${c} LUT rows for size ${l}, found ${a.length/3}`);return{title:i,size:l,domainMin:r,domainMax:o,data:new Float32Array(a)}}function $d(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function ur(e){return Math.round($d(e)*255)}function Ma(e){let t=e.size,n=t*t,i=t,r=new Uint8Array(n*i*4);for(let o=0;o<t;o++)for(let s=0;s<t;s++)for(let l=0;l<t;l++){let a=((o*t+s)*t+l)*3,u=(s*n+o*t+l)*4;r[u]=ur(e.data[a]??0),r[u+1]=ur(e.data[a+1]??0),r[u+2]=ur(e.data[a+2]??0),r[u+3]=255}return{width:n,height:i,data:r}}var qe=new Map,Kd="data-hf-color-grading-canvas",Jd="__hf_color_grading_canvas__";function Ia(){if(typeof MutationObserver>"u"||typeof document>"u")return;let e=document.documentElement;if(!e)return;let t=i=>{i instanceof HTMLElement&&(i.hasAttribute(Sn)||i.setAttribute(Sn,i.style.opacity))},n=i=>{if(i instanceof Element){i.hasAttribute(ze)&&t(i);for(let r of i.querySelectorAll(`[${ze}]`))t(r)}};n(e),new MutationObserver(i=>{for(let r of i){for(let o of r.addedNodes)n(o);r.type==="attributes"&&r.target instanceof Element&&r.target.hasAttribute(ze)&&t(r.target)}}).observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[ze]})}var Yd=16,on={enabled:!1,position:.5,softness:0,lineWidth:2};function dr(e){let t=e.getAttribute(ze);return t==null?null:go(t,Hn(e))}var Xd=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),Qd=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_blurSource;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_vibrance;","uniform float u_saturation;","uniform float u_vignette;","uniform float u_vignetteMidpoint;","uniform float u_vignetteRoundness;","uniform float u_vignetteFeather;","uniform float u_grain;","uniform float u_grainSize;","uniform float u_grainRoughness;","uniform float u_grainSeed;","uniform float u_blur;","uniform float u_pixelate;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","float grainHash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }","float colorSaturation(vec3 c){ return max(max(c.r, c.g), c.b) - min(min(c.r, c.g), c.b); }","vec2 clampUv(vec2 uv){ return clamp(uv, vec2(0.0), vec2(1.0)); }","vec4 sampleSource(vec2 uv){ return texture2D(u_source, clampUv(uv)); }","vec4 sampleBlur(vec2 uv){ return texture2D(u_blurSource, clampUv(uv)); }","vec4 sampleMedia(vec2 uv){"," float pixel = clamp(u_pixelate, 0.0, 1.0);"," vec2 sampleUv = uv;"," if (pixel > 0.0) {"," float blockSize = mix(1.0, 48.0, pixel);"," vec2 cells = max(u_resolution / blockSize, vec2(1.0));"," sampleUv = (floor(clamp(uv, vec2(0.0), vec2(0.999999)) * cells) + 0.5) / cells;"," }"," vec4 base = sampleSource(sampleUv);"," float blur = clamp(u_blur, 0.0, 1.0);"," if (blur > 0.0 && u_blurReady > 0.5) {"," base = mix(base, sampleBlur(sampleUv), blur);"," }"," return base;","}","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 originalSample = sampleSource(uv);"," vec4 sampleColor = sampleMedia(uv);"," vec3 original = originalSample.rgb;"," vec3 color = sampleColor.rgb * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," float blackPoint = clamp(u_blacks * 0.18, -0.18, 0.18);"," float whitePoint = clamp(1.0 - u_whites * 0.18, 0.82, 1.18);"," color = (color - blackPoint) / max(whitePoint - blackPoint, 0.2);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," float currentSat = clamp(colorSaturation(color), 0.0, 1.0);"," float skinLike = smoothstep(0.02, 0.18, color.r - color.g) * smoothstep(0.0, 0.16, color.g - color.b) * smoothstep(0.18, 0.82, satLuma);"," float vibranceWeight = (1.0 - currentSat * 0.72) * mix(1.0, 0.55, skinLike);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_vibrance * vibranceWeight));"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec2 vignetteAspect = u_resolution.x > u_resolution.y"," ? vec2(u_resolution.x / max(u_resolution.y, 1.0), 1.0)"," : vec2(1.0, u_resolution.y / max(u_resolution.x, 1.0));"," vec2 vignetteUv = abs((v_uv - vec2(0.5)) * 2.0) * vignetteAspect;"," float vignettePower = mix(8.0, 1.8, clamp(u_vignetteRoundness * 0.5 + 0.5, 0.0, 1.0));"," float vignetteDistance = pow(pow(vignetteUv.x, vignettePower) + pow(vignetteUv.y, vignettePower), 1.0 / vignettePower);"," float vignetteMidpoint = mix(0.22, 1.08, clamp(u_vignetteMidpoint, 0.0, 1.0));"," float vignetteFeather = mix(0.08, 0.72, clamp(u_vignetteFeather, 0.0, 1.0));"," float vignetteMask = smoothstep(vignetteMidpoint, vignetteMidpoint + vignetteFeather, vignetteDistance);"," color *= 1.0 - vignetteMask * clamp(u_vignette, 0.0, 1.0) * 0.75;"," float grainAmount = clamp(u_grain, 0.0, 1.0);"," if (grainAmount > 0.0) {"," float grainPixelSize = mix(1.0, 6.0, clamp(u_grainSize, 0.0, 1.0));"," vec2 grainCoord = floor(gl_FragCoord.xy / grainPixelSize) + vec2(u_grainSeed, u_grainSeed * 1.37);"," float grainBase = grainHash(grainCoord) - grainHash(grainCoord + vec2(19.19, 73.31));"," float grainFine = grainHash(gl_FragCoord.xy + vec2(u_grainSeed * 2.11, u_grainSeed * 0.71)) - 0.5;"," float grain = mix(grainBase * 0.7, grainBase + grainFine * 0.35, clamp(u_grainRoughness, 0.0, 1.0));"," float grainLuma = lumaOf(color);"," float grainMask = smoothstep(0.02, 0.55, grainLuma) * (1.0 - smoothstep(0.88, 1.0, grainLuma));"," color += grain * grainAmount * mix(0.025, 0.08, grainMask);"," }"," color = clamp(color, 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`),Zd=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform vec2 u_resolution;","uniform vec2 u_direction;","uniform float u_radius;","vec4 readSource(vec2 uv){"," vec4 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0)));"," color.rgb *= color.a;"," return color;","}","void main(){"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) / 12.0;"," vec4 color = readSource(v_uv) * 0.08077993;"," color += readSource(v_uv + stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv - stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv + stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv - stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv + stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv - stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv + stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv - stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv + stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv - stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv + stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv - stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv + stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv - stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv + stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv - stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv + stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv - stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv + stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv - stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv + stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv - stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv + stepUv * 12.0) * 0.00453456;"," color += readSource(v_uv - stepUv * 12.0) * 0.00453456;"," if (color.a > 0.0001) color.rgb /= color.a;"," gl_FragColor = color;","}"].join(`\n`);function ft(e){return e instanceof HTMLVideoElement||e instanceof HTMLImageElement}function Ta(e,t,n){let i=e.createShader(n);return i?(e.shaderSource(i,t),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(L("runtime.colorGrading.compileShader",e.getShaderInfoLog(i)),e.deleteShader(i),null)):null}function Pa(e,t=Qd){let n=Ta(e,Xd,e.VERTEX_SHADER),i=Ta(e,t,e.FRAGMENT_SHADER);if(!n||!i)return n&&e.deleteShader(n),i&&e.deleteShader(i),null;let r=e.createProgram();return r?(e.attachShader(r,n),e.attachShader(r,i),e.linkProgram(r),e.deleteShader(n),e.deleteShader(i),e.getProgramParameter(r,e.LINK_STATUS)?r:(L("runtime.colorGrading.linkProgram",e.getProgramInfoLog(r)),e.deleteProgram(r),null)):null}function mr(e,t=e.LINEAR){let n=e.createTexture();return n?(e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,null),n):null}function ef(e,t){let n=Pa(e,Zd);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),resolution:e.getUniformLocation(n,"u_resolution"),direction:e.getUniformLocation(n,"u_direction"),radius:e.getUniformLocation(n,"u_radius")}:null}function Na(e){let t=mr(e),n=e.createFramebuffer();if(!t||!n)return t&&e.deleteTexture(t),n&&e.deleteFramebuffer(n),null;e.bindFramebuffer(e.FRAMEBUFFER,n),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0);let i=e.checkFramebufferStatus(e.FRAMEBUFFER);return e.bindFramebuffer(e.FRAMEBUFFER,null),i!==e.FRAMEBUFFER_COMPLETE?(e.deleteTexture(t),e.deleteFramebuffer(n),null):{texture:t,framebuffer:n,width:1,height:1}}function La(e,t,n,i){t.width===n&&t.height===i||(t.width=n,t.height=i,e.bindTexture(e.TEXTURE_2D,t.texture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,i,0,e.RGBA,e.UNSIGNED_BYTE,null))}function Oa(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!t)return null;let n=Pa(t),i=mr(t),r=mr(t,t.NEAREST);if(!n||!i||!r)return n&&t.deleteProgram(n),i&&t.deleteTexture(i),r&&t.deleteTexture(r),null;let o=t.createBuffer();return o?(t.bindBuffer(t.ARRAY_BUFFER,o),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),t.STATIC_DRAW),{gl:t,program:{program:n,texture:i,lutTexture:r,quad:o,position:t.getAttribLocation(n,"a_pos"),source:t.getUniformLocation(n,"u_source"),blurSource:t.getUniformLocation(n,"u_blurSource"),lut:t.getUniformLocation(n,"u_lut"),resolution:t.getUniformLocation(n,"u_resolution"),uvScale:t.getUniformLocation(n,"u_uvScale"),uvOffset:t.getUniformLocation(n,"u_uvOffset"),blurReady:t.getUniformLocation(n,"u_blurReady"),lutEnabled:t.getUniformLocation(n,"u_lutEnabled"),lutSize:t.getUniformLocation(n,"u_lutSize"),lutTextureSize:t.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:t.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:t.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:t.getUniformLocation(n,"u_lutIntensity"),exposure:t.getUniformLocation(n,"u_exposure"),contrast:t.getUniformLocation(n,"u_contrast"),highlights:t.getUniformLocation(n,"u_highlights"),shadows:t.getUniformLocation(n,"u_shadows"),whites:t.getUniformLocation(n,"u_whites"),blacks:t.getUniformLocation(n,"u_blacks"),temperature:t.getUniformLocation(n,"u_temperature"),tint:t.getUniformLocation(n,"u_tint"),vibrance:t.getUniformLocation(n,"u_vibrance"),saturation:t.getUniformLocation(n,"u_saturation"),vignette:t.getUniformLocation(n,"u_vignette"),vignetteMidpoint:t.getUniformLocation(n,"u_vignetteMidpoint"),vignetteRoundness:t.getUniformLocation(n,"u_vignetteRoundness"),vignetteFeather:t.getUniformLocation(n,"u_vignetteFeather"),grain:t.getUniformLocation(n,"u_grain"),grainSize:t.getUniformLocation(n,"u_grainSize"),grainRoughness:t.getUniformLocation(n,"u_grainRoughness"),grainSeed:t.getUniformLocation(n,"u_grainSeed"),blur:t.getUniformLocation(n,"u_blur"),pixelate:t.getUniformLocation(n,"u_pixelate"),intensity:t.getUniformLocation(n,"u_intensity"),compareEnabled:t.getUniformLocation(n,"u_compareEnabled"),comparePosition:t.getUniformLocation(n,"u_comparePosition"),compareSoftness:t.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:t.getUniformLocation(n,"u_compareLineWidth")}}):(t.deleteProgram(n),t.deleteTexture(i),t.deleteTexture(r),null)}function tf(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function nf(e){if(!tf(e))return{...on};let t=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:e.enabled===!0,position:t(e.position,on.position,0,1),softness:t(e.softness,on.softness,0,.25),lineWidth:t(e.lineWidth,on.lineWidth,0,12)}}function Ba(e){try{let t=new URL(e,document.baseURI);return t.protocol==="data:"?{href:t.href}:t.protocol!=="http:"&&t.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:t.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:t.href}}catch{return{error:"Invalid LUT URL"}}}function hr(e){return e instanceof Error?e.message:"LUT failed to load"}function rf(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0)%1e4}function of(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return rf(t)}function sf(e){let t=Ba(e);if("error"in t)return{state:"error",message:t.error};let n=qe.get(t.href);if(n)return n;let i=fetch(t.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>va(o,{maxSize:cr})),r={state:"pending",promise:i};for(;qe.size>=Yd;){let o=qe.keys().next().value;if(!o)break;qe.delete(o)}return qe.set(t.href,r),i.then(o=>{qe.get(t.href)===r&&qe.set(t.href,{state:"ready",lut:o})},o=>{qe.get(t.href)===r&&qe.set(t.href,{state:"error",message:hr(o)})}),r}function Ra(e,t,n){if(e.lut?.src===t)return e.lut;let i=Ma(n),{gl:r,program:o}=e;try{return r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),e.lut={src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},e.lutError=null,e.lutLoadingSrc=null,e.lut}catch(s){return e.lut=null,e.lutError=hr(s),e.lutLoadingSrc=null,L("runtime.colorGrading.uploadLut",s),null}}function Wn(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function Ha(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Wn(e.gl,t.scratch),Wn(e.gl,t.blur),e.effectTargets=null)}function Ga(e){Ha(e),e.gl.deleteTexture(e.program.texture),e.gl.deleteTexture(e.program.lutTexture),e.gl.deleteBuffer(e.program.quad),e.gl.deleteProgram(e.program.program)}function af(e){let t=Oa(e.canvas);return t?(Ga(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function pr(e){if(!e.sourceHidden)return;e.element.removeAttribute(Dt);let t=e.element.style.getPropertyValue("opacity"),n=e.element.style.getPropertyPriority("opacity");t==="0"&&n==="important"&&(e.sourceInlineOpacity===null?e.element.style.removeProperty("opacity"):e.element.style.setProperty("opacity",e.sourceInlineOpacity,e.sourceInlineOpacityPriority)),e.sourceHidden=!1}function lf(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=ef(t,e.program.quad),i=Na(t),r=Na(t);return!n||!i||!r?(n&&t.deleteProgram(n.program),i&&Wn(t,i),r&&Wn(t,r),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:i,blur:r},e.effectTargets)}function uf(e,t,n,i,r){let o=Math.max(1,Math.ceil(i)),s=Math.max(1,Math.ceil(r));return La(e,t,o,s),La(e,n,o,s),{width:o,height:s}}function ka(e,t,n,i,r,o,s){e.bindFramebuffer(e.FRAMEBUFFER,i.framebuffer),e.viewport(0,0,r.width,r.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,r.width,r.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,s),e.bindBuffer(e.ARRAY_BUFFER,t.quad),e.enableVertexAttribArray(t.position),e.vertexAttribPointer(t.position,2,e.FLOAT,!1,0,0),e.drawArrays(e.TRIANGLE_STRIP,0,4)}function cf(e,t,n,i,r,o,s){let l=n;for(let a=0;a<Math.max(1,Math.floor(s));a++)ka(e,t.blurProgram,l,t.scratch,r,{x:1,y:0},o),ka(e,t.blurProgram,t.scratch.texture,i,r,{x:0,y:1},o),l=i.texture}function df(e){let t=e.grading.lut?.src.trim()??"",n=e.grading.lut?.intensity??1;if(!t||n<=0)return e.lut=null,e.lutLoadingSrc=null,e.lutError=null,null;let i=Ba(t);if("error"in i)return e.lut=null,e.lutLoadingSrc=null,e.lutError=i.error,null;if(e.lut?.src===i.href)return e.lut;e.lut=null;let r=sf(t);return r.state==="ready"?Ra(e,i.href,r.lut):r.state==="error"?(e.lutError=r.message,e.lutLoadingSrc=null,null):(e.lutLoadingSrc!==i.href&&(e.lutLoadingSrc=i.href,e.lutError=null,r.promise.then(o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(Ra(e,i.href,o),Ie(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=hr(o),e.lutLoadingSrc=null,Ie(e))})),null)}function fr(e){if(!e)return null;if(typeof e=="string"){let t=e.trim();if(!t)return null;let n=document.getElementById(t.replace(/^#/,""));if(n&&ft(n))return n;try{let i=document.querySelector(t);return i&&ft(i)?i:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&ft(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&ft(t))return t}if(!e.selector)return null;try{let t=Array.from(document.querySelectorAll(e.selector)),n=Math.max(0,Math.floor(Number(e.selectorIndex??0)||0)),i=t[n]??null;return i&&ft(i)?i:null}catch{return null}}function ff(e){return e instanceof HTMLVideoElement?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:e instanceof HTMLImageElement&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function Wa(e){return e instanceof HTMLVideoElement?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:e instanceof HTMLImageElement?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function mf(e){if(!e.id)return null;let t=document.getElementById(`__render_frame_${e.id}__`);return t instanceof HTMLImageElement&&Wa(t)?t:null}function pf(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function hf(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function gf(e){if(e instanceof HTMLVideoElement){let t=mf(e);if(t)return t}return Wa(e)?e:null}function Da(e,t){let n=e.toLowerCase();if(n==="center")return .5;if(t==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function xf(e){let t=e.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<t.length;r++){let o=t[r]??"",s=Da(o,"x"),l=Da(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=l;continue}}return{x:n,y:i}}function bf(e,t,n,i,r,o){if(e<=0||t<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",l=e,a=t;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(e/n,t/i):Math.min(e/n,t/i);l=n*f,a=i*f,s==="scale-down"&&l>n&&a>i&&(l=n,a=i)}else s==="none"&&(l=n,a=i);let u=xf(o||"center"),c=(e-l)*u.x/e,m=(t-a)*u.y/t;return{scaleX:l/e,scaleY:a/t,offsetX:c,offsetY:m}}function yf(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function Sf(e,t){let{element:n,canvas:i}=e,r=n.parentElement;r&&yf(e,r);let o=window.getComputedStyle(t);bo(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=e.sourceOpacityForCanvas,i.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),l=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return l<=0||a<=0?(i.style.display="none",null):(i.width!==l&&(i.width=l),i.height!==a&&(i.height=a),{width:l,height:a})}function Ef(e,t,n,i,r,o,s,l,a){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,l.scaleX,l.scaleY),e.uniform2f(t.uvOffset,l.offsetX,l.offsetY),e.uniform1f(t.blurReady,r?1:0),e.uniform1f(t.lutEnabled,i?1:0),e.uniform1f(t.lutSize,i?.size??2),e.uniform2f(t.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),e.uniform3f(t.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0),e.uniform1f(t.exposure,n.adjust.exposure),e.uniform1f(t.contrast,n.adjust.contrast),e.uniform1f(t.highlights,n.adjust.highlights),e.uniform1f(t.shadows,n.adjust.shadows),e.uniform1f(t.whites,n.adjust.whites),e.uniform1f(t.blacks,n.adjust.blacks),e.uniform1f(t.temperature,n.adjust.temperature),e.uniform1f(t.tint,n.adjust.tint),e.uniform1f(t.vibrance,n.adjust.vibrance),e.uniform1f(t.saturation,n.adjust.saturation),e.uniform1f(t.vignette,n.details.vignette),e.uniform1f(t.vignetteMidpoint,n.details.vignetteMidpoint),e.uniform1f(t.vignetteRoundness,n.details.vignetteRoundness),e.uniform1f(t.vignetteFeather,n.details.vignetteFeather),e.uniform1f(t.grain,n.details.grain),e.uniform1f(t.grainSize,n.details.grainSize),e.uniform1f(t.grainRoughness,n.details.grainRoughness),e.uniform1f(t.grainSeed,a),e.uniform1f(t.blur,n.effects.blur),e.uniform1f(t.pixelate,n.effects.pixelate),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,o.enabled?1:0),e.uniform1f(t.comparePosition,o.position),e.uniform1f(t.compareSoftness,o.softness),e.uniform1f(t.compareLineWidth,o.lineWidth)}function Af(e){if(!e.sourceHidden){let t=e.element.getAttribute(Sn);t!==null?(e.sourceInlineOpacity=t===""?null:t,e.sourceInlineOpacityPriority=""):(e.sourceInlineOpacity=e.element.style.getPropertyValue("opacity")||null,e.sourceInlineOpacityPriority=e.element.style.getPropertyPriority("opacity"))}e.element.setAttribute(Dt,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function Ie(e){if(e.destroyed||e.contextLost)return!1;let t=gf(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=ff(t);if(!n)return!1;let i=t instanceof HTMLElement?t:e.element,r=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),s=e.sourceHidden&&r==="0"&&o==="important",l=e.element.style.getPropertyValue("visibility"),a=pf(t);if(a&&hf(e,t),a||!s){let S=window.getComputedStyle(a?t:e.element);e.sourceOpacityForCanvas=S.opacity||"1",e.sourceVisibleForCanvas=(a||l!=="hidden")&&S.visibility!=="hidden"}let u=Sf(e,i);if(!u)return!1;let c=window.getComputedStyle(i),m=bf(u.width,u.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:f,program:x}=e;try{let S=df(e);f.activeTexture(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,x.texture),f.pixelStorei(f.UNPACK_FLIP_Y_WEBGL,!0),f.texImage2D(f.TEXTURE_2D,0,f.RGBA,f.RGBA,f.UNSIGNED_BYTE,t);let b=!1,g=Math.min(1,Math.max(0,e.grading.effects.blur));if(g>0){let _=lf(e);if(_){let N=uf(f,_.scratch,_.blur,u.width,u.height);cf(f,_,x.texture,_.blur,N,.75+Math.pow(g,1.35)*32,g>.55?3:2),b=!0}}else e.effectError=null,e.effectTargets&&Ha(e);f.bindFramebuffer(f.FRAMEBUFFER,null),f.viewport(0,0,u.width,u.height),f.useProgram(x.program),f.activeTexture(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,x.texture),f.activeTexture(f.TEXTURE1),f.bindTexture(f.TEXTURE_2D,e.effectTargets?.blur.texture??x.texture),f.activeTexture(f.TEXTURE2),f.bindTexture(f.TEXTURE_2D,x.lutTexture);let A=e.grainSeed+(e.element instanceof HTMLVideoElement?Math.floor(e.element.currentTime*60):0);return Ef(f,x,e.grading,S,b,e.compare,u,m,A),f.bindBuffer(f.ARRAY_BUFFER,x.quad),f.enableVertexAttribArray(x.position),f.vertexAttribPointer(x.position,2,f.FLOAT,!1,0,0),f.drawArrays(f.TRIANGLE_STRIP,0,4),Af(e),e.hasDrawn=!0,e.drawError=null,!0}catch(S){return e.drawError=S instanceof Error?S.message:"Shader draw failed",L("runtime.colorGrading.drawEntry",S),!1}}function We(e,t,n,i){t.addEventListener(n,i),e.cleanup.push(()=>t.removeEventListener(n,i))}function wf(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&e.element instanceof HTMLVideoElement&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function sn(e){if(e.destroyed||!(e.element instanceof HTMLVideoElement)||e.videoFrameHandle!==null||e.animationFrame!==null)return;let t=e.element,n=t;if(typeof n.requestVideoFrameCallback=="function"){e.videoFrameHandle=n.requestVideoFrameCallback(()=>{e.videoFrameHandle=null,Ie(e),!e.destroyed&&!t.paused&&!t.ended&&sn(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,Ie(e),!e.destroyed&&!t.paused&&!t.ended&&sn(e)})}function Cf(e){let t=()=>{Ie(e)};if(We(e,e.element,"load",t),We(e,e.element,"loadedmetadata",t),We(e,e.element,"loadeddata",t),We(e,e.element,"seeked",t),We(e,e.element,"timeupdate",t),We(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(We(e,e.element,"play",()=>sn(e)),We(e,e.element,"pause",t)),We(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",pr(e)}),We(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!af(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",pr(e);return}e.drawError=null,Ie(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element)),typeof MutationObserver<"u"){let n=()=>{let s=e.element.style;return`${s.transform}|${s.translate}|${s.rotate}|${s.scale}|${s.left}|${s.top}|${s.width}|${s.height}`},i=n(),r=!1,o=new MutationObserver(()=>{r||n()!==i&&(r=!0,requestAnimationFrame(()=>{r=!1,i=n(),Ie(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:["style"]}),e.cleanup.push(()=>o.disconnect())}}function Ff(e){if(!e.destroyed){e.destroyed=!0,wf(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();e.cleanup.length=0,e.canvas.remove(),Ga(e),pr(e),e.touchedParent&&(e.parentInlinePosition===null?e.touchedParent.style.removeProperty("position"):e.touchedParent.style.position=e.parentInlinePosition)}}function _f(e){let t=document.createElement("canvas");return e.id&&(t.id=`${fo}${e.id}`),t.className=Jd,t.setAttribute(Kd,"true"),t.setAttribute("data-hyperframes-ignore",""),t.setAttribute("data-hyperframes-picker-ignore",""),t.setAttribute("data-hf-ignore",""),t.setAttribute("aria-hidden","true"),t.style.pointerEvents="none",t.style.display="none",e.parentNode?.insertBefore(t,e.nextSibling),t}function Ua(){let e=new WeakMap,t=new Set,n=null,i=!1,r=(b,g,A)=>{let _=e.get(b);if(_)return _.grading=g,_.source=A,Ie(_),b instanceof HTMLVideoElement&&!b.paused&&sn(_),!0;let N=_f(b),J=Oa(N);if(!J)return N.remove(),!1;let B={element:b,canvas:N,gl:J.gl,program:J.program,grading:g,compare:{...on},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,effectError:null,source:A,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(b).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(b).visibility!=="hidden",hasDrawn:!1,contextLost:!1,grainSeed:of(b),destroyed:!1};return e.set(b,B),t.add(b),Cf(B),Ie(B),b instanceof HTMLVideoElement&&!b.paused&&sn(B),!0},o=(b,g)=>{if(i)return!1;let A=fr(b);if(!A)return!1;let _=e.get(A);if(!_){let N=dr(A);if(!It(N)||!r(A,N,"attribute"))return!1;_=e.get(A)}return _?(_.compare=nf(g),Ie(_),!0):!1},s=b=>{let g=e.get(b);g&&(Ff(g),e.delete(b),t.delete(b))},l=()=>{if(i)return 0;let b=new Set;document.querySelectorAll(`video[${ze}], img[${ze}]`).forEach(A=>{if(!ft(A))return;b.add(A);let _=dr(A);It(_)?r(A,_,"attribute"):s(A)});for(let A of Array.from(t)){let _=e.get(A);_&&(!A.isConnected||_.source==="attribute"&&!b.has(A))&&s(A)}return t.size},a=()=>{if(i)return 0;let b=0;for(let g of Array.from(t,A=>e.get(A)))g&&Ie(g)&&(b+=1);return b},u=(b,g)=>{if(i)return!1;let A=fr(b);if(!A)return!1;let _=Si(g);return It(_)?r(A,_,"live"):(s(A),!0)},c=(b,g)=>{if(!ft(b))return!1;let A=e.get(b);return A?(A.sourceVisibleForCanvas=g,!0):!1},m=b=>{let g=fr(b);if(!g)return{state:"missing",message:"Media not found"};let A=e.get(g);if(A)return A.effectError?{state:"unavailable",message:A.effectError}:A.drawError?{state:"unavailable",message:A.drawError}:A.lutError?{state:"unavailable",message:`LUT error: ${A.lutError}`}:A.grading.lut&&A.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:A.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:A.lut?"Shader + LUT active":"Shader active"};let _=dr(g);return It(_)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let b of Array.from(t))s(b)}};document.body&&(n=new MutationObserver(()=>l()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[ze]}));let x={refresh:l,redraw:a,setGrading:u,setCompare:o,setSourceVisibility:c,getStatus:m,destroy:f},S=window;return S.__hf=S.__hf||{},S.__hf.colorGrading=x,l(),x}var Un=class{constructor(t){be(this,"_baseTime",0);be(this,"_playStartMs",null);be(this,"_rate",1);be(this,"_duration",1/0);be(this,"_nowMs");be(this,"_audioSource",null);this._baseTime=t?.initialTime??0,this._rate=t?.rate??1,this._duration=t?.duration??1/0,this._nowMs=t?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(t){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(t,this._duration)):Math.max(0,t);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(t){let n=Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(t){this._duration=Number.isFinite(t)&&t>0?t:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(t){this._audioSource=t}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:t}=this._audioSource;if(!t.paused&&Number.isFinite(t.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function Va(e){return!Number.isFinite(e)||e<=0?1:e}function vf(e,t){t||e.paused||!pn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function Mf(e,t){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=t,l=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let c=a-n;return l&&c<=0?!1:(l?e.start(0,n+i,c):e.start(0,n+i),!0)}let u=-n/o;return l?e.start(r+u,i,a):e.start(r+u,i),!0}var Vn=class{constructor(){be(this,"_ctx",null);be(this,"_bufferCache",new Map);be(this,"_failedSrcs",new Set);be(this,"_activeSources",[]);be(this,"_masterGain",null);be(this,"_rateAnchorCtx",0);be(this,"_rateAnchorComp",0);be(this,"_rate",1);be(this,"_paused",!0);be(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(t){let n=t.currentSrc||t.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return L("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return L("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),L("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(t,n,i,r,o,s,l,a=1,u=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let c=Va(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=c;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,S=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=S,this._rateAnchorComp=o,!Mf(m,{elapsed:x,mediaStart:r,scheduledAt:S,safeRate:c,clipDuration:u}))return m.disconnect(),f.disconnect(),null;let b=t.muted;t.muted=!0,vf(t,b);let g={el:t,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:S,priorMuted:b,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(g),this._paused=!1,m.addEventListener("ended",()=>{let A=this._activeSources.indexOf(g);A!==-1&&(this._activeSources.splice(A,1),t.muted=b,this._activeSources.length===0&&(this._paused=!0))}),g}catch(c){return L("webAudioTransport.schedule",c),null}}setRate(t){let n=Va(t);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){L("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>t.bounded)}stopAll(){for(let t of this._activeSources){try{t.sourceNode.stop(),t.sourceNode.disconnect(),t.gainNode.disconnect()}catch{}t.el.muted=t.priorMuted}this._activeSources=[],this._paused=!0}setVolume(t){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,t)))}setElementVolume(t,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===t)try{r.gainNode.gain.value=i}catch(o){L("webAudioTransport.setElementVolume",o)}}setMuted(t){this._masterGain&&(this._masterGain.gain.value=t?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var za="data-hf-studio-manual-edit-gesture";var gr="data-hf-authored-duration",xr="data-hf-authored-end";function Tf(){let e=window.__HF_EXPORT_RENDER_SEEK_CONFIG,t=e?.fps,n=e?.fpsSource,i=Number(t);return!e||t==null?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:t,fallbackReason:e.fpsFallbackReason}}function ja(){let e=Eo();Bn(document),lr(document);let t=Tf();e.canonicalFps=t.fps??e.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:e.canonicalFps,source:t.source,rawFpsSource:t.rawFpsSource,rawFps:t.rawFps,fallbackReason:t.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,l=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){L("runtime.init.site1",d)}(()=>{let d=window.gsap,p=window;if(!(!d?.registerPlugin||p.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch{}})(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden");try{Ur(document)}catch(d){L("runtime.init.cssVariables",d)}window.__timelines=window.__timelines||{};let u=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=u()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let y=0;y<d.length;y++)h[`tl-${y}`]=d[y];window.__timelines=h}let c=u();c&&!c.hasAttribute("data-start")&&c.setAttribute("data-start","0");let m=d=>{o.push(d)},f=(d,p,h)=>{let y=h??`${d}:${JSON.stringify(p)}`;s.has(y)||(s.add(y),Ce({source:"hf-preview",type:"diagnostic",code:d,details:p}))},x=d=>{let p={scale:1,focusX:960,focusY:540},h=[],y=[],w={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>y,getRenderState:()=>({...w,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},S=1/60,b=.75,g=2,A=.05,_=100,N=240,J=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},B=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},M=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},E=()=>u(),F=()=>{let d=E();if(!d)return;let p=M(d.getAttribute("data-width")),h=M(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},v=()=>{let d=E(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let y=h.getAttribute("data-duration"),w=h.getAttribute("data-end");y!=null&&!h.hasAttribute(gr)&&h.setAttribute(gr,y),w!=null&&!h.hasAttribute(xr)&&h.setAttribute(xr,w),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},T=()=>{let d=E();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=M(d.getAttribute("data-width")),h=M(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let y=Array.from(d.children);for(let w of y){let C=w.tagName.toLowerCase();if(C==="script"||C==="style"||C==="link"||C==="meta"||!w.hasAttribute("data-start")||w.hasAttribute("data-hf-autostamped"))continue;let R=(w.style.top==="0px"||w.style.top==="0")&&(w.style.left==="0px"||w.style.left==="0")&&w.style.width==="100%"&&w.style.height==="100%",q=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(w.style.transform);if(R&&q&&!w.hasAttribute("data-width")&&!w.hasAttribute("data-height")){let ye=w.style.top,at=w.style.left,we=w.style.width,Mt=w.style.height;w.style.top="",w.style.left="",w.style.width="",w.style.height="";let ie=window.getComputedStyle(w);ie.top!=="auto"||ie.bottom!=="auto"||ie.left!=="auto"||ie.right!=="auto"||ie.width!=="0px"||ie.height!=="0px"||(w.style.top=ye,w.style.left=at,w.style.width=we,w.style.height=Mt)}let K=window.getComputedStyle(w),ge=K.position;if(ge!=="absolute"&&ge!=="fixed"&&(w.style.position="absolute"),!!w.style.top||!!w.style.bottom||K.top!=="auto"||K.bottom!=="auto"||(w.style.top="0"),!!w.style.left||!!w.style.right||K.left!=="auto"||K.right!=="auto"||(w.style.left="0"),C!=="audio"){let ye=M(w.getAttribute("data-width")),at=M(w.getAttribute("data-height")),we=K.width!=="0px"&&K.width!=="auto",Mt=K.height!=="0px"&&K.height!=="auto";ye?!w.style.width&&!we&&(w.style.width=ye):!w.style.width&&K.width==="0px"&&(w.style.width="100%"),at?!w.style.height&&!Mt&&(w.style.height=at):!w.style.height&&K.height==="0px"&&(w.style.height="100%")}}},k=(d,p=0,h)=>Je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),W=(d,p)=>Je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),j=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+p:k(d,p),re=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let y=h==="video"||h==="audio"?j(d,0):k(d,0),w=W(d),C=d.getAttribute("data-composition-id");if(C){let q=(window.__timelines??{})[C],K=null;if(q&&typeof q.duration=="function"){let xe=Number(q.duration());Number.isFinite(xe)&&xe>0&&(K=xe)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(gr)||d.hasAttribute(xr))&&(w==null||w<=0)&&K!=null&&(w=K)}let R=w!=null&&w>0?y+w:Number.POSITIVE_INFINITY;return p>=y&&(Number.isFinite(R)?p<=R:!0)},P=!!document.querySelector("[data-composition-src]"),se=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){se=!0;break}}}let Ee=!P&&!se,H=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},U=d=>typeof d=="number"&&Number.isFinite(d)&&d>S,V=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),y=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>y?Math.max(0,d.duration-y):null},oe=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let y=j(h,0);if(!Number.isFinite(y))continue;let w=V(h);w==null||w<=S||(p=Math.max(p,Math.max(0,y)+w))}return p>S?p:null},_e=()=>{let d=E();if(!d)return null;let p=window.__timelines??{},h=Je({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),y=0,w=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(w)&&w>0&&(y=w);let C=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let R of C){if(!(R instanceof Element)||R.parentElement?.closest("[data-composition-id]")!==d)continue;let K=h.resolveStartForElement(R,0),ge=h.resolveDurationForElement(R);!Number.isFinite(K)||ge==null||ge<=0||(y=Math.max(y,Math.max(0,K)+ge))}return y>S?y:null},O=()=>{let d=oe();return typeof d!="number"||!Number.isFinite(d)||d<=S?null:d},D=d=>U(d)?Math.max(S,d*b):S,G=()=>{let d=0;for(let p of e.deterministicAdapters){let h=p.getInferredDurationSeconds;if(typeof h!="function")continue;let y=null;try{y=h()}catch(w){L("runtime.init.adapterDuration",w)}typeof y=="number"&&Number.isFinite(y)&&y>0&&(d=Math.max(d,y))}return d>S?d:null},Q=(d,p=0)=>{let h=H(d),y=O(),w=_e(),C=G(),R=Math.max(y??0,w??0,C??0),q=Number.isFinite(p)&&p>S?p:0,K=0;return U(h)?K=Math.max(h,R,q):U(R)?K=Math.max(R,q):K=q,K>0?Math.max(0,K):0},ae=()=>{let d=window.__timelines??{},p=ie=>{let ee=Object.entries(d).filter(he=>!!he[1]&&typeof he[1].play=="function"&&typeof he[1].pause=="function");if(ee.length!==1)return{timeline:null};let[fe,me]=ee[0];return{timeline:me,selectedTimelineIds:[fe],selectedDurationSeconds:H(me),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:ie,soleTimelineId:fe}}}},h=Je({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),y=O(),w=_e(),C=Math.max(y??0,w??0)||null,R=D(C),q=ie=>{let ee=document.querySelector(`[data-composition-id="${CSS.escape(ie)}"]`);return ee?h.resolveStartForElement(ee,0):0},K=ie=>{let ee=window.gsap;if(!ee||typeof ee.timeline!="function")return null;let fe=ee.timeline({paused:!0});for(let me of ie)fe.add(me.timeline,q(me.compositionId));return fe},ge=(ie,ee)=>{if(!U(ie))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let me=fe.timeline({paused:!0});if(ee)try{me.add(ee,0)}catch(ue){L("runtime.init.site2",ue)}let he=me;if(typeof he.to=="function")try{he.to({},{duration:ie})}catch(ue){L("runtime.init.site3",ue)}return me},xe=(ie,ee)=>{let fe=ie;if(typeof fe.getChildren!="function")return[];try{let me=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(me))return[];let he=[];for(let ue of ee)if(!me.some(Re=>Re===ue.timeline))try{let Re=q(ue.compositionId);ie.add(ue.timeline,Re),he.push(ue.compositionId)}catch(Re){L("runtime.init.site4",Re)}return he}catch{return[]}},ne=E(),Z=ne?.getAttribute("data-composition-id")??null;if(!Z)return p("root_missing_composition_id");let ye=d[Z]??null,we=(()=>{if(!ne)return[];let ie=new Set,ee=Array.from(ne.querySelectorAll("[data-composition-id]")),fe=[];for(let me of ee){let he=me.getAttribute("data-composition-id");if(!he||he===Z||ie.has(he))continue;ie.add(he);let ue=d[he]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Me=H(ue);fe.push({compositionId:he,timeline:ue,durationSeconds:Me??0})}return fe})(),Mt=ie=>{for(let ee of ie){let fe=ee.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(me){L("runtime.init.site5",me)}}};if(we.length>0&&Mt(we),ye){let ie=we.length>0?xe(ye,we):[];if((we.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+Z+"\'])"))&&($=!0),ie.length>0)try{let ue=ye.time();ye.seek(ue,!1)}catch{}let ee=H(ye);if(!U(ee)&&we.length>0){let ue=we.map(Rl=>Rl.compositionId),Me=K(we),Re=H(Me);if(Me&&U(Re))return{timeline:Me,selectedTimelineIds:ue,selectedDurationSeconds:Re,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:R,selectedDurationSeconds:Re,mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedTimelineIds:ue,autoNestedChildren:ie}}};let oi=ge(C??0,ye),si=H(oi);if(oi&&U(si))return{timeline:oi,selectedTimelineIds:[Z],selectedDurationSeconds:si,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:si,selectedTimelineIds:[Z],autoNestedChildren:ie}}}}if(!U(ee)&&we.length===0){let ue=ge(C??0,ye),Me=H(ue);if(ue&&U(Me))return{timeline:ue,selectedTimelineIds:[Z],selectedDurationSeconds:Me,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:Me,selectedTimelineIds:[Z]}}}}let fe=ne?.getAttribute("data-duration"),me=fe?parseFloat(fe):null,he=Math.max(U(me)?me:0,w??0);if(he>0&&U(he)&&U(ee)&&he>=ee+.5){let ue=ye;if(typeof ue.to=="function")try{ue.to({},{duration:0},he)}catch(Re){L("runtime.init.site6",Re)}let Me=H(ye);if(U(Me))return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:Me,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Z,rootDurationSeconds:ee,rootDeclaredDur:me,authoredCompositionDurationFloorSeconds:w,newDur:Me}}}}return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:ee,mediaDurationFloorSeconds:y,diagnostics:ie.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Z,selectedDurationSeconds:ee,autoNestedChildren:ie}}:void 0}}if(we.length>0){let ie=we.map(me=>me.compositionId),ee=K(we),fe=H(ee);if(ee)return{timeline:ee,selectedTimelineIds:ie,selectedDurationSeconds:fe,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:R,selectedDurationSeconds:fe,mediaDurationFloorSeconds:y,selectedTimelineIds:ie}}}}return p("root_composition_id_unmatched_in_registry")},$=!1,z=()=>{if(!Ee)return!1;let d=e.capturedTimeline,p=H(d),h=U(p);if(d&&h&&$)return!1;let y=ae();if(!y.timeline)return!1;if(d&&d===y.timeline)return typeof d.timeScale=="function"&&d.timeScale(e.playbackRate),!1;e.capturedTimeline=y.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let w=Q(e.capturedTimeline,0);if(w<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),e.capturedTimeline.pause()),w>0){try{I.setDuration(w)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let R=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(R,!1),e.capturedTimeline.pause()}let C=window.__hfStudioManualEditsApply;typeof C=="function"&&C(),Bn(document)}if(y.diagnostics&&Ce({source:"hf-preview",type:"diagnostic",code:y.diagnostics.code,details:y.diagnostics.details}),Ce({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:y.selectedTimelineIds??[],selectedDurationSeconds:y.selectedDurationSeconds??null,mediaDurationFloorSeconds:y.mediaDurationFloorSeconds??null}}),window.parent!==window){let C=E(),R=w>0?w:0,q=String(R>0?R:1),K=new Set,ge=new Set(document.querySelectorAll("[data-start]")),xe=ne=>{let Z=ne.parentElement;for(;Z&&Z!==C;){if(ge.has(Z))return!0;Z=Z.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ne of e.capturedTimeline.getChildren(!0))if(typeof ne.targets=="function")for(let Z of ne.targets())Z instanceof HTMLElement&&Z!==C&&(Z.hasAttribute("data-start")||xe(Z)||K.has(Z)||(K.add(Z),Z.setAttribute("data-start","0"),Z.setAttribute("data-duration",q),Z.setAttribute("data-hf-autostamped","1")))}catch{}if(C instanceof HTMLElement)for(let ne of C.querySelectorAll("[id]"))ne instanceof HTMLElement&&ne!==C&&(ne.hasAttribute("data-start")||xe(ne)||K.has(ne)||ne.tagName==="SCRIPT"||ne.tagName==="STYLE"||ne.tagName==="LINK"||(K.add(ne),ne.setAttribute("data-start","0"),ne.setAttribute("data-duration",q),ne.setAttribute("data-hf-autostamped","1")))}for(let C of Ct)un.delete(C),vr(C);return!0};window.__hfForceTimelineRebind=()=>{$=!1,z()};let Y=()=>{let d=E();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),y=Number(d.getAttribute("data-height")),w=window.getComputedStyle(d),C=Number.isFinite(h)&&h>0&&Number.isFinite(y)&&y>0,R=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!C||!R||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:y,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:w.display,visibility:w.visibility,overflow:w.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Oe=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,Y()}))},ve=()=>{i=d=>{let p=J(d.error??d.message).slice(0,N);if(!p)return;let h=B(p);Ce({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let p=J(d.reason).slice(0,N);if(!p)return;let h=B(p);Ce({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},wt=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let y=()=>{if(!(h instanceof Element))return;let w=h.tagName.toLowerCase(),C=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,R=w==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(R,{tagName:w,assetUrl:C,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${R}:${w}:${C??"unknown"}`)};h.addEventListener("error",y),m(()=>{h.removeEventListener("error",y)})}let p=document.fonts;p&&p.ready.then(()=>{if(e.tornDown)return;let h=Array.from(p).filter(y=>y.status==="error").map(y=>y.family).filter(y=>!!y).slice(0,10);h.length!==0&&f("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},Ue=(d,p)=>{if(!d.timeline)return!1;let h=e.capturedTimeline;if(h&&h===d.timeline)return!1;let y=Math.max(0,e.currentTime||0),w=e.isPlaying;e.capturedTimeline=d.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{e.capturedTimeline.pause(),e.capturedTimeline.seek(y,!1),w&&e.capturedTimeline.play()}catch(C){L("runtime.init.site7",C)}return Ce({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:y,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},it=null,_r=!1,Ct=new Set,un=new WeakMap,cn=()=>{e.tornDown||(it!=null&&window.clearTimeout(it),it=window.setTimeout(()=>{if(e.tornDown)return;it=null;let d=ae();if(!d.timeline||!U(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){z()&&(rt(),Te(!0));return}if(_r)return;let h=H(e.capturedTimeline),y=d.selectedDurationSeconds??H(d.timeline);U(y)&&(!U(h)||y>=h+A)&&Ue(d,"manual")&&(_r=!0,Ce({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:y??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),rt(),Te(!0))},_))},bl=()=>{for(let d of Ct)d.removeEventListener("loadedmetadata",cn),d.removeEventListener("durationchange",cn);Ct.clear()},Jn=()=>{if(e.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(Ct.has(p))continue;Ct.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",cn),p.addEventListener("durationchange",cn),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),vr(p)}},vr=d=>{un.has(d)||lo(d,e.capturedTimeline,Q(e.capturedTimeline,0),un)},Yn=new WeakMap,Mr=d=>{let p=Yn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,y=h==="static"||h==="relative"||h==="sticky";return Yn.set(d,y),y},Xn=new WeakMap,yl=d=>{let p=Xn.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return Xn.set(d,h),h},Sl=()=>{Yn=new WeakMap,Xn=new WeakMap},Qn=new WeakMap,dn=new WeakSet,Le=()=>{let d=C=>{let R=C.closest("[data-composition-id]"),q=R?k(R,0):null,K=R?W(R,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:R,inheritedStart:q,inheritedDuration:K}},p=uo({shouldIncludeElement:C=>C.hasAttribute("data-start")||!!d(C).compositionRoot,resolveStartSeconds:C=>{let R=d(C);return j(C,R.inheritedStart??0)},resolveDurationSeconds:C=>{let R=d(C),q=j(C,R.inheritedStart??0),K=Number.parseFloat(C.dataset.playbackStart??C.dataset.mediaStart??"0")||0,ge=R.inheritedStart!=null&&R.inheritedDuration!=null&&R.inheritedDuration>0?Math.max(0,R.inheritedStart+R.inheritedDuration-q):null,xe=Number.isFinite(C.duration)&&C.duration>K?Math.max(0,C.duration-K):null,ne=Number.parseFloat(C.dataset.duration??""),Z=Number.isFinite(ne)&&ne>0?ne:null,ye=[xe,ge,Z].filter(at=>at!=null);return ye.length>0?Math.min(...ye):null}});for(let C of p.mediaClips){let R=un.get(C.el);R&&(C.volumeKeyframes=R)}let h=e.mediaForceSyncNextTick;h&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||co({clips:p.mediaClips,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted||!e.webAudioMediaDisabled&&!e.nativeMediaSyncDisabled&&de.isActive(),userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:h,onElementVolume:(C,R)=>de.setElementVolume(C,R),isWebAudioOwned:C=>de.ownsElement(C),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,Ce({source:"hf-preview",type:"media-autoplay-blocked"}))}});let y=Array.from(document.querySelectorAll("[data-start]")),w=E();for(let C of y){if(!(C instanceof HTMLElement))continue;if(C.hasAttribute("data-hidden")){dn.has(C)||(Qn.set(C,C.style.getPropertyValue("display")),dn.add(C)),C.style.display="none",(C instanceof HTMLVideoElement||C instanceof HTMLImageElement)&&n?.setSourceVisibility(C,!1);continue}if(dn.has(C)){let q=Qn.get(C);q?C.style.display=q:C.style.removeProperty("display"),Qn.delete(C),dn.delete(C)}let R=re(C,e.currentTime);if(R){let q=C.parentElement;for(;q&&q!==w;){if(q instanceof HTMLElement&&q.hasAttribute("data-start")&&!re(q,e.currentTime)){R=!1;break}q=q.parentElement}}C.style.visibility=R?"visible":"hidden",(C instanceof HTMLVideoElement||C instanceof HTMLImageElement)&&n?.setSourceVisibility(C,R),R?Mr(C)&&C.style.removeProperty("display"):Mr(C)&&yl(C)&&(C.style.display="none")}},Te=d=>{let p=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),h=Date.now();(d||p!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||h-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=p,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=h,Ce({source:"hf-preview",type:"state",frame:p,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},Zn="",Tr=0,El=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},rt=()=>{v(),F(),T();let d=E();if(d){let y=M(d.getAttribute("data-width")),w=M(d.getAttribute("data-height")),C=y?parseInt(y,10):0,R=w?parseInt(w,10):0;C>0&&R>0&&Ce({source:"hf-preview",type:"stage-size",width:C,height:R})}z();let p=vo({canonicalFps:e.canonicalFps});window.__clipManifest=p;let h=El();if(Zn!==h&&Sl(),!window.__clipTree||Zn!==h){let y=window;window.__clipTree=Ao({startResolver:Je({timelineRegistry:y.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:y.__timelines??{},rootDuration:p.durationInFrames/e.canonicalFps}),Zn=h}Ce(p),Oe()},ei=d=>Number.isFinite(d)&&d>0?d:0,Al=d=>{let p=ei(Number(d));if(p<=0)return;let h=E(),y=ei(Number.parseFloat(h?.getAttribute("data-duration")??"")),w=Math.max(Tr,ei(I.getDuration()),y);p<=w||(Tr=p,h?.setAttribute("data-duration",String(p)),I.setDuration(p),rt(),Te(!0))},Be=(d,p=0)=>{for(let h of e.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(y){L("runtime.init.site8",y)}if(d==="discover")try{h.seek({time:p,suppressEvents:!0})}catch(y){L("runtime.init.site9",y)}}},ot=()=>{window.__renderReady=!1},Ft=null,_t=!0,wl=()=>{let d=[];for(let p of e.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let y=h();y&&d.push(y)}catch(y){L("runtime.init.adapterReady",y)}}return d},Cl=()=>{let d=wl();if(d.length===0)return Ft=null,_t=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==Ft&&(Ft=p,_t=!1,Promise.resolve(p).then(()=>{Ft===p&&(_t=!0,ot())},h=>{Ft===p&&(_t=!0,L("runtime.init.adapterReady",h),ot())})),_t};if(Ee)rr();else{let d={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,parseDimensionPx:M,onDiagnostic:({code:p,details:h})=>{Ce({source:"hf-preview",type:"diagnostic",code:p,details:h})}};pa(d).then(()=>ma(d)).finally(()=>{Ee=!0,Jn(),wt(),rr(),lr(document),ot()})}let fn=xo({postMessage:d=>Ce(d)});fn.installPickerApi();let Ve=Ua();n=Ve,m(()=>{Ve.destroy(),n=null});let ti=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,p)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let h=document.querySelectorAll("video, audio");for(let y of h)if(y instanceof HTMLMediaElement)try{y.playbackRate=e.playbackRate}catch(w){L("runtime.init.site10",w)}},pe=So({getTimeline:()=>e.capturedTimeline,setTimeline:d=>{e.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>e.isPlaying,setIsPlaying:d=>{e.isPlaying!==d&&(e.mediaForceSyncNextTick=!0),e.isPlaying=d},getPlaybackRate:()=>e.playbackRate,setPlaybackRate:ti,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(d,p)=>{e.currentTime=Math.max(0,Number(d)||0),e.isPlaying!==p&&(e.mediaForceSyncNextTick=!0),e.isPlaying=p,Le()},onStatePost:Te,onDeterministicSeek:(d,p)=>{for(let h of e.deterministicAdapters)if(!(h.name==="gsap"&&e.capturedTimeline))try{h.seek({time:Number(d)||0,suppressEvents:p?.suppressEvents})}catch(y){L("runtime.init.site11",y)}},onDeterministicPause:()=>Be("pause"),onDeterministicPlay:()=>Be("play"),onRenderFrameSeek:()=>{Ve.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Q(e.capturedTimeline,0)});window.__player=x(pe),window.__playerReady=!0,Br(Ce),lt("composition_loaded",{duration:pe.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.controlBridgeHandler=Or({onPlay:()=>{pe.play(),lt("composition_played",{time:pe.getTime()})},onPause:()=>{pe.pause(),lt("composition_paused",{time:pe.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/e.canonicalFps;pe.seek(h),lt("composition_seeked",{time:h})},onSetMuted:d=>{e.bridgeMuted=d;let p=d||e.mediaOutputMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=p||y.defaultMuted)},onSetVolume:d=>{e.bridgeVolume=d,de.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let y=parseFloat(h.dataset.volume??""),w=Number.isFinite(y)?y:1;h.volume=w*d}},onSetMediaOutputMuted:d=>{e.mediaOutputMuted=d;let p=d||e.bridgeMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=p||y.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{e.nativeMediaSyncDisabled!==d&&(e.nativeMediaSyncDisabled=d,e.mediaForceSyncNextTick=!0,d?(de.stopAll(),I.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{e.webAudioMediaDisabled!==d&&(e.webAudioMediaDisabled=d,e.mediaForceSyncNextTick=!0,d&&(de.stopAll(),I.detachAudioSource()),Le())},onSetPlaybackRate:d=>{ti(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),Ir()},onSetRootDuration:Al,onSetColorGrading:(d,p)=>{Ve.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{Ve.setCompare(d,p)},onTick:()=>{if(e.tornDown||!I.isPlaying())return;let d=I.now();if(e.currentTime=d,st(d),I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),e.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),e.currentTime=p,st(p)),Be("pause"),Le(),Te(!0)}},onEnablePickMode:()=>fn.enablePickMode(),onDisablePickMode:()=>fn.disablePickMode()}),e.deterministicAdapters=[so(),zr({resolveStartSeconds:d=>k(d,0)}),qr(),Kr(),Yr(),Xr(),Qr(),Zr(),eo(),to(),no(),jr({getTimeline:()=>e.capturedTimeline})],ro(),oo(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,Jr(p)},ve(),Jn(),Be("discover");let I=new Un;e.transportClock=I;let de=new Vn,ni=!1;de.init().then(d=>{ni=d});let Fl=()=>{let d=e.capturedTimeline,p=z();e.capturedTimeline&&(p||e.capturedTimeline!==d||!pe._timeline)&&(pe._timeline=e.capturedTimeline);let h=Q(e.capturedTimeline,0);if(h>0&&I.setDuration(h),Be("discover",e.currentTime),!e.capturedTimeline){let y=window.__timelines??{},w=Object.keys(y).filter(C=>y[C]);if(w.length>0){let R=E()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:R?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:R,registeredTimelineKeys:w},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(R?`Root data-composition-id is "${R}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${w.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${R??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,rt(),Te(!0)};if(ot=()=>{if(!Ee||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Be("discover",e.currentTime),!Cl()){window.__renderReady=!1;return}Fl()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),ot()};window.addEventListener("hf-timelines-built",d)}ot(),Ee&&setTimeout(()=>{ot()},0);let mn=0,ii=!1,_l=(d,p,h,y)=>{try{let w=y?.suppressEvents===!0;d.pause(),typeof d.totalTime=="function"?d.totalTime(p,w):d.seek(p,w)}catch(w){L(h,w)}},vl=(d,p)=>{let h=window.__timelines??{},y=E()?.getAttribute("data-composition-id")??null;for(let[w,C]of Object.entries(h)){if(!C||w===y)continue;let R=document.querySelector(`[data-composition-id="${CSS.escape(w)}"]`);if(!R)continue;let q=k(R,0);if(!Number.isFinite(q))continue;let K=W(R,{includeAuthoredTimingAttrs:!0}),ge=H(C),xe=K!=null&&K>0?K:ge,ne=Math.max(0,xe!=null&&xe>0?Math.min(xe,d-q):d-q);_l(C,ne,"runtime.init.transport.childTimeline",p)}},Ml=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(y){L("runtime.init.activateSiblings",y)}},Nr=d=>typeof d=="object"&&d!==null,vt=new WeakMap,Tl=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],Lr=(d,p)=>{let h=d[p];if(typeof h!="function")return null;try{let y=Number(h.call(d));return Number.isFinite(y)?y:null}catch(y){return L("runtime.init.gsapCallbackDuration",y),null}},Nl=d=>{let p=vt.get(d);if(p!=null)return p;if(!("getChildren"in d)||typeof d.getChildren!="function")return!1;let h;try{h=d.getChildren(!0,!0,!0)}catch(y){return L("runtime.init.gsapCallbackChildren",y),vt.set(d,!1),!1}if(!Array.isArray(h))return vt.set(d,!1),!1;for(let y of h){if(!Nr(y)||!Nr(y.vars)||!Tl.some(q=>typeof y.vars[q]=="function"))continue;let R=Lr(y,"totalDuration")??Lr(y,"duration");if(R!=null&&R<=1e-6)return vt.set(d,!0),!0}return vt.set(d,!1),!1},st=(d,p)=>{let h=e.capturedTimeline,y=p?.suppressEvents===!0;if(h){p?.activateChildren&&Ml(h);let w=h,C=d;if(typeof w.totalDuration=="function")try{let R=Number(w.totalDuration());Number.isFinite(R)&&R>0&&d>R&&(C=R)}catch(R){L("runtime.init.transport.clampDuration",R)}try{typeof h.totalTime=="function"?(h.totalTime(C,y),!y&&!Nl(h)&&(h.totalTime(C+.001,!0),h.totalTime(C,!0))):h.seek(C,y)}catch(R){L("runtime.init.transport.seek",R)}}else vl(d,p);for(let w of e.deterministicAdapters)if(!(w.name==="gsap"&&h))try{w.seek({time:d,suppressEvents:y})}catch(C){L("runtime.init.transport.adapter",C)}},Ll=()=>{try{return document.querySelector(`[${za}]`)!=null}catch{return!1}},Rr=()=>{if(!(e.tornDown||ii)){ii=!0;try{if(e.transportRafId=window.requestAnimationFrame(Rr),mn+=1,mn%60===0&&!(I.isPlaying()&&e.capturedTimeline!=null&&I.now()<g)){let h=e.capturedTimeline;if(z()){e.capturedTimeline&&!pe._timeline&&(pe._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==h&&e.capturedTimeline.pause();let y=Q(e.capturedTimeline,0);y>0&&I.setDuration(y),rt()}}if(mn%20===0&&rt(),mn%30===0&&Jn(),e.capturedTimeline){let p=Q(e.capturedTimeline,0);p>0&&(!I.isPlaying()||p>=I.getDuration())&&I.setDuration(p)}if(I.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&de.isActive()&&de.context){let p=de.getTime();p>=0&&I.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let y of p){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let w=Number.parseFloat(y.dataset.start??""),C=Number.parseFloat(y.dataset.duration??""),R=Number.isFinite(C)&&C>0?w+C:1/0,q=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0;if(Number.isFinite(w)&&e.currentTime>=w&&e.currentTime<=R){y.paused?!y.error&&y.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(I.attachAudioSource({currentTimeSeconds:e.currentTime}),h=!0):(I.attachAudioSource({el:y,compositionStart:w,mediaStart:q}),h=!0);break}}!h&&I.hasAudioSource()&&I.detachAudioSource()}else I.hasAudioSource()&&I.detachAudioSource();let d=I.now();if(e.currentTime=d,(I.isPlaying()||!Ll())&&st(d),I.isPlaying()&&I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),e.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),e.currentTime=p,st(p)),Be("pause"),Le(),Te(!0);return}I.isPlaying()&&Le(),Te(!1)}finally{ii=!1}}},kr=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let w=Number.parseFloat(h.dataset.duration??""),C=Number.isFinite(w)&&w>0?y+w:1/0;if(d<y||d>=C)continue;let R=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,q=d-y+R;if(q>=0)try{h.currentTime=q}catch{}}},Dr=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let d=de.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let w=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,C=Number.parseFloat(h.dataset.volume??""),R=Number.isFinite(C)?C:1,q=Number.parseFloat(h.dataset.duration??""),K=Number.isFinite(q)&&q>0?q:Number.POSITIVE_INFINITY,ge=h.closest("[data-composition-id]");if(ge){let xe=k(ge,0),ne=W(ge,{includeAuthoredTimingAttrs:!0});ne!=null&&ne>0&&(K=Math.min(K,Math.max(0,xe+ne-y)))}de.decodeAudioElement(h).then(xe=>{!xe||!I.isPlaying()||de.schedulePlayback(h,xe,y,w,I.now(),R*e.bridgeVolume,d,e.playbackRate,K)})}},Ir=()=>{de.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&ni&&I.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),Dr())};if(pe.play=()=>{let d=e.capturedTimeline;if(I.isPlaying())return;let p=Q(d,0);if(p>0)I.setDuration(p),I.reachedEnd()&&(I.seek(0),e.currentTime=0,st(0));else{let h=E(),y=Number(h?.getAttribute("data-duration")??0);y>0&&I.setDuration(y)}d&&d.pause(),I.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,kr(I.now()),ni&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&Dr(),Be("play"),Le(),Ve.redraw(),Te(!0))},pe.pause=()=>{if(!I.isPlaying())return;de.stopAll(),I.detachAudioSource(),I.pause(),e.isPlaying=!1,e.currentTime=I.now(),e.mediaForceSyncNextTick=!0,kr(e.currentTime);let d=e.capturedTimeline;d&&d.pause(),Be("pause"),Le(),Ve.redraw(),Te(!0)},pe.seek=d=>{let p=pt(Math.max(0,Number(d)||0),e.canonicalFps);de.stopAll(),I.detachAudioSource(),I.isPlaying()&&I.pause(),I.seek(p),e.currentTime=I.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let y=e.capturedTimeline;y&&y.pause(),st(e.currentTime),Be("pause"),Le(),Ve.redraw(),Te(!0)},pe.renderSeek=(d,p)=>{let h=pt(Math.max(0,Number(d)||0),e.canonicalFps);I.isPlaying()&&I.pause(),I.seek(h),e.currentTime=I.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,st(e.currentTime,{activateChildren:!0,suppressEvents:p?.suppressEvents}),Le(),Ve.redraw(),Te(!0)},pe.getTime=()=>I.now(),pe.getDuration=()=>{let d=I.getDuration();return Number.isFinite(d)?d:0},pe.isPlaying=()=>I.isPlaying(),pe.setPlaybackRate=d=>{ti(d),I.setRate(e.playbackRate),Ir()},e.capturedTimeline){let d=Q(e.capturedTimeline,0);d>0&&I.setDuration(d),e.capturedTimeline.pause()}let Pr=window.__player;if(Pr){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(Pr,p,{get:()=>pe[p],set:h=>{pe[p]=h},configurable:!0})}wa(window),e.transportRafId=window.requestAnimationFrame(Rr),rt(),Te(!0);let ri=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,de.destroy(),it!=null&&(window.clearTimeout(it),it=null),l!=null&&(window.cancelAnimationFrame(l),l=null),bl(),e.controlBridgeHandler&&(window.removeEventListener("message",e.controlBridgeHandler),e.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),e.beforeUnloadHandler&&(window.removeEventListener("beforeunload",e.beforeUnloadHandler),e.beforeUnloadHandler=null),fn.disablePickMode();for(let d of e.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){L("runtime.init.site12",p)}e.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(p){L("runtime.init.site13",p)}for(let d of e.injectedCompStyles)try{d.remove()}catch(p){L("runtime.init.site14",p)}e.injectedCompStyles=[];for(let d of e.injectedCompScripts)try{d.remove()}catch(p){L("runtime.init.site15",p)}e.injectedCompScripts=[],e.capturedTimeline=null,window.__hfRuntimeTeardown===ri&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=ri,e.beforeUnloadHandler=ri,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var qa=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],br=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function Nf(e){if(e<=255)return qa[e];let t=0,n=br.length-1;for(;t<=n;){let i=t+n>>1,r=br[i];if(e<r[0]){n=i-1;continue}if(e>r[1]){t=i+1;continue}return r[2]}return"L"}function Lf(e){let t=e.length;if(t===0)return null;let n=new Array(t),i=!1;for(let u=0;u<t;){let c=e.charCodeAt(u),m=c,f=1;if(c>=55296&&c<=56319&&u+1<t){let S=e.charCodeAt(u+1);S>=56320&&S<=57343&&(m=(c-55296<<10)+(S-56320)+65536,f=2)}let x=Nf(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let S=0;S<f;S++)n[u+S]=x;u+=f}if(!i)return null;let r=0;for(let u=0;u<t;u++){let c=n[u];if(c==="L"){r=0;break}if(c==="R"||c==="AL"){r=1;break}}let o=new Int8Array(t);for(let u=0;u<t;u++)o[u]=r;let s=r&1?"R":"L",l=s,a=l;for(let u=0;u<t;u++)n[u]==="NSM"?n[u]=a:a=n[u];a=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=a==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(a=c)}for(let u=0;u<t;u++)n[u]==="AL"&&(n[u]="R");for(let u=1;u<t-1;u++)n[u]==="ES"&&n[u-1]==="EN"&&n[u+1]==="EN"&&(n[u]="EN"),n[u]==="CS"&&(n[u-1]==="EN"||n[u-1]==="AN")&&n[u+1]===n[u-1]&&(n[u]=n[u-1]);for(let u=0;u<t;u++){if(n[u]!=="EN")continue;let c;for(c=u-1;c>=0&&n[c]==="ET";c--)n[c]="EN";for(c=u+1;c<t&&n[c]==="ET";c++)n[c]="EN"}for(let u=0;u<t;u++){let c=n[u];(c==="WS"||c==="ES"||c==="ET"||c==="CS")&&(n[u]="ON")}a=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=a==="L"?"L":"EN":(c==="R"||c==="L")&&(a=c)}for(let u=0;u<t;u++){if(n[u]!=="ON")continue;let c=u+1;for(;c<t&&n[c]==="ON";)c++;let m=u>0?n[u-1]:l,f=c<t?n[c]:l,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let b=u;b<c;b++)n[b]=x;u=c-1}for(let u=0;u<t;u++)n[u]==="ON"&&(n[u]=s);for(let u=0;u<t;u++){let c=n[u];(o[u]&1)===0?c==="R"?o[u]++:(c==="AN"||c==="EN")&&(o[u]+=2):(c==="L"||c==="AN"||c==="EN")&&o[u]++}return o}function $a(e,t){let n=Lf(e);if(n===null)return null;let i=new Int8Array(t.length);for(let r=0;r<t.length;r++)i[r]=n[t[r]];return i}var Rf=/[ \\t\\n\\r\\f]+/g,kf=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Df(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function If(e){if(!kf.test(e))return e;let t=e.replace(Rf," ");return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function Pf(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var yr=null,Of;function Bf(){return yr===null&&(yr=new Intl.Segmenter(Of,{granularity:"word"})),yr}var Hf=/\\p{Script=Arabic}/u,zn=/\\p{M}/u,tl=/\\p{Nd}/u;function Ka(e){return Hf.test(e)}function Ja(e){return e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=183984&&e<=191471||e>=191472&&e<=192093||e>=194560&&e<=195103||e>=196608&&e<=201551||e>=201552&&e<=205743||e>=205744&&e<=210041||e>=63744&&e<=64255||e>=12288&&e<=12351||e>=12352&&e<=12447||e>=12448&&e<=12543||e>=44032&&e<=55215||e>=65280&&e<=65519}function Pe(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(!(n<12288)){if(n>=55296&&n<=56319&&t+1<e.length){let i=e.charCodeAt(t+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(Ja(r))return!0;t++;continue}}if(Ja(n))return!0}}return!1}function Gf(e){let t=$n(e);return t!==null&&(qn.has(t)||tt.has(t))}var Wf=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Uf(e){return Pe(e)}function Vf(e){let t=$n(e);return t!==null&&Wf.has(t)}function jn(e){return!Gf(e)&&!Vf(e)}var qn=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),ln=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Er=new Set(["\'","\\u2019"]),tt=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),zf=new Set([":",".","\\u060C","\\u061B"]),jf=new Set(["\\u104F"]),qf=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function $f(e){if(Ar(e))return!0;let t=!1;for(let n of e){if(tt.has(n)){t=!0;continue}if(!(t&&zn.test(n)))return!1}return t}function Kf(e){for(let t of e)if(!qn.has(t)&&!tt.has(t))return!1;return e.length>0}function Jf(e){if(Ar(e))return!0;for(let t of e)if(!ln.has(t)&&!Er.has(t)&&!zn.test(t))return!1;return e.length>0}function Ar(e){let t=!1;for(let n of e)if(!(n==="\\\\"||zn.test(n))){if(ln.has(n)||tt.has(n)||Er.has(n)){t=!0;continue}return!1}return t}function nl(e,t){let n=t-1;if(n<=0)return Math.max(n,0);let i=e.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=e.charCodeAt(r);return o>=55296&&o<=56319?r:n}function $n(e){if(e.length===0)return null;let t=nl(e,e.length);return e.slice(t)}function Yf(e){let t=Array.from(e),n=t.length;for(;n>0;){let i=t[n-1];if(zn.test(i)){n--;continue}if(ln.has(i)||Er.has(i)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(""),tail:t.slice(n).join("")}}function Xf(e,t,n){return n==="text"&&!t&&e.length===1&&e!=="-"&&e!=="\\u2014"?e:null}function Ya(e,t,n,i){let r=t[i],o=e[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let l=r.repeat(s);return e[i]=l,l}function Xa(e,t){return e&&t!==null&&zf.has(t)}function Qf(e){let t=$n(e);return t!==null&&jf.has(t)}function Zf(e){if(e.length<2||e[0]!==" ")return null;let t=e.slice(1);return/^\\p{M}+$/u.test(t)?{space:" ",marks:t}:null}function Kn(e){let t=e.length;for(;t>0;){let n=nl(e,t),i=e.slice(n,t);if(qf.has(i))return!0;if(!tt.has(i))return!1;t=n}return!1}function em(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===" ")return"preserved-space";if(e===" ")return"tab";if(t.preserveHardBreaks&&e===`\n`)return"hard-break"}return e===" "?"space":e==="\\xA0"||e==="\\u202F"||e==="\\u2060"||e==="\\uFEFF"?"glue":e==="\\u200B"?"zero-width-break":e==="\\xAD"?"soft-hyphen":"text"}var tm=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Ne(e){return e.length===1?e[0]:e.join("")}function nm(e,t){let n=[];for(let i=e.length-1;i>=0;i--)n.push(e[i]);return n.push(t),Ne(n)}function im(e,t,n,i){if(!tm.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let r=[],o=null,s=[],l=n,a=!1,u=0;for(let c of e){let m=em(c,i),f=m==="text"&&t;if(o!==null&&m===o&&f===a){s.push(c),u+=c.length;continue}o!==null&&r.push({text:Ne(s),isWordLike:a,kind:o,start:l}),o=m,s=[c],l=n+u,a=f,u+=c.length}return o!==null&&r.push({text:Ne(s),isWordLike:a,kind:o,start:l}),r}function Sr(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var rm=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function om(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:rm.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function sm(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function am(e){let t=e.texts.slice(),n=e.isWordLike.slice(),i=e.kinds.slice(),r=e.starts.slice();for(let s=0;s<e.len;s++){if(i[s]!=="text"||!om(e,s))continue;let l=[t[s]],a=s+1;for(;a<e.len&&!Sr(i[a]);){l.push(t[a]),n[s]=!0;let u=t[a].includes("?");if(i[a]="text",t[a]="",a++,u)break}t[s]=Ne(l)}let o=0;for(let s=0;s<t.length;s++){let l=t[s];l.length!==0&&(o!==s&&(t[o]=l,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return t.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:t,isWordLike:n,kinds:i,starts:r}}function lm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o];if(t.push(s),n.push(e.isWordLike[o]),i.push(e.kinds[o]),r.push(e.starts[o]),!sm(s))continue;let l=o+1;if(l>=e.len||Sr(e.kinds[l]))continue;let a=[],u=e.starts[l],c=l;for(;c<e.len&&!Sr(e.kinds[c]);)a.push(e.texts[c]),c++;a.length>0&&(t.push(Ne(a)),n.push(!0),i.push("text"),r.push(u),o=c-1)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}var um=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Qa=/^[A-Za-z0-9_]+[,:;]*$/,Za=/[,:;]+$/;function il(e){for(let t of e)if(tl.test(t))return!0;return!1}function an(e){if(e.length===0)return!1;for(let t of e)if(!(tl.test(t)||um.has(t)))return!1;return!0}function cm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o],l=e.kinds[o];if(l==="text"&&an(s)&&il(s)){let a=[s],u=o+1;for(;u<e.len&&e.kinds[u]==="text"&&an(e.texts[u]);)a.push(e.texts[u]),u++;t.push(Ne(a)),n.push(!0),i.push("text"),r.push(e.starts[o]),o=u-1;continue}t.push(s),n.push(e.isWordLike[o]),i.push(l),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function dm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o],l=e.kinds[o],a=e.isWordLike[o];if(l==="text"&&a&&Qa.test(s)){let u=[s],c=Za.test(s),m=o+1;for(;c&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&Qa.test(e.texts[m]);){let f=e.texts[m];u.push(f),c=Za.test(f),m++}t.push(Ne(u)),n.push(!0),i.push("text"),r.push(e.starts[o]),o=m-1;continue}t.push(s),n.push(a),i.push(l),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function fm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o];if(e.kinds[o]==="text"&&s.includes("-")){let l=s.split("-"),a=l.length>1;for(let u=0;u<l.length;u++){let c=l[u];if(!a)break;(c.length===0||!il(c)||!an(c))&&(a=!1)}if(a){let u=0;for(let c=0;c<l.length;c++){let m=l[c],f=c<l.length-1?`${m}-`:m;t.push(f),n.push(!0),i.push("text"),r.push(e.starts[o]+u),u+=f.length}continue}}t.push(s),n.push(e.isWordLike[o]),i.push(e.kinds[o]),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function mm(e){let t=[],n=[],i=[],r=[],o=0;for(;o<e.len;){let s=[e.texts[o]],l=e.isWordLike[o],a=e.kinds[o],u=e.starts[o];if(a==="glue"){let c=[s[0]],m=u;for(o++;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let f=Ne(c);if(o<e.len&&e.kinds[o]==="text")s[0]=f,s.push(e.texts[o]),l=e.isWordLike[o],a="text",u=m,o++;else{t.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<e.len&&e.kinds[o]==="glue";){let c=[];for(;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let m=Ne(c);if(o<e.len&&e.kinds[o]==="text"){s.push(m,e.texts[o]),l=l||e.isWordLike[o],o++;continue}s.push(m)}t.push(Ne(s)),n.push(l),i.push(a),r.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function pm(e){let t=e.texts.slice(),n=e.isWordLike.slice(),i=e.kinds.slice(),r=e.starts.slice();for(let o=0;o<t.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!Pe(t[o])||!Pe(t[o+1]))continue;let s=Yf(t[o]);s!==null&&(t[o]=s.head,t[o+1]=s.tail+t[o+1],r[o+1]=r[o]+s.head.length)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function el(e,t,n){let i=Bf(),r=0,o=[],s=[],l=[],a=[],u=[],c=[],m=[],f=[],x=[],S=[],b=[],g=[];for(let M of i.segment(e))for(let E of im(M.segment,M.isWordLike??!1,M.index,n)){let se=function(){c[P]!==null&&(s[P]=[Ya(o,c,m,P)],c[P]=null),s[P].push(E.text),l[P]=l[P]||E.isWordLike,f[P]=f[P]||T,x[P]=x[P]||k,S[P]=j,b[P]=re,g[P]=Xa(x[P],W)},F=E.kind==="text",v=Xf(E.text,E.isWordLike,E.kind),T=Pe(E.text),k=Ka(E.text),W=$n(E.text),j=Kn(E.text),re=Qf(E.text),P=r-1;t.carryCJKAfterClosingQuote&&F&&r>0&&a[P]==="text"&&T&&f[P]&&S[P]||F&&r>0&&a[P]==="text"&&Kf(E.text)&&f[P]||F&&r>0&&a[P]==="text"&&b[P]?se():F&&r>0&&a[P]==="text"&&E.isWordLike&&k&&g[P]?(se(),l[P]=!0):v!==null&&r>0&&a[P]==="text"&&c[P]===v?m[P]=(m[P]??1)+1:F&&!E.isWordLike&&r>0&&a[P]==="text"&&($f(E.text)||E.text==="-"&&l[P])?se():(o[r]=E.text,s[r]=[E.text],l[r]=E.isWordLike,a[r]=E.kind,u[r]=E.start,c[r]=v,m[r]=v===null?0:1,f[r]=T,x[r]=k,S[r]=j,b[r]=re,g[r]=Xa(k,W),r++)}for(let M=0;M<r;M++){if(c[M]!==null){o[M]=Ya(o,c,m,M);continue}o[M]=Ne(s[M])}for(let M=1;M<r;M++)a[M]==="text"&&!l[M]&&Ar(o[M])&&a[M-1]==="text"&&(o[M-1]+=o[M],l[M-1]=l[M-1]||l[M],o[M]="");let A=Array.from({length:r},()=>null),_=-1;for(let M=r-1;M>=0;M--){let E=o[M];if(E.length!==0){if(a[M]==="text"&&!l[M]&&Jf(E)&&_>=0&&a[_]==="text"){let F=A[_]??[];F.push(E),A[_]=F,u[_]=u[M],o[M]="";continue}_=M}}for(let M=0;M<r;M++){let E=A[M];E!=null&&(o[M]=nm(E,o[M]))}let N=0;for(let M=0;M<r;M++){let E=o[M];E.length!==0&&(N!==M&&(o[N]=E,l[N]=l[M],a[N]=a[M],u[N]=u[M]),N++)}o.length=N,l.length=N,a.length=N,u.length=N;let J=mm({len:N,texts:o,isWordLike:l,kinds:a,starts:u}),B=pm(dm(fm(cm(lm(am(J))))));for(let M=0;M<B.len-1;M++){let E=Zf(B.texts[M]);E!==null&&(B.kinds[M]!=="space"&&B.kinds[M]!=="preserved-space"||B.kinds[M+1]!=="text"||!Ka(B.texts[M+1])||(B.texts[M]=E.space,B.isWordLike[M]=!1,B.kinds[M]=B.kinds[M]==="preserved-space"?"preserved-space":"space",B.texts[M+1]=E.marks+B.texts[M+1],B.starts[M+1]=B.starts[M]+E.space.length))}return B}function hm(e,t){if(e.len===0)return[];if(!t.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}];let n=[],i=0;for(let r=0;r<e.len;r++)e.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<e.len&&n.push({startSegmentIndex:i,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}),n}function gm(e){if(e.len<=1)return e;let t=[],n=[],i=[],r=[],o=null,s=!1,l=0,a=!1,u=!1;function c(){o!==null&&(t.push(Ne(o)),n.push(s),i.push("text"),r.push(l),o=null)}for(let m=0;m<e.len;m++){let f=e.texts[m],x=e.kinds[m],S=e.isWordLike[m],b=e.starts[m];if(x==="text"){let g=Uf(f),A=jn(f);if(o!==null&&a&&u){o.push(f),s=s||S,a=a||g,u=A;continue}c(),o=[f],s=S,l=b,a=g,u=A;continue}c(),t.push(f),n.push(S),i.push(x),r.push(b)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function rl(e,t,n="normal",i="normal"){let r=Df(n),o=r.mode==="pre-wrap"?Pf(e):If(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?gm(el(o,t,r)):el(o,t,r);return{normalized:o,chunks:hm(s,r),...s}}var St=null,ol=new Map,Et=null,xm=96,bm=/\\p{Emoji_Presentation}/u,ym=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,wr=null,sl=new Map;function Cr(){if(St!==null)return St;if(typeof OffscreenCanvas<"u")return St=new OffscreenCanvas(1,1).getContext("2d"),St;if(typeof document<"u")return St=document.createElement("canvas").getContext("2d"),St;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function Sm(e){let t=ol.get(e);return t||(t=new Map,ol.set(e,t)),t}function $e(e,t){let n=t.get(e);return n===void 0&&(n={width:Cr().measureText(e).width,containsCJK:Pe(e)},t.set(e,n)),n}function At(){if(Et!==null)return Et;if(typeof navigator>"u")return Et={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},Et;let e=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&e.includes("Safari/")&&!e.includes("Chrome/")&&!e.includes("Chromium/")&&!e.includes("CriOS/")&&!e.includes("FxiOS/")&&!e.includes("EdgiOS/"),i=e.includes("Chrome/")||e.includes("Chromium/")||e.includes("CriOS/")||e.includes("Edg/");return Et={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},Et}function Em(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function al(){return wr===null&&(wr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),wr}function Am(e){return bm.test(e)||e.includes("\\uFE0F")}function ll(e){return ym.test(e)}function wm(e,t){let n=sl.get(e);if(n!==void 0)return n;let i=Cr();i.font=e;let r=i.measureText("\\u{1F600}").width;if(n=0,r>t+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=e,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return sl.set(e,n),n}function Cm(e){let t=0,n=al();for(let i of n.segment(e))Am(i.segment)&&t++;return t}function Fm(e,t){return t.emojiCount===void 0&&(t.emojiCount=Cm(e)),t.emojiCount}function nt(e,t,n){return n===0?t.width:t.width-Fm(e,t)*n}function ul(e,t,n,i,r){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=al(),s=[];for(let c of o.segment(e))s.push(c.segment);if(s.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(r==="sum-graphemes"){let c=[];for(let m of s){let f=$e(m,n);c.push(nt(m,f,i))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(r==="pair-context"||s.length>xm){let c=[],m=null,f=0;for(let x of s){let S=$e(x,n),b=nt(x,S,i);if(m===null)c.push(b);else{let g=m+x,A=$e(g,n);c.push(nt(g,A,i)-f)}m=x,f=b}return t.breakableFitAdvances=c,t.breakableFitAdvances}let l=[],a="",u=0;for(let c of s){a+=c;let m=$e(a,n),f=nt(a,m,i);l.push(f-u),u=f}return t.breakableFitAdvances=l,t.breakableFitAdvances}function cl(e,t){let n=Cr();n.font=e;let i=Sm(e),r=Em(e),o=t?wm(e,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function _m(e,t){for(;t<e.widths.length;){let n=e.kinds[t];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;t++}return t}function vm(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function Mm(e,t,n,i,r){let o=0,s=t;for(;o<e.length;){let l=s+e[o];if((o+1<e.length?l+r:l)>n+i)break;s=l,o++}return{fitCount:o,fittedWidth:s}}function dl(e,t){return e.simpleLineWalkFastPath?fl(e,t):ml(e,t)}function fl(e,t,n){let{widths:i,kinds:r,breakableFitAdvances:o}=e;if(i.length===0)return 0;let l=At().lineFitEpsilon,a=t+l,u=0,c=0,m=!1,f=0,x=0,S=0,b=0,g=-1,A=0;function _(){g=-1,A=0}function N(v=S,T=b,k=c){u++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:v,endGraphemeIndex:T,width:k}),c=0,m=!1,_()}function J(v,T){m=!0,f=v,x=0,S=v+1,b=0,c=T}function B(v,T,k){m=!0,f=v,x=T,S=v,b=T+1,c=k}function M(v,T){if(!m){J(v,T);return}c+=T,S=v+1,b=0}function E(v,T){let k=o[v];for(let W=T;W<k.length;W++){let j=k[W];m?c+j>a?(N(),B(v,W,j)):(c+=j,S=v,b=W+1):B(v,W,j)}m&&S===v&&b===k.length&&(S=v+1,b=0)}let F=0;for(;F<i.length&&!(!m&&(F=_m(e,F),F>=i.length));){let v=i[F],T=r[F],k=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!m){v>t&&o[F]!==null?E(F,0):J(F,v),k&&(g=F+1,A=c-v),F++;continue}if(c+v>a){if(k){M(F,v),N(F+1,0,c-v),F++;continue}if(g>=0){if(S>g||S===g&&b>0){N();continue}N(g,0,A);continue}if(v>t&&o[F]!==null){N(),E(F,0),F++;continue}N();continue}M(F,v),k&&(g=F+1,A=c-v),F++}return m&&N(),u}function ml(e,t,n){if(e.simpleLineWalkFastPath)return fl(e,t,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:l,discretionaryHyphenWidth:a,tabStopAdvance:u,chunks:c}=e;if(i.length===0||c.length===0)return 0;let m=At(),f=m.lineFitEpsilon,x=t+f,S=0,b=0,g=!1,A=0,_=0,N=0,J=0,B=-1,M=0,E=0,F=null;function v(){B=-1,M=0,E=0,F=null}function T(H=N,U=J,V=b){S++,n?.({startSegmentIndex:A,startGraphemeIndex:_,endSegmentIndex:H,endGraphemeIndex:U,width:V}),b=0,g=!1,v()}function k(H,U){g=!0,A=H,_=0,N=H+1,J=0,b=U}function W(H,U,V){g=!0,A=H,_=U,N=H,J=U+1,b=V}function j(H,U){if(!g){k(H,U);return}b+=U,N=H+1,J=0}function re(H,U,V,oe){if(!U)return;let _e=H==="tab"?0:r[V],O=H==="tab"?oe:o[V];B=V+1,M=b-oe+_e,E=b-oe+O,F=H}function P(H,U){let V=l[H];for(let oe=U;oe<V.length;oe++){let _e=V[oe];g?b+_e>x?(T(),W(H,oe,_e)):(b+=_e,N=H,J=oe+1):W(H,oe,_e)}g&&N===H&&J===V.length&&(N=H+1,J=0)}function se(H){if(F!=="soft-hyphen")return!1;let U=l[H];if(U==null)return!1;let{fitCount:V,fittedWidth:oe}=Mm(U,b,t,f,a);return V===0?!1:(b=oe,N=H,J=V,v(),V===U.length?(N=H+1,J=0,!0):(T(H,V,oe+a),P(H,V),!0))}function Ee(H){S++,n?.({startSegmentIndex:H.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:H.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),v()}for(let H=0;H<c.length;H++){let U=c[H];if(U.startSegmentIndex===U.endSegmentIndex){Ee(U);continue}g=!1,b=0,A=U.startSegmentIndex,_=0,N=U.startSegmentIndex,J=0,v();let V=U.startSegmentIndex;for(;V<U.endSegmentIndex;){let oe=s[V],_e=oe==="space"||oe==="preserved-space"||oe==="tab"||oe==="zero-width-break"||oe==="soft-hyphen",O=oe==="tab"?vm(b,u):i[V];if(oe==="soft-hyphen"){g&&(N=V+1,J=0,B=V+1,M=b+a,E=b+a,F=oe),V++;continue}if(!g){O>t&&l[V]!==null?P(V,0):k(V,O),re(oe,_e,V,O),V++;continue}if(b+O>x){let G=b+(oe==="tab"?0:r[V]),Q=b+(oe==="tab"?O:o[V]);if(F==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&M<=x){T(B,0,E);continue}if(F==="soft-hyphen"&&se(V)){V++;continue}if(_e&&G<=x){j(V,O),T(V+1,0,Q),V++;continue}if(B>=0&&M<=x){if(N>B||N===B&&J>0){T();continue}let ae=B;T(ae,0,E),V=ae;continue}if(O>t&&l[V]!==null){T(),P(V,0),V++;continue}T();continue}j(V,O),re(oe,_e,V,O),V++}if(g){let oe=B===U.consumedEndSegmentIndex?E:b;T(U.consumedEndSegmentIndex,0,oe)}}return S}var Fr=null;function Tm(){return Fr===null&&(Fr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Fr}function Nm(e){return e?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Lm(e,t){let n=[],i=[],r=0,o=!1,s=!1,l=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,l=!1)}function u(m,f,x){i=[m],r=f,o=x,s=Kn(m),l=ln.has(m)}function c(m,f){i.push(m),o=o||f;let x=Kn(m);m.length===1&&tt.has(m)?s=s||x:s=x,l=!1}for(let m of Tm().segment(e)){let f=m.segment,x=Pe(f);if(i.length===0){u(f,m.index,x);continue}if(l||qn.has(f)||tt.has(f)||t.carryCJKAfterClosingQuote&&x&&s){c(f,x);continue}if(!o&&!x){c(f,x);continue}a(),u(f,m.index,x)}return a(),n}function Rm(e){if(e.length<=1)return e;let t=[],n=[e[0].text],i=e[0].start,r=Pe(e[0].text),o=jn(e[0].text);function s(){t.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let l=1;l<e.length;l++){let a=e[l],u=Pe(a.text),c=jn(a.text);if(r&&o){n.push(a.text),r=r||u,o=c;continue}s(),n=[a.text],i=a.start,r=u,o=c}return s(),t}function km(e,t,n,i){let r=At(),{cache:o,emojiCorrection:s}=cl(t,ll(e.normalized)),l=nt("-",$e("-",o),s),u=nt(" ",$e(" ",o),s)*8;if(e.len===0)return Nm(n);let c=[],m=[],f=[],x=[],S=e.chunks.length<=1,b=n?[]:null,g=[],A=n?[]:null,_=Array.from({length:e.len});function N(E,F,v,T,k,W,j){k!=="text"&&k!=="space"&&k!=="zero-width-break"&&(S=!1),c.push(F),m.push(v),f.push(T),x.push(k),b?.push(W),g.push(j),A!==null&&A.push(E)}function J(E,F,v,T,k){let W=$e(E,o),j=nt(E,W,s),re=F==="space"||F==="preserved-space"||F==="zero-width-break"?0:j,P=F==="space"||F==="zero-width-break"?0:j;if(k&&T&&E.length>1){let se="sum-graphemes";an(E)?se="pair-context":r.preferPrefixWidthsForBreakableRuns&&(se="segment-prefixes");let Ee=ul(E,W,o,s,se);N(E,j,re,P,F,v,Ee);return}N(E,j,re,P,F,v,null)}for(let E=0;E<e.len;E++){_[E]=c.length;let F=e.texts[E],v=e.isWordLike[E],T=e.kinds[E],k=e.starts[E];if(T==="soft-hyphen"){N(F,0,l,l,T,k,null);continue}if(T==="hard-break"){N(F,0,0,0,T,k,null);continue}if(T==="tab"){N(F,0,0,0,T,k,null);continue}let W=$e(F,o);if(T==="text"&&W.containsCJK){let j=Lm(F,r),re=i==="keep-all"?Rm(j):j;for(let P=0;P<re.length;P++){let se=re[P];J(se.text,"text",k+se.start,v,i==="keep-all"||!Pe(se.text))}continue}J(F,T,k,v,!0)}let B=Dm(e.chunks,_,c.length),M=b===null?null:$a(e.normalized,b);return A!==null?{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:S,segLevels:M,breakableFitAdvances:g,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:B,segments:A}:{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:S,segLevels:M,breakableFitAdvances:g,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:B}}function Dm(e,t,n){let i=[];for(let r=0;r<e.length;r++){let o=e[r],s=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,l=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:l,consumedEndSegmentIndex:a})}return i}function Im(e,t,n,i){let r=i?.wordBreak??"normal",o=rl(e,At(),i?.whiteSpace,r);return km(o,t,n,r)}function pl(e,t,n){return Im(e,t,!1,n)}function hl(e,t,n){let i=dl(e,t);return{lineCount:i,height:i*n}}var Pm={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function gl(e,t){let n={...Pm,...t},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=pl(e,o),{lineCount:l}=hl(s,n.maxWidth,r*i);if(l<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};Ia();window.__hyperframes={fitTextFontSize:gl,getVariables:Gr};function xl(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,ja())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",xl,{once:!0}):xl();})();\n';
|
|
56527
|
+
RUNTIME_IIFE = '"use strict";(()=>{var kl=Object.create;var si=Object.defineProperty;var Dl=Object.getOwnPropertyDescriptor;var Il=Object.getOwnPropertyNames;var Pl=Object.getPrototypeOf,Ol=Object.prototype.hasOwnProperty;var Bl=(e,t,n)=>t in e?si(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Hl=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Il(t))!Ol.call(e,r)&&r!==n&&si(e,r,{get:()=>t[r],enumerable:!(i=Dl(t,r))||i.enumerable});return e};var Gl=(e,t,n)=>(n=e!=null?kl(Pl(e)):{},Hl(t||!e||!e.__esModule?si(n,"default",{value:e,enumerable:!0}):n,e));var ye=(e,t,n)=>Bl(e,typeof t!="symbol"?t+"":t,n);var Mo=Z((Zp,_i)=>{var Y=String,vo=function(){return{isColorSupported:!1,reset:Y,bold:Y,dim:Y,italic:Y,underline:Y,inverse:Y,hidden:Y,strikethrough:Y,black:Y,red:Y,green:Y,yellow:Y,blue:Y,magenta:Y,cyan:Y,white:Y,gray:Y,bgBlack:Y,bgRed:Y,bgGreen:Y,bgYellow:Y,bgBlue:Y,bgMagenta:Y,bgCyan:Y,bgWhite:Y,blackBright:Y,redBright:Y,greenBright:Y,yellowBright:Y,blueBright:Y,magentaBright:Y,cyanBright:Y,whiteBright:Y,bgBlackBright:Y,bgRedBright:Y,bgGreenBright:Y,bgYellowBright:Y,bgBlueBright:Y,bgMagentaBright:Y,bgCyanBright:Y,bgWhiteBright:Y}};_i.exports=vo();_i.exports.createColors=vo});var vi=Z(()=>{});var Sn=Z((nh,Lo)=>{"use strict";var To=Mo(),No=vi(),Ht=class e extends Error{constructor(t,n,i,r,o,s){super(t),this.name="CssSyntaxError",this.reason=t,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(t){if(!this.source)return"";let n=this.source;t==null&&(t=To.isColorSupported);let i=c=>c,r=c=>c,o=c=>c;if(t){let{bold:c,gray:m,red:f}=To.createColors(!0);r=x=>c(f(x)),i=x=>m(x),No&&(o=x=>No(x))}let s=n.split(/\\r?\\n/),l=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),u=String(a).length;return s.slice(l,a).map((c,m)=>{let f=l+1+m,x=" "+(" "+f).slice(-u)+" | ";if(f===this.line){if(c.length>160){let b=20,g=Math.max(0,this.column-b),E=Math.max(this.column+b,this.endColumn+b),_=c.slice(g,E),N=i(x.replace(/\\d/g," "))+c.slice(0,Math.min(this.column-1,b-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(_)+`\n `+N+r("^")}let S=i(x.replace(/\\d/g," "))+c.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(c)+`\n `+S+r("^")}return" "+i(x)+o(c)}).join(`\n`)}toString(){let t=this.showSourceCode();return t&&(t=`\n\n`+t+`\n`),this.name+": "+this.message+t}};Lo.exports=Ht;Ht.default=Ht});var Mi=Z((ih,ko)=>{"use strict";var Du=/(<)(\\/?style\\b)/gi,Iu=/(<)(!--)/g;function Ye(e){return typeof e!="string"||!e.includes("<")?e:e.replace(Du,"\\\\3c $2").replace(Iu,"\\\\3c $2")}var Ro={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Pu(e){return e[0].toUpperCase()+e.slice(1)}var Gt=class{constructor(t){this.builder=t}atrule(t,n){let i=t.raws,r="@"+t.name,o=t.params?this.rawValue(t,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),t.nodes)this.block(t,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(Ye(r+o+s),t)}}beforeAfter(t,n){let i;t.type==="decl"?i=this.raw(t,null,"beforeDecl"):t.type==="comment"?i=this.raw(t,null,"beforeComment"):n==="before"?i=this.raw(t,null,"beforeRule"):i=this.raw(t,null,"beforeClose");let r=t.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(t,null,"indent");if(s.length)for(let l=0;l<o;l++)i+=s}return i}block(t,n){let i=this.raw(t,"between","beforeOpen");this.builder(Ye(n+i)+"{",t,"start");let r;t.nodes&&t.nodes.length?(this.body(t),r=this.raw(t,"after")):r=this.raw(t,"after","emptyBody"),r&&this.builder(Ye(r)),this.builder("}",t,"end")}body(t){let n=t.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(t,"semicolon"),o=t.type==="document";for(let s=0;s<n.length;s++){let l=n[s],a=this.raw(l,"before");a&&this.builder(o?a:Ye(a)),this.stringify(l,i!==s||r)}}comment(t){let n=this.raw(t,"left","commentLeft"),i=this.raw(t,"right","commentRight");this.builder(Ye("/*"+n+t.text+i+"*/"),t)}decl(t,n){let i=t.raws,r=this.raw(t,"between","colon"),o=t.prop+r+this.rawValue(t,"value");t.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(Ye(o),t)}document(t){this.body(t)}raw(t,n,i){let r;if(i||(i=n),n&&(r=t.raws[n],typeof r<"u"))return r;let o=t.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return Ro[i];let s=t.root(),l=s.rawCache||(s.rawCache={});if(typeof l[i]<"u")return l[i];if(i==="before"||i==="after")return this.beforeAfter(t,i);{let a="raw"+Pu(i);this[a]?r=this[a](s,t):s.walk(u=>{if(r=u.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Ro[i]),l[i]=r,r}rawBeforeClose(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(t,n){let i;return t.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(t,n){let i;return t.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(t){let n;return t.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(t){let n;return t.walk(i=>{if(i.nodes&&(i.parent!==t||t.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(t){let n;return t.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(t){if(t.raws.indent)return t.raws.indent;let n;return t.walk(i=>{let r=i.parent;if(r&&r!==t&&r.parent&&r.parent===t&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let i=t[n],r=t.raws[n];return r&&r.value===i?r.raw:i}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,i=t.parent&&t.parent.type==="document";this.builder(i?n:Ye(n))}}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(Ye(t.raws.ownSemicolon),t,"end")}stringify(t,n){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,n)}};ko.exports=Gt;Gt.default=Gt});var Wt=Z((rh,Do)=>{"use strict";var Ou=Mi();function Ti(e,t){new Ou(t).stringify(e)}Do.exports=Ti;Ti.default=Ti});var En=Z((oh,Ni)=>{"use strict";Ni.exports.isClean=Symbol("isClean");Ni.exports.my=Symbol("my")});var zt=Z((sh,Io)=>{"use strict";var Bu=Sn(),Hu=Mi(),Gu=Wt(),{isClean:Ut,my:Wu}=En();function Li(e,t){let n=new e.constructor;for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i)||i==="proxyCache")continue;let r=e[i],o=typeof r;i==="parent"&&o==="object"?t&&(n[i]=t):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>Li(s,n)):(o==="object"&&r!==null&&(r=Li(r)),n[i]=r)}return n}function je(e,t){if(t&&typeof t.offset<"u")return t.offset;let n=1,i=1,r=0;for(let o=0;o<e.length;o++){if(i===t.line&&n===t.column){r=o;break}e[o]===`\n`?(n=1,i+=1):n+=1}return r}var Vt=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[Ut]=!1,this[Wu]=!0;for(let n in t)if(n==="nodes"){this.nodes=[];for(let i of t[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=t[n]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\\n\\s{4}at /.test(t.stack)){let n=this.source;t.stack=t.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let n in t)this[n]=t[n];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let n=Li(this);for(let i in t)n[i]=t[i];return n}cloneAfter(t={}){let n=this.clone(t);return this.parent.insertAfter(this,n),n}cloneBefore(t={}){let n=this.clone(t);return this.parent.insertBefore(this,n),n}error(t,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(t,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Bu(t)}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:n==="root"?()=>t.root().toProxy():t[n]},set(t,n,i){return t[n]===i||(t[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&t.markDirty()),!0}}}markClean(){this[Ut]=!0}markDirty(){if(this[Ut]){this[Ut]=!1;let t=this;for(;t=t.parent;)t[Ut]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t={}){let n=this.source.start;if(t.index)n=this.positionInside(t.index);else if(t.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(je(i,this.source.start),je(i,this.source.end)).indexOf(t.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(t){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=je(r,this.source.start),s=o+t;for(let l=o;l<s;l++)r[l]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:je(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:je(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(t.word){let s=n.slice(je(n,this.source.start),je(n,this.source.end)).indexOf(t.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+t.word.length))}else t.start?i={column:t.start.column,line:t.start.line,offset:je(n,t.start)}:t.index&&(i=this.positionInside(t.index)),t.end?r={column:t.end.column,line:t.end.line,offset:je(n,t.end)}:typeof t.endIndex=="number"?r=this.positionInside(t.endIndex):t.index&&(r=this.positionInside(t.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(t,n){return new Hu().raw(this,t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let n=this,i=!1;for(let r of t)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let l=this[s];if(Array.isArray(l))i[s]=l.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof l=="object"&&l.toJSON)i[s]=l.toJSON(null,n);else if(s==="source"){if(l==null)continue;let a=n.get(l.input);a==null&&(a=o,n.set(l.input,o),o++),i[s]={end:l.end,inputId:a,start:l.start}}else i[s]=l}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=Gu){t.stringify&&(t=t.stringify);let n="";return t(this,i=>{n+=i}),n}warn(t,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return t.warn(n,r)}};Io.exports=Vt;Vt.default=Vt});var qt=Z((ah,Po)=>{"use strict";var Uu=zt(),jt=class extends Uu{constructor(t){super(t),this.type="comment"}};Po.exports=jt;jt.default=jt});var Kt=Z((lh,Oo)=>{"use strict";var Vu=zt(),$t=class extends Vu{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}};Oo.exports=$t;$t.default=$t});var Xe=Z((uh,qo)=>{"use strict";var Bo=qt(),Ho=Kt(),zu=zt(),{isClean:Go,my:Wo}=En(),Ri,Uo,Vo,ki;function zo(e){return e.map(t=>(t.nodes&&(t.nodes=zo(t.nodes)),delete t.source,t))}function jo(e){if(e[Go]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)jo(t)}var Ie=class e extends zu{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...t){for(let n of t){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let n of this.nodes)n.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=t(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:t[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>t[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>t[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,i){return t[n]===i||(t[n]=i,(n==="name"||n==="params"||n==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,n){let i=this.index(t),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(t);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(t,n){let i=this.index(t),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(t);for(let l of o)this.proxyOf.nodes.splice(i,0,l);let s;for(let l in this.indexes)s=this.indexes[l],i<=s&&(this.indexes[l]=s+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=zo(Uo(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let r of t)r.parent&&r.parent.removeChild(r,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let r of t)r.parent&&r.parent.removeChild(r,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new Ho(t)]}else if(t.selector||t.selectors)t=[new ki(t)];else if(t.name)t=[new Ri(t)];else if(t.text)t=[new Bo(t)];else throw new Error("Unknown node type in node creation");return t.map(r=>(r[Wo]||e.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[Go]&&jo(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...t){t=t.reverse();for(let n of t){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=t&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(t,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(t,i))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,i)=>{let r;try{r=t(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(t)),r})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&t.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(t){return this.walk((n,i)=>{if(n.type==="comment")return t(n,i)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&t.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&t.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};Ie.registerParse=e=>{Uo=e};Ie.registerRule=e=>{ki=e};Ie.registerAtRule=e=>{Ri=e};Ie.registerRoot=e=>{Vo=e};qo.exports=Ie;Ie.default=Ie;Ie.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,Ri.prototype):e.type==="rule"?Object.setPrototypeOf(e,ki.prototype):e.type==="decl"?Object.setPrototypeOf(e,Ho.prototype):e.type==="comment"?Object.setPrototypeOf(e,Bo.prototype):e.type==="root"&&Object.setPrototypeOf(e,Vo.prototype),e[Wo]=!0,e.nodes&&e.nodes.forEach(t=>{Ie.rebuild(t)})}});var An=Z((ch,Ko)=>{"use strict";var $o=Xe(),pt=class extends $o{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}};Ko.exports=pt;pt.default=pt;$o.registerAtRule(pt)});var wn=Z((dh,Xo)=>{"use strict";var ju=Xe(),Jo,Yo,ut=class extends ju{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new Jo(new Yo,this,t).stringify()}};ut.registerLazyResult=e=>{Jo=e};ut.registerProcessor=e=>{Yo=e};Xo.exports=ut;ut.default=ut});var Zo=Z((fh,Qo)=>{var qu="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",$u=(e,t=21)=>(n=t)=>{let i="",r=n|0;for(;r--;)i+=e[Math.random()*e.length|0];return i},Ku=(e=21)=>{let t="",n=e|0;for(;n--;)t+=qu[Math.random()*64|0];return t};Qo.exports={nanoid:Ku,customAlphabet:$u}});var Cn=Z(()=>{});var Fn=Z(()=>{});var Di=Z(()=>{});var es=Z(()=>{});var Pi=Z((Eh,is)=>{"use strict";var{existsSync:Ju,readFileSync:Yu}=es(),{dirname:Ii,join:Xu}=Cn(),{SourceMapConsumer:ts,SourceMapGenerator:ns}=Fn();function Qu(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var Jt=class{constructor(t,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=Ii(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new ts(this.json||this.text)),this.consumerCache}decodeInline(t){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=t.match(r)||t.match(o);if(s)return decodeURIComponent(t.substr(s[0].length));let l=t.match(n)||t.match(i);if(l)return Qu(t.substr(l[0].length));let a=t.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(t){return t.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let n=t.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=t.lastIndexOf(n.pop()),r=t.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(t.substring(i,r)))}loadFile(t,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(t))&&(this.root=Ii(t),Ju(t)))return this.mapFile=t,Yu(t,"utf-8").toString().trim()}loadMap(t,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(t);if(i){let r=this.loadFile(i,t,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof ts)return ns.fromSourceMap(n).toString();if(n instanceof ns)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;t&&(i=Xu(Ii(t),i));let r=this.loadFile(i,t,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(t,n){return t?t.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};is.exports=Jt;Jt.default=Jt});var Yt=Z((Ah,ls)=>{"use strict";var{nanoid:Zu}=Zo(),{isAbsolute:Hi,resolve:Gi}=Cn(),{SourceMapConsumer:ec,SourceMapGenerator:tc}=Fn(),{fileURLToPath:rs,pathToFileURL:_n}=Di(),os=Sn(),nc=Pi(),Oi=vi(),Bi=Symbol("lineToIndexCache"),ic=!!(ec&&tc),ss=!!(Gi&&Hi);function as(e){if(e[Bi])return e[Bi];let t=e.css.split(`\n`),n=new Array(t.length),i=0;for(let r=0,o=t.length;r<o;r++)n[r]=i,i+=t[r].length+1;return e[Bi]=n,n}var ht=class{get from(){return this.file||this.id}constructor(t,n={}){if(t===null||typeof t>"u"||typeof t=="object"&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!ss||/^\\w+:\\/\\//.test(n.from)||Hi(n.from)?this.file=n.from:this.file=Gi(n.from)),ss&&ic){let i=new nc(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Zu(6)+">"),this.map&&(this.map.file=this.from)}error(t,n,i,r={}){let o,s,l,a,u;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){l=f.offset;let x=this.fromOffset(l);s=x.line,o=x.col}else s=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let c=this.origin(n,i,s,o);return c?u=new os(t,c.endLine===void 0?c.line:{column:c.column,line:c.line},c.endLine===void 0?c.column:{column:c.endColumn,line:c.endLine},c.source,c.file,r.plugin):u=new os(t,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),u.input={column:i,endColumn:o,endLine:s,endOffset:l,line:n,offset:a,source:this.css},this.file&&(_n&&(u.input.url=_n(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(t,n){return as(this)[t-1]+n-1}fromOffset(t){let n=as(this),i=n[n.length-1],r=0;if(t>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),t<n[s])o=s-1;else if(t>=n[s+1])r=s+1;else{r=s;break}}return{col:t-n[r]+1,line:r+1}}mapResolve(t){return/^\\w+:\\/\\//.test(t)?t:Gi(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:t});if(!s.source)return!1;let l;typeof i=="number"&&(l=o.originalPositionFor({column:r,line:i}));let a;Hi(s.source)?a=_n(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||_n(this.map.mapFile));let u={column:s.column,endColumn:l&&l.column,endLine:l&&l.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(rs)u.file=rs(a);else throw new Error("file: protocol is not available in this PostCSS build");let c=o.sourceContentFor(s.source);return c&&(u.source=c),u}toJSON(){let t={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(t[n]=this[n]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}};ls.exports=ht;ht.default=ht;Oi&&Oi.registerInput&&Oi.registerInput(ht)});var gt=Z((wh,fs)=>{"use strict";var us=Xe(),cs,ds,Qe=class extends us{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,n,i){let r=super.normalize(t);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(t,n){let i=this.index(t);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(t)}toResult(t={}){return new cs(new ds,this,t).stringify()}};Qe.registerLazyResult=e=>{cs=e};Qe.registerProcessor=e=>{ds=e};fs.exports=Qe;Qe.default=Qe;us.registerRoot(Qe)});var Wi=Z((Ch,ms)=>{"use strict";var Xt={comma(e){return Xt.split(e,[","],!0)},space(e){let t=[" ",`\n`," "];return Xt.split(e,t)},split(e,t,n){let i=[],r="",o=!1,s=0,l=!1,a="",u=!1;for(let c of e)u?u=!1:c==="\\\\"?u=!0:l?c===a&&(l=!1):c===\'"\'||c==="\'"?(l=!0,a=c):c==="("?s+=1:c===")"?s>0&&(s-=1):s===0&&t.includes(c)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=c;return(n||r!=="")&&i.push(r.trim()),i}};ms.exports=Xt;Xt.default=Xt});var vn=Z((Fh,hs)=>{"use strict";var ps=Xe(),rc=Wi(),xt=class extends ps{get selectors(){return rc.comma(this.selector)}set selectors(t){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=t.join(i)}constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}};hs.exports=xt;xt.default=xt;ps.registerRule(xt)});var xs=Z((_h,gs)=>{"use strict";var oc=An(),sc=qt(),ac=Kt(),lc=Yt(),uc=Pi(),cc=gt(),dc=vn();function Qt(e,t){if(Array.isArray(e))return e.map(r=>Qt(r));let{inputs:n,...i}=e;if(n){t=[];for(let r of n){let o={...r,__proto__:lc.prototype};o.map&&(o.map={...o.map,__proto__:uc.prototype}),t.push(o)}}if(i.nodes&&(i.nodes=e.nodes.map(r=>Qt(r,t))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=t[r])}if(i.type==="root")return new cc(i);if(i.type==="decl")return new ac(i);if(i.type==="rule")return new dc(i);if(i.type==="comment")return new sc(i);if(i.type==="atrule")return new oc(i);throw new Error("Unknown node type: "+e.type)}gs.exports=Qt;Qt.default=Qt});var Vi=Z((vh,ws)=>{"use strict";var{dirname:Mn,relative:ys,resolve:Ss,sep:Es}=Cn(),{SourceMapConsumer:As,SourceMapGenerator:Tn}=Fn(),{pathToFileURL:bs}=Di(),fc=Yt(),mc=!!(As&&Tn),pc=!!(Mn&&Ss&&ys&&Es),Ui=class{constructor(t,n,i,r){this.stringify=t,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let t;this.isInline()?t="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?t=this.mapOpts.annotation(this.opts.to,this.root):t=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let n=this.toUrl(this.path(t.file)),i=t.root||Mn(t.file),r;this.mapOpts.sourcesContent===!1?(r=new As(t.text),r.sourcesContent&&(r.sourcesContent=null)):r=t.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let t;for(let n=this.root.nodes.length-1;n>=0;n--)t=this.root.nodes[n],t.type==="comment"&&t.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let t;for(;(t=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",t+3);if(n===-1)break;for(;t>0&&this.css[t-1]===`\n`;)t--;this.css=this.css.slice(0,t)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),pc&&mc&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,n=>{t+=n}),[t]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=Tn.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new Tn({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new Tn({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(l,a,u)=>{if(this.css+=l,a&&u!=="end"&&(r.generated.line=t,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=l.match(/\\n/g),s?(t+=s.length,o=l.lastIndexOf(`\n`),n=l.length-o):n+=l.length,a&&u!=="start"){let c=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==c.last||c.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=t,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=t,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\\w+:\\/\\//.test(t))return t;let n=this.memoizedPaths.get(t);if(n)return n;let i=this.opts.to?Mn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=Mn(Ss(i,this.mapOpts.annotation)));let r=ys(i,t);return this.memoizedPaths.set(t,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let n=t.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let t=new fc(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!t[i]){t[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let n=this.memoizedFileURLs.get(t);if(n)return n;if(bs){let i=bs(t).toString();return this.memoizedFileURLs.set(t,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let n=this.memoizedURLs.get(t);if(n)return n;Es==="\\\\"&&(t=t.replace(/\\\\/g,"/"));let i=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,i),i}};ws.exports=Ui});var _s=Z((Mh,Fs)=>{"use strict";var Nn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,Ln=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,hc=/.[\\r\\n"\'(/\\\\]/,Cs=/[\\da-f]/i;Fs.exports=function(t,n={}){let i=t.css.valueOf(),r=n.ignoreErrors,o,s,l,a,u,c,m,f,x,S,b=i.length,g=0,E=[],_=[],N=-1;function q(){return g}function D(v){throw t.error("Unclosed "+v,g)}function M(){return _.length===0&&g>=b}function A(v){if(_.length)return _.pop();if(g>=b)return;let T=v?v.ignoreUnclosed:!1;switch(o=i.charCodeAt(g),o){case 10:case 32:case 9:case 13:case 12:{a=g;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);c=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let k=String.fromCharCode(o);c=[k,k,g];break}case 40:{if(S=E.length?E.pop()[1]:"",x=i.charCodeAt(g+1),S==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||T){a=g;break}else D("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["brackets",i.slice(g,a+1),g,a],g=a}else g<=N?c=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||hc.test(s)?(N=a===-1?b:a,c=["(","(",g]):(c=["brackets",s,g,a],g=a));break}case 39:case 34:{u=o===39?"\'":\'"\',a=g;do{if(m=!1,a=i.indexOf(u,a+1),a===-1)if(r||T){a=g+1;break}else D("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{Nn.lastIndex=g+1,Nn.test(i),Nn.lastIndex===0?a=i.length-1:a=Nn.lastIndex-2,c=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,l=!0;i.charCodeAt(a+1)===92;)a+=1,l=!l;if(o=i.charCodeAt(a+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Cs.test(i.charAt(a)))){for(;Cs.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}c=["word",i.slice(g,a+1),g,a],g=a;break}default:{o===47&&i.charCodeAt(g+1)===42?(a=i.indexOf("*/",g+2)+1,a===0&&(r||T?a=i.length:D("comment")),c=["comment",i.slice(g,a+1),g,a],g=a):(Ln.lastIndex=g+1,Ln.test(i),Ln.lastIndex===0?a=i.length-1:a=Ln.lastIndex-2,c=["word",i.slice(g,a+1),g,a],E.push(c),g=a);break}}return g++,c}function F(v){_.push(v)}return{back:F,endOfFile:M,nextToken:A,position:q}}});var Ns=Z((Th,Ts)=>{"use strict";var gc=An(),xc=qt(),bc=Kt(),yc=gt(),vs=vn(),Sc=_s(),Ms={empty:!0,space:!0};function Ec(e){for(let t=e.length-1;t>=0;t--){let n=e[t],i=n[3]||n[2];if(i)return i}}var zi=class{constructor(t){this.input=t,this.root=new yc,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let n=new gc;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let i,r,o,s=!1,l=!1,a=[],u=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),i=t[0],i==="("||i==="["?u.push(i==="("?")":"]"):i==="{"&&u.length>0?u.push("}"):i===u[u.length-1]&&u.pop(),u.length===0)if(i===";"){n.source.end=this.getPosition(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){l=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(t);break}else a.push(t);else a.push(t);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(t=a[a.length-1],n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),l&&(n.nodes=[],this.current=n)}checkMissedSemicolon(t){let n=this.colon(t);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=t[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(t){let n=0,i,r,o;for(let[s,l]of t.entries()){if(r=l,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(t){let n=new xc;this.init(n,t[2]),n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++;let i=t[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=Sc(this.input)}decl(t,n){let i=new bc;this.init(i,t[0][2]);let r=t[t.length-1];for(r[0]===";"&&(this.semicolon=!0,t.pop()),i.source.end=this.getPosition(r[3]||r[2]||Ec(t)),i.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),i.raws.before+=t.shift()[1];for(i.source.start=this.getPosition(t[0][2]),i.prop="";t.length;){let u=t[0][0];if(u===":"||u==="space"||u==="comment")break;i.prop+=t.shift()[1]}i.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],l;for(;t.length&&(l=t[0][0],!(l!=="space"&&l!=="comment"));)s.push(t.shift());this.precheckMissedSemicolon(t);for(let u=t.length-1;u>=0;u--){if(o=t[u],o[1].toLowerCase()==="!important"){i.important=!0;let c=this.stringFrom(t,u);c=this.spacesFromEnd(t)+c,c!==" !important"&&(i.raws.important=c);break}else if(o[1].toLowerCase()==="important"){let c=t.slice(0),m="";for(let f=u;f>0;f--){let x=c[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=c.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,t=c)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(u=>u[0]!=="space"&&u[0]!=="comment")&&(i.raws.between+=s.map(u=>u[1]).join(""),s=[]),this.raw(i,"value",s.concat(t),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let n=new vs;this.init(n,t[2]),n.selector="",n.raws.between="",this.current=n}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(t[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(t){let n=this.input.fromOffset(t);return{column:n.col,line:n.line,offset:t}}init(t,n){this.current.push(t),t.source={input:this.input,start:this.getPosition(n)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let n=!1,i=null,r=!1,o=null,s=[],l=t[1].startsWith("--"),a=[],u=t;for(;u;){if(i=u[0],a.push(u),i==="("||i==="[")o||(o=u),s.push(i==="("?")":"]");else if(l&&r&&i==="{")o||(o=u),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,l);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!l)for(;a.length&&(u=a[a.length-1][0],!(u!=="space"&&u!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,l)}else this.unknownWord(a)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,n,i,r){let o,s,l=i.length,a="",u=!0,c,m;for(let f=0;f<l;f+=1)o=i[f],s=o[0],s==="space"&&f===l-1&&!r?u=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",c=i[f+1]?i[f+1][0]:"empty",!Ms[m]&&!Ms[c]?a.slice(-1)===","?u=!1:a+=o[1]:u=!1):a+=o[1];if(!u){let f=i.reduce((x,S)=>x+S[1],"");t.raws[n]={raw:f,value:a}}t[n]=a}rule(t){t.pop();let n=new vs;this.init(n,t[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(n,"selector",t),this.current=n}spacesAndCommentsFromEnd(t){let n,i="";for(;t.length&&(n=t[t.length-1][0],!(n!=="space"&&n!=="comment"));)i=t.pop()[1]+i;return i}spacesAndCommentsFromStart(t){let n,i="";for(;t.length&&(n=t[0][0],!(n!=="space"&&n!=="comment"));)i+=t.shift()[1];return i}spacesFromEnd(t){let n,i="";for(;t.length&&(n=t[t.length-1][0],n==="space");)i=t.pop()[1]+i;return i}stringFrom(t,n){let i="";for(let r=n;r<t.length;r++)i+=t[r][1];return t.splice(n,t.length-n),i}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word "+t[0][1],{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};Ts.exports=zi});var kn=Z((Nh,Ls)=>{"use strict";var Ac=Xe(),wc=Yt(),Cc=Ns();function Rn(e,t){let n=new wc(e,t),i=new Cc(n);try{i.parse()}catch(r){throw r}return i.root}Ls.exports=Rn;Rn.default=Rn;Ac.registerParse(Rn)});var ji=Z((Lh,Rs)=>{"use strict";var Zt=class{constructor(t,n={}){if(this.type="warning",this.text=t,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Rs.exports=Zt;Zt.default=Zt});var Dn=Z((Rh,ks)=>{"use strict";var Fc=ji(),en=class{get content(){return this.css}constructor(t,n,i){this.processor=t,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(t,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new Fc(t,n);return this.messages.push(i),i}warnings(){return this.messages.filter(t=>t.type==="warning")}};ks.exports=en;en.default=en});var qi=Z((kh,Is)=>{"use strict";var Ds={};Is.exports=function(t){Ds[t]||(Ds[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var Ji=Z((Ih,Hs)=>{"use strict";var _c=Xe(),vc=wn(),Mc=Vi(),Tc=kn(),Ps=Dn(),Nc=gt(),Lc=Wt(),{isClean:We,my:Rc}=En(),Dh=qi(),kc={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Dc={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Ic={Once:!0,postcssPlugin:!0,prepare:!0},bt=0;function tn(e){return typeof e=="object"&&typeof e.then=="function"}function Bs(e){let t=!1,n=kc[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,bt,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,bt,n+"Exit"]:[n,n+"Exit"]}function Os(e){let t;return e.type==="document"?t=["Document",bt,"DocumentExit"]:e.type==="root"?t=["Root",bt,"RootExit"]:t=Bs(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function $i(e){return e[We]=!1,e.nodes&&e.nodes.forEach(t=>$i(t)),e}var Ki={},Ze=class e{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(t,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=$i(n);else if(n instanceof e||n instanceof Ps)r=$i(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=Tc;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Rc]&&_c.rebuild(r)}this.result=new Ps(t,r,i),this.helpers={...Ki,postcss:Ki,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,n){let i=this.result.lastPlugin;try{n&&n.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin?(t.plugin=i.postcssPlugin,t.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return t}prepareVisitors(){this.listeners={};let t=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!Dc[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Ic[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?t(n,i,n[i][r]):t(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&t(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let n=this.plugins[t],i=this.runOnRoot(n);if(tn(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[We];){t[We]=!0;let n=[Os(t)];for(;n.length>0;){let i=this.visitTick(n);if(tn(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(t.type==="document"){let r=t.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(t,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>t.Once(i,this.helpers));return tn(n[0])?Promise.all(n):n}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,n=Lc;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(t.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,l=>{s+=l}),this.result.css=s,this.result}let o=new Mc(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins){let n=this.runOnRoot(t);if(tn(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[We];)t[We]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let n of t.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,n){return this.async().then(t,n)}toString(){return this.css}visitSync(t,n){for(let[i,r]of t){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(tn(o))throw this.getAsyncError()}}visitTick(t){let n=t[t.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){t.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,l]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return l(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,l;for(;l=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!l[We]){l[We]=!0,t.push(Os(l));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===bt){i.nodes&&i.nodes.length&&(i[We]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}t.pop()}walkSync(t){t[We]=!0;let n=Bs(t);for(let i of n)if(i===bt)t.nodes&&t.each(r=>{r[We]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,t.toProxy()))return}}warnings(){return this.sync().warnings()}};Ze.registerPostcss=e=>{Ki=e};Hs.exports=Ze;Ze.default=Ze;Nc.registerLazyResult(Ze);vc.registerLazyResult(Ze)});var Ws=Z((Oh,Gs)=>{"use strict";var Pc=Vi(),Oc=kn(),Bc=Dn(),Hc=Wt(),Ph=qi(),nn=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let t,n=Oc;try{t=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(t,n,i){n=n.toString(),this.stringified=!1,this._processor=t,this._css=n,this._opts=i,this._map=void 0;let r=Hc;this.result=new Bc(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Pc(r,void 0,this._opts,n);if(s.isMap()){let[l,a]=s.generate();l&&(this.result.css=l),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,n){return this.async().then(t,n)}toString(){return this._css}warnings(){return[]}};Gs.exports=nn;nn.default=nn});var Vs=Z((Bh,Us)=>{"use strict";var Gc=wn(),Wc=Ji(),Uc=Ws(),Vc=gt(),ct=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let i of t)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new Uc(this,t,n):new Wc(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};Us.exports=ct;ct.default=ct;Vc.registerProcessor(ct);Gc.registerProcessor(ct)});var Xs=Z((Hh,Ys)=>{"use strict";var zs=An(),js=qt(),zc=Xe(),jc=Sn(),qs=Kt(),$s=wn(),qc=xs(),$c=Yt(),Kc=Ji(),Jc=Wi(),Yc=zt(),Xc=kn(),Yi=Vs(),Qc=Dn(),Ks=gt(),Js=vn(),Zc=Wt(),ed=ji();function le(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new Yi(e)}le.plugin=function(t,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(t+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let l=n(...s);return l.postcssPlugin=t,l.postcssVersion=new Yi().version,l}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,l,a){return le([r(a)]).process(s,l)},r};le.stringify=Zc;le.parse=Xc;le.fromJSON=qc;le.list=Jc;le.comment=e=>new js(e);le.atRule=e=>new zs(e);le.decl=e=>new qs(e);le.rule=e=>new Js(e);le.root=e=>new Ks(e);le.document=e=>new $s(e);le.CssSyntaxError=jc;le.Declaration=qs;le.Container=zc;le.Processor=Yi;le.Document=$s;le.Comment=js;le.Warning=ed;le.AtRule=zs;le.Result=Qc;le.Input=$c;le.Rule=Js;le.Root=Ks;le.Node=Yc;Kc.registerPostcss(le);Ys.exports=le;le.default=le});function mn(){return globalThis}function L(e,t){if(typeof window>"u")return;let n=mn(),i=n.__hf?.onSwallowed;if(i)try{i({label:e,error:t})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${e} swallowed:`,t)}function Ce(e){try{window.parent.postMessage(e,"*")}catch(t){L("bridge.postMessage",t)}}var Wl={play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),"stop-media":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek(Number(e.frame??0),e.seekMode??"commit"),tick:(e,t)=>t.onTick(),"set-muted":(e,t)=>t.onSetMuted(!!e.muted),"set-volume":(e,t)=>t.onSetVolume(Math.max(0,Math.min(1,Number(e.volume??1)))),"set-media-output-muted":(e,t)=>t.onSetMediaOutputMuted(!!e.muted),"set-native-media-sync-disabled":(e,t)=>t.onSetNativeMediaSyncDisabled(!!e.disabled),"set-web-audio-media-disabled":(e,t)=>t.onSetWebAudioMediaDisabled(!!e.disabled),"set-playback-rate":(e,t)=>t.onSetPlaybackRate(Number(e.playbackRate??1)),"set-root-duration":(e,t)=>t.onSetRootDuration(Number(e.durationSeconds??0)),"set-color-grading":(e,t)=>t.onSetColorGrading(e.target??null,e.grading??null),"set-color-grading-compare":(e,t)=>t.onSetColorGradingCompare(e.target??null,e.compare??null),"enable-pick-mode":(e,t)=>t.onEnablePickMode(),"disable-pick-mode":(e,t)=>t.onDisablePickMode(),"flash-elements":e=>Ul(e)};function Ul(e){let t=e.selectors,n=e.duration||800;t&&Vl(t,n)}function Pr(e){let t=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=Wl[r];o&&o(i,e)};return window.addEventListener("message",t),Ce({source:"hf-preview",type:"ready"}),t}function Vl(e,t){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${t}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of e)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),t)})}catch(i){L("bridge.flashElements.querySelector",i)}}var ai=null;function Or(e){ai=e}function at(e,t){if(ai)try{ai({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){L("runtime.analytics.site1",n)}}function zl(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-"),n=0,i=t.length;for(;n<i&&t[n]==="-";)n++;for(;i>n&&t[i-1]==="-";)i--;let r=t.slice(n,i);return r.length>0?r:"node"}function Mt(e){return`--${zl(e)}`}function Br(e){let t=new Map;for(let n of e){let i=Mt(n),r=t.get(i);r?r.includes(n)||r.push(n):t.set(i,[n])}return[...t.values()].filter(n=>n.length>1)}function Hr(){if(typeof document>"u")return{};let e=new Set;document.documentElement?.hasAttribute("data-composition-variables")&&e.add(document.documentElement);for(let i of Array.from(document.querySelectorAll("[data-composition-variables]")))e.add(i);let t={};for(let i of e)Object.assign(t,Tt(i));let n=pn();return{...t,...n}}function Tt(e){if(!e)return{};let t=e.getAttribute("data-composition-variables");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}var li="data-hf-css-vars";function ui(e){return"style"in e&&typeof e.style?.setProperty=="function"}function ci(e,t){if(!ui(e))return;let n=[];for(let[i,r]of Object.entries(t))if(typeof r=="string"&&r!==""||typeof r=="number"){let o=Mt(i);e.style.setProperty(o,String(r)),n.push(o)}n.length>0&&e.setAttribute(li,n.join(" "))}function Gr(e){if(!ui(e))return;let t=e.getAttribute(li);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(li)}}function Wr(e){let t=new Set;e.documentElement?.hasAttribute("data-composition-variables")&&t.add(e.documentElement);for(let r of Array.from(e.querySelectorAll("[data-composition-variables]")))t.add(r);let n=pn(),i=[];for(let r of t)i.push(...jl(r,n,e.defaultView));for(let r of Br(i))console.warn(`composition variables ${r.join(", ")} collapse to the same CSS property ${Mt(r[0]??"")} \\u2014 rename one to avoid cross-talk`)}function jl(e,t,n){if(!ui(e))return[];let i=Tt(e),r={};for(let[o,s]of Object.entries(i)){if(o in t)continue;let l=Mt(o);(e.style.getPropertyValue(l)||(n?n.getComputedStyle(e).getPropertyValue(l):"")).trim()===""&&(r[o]=s)}for(let[o,s]of Object.entries(t))o in i&&(r[o]=s);return ci(e,r),Object.keys(i)}function Ur(e){let t=e.getAttribute("data-variable-values");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function pn(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Vr(e){let t=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},i=u=>e?.resolveStartSeconds?e.resolveStartSeconds(u):Number.parseFloat(u.getAttribute("data-start")??"0")||0,r=(u,c)=>{let m=null;try{m=u.effect?.getComputedTiming?.()??null}catch(x){L("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:c+f/1e3}:{unbounded:!0}},o=(u,c)=>{for(let m of u){try{m.currentTime=c}catch(f){L("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){L("runtime.adapters.css.site2",f)}}},s=u=>{for(let c of u)try{c.play()}catch(m){L("runtime.adapters.css.site3",m)}},l=u=>{for(let c of u)try{c.pause()}catch(m){L("runtime.adapters.css.site4",m)}},a=u=>{u.baseDelay?u.el.style.animationDelay=u.baseDelay:u.el.style.removeProperty("animation-delay"),u.basePlayState?u.el.style.animationPlayState=u.basePlayState:u.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{t=[];let u=document.querySelectorAll("*");for(let c of u){if(!(c instanceof HTMLElement))continue;let m=window.getComputedStyle(c);!m.animationName||m.animationName==="none"||t.push({el:c,baseDelay:c.style.animationDelay||"",basePlayState:c.style.animationPlayState||"",animations:n(c)})}},getInferredDurationSeconds:()=>{let u=0;for(let c of t){if(!c.el.isConnected)continue;let m=i(c.el);for(let f of n(c.el)){let x=r(f,m);x.endSeconds!=null&&(u=Math.max(u,x.endSeconds))}}return u>0?u:null},seek:u=>{let c=Number(u.time)||0;for(let m of t){if(!m.el.isConnected)continue;let f=i(m.el),x=Math.max(0,c-f)*1e3,S=m.animations;if(S.length>0){o(S,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let u of t){if(!u.el.isConnected)continue;let c=u.animations;c.length>0&&l(c),a(u)}},play:()=>{for(let u of t)u.el.isConnected&&(a(u),s(u.animations))},revert:()=>{t=[]}}}function zr(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(t.time)||0),r=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,r)):n.seek(i,r)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function jr(){return{name:"animejs",discover:()=>{try{let e=window.anime;if(!e||typeof e.running>"u")return;let t=e.running;if(!Array.isArray(t)||t.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of t)i.has(r)||n.push(r);window.__hfAnime=n}catch(e){L("runtime.adapters.animejs.site1",e)}},seek:e=>{let t=Math.max(0,(Number(e.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(t)}catch(r){L("runtime.adapters.animejs.site2",r)}},pause:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.pause=="function"&&t.pause()}catch(n){L("runtime.adapters.animejs.site3",n)}},play:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.play=="function"&&t.play()}catch(n){L("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function $r(){return{name:"lottie",discover:()=>{try{let e=window.lottie;if(e&&typeof e.getRegisteredAnimations=="function"){let t=e.getRegisteredAnimations();if(Array.isArray(t)&&t.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of t)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(e){L("runtime.adapters.lottie.site1",e)}},seek:e=>{let t=Math.max(0,Number(e.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if(di(i))i.goToAndStop(t*1e3,!1);else if(fi(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=t*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,t/r*100);i.seek(o)}}}catch(r){L("runtime.adapters.lottie.site2",r)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(di(t)||fi(t))&&t.pause()}catch(n){L("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let e=window.__hfLottie;if(!e||e.length===0)return null;let t=0,n=!1;for(let i of e){let r=null;try{r=ql(i)}catch(o){L("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,t=Math.max(t,r))}return n?t:null}}}function qr(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function ql(e){return di(e)?qr(e.totalFrames,e.frameRate):fi(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:qr(e.totalFrames,e.frameRate):null}function di(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function fi(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var mi=-1;function hn(e){if(e!==mi){mi=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.site1",t)}}}function Kr(e){mi=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.force",t)}}function Jr(){let e=null,t=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let c=window.THREE?.DefaultLoadingManager;return!c||typeof c!="object"||typeof c.itemsLoaded!="number"||typeof c.itemsTotal!="number"?null:c},l=u=>{o||u.itemsTotal<=u.itemsLoaded||(o=new Promise(c=>{u.onLoad=function(){try{r?.call(this)}finally{o=null,u.onLoad=r??null,c()}}}))},a=u=>{n!==u&&(n=u,i=u.onStart??null,r=u.onLoad??null,u.onStart=function(c,m,f){try{i?.call(this,c,m,f)}finally{l(u)}})};return{name:"three",discover:()=>{let u=s();u&&(a(u),l(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,hn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let u=s();return!u||u.itemsTotal<=u.itemsLoaded?null:(o||l(u),o)}}}function Ge(e){let t=null,n=new WeakSet;return{name:e.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=e.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:t||(t=Promise.allSettled(r.map(o=>e.waitFor(o).then(()=>{n.add(o)}))).then(()=>{t=null}),t)}}}function Yr(){return Ge({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMapbox;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function Xr(){return Ge({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfLeaflet;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>e.whenReady(t))})}function Qr(){return Ge({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfGoogleMaps;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{let n=e.addListener("tilesloaded",()=>{n.remove(),t()})})})}function Zr(){return Ge({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMaplibre;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function eo(){return Ge({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}function to(){let e=null,t=0;return{name:"typegpu",discover:()=>{},seek:n=>{e=Math.max(0,Number(n.time)||0),t=e,window.__hfTypegpuTime=e,hn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0}}}function no(e){let t=e.nextElementSibling;if(t instanceof HTMLImageElement&&t.classList.contains("__render_frame__")&&t.complete&&t.naturalWidth>0)return t;if(e.id){let n=document.getElementById(`__render_frame_${e.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function io(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=no(n.source);if(o)return t.call(this,{...n,source:o},i,r)}return t.call(this,n,i,r)}}function ro(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let i=n?.prototype;if(i)for(let r of t){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...l){let a=l.length-1,u=l[a];if(u instanceof HTMLVideoElement){let c=no(u);c&&(l[a]=c)}return o.apply(this,l)};s.__hfVideoPatched=!0,i[r]=s}}}function oo(){let e=!1,t=0,n=!1,i,r,o,s=new Set,l=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},u=g=>{let E=Number(g.currentTime);return Number.isFinite(E)&&E>0?E:0},c=(g,E)=>E<=0?g:g>=E?Math.max(0,g-E):g,m=(g,E)=>{let _=l.get(g);if(_)return _;let N={compositionTimeMs:E,animationTimeMs:e?c(u(g),E):u(g)};return l.set(g,N),N},f=(g,E)=>{if(!s.has(g)){s.add(g);let _=()=>{s.delete(g)};try{g.addEventListener("finish",_,{once:!0}),g.addEventListener("cancel",_,{once:!0})}catch(N){L("runtime.adapters.waapi.site4",N)}}m(g,E)},x=(g,E)=>{for(let _ of g)f(_,E)},S=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let E=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:E,configurable:!0});let _=function(...N){let q=E.apply(this,N);return f(q,t),q};g.animate=_,i=g,r=E,o=_,n=!0}catch{}},b=g=>{let E=null;try{E=g.effect?.getComputedTiming?.()??null}catch(q){L("runtime.adapters.waapi.site4",q)}if(!E)return{};let _=Number(E.endTime);return Number.isFinite(_)?{endSeconds:(l.get(g)?.compositionTimeMs??0)/1e3+_/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,S(),x(a(),t)},seek:g=>{let E=Math.max(0,(Number(g.time)||0)*1e3);t=E,(!e||s.size>0)&&x(a(),e?E:0);for(let _ of s){let N=e?m(_,E):m(_,0),q=N.animationTimeMs+Math.max(0,E-N.compositionTimeMs);try{_.currentTime=q}catch(D){L("runtime.adapters.waapi.site1",D)}try{_.pause()}catch(D){L("runtime.adapters.waapi.site2",D)}}},pause:()=>{e||x(a(),t);for(let g of s)try{g.pause()}catch(E){L("runtime.adapters.waapi.site3",E)}},revert:()=>{if(s.clear(),l=new WeakMap,e=!1,t=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){L("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let E of a()){let _=b(E);_.endSeconds!=null&&(g=Math.max(g,_.endSeconds))}return g>0?g:null}}}function so(e,t){if(e.length===0)return 1;let n=0;for(;n<e.length-2&&t>=e[n+1].time;)n+=1;let i=e[n],r=e[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(t-i.time)/o));return i.volume+(r.volume-i.volume)*s}function $l(e,t,n,i){let r=Number.parseFloat(e.dataset.start??"0")||0,o=Number.parseFloat(e.dataset.end??""),s=Number.parseFloat(e.dataset.duration??""),l=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(e.dataset.volume??""),u=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;e.volume=u;let c=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,l),x=[];for(let b=m;b<=f+1e-6;b+=c){let g=Math.min(f,b);t(g);let E=Number(e.volume);if(!Number.isFinite(E))continue;let _=Math.max(0,Math.min(1,E)),N=x.at(-1);if((!N||Math.abs(N.volume-_)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(_.toFixed(6))}),g===f)break}return x.some(b=>Math.abs(b.volume-u)>1e-4)?x:null}function ao(e,t,n,i){if(!t||!(e instanceof HTMLAudioElement)&&!(e instanceof HTMLVideoElement)||n<=0)return;let r=l=>{try{typeof t.totalTime=="function"?t.totalTime(l,!0):typeof t.seek=="function"&&t.seek(l,!0)}catch{}},o=typeof t.totalTime=="function"?Number(t.totalTime()):typeof t.seek=="function"?Number(t.seek()):0,s=$l(e,r,n,60);Number.isFinite(o)&&r(o),s&&i.set(e,s)}function Rt(e){let t=e.defaultPlaybackRate;return Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1}function lo(e){let t=Array.from(document.querySelectorAll("video, audio")),n=e?.shouldIncludeElement?t.filter(s=>e.shouldIncludeElement?.(s)):t.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let l=e?.resolveStartSeconds?e.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(l))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,u=Rt(s),c=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=e?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/u));let x=Number.isFinite(f)&&f>0?l+f:Number.POSITIVE_INFINITY,S=Number.parseFloat(s.dataset.volume??""),b={el:s,start:l,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(S)?S:null,playbackRate:u,loop:c,sourceDuration:m};i.push(b),s.tagName==="VIDEO"&&r.push(b),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var pi=new WeakMap,Nt=new WeakMap,hi=new WeakSet,ft=new WeakSet;function Kl(e){if(ft.has(e))return;ft.add(e);let t=()=>ft.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var Jl=3;function Yl(e){return e.error!=null||e.networkState===Jl}var gi=new WeakMap;function Lt(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function uo(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(e.timeSeconds>=n.start&&e.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let T=n.sourceDuration-n.mediaStart;T>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%T)}let s=Lt(e.userVolume??1),l=Lt(n.volume??1),a=gi.get(i),u=Lt(i.volume),c;n.volumeKeyframes&&n.volumeKeyframes.length>0?c=Lt(so(n.volumeKeyframes,r)):a===void 0||Math.abs(u-a)>1e-4?c=u:c=l;let m=Lt(c*s);i.volume=m,gi.set(i,m),e.onElementVolume?.(i,m),(t||e.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*e.playbackRate}catch(T){L("runtime.media.site1",T)}let f=.04,x=2,S=i.currentTime||0,b=Math.abs(S-r),g=r-S,E=pi.get(i);pi.set(i,g);let _=E===void 0,N=!_&&Math.abs(g-E)>.5,q=b>3,D=b>.5&&(_||N||q),M=i.tagName==="VIDEO"&&!i.paused,A=E!==void 0&&Math.abs(g-E)<.004,F=!1;if(!M&&!D&&!_&&A&&b>f){let T=(Nt.get(i)??0)+1;Nt.set(i,T),T>=x&&(F=!0,Nt.set(i,0))}else b<=f&&Nt.set(i,0);let v=!M&&e.forceSync&&b>.02;if(D||F||v){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(k){L("runtime.media.site2",k)}if(Math.abs(i.currentTime-r)>.5&&!hi.has(i)){hi.add(i),i.load();try{i.currentTime=r}catch(k){L("runtime.media.site3",k)}}}ft.delete(i)}e.playing&&i.paused&&!ft.has(i)&&!Yl(i)?(Kl(i),i.play().catch(T=>{ft.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!i.paused&&i.pause();continue}pi.delete(i),Nt.delete(i),hi.delete(i),gi.delete(i),i.paused||i.pause()}}var ze="data-color-grading",kt="data-hf-color-grading-source-hidden",yn="data-hf-authored-opacity",co="__hf_color_grading_",Xl="rec709",gn={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},xn={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},bn={blur:0,pixelate:0},fo=Object.keys(gn),Ql=Object.keys(xn),mo=Object.keys(bn);function Ae(e,t,n={},i={}){return{id:e,label:t,adjust:{...gn,...n},details:{...xn,...i},effects:{...bn}}}var Zl=[Ae("neutral","Neutral"),Ae("natural-lift","Natural Lift",{exposure:.04,contrast:.06,highlights:-.06,shadows:.08,saturation:.05}),Ae("fresh-pop","Fresh Pop",{exposure:.08,contrast:.12,whites:.06,shadows:.04,temperature:-.02,vibrance:.08,saturation:.16}),Ae("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Ae("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Ae("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Ae("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Ae("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Ae("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Ae("vintage-wash","Vintage Wash",{exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},{vignette:.18}),Ae("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Ae("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Ae("warm-clean","Warm Clean",{exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,vibrance:.04,saturation:.06}),Ae("cool-clean","Cool Clean",{contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}),Ae("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Ae("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Ae("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06})],eu=new Map(Zl.map(e=>[e.id,e])),tu=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,nu={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},vibrance:{min:-1,max:1},saturation:{min:-1,max:1}},iu={vignette:{min:0,max:1},vignetteMidpoint:{min:0,max:1},vignetteRoundness:{min:-1,max:1},vignetteFeather:{min:0,max:1},grain:{min:0,max:1},grainSize:{min:0,max:1},grainRoughness:{min:0,max:1}},ru={blur:{min:0,max:1},pixelate:{min:0,max:1}};function lt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ou(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function po(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function xi(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?ou(n,t.min,t.max):0}function su(e){if(e==null)return null;let t=String(e).trim();return t||null}function au(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!lt(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:po(e.intensity,1)}}function lu(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return lt(n)?n:null}catch{return null}return{preset:t,intensity:1}}return lt(e)?e:null}function uu(e,t){let n=e.trim().match(tu);if(!n)return e;let i=n[1]??n[2]??"";return i&&Object.hasOwn(t,i)?t[i]:e}function bi(e,t){if(typeof e=="string"){let i=uu(e,t);if(i!==e)return i;let r=e.trim();if(!r.startsWith("{"))return e;try{return bi(JSON.parse(r),t)}catch{return e}}if(!lt(e))return e;let n={};for(let[i,r]of Object.entries(e))n[i]=bi(r,t);return n}function cu(e){return e?eu.get(e)??null:null}function yi(e){let t=lu(e);if(!t||t.enabled===!1)return null;let n=su(t.preset),i=cu(n),r=i?.adjust??gn,o=i?.details??xn,s=i?.effects??bn,l=lt(t.adjust)?t.adjust:{},a=lt(t.details)?t.details:{},u=lt(t.effects)?t.effects:{},c=fo.reduce((x,S)=>(x[S]=xi(l[S]??r[S],nu[S]),x),{...gn}),m=Ql.reduce((x,S)=>(x[S]=xi(a[S]??o[S],iu[S]),x),{...xn}),f=mo.reduce((x,S)=>(x[S]=xi(u[S]??s[S],ru[S]),x),{...bn});return{enabled:!0,preset:n,intensity:po(t.intensity,1),adjust:c,details:m,effects:f,lut:au(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():Xl}}function ho(e,t){return yi(bi(e,t))}function Dt(e){return!e?.enabled||e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:fo.some(t=>Math.abs(e.adjust[t])>1e-4)||Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||mo.some(t=>Math.abs(e.effects[t])>1e-4)}var du=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),fu=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function go(e){let t=!1,n=null,i=null,r=null,o=null;function s(A,F){try{window.dispatchEvent(new CustomEvent(A,{detail:F}))}catch(v){L("runtime.picker.site1",v)}}function l(A){r=A,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:t,timestamp:Date.now()})}function a(A){o=A,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function u(A){let F=A.ownerDocument.defaultView;if(!F)return!1;let v=A;for(;v&&v!==document.body&&v!==document.documentElement;){let T=F.getComputedStyle(v);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let k=Number.parseFloat(T.opacity);if(Number.isFinite(k)&&k<=.01&&!v.hasAttribute(kt))return!0;v=v.parentElement}return!1}function c(A){if(!A||A===document.body||A===document.documentElement)return!1;let F=A.tagName.toLowerCase();return!(F==="script"||F==="style"||F==="link"||F==="meta"||A.classList.contains("__hf-pick-highlight")||A.closest(du)||u(A))}function m(A){return!!A?.closest(fu)}function f(A){let F=A;if(F.id)return`#${F.id}`;let v=A.getAttribute("data-composition-id");if(v)return`[data-composition-id="${CSS.escape(v)}"]`;let T=A.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let k=A.getAttribute("data-track-index");if(k)return`[data-track-index="${CSS.escape(k)}"]`;let W=A.tagName.toLowerCase(),$=A.parentElement;if(!$)return W;let ue=$.querySelectorAll(`:scope > ${W}`);if(ue.length===1)return W;for(let H=0;H<ue.length;H+=1)if(ue[H]===A)return`${W}:nth-of-type(${H+1})`;return W}function x(A){let F=A.tagName.toLowerCase(),v=(A.textContent??"").trim().replace(/\\s+/g," "),T=(k,W)=>k.length>W?`${k.slice(0,W-1)}\\u2026`:k;return F==="h1"||F==="h2"||F==="h3"?"Heading":F==="p"||F==="span"||F==="div"?v.length>0?T(v,56):"Text":F==="img"?"Image":F==="video"?"Video":F==="audio"?"Audio":F==="svg"?"Shape":A.getAttribute("data-composition-src")?"Composition":F==="section"?"Section":`${F.charAt(0).toUpperCase()}${F.slice(1)}`}function S(A,F,v){let T=typeof v=="number"&&v>0?v:8,k=[];if(document.elementsFromPoint)k=document.elementsFromPoint(A,F);else if(document.elementFromPoint){let ue=document.elementFromPoint(A,F);k=ue?[ue]:[]}if(m(k[0]??null))return[];let W={},$=[];for(let[ue,H]of k.entries()){if(!c(H))continue;let ee=`${H.tagName}::${H.id||""}::${ue}`;if(!W[ee]&&(W[ee]=!0,$.push(H),$.length>=T))break}return $}function b(A){let F=A.getBoundingClientRect(),v={};for(let k of Array.from(A.attributes))k.name.startsWith("data-")&&(v[k.name]=k.value);return{id:A.id||null,tagName:A.tagName.toLowerCase(),selector:f(A),label:x(A),boundingBox:{x:F.left,y:F.top,width:F.width,height:F.height},textContent:A.textContent?A.textContent.trim().slice(0,200):null,src:A.getAttribute("src")||A.getAttribute("data-composition-src")||null,dataAttributes:v}}function g(A,F,v){return S(A,F,v).map(b)}function E(A){if(!t)return;let v=S(A.clientX,A.clientY,1)[0]??(A.target instanceof Element?A.target:null);if(!c(v)||n===v)return;n&&n.classList.remove("__hf-pick-highlight"),n=v,v.classList.add("__hf-pick-highlight");let T=b(v);l(T),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function _(A){if(!t)return;A.preventDefault(),A.stopPropagation(),A.stopImmediatePropagation();let F=g(A.clientX,A.clientY,8);F.length!==0&&(l(F[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:F,selectedIndex:0,point:{x:A.clientX,y:A.clientY}}))}function N(A){A.key==="Escape"&&(D(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function q(){t||(t=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",E,!0),document.addEventListener("click",_,!0),document.addEventListener("keydown",N,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function D(){t&&(t=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",E,!0),document.removeEventListener("click",_,!0),document.removeEventListener("keydown",N,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function M(){window.__HF_PICKER_API={enable:q,disable:D,isActive:()=>t,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(A,F,v)=>Number.isFinite(A)&&Number.isFinite(F)?g(A,F,v):[],pickAtPoint:(A,F,v)=>{if(!Number.isFinite(A)||!Number.isFinite(F))return null;let T=g(A,F,8);if(!T.length)return null;let k=Math.max(0,Math.min(T.length-1,Number(v??0))),W=T[k]??null;return W?(a(W),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:W}),D(),W):null},pickManyAtPoint:(A,F,v)=>{if(!Number.isFinite(A)||!Number.isFinite(F))return[];let T=g(A,F,8);if(!T.length)return[];let k=[],W=Array.isArray(v)?v:[0];for(let $ of W){let ue=Math.max(0,Math.min(T.length-1,Math.floor(Number($)))),H=T[ue];if(!H)continue;k.some(de=>de.selector===H.selector&&de.tagName===H.tagName)||k.push(H)}return k.length?(a(k[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:k}),D(),k):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:q,disablePickMode:D,installPickerApi:M}}var mu=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function mt(e,t){let n=Number.isFinite(t)&&t>0?t:30,i=Number.isFinite(e)&&e>0?e:0;return Math.floor(i*n+1e-9)/n}function xo(e,t,n=mu){for(let i of n){let r=t.getPropertyValue(i);r&&e.setProperty(i,r)}}function It(e,t,n){let i=e?.[t];return typeof i=="function"?Number(i.call(e))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&L("runtime.player.nonConformantNum",{prop:t,actual:typeof i}),n)}function De(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&L("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function Pt(e,t,n){if(e){for(let i of Object.values(e))if(!(!i||i===t))try{n(i)}catch(r){L("runtime.player.site1",r)}}}function bo(e,t,n,i){let r=mt(t,n),o=i?.suppressEvents===!0;return De(e,"pause"),typeof e.totalTime=="function"?e.totalTime(r,o):typeof e.seek=="function"&&e.seek(r,o),r}function pu(e,t,n,i,r){let o=[];Pt(e,t,s=>{De(s,"play"),o.push(s)});try{return bo(t,n,i,r)}finally{for(let s of o)try{De(s,"pause")}catch(l){L("runtime.player.site2",l)}}}function hu(e,t){Pt(e,t,n=>{De(n,"play")})}function yo(e){return{_timeline:null,play:()=>{let t=e.getTimeline();if(!t||e.getIsPlaying())return;let n=Math.max(0,Number(e.getSafeDuration?.()??It(t,"duration",0))||0);n>0&&Math.max(0,It(t,"time",0))>=n&&(De(t,"pause"),typeof t.seek=="function"&&t.seek(0,!1),e.onDeterministicSeek(0),e.setIsPlaying(!1),e.onSyncMedia(0,!1),e.onRenderFrameSeek(0)),typeof t.timeScale=="function"&&t.timeScale(e.getPlaybackRate()),De(t,"play"),Pt(e.getTimelineRegistry?.(),t,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),De(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let t=e.getTimeline();if(!t)return;De(t,"pause"),Pt(e.getTimelineRegistry?.(),t,i=>{De(i,"pause")});let n=Math.max(0,It(t,"time",0));e.onDeterministicSeek(n),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(n,!1),e.onRenderFrameSeek(n),e.onStatePost(!0)},seek:(t,n)=>{let i=e.getTimeline();if(!i)return;let r=Math.max(0,Number(t)||0),o=e.getIsPlaying(),s=pu(e.getTimelineRegistry?.(),i,r,e.getCanonicalFps());e.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),De(i,"play"),Pt(e.getTimelineRegistry?.(),i,l=>{typeof l.timeScale=="function"&&l.timeScale(e.getPlaybackRate()),De(l,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(s,!0)):(e.setIsPlaying(!1),e.onSyncMedia(s,!1)),e.onRenderFrameSeek(s),e.onStatePost(!0)},renderSeek:(t,n)=>{let i=e.getTimeline(),r=e.getCanonicalFps(),o=i?(hu(e.getTimelineRegistry?.(),i),bo(i,t,r,n)):mt(Math.max(0,Number(t)||0),r);e.onDeterministicSeek(o,n),e.setIsPlaying(!1),e.onSyncMedia(o,!1),e.onRenderFrameSeek(o),e.onStatePost(!0)},getTime:()=>It(e.getTimeline(),"time",0),getDuration:()=>It(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:t=>e.setPlaybackRate(t),getPlaybackRate:()=>e.getPlaybackRate()}}function So(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var gu=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function Ei(e){return e.id||e.getAttribute("data-hf-id")||null}function Si(e){if(e==null)return null;let t=Number(e);return Number.isFinite(t)?t:null}function xu(e,t){let n=e.getAttribute("data-composition-id");if(!n)return null;let i=Number(t[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function bu(e){if(!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration))return null;let t=Si(e.getAttribute("data-playback-start"))??Si(e.getAttribute("data-media-start"))??0;return e.duration>t?e.duration-t:null}function yu(e,t,n,i){let r=Si(e.getAttribute("data-duration"));return r!=null&&r>0?r:xu(e,t)??bu(e)??Math.max(0,n-i)}function Su(e){for(let[t,n]of e){let i=t.parentElement;for(;i;){let r=e.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Eo(e){let{startResolver:t,timelineRegistry:n,rootDuration:i}=e,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||gu.has(l.tagName))continue;let a=t.resolveStartForElement(l,0);if(yu(l,n,i,a)<=0)continue;let u={id:Ei(l)??`__clip-${s++}`,element:l,parentId:null,children:[]};r.set(l,u)}return Su(r),{roots:Array.from(r.values()).filter(l=>l.parentId===null)}}function Ke(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function Ao(e){let t=(e??"").trim();if(!t)return null;let n=Ke(t);if(n!=null)return{kind:"absolute",value:n};let i=t.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",l=Number.parseFloat(s),a=Number.isFinite(l)?Math.max(0,l):0,u=o==="-"?-a:a;return{kind:"reference",refId:r,offset:u}}var Eu="data-hf-authored-duration",Au="data-hf-authored-end";function wu(e){return Ke(e.getAttribute("data-duration"))}function Cu(e){return Ke(e.getAttribute("data-end"))}function Fu(e){return Ke(e.getAttribute(Eu))}function _u(e){return Ke(e.getAttribute(Au))}function Je(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=c=>{let m=document.getElementById(c);return m||(document.querySelector(`[data-composition-id="${CSS.escape(c)}"]`)??null)},l=c=>{let m=r.get(c);if(m!==void 0)return m;let f=null,x=wu(c)??(n?Fu(c):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let S=Cu(c)??(n?_u(c):null);if(S!=null){let b=u(c,0),g=S-b;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&c instanceof HTMLMediaElement){let S=Ke(c.getAttribute("data-playback-start"))??Ke(c.getAttribute("data-media-start"))??0;Number.isFinite(c.duration)&&c.duration>S&&(f=(c.duration-S)/Rt(c))}if(f==null||f<=0){let S=c.getAttribute("data-composition-id");if(S){let b=t[S]??null;if(b&&typeof b.duration=="function")try{let g=Number(b.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){L("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(c,f),f):(r.set(c,null),null)},a=(c,m)=>{if(c.hasAttribute("data-composition-id")){let x=c.parentElement?.closest("[data-composition-id]");return x?u(x,m):0}let f=c.closest("[data-composition-id]");return f?u(f,m):0},u=(c,m)=>{let f=i.get(c);if(f!==void 0)return f??m;if(o.has(c))return m;o.add(c);try{let x=Ao(c.getAttribute("data-start"));if(!x){if(c.hasAttribute("data-composition-id")){let _=c.parentElement;if(_&&(_.hasAttribute("data-composition-src")||_.hasAttribute("data-composition-id")||_.hasAttribute("data-composition-file"))){let N=u(_,m);return i.set(c,N),N}}return i.set(c,m),m}if(x.kind==="absolute"){let _=Math.max(0,x.value),N=Math.max(0,a(c,m)+_);return i.set(c,N),N}let S=s(x.refId);if(!S)return i.set(c,m),m;let b=u(S,0),g=l(S);if(g==null||g<=0){let _=Math.max(0,b+x.offset);return i.set(c,_),_}let E=Math.max(0,b+g+x.offset);return i.set(c,E),E}finally{o.delete(c)}};return{resolveStartForElement:(c,m=0)=>u(c,Math.max(0,m)),resolveDurationForElement:c=>l(c)}}function Ai(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}var vu="data-hf-authored-duration",Mu="data-hf-authored-end";function _e(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function wi(e){return _e(e.getAttribute("data-duration"))??_e(e.getAttribute(vu))}function wo(e){return _e(e.getAttribute("data-end"))??_e(e.getAttribute(Mu))}function Ci(e){try{let t=e.style?.zIndex;if(t&&t!=="auto"){let n=parseInt(t,10);if(Number.isFinite(n))return n}return 0}catch{return 0}}function Fi(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}var Co={composition:0,video:1,image:2,element:3,audio:4};function Tu(e){if(e.length===0)return;let t=new Map;for(let s of e){let l=t.get(s.track)??new Set;l.add(s.kind),t.set(s.track,l)}if(!Array.from(t.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...t.keys()].sort((s,l)=>s-l);for(let s of o){let l=t.get(s);if(l.size===1)r.set(`${s}:${[...l][0]}`,i++);else{let a=[...l].sort((u,c)=>(Co[u]??99)-(Co[c]??99));for(let u of a)r.set(`${s}:${u}`,i++)}}for(let s of e){let l=`${s.track}:${s.kind}`,a=r.get(l);a!=null&&(s.track=a)}}function Bt(e){let t=String(e??"").trim();if(!t)return null;let n=t.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(t,document.baseURI).toString()}catch{return t}}function Fo(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return Bt(t);let n=e.getAttribute("data-composition-src");if(n)return Bt(n);let i=e.querySelector("img[src], video[src], audio[src], source[src]");return i?Bt(i.getAttribute("src")):null}function Nu(e){let t=e.className;return typeof t!="string"?null:t.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function Lu(e){if(!e)return null;try{return new URL(e,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return e.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Ru(e){let t=e.textContent?.replace(/\\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function Ot(e){let t=e.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return t?t.replace(/\\b\\w/g,n=>n.toUpperCase()):e}function ku(e,t,n){let i=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=e.getAttribute("data-composition-id");if(r)return Ot(r);let o=e.id;if(o)return Ot(o);let s=Nu(e);if(s)return Ot(s);let l=Lu(Fo(e));if(l)return Ot(l);let a=Ru(e);return a||`${Ot(t)} ${n+1}`}function _o(e){let n=window.__timelines??{},i=Je({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=G=>{if(!G)return null;let I=n[G]??null;if(!I||typeof I.duration!="function")return null;try{let O=Number(I.duration());return Number.isFinite(O)&&O>0?O:null}catch{return null}},o=G=>{let I=_e(G.getAttribute("data-duration"));if(I!=null&&I>0)return I;let O=_e(G.getAttribute("data-playback-start"))??_e(G.getAttribute("data-media-start"))??0;return Number.isFinite(G.duration)&&G.duration>O?Math.max(0,(G.duration-O)/Rt(G)):null},s=()=>{let G=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(G.length===0)return null;let I=0;for(let O of G){let ae=O.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(O,0):Math.max(0,Number(O.getAttribute("data-start")??0)||0);if(!Number.isFinite(ae))continue;let oe=o(O);oe==null||oe<=0||(I=Math.max(I,Math.max(0,ae)+oe))}return I>0?I:null},l=(G,I)=>{let O=[],ae=null,oe=null,V=null,K=G.parentElement;for(;K;){let J=K.getAttribute("data-composition-id");J&&(O.push(J),!V&&K!==I&&(V=J),ae==null&&(ae=i.resolveStartForElement(K,0)),oe==null&&(oe=_e(K.getAttribute("data-duration"))??r(J)??null)),K=K.parentElement}return{parentCompositionId:V,compositionAncestors:O.reverse(),inheritedStart:ae,inheritedDuration:oe}},a=document.querySelector("[data-composition-id]"),u=Array.from(document.querySelectorAll("[data-composition-id]")),c=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,S=r(c),b=wi(a??document.body),g=Fi(...u.filter(G=>G!==a).map(G=>{let I=i.resolveStartForElement(G,0),O=i.resolveDurationForElement(G)??r(G.getAttribute("data-composition-id"))??null;return!Number.isFinite(I)||O==null||O<=0?null:Math.max(0,I)+O})),E=g!=null?Math.max(0,g-Math.max(0,m)):null,_=typeof S=="number"&&Number.isFinite(S)&&S>0?S:null,N=typeof b=="number"&&Number.isFinite(b)&&b>0?b:null,q=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,D=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,M=Fi(q,D),A=_!=null&&M!=null&&_>M+1,v=N??(A?M:Fi(_,q,D))??null,k=(v!=null?m+v:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),W=(G,I)=>!Number.isFinite(I)||I<=0?0:k==null||!Number.isFinite(k)?I:!Number.isFinite(G)||G>=k?0:Math.max(0,Math.min(I,k-G)),$=[],ue=[],H=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),ee=0;for(let[G,I]of H.entries()){if(I===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(I.tagName))continue;let O=l(I,a),ae=i.resolveStartForElement(I,O.inheritedStart??0),oe=I.getAttribute("data-composition-id"),V=wi(I);if((V==null||V<=0)&&oe&&oe!==c&&(V=r(oe)),(V==null||V<=0)&&I instanceof HTMLMediaElement){let Me=_e(I.getAttribute("data-playback-start"))??_e(I.getAttribute("data-media-start"))??0;Number.isFinite(I.duration)&&I.duration>0&&(V=Math.max(0,I.duration-Me))}if(V==null||V<=0){let Me=O.inheritedDuration;if(Me!=null&&Me>0){let Fe=(O.inheritedStart??0)+Me;V=Math.max(0,Fe-ae)}}if(V==null||V<=0||(V=W(ae,V),V<=0))continue;let K=ae+V;ee=Math.max(ee,K);let J=I.tagName.toLowerCase(),Be=oe&&oe!==c?"composition":J==="video"?"video":J==="audio"?"audio":J==="img"?"image":"element";$.push({id:Ei(I)??oe??null,label:ku(I,Be,$.length),start:ae,duration:V,track:Number.parseInt(I.getAttribute("data-track-index")??I.getAttribute("data-track")??String(G),10)||0,zIndex:Ci(I),stackingContextId:O.parentCompositionId??c,kind:Be,tagName:J,compositionId:I.getAttribute("data-composition-id"),compositionAncestors:O.compositionAncestors,parentCompositionId:O.parentCompositionId,nodePath:null,compositionSrc:Bt(I.getAttribute("data-composition-src")),assetUrl:Fo(I),timelineRole:I.getAttribute("data-timeline-role"),timelineLabel:I.getAttribute("data-timeline-label"),timelineGroup:I.getAttribute("data-timeline-group"),timelinePriority:_e(I.getAttribute("data-timeline-priority"))})}let de=new Set($.map(G=>G.id)),B=a?.getAttribute("data-composition-id")??null,te=B?n[B]??null:null;if(te&&a){let G=te;if(typeof G.getChildren=="function")try{let I=G.getChildren(!0,!0,!1)??[],O=new Map;for(let V of a.children){let K=V;if(!K.id)continue;let J=K.tagName.toLowerCase();J==="script"||J==="style"||J==="link"||O.set(K,{id:K.id,start:1/0,end:-1/0})}let ae=V=>{let K=V;for(;K;){if(O.has(K))return K;if(K===a)return null;K=K.parentElement}return null};for(let V of I){if(typeof V.targets!="function"||typeof V.startTime!="function"||typeof V.duration!="function")continue;let K=V.startTime(),J=V.parent;for(;J&&J!==te&&typeof J.startTime=="function";)K+=J.startTime(),J=J.parent;let Be=K+V.duration();if(!(!Number.isFinite(K)||!Number.isFinite(Be)))for(let Me of V.targets()){if(!(Me instanceof Element))continue;let At=ae(Me);if(!At)continue;let Fe=O.get(At);Fe&&(Fe.start=Math.min(Fe.start,K),Fe.end=Math.max(Fe.end,Be))}}let oe=$.length>0?Math.max(...$.map(V=>V.track))+1:0;for(let[V,K]of O){if(K.start===1/0||K.end===-1/0)continue;let J=V;if(de.has(J.id))continue;let Be=Math.max(0,K.end-K.start);if(Be<=0)continue;let Me=W(K.start,Be);Me<=0||(ee=Math.max(ee,K.start+Me),$.push({id:J.id,label:J.getAttribute("data-timeline-label")??J.getAttribute("data-label")??J.getAttribute("aria-label")??J.id,start:K.start,duration:Me,track:Number.parseInt(J.getAttribute("data-track-index")??J.getAttribute("data-track")??"",10)||oe,zIndex:Ci(J),stackingContextId:B,kind:"element",tagName:J.tagName.toLowerCase(),compositionId:J.getAttribute("data-composition-id"),compositionAncestors:B?[B]:[],parentCompositionId:B,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:J.getAttribute("data-timeline-role"),timelineLabel:J.getAttribute("data-timeline-label"),timelineGroup:J.getAttribute("data-timeline-group"),timelinePriority:_e(J.getAttribute("data-timeline-priority"))}),de.add(J.id))}}catch(I){L("runtime.timeline.site1",I)}}if(a&&v!=null&&v>0){let G=$.length>0?Math.max(...$.map(I=>I.track))+1:0;for(let I of a.children){let O=I;if(!O.id||de.has(O.id))continue;let ae=O.getAttribute("data-timeline-role");if(ae!=="overlay"&&ae!=="persistent-overlay")continue;let oe=O.tagName.toLowerCase();if(oe==="script"||oe==="style"||oe==="link"||oe==="meta"||window.getComputedStyle(O).display==="none")continue;let K=W(0,v);K<=0||(ee=Math.max(ee,K),$.push({id:O.id,label:O.getAttribute("data-timeline-label")??O.getAttribute("data-label")??O.getAttribute("aria-label")??O.id,start:0,duration:K,track:Number.parseInt(O.getAttribute("data-track-index")??O.getAttribute("data-track")??"",10)||G,zIndex:Ci(O),stackingContextId:B,kind:"element",tagName:oe,compositionId:O.getAttribute("data-composition-id"),compositionAncestors:B?[B]:[],parentCompositionId:B,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ae,timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:_e(O.getAttribute("data-timeline-priority"))}),de.add(O.id))}}Tu($);for(let G of u){if(G===a)continue;let I=G.getAttribute("data-composition-id");if(!I||!Ai(I))continue;let O=i.resolveStartForElement(G,0),ae=wi(G);if((ae==null||ae<=0)&&wo(G)!=null){let J=wo(G);ae=Math.max(0,J-O)}let oe=r(I),V=ae&&ae>0?ae:oe;if(V==null||V<=0)continue;let K=W(O,V);K<=0||ue.push({id:I,label:G.getAttribute("data-label")??I,start:O,duration:K,thumbnailUrl:Bt(G.getAttribute("data-thumbnail-url")),avatarName:null})}let U=Math.max(1,ee||1,v??0);return{source:"hf-preview",type:"timeline",durationInFrames:A&&N==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(U*Math.max(1,e.canonicalFps))),clips:$,scenes:ue,compositionWidth:_e(a?.getAttribute("data-width"))??1920,compositionHeight:_e(a?.getAttribute("data-height"))??1080}}var ce=Gl(Xs(),1),Qs=ce.default,Gh=ce.default.stringify,Wh=ce.default.fromJSON,Uh=ce.default.plugin,Vh=ce.default.parse,zh=ce.default.list,jh=ce.default.document,qh=ce.default.comment,$h=ce.default.atRule,Kh=ce.default.rule,Jh=ce.default.decl,Yh=ce.default.root,Xh=ce.default.CssSyntaxError,Qh=ce.default.Declaration,Zh=ce.default.Container,e0=ce.default.Processor,t0=ce.default.Document,n0=ce.default.Comment,i0=ce.default.Warning,r0=ce.default.AtRule,o0=ce.default.Result,s0=ce.default.Input,a0=ce.default.Rule,l0=ce.default.Root,u0=ce.default.Node;var Xi="data-hf-authored-id",Zs="data-hf-inner-root";function Qi(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function Zi(e){return e.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function td(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ta(e){let t=e.trim();return t?Array.from(new Set([t,td(t)])).filter(Boolean):[]}function nd(e){return!!e&&/[\\w-]/.test(e)}function id(e,t,n){let i=ta(t).sort((l,a)=>a.length-l.length);if(i.length===0)return e;let r="",o=0,s=null;for(let l=0;l<e.length;l+=1){let a=e[l],u=l>0?e[l-1]:"";if(s){r+=a,a===s&&u!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let c=i.find(m=>e.startsWith(m,l+1));if(c){let m=e[l+1+c.length];if(!nd(m)){r+=n,l+=c.length;continue}}}r+=a}return r}function rd(e,t){let n=t?.trim();return n?id(e,n,`[${Xi}="${Zi(n)}"]`):e}function ea(e){return`${e}:not(:has([${Zs}])), ${e} > [${Zs}]`}function od(e,t,n,i,r,o){let s=rd(e,i),l=sd(s,t,n),a=l.trim();if(!a||a==="*")return e;if(/^(html|body|:root)$/i.test(a))return o?ea(t):e;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Qi(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(a))return a.replace(u,"").trim()===""?ea(t):l.replace(u,t);let c=l.match(/^\\s*/)?.[0]??"",m=l.match(/\\s*$/)?.[0]??"";if(r){let f=i?`[${Xi}="${Zi(i)}"]`:null;if(f&&a.startsWith(f)){let x=a.slice(f.length);return`${c}${t}${f}${x}${m}`}}return`${c}${t} ${a}${m}`}function sd(e,t,n){let i=Qi(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return e.replace(new RegExp(`${r}(?:${o})+`,"g"),t).replace(new RegExp(`(?:${o})+${r}`,"g"),t)}var ad=new Set(["keyframes","-webkit-keyframes","font-face"]);function ld(e){return e?.type==="atrule"}function ud(e){let t=e.parent;for(;t;){if(ld(t)&&ad.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function na(e,t,n,i,r){let o=t.trim();if(!e||!o)return e;let s=n||`[data-composition-id="${Zi(o)}"]`,l=Qs.parse(e);return l.walkRules(a=>{ud(a)||(a.selectors=a.selectors.map(u=>od(u,s,o,i,r?.compoundAuthoredRoot,r?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function ia(e,t,n="[HyperFrames] composition script error:",i,r=t,o){let s=JSON.stringify(t),l=JSON.stringify(r),a=JSON.stringify(n),u=Qi(t),c=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${u}"|\'${u}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),S=JSON.stringify(ta(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${c};\n var __hfAuthoredRootAttr = ${JSON.stringify(Xi)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${S};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n // Inside a sub-composition, __hyperframes is passed as a bare script\n // param bound to the SCOPED variant (per-comp getVariables). But\n // authors routinely write the documented window.__hyperframes.\n // getVariables() form, which would otherwise fall through to the host\n // page\'s base __hyperframes and return the WRONG (or empty) variables\n // for this instance. Route it to the scoped variant too so both\n // spellings resolve to this composition\'s own variables.\n // (__hfScopedHyperframes is a hoisted var assigned below, before any\n // sub-comp script -- the only code that reads this -- runs.)\n if (prop === "__hyperframes") return __hfScopedHyperframes;\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${e.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}var cd=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function ra(e){let t=e.getAttribute("id")?.trim();for(let n of cd)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var dd=8e3,fd=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,md=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,pd=["src","href"];function hd(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function sa(e,t){if(!t)return e;let n=e.trim();if(hd(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function aa(e,t){return!t||!e?e:e.replace(md,(n,i,r)=>{let o=sa(r||"",t);return o===r?n:`url(${i||""}${o}${i||""})`})}function gd(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let i of pd){let r=n.getAttribute(i);if(r==null)continue;let o=sa(r,t);o!==r&&n.setAttribute(i,o)}}function xd(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=aa(i,t);r!==i&&n.setAttribute("style",r)}}function bd(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let i=n.textContent||"",r=aa(i,t);r!==i&&(n.textContent=r)}}function la(e,t){if(t){gd(e,t),xd(e,t),bd(e,t);for(let n of Array.from(e.querySelectorAll("template")))la(n.content,t)}}function yd(e,t){return`${e}__hf${t}`}var Sd=e=>new Promise(t=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),t({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};e.addEventListener("load",()=>o("load"),{once:!0}),e.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),dd)});function er(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function Ed(e){let t=document.importNode(e,!0);ra(t);let n=t.getAttribute("data-width"),i=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=i?`${i}px`:"100%",t}function oa(e,t){let n=e.trim();if(!n)return e;try{return fd.test(n)?new URL(n,document.baseURI).toString():t?new URL(n,t).toString():new URL(n,document.baseURI).toString()}catch{return e}}function In(e){let t=(e.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(e.getAttribute("data-hf-original-composition-id")||t||"").trim()||null,runtimeCompositionId:t}}function Ad(e){let t=new Map;for(let n of e){let i=In(n).authoredCompositionId||"";i&&t.set(i,(t.get(i)||0)+1)}return t}function ua(e){let t=In(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function wd(e){return!!e.querySelector(\'[data-hf-inner-root="true"]\')}function Cd(e){return e.hasAttribute("data-composition-src")?!0:ua(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:wd(e):!1}function nr(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:ua(t))}function ca(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(nr().map(n=>In(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function da(e,t=Ad(e)){let n=new Map,i=new Map;for(let r of e){let{authoredCompositionId:o,runtimeCompositionId:s}=In(r),l=Cd(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(t.get(o)||0)>1,u=s||o;if(l){let c=a?(n.get(o)||0)+1:0;a&&n.set(o,c),u=a?yd(o,c):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",u),s&&s!==u&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:u})}return i}async function tr(e){let t=null;e.authoredCompositionId&&(t=Array.from(e.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x instanceof HTMLElement&&x.getAttribute("data-composition-id")===e.authoredCompositionId)??null);let n=t??e.sourceNode,i=t?.getAttribute("data-composition-id")?.trim()||e.authoredCompositionId||null,r=e.runtimeCompositionId||i||null,o=t?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(e.headLinks)for(let f of e.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}let l=f=>{for(let x of f){let S=x.cloneNode(!0);S instanceof HTMLStyleElement&&(i&&(S.textContent=na(S.textContent||"",i,s,o,{scopeRootSelectors:!0})),document.head.appendChild(S),e.injectedStyles.push(S))}};e.headStyles&&l(e.headStyles),l(Array.from(n.querySelectorAll("style")));let a=[];if(e.headScripts)for(let f of e.headScripts){let x=f.getAttribute("type")?.trim()??"",S=f.getAttribute("src")?.trim()??"";if(S){let b=oa(S,e.compositionUrl);a.push({kind:"external",src:b,type:x})}else{let b=f.textContent?.trim()??"";b&&a.push({kind:"inline",content:b,type:x,scopeCompositionId:i})}}let u=Array.from(n.querySelectorAll("script")),c=[...a];for(let f of u){let x=f.getAttribute("type")?.trim()??"",S=f.getAttribute("src")?.trim()??"";if(S){let b=oa(S,e.compositionUrl);c.push({kind:"external",src:b,type:x})}else{let b=f.textContent?.trim()??"";b&&c.push({kind:"inline",content:b,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(t){let f=t.getAttribute("data-width"),x=t.getAttribute("data-height"),S=e.parseDimensionPx(f),b=e.parseDimensionPx(x);f&&e.host.setAttribute("data-width",f),x&&e.host.setAttribute("data-height",x),S&&e.host instanceof HTMLElement&&(e.host.style.width=S),b&&e.host instanceof HTMLElement&&(e.host.style.height=b),t.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked",""),e.host.appendChild(Ed(t))}else e.hasTemplate?e.host.appendChild(document.importNode(n,!0)):e.host.innerHTML=e.fallbackBodyInnerHtml;r&&Fd(e,n,r);for(let f of c){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=ia(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),e.injectedScripts.push(x),f.kind==="external"){let S=await Sd(x);S.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:S.status,elapsedMs:S.elapsedMs}})}}}async function fa(e){let t=nr();if(ca(),t.length===0)return;let n=da(t),i=t.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let l=document.querySelector(`template#${CSS.escape(s)}-template`);er(r),await tr({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function ma(e){let t=nr();if(ca(),t.length===0)return;let n=da(t),i=t.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),l=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||l||null,u=null;try{u=new URL(o,document.baseURI)}catch{u=null}er(r);try{let c=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(c){await tr({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),S=new DOMParser().parseFromString(f,"text/html");la(S,u);let b=(l?S.querySelector(`template#${CSS.escape(l)}-template`):null)??S.querySelector("template"),g=b?b.content:S.body,E=b?void 0:Array.from(S.head.querySelectorAll("style")),_=b?void 0:Array.from(S.head.querySelectorAll("script")),N=b?void 0:Array.from(S.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await tr({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!b,fallbackBodyInnerHtml:S.body.innerHTML,compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,headStyles:E,headScripts:_,headLinks:N,declaredVariableDefaults:Tt(S.documentElement),onDiagnostic:e.onDiagnostic})}catch(c){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),er(r)}}))}function Fd(e,t,n){let r={...e.declaredVariableDefaults??(t instanceof Element?Tt(t):{}),...Ur(e.host)};Gr(e.host),Object.keys(r).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=r,ci(e.host,{...r,...pn()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function _d(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function vd(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&e.push(r)}return e}function Md(e){let t=e.parentElement;if(t?.dataset.captionWrapper==="true")return t;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",e.parentNode?.insertBefore(n,e),n.appendChild(e),n}function ir(){let e=window.gsap;e&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(t=>t.ok?t.json():null).then(t=>{if(!t||!Array.isArray(t)||t.length===0)return;let n=vd();for(let i of t){let r=null;if(i.wordId&&(r=_d(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=e.getTweensOf(r).filter(c=>c.vars.color!==void 0).sort((c,m)=>c.startTime()-m.startTime()),u=a[0]?String(a[0].vars.color):"";for(let c of a)String(c.vars.color)===u?i.dimColor&&(c.vars.color=i.dimColor):i.activeColor&&(c.vars.color=i.activeColor);i.dimColor&&e.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&e.set(r,s),Object.keys(o).length>0){let l=Md(r);e.set(l,o)}}}).catch(()=>{})}var Sa="data-hf-edit-base-x",Ea="data-hf-edit-base-y",rr="data-hf-edit-original-translate",Pn=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},Td=e=>{let t=[],n=0,i="";for(let r of e.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&t.push(i),i=""):i+=r;return i&&t.push(i),t},pa=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,or=(e,t)=>pa.test(e)&&pa.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,Nd=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[i,r,o]=Td(e);if(i===void 0)return`${t} ${n}`;if(r===void 0)return`${or(i,t)} ${n}`;let s=o===void 0?"":` ${o}`;return`${or(i,t)} ${or(r,n)}${s}`},Ld=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},Rd=e=>{let t=e.style.getPropertyValue("translate").trim();if(t)return t==="none"?"":t;try{let n=e.ownerDocument.defaultView,i=n?n.getComputedStyle(e).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},ha=new WeakMap;function kd(e,t){let n=ha.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){at("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let i=Pn(e.getAttribute("data-x"))-Pn(e.getAttribute(Sa)),r=Pn(e.getAttribute("data-y"))-Pn(e.getAttribute(Ea));e.hasAttribute(rr)||e.setAttribute(rr,Rd(e)),n===void 0&&Ld(e);let o=e.getAttribute(rr)??"",s=Nd(o,`${i}px`,`${r}px`);e.style.setProperty("translate",s),ha.set(e,e.style.getPropertyValue("translate"))}function On(e){let t=e.querySelectorAll(`[${Sa}], [${Ea}]`),n=e.defaultView?.HTMLElement,i=0;for(let r=0;r<t.length;r++){let o=t[r];(n?o instanceof n:typeof o.style?.setProperty=="function")&&(kd(o),i+=1)}return i}var ga="__hfPositionEditsSeekReapplyWrapped",xa=new WeakSet,ba=new WeakMap,ya=new WeakMap;function Aa(e){let t=e,n=()=>{try{On(t.document)}catch{}},i=m=>typeof m=="function"&&(xa.has(m)||!!m[ga]),r=m=>{xa.add(m);try{Object.defineProperty(m,ga,{value:!0})}catch{}},o=m=>{if(typeof m!="function"||i(m))return m;let f=function(...x){let S=m.apply(this,x);return n(),S};return r(f),f},s=(m,f)=>{let x=ba.get(m);if(x?.has(f))return!0;let S=Object.getOwnPropertyDescriptor(m,f);if(S?.configurable===!1){let E=m[f];return typeof E=="function"&&(m[f]=o(E),n()),!1}let b=m[f],g=S?.set;return Object.defineProperty(m,f,{configurable:!0,enumerable:S?.enumerable??!0,get:()=>b,set:E=>{b=o(E),g?.call(m,E)}}),b=o(b),x??(x=new Set),x.add(f),ba.set(m,x),n(),!0},l=(m,f)=>{let x=ya.get(t),S=Object.getOwnPropertyDescriptor(t,m);if(!x?.has(m)){if(S?.configurable===!1){let E=t[m];return E?s(E,f):!1}let g=t[m];Object.defineProperty(t,m,{configurable:!0,enumerable:S?.enumerable??!0,get:()=>g,set:E=>{g=E,g&&s(g,f)}}),x??(x=new Set),x.add(m),ya.set(t,x)}let b=t[m];return b?s(b,f):!1},a=()=>{let m=l("__hf","seek"),f=l("__player","renderSeek");return m&&f};if(a())return;let u=120,c=t.setInterval(()=>{if(a()){t.clearInterval(c);return}u-=1,u<=0&&t.clearInterval(c)},50)}function Bn(e){let t=window,i=e.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?t.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=t.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:t.__hfVariables??{}}function Hn(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var wa=new Set(["img","video","audio","source"]);function Dd(e){if(typeof e=="string"&&e.length>0)return e;if(e!==null&&typeof e=="object"){let t=e.url;if(typeof t=="string"&&t.length>0)return t}return null}function Id(e){let t=e.replace(/[\\u0000-\\u0020]/g,""),n=/^([a-z][a-z0-9+.-]*):/i.exec(t);if(!n)return!0;let i=n[1]?.toLowerCase();return i?i==="https"||i==="http"||i==="blob"?!0:i==="data"?/^data:image\\//i.test(t):!1:!1}function Pd(e){return e.replace(/[;{}<>\\r\\n]/g,"")}function Od(e){if(Hn(e))return String(e);if(e!==null&&typeof e=="object"){let t=e.name;if(typeof t=="string"&&t.length>0)return t}return null}function sr(e,t){let n=e.closest("[data-composition-id]"),i=t.get(n);if(i)return i;let r=Bn(e);return t.set(n,r),r}function Bd(e,t){if(e.childElementCount===0){e.textContent=t;return}let n=!1;for(let i of Array.from(e.childNodes))i.nodeType===Node.TEXT_NODE&&(i.nodeValue=n?"":t,n=!0);n||e.insertBefore(e.ownerDocument.createTextNode(t),e.firstChild)}function Hd(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function Gd(e,t){let n=new Set,i=Hd(e);i&&n.add(i);for(let r of Array.from(e.querySelectorAll("[data-composition-id]")))n.add(r);for(let r of n){let o=sr(r,t);for(let[s,l]of Object.entries(o)){let a=Od(l);a!==null&&r instanceof HTMLElement&&r.style.setProperty(`--${s}`,Pd(a))}}}function ar(e){let t=new Map;Gd(e,t);for(let n of Array.from(e.querySelectorAll("[data-var-src]"))){let i=n.getAttribute("data-var-src")?.trim();if(!i)continue;if(!wa.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(wa).join("/")}.`);continue}let r=Dd(sr(n,t)[i]);if(r!==null){if(!Id(r)){console.warn(`[hyperframes] Ignoring data-var-src="${i}": unsafe URL protocol.`);continue}n.setAttribute("src",r)}}for(let n of Array.from(e.querySelectorAll("[data-var-text]"))){let i=n.getAttribute("data-var-text")?.trim();if(!i)continue;let r=sr(n,t)[i];Hn(r)&&Bd(n,String(r))}}var Ee=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);ye(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},Wd=[0,0,0],Ud=[1,1,1],ur=64;function Vd(e){let t=!1;for(let n=0;n<e.length;n++){let i=e[n];if(i===\'"\'&&(t=!t),i==="#"&&!t)return e.slice(0,n)}return e}function et(e,t){let n=Number(e);if(!Number.isFinite(n))throw new Ee(`Invalid number "${e}"`,t);return n}function Ca(e,t,n){if(e.length!==3)throw new Ee(`${t} expects three numbers`,n);return[et(e[0],n),et(e[1],n),et(e[2],n)]}function Fa(e,t,n){if(!e)throw new Ee(`${t} expects a size`,n);let i=Number(e);if(!Number.isInteger(i)||i<2)throw new Ee(`${t} must be an integer greater than 1`,n);return i}function zd(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new Ee("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function jd(e){let t=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(e);if(t)return t[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(e);return n&&(n[1]??"").trim()||null}function qd(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function _a(e,t={}){let n=t.maxSize??ur,i=null,r=Wd,o=Ud,s=null,l=null,a=[],u=e.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<u.length;m++){let f=m+1,x=Vd(u[m]??"").trim();if(!x)continue;let S=x.split(/\\s+/),b=(S[0]??"").toUpperCase(),g=S.slice(1);if(b==="TITLE"){i=jd(x);continue}if(b==="DOMAIN_MIN"){r=Ca(g,b,f);continue}if(b==="DOMAIN_MAX"){o=Ca(g,b,f);continue}if(b==="LUT_3D_INPUT_RANGE"){if(g.length!==2)throw new Ee(`${b} expects two numbers`,f);let E=et(g[0],f),_=et(g[1],f);if(_<=E)throw new Ee("LUT_3D_INPUT_RANGE max must exceed min",f);r=[E,E,E],o=[_,_,_];continue}if(b==="LUT_1D_SIZE"){s=Fa(g[0],b,f);continue}if(b==="LUT_3D_SIZE"){if(l=Fa(g[0],b,f),l>n)throw new Ee(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!qd(b)){if(b.startsWith("LUT_"))throw new Ee(`Unsupported cube keyword ${b}`,f);continue}if(!l)throw s?new Ee("1D cube LUTs are not supported yet",f):new Ee("LUT data appears before LUT_3D_SIZE",f);if(S.length!==3)throw new Ee("LUT data rows must contain three numbers",f);a.push(et(S[0],f),et(S[1],f),et(S[2],f))}if(s&&l)throw new Ee("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw s?new Ee("1D cube LUTs are not supported yet"):new Ee("Missing LUT_3D_SIZE");zd(r,o);let c=l*l*l;if(a.length!==c*3)throw new Ee(`Expected ${c} LUT rows for size ${l}, found ${a.length/3}`);return{title:i,size:l,domainMin:r,domainMax:o,data:new Float32Array(a)}}function $d(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function lr(e){return Math.round($d(e)*255)}function va(e){let t=e.size,n=t*t,i=t,r=new Uint8Array(n*i*4);for(let o=0;o<t;o++)for(let s=0;s<t;s++)for(let l=0;l<t;l++){let a=((o*t+s)*t+l)*3,u=(s*n+o*t+l)*4;r[u]=lr(e.data[a]??0),r[u+1]=lr(e.data[a+1]??0),r[u+2]=lr(e.data[a+2]??0),r[u+3]=255}return{width:n,height:i,data:r}}var qe=new Map,Kd="data-hf-color-grading-canvas",Jd="__hf_color_grading_canvas__";function Da(){if(typeof MutationObserver>"u"||typeof document>"u")return;let e=document.documentElement;if(!e)return;let t=i=>{i instanceof HTMLElement&&(i.hasAttribute(yn)||i.setAttribute(yn,i.style.opacity))},n=i=>{if(i instanceof Element){i.hasAttribute(ze)&&t(i);for(let r of i.querySelectorAll(`[${ze}]`))t(r)}};n(e),new MutationObserver(i=>{for(let r of i){for(let o of r.addedNodes)n(o);r.type==="attributes"&&r.target instanceof Element&&r.target.hasAttribute(ze)&&t(r.target)}}).observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[ze]})}var Yd=16,rn={enabled:!1,position:.5,softness:0,lineWidth:2};function cr(e){let t=e.getAttribute(ze);return t==null?null:ho(t,Bn(e))}var Xd=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),Qd=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_blurSource;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_vibrance;","uniform float u_saturation;","uniform float u_vignette;","uniform float u_vignetteMidpoint;","uniform float u_vignetteRoundness;","uniform float u_vignetteFeather;","uniform float u_grain;","uniform float u_grainSize;","uniform float u_grainRoughness;","uniform float u_grainSeed;","uniform float u_blur;","uniform float u_pixelate;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","float grainHash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }","float colorSaturation(vec3 c){ return max(max(c.r, c.g), c.b) - min(min(c.r, c.g), c.b); }","vec2 clampUv(vec2 uv){ return clamp(uv, vec2(0.0), vec2(1.0)); }","vec4 sampleSource(vec2 uv){ return texture2D(u_source, clampUv(uv)); }","vec4 sampleBlur(vec2 uv){ return texture2D(u_blurSource, clampUv(uv)); }","vec4 sampleMedia(vec2 uv){"," float pixel = clamp(u_pixelate, 0.0, 1.0);"," vec2 sampleUv = uv;"," if (pixel > 0.0) {"," float blockSize = mix(1.0, 48.0, pixel);"," vec2 cells = max(u_resolution / blockSize, vec2(1.0));"," sampleUv = (floor(clamp(uv, vec2(0.0), vec2(0.999999)) * cells) + 0.5) / cells;"," }"," vec4 base = sampleSource(sampleUv);"," float blur = clamp(u_blur, 0.0, 1.0);"," if (blur > 0.0 && u_blurReady > 0.5) {"," base = mix(base, sampleBlur(sampleUv), blur);"," }"," return base;","}","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 originalSample = sampleSource(uv);"," vec4 sampleColor = sampleMedia(uv);"," vec3 original = originalSample.rgb;"," vec3 color = sampleColor.rgb * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," float blackPoint = clamp(u_blacks * 0.18, -0.18, 0.18);"," float whitePoint = clamp(1.0 - u_whites * 0.18, 0.82, 1.18);"," color = (color - blackPoint) / max(whitePoint - blackPoint, 0.2);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," float currentSat = clamp(colorSaturation(color), 0.0, 1.0);"," float skinLike = smoothstep(0.02, 0.18, color.r - color.g) * smoothstep(0.0, 0.16, color.g - color.b) * smoothstep(0.18, 0.82, satLuma);"," float vibranceWeight = (1.0 - currentSat * 0.72) * mix(1.0, 0.55, skinLike);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_vibrance * vibranceWeight));"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec2 vignetteAspect = u_resolution.x > u_resolution.y"," ? vec2(u_resolution.x / max(u_resolution.y, 1.0), 1.0)"," : vec2(1.0, u_resolution.y / max(u_resolution.x, 1.0));"," vec2 vignetteUv = abs((v_uv - vec2(0.5)) * 2.0) * vignetteAspect;"," float vignettePower = mix(8.0, 1.8, clamp(u_vignetteRoundness * 0.5 + 0.5, 0.0, 1.0));"," float vignetteDistance = pow(pow(vignetteUv.x, vignettePower) + pow(vignetteUv.y, vignettePower), 1.0 / vignettePower);"," float vignetteMidpoint = mix(0.22, 1.08, clamp(u_vignetteMidpoint, 0.0, 1.0));"," float vignetteFeather = mix(0.08, 0.72, clamp(u_vignetteFeather, 0.0, 1.0));"," float vignetteMask = smoothstep(vignetteMidpoint, vignetteMidpoint + vignetteFeather, vignetteDistance);"," color *= 1.0 - vignetteMask * clamp(u_vignette, 0.0, 1.0) * 0.75;"," float grainAmount = clamp(u_grain, 0.0, 1.0);"," if (grainAmount > 0.0) {"," float grainPixelSize = mix(1.0, 6.0, clamp(u_grainSize, 0.0, 1.0));"," vec2 grainCoord = floor(gl_FragCoord.xy / grainPixelSize) + vec2(u_grainSeed, u_grainSeed * 1.37);"," float grainBase = grainHash(grainCoord) - grainHash(grainCoord + vec2(19.19, 73.31));"," float grainFine = grainHash(gl_FragCoord.xy + vec2(u_grainSeed * 2.11, u_grainSeed * 0.71)) - 0.5;"," float grain = mix(grainBase * 0.7, grainBase + grainFine * 0.35, clamp(u_grainRoughness, 0.0, 1.0));"," float grainLuma = lumaOf(color);"," float grainMask = smoothstep(0.02, 0.55, grainLuma) * (1.0 - smoothstep(0.88, 1.0, grainLuma));"," color += grain * grainAmount * mix(0.025, 0.08, grainMask);"," }"," color = clamp(color, 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`),Zd=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform vec2 u_resolution;","uniform vec2 u_direction;","uniform float u_radius;","vec4 readSource(vec2 uv){"," vec4 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0)));"," color.rgb *= color.a;"," return color;","}","void main(){"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) / 12.0;"," vec4 color = readSource(v_uv) * 0.08077993;"," color += readSource(v_uv + stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv - stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv + stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv - stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv + stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv - stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv + stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv - stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv + stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv - stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv + stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv - stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv + stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv - stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv + stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv - stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv + stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv - stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv + stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv - stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv + stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv - stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv + stepUv * 12.0) * 0.00453456;"," color += readSource(v_uv - stepUv * 12.0) * 0.00453456;"," if (color.a > 0.0001) color.rgb /= color.a;"," gl_FragColor = color;","}"].join(`\n`);function dt(e){return e instanceof HTMLVideoElement||e instanceof HTMLImageElement}function Ma(e,t,n){let i=e.createShader(n);return i?(e.shaderSource(i,t),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(L("runtime.colorGrading.compileShader",e.getShaderInfoLog(i)),e.deleteShader(i),null)):null}function Ia(e,t=Qd){let n=Ma(e,Xd,e.VERTEX_SHADER),i=Ma(e,t,e.FRAGMENT_SHADER);if(!n||!i)return n&&e.deleteShader(n),i&&e.deleteShader(i),null;let r=e.createProgram();return r?(e.attachShader(r,n),e.attachShader(r,i),e.linkProgram(r),e.deleteShader(n),e.deleteShader(i),e.getProgramParameter(r,e.LINK_STATUS)?r:(L("runtime.colorGrading.linkProgram",e.getProgramInfoLog(r)),e.deleteProgram(r),null)):null}function fr(e,t=e.LINEAR){let n=e.createTexture();return n?(e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,null),n):null}function ef(e,t){let n=Ia(e,Zd);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),resolution:e.getUniformLocation(n,"u_resolution"),direction:e.getUniformLocation(n,"u_direction"),radius:e.getUniformLocation(n,"u_radius")}:null}function Ta(e){let t=fr(e),n=e.createFramebuffer();if(!t||!n)return t&&e.deleteTexture(t),n&&e.deleteFramebuffer(n),null;e.bindFramebuffer(e.FRAMEBUFFER,n),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0);let i=e.checkFramebufferStatus(e.FRAMEBUFFER);return e.bindFramebuffer(e.FRAMEBUFFER,null),i!==e.FRAMEBUFFER_COMPLETE?(e.deleteTexture(t),e.deleteFramebuffer(n),null):{texture:t,framebuffer:n,width:1,height:1}}function Na(e,t,n,i){t.width===n&&t.height===i||(t.width=n,t.height=i,e.bindTexture(e.TEXTURE_2D,t.texture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,i,0,e.RGBA,e.UNSIGNED_BYTE,null))}function Pa(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!t)return null;let n=Ia(t),i=fr(t),r=fr(t,t.NEAREST);if(!n||!i||!r)return n&&t.deleteProgram(n),i&&t.deleteTexture(i),r&&t.deleteTexture(r),null;let o=t.createBuffer();return o?(t.bindBuffer(t.ARRAY_BUFFER,o),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),t.STATIC_DRAW),{gl:t,program:{program:n,texture:i,lutTexture:r,quad:o,position:t.getAttribLocation(n,"a_pos"),source:t.getUniformLocation(n,"u_source"),blurSource:t.getUniformLocation(n,"u_blurSource"),lut:t.getUniformLocation(n,"u_lut"),resolution:t.getUniformLocation(n,"u_resolution"),uvScale:t.getUniformLocation(n,"u_uvScale"),uvOffset:t.getUniformLocation(n,"u_uvOffset"),blurReady:t.getUniformLocation(n,"u_blurReady"),lutEnabled:t.getUniformLocation(n,"u_lutEnabled"),lutSize:t.getUniformLocation(n,"u_lutSize"),lutTextureSize:t.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:t.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:t.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:t.getUniformLocation(n,"u_lutIntensity"),exposure:t.getUniformLocation(n,"u_exposure"),contrast:t.getUniformLocation(n,"u_contrast"),highlights:t.getUniformLocation(n,"u_highlights"),shadows:t.getUniformLocation(n,"u_shadows"),whites:t.getUniformLocation(n,"u_whites"),blacks:t.getUniformLocation(n,"u_blacks"),temperature:t.getUniformLocation(n,"u_temperature"),tint:t.getUniformLocation(n,"u_tint"),vibrance:t.getUniformLocation(n,"u_vibrance"),saturation:t.getUniformLocation(n,"u_saturation"),vignette:t.getUniformLocation(n,"u_vignette"),vignetteMidpoint:t.getUniformLocation(n,"u_vignetteMidpoint"),vignetteRoundness:t.getUniformLocation(n,"u_vignetteRoundness"),vignetteFeather:t.getUniformLocation(n,"u_vignetteFeather"),grain:t.getUniformLocation(n,"u_grain"),grainSize:t.getUniformLocation(n,"u_grainSize"),grainRoughness:t.getUniformLocation(n,"u_grainRoughness"),grainSeed:t.getUniformLocation(n,"u_grainSeed"),blur:t.getUniformLocation(n,"u_blur"),pixelate:t.getUniformLocation(n,"u_pixelate"),intensity:t.getUniformLocation(n,"u_intensity"),compareEnabled:t.getUniformLocation(n,"u_compareEnabled"),comparePosition:t.getUniformLocation(n,"u_comparePosition"),compareSoftness:t.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:t.getUniformLocation(n,"u_compareLineWidth")}}):(t.deleteProgram(n),t.deleteTexture(i),t.deleteTexture(r),null)}function tf(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function nf(e){if(!tf(e))return{...rn};let t=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:e.enabled===!0,position:t(e.position,rn.position,0,1),softness:t(e.softness,rn.softness,0,.25),lineWidth:t(e.lineWidth,rn.lineWidth,0,12)}}function Oa(e){try{let t=new URL(e,document.baseURI);return t.protocol==="data:"?{href:t.href}:t.protocol!=="http:"&&t.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:t.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:t.href}}catch{return{error:"Invalid LUT URL"}}}function pr(e){return e instanceof Error?e.message:"LUT failed to load"}function rf(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0)%1e4}function of(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return rf(t)}function sf(e){let t=Oa(e);if("error"in t)return{state:"error",message:t.error};let n=qe.get(t.href);if(n)return n;let i=fetch(t.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>_a(o,{maxSize:ur})),r={state:"pending",promise:i};for(;qe.size>=Yd;){let o=qe.keys().next().value;if(!o)break;qe.delete(o)}return qe.set(t.href,r),i.then(o=>{qe.get(t.href)===r&&qe.set(t.href,{state:"ready",lut:o})},o=>{qe.get(t.href)===r&&qe.set(t.href,{state:"error",message:pr(o)})}),r}function La(e,t,n){if(e.lut?.src===t)return e.lut;let i=va(n),{gl:r,program:o}=e;try{return r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),e.lut={src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},e.lutError=null,e.lutLoadingSrc=null,e.lut}catch(s){return e.lut=null,e.lutError=pr(s),e.lutLoadingSrc=null,L("runtime.colorGrading.uploadLut",s),null}}function Gn(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function Ba(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Gn(e.gl,t.scratch),Gn(e.gl,t.blur),e.effectTargets=null)}function Ha(e){Ba(e),e.gl.deleteTexture(e.program.texture),e.gl.deleteTexture(e.program.lutTexture),e.gl.deleteBuffer(e.program.quad),e.gl.deleteProgram(e.program.program)}function af(e){let t=Pa(e.canvas);return t?(Ha(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function mr(e){if(!e.sourceHidden)return;e.element.removeAttribute(kt);let t=e.element.style.getPropertyValue("opacity"),n=e.element.style.getPropertyPriority("opacity");t==="0"&&n==="important"&&(e.sourceInlineOpacity===null?e.element.style.removeProperty("opacity"):e.element.style.setProperty("opacity",e.sourceInlineOpacity,e.sourceInlineOpacityPriority)),e.sourceHidden=!1}function lf(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=ef(t,e.program.quad),i=Ta(t),r=Ta(t);return!n||!i||!r?(n&&t.deleteProgram(n.program),i&&Gn(t,i),r&&Gn(t,r),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:i,blur:r},e.effectTargets)}function uf(e,t,n,i,r){let o=Math.max(1,Math.ceil(i)),s=Math.max(1,Math.ceil(r));return Na(e,t,o,s),Na(e,n,o,s),{width:o,height:s}}function Ra(e,t,n,i,r,o,s){e.bindFramebuffer(e.FRAMEBUFFER,i.framebuffer),e.viewport(0,0,r.width,r.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,r.width,r.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,s),e.bindBuffer(e.ARRAY_BUFFER,t.quad),e.enableVertexAttribArray(t.position),e.vertexAttribPointer(t.position,2,e.FLOAT,!1,0,0),e.drawArrays(e.TRIANGLE_STRIP,0,4)}function cf(e,t,n,i,r,o,s){let l=n;for(let a=0;a<Math.max(1,Math.floor(s));a++)Ra(e,t.blurProgram,l,t.scratch,r,{x:1,y:0},o),Ra(e,t.blurProgram,t.scratch.texture,i,r,{x:0,y:1},o),l=i.texture}function df(e){let t=e.grading.lut?.src.trim()??"",n=e.grading.lut?.intensity??1;if(!t||n<=0)return e.lut=null,e.lutLoadingSrc=null,e.lutError=null,null;let i=Oa(t);if("error"in i)return e.lut=null,e.lutLoadingSrc=null,e.lutError=i.error,null;if(e.lut?.src===i.href)return e.lut;e.lut=null;let r=sf(t);return r.state==="ready"?La(e,i.href,r.lut):r.state==="error"?(e.lutError=r.message,e.lutLoadingSrc=null,null):(e.lutLoadingSrc!==i.href&&(e.lutLoadingSrc=i.href,e.lutError=null,r.promise.then(o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(La(e,i.href,o),Pe(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=pr(o),e.lutLoadingSrc=null,Pe(e))})),null)}function dr(e){if(!e)return null;if(typeof e=="string"){let t=e.trim();if(!t)return null;let n=document.getElementById(t.replace(/^#/,""));if(n&&dt(n))return n;try{let i=document.querySelector(t);return i&&dt(i)?i:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&dt(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&dt(t))return t}if(!e.selector)return null;try{let t=Array.from(document.querySelectorAll(e.selector)),n=Math.max(0,Math.floor(Number(e.selectorIndex??0)||0)),i=t[n]??null;return i&&dt(i)?i:null}catch{return null}}function ff(e){return e instanceof HTMLVideoElement?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:e instanceof HTMLImageElement&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function Ga(e){return e instanceof HTMLVideoElement?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:e instanceof HTMLImageElement?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function mf(e){if(!e.id)return null;let t=document.getElementById(`__render_frame_${e.id}__`);return t instanceof HTMLImageElement&&Ga(t)?t:null}function pf(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function hf(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function gf(e){if(e instanceof HTMLVideoElement){let t=mf(e);if(t)return t}return Ga(e)?e:null}function ka(e,t){let n=e.toLowerCase();if(n==="center")return .5;if(t==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function xf(e){let t=e.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<t.length;r++){let o=t[r]??"",s=ka(o,"x"),l=ka(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=l;continue}}return{x:n,y:i}}function bf(e,t,n,i,r,o){if(e<=0||t<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",l=e,a=t;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(e/n,t/i):Math.min(e/n,t/i);l=n*f,a=i*f,s==="scale-down"&&l>n&&a>i&&(l=n,a=i)}else s==="none"&&(l=n,a=i);let u=xf(o||"center"),c=(e-l)*u.x/e,m=(t-a)*u.y/t;return{scaleX:l/e,scaleY:a/t,offsetX:c,offsetY:m}}function yf(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function Sf(e,t){let{element:n,canvas:i}=e,r=n.parentElement;r&&yf(e,r);let o=window.getComputedStyle(t);xo(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=e.sourceOpacityForCanvas,i.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),l=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return l<=0||a<=0?(i.style.display="none",null):(i.width!==l&&(i.width=l),i.height!==a&&(i.height=a),{width:l,height:a})}function Ef(e,t,n,i,r,o,s,l,a){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,l.scaleX,l.scaleY),e.uniform2f(t.uvOffset,l.offsetX,l.offsetY),e.uniform1f(t.blurReady,r?1:0),e.uniform1f(t.lutEnabled,i?1:0),e.uniform1f(t.lutSize,i?.size??2),e.uniform2f(t.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),e.uniform3f(t.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0),e.uniform1f(t.exposure,n.adjust.exposure),e.uniform1f(t.contrast,n.adjust.contrast),e.uniform1f(t.highlights,n.adjust.highlights),e.uniform1f(t.shadows,n.adjust.shadows),e.uniform1f(t.whites,n.adjust.whites),e.uniform1f(t.blacks,n.adjust.blacks),e.uniform1f(t.temperature,n.adjust.temperature),e.uniform1f(t.tint,n.adjust.tint),e.uniform1f(t.vibrance,n.adjust.vibrance),e.uniform1f(t.saturation,n.adjust.saturation),e.uniform1f(t.vignette,n.details.vignette),e.uniform1f(t.vignetteMidpoint,n.details.vignetteMidpoint),e.uniform1f(t.vignetteRoundness,n.details.vignetteRoundness),e.uniform1f(t.vignetteFeather,n.details.vignetteFeather),e.uniform1f(t.grain,n.details.grain),e.uniform1f(t.grainSize,n.details.grainSize),e.uniform1f(t.grainRoughness,n.details.grainRoughness),e.uniform1f(t.grainSeed,a),e.uniform1f(t.blur,n.effects.blur),e.uniform1f(t.pixelate,n.effects.pixelate),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,o.enabled?1:0),e.uniform1f(t.comparePosition,o.position),e.uniform1f(t.compareSoftness,o.softness),e.uniform1f(t.compareLineWidth,o.lineWidth)}function Af(e){if(!e.sourceHidden){let t=e.element.getAttribute(yn);t!==null?(e.sourceInlineOpacity=t===""?null:t,e.sourceInlineOpacityPriority=""):(e.sourceInlineOpacity=e.element.style.getPropertyValue("opacity")||null,e.sourceInlineOpacityPriority=e.element.style.getPropertyPriority("opacity"))}e.element.setAttribute(kt,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function Pe(e){if(e.destroyed||e.contextLost)return!1;let t=gf(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=ff(t);if(!n)return!1;let i=t instanceof HTMLElement?t:e.element,r=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),s=e.sourceHidden&&r==="0"&&o==="important",l=e.element.style.getPropertyValue("visibility"),a=pf(t);if(a&&hf(e,t),a||!s){let S=window.getComputedStyle(a?t:e.element);e.sourceOpacityForCanvas=S.opacity||"1",e.sourceVisibleForCanvas=(a||l!=="hidden")&&S.visibility!=="hidden"}let u=Sf(e,i);if(!u)return!1;let c=window.getComputedStyle(i),m=bf(u.width,u.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:f,program:x}=e;try{let S=df(e);f.activeTexture(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,x.texture),f.pixelStorei(f.UNPACK_FLIP_Y_WEBGL,!0),f.texImage2D(f.TEXTURE_2D,0,f.RGBA,f.RGBA,f.UNSIGNED_BYTE,t);let b=!1,g=Math.min(1,Math.max(0,e.grading.effects.blur));if(g>0){let _=lf(e);if(_){let N=uf(f,_.scratch,_.blur,u.width,u.height);cf(f,_,x.texture,_.blur,N,.75+Math.pow(g,1.35)*32,g>.55?3:2),b=!0}}else e.effectError=null,e.effectTargets&&Ba(e);f.bindFramebuffer(f.FRAMEBUFFER,null),f.viewport(0,0,u.width,u.height),f.useProgram(x.program),f.activeTexture(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,x.texture),f.activeTexture(f.TEXTURE1),f.bindTexture(f.TEXTURE_2D,e.effectTargets?.blur.texture??x.texture),f.activeTexture(f.TEXTURE2),f.bindTexture(f.TEXTURE_2D,x.lutTexture);let E=e.grainSeed+(e.element instanceof HTMLVideoElement?Math.floor(e.element.currentTime*60):0);return Ef(f,x,e.grading,S,b,e.compare,u,m,E),f.bindBuffer(f.ARRAY_BUFFER,x.quad),f.enableVertexAttribArray(x.position),f.vertexAttribPointer(x.position,2,f.FLOAT,!1,0,0),f.drawArrays(f.TRIANGLE_STRIP,0,4),Af(e),e.hasDrawn=!0,e.drawError=null,!0}catch(S){return e.drawError=S instanceof Error?S.message:"Shader draw failed",L("runtime.colorGrading.drawEntry",S),!1}}function Ue(e,t,n,i){t.addEventListener(n,i),e.cleanup.push(()=>t.removeEventListener(n,i))}function wf(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&e.element instanceof HTMLVideoElement&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function on(e){if(e.destroyed||!(e.element instanceof HTMLVideoElement)||e.videoFrameHandle!==null||e.animationFrame!==null)return;let t=e.element,n=t;if(typeof n.requestVideoFrameCallback=="function"){e.videoFrameHandle=n.requestVideoFrameCallback(()=>{e.videoFrameHandle=null,Pe(e),!e.destroyed&&!t.paused&&!t.ended&&on(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,Pe(e),!e.destroyed&&!t.paused&&!t.ended&&on(e)})}function Cf(e){let t=()=>{Pe(e)};if(Ue(e,e.element,"load",t),Ue(e,e.element,"loadedmetadata",t),Ue(e,e.element,"loadeddata",t),Ue(e,e.element,"seeked",t),Ue(e,e.element,"timeupdate",t),Ue(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(Ue(e,e.element,"play",()=>on(e)),Ue(e,e.element,"pause",t)),Ue(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",mr(e)}),Ue(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!af(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",mr(e);return}e.drawError=null,Pe(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element)),typeof MutationObserver<"u"){let n=()=>{let s=e.element.style;return`${s.transform}|${s.translate}|${s.rotate}|${s.scale}|${s.left}|${s.top}|${s.width}|${s.height}`},i=n(),r=!1,o=new MutationObserver(()=>{r||n()!==i&&(r=!0,requestAnimationFrame(()=>{r=!1,i=n(),Pe(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:["style"]}),e.cleanup.push(()=>o.disconnect())}}function Ff(e){if(!e.destroyed){e.destroyed=!0,wf(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();e.cleanup.length=0,e.canvas.remove(),Ha(e),mr(e),e.touchedParent&&(e.parentInlinePosition===null?e.touchedParent.style.removeProperty("position"):e.touchedParent.style.position=e.parentInlinePosition)}}function _f(e){let t=document.createElement("canvas");return e.id&&(t.id=`${co}${e.id}`),t.className=Jd,t.setAttribute(Kd,"true"),t.setAttribute("data-hyperframes-ignore",""),t.setAttribute("data-hyperframes-picker-ignore",""),t.setAttribute("data-hf-ignore",""),t.setAttribute("aria-hidden","true"),t.style.pointerEvents="none",t.style.display="none",e.parentNode?.insertBefore(t,e.nextSibling),t}function Wa(){let e=new WeakMap,t=new Set,n=null,i=!1,r=(b,g,E)=>{let _=e.get(b);if(_)return _.grading=g,_.source=E,Pe(_),b instanceof HTMLVideoElement&&!b.paused&&on(_),!0;let N=_f(b),q=Pa(N);if(!q)return N.remove(),!1;let D={element:b,canvas:N,gl:q.gl,program:q.program,grading:g,compare:{...rn},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,effectError:null,source:E,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(b).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(b).visibility!=="hidden",hasDrawn:!1,contextLost:!1,grainSeed:of(b),destroyed:!1};return e.set(b,D),t.add(b),Cf(D),Pe(D),b instanceof HTMLVideoElement&&!b.paused&&on(D),!0},o=(b,g)=>{if(i)return!1;let E=dr(b);if(!E)return!1;let _=e.get(E);if(!_){let N=cr(E);if(!Dt(N)||!r(E,N,"attribute"))return!1;_=e.get(E)}return _?(_.compare=nf(g),Pe(_),!0):!1},s=b=>{let g=e.get(b);g&&(Ff(g),e.delete(b),t.delete(b))},l=()=>{if(i)return 0;let b=new Set;document.querySelectorAll(`video[${ze}], img[${ze}]`).forEach(E=>{if(!dt(E))return;b.add(E);let _=cr(E);Dt(_)?r(E,_,"attribute"):s(E)});for(let E of Array.from(t)){let _=e.get(E);_&&(!E.isConnected||_.source==="attribute"&&!b.has(E))&&s(E)}return t.size},a=()=>{if(i)return 0;let b=0;for(let g of Array.from(t,E=>e.get(E)))g&&Pe(g)&&(b+=1);return b},u=(b,g)=>{if(i)return!1;let E=dr(b);if(!E)return!1;let _=yi(g);return Dt(_)?r(E,_,"live"):(s(E),!0)},c=(b,g)=>{if(!dt(b))return!1;let E=e.get(b);return E?(E.sourceVisibleForCanvas=g,!0):!1},m=b=>{let g=dr(b);if(!g)return{state:"missing",message:"Media not found"};let E=e.get(g);if(E)return E.effectError?{state:"unavailable",message:E.effectError}:E.drawError?{state:"unavailable",message:E.drawError}:E.lutError?{state:"unavailable",message:`LUT error: ${E.lutError}`}:E.grading.lut&&E.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:E.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:E.lut?"Shader + LUT active":"Shader active"};let _=cr(g);return Dt(_)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let b of Array.from(t))s(b)}};document.body&&(n=new MutationObserver(()=>l()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[ze]}));let x={refresh:l,redraw:a,setGrading:u,setCompare:o,setSourceVisibility:c,getStatus:m,destroy:f},S=window;return S.__hf=S.__hf||{},S.__hf.colorGrading=x,l(),x}var Wn=class{constructor(t){ye(this,"_baseTime",0);ye(this,"_playStartMs",null);ye(this,"_rate",1);ye(this,"_duration",1/0);ye(this,"_nowMs");ye(this,"_audioSource",null);this._baseTime=t?.initialTime??0,this._rate=t?.rate??1,this._duration=t?.duration??1/0,this._nowMs=t?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(t){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(t,this._duration)):Math.max(0,t);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(t){let n=Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(t){this._duration=Number.isFinite(t)&&t>0?t:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(t){this._audioSource=t}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:t}=this._audioSource;if(!t.paused&&Number.isFinite(t.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function Ua(e){return!Number.isFinite(e)||e<=0?1:e}function vf(e,t){t||e.paused||!mn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function Mf(e,t){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=t,l=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let c=a-n;return l&&c<=0?!1:(l?e.start(0,n+i,c):e.start(0,n+i),!0)}let u=-n/o;return l?e.start(r+u,i,a):e.start(r+u,i),!0}var Un=class{constructor(){ye(this,"_ctx",null);ye(this,"_bufferCache",new Map);ye(this,"_failedSrcs",new Set);ye(this,"_activeSources",[]);ye(this,"_masterGain",null);ye(this,"_rateAnchorCtx",0);ye(this,"_rateAnchorComp",0);ye(this,"_rate",1);ye(this,"_paused",!0);ye(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(t){let n=t.currentSrc||t.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return L("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return L("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),L("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(t,n,i,r,o,s,l,a=1,u=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let c=Ua(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=c;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,S=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=S,this._rateAnchorComp=o,!Mf(m,{elapsed:x,mediaStart:r,scheduledAt:S,safeRate:c,clipDuration:u}))return m.disconnect(),f.disconnect(),null;let b=t.muted;t.muted=!0,vf(t,b);let g={el:t,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:S,priorMuted:b,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(g),this._paused=!1,m.addEventListener("ended",()=>{let E=this._activeSources.indexOf(g);E!==-1&&(this._activeSources.splice(E,1),t.muted=b,this._activeSources.length===0&&(this._paused=!0))}),g}catch(c){return L("webAudioTransport.schedule",c),null}}setRate(t){let n=Ua(t);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){L("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>t.bounded)}stopAll(){for(let t of this._activeSources){try{t.sourceNode.stop(),t.sourceNode.disconnect(),t.gainNode.disconnect()}catch{}t.el.muted=t.priorMuted}this._activeSources=[],this._paused=!0}setVolume(t){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,t)))}setElementVolume(t,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===t)try{r.gainNode.gain.value=i}catch(o){L("webAudioTransport.setElementVolume",o)}}setMuted(t){this._masterGain&&(this._masterGain.gain.value=t?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Va="data-hf-studio-manual-edit-gesture";function za(e){return!Number.isInteger(e.tick)||e.tick<=0||e.tick%60!==0?!1:!(e.isPlaying&&e.hasCapturedTimeline&&e.currentTimeSeconds<2)}var hr="data-hf-authored-duration",gr="data-hf-authored-end";function Tf(){let e=window.__HF_EXPORT_RENDER_SEEK_CONFIG,t=e?.fps,n=e?.fpsSource,i=Number(t);return!e||t==null?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:t,fallbackReason:e.fpsFallbackReason}}function ja(){let e=So();On(document),ar(document);let t=Tf();e.canonicalFps=t.fps??e.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:e.canonicalFps,source:t.source,rawFpsSource:t.rawFpsSource,rawFps:t.rawFps,fallbackReason:t.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,l=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){L("runtime.init.site1",d)}(()=>{let d=window.gsap,p=window;if(!(!d?.registerPlugin||p.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch{}})(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden");try{Wr(document)}catch(d){L("runtime.init.cssVariables",d)}window.__timelines=window.__timelines||{};let u=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=u()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let y=0;y<d.length;y++)h[`tl-${y}`]=d[y];window.__timelines=h}let c=u();c&&!c.hasAttribute("data-start")&&c.setAttribute("data-start","0");let m=d=>{o.push(d)},f=(d,p,h)=>{let y=h??`${d}:${JSON.stringify(p)}`;s.has(y)||(s.add(y),Ce({source:"hf-preview",type:"diagnostic",code:d,details:p}))},x=d=>{let p={scale:1,focusX:960,focusY:540},h=[],y=[],w={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>y,getRenderState:()=>({...w,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},S=1/60,b=.75,g=.05,E=100,_=240,N=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},q=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},D=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},M=()=>u(),A=()=>{let d=M();if(!d)return;let p=D(d.getAttribute("data-width")),h=D(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},F=()=>{let d=M(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let y=h.getAttribute("data-duration"),w=h.getAttribute("data-end");y!=null&&!h.hasAttribute(hr)&&h.setAttribute(hr,y),w!=null&&!h.hasAttribute(gr)&&h.setAttribute(gr,w),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},v=()=>{let d=M();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=D(d.getAttribute("data-width")),h=D(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let y=Array.from(d.children);for(let w of y){let C=w.tagName.toLowerCase();if(C==="script"||C==="style"||C==="link"||C==="meta"||!w.hasAttribute("data-start")||w.hasAttribute("data-hf-autostamped"))continue;let R=(w.style.top==="0px"||w.style.top==="0")&&(w.style.left==="0px"||w.style.left==="0")&&w.style.width==="100%"&&w.style.height==="100%",z=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(w.style.transform);if(R&&z&&!w.hasAttribute("data-width")&&!w.hasAttribute("data-height")){let Se=w.style.top,st=w.style.left,we=w.style.width,vt=w.style.height;w.style.top="",w.style.left="",w.style.width="",w.style.height="";let re=window.getComputedStyle(w);re.top!=="auto"||re.bottom!=="auto"||re.left!=="auto"||re.right!=="auto"||re.width!=="0px"||re.height!=="0px"||(w.style.top=Se,w.style.left=st,w.style.width=we,w.style.height=vt)}let j=window.getComputedStyle(w),ge=j.position;if(ge!=="absolute"&&ge!=="fixed"&&(w.style.position="absolute"),!!w.style.top||!!w.style.bottom||j.top!=="auto"||j.bottom!=="auto"||(w.style.top="0"),!!w.style.left||!!w.style.right||j.left!=="auto"||j.right!=="auto"||(w.style.left="0"),C!=="audio"){let Se=D(w.getAttribute("data-width")),st=D(w.getAttribute("data-height")),we=j.width!=="0px"&&j.width!=="auto",vt=j.height!=="0px"&&j.height!=="auto";Se?!w.style.width&&!we&&(w.style.width=Se):!w.style.width&&j.width==="0px"&&(w.style.width="100%"),st?!w.style.height&&!vt&&(w.style.height=st):!w.style.height&&j.height==="0px"&&(w.style.height="100%")}}},T=(d,p=0,h)=>Je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),k=(d,p)=>Je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),W=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+p:T(d,p),$=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let y=h==="video"||h==="audio"?W(d,0):T(d,0),w=k(d),C=d.getAttribute("data-composition-id");if(C){let z=(window.__timelines??{})[C],j=null;if(z&&typeof z.duration=="function"){let xe=Number(z.duration());Number.isFinite(xe)&&xe>0&&(j=xe)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(hr)||d.hasAttribute(gr))&&(w==null||w<=0)&&j!=null&&(w=j)}let R=w!=null&&w>0?y+w:Number.POSITIVE_INFINITY;return p>=y&&(Number.isFinite(R)?p<=R:!0)},ue=!!document.querySelector("[data-composition-src]"),H=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){H=!0;break}}}let ee=!ue&&!H,de=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},B=d=>typeof d=="number"&&Number.isFinite(d)&&d>S,te=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),y=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>y?Math.max(0,d.duration-y):null},U=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let y=W(h,0);if(!Number.isFinite(y))continue;let w=te(h);w==null||w<=S||(p=Math.max(p,Math.max(0,y)+w))}return p>S?p:null},ie=()=>{let d=M();if(!d)return null;let p=window.__timelines??{},h=Je({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),y=0,w=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(w)&&w>0&&(y=w);let C=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let R of C){if(!(R instanceof Element)||R.parentElement?.closest("[data-composition-id]")!==d)continue;let j=h.resolveStartForElement(R,0),ge=h.resolveDurationForElement(R);!Number.isFinite(j)||ge==null||ge<=0||(y=Math.max(y,Math.max(0,j)+ge))}return y>S?y:null},ve=()=>{let d=U();return typeof d!="number"||!Number.isFinite(d)||d<=S?null:d},G=d=>B(d)?Math.max(S,d*b):S,I=()=>{let d=0;for(let p of e.deterministicAdapters){let h=p.getInferredDurationSeconds;if(typeof h!="function")continue;let y=null;try{y=h()}catch(w){L("runtime.init.adapterDuration",w)}typeof y=="number"&&Number.isFinite(y)&&y>0&&(d=Math.max(d,y))}return d>S?d:null},O=(d,p=0)=>{let h=de(d),y=ve(),w=ie(),C=I(),R=Math.max(y??0,w??0,C??0),z=Number.isFinite(p)&&p>S?p:0,j=0;return B(h)?j=Math.max(h,R,z):B(R)?j=Math.max(R,z):j=z,j>0?Math.max(0,j):0},ae=()=>{let d=window.__timelines??{},p=re=>{let Q=Object.entries(d).filter(se=>!!se[1]&&typeof se[1].play=="function"&&typeof se[1].pause=="function");if(Q.length!==1)return{timeline:null};let me=Q[0];if(!me)return{timeline:null};let[pe,be]=me;return{timeline:be,selectedTimelineIds:[pe],selectedDurationSeconds:de(be),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:re,soleTimelineId:pe}}}},h=Je({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),y=ve(),w=ie(),C=Math.max(y??0,w??0)||null,R=G(C),z=re=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(re)}"]`);return Q?h.resolveStartForElement(Q,0):0},j=re=>{let Q=window.gsap;if(!Q||typeof Q.timeline!="function")return null;let me=Q.timeline({paused:!0});for(let pe of re)me.add(pe.timeline,z(pe.compositionId));return me},ge=(re,Q)=>{if(!B(re))return null;let me=window.gsap;if(!me||typeof me.timeline!="function")return null;let pe=me.timeline({paused:!0});if(Q)try{pe.add(Q,0)}catch(se){L("runtime.init.site2",se)}let be=pe;if(typeof be.to=="function")try{be.to({},{duration:re})}catch(se){L("runtime.init.site3",se)}return pe},xe=(re,Q)=>{let me=re;if(typeof me.getChildren!="function")return[];try{let pe=me.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let be=[];for(let se of Q)if(!pe.some(ke=>ke===se.timeline))try{let ke=z(se.compositionId);re.add(se.timeline,ke),be.push(se.compositionId)}catch(ke){L("runtime.init.site4",ke)}return be}catch{return[]}},ne=M(),X=ne?.getAttribute("data-composition-id")??null;if(!X)return p("root_missing_composition_id");let Se=d[X]??null,we=(()=>{if(!ne)return[];let re=new Set,Q=Array.from(ne.querySelectorAll("[data-composition-id]")),me=[];for(let pe of Q){let be=pe.getAttribute("data-composition-id");if(!be||be===X||re.has(be))continue;re.add(be);let se=d[be]??null;if(!se||typeof se.play!="function"||typeof se.pause!="function")continue;let Te=de(se);me.push({compositionId:be,timeline:se,durationSeconds:Te??0})}return me})(),vt=re=>{for(let Q of re){let me=Q.timeline;if(typeof me.paused=="function")try{me.paused(!1)}catch(pe){L("runtime.init.site5",pe)}}};if(we.length>0&&vt(we),Se){let re=we.length>0?xe(Se,we):[];if((we.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+X+"\'])"))&&(oe=!0),re.length>0)try{let se=Se.time();Se.seek(se,!1)}catch{}let Q=de(Se);if(!B(Q)&&we.length>0){let se=we.map(Rl=>Rl.compositionId),Te=j(we),ke=de(Te);if(Te&&B(ke))return{timeline:Te,selectedTimelineIds:se,selectedDurationSeconds:ke,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:X,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:R,selectedDurationSeconds:ke,mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedTimelineIds:se,autoNestedChildren:re}}};let ri=ge(C??0,Se),oi=de(ri);if(ri&&B(oi))return{timeline:ri,selectedTimelineIds:[X],selectedDurationSeconds:oi,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:X,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:oi,selectedTimelineIds:[X],autoNestedChildren:re}}}}if(!B(Q)&&we.length===0){let se=ge(C??0,Se),Te=de(se);if(se&&B(Te))return{timeline:se,selectedTimelineIds:[X],selectedDurationSeconds:Te,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:X,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:Te,selectedTimelineIds:[X]}}}}let me=ne?.getAttribute("data-duration"),pe=me?parseFloat(me):null,be=Math.max(B(pe)?pe:0,w??0);if(be>0&&B(be)&&B(Q)&&be>=Q+.5){let se=Se;if(typeof se.to=="function")try{se.to({},{duration:0},be)}catch(ke){L("runtime.init.site6",ke)}let Te=de(Se);if(B(Te))return{timeline:Se,selectedTimelineIds:[X],selectedDurationSeconds:Te,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:X,rootDurationSeconds:Q,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:w,newDur:Te}}}}return{timeline:Se,selectedTimelineIds:[X],selectedDurationSeconds:Q,mediaDurationFloorSeconds:y,diagnostics:re.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:X,selectedDurationSeconds:Q,autoNestedChildren:re}}:void 0}}if(we.length>0){let re=we.map(pe=>pe.compositionId),Q=j(we),me=de(Q);if(Q)return{timeline:Q,selectedTimelineIds:re,selectedDurationSeconds:me,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:X,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:R,selectedDurationSeconds:me,mediaDurationFloorSeconds:y,selectedTimelineIds:re}}}}return p("root_composition_id_unmatched_in_registry")},oe=!1,V=()=>{if(!ee)return!1;let d=e.capturedTimeline,p=de(d),h=B(p);if(d&&h&&oe)return!1;let y=ae();if(!y.timeline)return!1;if(d&&d===y.timeline)return typeof d.timeScale=="function"&&d.timeScale(e.playbackRate),!1;e.capturedTimeline=y.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let w=O(e.capturedTimeline,0);if(w<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),e.capturedTimeline.pause()),w>0){try{P.setDuration(w)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let R=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(R,!1),e.capturedTimeline.pause()}let C=window.__hfStudioManualEditsApply;typeof C=="function"&&C(),On(document)}if(y.diagnostics&&Ce({source:"hf-preview",type:"diagnostic",code:y.diagnostics.code,details:y.diagnostics.details}),Ce({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:y.selectedTimelineIds??[],selectedDurationSeconds:y.selectedDurationSeconds??null,mediaDurationFloorSeconds:y.mediaDurationFloorSeconds??null}}),window.parent!==window){let C=M(),R=w>0?w:0,z=String(R>0?R:1),j=new Set,ge=new Set(document.querySelectorAll("[data-start]")),xe=ne=>{let X=ne.parentElement;for(;X&&X!==C;){if(ge.has(X))return!0;X=X.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ne of e.capturedTimeline.getChildren(!0))if(typeof ne.targets=="function")for(let X of ne.targets())X instanceof HTMLElement&&X!==C&&(X.hasAttribute("data-start")||xe(X)||j.has(X)||(j.add(X),X.setAttribute("data-start","0"),X.setAttribute("data-duration",z),X.setAttribute("data-hf-autostamped","1")))}catch{}if(C instanceof HTMLElement)for(let ne of C.querySelectorAll("[id]"))ne instanceof HTMLElement&&ne!==C&&(ne.hasAttribute("data-start")||xe(ne)||j.has(ne)||ne.tagName==="SCRIPT"||ne.tagName==="STYLE"||ne.tagName==="LINK"||(j.add(ne),ne.setAttribute("data-start","0"),ne.setAttribute("data-duration",z),ne.setAttribute("data-hf-autostamped","1")))}for(let C of wt)ln.delete(C),_r(C);return!0};window.__hfForceTimelineRebind=()=>{oe=!1,V()};let K=()=>{let d=M();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),y=Number(d.getAttribute("data-height")),w=window.getComputedStyle(d),C=Number.isFinite(h)&&h>0&&Number.isFinite(y)&&y>0,R=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!C||!R||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:y,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:w.display,visibility:w.visibility,overflow:w.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},J=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,K()}))},Be=()=>{i=d=>{let p=N(d.error??d.message).slice(0,_);if(!p)return;let h=q(p);Ce({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let p=N(d.reason).slice(0,_);if(!p)return;let h=q(p);Ce({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},Me=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let y=()=>{if(!(h instanceof Element))return;let w=h.tagName.toLowerCase(),C=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,R=w==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(R,{tagName:w,assetUrl:C,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${R}:${w}:${C??"unknown"}`)};h.addEventListener("error",y),m(()=>{h.removeEventListener("error",y)})}let p=document.fonts;p&&p.ready.then(()=>{if(e.tornDown)return;let h=Array.from(p).filter(y=>y.status==="error").map(y=>y.family).filter(y=>!!y).slice(0,10);h.length!==0&&f("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},At=(d,p)=>{if(!d.timeline)return!1;let h=e.capturedTimeline;if(h&&h===d.timeline)return!1;let y=Math.max(0,e.currentTime||0),w=e.isPlaying;e.capturedTimeline=d.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{e.capturedTimeline.pause(),e.capturedTimeline.seek(y,!1),w&&e.capturedTimeline.play()}catch(C){L("runtime.init.site7",C)}return Ce({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:y,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},Fe=null,Fr=!1,wt=new Set,ln=new WeakMap,un=()=>{e.tornDown||(Fe!=null&&window.clearTimeout(Fe),Fe=window.setTimeout(()=>{if(e.tornDown)return;Fe=null;let d=ae();if(!d.timeline||!B(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){V()&&(it(),Ne(!0));return}if(Fr)return;let h=de(e.capturedTimeline),y=d.selectedDurationSeconds??de(d.timeline);B(y)&&(!B(h)||y>=h+g)&&At(d,"manual")&&(Fr=!0,Ce({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:y??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),it(),Ne(!0))},E))},bl=()=>{for(let d of wt)d.removeEventListener("loadedmetadata",un),d.removeEventListener("durationchange",un);wt.clear()},Kn=()=>{if(e.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(wt.has(p))continue;wt.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",un),p.addEventListener("durationchange",un),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),_r(p)}},_r=d=>{ln.has(d)||ao(d,e.capturedTimeline,O(e.capturedTimeline,0),ln)},Jn=new WeakMap,vr=d=>{let p=Jn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,y=h==="static"||h==="relative"||h==="sticky";return Jn.set(d,y),y},Yn=new WeakMap,yl=d=>{let p=Yn.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return Yn.set(d,h),h},Sl=()=>{Jn=new WeakMap,Yn=new WeakMap},Xn=new WeakMap,cn=new WeakSet,Re=()=>{let d=C=>{let R=C.closest("[data-composition-id]"),z=R?T(R,0):null,j=R?k(R,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:R,inheritedStart:z,inheritedDuration:j}},p=lo({shouldIncludeElement:C=>C.hasAttribute("data-start")||!!d(C).compositionRoot,resolveStartSeconds:C=>{let R=d(C);return W(C,R.inheritedStart??0)},resolveDurationSeconds:C=>{let R=d(C),z=W(C,R.inheritedStart??0),j=Number.parseFloat(C.dataset.playbackStart??C.dataset.mediaStart??"0")||0,ge=R.inheritedStart!=null&&R.inheritedDuration!=null&&R.inheritedDuration>0?Math.max(0,R.inheritedStart+R.inheritedDuration-z):null,xe=Number.isFinite(C.duration)&&C.duration>j?Math.max(0,C.duration-j):null,ne=Number.parseFloat(C.dataset.duration??""),X=Number.isFinite(ne)&&ne>0?ne:null,Se=[xe,ge,X].filter(st=>st!=null);return Se.length>0?Math.min(...Se):null}});for(let C of p.mediaClips){let R=ln.get(C.el);R&&(C.volumeKeyframes=R)}let h=e.mediaForceSyncNextTick;h&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||uo({clips:p.mediaClips,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted||!e.webAudioMediaDisabled&&!e.nativeMediaSyncDisabled&&fe.isActive(),userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:h,onElementVolume:(C,R)=>fe.setElementVolume(C,R),isWebAudioOwned:C=>fe.ownsElement(C),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,Ce({source:"hf-preview",type:"media-autoplay-blocked"}))}});let y=Array.from(document.querySelectorAll("[data-start]")),w=M();for(let C of y){if(!(C instanceof HTMLElement))continue;if(C.hasAttribute("data-hidden")){cn.has(C)||(Xn.set(C,C.style.getPropertyValue("display")),cn.add(C)),C.style.display="none",(C instanceof HTMLVideoElement||C instanceof HTMLImageElement)&&n?.setSourceVisibility(C,!1);continue}if(cn.has(C)){let z=Xn.get(C);z?C.style.display=z:C.style.removeProperty("display"),Xn.delete(C),cn.delete(C)}let R=$(C,e.currentTime);if(R){let z=C.parentElement;for(;z&&z!==w;){if(z instanceof HTMLElement&&z.hasAttribute("data-start")&&!$(z,e.currentTime)){R=!1;break}z=z.parentElement}}C.style.visibility=R?"visible":"hidden",(C instanceof HTMLVideoElement||C instanceof HTMLImageElement)&&n?.setSourceVisibility(C,R),R?vr(C)&&C.style.removeProperty("display"):vr(C)&&yl(C)&&(C.style.display="none")}},Ne=d=>{let p=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),h=Date.now();(d||p!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||h-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=p,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=h,Ce({source:"hf-preview",type:"state",frame:p,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},Qn="",Mr=0,El=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},it=()=>{F(),A(),v();let d=M();if(d){let y=D(d.getAttribute("data-width")),w=D(d.getAttribute("data-height")),C=y?parseInt(y,10):0,R=w?parseInt(w,10):0;C>0&&R>0&&Ce({source:"hf-preview",type:"stage-size",width:C,height:R})}V();let p=_o({canonicalFps:e.canonicalFps});window.__clipManifest=p;let h=El();if(Qn!==h&&Sl(),!window.__clipTree||Qn!==h){let y=window;window.__clipTree=Eo({startResolver:Je({timelineRegistry:y.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:y.__timelines??{},rootDuration:p.durationInFrames/e.canonicalFps}),Qn=h}Ce(p),J()},Zn=d=>Number.isFinite(d)&&d>0?d:0,Al=d=>{let p=Zn(Number(d));if(p<=0)return;let h=M(),y=Zn(Number.parseFloat(h?.getAttribute("data-duration")??"")),w=Math.max(Mr,Zn(P.getDuration()),y);p<=w||(Mr=p,h?.setAttribute("data-duration",String(p)),P.setDuration(p),it(),Ne(!0))},He=(d,p=0)=>{for(let h of e.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(y){L("runtime.init.site8",y)}if(d==="discover")try{h.seek({time:p,suppressEvents:!0})}catch(y){L("runtime.init.site9",y)}}},rt=()=>{window.__renderReady=!1},Ct=null,Ft=!0,wl=()=>{let d=[];for(let p of e.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let y=h();y&&d.push(y)}catch(y){L("runtime.init.adapterReady",y)}}return d},Cl=()=>{let d=wl();if(d.length===0)return Ct=null,Ft=!0,!0;let p=d[0];if(!p)return!0;let h=d.length===1?p:Promise.all(d);return h!==Ct&&(Ct=h,Ft=!1,Promise.resolve(h).then(()=>{Ct===h&&(Ft=!0,rt())},y=>{Ct===h&&(Ft=!0,L("runtime.init.adapterReady",y),rt())})),Ft};if(ee)ir();else{let d={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,parseDimensionPx:D,onDiagnostic:({code:p,details:h})=>{Ce({source:"hf-preview",type:"diagnostic",code:p,details:h})}};ma(d).then(()=>fa(d)).finally(()=>{ee=!0,Kn(),Me(),ir(),ar(document),rt()})}let dn=go({postMessage:d=>Ce(d)});dn.installPickerApi();let Ve=Wa();n=Ve,m(()=>{Ve.destroy(),n=null});let ei=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,p)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let h=document.querySelectorAll("video, audio");for(let y of h)if(y instanceof HTMLMediaElement)try{y.playbackRate=e.playbackRate}catch(w){L("runtime.init.site10",w)}},he=yo({getTimeline:()=>e.capturedTimeline,setTimeline:d=>{e.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>e.isPlaying,setIsPlaying:d=>{e.isPlaying!==d&&(e.mediaForceSyncNextTick=!0),e.isPlaying=d},getPlaybackRate:()=>e.playbackRate,setPlaybackRate:ei,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(d,p)=>{e.currentTime=Math.max(0,Number(d)||0),e.isPlaying!==p&&(e.mediaForceSyncNextTick=!0),e.isPlaying=p,Re()},onStatePost:Ne,onDeterministicSeek:(d,p)=>{for(let h of e.deterministicAdapters)if(!(h.name==="gsap"&&e.capturedTimeline))try{h.seek({time:Number(d)||0,suppressEvents:p?.suppressEvents})}catch(y){L("runtime.init.site11",y)}},onDeterministicPause:()=>He("pause"),onDeterministicPlay:()=>He("play"),onRenderFrameSeek:()=>{Ve.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>O(e.capturedTimeline,0)});window.__player=x(he),window.__playerReady=!0,Or(Ce),at("composition_loaded",{duration:he.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.controlBridgeHandler=Pr({onPlay:()=>{he.play(),at("composition_played",{time:he.getTime()})},onPause:()=>{he.pause(),at("composition_paused",{time:he.getTime()})},onStopMedia:()=>{fe.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/e.canonicalFps;he.seek(h),at("composition_seeked",{time:h})},onSetMuted:d=>{e.bridgeMuted=d;let p=d||e.mediaOutputMuted;fe.setMuted(p);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=p||y.defaultMuted)},onSetVolume:d=>{e.bridgeVolume=d,fe.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let y=parseFloat(h.dataset.volume??""),w=Number.isFinite(y)?y:1;h.volume=w*d}},onSetMediaOutputMuted:d=>{e.mediaOutputMuted=d;let p=d||e.bridgeMuted;fe.setMuted(p);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=p||y.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{e.nativeMediaSyncDisabled!==d&&(e.nativeMediaSyncDisabled=d,e.mediaForceSyncNextTick=!0,d?(fe.stopAll(),P.detachAudioSource()):Re())},onSetWebAudioMediaDisabled:d=>{e.webAudioMediaDisabled!==d&&(e.webAudioMediaDisabled=d,e.mediaForceSyncNextTick=!0,d&&(fe.stopAll(),P.detachAudioSource()),Re())},onSetPlaybackRate:d=>{ei(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),Dr()},onSetRootDuration:Al,onSetColorGrading:(d,p)=>{Ve.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{Ve.setCompare(d,p)},onTick:()=>{if(e.tornDown||!P.isPlaying())return;let d=P.now();if(e.currentTime=d,ot(d),P.reachedEnd()){fe.stopAll(),P.detachAudioSource(),P.pause(),e.isPlaying=!1;let p=P.getDuration();Number.isFinite(p)&&(P.seek(p),e.currentTime=p,ot(p)),He("pause"),Re(),Ne(!0)}},onEnablePickMode:()=>dn.enablePickMode(),onDisablePickMode:()=>dn.disablePickMode()}),e.deterministicAdapters=[oo(),Vr({resolveStartSeconds:d=>T(d,0)}),jr(),$r(),Jr(),Yr(),Xr(),Qr(),Zr(),eo(),to(),zr({getTimeline:()=>e.capturedTimeline})],io(),ro(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,Kr(p)},Be(),Kn(),He("discover");let P=new Wn;e.transportClock=P;let fe=new Un,ti=!1;fe.init().then(d=>{ti=d});let Fl=()=>{let d=e.capturedTimeline,p=V();e.capturedTimeline&&(p||e.capturedTimeline!==d||!he._timeline)&&(he._timeline=e.capturedTimeline);let h=O(e.capturedTimeline,0);if(h>0&&P.setDuration(h),He("discover",e.currentTime),!e.capturedTimeline){let y=window.__timelines??{},w=Object.keys(y).filter(C=>y[C]);if(w.length>0){let R=M()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:R?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:R,registeredTimelineKeys:w},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(R?`Root data-composition-id is "${R}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${w.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${R??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,it(),Ne(!0)};if(rt=()=>{if(!ee||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(He("discover",e.currentTime),!Cl()){window.__renderReady=!1;return}Fl()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),rt()};window.addEventListener("hf-timelines-built",d)}rt(),ee&&setTimeout(()=>{rt()},0);let fn=0,ni=!1,_l=(d,p,h,y)=>{try{let w=y?.suppressEvents===!0;d.pause(),typeof d.totalTime=="function"?d.totalTime(p,w):d.seek(p,w)}catch(w){L(h,w)}},vl=(d,p)=>{let h=window.__timelines??{},y=M()?.getAttribute("data-composition-id")??null;for(let[w,C]of Object.entries(h)){if(!C||w===y)continue;let R=document.querySelector(`[data-composition-id="${CSS.escape(w)}"]`);if(!R)continue;let z=T(R,0);if(!Number.isFinite(z))continue;let j=k(R,{includeAuthoredTimingAttrs:!0}),ge=de(C),xe=j!=null&&j>0?j:ge,ne=Math.max(0,xe!=null&&xe>0?Math.min(xe,d-z):d-z);_l(C,ne,"runtime.init.transport.childTimeline",p)}},Ml=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(y){L("runtime.init.activateSiblings",y)}},Tr=d=>typeof d=="object"&&d!==null,_t=new WeakMap,Tl=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],Nr=(d,p)=>{let h=d[p];if(typeof h!="function")return null;try{let y=Number(h.call(d));return Number.isFinite(y)?y:null}catch(y){return L("runtime.init.gsapCallbackDuration",y),null}},Nl=d=>{let p=_t.get(d);if(p!=null)return p;if(!("getChildren"in d)||typeof d.getChildren!="function")return!1;let h;try{h=d.getChildren(!0,!0,!0)}catch(y){return L("runtime.init.gsapCallbackChildren",y),_t.set(d,!1),!1}if(!Array.isArray(h))return _t.set(d,!1),!1;for(let y of h){if(!Tr(y))continue;let w=y.vars;if(!Tr(w)||!Tl.some(j=>typeof w[j]=="function"))continue;let z=Nr(y,"totalDuration")??Nr(y,"duration");if(z!=null&&z<=1e-6)return _t.set(d,!0),!0}return _t.set(d,!1),!1},ot=(d,p)=>{let h=e.capturedTimeline,y=p?.suppressEvents===!0;if(h){p?.activateChildren&&Ml(h);let w=h,C=d;if(typeof w.totalDuration=="function")try{let R=Number(w.totalDuration());Number.isFinite(R)&&R>0&&d>R&&(C=R)}catch(R){L("runtime.init.transport.clampDuration",R)}try{typeof h.totalTime=="function"?(h.totalTime(C,y),!y&&!Nl(h)&&(h.totalTime(C+.001,!0),h.totalTime(C,!0))):h.seek(C,y)}catch(R){L("runtime.init.transport.seek",R)}}else vl(d,p);for(let w of e.deterministicAdapters)if(!(w.name==="gsap"&&h))try{w.seek({time:d,suppressEvents:y})}catch(C){L("runtime.init.transport.adapter",C)}},Ll=()=>{try{return document.querySelector(`[${Va}]`)!=null}catch{return!1}},Lr=()=>{if(!(e.tornDown||ni)){ni=!0;try{if(e.transportRafId=window.requestAnimationFrame(Lr),fn+=1,za({tick:fn,isPlaying:P.isPlaying(),hasCapturedTimeline:e.capturedTimeline!=null,currentTimeSeconds:P.now()})){let p=e.capturedTimeline;if(V()){e.capturedTimeline&&!he._timeline&&(he._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==p&&e.capturedTimeline.pause();let h=O(e.capturedTimeline,0);h>0&&P.setDuration(h),it()}}if(fn%20===0&&it(),fn%30===0&&Kn(),e.capturedTimeline){let p=O(e.capturedTimeline,0);p>0&&(!P.isPlaying()||p>=P.getDuration())&&P.setDuration(p)}if(P.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&fe.isActive()&&fe.context){let p=fe.getTime();p>=0&&P.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let y of p){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let w=Number.parseFloat(y.dataset.start??""),C=Number.parseFloat(y.dataset.duration??""),R=Number.isFinite(C)&&C>0?w+C:1/0,z=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0;if(Number.isFinite(w)&&e.currentTime>=w&&e.currentTime<=R){y.paused?!y.error&&y.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(P.attachAudioSource({currentTimeSeconds:e.currentTime}),h=!0):(P.attachAudioSource({el:y,compositionStart:w,mediaStart:z}),h=!0);break}}!h&&P.hasAudioSource()&&P.detachAudioSource()}else P.hasAudioSource()&&P.detachAudioSource();let d=P.now();if(e.currentTime=d,(P.isPlaying()||!Ll())&&ot(d),P.isPlaying()&&P.reachedEnd()){fe.stopAll(),P.detachAudioSource(),P.pause(),e.isPlaying=!1;let p=P.getDuration();Number.isFinite(p)&&(P.seek(p),e.currentTime=p,ot(p)),He("pause"),Re(),Ne(!0);return}P.isPlaying()&&Re(),Ne(!1)}finally{ni=!1}}},Rr=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let w=Number.parseFloat(h.dataset.duration??""),C=Number.isFinite(w)&&w>0?y+w:1/0;if(d<y||d>=C)continue;let R=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,z=d-y+R;if(z>=0)try{h.currentTime=z}catch{}}},kr=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let d=fe.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let w=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,C=Number.parseFloat(h.dataset.volume??""),R=Number.isFinite(C)?C:1,z=Number.parseFloat(h.dataset.duration??""),j=Number.isFinite(z)&&z>0?z:Number.POSITIVE_INFINITY,ge=h.closest("[data-composition-id]");if(ge){let xe=T(ge,0),ne=k(ge,{includeAuthoredTimingAttrs:!0});ne!=null&&ne>0&&(j=Math.min(j,Math.max(0,xe+ne-y)))}fe.decodeAudioElement(h).then(xe=>{!xe||!P.isPlaying()||fe.schedulePlayback(h,xe,y,w,P.now(),R*e.bridgeVolume,d,e.playbackRate,j)})}},Dr=()=>{fe.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&ti&&P.isPlaying()&&fe.hasBoundedActiveSources()&&(fe.stopAll(),kr())};if(he.play=()=>{let d=e.capturedTimeline;if(P.isPlaying())return;let p=O(d,0);if(p>0)P.setDuration(p),P.reachedEnd()&&(P.seek(0),e.currentTime=0,ot(0));else{let h=M(),y=Number(h?.getAttribute("data-duration")??0);y>0&&P.setDuration(y)}d&&d.pause(),P.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,Rr(P.now()),ti&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&kr(),He("play"),Re(),Ve.redraw(),Ne(!0))},he.pause=()=>{if(!P.isPlaying())return;fe.stopAll(),P.detachAudioSource(),P.pause(),e.isPlaying=!1,e.currentTime=P.now(),e.mediaForceSyncNextTick=!0,Rr(e.currentTime);let d=e.capturedTimeline;d&&d.pause(),He("pause"),Re(),Ve.redraw(),Ne(!0)},he.seek=d=>{let p=mt(Math.max(0,Number(d)||0),e.canonicalFps);fe.stopAll(),P.detachAudioSource(),P.isPlaying()&&P.pause(),P.seek(p),e.currentTime=P.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let y=e.capturedTimeline;y&&y.pause(),ot(e.currentTime),He("pause"),Re(),Ve.redraw(),Ne(!0)},he.renderSeek=(d,p)=>{let h=mt(Math.max(0,Number(d)||0),e.canonicalFps);P.isPlaying()&&P.pause(),P.seek(h),e.currentTime=P.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,ot(e.currentTime,{activateChildren:!0,suppressEvents:p?.suppressEvents}),Re(),Ve.redraw(),Ne(!0)},he.getTime=()=>P.now(),he.getDuration=()=>{let d=P.getDuration();return Number.isFinite(d)?d:0},he.isPlaying=()=>P.isPlaying(),he.setPlaybackRate=d=>{ei(d),P.setRate(e.playbackRate),Dr()},e.capturedTimeline){let d=O(e.capturedTimeline,0);d>0&&P.setDuration(d),e.capturedTimeline.pause()}let Ir=window.__player;if(Ir){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(Ir,p,{get:()=>he[p],set:h=>{he[p]=h},configurable:!0})}Aa(window),e.transportRafId=window.requestAnimationFrame(Lr),it(),Ne(!0);let ii=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,fe.destroy(),Fe!=null&&(window.clearTimeout(Fe),Fe=null),l!=null&&(window.cancelAnimationFrame(l),l=null),bl(),e.controlBridgeHandler&&(window.removeEventListener("message",e.controlBridgeHandler),e.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),e.beforeUnloadHandler&&(window.removeEventListener("beforeunload",e.beforeUnloadHandler),e.beforeUnloadHandler=null),dn.disablePickMode();for(let d of e.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){L("runtime.init.site12",p)}e.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(p){L("runtime.init.site13",p)}for(let d of e.injectedCompStyles)try{d.remove()}catch(p){L("runtime.init.site14",p)}e.injectedCompStyles=[];for(let d of e.injectedCompScripts)try{d.remove()}catch(p){L("runtime.init.site15",p)}e.injectedCompScripts=[],e.capturedTimeline=null,window.__hfRuntimeTeardown===ii&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=ii,e.beforeUnloadHandler=ii,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var qa=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],xr=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function Nf(e){if(e<=255)return qa[e];let t=0,n=xr.length-1;for(;t<=n;){let i=t+n>>1,r=xr[i];if(e<r[0]){n=i-1;continue}if(e>r[1]){t=i+1;continue}return r[2]}return"L"}function Lf(e){let t=e.length;if(t===0)return null;let n=new Array(t),i=!1;for(let u=0;u<t;){let c=e.charCodeAt(u),m=c,f=1;if(c>=55296&&c<=56319&&u+1<t){let S=e.charCodeAt(u+1);S>=56320&&S<=57343&&(m=(c-55296<<10)+(S-56320)+65536,f=2)}let x=Nf(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let S=0;S<f;S++)n[u+S]=x;u+=f}if(!i)return null;let r=0;for(let u=0;u<t;u++){let c=n[u];if(c==="L"){r=0;break}if(c==="R"||c==="AL"){r=1;break}}let o=new Int8Array(t);for(let u=0;u<t;u++)o[u]=r;let s=r&1?"R":"L",l=s,a=l;for(let u=0;u<t;u++)n[u]==="NSM"?n[u]=a:a=n[u];a=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=a==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(a=c)}for(let u=0;u<t;u++)n[u]==="AL"&&(n[u]="R");for(let u=1;u<t-1;u++)n[u]==="ES"&&n[u-1]==="EN"&&n[u+1]==="EN"&&(n[u]="EN"),n[u]==="CS"&&(n[u-1]==="EN"||n[u-1]==="AN")&&n[u+1]===n[u-1]&&(n[u]=n[u-1]);for(let u=0;u<t;u++){if(n[u]!=="EN")continue;let c;for(c=u-1;c>=0&&n[c]==="ET";c--)n[c]="EN";for(c=u+1;c<t&&n[c]==="ET";c++)n[c]="EN"}for(let u=0;u<t;u++){let c=n[u];(c==="WS"||c==="ES"||c==="ET"||c==="CS")&&(n[u]="ON")}a=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=a==="L"?"L":"EN":(c==="R"||c==="L")&&(a=c)}for(let u=0;u<t;u++){if(n[u]!=="ON")continue;let c=u+1;for(;c<t&&n[c]==="ON";)c++;let m=u>0?n[u-1]:l,f=c<t?n[c]:l,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let b=u;b<c;b++)n[b]=x;u=c-1}for(let u=0;u<t;u++)n[u]==="ON"&&(n[u]=s);for(let u=0;u<t;u++){let c=n[u];(o[u]&1)===0?c==="R"?o[u]++:(c==="AN"||c==="EN")&&(o[u]+=2):(c==="L"||c==="AN"||c==="EN")&&o[u]++}return o}function $a(e,t){let n=Lf(e);if(n===null)return null;let i=new Int8Array(t.length);for(let r=0;r<t.length;r++)i[r]=n[t[r]];return i}var Rf=/[ \\t\\n\\r\\f]+/g,kf=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Df(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function If(e){if(!kf.test(e))return e;let t=e.replace(Rf," ");return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function Pf(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var br=null,Of;function Bf(){return br===null&&(br=new Intl.Segmenter(Of,{granularity:"word"})),br}var Hf=/\\p{Script=Arabic}/u,Vn=/\\p{M}/u,tl=/\\p{Nd}/u;function Ka(e){return Hf.test(e)}function Ja(e){return e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=183984&&e<=191471||e>=191472&&e<=192093||e>=194560&&e<=195103||e>=196608&&e<=201551||e>=201552&&e<=205743||e>=205744&&e<=210041||e>=63744&&e<=64255||e>=12288&&e<=12351||e>=12352&&e<=12447||e>=12448&&e<=12543||e>=44032&&e<=55215||e>=65280&&e<=65519}function Oe(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(!(n<12288)){if(n>=55296&&n<=56319&&t+1<e.length){let i=e.charCodeAt(t+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(Ja(r))return!0;t++;continue}}if(Ja(n))return!0}}return!1}function Gf(e){let t=qn(e);return t!==null&&(jn.has(t)||tt.has(t))}var Wf=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Uf(e){return Oe(e)}function Vf(e){let t=qn(e);return t!==null&&Wf.has(t)}function zn(e){return!Gf(e)&&!Vf(e)}var jn=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),an=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Sr=new Set(["\'","\\u2019"]),tt=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),zf=new Set([":",".","\\u060C","\\u061B"]),jf=new Set(["\\u104F"]),qf=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function $f(e){if(Er(e))return!0;let t=!1;for(let n of e){if(tt.has(n)){t=!0;continue}if(!(t&&Vn.test(n)))return!1}return t}function Kf(e){for(let t of e)if(!jn.has(t)&&!tt.has(t))return!1;return e.length>0}function Jf(e){if(Er(e))return!0;for(let t of e)if(!an.has(t)&&!Sr.has(t)&&!Vn.test(t))return!1;return e.length>0}function Er(e){let t=!1;for(let n of e)if(!(n==="\\\\"||Vn.test(n))){if(an.has(n)||tt.has(n)||Sr.has(n)){t=!0;continue}return!1}return t}function nl(e,t){let n=t-1;if(n<=0)return Math.max(n,0);let i=e.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=e.charCodeAt(r);return o>=55296&&o<=56319?r:n}function qn(e){if(e.length===0)return null;let t=nl(e,e.length);return e.slice(t)}function Yf(e){let t=Array.from(e),n=t.length;for(;n>0;){let i=t[n-1];if(Vn.test(i)){n--;continue}if(an.has(i)||Sr.has(i)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(""),tail:t.slice(n).join("")}}function Xf(e,t,n){return n==="text"&&!t&&e.length===1&&e!=="-"&&e!=="\\u2014"?e:null}function Ya(e,t,n,i){let r=t[i],o=e[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let l=r.repeat(s);return e[i]=l,l}function Xa(e,t){return e&&t!==null&&zf.has(t)}function Qf(e){let t=qn(e);return t!==null&&jf.has(t)}function Zf(e){if(e.length<2||e[0]!==" ")return null;let t=e.slice(1);return/^\\p{M}+$/u.test(t)?{space:" ",marks:t}:null}function $n(e){let t=e.length;for(;t>0;){let n=nl(e,t),i=e.slice(n,t);if(qf.has(i))return!0;if(!tt.has(i))return!1;t=n}return!1}function em(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===" ")return"preserved-space";if(e===" ")return"tab";if(t.preserveHardBreaks&&e===`\n`)return"hard-break"}return e===" "?"space":e==="\\xA0"||e==="\\u202F"||e==="\\u2060"||e==="\\uFEFF"?"glue":e==="\\u200B"?"zero-width-break":e==="\\xAD"?"soft-hyphen":"text"}var tm=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Le(e){return e.length===1?e[0]:e.join("")}function nm(e,t){let n=[];for(let i=e.length-1;i>=0;i--)n.push(e[i]);return n.push(t),Le(n)}function im(e,t,n,i){if(!tm.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let r=[],o=null,s=[],l=n,a=!1,u=0;for(let c of e){let m=em(c,i),f=m==="text"&&t;if(o!==null&&m===o&&f===a){s.push(c),u+=c.length;continue}o!==null&&r.push({text:Le(s),isWordLike:a,kind:o,start:l}),o=m,s=[c],l=n+u,a=f,u+=c.length}return o!==null&&r.push({text:Le(s),isWordLike:a,kind:o,start:l}),r}function yr(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var rm=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function om(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:rm.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function sm(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function am(e){let t=e.texts.slice(),n=e.isWordLike.slice(),i=e.kinds.slice(),r=e.starts.slice();for(let s=0;s<e.len;s++){if(i[s]!=="text"||!om(e,s))continue;let l=[t[s]],a=s+1;for(;a<e.len&&!yr(i[a]);){l.push(t[a]),n[s]=!0;let u=t[a].includes("?");if(i[a]="text",t[a]="",a++,u)break}t[s]=Le(l)}let o=0;for(let s=0;s<t.length;s++){let l=t[s];l.length!==0&&(o!==s&&(t[o]=l,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return t.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:t,isWordLike:n,kinds:i,starts:r}}function lm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o];if(t.push(s),n.push(e.isWordLike[o]),i.push(e.kinds[o]),r.push(e.starts[o]),!sm(s))continue;let l=o+1;if(l>=e.len||yr(e.kinds[l]))continue;let a=[],u=e.starts[l],c=l;for(;c<e.len&&!yr(e.kinds[c]);)a.push(e.texts[c]),c++;a.length>0&&(t.push(Le(a)),n.push(!0),i.push("text"),r.push(u),o=c-1)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}var um=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Qa=/^[A-Za-z0-9_]+[,:;]*$/,Za=/[,:;]+$/;function il(e){for(let t of e)if(tl.test(t))return!0;return!1}function sn(e){if(e.length===0)return!1;for(let t of e)if(!(tl.test(t)||um.has(t)))return!1;return!0}function cm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o],l=e.kinds[o];if(l==="text"&&sn(s)&&il(s)){let a=[s],u=o+1;for(;u<e.len&&e.kinds[u]==="text"&&sn(e.texts[u]);)a.push(e.texts[u]),u++;t.push(Le(a)),n.push(!0),i.push("text"),r.push(e.starts[o]),o=u-1;continue}t.push(s),n.push(e.isWordLike[o]),i.push(l),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function dm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o],l=e.kinds[o],a=e.isWordLike[o];if(l==="text"&&a&&Qa.test(s)){let u=[s],c=Za.test(s),m=o+1;for(;c&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&Qa.test(e.texts[m]);){let f=e.texts[m];u.push(f),c=Za.test(f),m++}t.push(Le(u)),n.push(!0),i.push("text"),r.push(e.starts[o]),o=m-1;continue}t.push(s),n.push(a),i.push(l),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function fm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o];if(e.kinds[o]==="text"&&s.includes("-")){let l=s.split("-"),a=l.length>1;for(let u=0;u<l.length;u++){let c=l[u];if(!a)break;(c.length===0||!il(c)||!sn(c))&&(a=!1)}if(a){let u=0;for(let c=0;c<l.length;c++){let m=l[c],f=c<l.length-1?`${m}-`:m;t.push(f),n.push(!0),i.push("text"),r.push(e.starts[o]+u),u+=f.length}continue}}t.push(s),n.push(e.isWordLike[o]),i.push(e.kinds[o]),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function mm(e){let t=[],n=[],i=[],r=[],o=0;for(;o<e.len;){let s=[e.texts[o]],l=e.isWordLike[o],a=e.kinds[o],u=e.starts[o];if(a==="glue"){let c=[s[0]],m=u;for(o++;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let f=Le(c);if(o<e.len&&e.kinds[o]==="text")s[0]=f,s.push(e.texts[o]),l=e.isWordLike[o],a="text",u=m,o++;else{t.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<e.len&&e.kinds[o]==="glue";){let c=[];for(;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let m=Le(c);if(o<e.len&&e.kinds[o]==="text"){s.push(m,e.texts[o]),l=l||e.isWordLike[o],o++;continue}s.push(m)}t.push(Le(s)),n.push(l),i.push(a),r.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function pm(e){let t=e.texts.slice(),n=e.isWordLike.slice(),i=e.kinds.slice(),r=e.starts.slice();for(let o=0;o<t.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!Oe(t[o])||!Oe(t[o+1]))continue;let s=Yf(t[o]);s!==null&&(t[o]=s.head,t[o+1]=s.tail+t[o+1],r[o+1]=r[o]+s.head.length)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function el(e,t,n){let i=Bf(),r=0,o=[],s=[],l=[],a=[],u=[],c=[],m=[],f=[],x=[],S=[],b=[],g=[];for(let M of i.segment(e))for(let A of im(M.segment,M.isWordLike??!1,M.index,n)){let ee=function(){c[H]!==null&&(s[H]=[Ya(o,c,m,H)],c[H]=null),s[H].push(A.text),l[H]=l[H]||A.isWordLike,f[H]=f[H]||T,x[H]=x[H]||k,S[H]=$,b[H]=ue,g[H]=Xa(x[H],W)},F=A.kind==="text",v=Xf(A.text,A.isWordLike,A.kind),T=Oe(A.text),k=Ka(A.text),W=qn(A.text),$=$n(A.text),ue=Qf(A.text),H=r-1;t.carryCJKAfterClosingQuote&&F&&r>0&&a[H]==="text"&&T&&f[H]&&S[H]||F&&r>0&&a[H]==="text"&&Kf(A.text)&&f[H]||F&&r>0&&a[H]==="text"&&b[H]?ee():F&&r>0&&a[H]==="text"&&A.isWordLike&&k&&g[H]?(ee(),l[H]=!0):v!==null&&r>0&&a[H]==="text"&&c[H]===v?m[H]=(m[H]??1)+1:F&&!A.isWordLike&&r>0&&a[H]==="text"&&($f(A.text)||A.text==="-"&&l[H])?ee():(o[r]=A.text,s[r]=[A.text],l[r]=A.isWordLike,a[r]=A.kind,u[r]=A.start,c[r]=v,m[r]=v===null?0:1,f[r]=T,x[r]=k,S[r]=$,b[r]=ue,g[r]=Xa(k,W),r++)}for(let M=0;M<r;M++){if(c[M]!==null){o[M]=Ya(o,c,m,M);continue}o[M]=Le(s[M])}for(let M=1;M<r;M++)a[M]==="text"&&!l[M]&&Er(o[M])&&a[M-1]==="text"&&(o[M-1]+=o[M],l[M-1]=l[M-1]||l[M],o[M]="");let E=Array.from({length:r},()=>null),_=-1;for(let M=r-1;M>=0;M--){let A=o[M];if(A.length!==0){if(a[M]==="text"&&!l[M]&&Jf(A)&&_>=0&&a[_]==="text"){let F=E[_]??[];F.push(A),E[_]=F,u[_]=u[M],o[M]="";continue}_=M}}for(let M=0;M<r;M++){let A=E[M];A!=null&&(o[M]=nm(A,o[M]))}let N=0;for(let M=0;M<r;M++){let A=o[M];A.length!==0&&(N!==M&&(o[N]=A,l[N]=l[M],a[N]=a[M],u[N]=u[M]),N++)}o.length=N,l.length=N,a.length=N,u.length=N;let q=mm({len:N,texts:o,isWordLike:l,kinds:a,starts:u}),D=pm(dm(fm(cm(lm(am(q))))));for(let M=0;M<D.len-1;M++){let A=Zf(D.texts[M]);A!==null&&(D.kinds[M]!=="space"&&D.kinds[M]!=="preserved-space"||D.kinds[M+1]!=="text"||!Ka(D.texts[M+1])||(D.texts[M]=A.space,D.isWordLike[M]=!1,D.kinds[M]=D.kinds[M]==="preserved-space"?"preserved-space":"space",D.texts[M+1]=A.marks+D.texts[M+1],D.starts[M+1]=D.starts[M]+A.space.length))}return D}function hm(e,t){if(e.len===0)return[];if(!t.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}];let n=[],i=0;for(let r=0;r<e.len;r++)e.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<e.len&&n.push({startSegmentIndex:i,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}),n}function gm(e){if(e.len<=1)return e;let t=[],n=[],i=[],r=[],o=null,s=!1,l=0,a=!1,u=!1;function c(){o!==null&&(t.push(Le(o)),n.push(s),i.push("text"),r.push(l),o=null)}for(let m=0;m<e.len;m++){let f=e.texts[m],x=e.kinds[m],S=e.isWordLike[m],b=e.starts[m];if(x==="text"){let g=Uf(f),E=zn(f);if(o!==null&&a&&u){o.push(f),s=s||S,a=a||g,u=E;continue}c(),o=[f],s=S,l=b,a=g,u=E;continue}c(),t.push(f),n.push(S),i.push(x),r.push(b)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function rl(e,t,n="normal",i="normal"){let r=Df(n),o=r.mode==="pre-wrap"?Pf(e):If(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?gm(el(o,t,r)):el(o,t,r);return{normalized:o,chunks:hm(s,r),...s}}var yt=null,ol=new Map,St=null,xm=96,bm=/\\p{Emoji_Presentation}/u,ym=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,Ar=null,sl=new Map;function wr(){if(yt!==null)return yt;if(typeof OffscreenCanvas<"u")return yt=new OffscreenCanvas(1,1).getContext("2d"),yt;if(typeof document<"u")return yt=document.createElement("canvas").getContext("2d"),yt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function Sm(e){let t=ol.get(e);return t||(t=new Map,ol.set(e,t)),t}function $e(e,t){let n=t.get(e);return n===void 0&&(n={width:wr().measureText(e).width,containsCJK:Oe(e)},t.set(e,n)),n}function Et(){if(St!==null)return St;if(typeof navigator>"u")return St={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},St;let e=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&e.includes("Safari/")&&!e.includes("Chrome/")&&!e.includes("Chromium/")&&!e.includes("CriOS/")&&!e.includes("FxiOS/")&&!e.includes("EdgiOS/"),i=e.includes("Chrome/")||e.includes("Chromium/")||e.includes("CriOS/")||e.includes("Edg/");return St={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},St}function Em(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function al(){return Ar===null&&(Ar=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Ar}function Am(e){return bm.test(e)||e.includes("\\uFE0F")}function ll(e){return ym.test(e)}function wm(e,t){let n=sl.get(e);if(n!==void 0)return n;let i=wr();i.font=e;let r=i.measureText("\\u{1F600}").width;if(n=0,r>t+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=e,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return sl.set(e,n),n}function Cm(e){let t=0,n=al();for(let i of n.segment(e))Am(i.segment)&&t++;return t}function Fm(e,t){return t.emojiCount===void 0&&(t.emojiCount=Cm(e)),t.emojiCount}function nt(e,t,n){return n===0?t.width:t.width-Fm(e,t)*n}function ul(e,t,n,i,r){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=al(),s=[];for(let c of o.segment(e))s.push(c.segment);if(s.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(r==="sum-graphemes"){let c=[];for(let m of s){let f=$e(m,n);c.push(nt(m,f,i))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(r==="pair-context"||s.length>xm){let c=[],m=null,f=0;for(let x of s){let S=$e(x,n),b=nt(x,S,i);if(m===null)c.push(b);else{let g=m+x,E=$e(g,n);c.push(nt(g,E,i)-f)}m=x,f=b}return t.breakableFitAdvances=c,t.breakableFitAdvances}let l=[],a="",u=0;for(let c of s){a+=c;let m=$e(a,n),f=nt(a,m,i);l.push(f-u),u=f}return t.breakableFitAdvances=l,t.breakableFitAdvances}function cl(e,t){let n=wr();n.font=e;let i=Sm(e),r=Em(e),o=t?wm(e,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function _m(e,t){for(;t<e.widths.length;){let n=e.kinds[t];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;t++}return t}function vm(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function Mm(e,t,n,i,r){let o=0,s=t;for(;o<e.length;){let l=s+e[o];if((o+1<e.length?l+r:l)>n+i)break;s=l,o++}return{fitCount:o,fittedWidth:s}}function dl(e,t){return e.simpleLineWalkFastPath?fl(e,t):ml(e,t)}function fl(e,t,n){let{widths:i,kinds:r,breakableFitAdvances:o}=e;if(i.length===0)return 0;let l=Et().lineFitEpsilon,a=t+l,u=0,c=0,m=!1,f=0,x=0,S=0,b=0,g=-1,E=0;function _(){g=-1,E=0}function N(v=S,T=b,k=c){u++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:v,endGraphemeIndex:T,width:k}),c=0,m=!1,_()}function q(v,T){m=!0,f=v,x=0,S=v+1,b=0,c=T}function D(v,T,k){m=!0,f=v,x=T,S=v,b=T+1,c=k}function M(v,T){if(!m){q(v,T);return}c+=T,S=v+1,b=0}function A(v,T){let k=o[v];for(let W=T;W<k.length;W++){let $=k[W];m?c+$>a?(N(),D(v,W,$)):(c+=$,S=v,b=W+1):D(v,W,$)}m&&S===v&&b===k.length&&(S=v+1,b=0)}let F=0;for(;F<i.length&&!(!m&&(F=_m(e,F),F>=i.length));){let v=i[F],T=r[F],k=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!m){v>t&&o[F]!==null?A(F,0):q(F,v),k&&(g=F+1,E=c-v),F++;continue}if(c+v>a){if(k){M(F,v),N(F+1,0,c-v),F++;continue}if(g>=0){if(S>g||S===g&&b>0){N();continue}N(g,0,E);continue}if(v>t&&o[F]!==null){N(),A(F,0),F++;continue}N();continue}M(F,v),k&&(g=F+1,E=c-v),F++}return m&&N(),u}function ml(e,t,n){if(e.simpleLineWalkFastPath)return fl(e,t,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:l,discretionaryHyphenWidth:a,tabStopAdvance:u,chunks:c}=e;if(i.length===0||c.length===0)return 0;let m=Et(),f=m.lineFitEpsilon,x=t+f,S=0,b=0,g=!1,E=0,_=0,N=0,q=0,D=-1,M=0,A=0,F=null;function v(){D=-1,M=0,A=0,F=null}function T(B=N,te=q,U=b){S++,n?.({startSegmentIndex:E,startGraphemeIndex:_,endSegmentIndex:B,endGraphemeIndex:te,width:U}),b=0,g=!1,v()}function k(B,te){g=!0,E=B,_=0,N=B+1,q=0,b=te}function W(B,te,U){g=!0,E=B,_=te,N=B,q=te+1,b=U}function $(B,te){if(!g){k(B,te);return}b+=te,N=B+1,q=0}function ue(B,te,U,ie){if(!te)return;let ve=B==="tab"?0:r[U],G=B==="tab"?ie:o[U];D=U+1,M=b-ie+ve,A=b-ie+G,F=B}function H(B,te){let U=l[B];for(let ie=te;ie<U.length;ie++){let ve=U[ie];g?b+ve>x?(T(),W(B,ie,ve)):(b+=ve,N=B,q=ie+1):W(B,ie,ve)}g&&N===B&&q===U.length&&(N=B+1,q=0)}function ee(B){if(F!=="soft-hyphen")return!1;let te=l[B];if(te==null)return!1;let{fitCount:U,fittedWidth:ie}=Mm(te,b,t,f,a);return U===0?!1:(b=ie,N=B,q=U,v(),U===te.length?(N=B+1,q=0,!0):(T(B,U,ie+a),H(B,U),!0))}function de(B){S++,n?.({startSegmentIndex:B.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:B.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),v()}for(let B=0;B<c.length;B++){let te=c[B];if(te.startSegmentIndex===te.endSegmentIndex){de(te);continue}g=!1,b=0,E=te.startSegmentIndex,_=0,N=te.startSegmentIndex,q=0,v();let U=te.startSegmentIndex;for(;U<te.endSegmentIndex;){let ie=s[U],ve=ie==="space"||ie==="preserved-space"||ie==="tab"||ie==="zero-width-break"||ie==="soft-hyphen",G=ie==="tab"?vm(b,u):i[U];if(ie==="soft-hyphen"){g&&(N=U+1,q=0,D=U+1,M=b+a,A=b+a,F=ie),U++;continue}if(!g){G>t&&l[U]!==null?H(U,0):k(U,G),ue(ie,ve,U,G),U++;continue}if(b+G>x){let O=b+(ie==="tab"?0:r[U]),ae=b+(ie==="tab"?G:o[U]);if(F==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&M<=x){T(D,0,A);continue}if(F==="soft-hyphen"&&ee(U)){U++;continue}if(ve&&O<=x){$(U,G),T(U+1,0,ae),U++;continue}if(D>=0&&M<=x){if(N>D||N===D&&q>0){T();continue}let oe=D;T(oe,0,A),U=oe;continue}if(G>t&&l[U]!==null){T(),H(U,0),U++;continue}T();continue}$(U,G),ue(ie,ve,U,G),U++}if(g){let ie=D===te.consumedEndSegmentIndex?A:b;T(te.consumedEndSegmentIndex,0,ie)}}return S}var Cr=null;function Tm(){return Cr===null&&(Cr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Cr}function Nm(e){return e?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Lm(e,t){let n=[],i=[],r=0,o=!1,s=!1,l=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,l=!1)}function u(m,f,x){i=[m],r=f,o=x,s=$n(m),l=an.has(m)}function c(m,f){i.push(m),o=o||f;let x=$n(m);m.length===1&&tt.has(m)?s=s||x:s=x,l=!1}for(let m of Tm().segment(e)){let f=m.segment,x=Oe(f);if(i.length===0){u(f,m.index,x);continue}if(l||jn.has(f)||tt.has(f)||t.carryCJKAfterClosingQuote&&x&&s){c(f,x);continue}if(!o&&!x){c(f,x);continue}a(),u(f,m.index,x)}return a(),n}function Rm(e){if(e.length<=1)return e;let t=[],n=[e[0].text],i=e[0].start,r=Oe(e[0].text),o=zn(e[0].text);function s(){t.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let l=1;l<e.length;l++){let a=e[l],u=Oe(a.text),c=zn(a.text);if(r&&o){n.push(a.text),r=r||u,o=c;continue}s(),n=[a.text],i=a.start,r=u,o=c}return s(),t}function km(e,t,n,i){let r=Et(),{cache:o,emojiCorrection:s}=cl(t,ll(e.normalized)),l=nt("-",$e("-",o),s),u=nt(" ",$e(" ",o),s)*8;if(e.len===0)return Nm(n);let c=[],m=[],f=[],x=[],S=e.chunks.length<=1,b=n?[]:null,g=[],E=n?[]:null,_=Array.from({length:e.len});function N(A,F,v,T,k,W,$){k!=="text"&&k!=="space"&&k!=="zero-width-break"&&(S=!1),c.push(F),m.push(v),f.push(T),x.push(k),b?.push(W),g.push($),E!==null&&E.push(A)}function q(A,F,v,T,k){let W=$e(A,o),$=nt(A,W,s),ue=F==="space"||F==="preserved-space"||F==="zero-width-break"?0:$,H=F==="space"||F==="zero-width-break"?0:$;if(k&&T&&A.length>1){let ee="sum-graphemes";sn(A)?ee="pair-context":r.preferPrefixWidthsForBreakableRuns&&(ee="segment-prefixes");let de=ul(A,W,o,s,ee);N(A,$,ue,H,F,v,de);return}N(A,$,ue,H,F,v,null)}for(let A=0;A<e.len;A++){_[A]=c.length;let F=e.texts[A],v=e.isWordLike[A],T=e.kinds[A],k=e.starts[A];if(T==="soft-hyphen"){N(F,0,l,l,T,k,null);continue}if(T==="hard-break"){N(F,0,0,0,T,k,null);continue}if(T==="tab"){N(F,0,0,0,T,k,null);continue}let W=$e(F,o);if(T==="text"&&W.containsCJK){let $=Lm(F,r),ue=i==="keep-all"?Rm($):$;for(let H=0;H<ue.length;H++){let ee=ue[H];q(ee.text,"text",k+ee.start,v,i==="keep-all"||!Oe(ee.text))}continue}q(F,T,k,v,!0)}let D=Dm(e.chunks,_,c.length),M=b===null?null:$a(e.normalized,b);return E!==null?{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:S,segLevels:M,breakableFitAdvances:g,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:D,segments:E}:{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:S,segLevels:M,breakableFitAdvances:g,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:D}}function Dm(e,t,n){let i=[];for(let r=0;r<e.length;r++){let o=e[r],s=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,l=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:l,consumedEndSegmentIndex:a})}return i}function Im(e,t,n,i){let r=i?.wordBreak??"normal",o=rl(e,Et(),i?.whiteSpace,r);return km(o,t,n,r)}function pl(e,t,n){return Im(e,t,!1,n)}function hl(e,t,n){let i=dl(e,t);return{lineCount:i,height:i*n}}var Pm={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function gl(e,t){let n={...Pm,...t},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=pl(e,o),{lineCount:l}=hl(s,n.maxWidth,r*i);if(l<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};Da();window.__hyperframes={fitTextFontSize:gl,getVariables:Hr};function xl(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,ja())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",xl,{once:!0}):xl();})();\n';
|
|
56528
56528
|
}
|
|
56529
56529
|
});
|
|
56530
56530
|
|
|
@@ -64600,8 +64600,13 @@ async function getCompositionDuration(session) {
|
|
|
64600
64600
|
return window.__hf?.duration ?? 0;
|
|
64601
64601
|
});
|
|
64602
64602
|
}
|
|
64603
|
+
function computeDeVerifySampleFractions(k2) {
|
|
64604
|
+
if (k2 <= 0) return [];
|
|
64605
|
+
if (k2 === 1) return [0.95];
|
|
64606
|
+
return [...Array.from({ length: k2 - 1 }, (_, i2) => (i2 + 1) / k2), 0.95];
|
|
64607
|
+
}
|
|
64603
64608
|
async function captureDeVerificationFrames(session, page, logInitPhase) {
|
|
64604
|
-
const kRaw = Number(process.env.HF_DE_VERIFY ?? "4");
|
|
64609
|
+
const kRaw = Number(process.env.HF_DE_VERIFY ?? session.options.deVerifySamples ?? "4");
|
|
64605
64610
|
const k2 = Number.isFinite(kRaw) ? Math.max(0, Math.min(8, Math.floor(kRaw))) : 4;
|
|
64606
64611
|
if (k2 === 0 || process.env.HF_FORCE_DRAWELEMENT === "1") return;
|
|
64607
64612
|
if (session.options.format === "png") return;
|
|
@@ -64623,7 +64628,7 @@ async function captureDeVerificationFrames(session, page, logInitPhase) {
|
|
|
64623
64628
|
}
|
|
64624
64629
|
}
|
|
64625
64630
|
const boundary = await computeClipBoundaryFrames(page, fps);
|
|
64626
|
-
const fractions =
|
|
64631
|
+
const fractions = computeDeVerifySampleFractions(k2);
|
|
64627
64632
|
const seekTo = async (t2) => {
|
|
64628
64633
|
await page.evaluate((tt3) => {
|
|
64629
64634
|
const hf = window.__hf;
|
|
@@ -64672,6 +64677,8 @@ function getCapturePerfSummary(session) {
|
|
|
64672
64677
|
staticDedupArmed: (session.staticFrames?.size ?? 0) > 0,
|
|
64673
64678
|
staticDedupPredicted: session.staticFrames?.size ?? 0,
|
|
64674
64679
|
staticDedupSkipReason: session.staticDedupSkipReason,
|
|
64680
|
+
beginFrameNoDamage: session.beginFrameNoDamageCount,
|
|
64681
|
+
beginFrameHasDamage: session.beginFrameHasDamageCount,
|
|
64675
64682
|
captureMode: session.captureMode,
|
|
64676
64683
|
deGateReason: session.deGateReason,
|
|
64677
64684
|
deWorkerEncode: session.workerEncodeEnabled ?? false,
|
|
@@ -70849,10 +70856,11 @@ var init_dist4 = __esm({
|
|
|
70849
70856
|
];
|
|
70850
70857
|
},
|
|
70851
70858
|
// missing_timeline_registry + timeline_registry_missing_init
|
|
70852
|
-
({ source, rawSource, options }) => {
|
|
70859
|
+
({ source, rawSource, rootTag, options }) => {
|
|
70853
70860
|
if (options.isSubComposition || rawSource.trimStart().toLowerCase().startsWith("<template")) {
|
|
70854
70861
|
return [];
|
|
70855
70862
|
}
|
|
70863
|
+
if (/(?:^|\s)data-no-timeline(?=[\s=/]|$)/i.test(rootTag?.attrs || "")) return [];
|
|
70856
70864
|
const findings = [];
|
|
70857
70865
|
if (!TIMELINE_REGISTRY_INIT_PATTERN.test(source) && !TIMELINE_REGISTRY_ASSIGN_PATTERN.test(source) && !TIMELINE_REGISTRY_OBJECT_LITERAL_PATTERN.test(source)) {
|
|
70858
70866
|
findings.push({
|
|
@@ -76850,6 +76858,11 @@ async function executeWorkerTask(task, serverUrl, captureOptions, createBeforeCa
|
|
|
76850
76858
|
});
|
|
76851
76859
|
}
|
|
76852
76860
|
}
|
|
76861
|
+
function resolveParallelDeVerifySamples(callerValue, workerCount) {
|
|
76862
|
+
if (callerValue !== void 0) return callerValue;
|
|
76863
|
+
if (workerCount <= 1) return void 0;
|
|
76864
|
+
return Math.min(8, 4 + 2 * (workerCount - 1));
|
|
76865
|
+
}
|
|
76853
76866
|
async function executeParallelCapture(serverUrl, workDir, tasks, captureOptions, createBeforeCaptureHook, signal, onProgress, onFrameBuffer, config) {
|
|
76854
76867
|
const totalFrames = tasks.reduce(
|
|
76855
76868
|
(sum, t2) => sum + Math.ceil((t2.endFrame - t2.startFrame) / (t2.frameStride ?? 1)),
|
|
@@ -76871,12 +76884,17 @@ async function executeParallelCapture(serverUrl, workDir, tasks, captureOptions,
|
|
|
76871
76884
|
}
|
|
76872
76885
|
};
|
|
76873
76886
|
const parallel = tasks.length > 1;
|
|
76887
|
+
const deVerifySamples = resolveParallelDeVerifySamples(
|
|
76888
|
+
captureOptions.deVerifySamples,
|
|
76889
|
+
tasks.length
|
|
76890
|
+
);
|
|
76891
|
+
const workerCaptureOptions = deVerifySamples === captureOptions.deVerifySamples ? captureOptions : { ...captureOptions, deVerifySamples };
|
|
76874
76892
|
const results = await Promise.all(
|
|
76875
76893
|
tasks.map(
|
|
76876
76894
|
(task) => executeWorkerTask(
|
|
76877
76895
|
task,
|
|
76878
76896
|
serverUrl,
|
|
76879
|
-
|
|
76897
|
+
workerCaptureOptions,
|
|
76880
76898
|
createBeforeCaptureHook,
|
|
76881
76899
|
signal,
|
|
76882
76900
|
onFrameCaptured,
|
|
@@ -79067,6 +79085,8 @@ var init_system = __esm({
|
|
|
79067
79085
|
});
|
|
79068
79086
|
|
|
79069
79087
|
// src/telemetry/client.ts
|
|
79088
|
+
import { spawn as spawn7 } from "child_process";
|
|
79089
|
+
import { randomUUID as randomUUID3 } from "crypto";
|
|
79070
79090
|
function shouldTrack() {
|
|
79071
79091
|
if (telemetryEnabled !== null) return telemetryEnabled;
|
|
79072
79092
|
if (process.env["HYPERFRAMES_NO_TELEMETRY"] === "1" || process.env["DO_NOT_TRACK"] === "1") {
|
|
@@ -79089,6 +79109,7 @@ function trackEvent(event, properties = {}, distinctId) {
|
|
|
79089
79109
|
if (!shouldTrack()) return;
|
|
79090
79110
|
const sys = getSystemMeta();
|
|
79091
79111
|
eventQueue.push({
|
|
79112
|
+
uuid: randomUUID3(),
|
|
79092
79113
|
event,
|
|
79093
79114
|
distinctId,
|
|
79094
79115
|
properties: {
|
|
@@ -79117,20 +79138,21 @@ function trackEvent(event, properties = {}, distinctId) {
|
|
|
79117
79138
|
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
79118
79139
|
});
|
|
79119
79140
|
}
|
|
79120
|
-
function
|
|
79121
|
-
if (
|
|
79141
|
+
function buildPayload(events) {
|
|
79142
|
+
if (events.length === 0) return null;
|
|
79122
79143
|
const config = readConfig();
|
|
79123
|
-
const batch =
|
|
79144
|
+
const batch = events.map((e3) => ({
|
|
79145
|
+
uuid: e3.uuid,
|
|
79124
79146
|
event: e3.event,
|
|
79125
79147
|
properties: { ...e3.properties, $ip: null },
|
|
79126
79148
|
distinct_id: e3.distinctId ?? config.anonymousId,
|
|
79127
79149
|
timestamp: e3.timestamp
|
|
79128
79150
|
}));
|
|
79129
|
-
eventQueue = [];
|
|
79130
79151
|
return JSON.stringify({ api_key: POSTHOG_API_KEY, batch });
|
|
79131
79152
|
}
|
|
79132
79153
|
async function flush() {
|
|
79133
|
-
const
|
|
79154
|
+
const snapshot = eventQueue.slice();
|
|
79155
|
+
const payload = buildPayload(snapshot);
|
|
79134
79156
|
if (payload == null) return;
|
|
79135
79157
|
const controller = new AbortController();
|
|
79136
79158
|
const timeout = setTimeout(() => controller.abort(), FLUSH_TIMEOUT_MS);
|
|
@@ -79141,17 +79163,19 @@ async function flush() {
|
|
|
79141
79163
|
body: payload,
|
|
79142
79164
|
signal: controller.signal
|
|
79143
79165
|
});
|
|
79166
|
+
const sent = new Set(snapshot);
|
|
79167
|
+
eventQueue = eventQueue.filter((e3) => !sent.has(e3));
|
|
79144
79168
|
} catch {
|
|
79145
79169
|
} finally {
|
|
79146
79170
|
clearTimeout(timeout);
|
|
79147
79171
|
}
|
|
79148
79172
|
}
|
|
79149
79173
|
function flushSync() {
|
|
79150
|
-
const payload =
|
|
79174
|
+
const payload = buildPayload(eventQueue);
|
|
79151
79175
|
if (payload == null) return;
|
|
79176
|
+
eventQueue = [];
|
|
79152
79177
|
try {
|
|
79153
|
-
const
|
|
79154
|
-
const child = spawn18(
|
|
79178
|
+
const child = spawn7(
|
|
79155
79179
|
process.execPath,
|
|
79156
79180
|
[
|
|
79157
79181
|
"-e",
|
|
@@ -79261,6 +79285,7 @@ function renderObservabilityEventProperties(props) {
|
|
|
79261
79285
|
de_pre_router_workers: props.captureDePreRouterWorkers,
|
|
79262
79286
|
de_self_verify_fallback: props.captureDeSelfVerifyFallback,
|
|
79263
79287
|
de_fallback_reason: props.captureDeFallbackReason,
|
|
79288
|
+
capture_parallel_stream: props.captureParallelStream,
|
|
79264
79289
|
observability_extract_video_count: props.observabilityExtractVideoCount,
|
|
79265
79290
|
observability_extracted_video_count: props.observabilityExtractedVideoCount,
|
|
79266
79291
|
observability_extract_total_frames: props.observabilityExtractTotalFrames,
|
|
@@ -79305,6 +79330,8 @@ function trackRenderComplete(props) {
|
|
|
79305
79330
|
static_dedup_skip_reason: props.staticDedupSkipReason,
|
|
79306
79331
|
static_dedup_predicted_frames: props.staticDedupPredictedFrames,
|
|
79307
79332
|
static_dedup_reused_frames: props.staticDedupReusedFrames,
|
|
79333
|
+
begin_frame_no_damage_frames: props.beginFrameNoDamageFrames,
|
|
79334
|
+
begin_frame_has_damage_frames: props.beginFrameHasDamageFrames,
|
|
79308
79335
|
de_capture_mode: props.deCaptureMode,
|
|
79309
79336
|
de_compile_gate: props.deCompileGate,
|
|
79310
79337
|
de_clamp_reason: props.deClampReason,
|
|
@@ -79359,6 +79386,7 @@ function trackRenderComplete(props) {
|
|
|
79359
79386
|
},
|
|
79360
79387
|
props.distinctId
|
|
79361
79388
|
);
|
|
79389
|
+
void flush();
|
|
79362
79390
|
}
|
|
79363
79391
|
function trackRenderError(props) {
|
|
79364
79392
|
trackEvent(
|
|
@@ -79380,6 +79408,7 @@ function trackRenderError(props) {
|
|
|
79380
79408
|
},
|
|
79381
79409
|
props.distinctId
|
|
79382
79410
|
);
|
|
79411
|
+
void flush();
|
|
79383
79412
|
}
|
|
79384
79413
|
function trackRenderObservation(props) {
|
|
79385
79414
|
trackEvent("render_observation", {
|
|
@@ -83716,7 +83745,7 @@ __export(skills_exports, {
|
|
|
83716
83745
|
examples: () => examples,
|
|
83717
83746
|
updateSkills: () => updateSkills
|
|
83718
83747
|
});
|
|
83719
|
-
import { execFileSync as execFileSync4, spawn as
|
|
83748
|
+
import { execFileSync as execFileSync4, spawn as spawn8 } from "child_process";
|
|
83720
83749
|
function hasNpx() {
|
|
83721
83750
|
const npx = buildNpxCommand(["--version"]);
|
|
83722
83751
|
try {
|
|
@@ -83737,7 +83766,7 @@ function hasGit2() {
|
|
|
83737
83766
|
function spawnNpx(args, opts = {}) {
|
|
83738
83767
|
const npx = buildNpxCommand(args);
|
|
83739
83768
|
return new Promise((resolve64, reject) => {
|
|
83740
|
-
const child =
|
|
83769
|
+
const child = spawn8(npx.command, npx.args, {
|
|
83741
83770
|
stdio: "inherit",
|
|
83742
83771
|
// We install with --full-depth (a full `git clone` of the repo, the only
|
|
83743
83772
|
// path that bypasses the laggy skills.sh blob — see GLOBAL_INSTALL_ARGS_TAIL),
|
|
@@ -84167,7 +84196,7 @@ import { execFileSync as execFileSync5 } from "child_process";
|
|
|
84167
84196
|
import { existsSync as existsSync25, readFileSync as readFileSync17, mkdirSync as mkdirSync13, unlinkSync as unlinkSync2 } from "fs";
|
|
84168
84197
|
import { join as join24, extname as extname7 } from "path";
|
|
84169
84198
|
import { tmpdir as tmpdir2 } from "os";
|
|
84170
|
-
import { randomUUID as
|
|
84199
|
+
import { randomUUID as randomUUID4 } from "crypto";
|
|
84171
84200
|
function detectLanguage(whisperPath, modelPath2, wavPath) {
|
|
84172
84201
|
try {
|
|
84173
84202
|
const output = execFileSync5(whisperPath, ["--model", modelPath2, "--detect-language", wavPath], {
|
|
@@ -84245,7 +84274,7 @@ function isVideoFile(filePath) {
|
|
|
84245
84274
|
return VIDEO_EXTENSIONS.has(extname7(filePath).toLowerCase());
|
|
84246
84275
|
}
|
|
84247
84276
|
function tempWavPath() {
|
|
84248
|
-
return join24(tmpdir2(), `hyperframes-audio-${process.pid}-${
|
|
84277
|
+
return join24(tmpdir2(), `hyperframes-audio-${process.pid}-${randomUUID4()}.wav`);
|
|
84249
84278
|
}
|
|
84250
84279
|
function extractAudio(videoPath) {
|
|
84251
84280
|
const ffmpegPath = findFFmpeg();
|
|
@@ -84422,7 +84451,7 @@ var init_errorMessage = __esm({
|
|
|
84422
84451
|
});
|
|
84423
84452
|
|
|
84424
84453
|
// src/utils/openBrowser.ts
|
|
84425
|
-
import { spawn as
|
|
84454
|
+
import { spawn as spawn9 } from "child_process";
|
|
84426
84455
|
function parseRemoteDebuggingPort(value) {
|
|
84427
84456
|
if (value === void 0 || value === "") return void 0;
|
|
84428
84457
|
if (!/^\d+$/.test(value)) {
|
|
@@ -84448,13 +84477,16 @@ function buildBrowserArgs(url, options) {
|
|
|
84448
84477
|
if (options.remoteDebuggingPort !== void 0 && options.userDataDir) {
|
|
84449
84478
|
args.push(`--remote-debugging-port=${options.remoteDebuggingPort}`);
|
|
84450
84479
|
}
|
|
84480
|
+
if (options.disableGpu) {
|
|
84481
|
+
args.push("--disable-gpu");
|
|
84482
|
+
}
|
|
84451
84483
|
args.push(url);
|
|
84452
84484
|
return args;
|
|
84453
84485
|
}
|
|
84454
84486
|
function openBrowser(url, options = {}) {
|
|
84455
84487
|
if (options.browserPath) {
|
|
84456
84488
|
const args = buildBrowserArgs(url, options);
|
|
84457
|
-
const child =
|
|
84489
|
+
const child = spawn9(options.browserPath, args, {
|
|
84458
84490
|
detached: true,
|
|
84459
84491
|
stdio: "ignore"
|
|
84460
84492
|
});
|
|
@@ -85312,6 +85344,7 @@ function renderObservabilityTelemetryPayload(observability) {
|
|
|
85312
85344
|
captureDePreRouterWorkers: capture2.dePreRouterWorkers,
|
|
85313
85345
|
captureDeSelfVerifyFallback: capture2.deSelfVerifyFallback,
|
|
85314
85346
|
captureDeFallbackReason: capture2.deFallbackReason,
|
|
85347
|
+
captureParallelStream: capture2.captureParallelStream,
|
|
85315
85348
|
observabilityExtractVideoCount: extraction?.videoCount,
|
|
85316
85349
|
observabilityExtractedVideoCount: extraction?.extractedVideoCount,
|
|
85317
85350
|
observabilityExtractTotalFrames: extraction?.totalFramesExtracted,
|
|
@@ -95044,7 +95077,7 @@ import {
|
|
|
95044
95077
|
readdirSync as readdirSync32
|
|
95045
95078
|
} from "fs";
|
|
95046
95079
|
import { resolve as resolve22, dirname as dirname12, join as join62 } from "path";
|
|
95047
|
-
import { spawn as
|
|
95080
|
+
import { spawn as spawn10 } from "child_process";
|
|
95048
95081
|
import { existsSync as existsSync210, writeFileSync as writeFileSync12, mkdirSync as mkdirSync14 } from "fs";
|
|
95049
95082
|
import { join as join32, resolve as resolve19 } from "path";
|
|
95050
95083
|
import { spawnSync } from "child_process";
|
|
@@ -95233,7 +95266,7 @@ function ffmpegBinary() {
|
|
|
95233
95266
|
}
|
|
95234
95267
|
function decodeAudioPeaks(audioPath) {
|
|
95235
95268
|
return new Promise((resolvePromise, reject) => {
|
|
95236
|
-
const proc =
|
|
95269
|
+
const proc = spawn10(
|
|
95237
95270
|
ffmpegBinary(),
|
|
95238
95271
|
[
|
|
95239
95272
|
"-i",
|
|
@@ -96373,6 +96406,14 @@ function executeGsapMutationAcorn(body, block, respond2) {
|
|
|
96373
96406
|
if (!targetSelector || !Number.isFinite(delta) || delta === 0) return block.scriptText;
|
|
96374
96407
|
return shiftPositionsInScript(block.scriptText, targetSelector, delta);
|
|
96375
96408
|
}
|
|
96409
|
+
case "shift-positions-batch": {
|
|
96410
|
+
let script = block.scriptText;
|
|
96411
|
+
for (const s2 of body.shifts) {
|
|
96412
|
+
if (!s2.targetSelector || !Number.isFinite(s2.delta) || s2.delta === 0) continue;
|
|
96413
|
+
script = shiftPositionsInScript(script, s2.targetSelector, s2.delta);
|
|
96414
|
+
}
|
|
96415
|
+
return script;
|
|
96416
|
+
}
|
|
96376
96417
|
case "scale-positions": {
|
|
96377
96418
|
const { targetSelector, oldStart, oldDuration, newStart, newDuration } = body;
|
|
96378
96419
|
if (!targetSelector || !Number.isFinite(oldStart) || !Number.isFinite(oldDuration) || !Number.isFinite(newStart) || !Number.isFinite(newDuration) || oldDuration <= 0 || newDuration <= 0)
|
|
@@ -96695,6 +96736,15 @@ async function executeGsapMutationRecast(body, block, respond2) {
|
|
|
96695
96736
|
const { shiftPositionsInScript: shiftPositionsInScript22 } = parser;
|
|
96696
96737
|
return shiftPositionsInScript22(block.scriptText, targetSelector, delta);
|
|
96697
96738
|
}
|
|
96739
|
+
case "shift-positions-batch": {
|
|
96740
|
+
const { shiftPositionsInScript: shiftPositionsInScript22 } = parser;
|
|
96741
|
+
let script = block.scriptText;
|
|
96742
|
+
for (const s2 of body.shifts) {
|
|
96743
|
+
if (!s2.targetSelector || !Number.isFinite(s2.delta) || s2.delta === 0) continue;
|
|
96744
|
+
script = shiftPositionsInScript22(script, s2.targetSelector, s2.delta);
|
|
96745
|
+
}
|
|
96746
|
+
return script;
|
|
96747
|
+
}
|
|
96698
96748
|
case "scale-positions": {
|
|
96699
96749
|
const { targetSelector, oldStart, oldDuration, newStart, newDuration } = body;
|
|
96700
96750
|
if (!targetSelector || !Number.isFinite(oldStart) || !Number.isFinite(oldDuration) || !Number.isFinite(newStart) || !Number.isFinite(newDuration) || oldDuration <= 0 || newDuration <= 0)
|
|
@@ -97104,6 +97154,9 @@ function registerFileRoutes(api, adapter2) {
|
|
|
97104
97154
|
if (unsafeFields.length > 0) {
|
|
97105
97155
|
return rejectUnsafeMutationValues(c3, unsafeFields);
|
|
97106
97156
|
}
|
|
97157
|
+
if (body.type === "shift-positions-batch" && !Array.isArray(body.shifts)) {
|
|
97158
|
+
return c3.json({ error: "shift-positions-batch requires a `shifts` array" }, 400);
|
|
97159
|
+
}
|
|
97107
97160
|
let html = readFileSync32(res.absPath, "utf-8");
|
|
97108
97161
|
let block = extractGsapScriptBlock(html);
|
|
97109
97162
|
if (!block && (body.type === "add" || body.type === "add-with-keyframes")) {
|
|
@@ -97127,7 +97180,7 @@ ${bootstrap}`;
|
|
|
97127
97180
|
}
|
|
97128
97181
|
block = extractGsapScriptBlock(html);
|
|
97129
97182
|
}
|
|
97130
|
-
if (!block && (body.type === "shift-positions" || body.type === "scale-positions")) {
|
|
97183
|
+
if (!block && (body.type === "shift-positions" || body.type === "scale-positions" || body.type === "shift-positions-batch")) {
|
|
97131
97184
|
return c3.json({
|
|
97132
97185
|
ok: true,
|
|
97133
97186
|
changed: false,
|
|
@@ -99641,6 +99694,7 @@ var init_dist9 = __esm({
|
|
|
99641
99694
|
// Time-shift / time-scale tweens, which can move a keyframed position tween's start
|
|
99642
99695
|
// across t=0, flipping hold need; stale holds are not repositioned by these ops.
|
|
99643
99696
|
"shift-positions",
|
|
99697
|
+
"shift-positions-batch",
|
|
99644
99698
|
"scale-positions",
|
|
99645
99699
|
// Retargets keyframed position tweens to a cloned element's selector; the old hold is
|
|
99646
99700
|
// keyed to the prior selector, so holds must be rebuilt for the new target.
|
|
@@ -101069,6 +101123,12 @@ function aggregateDedup(perfs) {
|
|
|
101069
101123
|
skipReason: skipReasons.length > 0 ? skipReasons.join("|") : void 0
|
|
101070
101124
|
};
|
|
101071
101125
|
}
|
|
101126
|
+
function aggregateBeginFrameReuse(perfs) {
|
|
101127
|
+
const noDamageFrames = perfs.reduce((sum, p2) => sum + (p2.beginFrameNoDamage ?? 0), 0);
|
|
101128
|
+
const hasDamageFrames = perfs.reduce((sum, p2) => sum + (p2.beginFrameHasDamage ?? 0), 0);
|
|
101129
|
+
if (noDamageFrames + hasDamageFrames === 0) return void 0;
|
|
101130
|
+
return { noDamageFrames, hasDamageFrames };
|
|
101131
|
+
}
|
|
101072
101132
|
function buildRenderPerfSummary(input2) {
|
|
101073
101133
|
return {
|
|
101074
101134
|
renderId: input2.job.id,
|
|
@@ -101112,6 +101172,7 @@ function buildRenderPerfSummary(input2) {
|
|
|
101112
101172
|
peakRssMb: Math.round(input2.peakRssBytes / (1024 * 1024)),
|
|
101113
101173
|
peakHeapUsedMb: Math.round(input2.peakHeapUsedBytes / (1024 * 1024)),
|
|
101114
101174
|
staticDedup: aggregateDedup(input2.dedupPerfs),
|
|
101175
|
+
beginFrameReuse: aggregateBeginFrameReuse(input2.dedupPerfs),
|
|
101115
101176
|
drawElement: aggregateDrawElement(
|
|
101116
101177
|
input2.dedupPerfs,
|
|
101117
101178
|
input2.drawElement ?? { selfVerifyFallback: false }
|
|
@@ -101157,9 +101218,9 @@ var init_captureStageError = __esm({
|
|
|
101157
101218
|
});
|
|
101158
101219
|
|
|
101159
101220
|
// ../producer/src/services/render/captureBeyondViewport.ts
|
|
101160
|
-
function resolveVideoCaptureBeyondViewport(videoCount
|
|
101221
|
+
function resolveVideoCaptureBeyondViewport(videoCount) {
|
|
101161
101222
|
if (videoCount <= 0) return void 0;
|
|
101162
|
-
return
|
|
101223
|
+
return true;
|
|
101163
101224
|
}
|
|
101164
101225
|
var init_captureBeyondViewport = __esm({
|
|
101165
101226
|
"../producer/src/services/render/captureBeyondViewport.ts"() {
|
|
@@ -105571,7 +105632,7 @@ __export(animatedGifPrep_exports, {
|
|
|
105571
105632
|
prepareAnimatedGifInputs: () => prepareAnimatedGifInputs
|
|
105572
105633
|
});
|
|
105573
105634
|
import { createHash as createHash9 } from "crypto";
|
|
105574
|
-
import { spawn as
|
|
105635
|
+
import { spawn as spawn11 } from "child_process";
|
|
105575
105636
|
import {
|
|
105576
105637
|
copyFileSync as copyFileSync4,
|
|
105577
105638
|
existsSync as existsSync36,
|
|
@@ -105716,7 +105777,7 @@ function buildAnimatedGifTranscodeArgs(input2) {
|
|
|
105716
105777
|
}
|
|
105717
105778
|
async function runAnimatedGifTranscode(request) {
|
|
105718
105779
|
await new Promise((resolvePromise, reject) => {
|
|
105719
|
-
const proc =
|
|
105780
|
+
const proc = spawn11(getFfmpegBinary(), request.args);
|
|
105720
105781
|
let stderr = "";
|
|
105721
105782
|
const timeout = request.timeoutMs ?? 3e5;
|
|
105722
105783
|
const timer = setTimeout(() => {
|
|
@@ -106318,6 +106379,39 @@ function detectThreeDTransformUsage(html) {
|
|
|
106318
106379
|
function detectMixBlendModeUsage(html) {
|
|
106319
106380
|
return MIX_BLEND_MODE_PATTERN.test(html);
|
|
106320
106381
|
}
|
|
106382
|
+
function detectAncestorBackgroundImage(html) {
|
|
106383
|
+
const { document: document2 } = parseHTML(html);
|
|
106384
|
+
const root = document2.querySelector("[data-composition-id]");
|
|
106385
|
+
if (!root) return false;
|
|
106386
|
+
const ancestors = [];
|
|
106387
|
+
for (let el = root.parentElement; el; el = el.parentElement) ancestors.push(el);
|
|
106388
|
+
if (document2.documentElement && !ancestors.includes(document2.documentElement)) {
|
|
106389
|
+
ancestors.push(document2.documentElement);
|
|
106390
|
+
}
|
|
106391
|
+
for (const el of ancestors) {
|
|
106392
|
+
const style = el.getAttribute("style");
|
|
106393
|
+
if (style && BACKGROUND_IMAGE_DECL_PATTERN.test(`{${style}}`)) return true;
|
|
106394
|
+
}
|
|
106395
|
+
for (const styleEl of document2.querySelectorAll("style")) {
|
|
106396
|
+
const css = styleEl.textContent ?? "";
|
|
106397
|
+
for (const rule of css.matchAll(/([^{}]+)\{([^}]*)\}/g)) {
|
|
106398
|
+
const [, selectorList = "", declarations = ""] = rule;
|
|
106399
|
+
if (!BACKGROUND_IMAGE_DECL_PATTERN.test(`{${declarations}}`)) continue;
|
|
106400
|
+
for (const selector of selectorList.split(",")) {
|
|
106401
|
+
const sel = selector.trim();
|
|
106402
|
+
if (!sel || sel.startsWith("@")) continue;
|
|
106403
|
+
if (/^(?:html|:root)$/i.test(sel)) return true;
|
|
106404
|
+
try {
|
|
106405
|
+
for (const matched of document2.querySelectorAll(sel)) {
|
|
106406
|
+
if (ancestors.includes(matched)) return true;
|
|
106407
|
+
}
|
|
106408
|
+
} catch {
|
|
106409
|
+
}
|
|
106410
|
+
}
|
|
106411
|
+
}
|
|
106412
|
+
}
|
|
106413
|
+
return false;
|
|
106414
|
+
}
|
|
106321
106415
|
function detectShaderTransitionUsage(html) {
|
|
106322
106416
|
let scriptMatch;
|
|
106323
106417
|
const scriptPattern = new RegExp(INLINE_SCRIPT_PATTERN.source, INLINE_SCRIPT_PATTERN.flags);
|
|
@@ -107150,6 +107244,7 @@ async function compileForRender(projectDir, htmlPath, downloadDir, options = {})
|
|
|
107150
107244
|
const hasShaderTransitions = detectShaderTransitionUsage(sanitizedHtml);
|
|
107151
107245
|
const usesThreeDTransforms = detectThreeDTransformUsage(sanitizedHtml);
|
|
107152
107246
|
const usesMixBlendMode = detectMixBlendModeUsage(sanitizedHtml);
|
|
107247
|
+
const hasAncestorBackgroundImage = detectAncestorBackgroundImage(sanitizedHtml);
|
|
107153
107248
|
const normalizedFontHtml = normalizeSystemFontPrimaryFamilies(
|
|
107154
107249
|
injectTextRenderingRule2(
|
|
107155
107250
|
coalesceHeadStylesAndBodyScripts2(promoteCssImportsToLinkTags(sanitizedHtml))
|
|
@@ -107256,7 +107351,8 @@ async function compileForRender(projectDir, htmlPath, downloadDir, options = {})
|
|
|
107256
107351
|
renderModeHints,
|
|
107257
107352
|
hasShaderTransitions,
|
|
107258
107353
|
usesThreeDTransforms,
|
|
107259
|
-
usesMixBlendMode
|
|
107354
|
+
usesMixBlendMode,
|
|
107355
|
+
hasAncestorBackgroundImage
|
|
107260
107356
|
};
|
|
107261
107357
|
}
|
|
107262
107358
|
async function discoverMediaFromBrowser(page) {
|
|
@@ -107495,7 +107591,7 @@ async function recompileWithResolutions(compiled, resolutions, projectDir, downl
|
|
|
107495
107591
|
hasShaderTransitions: compiled.hasShaderTransitions
|
|
107496
107592
|
};
|
|
107497
107593
|
}
|
|
107498
|
-
var EmptyCompositionError, INLINE_SCRIPT_PATTERN, COMPILER_MOUNT_BLOCK_START, COMPILER_MOUNT_BLOCK_END, THREE_D_CONTEXT_PATTERN, MIX_BLEND_MODE_PATTERN, SHADER_TRANSITION_USAGE_PATTERN, REMOTE_MEDIA_SUBDIR, REMOTE_MEDIA_TAG_RE, REMOTE_IMG_TAG_RE, REMOTE_BG_URL_RE, REMOTE_FONTFACE_URL_RE, MAX_STYLESHEET_BYTES, LOCAL_FONTFACE_URL_RE, GSAP_CDN_BASE;
|
|
107594
|
+
var EmptyCompositionError, INLINE_SCRIPT_PATTERN, COMPILER_MOUNT_BLOCK_START, COMPILER_MOUNT_BLOCK_END, THREE_D_CONTEXT_PATTERN, MIX_BLEND_MODE_PATTERN, BACKGROUND_IMAGE_DECL_PATTERN, SHADER_TRANSITION_USAGE_PATTERN, REMOTE_MEDIA_SUBDIR, REMOTE_MEDIA_TAG_RE, REMOTE_IMG_TAG_RE, REMOTE_BG_URL_RE, REMOTE_FONTFACE_URL_RE, MAX_STYLESHEET_BYTES, LOCAL_FONTFACE_URL_RE, GSAP_CDN_BASE;
|
|
107499
107595
|
var init_htmlCompiler2 = __esm({
|
|
107500
107596
|
"../producer/src/services/htmlCompiler.ts"() {
|
|
107501
107597
|
"use strict";
|
|
@@ -107532,6 +107628,7 @@ Check that each file referenced by data-composition-src contains valid HTML with
|
|
|
107532
107628
|
COMPILER_MOUNT_BLOCK_END = "/* __HF_COMPILER_MOUNT_END__ */";
|
|
107533
107629
|
THREE_D_CONTEXT_PATTERN = /transform-style\s*:\s*preserve-3d|backface-visibility\s*:|perspective\s*:\s*[0-9]|perspective\s*\(|matrix3d\s*\(|rotate3d\s*\(|\btransformPerspective\b/i;
|
|
107534
107630
|
MIX_BLEND_MODE_PATTERN = /mix-blend-mode\s*:/i;
|
|
107631
|
+
BACKGROUND_IMAGE_DECL_PATTERN = /(?:^|;|\{)\s*background(?:-image)?\s*:[^;}]*(?:\bgradient\s*\(|url\s*\()/i;
|
|
107535
107632
|
SHADER_TRANSITION_USAGE_PATTERN = /\b(?:(?:window|globalThis)\s*\.\s*)?HyperShader\s*\.\s*init\s*\(|\b__hf\s*\.\s*transitions\s*=/;
|
|
107536
107633
|
REMOTE_MEDIA_SUBDIR = "_remote_media";
|
|
107537
107634
|
REMOTE_MEDIA_TAG_RE = /<(?:video|audio)\b[^>]*?\bsrc\s*=\s*["'](https?:\/\/[^"']+)["'][^>]*>/gi;
|
|
@@ -107586,6 +107683,13 @@ async function runCompileStage(input2) {
|
|
|
107586
107683
|
"[Render] Fast capture: composition uses mix-blend-mode \u2014 disabling drawElementImage for this render. Capture uses the platform's baseline route."
|
|
107587
107684
|
);
|
|
107588
107685
|
}
|
|
107686
|
+
if (cfg.useDrawElement && process.env.HF_FAST_CAPTURE_ANCESTOR_BG !== "true" && compiled.hasAncestorBackgroundImage) {
|
|
107687
|
+
cfg.useDrawElement = false;
|
|
107688
|
+
deCompileGate = "ancestor_background_image";
|
|
107689
|
+
log2.info(
|
|
107690
|
+
"[Render] Fast capture: composition root's ancestors (body/html/wrapper) carry a background-image \u2014 disabling drawElementImage for this render. Capture uses the platform's baseline route."
|
|
107691
|
+
);
|
|
107692
|
+
}
|
|
107589
107693
|
if (cfg.useDrawElement && process.env.PRODUCER_EXPERIMENTAL_FAST_CAPTURE !== "true" && compiled.hasShaderTransitions) {
|
|
107590
107694
|
cfg.useDrawElement = false;
|
|
107591
107695
|
deCompileGate = "shader_transitions";
|
|
@@ -109124,6 +109228,11 @@ import { mkdtemp, rm, writeFile } from "fs/promises";
|
|
|
109124
109228
|
import { tmpdir as tmpdir5 } from "os";
|
|
109125
109229
|
import { join as join41 } from "path";
|
|
109126
109230
|
import { promisify as promisify3 } from "util";
|
|
109231
|
+
function resolveParallelStallTimeoutMs() {
|
|
109232
|
+
const raw = process.env.HF_DE_PARALLEL_STALL_MS;
|
|
109233
|
+
const parsed = raw ? Number(raw) : Number.NaN;
|
|
109234
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_DE_PARALLEL_STALL_MS;
|
|
109235
|
+
}
|
|
109127
109236
|
async function psnrDb(a, b2) {
|
|
109128
109237
|
const dir = await mkdtemp(join41(tmpdir5(), "hf-de-verify-"));
|
|
109129
109238
|
try {
|
|
@@ -109402,6 +109511,28 @@ async function runCaptureStreamingStage(input2) {
|
|
|
109402
109511
|
throw e3;
|
|
109403
109512
|
}
|
|
109404
109513
|
};
|
|
109514
|
+
const stallController = new AbortController();
|
|
109515
|
+
const forwardParentAbort = () => stallController.abort();
|
|
109516
|
+
if (abortSignal) {
|
|
109517
|
+
if (abortSignal.aborted) stallController.abort();
|
|
109518
|
+
else abortSignal.addEventListener("abort", forwardParentAbort, { once: true });
|
|
109519
|
+
}
|
|
109520
|
+
const stallTimeoutMs = resolveParallelStallTimeoutMs();
|
|
109521
|
+
let lastCapturedFrames = 0;
|
|
109522
|
+
let lastProgressAt = Date.now();
|
|
109523
|
+
let stalled = false;
|
|
109524
|
+
const stallTimer = setInterval(
|
|
109525
|
+
() => {
|
|
109526
|
+
if (Date.now() - lastProgressAt <= stallTimeoutMs) return;
|
|
109527
|
+
stalled = true;
|
|
109528
|
+
const stallErr = new Error(
|
|
109529
|
+
`[Render] Parallel drawElement capture stalled: no frame progress for ${stallTimeoutMs}ms (stuck at ${lastCapturedFrames}/${totalFrames}).`
|
|
109530
|
+
);
|
|
109531
|
+
reorderBuffer.abort(stallErr);
|
|
109532
|
+
stallController.abort();
|
|
109533
|
+
},
|
|
109534
|
+
Math.min(stallTimeoutMs, DE_PARALLEL_STALL_POLL_MS)
|
|
109535
|
+
);
|
|
109405
109536
|
let workerResults;
|
|
109406
109537
|
try {
|
|
109407
109538
|
workerResults = await executeParallelCapture(
|
|
@@ -109410,8 +109541,12 @@ async function runCaptureStreamingStage(input2) {
|
|
|
109410
109541
|
tasks,
|
|
109411
109542
|
buildCaptureOptions(),
|
|
109412
109543
|
createRenderVideoFrameInjector,
|
|
109413
|
-
|
|
109544
|
+
stallController.signal,
|
|
109414
109545
|
(progress) => {
|
|
109546
|
+
if (progress.capturedFrames > lastCapturedFrames) {
|
|
109547
|
+
lastCapturedFrames = progress.capturedFrames;
|
|
109548
|
+
lastProgressAt = Date.now();
|
|
109549
|
+
}
|
|
109415
109550
|
job.framesRendered = progress.capturedFrames;
|
|
109416
109551
|
const frameProgress = progress.capturedFrames / progress.totalFrames;
|
|
109417
109552
|
const progressPct = 25 + frameProgress * 55;
|
|
@@ -109437,7 +109572,15 @@ async function runCaptureStreamingStage(input2) {
|
|
|
109437
109572
|
);
|
|
109438
109573
|
} catch (err) {
|
|
109439
109574
|
if (parallelDrainError) throw parallelDrainError;
|
|
109575
|
+
if (stalled && abortSignal?.aborted !== true) {
|
|
109576
|
+
throw new Error(
|
|
109577
|
+
`[Render] Parallel drawElement capture stalled after ${stallTimeoutMs}ms with no frame progress (last frame ${lastCapturedFrames}/${totalFrames}); falling back to screenshot.`
|
|
109578
|
+
);
|
|
109579
|
+
}
|
|
109440
109580
|
throw err;
|
|
109581
|
+
} finally {
|
|
109582
|
+
clearInterval(stallTimer);
|
|
109583
|
+
abortSignal?.removeEventListener("abort", forwardParentAbort);
|
|
109441
109584
|
}
|
|
109442
109585
|
if (parallelDrainError) throw parallelDrainError;
|
|
109443
109586
|
pushWorkerDedupPerfs(workerResults, dedupPerfs);
|
|
@@ -109545,7 +109688,7 @@ async function runCaptureStreamingStage(input2) {
|
|
|
109545
109688
|
}
|
|
109546
109689
|
}
|
|
109547
109690
|
}
|
|
109548
|
-
var execFileP;
|
|
109691
|
+
var DEFAULT_DE_PARALLEL_STALL_MS, DE_PARALLEL_STALL_POLL_MS, execFileP;
|
|
109549
109692
|
var init_captureStreamingStage = __esm({
|
|
109550
109693
|
"../producer/src/services/render/stages/captureStreamingStage.ts"() {
|
|
109551
109694
|
"use strict";
|
|
@@ -109554,6 +109697,8 @@ var init_captureStreamingStage = __esm({
|
|
|
109554
109697
|
init_perfSummary();
|
|
109555
109698
|
init_captureHdrFrameShared();
|
|
109556
109699
|
init_shared();
|
|
109700
|
+
DEFAULT_DE_PARALLEL_STALL_MS = 6e4;
|
|
109701
|
+
DE_PARALLEL_STALL_POLL_MS = 5e3;
|
|
109557
109702
|
execFileP = promisify3(execFile3);
|
|
109558
109703
|
}
|
|
109559
109704
|
});
|
|
@@ -109632,7 +109777,8 @@ import {
|
|
|
109632
109777
|
mkdirSync as mkdirSync19,
|
|
109633
109778
|
mkdtempSync as mkdtempSync3,
|
|
109634
109779
|
openSync as openSync3,
|
|
109635
|
-
readFileSync as readFileSync25
|
|
109780
|
+
readFileSync as readFileSync25,
|
|
109781
|
+
statfsSync as statfsSync2
|
|
109636
109782
|
} from "fs";
|
|
109637
109783
|
import { join as join43 } from "path";
|
|
109638
109784
|
function tempDirSafePrefix(id) {
|
|
@@ -109715,9 +109861,52 @@ async function probeHdrExtractionDims(args) {
|
|
|
109715
109861
|
}
|
|
109716
109862
|
}
|
|
109717
109863
|
}
|
|
109864
|
+
function estimateHdrExtractionBytes(videos, fps) {
|
|
109865
|
+
let total = 0;
|
|
109866
|
+
for (const v2 of videos) {
|
|
109867
|
+
const frames = Math.ceil(Math.max(0, v2.durationSeconds) * fps);
|
|
109868
|
+
total += frames * v2.width * v2.height * 6;
|
|
109869
|
+
}
|
|
109870
|
+
return total;
|
|
109871
|
+
}
|
|
109872
|
+
function assertHdrExtractionDiskHeadroom(framesDir, plannedVideos, fps, log2) {
|
|
109873
|
+
const estimatedBytes = estimateHdrExtractionBytes(plannedVideos, fps);
|
|
109874
|
+
let freeBytes;
|
|
109875
|
+
try {
|
|
109876
|
+
const stat3 = statfsSync2(framesDir);
|
|
109877
|
+
freeBytes = stat3.bavail * stat3.bsize;
|
|
109878
|
+
} catch {
|
|
109879
|
+
return;
|
|
109880
|
+
}
|
|
109881
|
+
const estimatedGb = (estimatedBytes / 1e9).toFixed(1);
|
|
109882
|
+
if (estimatedBytes > freeBytes * HDR_EXTRACTION_HEADROOM_FRACTION) {
|
|
109883
|
+
throw new Error(
|
|
109884
|
+
`HDR pre-extraction needs ~${estimatedGb} GB of raw 16-bit frames but only ${(freeBytes / 1e9).toFixed(1)} GB is free at ${framesDir}. If the composition doesn't need HDR output, re-run with --sdr; otherwise free up disk space and retry.`
|
|
109885
|
+
);
|
|
109886
|
+
}
|
|
109887
|
+
if (estimatedBytes > HDR_EXTRACTION_WARN_BYTES) {
|
|
109888
|
+
log2.warn(
|
|
109889
|
+
`HDR pre-extraction will write ~${estimatedGb} GB of raw 16-bit frames (pass --sdr to skip if HDR output isn't needed)`,
|
|
109890
|
+
{ estimatedBytes, freeBytes }
|
|
109891
|
+
);
|
|
109892
|
+
}
|
|
109893
|
+
}
|
|
109718
109894
|
async function extractHdrVideoFrames(args) {
|
|
109719
109895
|
const { job, log: log2, framesDir, composition, prep, width, height, abortSignal, hdrDiagnostics } = args;
|
|
109720
109896
|
const out = /* @__PURE__ */ new Map();
|
|
109897
|
+
mkdirSync19(framesDir, { recursive: true });
|
|
109898
|
+
const plannedVideos = [];
|
|
109899
|
+
for (const [videoId] of prep.hdrVideoSrcPaths) {
|
|
109900
|
+
const video = composition.videos.find((v2) => v2.id === videoId);
|
|
109901
|
+
if (!video) continue;
|
|
109902
|
+
const dims = prep.hdrExtractionDims.get(videoId) ?? { width, height };
|
|
109903
|
+
plannedVideos.push({
|
|
109904
|
+
durationSeconds: video.end - video.start,
|
|
109905
|
+
width: dims.width,
|
|
109906
|
+
height: dims.height
|
|
109907
|
+
});
|
|
109908
|
+
}
|
|
109909
|
+
assertHdrExtractionDiskHeadroom(framesDir, plannedVideos, fpsToNumber(job.config.fps), log2);
|
|
109721
109910
|
for (const [videoId, srcPath] of prep.hdrVideoSrcPaths) {
|
|
109722
109911
|
const video = composition.videos.find((v2) => v2.id === videoId);
|
|
109723
109912
|
if (!video) continue;
|
|
@@ -109825,13 +110014,15 @@ function decodeHdrImageBuffers(args) {
|
|
|
109825
110014
|
}
|
|
109826
110015
|
return out;
|
|
109827
110016
|
}
|
|
109828
|
-
var NO_FOLLOW_FLAG;
|
|
110017
|
+
var NO_FOLLOW_FLAG, HDR_EXTRACTION_HEADROOM_FRACTION, HDR_EXTRACTION_WARN_BYTES;
|
|
109829
110018
|
var init_captureHdrResources = __esm({
|
|
109830
110019
|
"../producer/src/services/render/stages/captureHdrResources.ts"() {
|
|
109831
110020
|
"use strict";
|
|
109832
110021
|
init_src();
|
|
109833
110022
|
init_dist3();
|
|
109834
110023
|
NO_FOLLOW_FLAG = constants3.O_NOFOLLOW ?? 0;
|
|
110024
|
+
HDR_EXTRACTION_HEADROOM_FRACTION = 0.9;
|
|
110025
|
+
HDR_EXTRACTION_WARN_BYTES = 1e10;
|
|
109835
110026
|
}
|
|
109836
110027
|
});
|
|
109837
110028
|
|
|
@@ -110940,6 +111131,8 @@ async function runEncodeStage(input2) {
|
|
|
110940
111131
|
return { encodeMs: Date.now() - stage5Start };
|
|
110941
111132
|
}
|
|
110942
111133
|
updateJobStatus(job, "encoding", "Encoding video", 75, onProgress);
|
|
111134
|
+
const scaledEncodeTimeout = Math.ceil((job.duration ?? 0) * 4e3);
|
|
111135
|
+
const videoEngineCfg = scaledEncodeTimeout > engineCfg.ffmpegEncodeTimeout ? { ...engineCfg, ffmpegEncodeTimeout: scaledEncodeTimeout } : engineCfg;
|
|
110943
111136
|
const frameExt = needsAlpha ? "png" : "jpg";
|
|
110944
111137
|
const framePattern = `frame_%06d.${frameExt}`;
|
|
110945
111138
|
const encoderOpts = {
|
|
@@ -110967,14 +111160,14 @@ async function runEncodeStage(input2) {
|
|
|
110967
111160
|
encoderOpts,
|
|
110968
111161
|
chunkedEncodeSize,
|
|
110969
111162
|
abortSignal,
|
|
110970
|
-
|
|
111163
|
+
videoEngineCfg
|
|
110971
111164
|
) : await encodeFramesFromDir(
|
|
110972
111165
|
framesDir,
|
|
110973
111166
|
framePattern,
|
|
110974
111167
|
videoOnlyPath,
|
|
110975
111168
|
encoderOpts,
|
|
110976
111169
|
abortSignal,
|
|
110977
|
-
|
|
111170
|
+
videoEngineCfg
|
|
110978
111171
|
);
|
|
110979
111172
|
assertNotAborted();
|
|
110980
111173
|
if (!encodeResult.success) {
|
|
@@ -111056,7 +111249,8 @@ import {
|
|
|
111056
111249
|
appendFileSync
|
|
111057
111250
|
} from "fs";
|
|
111058
111251
|
import { join as join50, dirname as dirname19, resolve as resolve26 } from "path";
|
|
111059
|
-
import {
|
|
111252
|
+
import { totalmem as totalmem2 } from "os";
|
|
111253
|
+
import { randomUUID as randomUUID5 } from "crypto";
|
|
111060
111254
|
import { fileURLToPath as fileURLToPath5 } from "url";
|
|
111061
111255
|
function sampleDirectoryBytes(dir) {
|
|
111062
111256
|
let total = 0;
|
|
@@ -111369,7 +111563,7 @@ async function executeDiskCaptureWithAdaptiveRetry(options) {
|
|
|
111369
111563
|
}
|
|
111370
111564
|
function createRenderJob(config) {
|
|
111371
111565
|
return {
|
|
111372
|
-
id:
|
|
111566
|
+
id: randomUUID5(),
|
|
111373
111567
|
config: { ...config, fps: toFps(config.fps) },
|
|
111374
111568
|
status: "queued",
|
|
111375
111569
|
progress: 0,
|
|
@@ -111380,11 +111574,24 @@ function createRenderJob(config) {
|
|
|
111380
111574
|
function normalizeCompositionSrcPath(srcPath) {
|
|
111381
111575
|
return srcPath.replace(/\\/g, "/").replace(/^\.\//, "");
|
|
111382
111576
|
}
|
|
111383
|
-
function
|
|
111577
|
+
function readSceneRootDuration(entryHtml) {
|
|
111578
|
+
if (!entryHtml) return null;
|
|
111579
|
+
const { document: document2 } = parseHTML(entryHtml);
|
|
111580
|
+
const template = document2.querySelector("template");
|
|
111581
|
+
const scope = template ? parseHTML(template.innerHTML).document : document2;
|
|
111582
|
+
const root = scope.querySelector("[data-composition-id]");
|
|
111583
|
+
return root?.getAttribute("data-duration") ?? null;
|
|
111584
|
+
}
|
|
111585
|
+
function createStandaloneEntryRenderClone(root, host, sceneDuration) {
|
|
111384
111586
|
const hostClone = host.cloneNode(true);
|
|
111385
111587
|
hostClone.setAttribute("data-start", "0");
|
|
111386
111588
|
if (root === host) return hostClone;
|
|
111387
111589
|
const rootClone = root.cloneNode(false);
|
|
111590
|
+
if (sceneDuration != null) {
|
|
111591
|
+
rootClone.setAttribute("data-duration", sceneDuration);
|
|
111592
|
+
} else {
|
|
111593
|
+
rootClone.removeAttribute("data-duration");
|
|
111594
|
+
}
|
|
111388
111595
|
rootClone.appendChild(hostClone);
|
|
111389
111596
|
return rootClone;
|
|
111390
111597
|
}
|
|
@@ -111421,7 +111628,13 @@ function resolveInversionRetryPlan(args) {
|
|
|
111421
111628
|
};
|
|
111422
111629
|
}
|
|
111423
111630
|
function shouldPreferParallelDrawElement(args) {
|
|
111424
|
-
return args.routerEnabled && args.workerCount > 1 && typeof args.requestedWorkers !== "number" && args.useDrawElement && !args.deCompileGate && !args.forceScreenshot && args.outputFormat === "mp4" && args.minFrames > 0 && args.totalFrames >= args.minFrames && !args.layeredOrEffectRoute && !args.supersampling && !args.probeDeGated && !args.experimentalParallelDeOptIn
|
|
111631
|
+
return args.routerEnabled && args.workerCount > 1 && typeof args.requestedWorkers !== "number" && args.useDrawElement && !args.deCompileGate && !args.forceScreenshot && args.outputFormat === "mp4" && args.minFrames > 0 && args.totalFrames >= args.minFrames && !args.layeredOrEffectRoute && !args.supersampling && !args.probeDeGated && !args.experimentalParallelDeOptIn && // RAM floor: routed parallel DE runs 3 concurrent hardware-GPU Chrome
|
|
111632
|
+
// instances. On a 16 GB machine that produced vertical black slabs in the
|
|
111633
|
+
// final MP4 (wild report, CLI 0.7.52) — compositor tiles evicted under
|
|
111634
|
+
// GPU/memory pressure, and sampled self-verify can miss partial-frame
|
|
111635
|
+
// damage. Single-worker DE (the inversion) stays available below the
|
|
111636
|
+
// floor; only the parallel bet is withheld.
|
|
111637
|
+
(args.minMemoryMb <= 0 || args.totalMemoryMb >= args.minMemoryMb);
|
|
111425
111638
|
}
|
|
111426
111639
|
function resolveParallelRouterRetryPlan(args) {
|
|
111427
111640
|
if (args.deParallelRouter !== "routed") return null;
|
|
@@ -111442,13 +111655,16 @@ function shouldRetryViaPinnedFallback(args) {
|
|
|
111442
111655
|
if (args.isVerifyError) return true;
|
|
111443
111656
|
return args.deWorkerInversion === "inverted" || args.deParallelRouter === "routed";
|
|
111444
111657
|
}
|
|
111658
|
+
function shouldStreamParallelCapture(args) {
|
|
111659
|
+
return args.routerEnabled && args.workerCount > 1 && !args.useDrawElement && args.outputFormat === "mp4" && args.streamingOk && !args.layeredOrEffectRoute;
|
|
111660
|
+
}
|
|
111445
111661
|
function resolveCaptureForceScreenshotForPageSideCompositing(args) {
|
|
111446
111662
|
return args.usePageSideCompositing ? true : args.forceScreenshot;
|
|
111447
111663
|
}
|
|
111448
111664
|
function shouldDiscardProbeSessionForPageSideCompositing(args) {
|
|
111449
111665
|
return args.hasProbeSession && args.usePageSideCompositing;
|
|
111450
111666
|
}
|
|
111451
|
-
function extractStandaloneEntryFromIndex(indexHtml, entryFile) {
|
|
111667
|
+
function extractStandaloneEntryFromIndex(indexHtml, entryFile, entryHtml) {
|
|
111452
111668
|
const normalizedEntryFile = normalizeCompositionSrcPath(entryFile);
|
|
111453
111669
|
const { document: document2 } = parseHTML(indexHtml);
|
|
111454
111670
|
const body = document2.querySelector("body");
|
|
@@ -111462,7 +111678,8 @@ function extractStandaloneEntryFromIndex(indexHtml, entryFile) {
|
|
|
111462
111678
|
(candidate) => candidate.hasAttribute("data-composition-id")
|
|
111463
111679
|
) ?? null;
|
|
111464
111680
|
if (!root) return null;
|
|
111465
|
-
const
|
|
111681
|
+
const sceneDuration = readSceneRootDuration(entryHtml) ?? host.getAttribute("data-duration");
|
|
111682
|
+
const renderClone = createStandaloneEntryRenderClone(root, host, sceneDuration);
|
|
111466
111683
|
replaceBodyWithRenderClone(body, renderClone);
|
|
111467
111684
|
return document2.toString();
|
|
111468
111685
|
}
|
|
@@ -111582,7 +111799,8 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
111582
111799
|
}
|
|
111583
111800
|
const standaloneHtml = extractStandaloneEntryFromIndex(
|
|
111584
111801
|
readFileSync26(projectIndexPath, "utf-8"),
|
|
111585
|
-
entryFile
|
|
111802
|
+
entryFile,
|
|
111803
|
+
rawEntry
|
|
111586
111804
|
);
|
|
111587
111805
|
if (!standaloneHtml) {
|
|
111588
111806
|
throw new Error(
|
|
@@ -111627,6 +111845,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
111627
111845
|
let deClampReason;
|
|
111628
111846
|
let deWorkerInversion;
|
|
111629
111847
|
let deParallelStreamForced = false;
|
|
111848
|
+
let captureParallelStreamForced = false;
|
|
111630
111849
|
let deSelfVerifyFallback = false;
|
|
111631
111850
|
let deFallbackReason;
|
|
111632
111851
|
let deDrainStats;
|
|
@@ -111822,10 +112041,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
111822
112041
|
browserTimeout: cfg.browserTimeout
|
|
111823
112042
|
});
|
|
111824
112043
|
updateCaptureObservability({ browserGpuMode: resolvedBrowserGpuMode });
|
|
111825
|
-
const videoCaptureBeyondViewport = resolveVideoCaptureBeyondViewport(
|
|
111826
|
-
composition.videos.length,
|
|
111827
|
-
resolvedBrowserGpuMode
|
|
111828
|
-
);
|
|
112044
|
+
const videoCaptureBeyondViewport = resolveVideoCaptureBeyondViewport(composition.videos.length);
|
|
111829
112045
|
const captureOptions = {
|
|
111830
112046
|
width,
|
|
111831
112047
|
height,
|
|
@@ -111882,6 +112098,9 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
111882
112098
|
const deParallelMinFramesRaw = process.env.HF_DE_PARALLEL_MIN_FRAMES;
|
|
111883
112099
|
const deParallelMinFramesNum = deParallelMinFramesRaw === void 0 || deParallelMinFramesRaw.trim() === "" ? 2e3 : Number(deParallelMinFramesRaw);
|
|
111884
112100
|
const deParallelMinFrames = Number.isFinite(deParallelMinFramesNum) ? deParallelMinFramesNum : 2e3;
|
|
112101
|
+
const deParallelMinMemRaw = process.env.HF_DE_PARALLEL_MIN_MEM_MB;
|
|
112102
|
+
const deParallelMinMemNum = deParallelMinMemRaw === void 0 || deParallelMinMemRaw.trim() === "" ? 24576 : Number(deParallelMinMemRaw);
|
|
112103
|
+
const deParallelMinMemoryMb = Number.isFinite(deParallelMinMemNum) ? deParallelMinMemNum : 24576;
|
|
111885
112104
|
const deParallelRouterEligible = shouldPreferParallelDrawElement({
|
|
111886
112105
|
workerCount: WOULD_RESOLVE_MULTI_WORKER,
|
|
111887
112106
|
requestedWorkers: job.config.workers,
|
|
@@ -111895,7 +112114,9 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
111895
112114
|
supersampling: deviceScaleFactor > 1,
|
|
111896
112115
|
probeDeGated: probeSession !== null && probeSession.captureMode !== "drawelement" && !probeSession.deInitDeferred,
|
|
111897
112116
|
experimentalParallelDeOptIn: process.env.PRODUCER_EXPERIMENTAL_FAST_CAPTURE === "true" || process.env.HF_DE_PARALLEL_STREAM === "true",
|
|
111898
|
-
routerEnabled: deParallelRouterEnabled
|
|
112117
|
+
routerEnabled: deParallelRouterEnabled,
|
|
112118
|
+
totalMemoryMb: Math.round(totalmem2() / (1024 * 1024)),
|
|
112119
|
+
minMemoryMb: deParallelMinMemoryMb
|
|
111899
112120
|
});
|
|
111900
112121
|
let workerCount;
|
|
111901
112122
|
const captureStageObservationData = (extra = {}) => ({
|
|
@@ -112005,6 +112226,32 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
112005
112226
|
deWorkerInversion: deWorkerInversion ?? "none",
|
|
112006
112227
|
deParallelRouter: deParallelRouter ?? "none"
|
|
112007
112228
|
});
|
|
112229
|
+
const captureParallelStreamRouterEnabled = process.env.HF_CAPTURE_PARALLEL_STREAM === "true";
|
|
112230
|
+
const captureParallelStreamArgs = {
|
|
112231
|
+
workerCount,
|
|
112232
|
+
useDrawElement: cfg.useDrawElement,
|
|
112233
|
+
outputFormat,
|
|
112234
|
+
streamingOk: shouldUseStreamingEncode(cfg, outputFormat, 1, job.duration),
|
|
112235
|
+
layeredOrEffectRoute: hasHdrContent || compiled.hasShaderTransitions
|
|
112236
|
+
};
|
|
112237
|
+
const captureParallelStreamEligible = shouldStreamParallelCapture({
|
|
112238
|
+
routerEnabled: captureParallelStreamRouterEnabled,
|
|
112239
|
+
...captureParallelStreamArgs
|
|
112240
|
+
});
|
|
112241
|
+
if (captureParallelStreamEligible) {
|
|
112242
|
+
captureParallelStreamForced = true;
|
|
112243
|
+
const captureParallelStream = process.platform === "linux" && !captureForceScreenshot ? "beginframe" : "screenshot";
|
|
112244
|
+
log2.info(
|
|
112245
|
+
`[Render] Parallel ${captureParallelStream} capture will stream to the encoder (interleaved, ${workerCount} workers) instead of the disk path. Set HF_CAPTURE_PARALLEL_STREAM=false to disable.`
|
|
112246
|
+
);
|
|
112247
|
+
updateCaptureObservability({ captureParallelStream });
|
|
112248
|
+
observability.checkpoint(
|
|
112249
|
+
"worker_resolution",
|
|
112250
|
+
`parallel ${captureParallelStream} capture routed to streaming`
|
|
112251
|
+
);
|
|
112252
|
+
} else if (shouldStreamParallelCapture({ routerEnabled: true, ...captureParallelStreamArgs })) {
|
|
112253
|
+
updateCaptureObservability({ captureParallelStream: "eligible_off" });
|
|
112254
|
+
}
|
|
112008
112255
|
if (workerCount > 1 && probeSession) {
|
|
112009
112256
|
lastBrowserConsole = probeSession.browserConsoleBuffer;
|
|
112010
112257
|
await closeCaptureSession(probeSession);
|
|
@@ -112015,7 +112262,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
112015
112262
|
outputFormat,
|
|
112016
112263
|
workerCount,
|
|
112017
112264
|
job.duration,
|
|
112018
|
-
deParallelStreamForced
|
|
112265
|
+
deParallelStreamForced || captureParallelStreamForced
|
|
112019
112266
|
);
|
|
112020
112267
|
log2.info("streaming-encode gate", {
|
|
112021
112268
|
enabled: useStreamingEncode,
|
|
@@ -112172,7 +112419,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
112172
112419
|
workerCount,
|
|
112173
112420
|
probeSession,
|
|
112174
112421
|
outputFormat,
|
|
112175
|
-
forceParallelStream: deParallelStreamForced,
|
|
112422
|
+
forceParallelStream: deParallelStreamForced || captureParallelStreamForced,
|
|
112176
112423
|
streamingEncoderOptions: {
|
|
112177
112424
|
fps: job.config.fps,
|
|
112178
112425
|
width,
|
|
@@ -114442,8 +114689,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
|
|
|
114442
114689
|
)
|
|
114443
114690
|
) : null;
|
|
114444
114691
|
const videoCaptureBeyondViewport = resolveVideoCaptureBeyondViewport(
|
|
114445
|
-
planVideos?.videos.length ?? 0
|
|
114446
|
-
"software"
|
|
114692
|
+
planVideos?.videos.length ?? 0
|
|
114447
114693
|
);
|
|
114448
114694
|
const workDir = `${outputChunkPath}.work.${process.pid}.${randomBytes2(4).toString("hex")}`;
|
|
114449
114695
|
mkdirSync27(workDir, { recursive: true });
|
|
@@ -114665,7 +114911,7 @@ var init_renderChunk = __esm({
|
|
|
114665
114911
|
});
|
|
114666
114912
|
|
|
114667
114913
|
// ../producer/src/services/render/audioPadTrim.ts
|
|
114668
|
-
import { spawn as
|
|
114914
|
+
import { spawn as spawn12 } from "child_process";
|
|
114669
114915
|
import { rmSync as rmSync16 } from "fs";
|
|
114670
114916
|
import { pathToFileURL as pathToFileURL2 } from "url";
|
|
114671
114917
|
function buildPadTrimAudioPlan(audioPath, outputPath, sourceDurationSeconds, targetDurationSeconds, audioInfo = {}) {
|
|
@@ -114901,7 +115147,7 @@ async function defaultRunFfmpeg(args, options) {
|
|
|
114901
115147
|
}
|
|
114902
115148
|
async function runFfmpegWithStdin(args, stdin) {
|
|
114903
115149
|
return new Promise((resolve64) => {
|
|
114904
|
-
const proc =
|
|
115150
|
+
const proc = spawn12(getFfmpegBinary(), args);
|
|
114905
115151
|
let stderr = "";
|
|
114906
115152
|
proc.stderr.on("data", (data2) => {
|
|
114907
115153
|
stderr += data2.toString();
|
|
@@ -114927,7 +115173,7 @@ async function runFfmpegWithStdin(args, stdin) {
|
|
|
114927
115173
|
}
|
|
114928
115174
|
function runFfprobeJson(args) {
|
|
114929
115175
|
return new Promise((resolve64, reject) => {
|
|
114930
|
-
const proc =
|
|
115176
|
+
const proc = spawn12(getFfprobeBinary(), args);
|
|
114931
115177
|
let stdout2 = "";
|
|
114932
115178
|
let stderr = "";
|
|
114933
115179
|
proc.stdout.on("data", (data2) => {
|
|
@@ -115270,6 +115516,7 @@ __export(src_exports2, {
|
|
|
115270
115516
|
getCapturePerfSummary: () => getCapturePerfSummary,
|
|
115271
115517
|
getCompositionDuration: () => getCompositionDuration,
|
|
115272
115518
|
initializeSession: () => initializeSession,
|
|
115519
|
+
injectDeterministicFontFaces: () => injectDeterministicFontFaces,
|
|
115273
115520
|
localizeRemoteFontFaces: () => localizeRemoteFontFaces,
|
|
115274
115521
|
localizeRemoteImageSources: () => localizeRemoteImageSources,
|
|
115275
115522
|
localizeRemoteMediaSources: () => localizeRemoteMediaSources,
|
|
@@ -115296,6 +115543,7 @@ var init_src2 = __esm({
|
|
|
115296
115543
|
init_logger();
|
|
115297
115544
|
init_server();
|
|
115298
115545
|
init_errorMessage2();
|
|
115546
|
+
init_deterministicFonts();
|
|
115299
115547
|
init_parityContract2();
|
|
115300
115548
|
init_paths();
|
|
115301
115549
|
init_hyperframeLint();
|
|
@@ -115983,7 +116231,7 @@ __export(pipeline_exports, {
|
|
|
115983
116231
|
resolveRenderTargets: () => resolveRenderTargets,
|
|
115984
116232
|
waitForExit: () => waitForExit
|
|
115985
116233
|
});
|
|
115986
|
-
import { spawn as
|
|
116234
|
+
import { spawn as spawn13 } from "child_process";
|
|
115987
116235
|
import { extname as extname11 } from "path";
|
|
115988
116236
|
function inferOutputFormat(outputPath) {
|
|
115989
116237
|
const ext = extname11(outputPath).toLowerCase();
|
|
@@ -116170,7 +116418,7 @@ async function render2(options) {
|
|
|
116170
116418
|
}
|
|
116171
116419
|
}
|
|
116172
116420
|
function spawnFfmpeg(ffmpegPath, args, label2, stdio) {
|
|
116173
|
-
const proc =
|
|
116421
|
+
const proc = spawn13(ffmpegPath, args, { stdio });
|
|
116174
116422
|
let stderrBuf = "";
|
|
116175
116423
|
proc.stderr?.on("data", (d2) => {
|
|
116176
116424
|
stderrBuf += d2.toString();
|
|
@@ -116914,7 +117162,7 @@ __export(preview_exports, {
|
|
|
116914
117162
|
default: () => preview_default,
|
|
116915
117163
|
examples: () => examples2
|
|
116916
117164
|
});
|
|
116917
|
-
import { spawn as
|
|
117165
|
+
import { spawn as spawn14 } from "child_process";
|
|
116918
117166
|
import { existsSync as existsSync56, lstatSync as lstatSync4, symlinkSync as symlinkSync3, unlinkSync as unlinkSync5, readlinkSync, mkdirSync as mkdirSync31 } from "fs";
|
|
116919
117167
|
import { resolve as resolve31, dirname as dirname25, basename as basename9, join as join65 } from "path";
|
|
116920
117168
|
import { fileURLToPath as fileURLToPath8 } from "url";
|
|
@@ -117206,7 +117454,8 @@ function openStudioBrowser(url, projectName, options) {
|
|
|
117206
117454
|
openBrowser(`${url}#project/${projectName}`, {
|
|
117207
117455
|
browserPath: options?.browserPath,
|
|
117208
117456
|
userDataDir: options?.userDataDir,
|
|
117209
|
-
remoteDebuggingPort: options?.remoteDebuggingPort
|
|
117457
|
+
remoteDebuggingPort: options?.remoteDebuggingPort,
|
|
117458
|
+
disableGpu: options?.browserNoGpu
|
|
117210
117459
|
});
|
|
117211
117460
|
}
|
|
117212
117461
|
function printStudioSummary(projectName, url, opts = {}) {
|
|
@@ -117292,7 +117541,7 @@ async function runDevMode(dir, options) {
|
|
|
117292
117541
|
const s2 = ft();
|
|
117293
117542
|
s2.start("Starting studio...");
|
|
117294
117543
|
const studioPkgDir = join65(repoRoot2, "packages", "studio");
|
|
117295
|
-
const child =
|
|
117544
|
+
const child = spawn14("bun", ["run", "dev"], {
|
|
117296
117545
|
cwd: studioPkgDir,
|
|
117297
117546
|
stdio: ["ignore", "pipe", "pipe"]
|
|
117298
117547
|
});
|
|
@@ -117320,7 +117569,7 @@ async function runLocalStudioMode(dir, options) {
|
|
|
117320
117569
|
const s2 = ft();
|
|
117321
117570
|
s2.start("Starting studio...");
|
|
117322
117571
|
const viteCommand = buildNpxCommand(["vite"]);
|
|
117323
|
-
const child =
|
|
117572
|
+
const child = spawn14(viteCommand.command, viteCommand.args, {
|
|
117324
117573
|
cwd: studioPkgPath,
|
|
117325
117574
|
stdio: ["ignore", "pipe", "pipe"]
|
|
117326
117575
|
});
|
|
@@ -117528,6 +117777,11 @@ var init_preview = __esm({
|
|
|
117528
117777
|
"remote-debugging-port": {
|
|
117529
117778
|
type: "string",
|
|
117530
117779
|
description: "Chromium remote debugging port (requires --browser-path and --user-data-dir)"
|
|
117780
|
+
},
|
|
117781
|
+
"browser-no-gpu": {
|
|
117782
|
+
type: "boolean",
|
|
117783
|
+
default: false,
|
|
117784
|
+
description: "Launch the opened browser with --disable-gpu (requires --browser-path). For hosts where hardware acceleration crashes the graphics driver (e.g. NVIDIA Xid resets); with the system default browser use --no-open instead."
|
|
117531
117785
|
}
|
|
117532
117786
|
},
|
|
117533
117787
|
async run({ args }) {
|
|
@@ -117617,6 +117871,14 @@ var init_preview = __esm({
|
|
|
117617
117871
|
}
|
|
117618
117872
|
const noOpen = !args.open;
|
|
117619
117873
|
const browserPath = args["browser-path"];
|
|
117874
|
+
const browserNoGpu = !!args["browser-no-gpu"];
|
|
117875
|
+
if (browserNoGpu && !browserPath) {
|
|
117876
|
+
R2.error(
|
|
117877
|
+
"--browser-no-gpu requires --browser-path (the system default browser cannot receive Chromium flags \u2014 use --no-open on GPU-unstable hosts)"
|
|
117878
|
+
);
|
|
117879
|
+
process.exitCode = 1;
|
|
117880
|
+
return;
|
|
117881
|
+
}
|
|
117620
117882
|
const userDataDir = args["user-data-dir"];
|
|
117621
117883
|
let remoteDebuggingPort;
|
|
117622
117884
|
try {
|
|
@@ -117634,7 +117896,8 @@ var init_preview = __esm({
|
|
|
117634
117896
|
noOpen,
|
|
117635
117897
|
browserPath,
|
|
117636
117898
|
userDataDir,
|
|
117637
|
-
remoteDebuggingPort
|
|
117899
|
+
remoteDebuggingPort,
|
|
117900
|
+
browserNoGpu
|
|
117638
117901
|
});
|
|
117639
117902
|
}
|
|
117640
117903
|
if (hasLocalStudio(dir)) {
|
|
@@ -117643,7 +117906,8 @@ var init_preview = __esm({
|
|
|
117643
117906
|
noOpen,
|
|
117644
117907
|
browserPath,
|
|
117645
117908
|
userDataDir,
|
|
117646
|
-
remoteDebuggingPort
|
|
117909
|
+
remoteDebuggingPort,
|
|
117910
|
+
browserNoGpu
|
|
117647
117911
|
});
|
|
117648
117912
|
}
|
|
117649
117913
|
const forceNew = !!args["force-new"];
|
|
@@ -117653,7 +117917,8 @@ var init_preview = __esm({
|
|
|
117653
117917
|
noOpen,
|
|
117654
117918
|
browserPath,
|
|
117655
117919
|
userDataDir,
|
|
117656
|
-
remoteDebuggingPort
|
|
117920
|
+
remoteDebuggingPort,
|
|
117921
|
+
browserNoGpu
|
|
117657
117922
|
});
|
|
117658
117923
|
}
|
|
117659
117924
|
});
|
|
@@ -117679,7 +117944,7 @@ import {
|
|
|
117679
117944
|
} from "fs";
|
|
117680
117945
|
import { resolve as resolve33, basename as basename10, join as join66, dirname as dirname26 } from "path";
|
|
117681
117946
|
import { fileURLToPath as fileURLToPath9 } from "url";
|
|
117682
|
-
import { execFileSync as execFileSync7, spawn as
|
|
117947
|
+
import { execFileSync as execFileSync7, spawn as spawn15 } from "child_process";
|
|
117683
117948
|
function probeVideo(filePath) {
|
|
117684
117949
|
try {
|
|
117685
117950
|
const ffprobePath = findFFprobe();
|
|
@@ -117728,7 +117993,7 @@ function transcodeToMp4(inputPath, outputPath) {
|
|
|
117728
117993
|
resolvePromise(false);
|
|
117729
117994
|
return;
|
|
117730
117995
|
}
|
|
117731
|
-
const child =
|
|
117996
|
+
const child = spawn15(
|
|
117732
117997
|
ffmpegPath,
|
|
117733
117998
|
[
|
|
117734
117999
|
"-i",
|
|
@@ -121181,7 +121446,7 @@ __export(render_exports, {
|
|
|
121181
121446
|
import { mkdirSync as mkdirSync35, readdirSync as readdirSync24, readFileSync as readFileSync44, statSync as statSync20, writeFileSync as writeFileSync25, rmSync as rmSync19 } from "fs";
|
|
121182
121447
|
import { cpus as cpus4, freemem as freemem5, tmpdir as tmpdir7 } from "os";
|
|
121183
121448
|
import { resolve as resolve44, dirname as dirname30, join as join71, basename as basename12 } from "path";
|
|
121184
|
-
import { execFileSync as execFileSync10, spawn as
|
|
121449
|
+
import { execFileSync as execFileSync10, spawn as spawn16 } from "child_process";
|
|
121185
121450
|
function formatFpsParseError(input2, reason) {
|
|
121186
121451
|
switch (reason) {
|
|
121187
121452
|
case "empty":
|
|
@@ -121381,7 +121646,7 @@ async function renderDocker(projectDir, outputPath, options) {
|
|
|
121381
121646
|
}
|
|
121382
121647
|
try {
|
|
121383
121648
|
await new Promise((resolvePromise, reject) => {
|
|
121384
|
-
const child =
|
|
121649
|
+
const child = spawn16("docker", dockerArgs, {
|
|
121385
121650
|
// When quiet, still show stderr so container errors surface
|
|
121386
121651
|
stdio: options.quiet ? ["pipe", "pipe", "inherit"] : "inherit"
|
|
121387
121652
|
});
|
|
@@ -121735,6 +122000,8 @@ function trackRenderMetrics(job, elapsedMs, options, docker) {
|
|
|
121735
122000
|
staticDedupSkipReason: perf?.staticDedup?.skipReason,
|
|
121736
122001
|
staticDedupPredictedFrames: perf?.staticDedup?.predictedFrames,
|
|
121737
122002
|
staticDedupReusedFrames: perf?.staticDedup?.reusedFrames,
|
|
122003
|
+
beginFrameNoDamageFrames: perf?.beginFrameReuse?.noDamageFrames,
|
|
122004
|
+
beginFrameHasDamageFrames: perf?.beginFrameReuse?.hasDamageFrames,
|
|
121738
122005
|
deCaptureMode: perf?.drawElement?.mode,
|
|
121739
122006
|
deCompileGate: perf?.drawElement?.compileGate,
|
|
121740
122007
|
deClampReason: perf?.drawElement?.clampReason,
|
|
@@ -123280,7 +123547,7 @@ var init_compositionViewport = __esm({
|
|
|
123280
123547
|
});
|
|
123281
123548
|
|
|
123282
123549
|
// src/capture/captureCompositionFrame.ts
|
|
123283
|
-
import { spawn as
|
|
123550
|
+
import { spawn as spawn17 } from "child_process";
|
|
123284
123551
|
function resolveCliChromeGpuMode(envMode = process.env.PRODUCER_BROWSER_GPU_MODE) {
|
|
123285
123552
|
return envMode === "software" ? "software" : "hardware";
|
|
123286
123553
|
}
|
|
@@ -123419,8 +123686,9 @@ async function seekCompositionTimeline(page, timeSeconds, options = {}) {
|
|
|
123419
123686
|
)
|
|
123420
123687
|
);
|
|
123421
123688
|
}
|
|
123422
|
-
|
|
123423
|
-
|
|
123689
|
+
const waitForFontsMs = options.waitForFontsMs ?? DEFAULT_POST_SEEK_FONT_WAIT_MS;
|
|
123690
|
+
if (waitForFontsMs > 0) {
|
|
123691
|
+
await waitForCompositionFonts(page, waitForFontsMs);
|
|
123424
123692
|
}
|
|
123425
123693
|
if (options.settleMs !== void 0) {
|
|
123426
123694
|
const settleMs = Math.max(0, options.settleMs);
|
|
@@ -123447,12 +123715,23 @@ async function waitForCompositionFonts(page, timeoutMs) {
|
|
|
123447
123715
|
await page.evaluate((ms) => {
|
|
123448
123716
|
const fonts = Reflect.get(document, "fonts");
|
|
123449
123717
|
if (typeof fonts !== "object" || fonts === null) return Promise.resolve();
|
|
123450
|
-
|
|
123451
|
-
|
|
123452
|
-
|
|
123453
|
-
|
|
123454
|
-
|
|
123455
|
-
|
|
123718
|
+
void document.body?.offsetHeight;
|
|
123719
|
+
return new Promise((resolveWait) => {
|
|
123720
|
+
const deadline = setTimeout(resolveWait, ms);
|
|
123721
|
+
requestAnimationFrame(() => {
|
|
123722
|
+
const status = Reflect.get(fonts, "status");
|
|
123723
|
+
const ready = Reflect.get(fonts, "ready");
|
|
123724
|
+
if (status !== "loading" || !ready) {
|
|
123725
|
+
clearTimeout(deadline);
|
|
123726
|
+
resolveWait();
|
|
123727
|
+
return;
|
|
123728
|
+
}
|
|
123729
|
+
Promise.resolve(ready).then(() => {
|
|
123730
|
+
clearTimeout(deadline);
|
|
123731
|
+
resolveWait();
|
|
123732
|
+
});
|
|
123733
|
+
});
|
|
123734
|
+
});
|
|
123456
123735
|
}, timeoutMs).catch(() => {
|
|
123457
123736
|
});
|
|
123458
123737
|
}
|
|
@@ -123507,7 +123786,7 @@ async function captureRegionCrop(page, region, scale) {
|
|
|
123507
123786
|
}
|
|
123508
123787
|
async function runFfmpegOnce(ffmpegPath, args, timeoutMs) {
|
|
123509
123788
|
return await new Promise((resolvePromise) => {
|
|
123510
|
-
const ff =
|
|
123789
|
+
const ff = spawn17(ffmpegPath, args);
|
|
123511
123790
|
let stderr = "";
|
|
123512
123791
|
let timedOut = false;
|
|
123513
123792
|
const timer = setTimeout(() => {
|
|
@@ -123527,7 +123806,7 @@ async function runFfmpegOnce(ffmpegPath, args, timeoutMs) {
|
|
|
123527
123806
|
});
|
|
123528
123807
|
});
|
|
123529
123808
|
}
|
|
123530
|
-
var SHADER_TRANSITIONS_TIMEOUT_MS, CAPTURE_SETTLE_MS, PREFERRED_SEEK_TARGET_WAIT_MS, AUDIT_SEEK_OPTIONS, ZOOM_REGION_PATTERN, DEFAULT_ZOOM_PADDING_PX, DEFAULT_ZOOM_SCALE, MIN_CROP_REGION_PX;
|
|
123809
|
+
var SHADER_TRANSITIONS_TIMEOUT_MS, CAPTURE_SETTLE_MS, PREFERRED_SEEK_TARGET_WAIT_MS, DEFAULT_POST_SEEK_FONT_WAIT_MS, AUDIT_SEEK_OPTIONS, ZOOM_REGION_PATTERN, DEFAULT_ZOOM_PADDING_PX, DEFAULT_ZOOM_SCALE, MIN_CROP_REGION_PX;
|
|
123531
123810
|
var init_captureCompositionFrame = __esm({
|
|
123532
123811
|
"src/capture/captureCompositionFrame.ts"() {
|
|
123533
123812
|
"use strict";
|
|
@@ -123536,6 +123815,7 @@ var init_captureCompositionFrame = __esm({
|
|
|
123536
123815
|
SHADER_TRANSITIONS_TIMEOUT_MS = 9e4;
|
|
123537
123816
|
CAPTURE_SETTLE_MS = 1500;
|
|
123538
123817
|
PREFERRED_SEEK_TARGET_WAIT_MS = 500;
|
|
123818
|
+
DEFAULT_POST_SEEK_FONT_WAIT_MS = 500;
|
|
123539
123819
|
AUDIT_SEEK_OPTIONS = {
|
|
123540
123820
|
fallbackToBridgeAndTimelines: true,
|
|
123541
123821
|
animationFrameSettle: "double",
|
|
@@ -124512,6 +124792,57 @@ Examples:
|
|
|
124512
124792
|
}
|
|
124513
124793
|
});
|
|
124514
124794
|
|
|
124795
|
+
// src/utils/bundleWithLocalizedFonts.ts
|
|
124796
|
+
var bundleWithLocalizedFonts_exports = {};
|
|
124797
|
+
__export(bundleWithLocalizedFonts_exports, {
|
|
124798
|
+
__resetFontLocalizationWarningsForTests: () => __resetFontLocalizationWarningsForTests,
|
|
124799
|
+
bundleWithLocalizedFonts: () => bundleWithLocalizedFonts,
|
|
124800
|
+
localizeWithProducer: () => localizeWithProducer
|
|
124801
|
+
});
|
|
124802
|
+
async function bundleWithLocalizedFonts(projectDir, localizeFonts = localizeWithProducer) {
|
|
124803
|
+
const { bundleToSingleHtml: bundleToSingleHtml2 } = await Promise.resolve().then(() => (init_compiler(), compiler_exports));
|
|
124804
|
+
const html = await bundleToSingleHtml2(projectDir);
|
|
124805
|
+
return localizeFonts(html);
|
|
124806
|
+
}
|
|
124807
|
+
async function loadFontInjector() {
|
|
124808
|
+
try {
|
|
124809
|
+
const producerSpecifier = "@hyperframes/producer";
|
|
124810
|
+
const mod = await import(
|
|
124811
|
+
/* @vite-ignore */
|
|
124812
|
+
producerSpecifier
|
|
124813
|
+
);
|
|
124814
|
+
return mod.injectDeterministicFontFaces ?? null;
|
|
124815
|
+
} catch {
|
|
124816
|
+
return null;
|
|
124817
|
+
}
|
|
124818
|
+
}
|
|
124819
|
+
function __resetFontLocalizationWarningsForTests() {
|
|
124820
|
+
warnedFontLocalizationFailures.clear();
|
|
124821
|
+
}
|
|
124822
|
+
async function localizeWithProducer(html, loadInjector = loadFontInjector, warn = (m2) => console.warn(` ${c.warn("\u26A0")} ${m2}`)) {
|
|
124823
|
+
const inject = await loadInjector();
|
|
124824
|
+
if (!inject) return html;
|
|
124825
|
+
try {
|
|
124826
|
+
return await inject(html);
|
|
124827
|
+
} catch (err) {
|
|
124828
|
+
const message = `Font localization failed; capturing with remote/fallback fonts instead: ${normalizeErrorMessage(err)}`;
|
|
124829
|
+
if (!warnedFontLocalizationFailures.has(message)) {
|
|
124830
|
+
warnedFontLocalizationFailures.add(message);
|
|
124831
|
+
warn(message);
|
|
124832
|
+
}
|
|
124833
|
+
return html;
|
|
124834
|
+
}
|
|
124835
|
+
}
|
|
124836
|
+
var warnedFontLocalizationFailures;
|
|
124837
|
+
var init_bundleWithLocalizedFonts = __esm({
|
|
124838
|
+
"src/utils/bundleWithLocalizedFonts.ts"() {
|
|
124839
|
+
"use strict";
|
|
124840
|
+
init_errorMessage();
|
|
124841
|
+
init_colors();
|
|
124842
|
+
warnedFontLocalizationFailures = /* @__PURE__ */ new Set();
|
|
124843
|
+
}
|
|
124844
|
+
});
|
|
124845
|
+
|
|
124515
124846
|
// src/utils/checkBrowser.ts
|
|
124516
124847
|
var checkBrowser_exports = {};
|
|
124517
124848
|
__export(checkBrowser_exports, {
|
|
@@ -124522,8 +124853,8 @@ __export(checkBrowser_exports, {
|
|
|
124522
124853
|
import { mkdirSync as mkdirSync36, writeFileSync as writeFileSync26 } from "fs";
|
|
124523
124854
|
import { join as join76 } from "path";
|
|
124524
124855
|
async function runBrowserCheck(project, options, motion, runGrid) {
|
|
124525
|
-
const {
|
|
124526
|
-
const html = await
|
|
124856
|
+
const { bundleWithLocalizedFonts: bundleWithLocalizedFonts2 } = await Promise.resolve().then(() => (init_bundleWithLocalizedFonts(), bundleWithLocalizedFonts_exports));
|
|
124857
|
+
const html = await bundleWithLocalizedFonts2(project.dir);
|
|
124527
124858
|
const server = await serveStaticProjectHtml(project.dir, html, "Failed to bind check server");
|
|
124528
124859
|
const drafts = [];
|
|
124529
124860
|
let currentTime = 0;
|
|
@@ -124561,8 +124892,8 @@ async function runBrowserCheck(project, options, motion, runGrid) {
|
|
|
124561
124892
|
}
|
|
124562
124893
|
async function captureFindingCrops(project, options, requests) {
|
|
124563
124894
|
if (requests.length === 0) return [];
|
|
124564
|
-
const {
|
|
124565
|
-
const html = await
|
|
124895
|
+
const { bundleWithLocalizedFonts: bundleWithLocalizedFonts2 } = await Promise.resolve().then(() => (init_bundleWithLocalizedFonts(), bundleWithLocalizedFonts_exports));
|
|
124896
|
+
const html = await bundleWithLocalizedFonts2(project.dir);
|
|
124566
124897
|
const server = await serveStaticProjectHtml(project.dir, html, "Failed to bind check server");
|
|
124567
124898
|
let chromeBrowser;
|
|
124568
124899
|
const written = [];
|
|
@@ -125245,6 +125576,7 @@ var init_checkBrowser = __esm({
|
|
|
125245
125576
|
"container_overflow",
|
|
125246
125577
|
"content_overlap",
|
|
125247
125578
|
"text_occluded",
|
|
125579
|
+
"text_not_painted",
|
|
125248
125580
|
"caption_zone_collision",
|
|
125249
125581
|
"frame_out_of_frame",
|
|
125250
125582
|
"motion_appears_late",
|
|
@@ -140193,7 +140525,7 @@ var require_gaxios = __commonJS({
|
|
|
140193
140525
|
var retry_js_1 = require_retry3();
|
|
140194
140526
|
var stream_1 = __require("stream");
|
|
140195
140527
|
var interceptor_js_1 = require_interceptor();
|
|
140196
|
-
var
|
|
140528
|
+
var randomUUID6 = async () => globalThis.crypto?.randomUUID() || (await import("crypto")).randomUUID();
|
|
140197
140529
|
var HTTP_STATUS_NO_CONTENT = 204;
|
|
140198
140530
|
var Gaxios = class {
|
|
140199
140531
|
agentCache = /* @__PURE__ */ new Map();
|
|
@@ -140466,7 +140798,7 @@ var require_gaxios = __commonJS({
|
|
|
140466
140798
|
*/
|
|
140467
140799
|
["Blob", "File", "FormData"].includes(opts.data?.constructor?.name || "");
|
|
140468
140800
|
if (opts.multipart?.length) {
|
|
140469
|
-
const boundary = await
|
|
140801
|
+
const boundary = await randomUUID6();
|
|
140470
140802
|
preparedHeaders.set("content-type", `multipart/related; boundary=${boundary}`);
|
|
140471
140803
|
opts.body = stream_1.Readable.from(this.getMultipartRequest(opts.multipart, boundary));
|
|
140472
140804
|
} else if (shouldDirectlyPassData) {
|
|
@@ -172136,9 +172468,9 @@ function computeSnapshotTimes(duration, opts) {
|
|
|
172136
172468
|
return { times: times.map(round5), appendedTail: false };
|
|
172137
172469
|
}
|
|
172138
172470
|
async function captureSnapshots(projectDir, opts) {
|
|
172139
|
-
const {
|
|
172471
|
+
const { bundleWithLocalizedFonts: bundleWithLocalizedFonts2 } = await Promise.resolve().then(() => (init_bundleWithLocalizedFonts(), bundleWithLocalizedFonts_exports));
|
|
172140
172472
|
const numFrames = opts.frames ?? 5;
|
|
172141
|
-
const html = await
|
|
172473
|
+
const html = await bundleWithLocalizedFonts2(projectDir);
|
|
172142
172474
|
const server = await serveStaticProjectHtml(projectDir, html);
|
|
172143
172475
|
const savedPaths = [];
|
|
172144
172476
|
try {
|
|
@@ -172213,6 +172545,9 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
172213
172545
|
syncVideoFrameVisibility2 = engine.syncVideoFrameVisibility;
|
|
172214
172546
|
extractMediaMetadata2 = engine.extractMediaMetadata;
|
|
172215
172547
|
} catch {
|
|
172548
|
+
console.warn(
|
|
172549
|
+
` ${c.warn("\u26A0")} @hyperframes/engine unavailable \u2014 <video> elements will appear black in snapshots. Verify media via a draft render's extracted frames instead.`
|
|
172550
|
+
);
|
|
172216
172551
|
}
|
|
172217
172552
|
const alphaDecoderCache = /* @__PURE__ */ new Map();
|
|
172218
172553
|
const shouldUseVp9AlphaDecoder = (filePath) => {
|
|
@@ -172285,6 +172620,12 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
172285
172620
|
dataUri: `data:image/png;base64,${png.toString("base64")}`
|
|
172286
172621
|
});
|
|
172287
172622
|
}
|
|
172623
|
+
if (active.length > 0 && updates.length < active.length) {
|
|
172624
|
+
const missed = active.length - updates.length;
|
|
172625
|
+
console.warn(
|
|
172626
|
+
` ${c.warn("\u26A0")} ${missed}/${active.length} active <video> frame(s) could not be extracted at ${time.toFixed(1)}s \u2014 those videos will appear black/stale in this snapshot`
|
|
172627
|
+
);
|
|
172628
|
+
}
|
|
172288
172629
|
try {
|
|
172289
172630
|
if (updates.length > 0) {
|
|
172290
172631
|
await injectVideoFramesBatch2(page, updates);
|
|
@@ -172294,6 +172635,9 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
172294
172635
|
active.map((a) => a.id)
|
|
172295
172636
|
);
|
|
172296
172637
|
} catch {
|
|
172638
|
+
console.warn(
|
|
172639
|
+
` ${c.warn("\u26A0")} video frame injection failed at ${time.toFixed(1)}s \u2014 <video> elements will appear black/stale in this snapshot`
|
|
172640
|
+
);
|
|
172297
172641
|
}
|
|
172298
172642
|
}
|
|
172299
172643
|
const timeLabel = `${time.toFixed(1)}s`;
|
|
@@ -177771,7 +178115,13 @@ function samDeploy(opts) {
|
|
|
177771
178115
|
const samDir = join105(opts.repoRoot, "examples", "aws-lambda");
|
|
177772
178116
|
const result = spawnSync5("sam", args, { cwd: samDir, stdio: opts.stdio ?? "inherit" });
|
|
177773
178117
|
if (result.status !== 0) {
|
|
177774
|
-
throw new Error(
|
|
178118
|
+
throw new Error(
|
|
178119
|
+
`[lambda] sam deploy exited with code ${result.status ?? "unknown"}
|
|
178120
|
+
If a prior attempt left a stack in ROLLBACK_COMPLETE, CloudFormation can't reuse it. Delete it before retrying:
|
|
178121
|
+
aws cloudformation delete-stack --stack-name aws-sam-cli-managed-default --region ${opts.region}
|
|
178122
|
+
aws cloudformation delete-stack --stack-name ${opts.stackName} --region ${opts.region}
|
|
178123
|
+
(the first is SAM's managed artifacts stack from --resolve-s3; the second is the render stack).`
|
|
178124
|
+
);
|
|
177775
178125
|
}
|
|
177776
178126
|
}
|
|
177777
178127
|
function samDelete(opts) {
|
|
@@ -178758,12 +179108,18 @@ var init_policies = __esm({
|
|
|
178758
179108
|
"s3:GetBucketPolicy",
|
|
178759
179109
|
"s3:GetBucketTagging",
|
|
178760
179110
|
"s3:GetBucketVersioning",
|
|
179111
|
+
// SAM's `--resolve-s3` managed bucket (aws-sam-cli-managed-default) sets
|
|
179112
|
+
// default SSE encryption; CloudFormation reads it on update/drift. Without
|
|
179113
|
+
// Get/PutEncryptionConfiguration the first `lambda deploy` 403s creating
|
|
179114
|
+
// that bucket and the managed stack rolls back.
|
|
179115
|
+
"s3:GetEncryptionConfiguration",
|
|
178761
179116
|
"s3:GetLifecycleConfiguration",
|
|
178762
179117
|
"s3:ListAllMyBuckets",
|
|
178763
179118
|
"s3:ListBucket",
|
|
178764
179119
|
"s3:PutBucketPolicy",
|
|
178765
179120
|
"s3:PutBucketTagging",
|
|
178766
179121
|
"s3:PutBucketVersioning",
|
|
179122
|
+
"s3:PutEncryptionConfiguration",
|
|
178767
179123
|
"s3:PutLifecycleConfiguration",
|
|
178768
179124
|
"s3:PutPublicAccessBlock"
|
|
178769
179125
|
],
|
|
@@ -184860,7 +185216,7 @@ __export(autoUpdate_exports, {
|
|
|
184860
185216
|
reportCompletedUpdate: () => reportCompletedUpdate,
|
|
184861
185217
|
scheduleBackgroundInstall: () => scheduleBackgroundInstall
|
|
184862
185218
|
});
|
|
184863
|
-
import { spawn as
|
|
185219
|
+
import { spawn as spawn18 } from "child_process";
|
|
184864
185220
|
import { appendFileSync as appendFileSync4, mkdirSync as mkdirSync59, openSync as openSync4 } from "fs";
|
|
184865
185221
|
import { homedir as homedir18 } from "os";
|
|
184866
185222
|
import { join as join119 } from "path";
|
|
@@ -184912,7 +185268,7 @@ function launchDetachedInstall(invocation, displayCommand, version2) {
|
|
|
184912
185268
|
});
|
|
184913
185269
|
`;
|
|
184914
185270
|
const out = openSync4(LOG_FILE, "a", 384);
|
|
184915
|
-
const child =
|
|
185271
|
+
const child = spawn18(process.execPath, ["-e", nodeScript], {
|
|
184916
185272
|
detached: true,
|
|
184917
185273
|
stdio: ["ignore", out, out],
|
|
184918
185274
|
windowsHide: true,
|