hyperframes 0.7.52 → 0.7.54
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 +612 -219
- package/dist/commands/layout-audit.browser.js +82 -7
- package/dist/hyperframe-runtime.js +22 -22
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +22 -22
- package/dist/studio/assets/{index-DKcziwpY.js → index-CMHYjEZ5.js} +1 -1
- package/dist/studio/assets/index-pRhCpGPz.js +423 -0
- package/dist/studio/assets/{index-B27HFK8R.js → index-uBY329wb.js} +1 -1
- package/dist/studio/{chunk-BA66NM4L.js → chunk-SOTCF4DF.js} +4 -2
- package/dist/studio/chunk-SOTCF4DF.js.map +1 -0
- package/dist/studio/{domEditingLayers-H7LDFIJ7.js → domEditingLayers-2ECJK24D.js} +2 -2
- package/dist/studio/index.html +1 -1
- package/dist/studio/index.js +669 -338
- package/dist/studio/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/studio/assets/index-v3DXednk.js +0 -423
- package/dist/studio/chunk-BA66NM4L.js.map +0 -1
- /package/dist/studio/{domEditingLayers-H7LDFIJ7.js.map → domEditingLayers-2ECJK24D.js.map} +0 -0
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.54" : "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 Ll=Object.create;var oi=Object.defineProperty;var Rl=Object.getOwnPropertyDescriptor;var kl=Object.getOwnPropertyNames;var Dl=Object.getPrototypeOf,Il=Object.prototype.hasOwnProperty;var Pl=(e,t,n)=>t in e?oi(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 Ol=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of kl(t))!Il.call(e,r)&&r!==n&&oi(e,r,{get:()=>t[r],enumerable:!(i=Rl(t,r))||i.enumerable});return e};var Bl=(e,t,n)=>(n=e!=null?Ll(Dl(e)):{},Ol(t||!e||!e.__esModule?oi(n,"default",{value:e,enumerable:!0}):n,e));var be=(e,t,n)=>Pl(e,typeof t!="symbol"?t+"":t,n);var Ao=te((Xp,Ai)=>{var Y=String,Eo=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}};Ai.exports=Eo();Ai.exports.createColors=Eo});var wi=te(()=>{});var gn=te((Zp,Fo)=>{"use strict";var wo=Ao(),Co=wi(),Ot=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=wo.isColorSupported);let i=c=>c,r=c=>c,o=c=>c;if(t){let{bold:c,gray:m,red:f}=wo.createColors(!0);r=x=>c(f(x)),i=x=>m(x),Co&&(o=x=>Co(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}};Fo.exports=Ot;Ot.default=Ot});var Ci=te((eh,vo)=>{"use strict";var yu=/(<)(\\/?style\\b)/gi,Su=/(<)(!--)/g;function Je(e){return typeof e!="string"||!e.includes("<")?e:e.replace(yu,"\\\\3c $2").replace(Su,"\\\\3c $2")}var _o={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Eu(e){return e[0].toUpperCase()+e.slice(1)}var Bt=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(Je(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(Je(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(Je(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:Je(a)),this.stringify(l,i!==s||r)}}comment(t){let n=this.raw(t,"left","commentLeft"),i=this.raw(t,"right","commentRight");this.builder(Je("/*"+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(Je(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 _o[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"+Eu(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=_o[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:Je(n))}}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(Je(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)}};vo.exports=Bt;Bt.default=Bt});var Ht=te((th,Mo)=>{"use strict";var Au=Ci();function Fi(e,t){new Au(t).stringify(e)}Mo.exports=Fi;Fi.default=Fi});var xn=te((nh,_i)=>{"use strict";_i.exports.isClean=Symbol("isClean");_i.exports.my=Symbol("my")});var Ut=te((ih,To)=>{"use strict";var wu=gn(),Cu=Ci(),Fu=Ht(),{isClean:Gt,my:_u}=xn();function vi(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=>vi(s,n)):(o==="object"&&r!==null&&(r=vi(r)),n[i]=r)}return n}function ze(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 Wt=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[Gt]=!1,this[_u]=!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=vi(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 wu(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[Gt]=!0}markDirty(){if(this[Gt]){this[Gt]=!1;let t=this;for(;t=t.parent;)t[Gt]=!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(ze(i,this.source.start),ze(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=ze(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:ze(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:ze(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(t.word){let s=n.slice(ze(n,this.source.start),ze(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:ze(n,t.start)}:t.index&&(i=this.positionInside(t.index)),t.end?r={column:t.end.column,line:t.end.line,offset:ze(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 Cu().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=Fu){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)}};To.exports=Wt;Wt.default=Wt});var zt=te((rh,No)=>{"use strict";var vu=Ut(),Vt=class extends vu{constructor(t){super(t),this.type="comment"}};No.exports=Vt;Vt.default=Vt});var qt=te((oh,Lo)=>{"use strict";var Mu=Ut(),jt=class extends Mu{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"}};Lo.exports=jt;jt.default=jt});var Xe=te((sh,Go)=>{"use strict";var Ro=zt(),ko=qt(),Tu=Ut(),{isClean:Do,my:Io}=xn(),Mi,Po,Oo,Ti;function Bo(e){return e.map(t=>(t.nodes&&(t.nodes=Bo(t.nodes)),delete t.source,t))}function Ho(e){if(e[Do]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)Ho(t)}var De=class e extends Tu{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=Bo(Po(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 ko(t)]}else if(t.selector||t.selectors)t=[new Ti(t)];else if(t.name)t=[new Mi(t)];else if(t.text)t=[new Ro(t)];else throw new Error("Unknown node type in node creation");return t.map(r=>(r[Io]||e.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[Do]&&Ho(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=>{Po=e};De.registerRule=e=>{Ti=e};De.registerAtRule=e=>{Mi=e};De.registerRoot=e=>{Oo=e};Go.exports=De;De.default=De;De.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,Mi.prototype):e.type==="rule"?Object.setPrototypeOf(e,Ti.prototype):e.type==="decl"?Object.setPrototypeOf(e,ko.prototype):e.type==="comment"?Object.setPrototypeOf(e,Ro.prototype):e.type==="root"&&Object.setPrototypeOf(e,Oo.prototype),e[Io]=!0,e.nodes&&e.nodes.forEach(t=>{De.rebuild(t)})}});var bn=te((ah,Uo)=>{"use strict";var Wo=Xe(),pt=class extends Wo{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)}};Uo.exports=pt;pt.default=pt;Wo.registerAtRule(pt)});var yn=te((lh,jo)=>{"use strict";var Nu=Xe(),Vo,zo,lt=class extends Nu{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new Vo(new zo,this,t).stringify()}};lt.registerLazyResult=e=>{Vo=e};lt.registerProcessor=e=>{zo=e};jo.exports=lt;lt.default=lt});var $o=te((uh,qo)=>{var Lu="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Ru=(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+=Lu[Math.random()*64|0];return t};qo.exports={nanoid:ku,customAlphabet:Ru}});var Sn=te(()=>{});var En=te(()=>{});var Ni=te(()=>{});var Ko=te(()=>{});var Ri=te((bh,Yo)=>{"use strict";var{existsSync:Du,readFileSync:Iu}=Ko(),{dirname:Li,join:Pu}=Sn(),{SourceMapConsumer:Jo,SourceMapGenerator:Xo}=En();function Ou(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var $t=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=Li(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new Jo(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 Ou(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=Li(t),Du(t)))return this.mapFile=t,Iu(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 Jo)return Xo.fromSourceMap(n).toString();if(n instanceof Xo)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=Pu(Li(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)}};Yo.exports=$t;$t.default=$t});var Kt=te((yh,ns)=>{"use strict";var{nanoid:Bu}=$o(),{isAbsolute:Ii,resolve:Pi}=Sn(),{SourceMapConsumer:Hu,SourceMapGenerator:Gu}=En(),{fileURLToPath:Qo,pathToFileURL:An}=Ni(),Zo=gn(),Wu=Ri(),ki=wi(),Di=Symbol("lineToIndexCache"),Uu=!!(Hu&&Gu),es=!!(Pi&&Ii);function ts(e){if(e[Di])return e[Di];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[Di]=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&&(!es||/^\\w+:\\/\\//.test(n.from)||Ii(n.from)?this.file=n.from:this.file=Pi(n.from)),es&&Uu){let i=new Wu(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 "+Bu(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 Zo(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 Zo(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&&(An&&(u.input.url=An(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(t,n){return ts(this)[t-1]+n-1}fromOffset(t){let n=ts(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:Pi(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;Ii(s.source)?a=An(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||An(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(Qo)u.file=Qo(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}};ns.exports=ht;ht.default=ht;ki&&ki.registerInput&&ki.registerInput(ht)});var gt=te((Sh,ss)=>{"use strict";var is=Xe(),rs,os,Ye=class extends is{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 rs(new os,this,t).stringify()}};Ye.registerLazyResult=e=>{rs=e};Ye.registerProcessor=e=>{os=e};ss.exports=Ye;Ye.default=Ye;is.registerRoot(Ye)});var Oi=te((Eh,as)=>{"use strict";var Jt={comma(e){return Jt.split(e,[","],!0)},space(e){let t=[" ",`\n`," "];return Jt.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}};as.exports=Jt;Jt.default=Jt});var wn=te((Ah,us)=>{"use strict";var ls=Xe(),Vu=Oi(),xt=class extends ls{get selectors(){return Vu.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=[])}};us.exports=xt;xt.default=xt;ls.registerRule(xt)});var ds=te((wh,cs)=>{"use strict";var zu=bn(),ju=zt(),qu=qt(),$u=Kt(),Ku=Ri(),Ju=gt(),Xu=wn();function Xt(e,t){if(Array.isArray(e))return e.map(r=>Xt(r));let{inputs:n,...i}=e;if(n){t=[];for(let r of n){let o={...r,__proto__:$u.prototype};o.map&&(o.map={...o.map,__proto__:Ku.prototype}),t.push(o)}}if(i.nodes&&(i.nodes=e.nodes.map(r=>Xt(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 Ju(i);if(i.type==="decl")return new qu(i);if(i.type==="rule")return new Xu(i);if(i.type==="comment")return new ju(i);if(i.type==="atrule")return new zu(i);throw new Error("Unknown node type: "+e.type)}cs.exports=Xt;Xt.default=Xt});var Hi=te((Ch,xs)=>{"use strict";var{dirname:Cn,relative:ms,resolve:ps,sep:hs}=Sn(),{SourceMapConsumer:gs,SourceMapGenerator:Fn}=En(),{pathToFileURL:fs}=Ni(),Yu=Kt(),Qu=!!(gs&&Fn),Zu=!!(Cn&&ps&&ms&&hs),Bi=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||Cn(t.file),r;this.mapOpts.sourcesContent===!1?(r=new gs(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(),Zu&&Qu&&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=Fn.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new Fn({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 Fn({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?Cn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=Cn(ps(i,this.mapOpts.annotation)));let r=ms(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 Yu(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(fs){let i=fs(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;hs==="\\\\"&&(t=t.replace(/\\\\/g,"/"));let i=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,i),i}};xs.exports=Bi});var Ss=te((Fh,ys)=>{"use strict";var _n=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,vn=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ec=/.[\\r\\n"\'(/\\\\]/,bs=/[\\da-f]/i;ys.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||ec.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:{_n.lastIndex=g+1,_n.test(i),_n.lastIndex===0?a=i.length-1:a=_n.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,bs.test(i.charAt(a)))){for(;bs.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):(vn.lastIndex=g+1,vn.test(i),vn.lastIndex===0?a=i.length-1:a=vn.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 Cs=te((_h,ws)=>{"use strict";var tc=bn(),nc=zt(),ic=qt(),rc=gt(),Es=wn(),oc=Ss(),As={empty:!0,space:!0};function sc(e){for(let t=e.length-1;t>=0;t--){let n=e[t],i=n[3]||n[2];if(i)return i}}var Gi=class{constructor(t){this.input=t,this.root=new rc,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 tc;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 nc;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=oc(this.input)}decl(t,n){let i=new ic;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]||sc(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 Es;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",!As[m]&&!As[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 Es;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})}};ws.exports=Gi});var Tn=te((vh,Fs)=>{"use strict";var ac=Xe(),lc=Kt(),uc=Cs();function Mn(e,t){let n=new lc(e,t),i=new uc(n);try{i.parse()}catch(r){throw r}return i.root}Fs.exports=Mn;Mn.default=Mn;ac.registerParse(Mn)});var Wi=te((Mh,_s)=>{"use strict";var Yt=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}};_s.exports=Yt;Yt.default=Yt});var Nn=te((Th,vs)=>{"use strict";var cc=Wi(),Qt=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 cc(t,n);return this.messages.push(i),i}warnings(){return this.messages.filter(t=>t.type==="warning")}};vs.exports=Qt;Qt.default=Qt});var Ui=te((Nh,Ts)=>{"use strict";var Ms={};Ts.exports=function(t){Ms[t]||(Ms[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var ji=te((Rh,ks)=>{"use strict";var dc=Xe(),fc=yn(),mc=Hi(),pc=Tn(),Ns=Nn(),hc=gt(),gc=Ht(),{isClean:He,my:xc}=xn(),Lh=Ui(),bc={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},yc={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},Sc={Once:!0,postcssPlugin:!0,prepare:!0},bt=0;function Zt(e){return typeof e=="object"&&typeof e.then=="function"}function Rs(e){let t=!1,n=bc[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 Ls(e){let t;return e.type==="document"?t=["Document",bt,"DocumentExit"]:e.type==="root"?t=["Root",bt,"RootExit"]:t=Rs(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function Vi(e){return e[He]=!1,e.nodes&&e.nodes.forEach(t=>Vi(t)),e}var zi={},Qe=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=Vi(n);else if(n instanceof e||n instanceof Ns)r=Vi(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=pc;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[xc]&&dc.rebuild(r)}this.result=new Ns(t,r,i),this.helpers={...zi,postcss:zi,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(!yc[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Sc[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(Zt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[He];){t[He]=!0;let n=[Ls(t)];for(;n.length>0;){let i=this.visitTick(n);if(Zt(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 Zt(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=gc;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(Zt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[He];)t[He]=!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(Zt(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[He]){l[He]=!0,t.push(Ls(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[He]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}t.pop()}walkSync(t){t[He]=!0;let n=Rs(t);for(let i of n)if(i===bt)t.nodes&&t.each(r=>{r[He]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,t.toProxy()))return}}warnings(){return this.sync().warnings()}};Qe.registerPostcss=e=>{zi=e};ks.exports=Qe;Qe.default=Qe;hc.registerLazyResult(Qe);fc.registerLazyResult(Qe)});var Is=te((Dh,Ds)=>{"use strict";var Ec=Hi(),Ac=Tn(),wc=Nn(),Cc=Ht(),kh=Ui(),en=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=Ac;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=Cc;this.result=new wc(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 Ec(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[]}};Ds.exports=en;en.default=en});var Os=te((Ih,Ps)=>{"use strict";var Fc=yn(),_c=ji(),vc=Is(),Mc=gt(),ut=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 vc(this,t,n):new _c(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};Ps.exports=ut;ut.default=ut;Mc.registerProcessor(ut);Fc.registerProcessor(ut)});var js=te((Ph,zs)=>{"use strict";var Bs=bn(),Hs=zt(),Tc=Xe(),Nc=gn(),Gs=qt(),Ws=yn(),Lc=ds(),Rc=Kt(),kc=ji(),Dc=Oi(),Ic=Ut(),Pc=Tn(),qi=Os(),Oc=Nn(),Us=gt(),Vs=wn(),Bc=Ht(),Hc=Wi();function le(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new qi(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 qi().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=Bc;le.parse=Pc;le.fromJSON=Lc;le.list=Dc;le.comment=e=>new Hs(e);le.atRule=e=>new Bs(e);le.decl=e=>new Gs(e);le.rule=e=>new Vs(e);le.root=e=>new Us(e);le.document=e=>new Ws(e);le.CssSyntaxError=Nc;le.Declaration=Gs;le.Container=Tc;le.Processor=qi;le.Document=Ws;le.Comment=Hs;le.Warning=Hc;le.AtRule=Bs;le.Result=Oc;le.Input=Rc;le.Rule=Vs;le.Root=Us;le.Node=Ic;kc.registerPostcss(le);zs.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 Hl={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=>Gl(e)};function Gl(e){let t=e.selectors,n=e.duration||800;t&&Wl(t,n)}function Ir(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=Hl[r];o&&o(i,e)};return window.addEventListener("message",t),Ce({source:"hf-preview",type:"ready"}),t}function Wl(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 si=null;function Pr(e){si=e}function at(e,t){if(si)try{si({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){L("runtime.analytics.site1",n)}}function Ul(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`--${Ul(e)}`}function Or(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 Br(){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 ai="data-hf-css-vars";function li(e){return"style"in e&&typeof e.style?.setProperty=="function"}function ui(e,t){if(!li(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(ai,n.join(" "))}function Hr(e){if(!li(e))return;let t=e.getAttribute(ai);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(ai)}}function Gr(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(...Vl(r,n,e.defaultView));for(let r of Or(i))console.warn(`composition variables ${r.join(", ")} collapse to the same CSS property ${Mt(r[0]??"")} \\u2014 rename one to avoid cross-talk`)}function Vl(e,t,n){if(!li(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 ui(e,r),Object.keys(i)}function Wr(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 Ur(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 Vr(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 zr(){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 qr(){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(ci(i))i.goToAndStop(t*1e3,!1);else if(di(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{(ci(t)||di(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=zl(i)}catch(o){L("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,t=Math.max(t,r))}return n?t:null}}}function jr(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function zl(e){return ci(e)?jr(e.totalFrames,e.frameRate):di(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:jr(e.totalFrames,e.frameRate):null}function ci(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function di(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var fi=-1;function hn(e){if(e!==fi){fi=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.site1",t)}}}function $r(e){fi=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.force",t)}}function Kr(){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 Be(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 Jr(){return Be({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 Be({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 Yr(){return Be({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 Qr(){return Be({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 Zr(){return Be({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}function eo(){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 to(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 no(){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=to(n.source);if(o)return t.call(this,{...n,source:o},i,r)}return t.call(this,n,i,r)}}function io(){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=to(u);c&&(l[a]=c)}return o.apply(this,l)};s.__hfVideoPatched=!0,i[r]=s}}}function ro(){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 oo(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 jl(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 so(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=jl(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 ao(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 mi=new WeakMap,Nt=new WeakMap,pi=new WeakSet,ft=new WeakSet;function ql(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 $l=3;function Kl(e){return e.error!=null||e.networkState===$l}var hi=new WeakMap;function Lt(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function lo(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=hi.get(i),u=Lt(i.volume),c;n.volumeKeyframes&&n.volumeKeyframes.length>0?c=Lt(oo(n.volumeKeyframes,r)):a===void 0||Math.abs(u-a)>1e-4?c=u:c=l;let m=Lt(c*s);i.volume=m,hi.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=mi.get(i);mi.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=(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(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&&!pi.has(i)){pi.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)&&!Kl(i)?(ql(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}mi.delete(i),Nt.delete(i),pi.delete(i),hi.delete(i),i.paused||i.pause()}}var Jl=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Xl=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),Yl="data-hf-color-grading-source-hidden";function uo(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(Yl))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(Jl)||u(E))}function m(E){return!!E?.closest(Xl)}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 Ql=["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 co(e,t,n=Ql){for(let i of n){let r=t.getPropertyValue(i);r&&e.setProperty(i,r)}}function kt(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 Dt(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 fo(e,t,n,i){let r=mt(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 Zl(e,t,n,i,r){let o=[];Dt(e,t,s=>{ke(s,"play"),o.push(s)});try{return fo(t,n,i,r)}finally{for(let s of o)try{ke(s,"pause")}catch(l){L("runtime.player.site2",l)}}}function eu(e,t){Dt(e,t,n=>{ke(n,"play")})}function mo(e){return{_timeline:null,play:()=>{let t=e.getTimeline();if(!t||e.getIsPlaying())return;let n=Math.max(0,Number(e.getSafeDuration?.()??kt(t,"duration",0))||0);n>0&&Math.max(0,kt(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"),Dt(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"),Dt(e.getTimelineRegistry?.(),t,i=>{ke(i,"pause")});let n=Math.max(0,kt(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=Zl(e.getTimelineRegistry?.(),i,r,e.getCanonicalFps());e.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),ke(i,"play"),Dt(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?(eu(e.getTimelineRegistry?.(),i),fo(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:()=>kt(e.getTimeline(),"time",0),getDuration:()=>kt(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:t=>e.setPlaybackRate(t),getPlaybackRate:()=>e.getPlaybackRate()}}function po(){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 tu=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function xi(e){return e.id||e.getAttribute("data-hf-id")||null}function gi(e){if(e==null)return null;let t=Number(e);return Number.isFinite(t)?t:null}function nu(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 iu(e){if(!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration))return null;let t=gi(e.getAttribute("data-playback-start"))??gi(e.getAttribute("data-media-start"))??0;return e.duration>t?e.duration-t:null}function ru(e,t,n,i){let r=gi(e.getAttribute("data-duration"));return r!=null&&r>0?r:nu(e,t)??iu(e)??Math.max(0,n-i)}function ou(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 ho(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||tu.has(l.tagName))continue;let a=t.resolveStartForElement(l,0);if(ru(l,n,i,a)<=0)continue;let u={id:xi(l)??`__clip-${s++}`,element:l,parentId:null,children:[]};r.set(l,u)}return ou(r),{roots:Array.from(r.values()).filter(l=>l.parentId===null)}}function $e(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function go(e){let t=(e??"").trim();if(!t)return null;let n=$e(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 su="data-hf-authored-duration",au="data-hf-authored-end";function lu(e){return $e(e.getAttribute("data-duration"))}function uu(e){return $e(e.getAttribute("data-end"))}function cu(e){return $e(e.getAttribute(su))}function du(e){return $e(e.getAttribute(au))}function Ke(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=lu(c)??(n?cu(c):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let S=uu(c)??(n?du(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=$e(c.getAttribute("data-playback-start"))??$e(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=go(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 bi(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}var fu="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 yi(e){return Fe(e.getAttribute("data-duration"))??Fe(e.getAttribute(fu))}function xo(e){return Fe(e.getAttribute("data-end"))??Fe(e.getAttribute(mu))}function Si(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 Ei(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}var bo={composition:0,video:1,image:2,element:3,audio:4};function pu(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)=>(bo[u]??99)-(bo[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 Pt(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 yo(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return Pt(t);let n=e.getAttribute("data-composition-src");if(n)return Pt(n);let i=e.querySelector("img[src], video[src], audio[src], source[src]");return i?Pt(i.getAttribute("src")):null}function hu(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 gu(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 xu(e){let t=e.textContent?.replace(/\\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function It(e){let t=e.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return t?t.replace(/\\b\\w/g,n=>n.toUpperCase()):e}function bu(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 It(r);let o=e.id;if(o)return It(o);let s=hu(e);if(s)return It(s);let l=gu(yo(e));if(l)return It(l);let a=xu(e);return a||`${It(t)} ${n+1}`}function So(e){let n=window.__timelines??{},i=Ke({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)/Rt(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 X=z.getAttribute("data-composition-id");X&&(G.push(X),!$&&z!==D&&($=X),Q==null&&(Q=i.resolveStartForElement(z,0)),ae==null&&(ae=Fe(z.getAttribute("data-duration"))??r(X)??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=yi(a??document.body),g=Ei(...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=Ei(J,B),E=_!=null&&M!=null&&_>M+1,v=N??(E?M:Ei(_,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"),$=yi(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 X=D.tagName.toLowerCase(),Pe=ae&&ae!==c?"composition":X==="video"?"video":X==="audio"?"audio":X==="img"?"image":"element";j.push({id:xi(D)??ae??null,label:bu(D,Pe,j.length),start:Q,duration:$,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,zIndex:Si(D),stackingContextId:G.parentCompositionId??c,kind:Pe,tagName:X,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:G.compositionAncestors,parentCompositionId:G.parentCompositionId,nodePath:null,compositionSrc:Pt(D.getAttribute("data-composition-src")),assetUrl:yo(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 X=z.tagName.toLowerCase();X==="script"||X==="style"||X==="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(),X=$.parent;for(;X&&X!==U&&typeof X.startTime=="function";)z+=X.startTime(),X=X.parent;let Pe=z+$.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Pe)))for(let ve of $.targets()){if(!(ve instanceof Element))continue;let At=Q(ve);if(!At)continue;let Ue=G.get(At);Ue&&(Ue.start=Math.min(Ue.start,z),Ue.end=Math.max(Ue.end,Pe))}}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 X=$;if(Ee.has(X.id))continue;let Pe=Math.max(0,z.end-z.start);if(Pe<=0)continue;let ve=W(z.start,Pe);ve<=0||(se=Math.max(se,z.start+ve),j.push({id:X.id,label:X.getAttribute("data-timeline-label")??X.getAttribute("data-label")??X.getAttribute("aria-label")??X.id,start:z.start,duration:ve,track:Number.parseInt(X.getAttribute("data-track-index")??X.getAttribute("data-track")??"",10)||ae,zIndex:Si(X),stackingContextId:H,kind:"element",tagName:X.tagName.toLowerCase(),compositionId:X.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:X.getAttribute("data-timeline-role"),timelineLabel:X.getAttribute("data-timeline-label"),timelineGroup:X.getAttribute("data-timeline-group"),timelinePriority:Fe(X.getAttribute("data-timeline-priority"))}),Ee.add(X.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:Si(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))}}pu(j);for(let O of u){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!bi(D))continue;let G=i.resolveStartForElement(O,0),Q=yi(O);if((Q==null||Q<=0)&&xo(O)!=null){let X=xo(O);Q=Math.max(0,X-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:Pt(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=Bl(js(),1),qs=ce.default,Oh=ce.default.stringify,Bh=ce.default.fromJSON,Hh=ce.default.plugin,Gh=ce.default.parse,Wh=ce.default.list,Uh=ce.default.document,Vh=ce.default.comment,zh=ce.default.atRule,jh=ce.default.rule,qh=ce.default.decl,$h=ce.default.root,Kh=ce.default.CssSyntaxError,Jh=ce.default.Declaration,Xh=ce.default.Container,Yh=ce.default.Processor,Qh=ce.default.Document,Zh=ce.default.Comment,e0=ce.default.Warning,t0=ce.default.AtRule,n0=ce.default.Result,i0=ce.default.Input,r0=ce.default.Rule,o0=ce.default.Root,s0=ce.default.Node;var $i="data-hf-authored-id",$s="data-hf-inner-root";function Ki(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function Ji(e){return e.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Gc(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function Js(e){let t=e.trim();return t?Array.from(new Set([t,Gc(t)])).filter(Boolean):[]}function Wc(e){return!!e&&/[\\w-]/.test(e)}function Uc(e,t,n){let i=Js(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(!Wc(m)){r+=n,l+=c.length;continue}}}r+=a}return r}function Vc(e,t){let n=t?.trim();return n?Uc(e,n,`[${$i}="${Ji(n)}"]`):e}function Ks(e){return`${e}:not(:has([${$s}])), ${e} > [${$s}]`}function zc(e,t,n,i,r,o){let s=Vc(e,i),l=jc(s,t,n),a=l.trim();if(!a||a==="*")return e;if(/^(html|body|:root)$/i.test(a))return o?Ks(t):e;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Ki(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(a))return a.replace(u,"").trim()===""?Ks(t):l.replace(u,t);let c=l.match(/^\\s*/)?.[0]??"",m=l.match(/\\s*$/)?.[0]??"";if(r){let f=i?`[${$i}="${Ji(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 jc(e,t,n){let i=Ki(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 qc=new Set(["keyframes","-webkit-keyframes","font-face"]);function $c(e){return e?.type==="atrule"}function Kc(e){let t=e.parent;for(;t;){if($c(t)&&qc.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function Xs(e,t,n,i,r){let o=t.trim();if(!e||!o)return e;let s=n||`[data-composition-id="${Ji(o)}"]`,l=qs.parse(e);return l.walkRules(a=>{Kc(a)||(a.selectors=a.selectors.map(u=>zc(u,s,o,i,r?.compoundAuthoredRoot,r?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function Ys(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=Ki(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(Js(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($i)};\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 Jc=["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 Qs(e){let t=e.getAttribute("id")?.trim();for(let n of Jc)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var Xc=8e3,Yc=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,Qc=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,Zc=["src","href"];function ed(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function ea(e,t){if(!t)return e;let n=e.trim();if(ed(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function ta(e,t){return!t||!e?e:e.replace(Qc,(n,i,r)=>{let o=ea(r||"",t);return o===r?n:`url(${i||""}${o}${i||""})`})}function td(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let i of Zc){let r=n.getAttribute(i);if(r==null)continue;let o=ea(r,t);o!==r&&n.setAttribute(i,o)}}function nd(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=ta(i,t);r!==i&&n.setAttribute("style",r)}}function id(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let i=n.textContent||"",r=ta(i,t);r!==i&&(n.textContent=r)}}function na(e,t){if(t){td(e,t),nd(e,t),id(e,t);for(let n of Array.from(e.querySelectorAll("template")))na(n.content,t)}}function rd(e,t){return`${e}__hf${t}`}var od=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"),Xc)});function Xi(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function sd(e){let t=document.importNode(e,!0);Qs(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 Zs(e,t){let n=e.trim();if(!n)return e;try{return Yc.test(n)?new URL(n,document.baseURI).toString():t?new URL(n,t).toString():new URL(n,document.baseURI).toString()}catch{return e}}function Ln(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=Ln(n).authoredCompositionId||"";i&&t.set(i,(t.get(i)||0)+1)}return t}function ia(e){let t=Ln(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function ld(e){return!!e.querySelector(\'[data-hf-inner-root="true"]\')}function ud(e){return e.hasAttribute("data-composition-src")?!0:ia(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:ld(e):!1}function Qi(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:ia(t))}function ra(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(Qi().map(n=>Ln(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function oa(e,t=ad(e)){let n=new Map,i=new Map;for(let r of e){let{authoredCompositionId:o,runtimeCompositionId:s}=Ln(r),l=ud(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?rd(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 Yi(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=Xs(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=Zs(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=Zs(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(sd(t))}else e.hasTemplate?e.host.appendChild(document.importNode(n,!0)):e.host.innerHTML=e.fallbackBodyInnerHtml;r&&cd(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=Ys(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 od(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 sa(e){let t=Qi();if(ra(),t.length===0)return;let n=oa(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`);Xi(r),await Yi({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 aa(e){let t=Qi();if(ra(),t.length===0)return;let n=oa(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}Xi(r);try{let c=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(c){await Yi({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");na(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 Yi({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: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"}}),Xi(r)}}))}function cd(e,t,n){let r={...e.declaredVariableDefaults??(t instanceof Element?Tt(t):{}),...Wr(e.host)};Hr(e.host),Object.keys(r).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=r,ui(e.host,{...r,...pn()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function dd(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function fd(){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 Zi(){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=fd();for(let i of t){let r=null;if(i.wordId&&(r=dd(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 pa="data-hf-edit-base-x",ha="data-hf-edit-base-y",er="data-hf-edit-original-translate",Rn=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},pd=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},la=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,tr=(e,t)=>la.test(e)&&la.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,hd=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[i,r,o]=pd(e);if(i===void 0)return`${t} ${n}`;if(r===void 0)return`${tr(i,t)} ${n}`;let s=o===void 0?"":` ${o}`;return`${tr(i,t)} ${tr(r,n)}${s}`},gd=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},xd=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""}},ua=new WeakMap;function bd(e,t){let n=ua.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=Rn(e.getAttribute("data-x"))-Rn(e.getAttribute(pa)),r=Rn(e.getAttribute("data-y"))-Rn(e.getAttribute(ha));e.hasAttribute(er)||e.setAttribute(er,xd(e)),n===void 0&&gd(e);let o=e.getAttribute(er)??"",s=hd(o,`${i}px`,`${r}px`);e.style.setProperty("translate",s),ua.set(e,e.style.getPropertyValue("translate"))}function kn(e){let t=e.querySelectorAll(`[${pa}], [${ha}]`),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")&&(bd(o),i+=1)}return i}var ca="__hfPositionEditsSeekReapplyWrapped",da=new WeakSet,fa=new WeakMap,ma=new WeakMap;function ga(e){let t=e,n=()=>{try{kn(t.document)}catch{}},i=m=>typeof m=="function"&&(da.has(m)||!!m[ca]),r=m=>{da.add(m);try{Object.defineProperty(m,ca,{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=fa.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),fa.set(m,x),n(),!0},l=(m,f)=>{let x=ma.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),ma.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 Dn(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 In(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var xa=new Set(["img","video","audio","source"]);function yd(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 Sd(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 Ed(e){return e.replace(/[;{}<>\\r\\n]/g,"")}function Ad(e){if(In(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 nr(e,t){let n=e.closest("[data-composition-id]"),i=t.get(n);if(i)return i;let r=Dn(e);return t.set(n,r),r}function wd(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 Cd(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function Fd(e,t){let n=new Set,i=Cd(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=nr(r,t);for(let[s,l]of Object.entries(o)){let a=Ad(l);a!==null&&r instanceof HTMLElement&&r.style.setProperty(`--${s}`,Ed(a))}}}function ir(e){let t=new Map;Fd(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(!xa.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(xa).join("/")}.`);continue}let r=yd(nr(n,t)[i]);if(r!==null){if(!Sd(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=nr(n,t)[i];In(r)&&wd(n,String(r))}}var tn="data-color-grading",ba="__hf_color_grading_",_d="rec709",Pn={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},On={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},Bn={blur:0,pixelate:0},ya=Object.keys(Pn),vd=Object.keys(On),Sa=Object.keys(Bn);function Ae(e,t,n={},i={}){return{id:e,label:t,adjust:{...Pn,...n},details:{...On,...i},effects:{...Bn}}}var Md=[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})],Td=new Map(Md.map(e=>[e.id,e])),Nd=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,Ld={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}},Rd={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}},kd={blur:{min:0,max:1},pixelate:{min:0,max:1}};function ct(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Dd(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function Ea(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function rr(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Dd(n,t.min,t.max):0}function Id(e){if(e==null)return null;let t=String(e).trim();return t||null}function Pd(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!ct(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:Ea(e.intensity,1)}}function Od(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return ct(n)?n:null}catch{return null}return{preset:t,intensity:1}}return ct(e)?e:null}function Bd(e,t){let n=e.trim().match(Nd);if(!n)return e;let i=n[1]??n[2]??"";return i&&Object.hasOwn(t,i)?t[i]:e}function or(e,t){if(typeof e=="string"){let i=Bd(e,t);if(i!==e)return i;let r=e.trim();if(!r.startsWith("{"))return e;try{return or(JSON.parse(r),t)}catch{return e}}if(!ct(e))return e;let n={};for(let[i,r]of Object.entries(e))n[i]=or(r,t);return n}function Hd(e){return e?Td.get(e)??null:null}function sr(e){let t=Od(e);if(!t||t.enabled===!1)return null;let n=Id(t.preset),i=Hd(n),r=i?.adjust??Pn,o=i?.details??On,s=i?.effects??Bn,l=ct(t.adjust)?t.adjust:{},a=ct(t.details)?t.details:{},u=ct(t.effects)?t.effects:{},c=ya.reduce((x,S)=>(x[S]=rr(l[S]??r[S],Ld[S]),x),{...Pn}),m=vd.reduce((x,S)=>(x[S]=rr(a[S]??o[S],Rd[S]),x),{...On}),f=Sa.reduce((x,S)=>(x[S]=rr(u[S]??s[S],kd[S]),x),{...Bn});return{enabled:!0,preset:n,intensity:Ea(t.intensity,1),adjust:c,details:m,effects:f,lut:Pd(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():_d}}function Aa(e,t){return sr(or(e,t))}function nn(e){return!e?.enabled||e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:ya.some(t=>Math.abs(e.adjust[t])>1e-4)||Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||Sa.some(t=>Math.abs(e.effects[t])>1e-4)}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}},Gd=[0,0,0],Wd=[1,1,1],lr=64;function Ud(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 Ze(e,t){let n=Number(e);if(!Number.isFinite(n))throw new Se(`Invalid number "${e}"`,t);return n}function wa(e,t,n){if(e.length!==3)throw new Se(`${t} expects three numbers`,n);return[Ze(e[0],n),Ze(e[1],n),Ze(e[2],n)]}function Ca(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 Vd(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 zd(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 jd(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function Fa(e,t={}){let n=t.maxSize??lr,i=null,r=Gd,o=Wd,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=Ud(u[m]??"").trim();if(!x)continue;let S=x.split(/\\s+/),b=(S[0]??"").toUpperCase(),g=S.slice(1);if(b==="TITLE"){i=zd(x);continue}if(b==="DOMAIN_MIN"){r=wa(g,b,f);continue}if(b==="DOMAIN_MAX"){o=wa(g,b,f);continue}if(b==="LUT_3D_INPUT_RANGE"){if(g.length!==2)throw new Se(`${b} expects two numbers`,f);let A=Ze(g[0],f),_=Ze(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=Ca(g[0],b,f);continue}if(b==="LUT_3D_SIZE"){if(l=Ca(g[0],b,f),l>n)throw new Se(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!jd(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(Ze(S[0],f),Ze(S[1],f),Ze(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");Vd(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 qd(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function ar(e){return Math.round(qd(e)*255)}function _a(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]=ar(e.data[a]??0),r[u+1]=ar(e.data[a+1]??0),r[u+2]=ar(e.data[a+2]??0),r[u+3]=255}return{width:n,height:i,data:r}}var je=new Map,$d="data-hf-color-grading-canvas",ka="data-hf-color-grading-source-hidden",Kd="__hf_color_grading_canvas__",Jd=16,rn={enabled:!1,position:.5,softness:0,lineWidth:2};function ur(e){let t=e.getAttribute(tn);return t==null?null:Aa(t,Dn(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`),Yd=["#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`),Qd=["#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 va(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 Da(e,t=Yd){let n=va(e,Xd,e.VERTEX_SHADER),i=va(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 dr(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 Zd(e,t){let n=Da(e,Qd);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 Ma(e){let t=dr(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 Ta(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 Ia(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!t)return null;let n=Da(t),i=dr(t),r=dr(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 ef(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function tf(e){if(!ef(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 Pa(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 mr(e){return e instanceof Error?e.message:"LUT failed to load"}function nf(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 rf(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return nf(t)}function of(e){let t=Pa(e);if("error"in t)return{state:"error",message:t.error};let n=je.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=>Fa(o,{maxSize:lr})),r={state:"pending",promise:i};for(;je.size>=Jd;){let o=je.keys().next().value;if(!o)break;je.delete(o)}return je.set(t.href,r),i.then(o=>{je.get(t.href)===r&&je.set(t.href,{state:"ready",lut:o})},o=>{je.get(t.href)===r&&je.set(t.href,{state:"error",message:mr(o)})}),r}function Na(e,t,n){if(e.lut?.src===t)return e.lut;let i=_a(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=mr(s),e.lutLoadingSrc=null,L("runtime.colorGrading.uploadLut",s),null}}function Hn(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function Oa(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Hn(e.gl,t.scratch),Hn(e.gl,t.blur),e.effectTargets=null)}function Ba(e){Oa(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 sf(e){let t=Ia(e.canvas);return t?(Ba(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function fr(e){if(!e.sourceHidden)return;e.element.removeAttribute(ka);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 af(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=Zd(t,e.program.quad),i=Ma(t),r=Ma(t);return!n||!i||!r?(n&&t.deleteProgram(n.program),i&&Hn(t,i),r&&Hn(t,r),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:i,blur:r},e.effectTargets)}function lf(e,t,n,i,r){let o=Math.max(1,Math.ceil(i)),s=Math.max(1,Math.ceil(r));return Ta(e,t,o,s),Ta(e,n,o,s),{width:o,height:s}}function La(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 uf(e,t,n,i,r,o,s){let l=n;for(let a=0;a<Math.max(1,Math.floor(s));a++)La(e,t.blurProgram,l,t.scratch,r,{x:1,y:0},o),La(e,t.blurProgram,t.scratch.texture,i,r,{x:0,y:1},o),l=i.texture}function cf(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=Pa(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=of(t);return r.state==="ready"?Na(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||(Na(e,i.href,o),We(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=mr(o),e.lutLoadingSrc=null,We(e))})),null)}function cr(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 df(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 Ha(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 ff(e){if(!e.id)return null;let t=document.getElementById(`__render_frame_${e.id}__`);return t instanceof HTMLImageElement&&Ha(t)?t:null}function mf(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function pf(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function hf(e){if(e instanceof HTMLVideoElement){let t=ff(e);if(t)return t}return Ha(e)?e:null}function Ra(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 gf(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=Ra(o,"x"),l=Ra(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 xf(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=gf(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 bf(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function yf(e,t){let{element:n,canvas:i}=e,r=n.parentElement;r&&bf(e,r);let o=window.getComputedStyle(t);co(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 Sf(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 Ef(e){e.sourceHidden||(e.sourceInlineOpacity=e.element.style.getPropertyValue("opacity")||null,e.sourceInlineOpacityPriority=e.element.style.getPropertyPriority("opacity")),e.element.setAttribute(ka,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function We(e){if(e.destroyed||e.contextLost)return!1;let t=hf(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=df(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=mf(t);if(a&&pf(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=yf(e,i);if(!u)return!1;let c=window.getComputedStyle(i),m=xf(u.width,u.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:f,program:x}=e;try{let S=cf(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 _=af(e);if(_){let N=lf(f,_.scratch,_.blur,u.width,u.height);uf(f,_,x.texture,_.blur,N,.75+Math.pow(g,1.35)*32,g>.55?3:2),b=!0}}else e.effectError=null,e.effectTargets&&Oa(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 Sf(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),Ef(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 Ge(e,t,n,i){t.addEventListener(n,i),e.cleanup.push(()=>t.removeEventListener(n,i))}function Af(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,We(e),!e.destroyed&&!t.paused&&!t.ended&&on(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,We(e),!e.destroyed&&!t.paused&&!t.ended&&on(e)})}function wf(e){let t=()=>{We(e)};Ge(e,e.element,"load",t),Ge(e,e.element,"loadedmetadata",t),Ge(e,e.element,"loadeddata",t),Ge(e,e.element,"seeked",t),Ge(e,e.element,"timeupdate",t),Ge(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(Ge(e,e.element,"play",()=>on(e)),Ge(e,e.element,"pause",t)),Ge(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",fr(e)}),Ge(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!sf(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",fr(e);return}e.drawError=null,We(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element))}function Cf(e){if(!e.destroyed){e.destroyed=!0,Af(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();e.cleanup.length=0,e.canvas.remove(),Ba(e),fr(e),e.touchedParent&&(e.parentInlinePosition===null?e.touchedParent.style.removeProperty("position"):e.touchedParent.style.position=e.parentInlinePosition)}}function Ff(e){let t=document.createElement("canvas");return e.id&&(t.id=`${ba}${e.id}`),t.className=Kd,t.setAttribute($d,"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 Ga(){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,We(_),b instanceof HTMLVideoElement&&!b.paused&&on(_),!0;let N=Ff(b),J=Ia(N);if(!J)return N.remove(),!1;let B={element:b,canvas:N,gl:J.gl,program:J.program,grading:g,compare:{...rn},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:rf(b),destroyed:!1};return e.set(b,B),t.add(b),wf(B),We(B),b instanceof HTMLVideoElement&&!b.paused&&on(B),!0},o=(b,g)=>{if(i)return!1;let A=cr(b);if(!A)return!1;let _=e.get(A);if(!_){let N=ur(A);if(!nn(N)||!r(A,N,"attribute"))return!1;_=e.get(A)}return _?(_.compare=tf(g),We(_),!0):!1},s=b=>{let g=e.get(b);g&&(Cf(g),e.delete(b),t.delete(b))},l=()=>{if(i)return 0;let b=new Set;document.querySelectorAll(`video[${tn}], img[${tn}]`).forEach(A=>{if(!dt(A))return;b.add(A);let _=ur(A);nn(_)?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&&We(g)&&(b+=1);return b},u=(b,g)=>{if(i)return!1;let A=cr(b);if(!A)return!1;let _=sr(g);return nn(_)?r(A,_,"live"):(s(A),!0)},c=(b,g)=>{if(!dt(b))return!1;let A=e.get(b);return A?(A.sourceVisibleForCanvas=g,!0):!1},m=b=>{let g=cr(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 _=ur(g);return nn(_)?{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:[tn]}));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 Gn=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 Wa(e){return!Number.isFinite(e)||e<=0?1:e}function _f(e,t){t||e.paused||!mn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function vf(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 Wn=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=Wa(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,!vf(m,{elapsed:x,mediaStart:r,scheduledAt:S,safeRate:c,clipDuration:u}))return m.disconnect(),f.disconnect(),null;let b=t.muted;t.muted=!0,_f(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=Wa(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 Ua="data-hf-studio-manual-edit-gesture";var pr="data-hf-authored-duration",hr="data-hf-authored-end";function Mf(){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 Va(){let e=po();kn(document),ir(document);let t=Mf();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{Gr(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(pr)&&h.setAttribute(pr,y),w!=null&&!h.hasAttribute(hr)&&h.setAttribute(hr,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,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 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=st,w.style.width=we,w.style.height=vt)}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")),st=M(w.getAttribute("data-height")),we=K.width!=="0px"&&K.width!=="auto",vt=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%"),st?!w.style.height&&!vt&&(w.style.height=st):!w.style.height&&K.height==="0px"&&(w.style.height="100%")}}},k=(d,p=0,h)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),W=(d,p)=>Ke({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(pr)||d.hasAttribute(hr))&&(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=Ke({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=Ke({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})(),vt=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&&vt(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(Nl=>Nl.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 ii=ge(C??0,ye),ri=H(ii);if(ii&&U(ri))return{timeline:ii,selectedTimelineIds:[Z],selectedDurationSeconds:ri,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:ri,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(),kn(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 wt)ln.delete(C),Fr(C);return!0};window.__hfForceTimelineRebind=()=>{$=!1,z()};let X=()=>{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"}`)},Pe=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,X()}))},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)},At=()=>{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},nt=null,Cr=!1,wt=new Set,ln=new WeakMap,un=()=>{e.tornDown||(nt!=null&&window.clearTimeout(nt),nt=window.setTimeout(()=>{if(e.tornDown)return;nt=null;let d=ae();if(!d.timeline||!U(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){z()&&(it(),Te(!0));return}if(Cr)return;let h=H(e.capturedTimeline),y=d.selectedDurationSeconds??H(d.timeline);U(y)&&(!U(h)||y>=h+A)&&Ue(d,"manual")&&(Cr=!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(),Te(!0))},_))},gl=()=>{for(let d of wt)d.removeEventListener("loadedmetadata",un),d.removeEventListener("durationchange",un);wt.clear()},$n=()=>{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(),Fr(p)}},Fr=d=>{ln.has(d)||so(d,e.capturedTimeline,Q(e.capturedTimeline,0),ln)},Kn=new WeakMap,_r=d=>{let p=Kn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,y=h==="static"||h==="relative"||h==="sticky";return Kn.set(d,y),y},Jn=new WeakMap,xl=d=>{let p=Jn.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return Jn.set(d,h),h},bl=()=>{Kn=new WeakMap,Jn=new WeakMap},Xn=new WeakMap,cn=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=ao({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(st=>st!=null);return ye.length>0?Math.min(...ye):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||lo({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")){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 q=Xn.get(C);q?C.style.display=q:C.style.removeProperty("display"),Xn.delete(C),cn.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?_r(C)&&C.style.removeProperty("display"):_r(C)&&xl(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}))},Yn="",vr=0,yl=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},it=()=>{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=So({canonicalFps:e.canonicalFps});window.__clipManifest=p;let h=yl();if(Yn!==h&&bl(),!window.__clipTree||Yn!==h){let y=window;window.__clipTree=ho({startResolver:Ke({timelineRegistry:y.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:y.__timelines??{},rootDuration:p.durationInFrames/e.canonicalFps}),Yn=h}Ce(p),Pe()},Qn=d=>Number.isFinite(d)&&d>0?d:0,Sl=d=>{let p=Qn(Number(d));if(p<=0)return;let h=E(),y=Qn(Number.parseFloat(h?.getAttribute("data-duration")??"")),w=Math.max(vr,Qn(I.getDuration()),y);p<=w||(vr=p,h?.setAttribute("data-duration",String(p)),I.setDuration(p),it(),Te(!0))},Oe=(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,El=()=>{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},Al=()=>{let d=El();if(d.length===0)return Ct=null,Ft=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==Ct&&(Ct=p,Ft=!1,Promise.resolve(p).then(()=>{Ct===p&&(Ft=!0,rt())},h=>{Ct===p&&(Ft=!0,L("runtime.init.adapterReady",h),rt())})),Ft};if(Ee)Zi();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})}};aa(d).then(()=>sa(d)).finally(()=>{Ee=!0,$n(),At(),Zi(),ir(document),rt()})}let dn=uo({postMessage:d=>Ce(d)});dn.installPickerApi();let Ve=Ga();n=Ve,m(()=>{Ve.destroy(),n=null});let Zn=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=mo({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:Zn,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:()=>Oe("pause"),onDeterministicPlay:()=>Oe("play"),onRenderFrameSeek:()=>{Ve.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Q(e.capturedTimeline,0)});window.__player=x(pe),window.__playerReady=!0,Pr(Ce),at("composition_loaded",{duration:pe.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.controlBridgeHandler=Ir({onPlay:()=>{pe.play(),at("composition_played",{time:pe.getTime()})},onPause:()=>{pe.pause(),at("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),at("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=>{Zn(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),kr()},onSetRootDuration:Sl,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,ot(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,ot(p)),Oe("pause"),Le(),Te(!0)}},onEnablePickMode:()=>dn.enablePickMode(),onDisablePickMode:()=>dn.disablePickMode()}),e.deterministicAdapters=[ro(),Ur({resolveStartSeconds:d=>k(d,0)}),zr(),qr(),Kr(),Jr(),Xr(),Yr(),Qr(),Zr(),eo(),Vr({getTimeline:()=>e.capturedTimeline})],no(),io(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,$r(p)},ve(),$n(),Oe("discover");let I=new Gn;e.transportClock=I;let de=new Wn,ei=!1;de.init().then(d=>{ei=d});let wl=()=>{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),Oe("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,it(),Te(!0)};if(rt=()=>{if(!Ee||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Oe("discover",e.currentTime),!Al()){window.__renderReady=!1;return}wl()},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,ti=!1,Cl=(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)}},Fl=(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);Cl(C,ne,"runtime.init.transport.childTimeline",p)}},_l=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)}},Mr=d=>typeof d=="object"&&d!==null,_t=new WeakMap,vl=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],Tr=(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}},Ml=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(!Mr(y)||!Mr(y.vars)||!vl.some(q=>typeof y.vars[q]=="function"))continue;let R=Tr(y,"totalDuration")??Tr(y,"duration");if(R!=null&&R<=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&&_l(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&&!Ml(h)&&(h.totalTime(C+.001,!0),h.totalTime(C,!0))):h.seek(C,y)}catch(R){L("runtime.init.transport.seek",R)}}else Fl(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)}},Tl=()=>{try{return document.querySelector(`[${Ua}]`)!=null}catch{return!1}},Nr=()=>{if(!(e.tornDown||ti)){ti=!0;try{if(e.transportRafId=window.requestAnimationFrame(Nr),fn+=1,fn%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),it()}}if(fn%20===0&&it(),fn%30===0&&$n(),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()||!Tl())&&ot(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,ot(p)),Oe("pause"),Le(),Te(!0);return}I.isPlaying()&&Le(),Te(!1)}finally{ti=!1}}},Lr=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{}}},Rr=()=>{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)})}},kr=()=>{de.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&ei&&I.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),Rr())};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,ot(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,Lr(I.now()),ei&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&Rr(),Oe("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,Lr(e.currentTime);let d=e.capturedTimeline;d&&d.pause(),Oe("pause"),Le(),Ve.redraw(),Te(!0)},pe.seek=d=>{let p=mt(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(),ot(e.currentTime),Oe("pause"),Le(),Ve.redraw(),Te(!0)},pe.renderSeek=(d,p)=>{let h=mt(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,ot(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=>{Zn(d),I.setRate(e.playbackRate),kr()},e.capturedTimeline){let d=Q(e.capturedTimeline,0);d>0&&I.setDuration(d),e.capturedTimeline.pause()}let Dr=window.__player;if(Dr){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(Dr,p,{get:()=>pe[p],set:h=>{pe[p]=h},configurable:!0})}ga(window),e.transportRafId=window.requestAnimationFrame(Nr),it(),Te(!0);let ni=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,de.destroy(),nt!=null&&(window.clearTimeout(nt),nt=null),l!=null&&(window.cancelAnimationFrame(l),l=null),gl(),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===ni&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=ni,e.beforeUnloadHandler=ni,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var za=["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"],gr=[[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 Tf(e){if(e<=255)return za[e];let t=0,n=gr.length-1;for(;t<=n;){let i=t+n>>1,r=gr[i];if(e<r[0]){n=i-1;continue}if(e>r[1]){t=i+1;continue}return r[2]}return"L"}function Nf(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=Tf(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 ja(e,t){let n=Nf(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 Lf=/[ \\t\\n\\r\\f]+/g,Rf=/[\\t\\n\\r\\f]| {2,}|^ | $/;function kf(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function Df(e){if(!Rf.test(e))return e;let t=e.replace(Lf," ");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 If(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var xr=null,Pf;function Of(){return xr===null&&(xr=new Intl.Segmenter(Pf,{granularity:"word"})),xr}var Bf=/\\p{Script=Arabic}/u,Un=/\\p{M}/u,Za=/\\p{Nd}/u;function qa(e){return Bf.test(e)}function $a(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 Ie(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($a(r))return!0;t++;continue}}if($a(n))return!0}}return!1}function Hf(e){let t=jn(e);return t!==null&&(zn.has(t)||et.has(t))}var Gf=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Wf(e){return Ie(e)}function Uf(e){let t=jn(e);return t!==null&&Gf.has(t)}function Vn(e){return!Hf(e)&&!Uf(e)}var zn=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"]),yr=new Set(["\'","\\u2019"]),et=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Vf=new Set([":",".","\\u060C","\\u061B"]),zf=new Set(["\\u104F"]),jf=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function qf(e){if(Sr(e))return!0;let t=!1;for(let n of e){if(et.has(n)){t=!0;continue}if(!(t&&Un.test(n)))return!1}return t}function $f(e){for(let t of e)if(!zn.has(t)&&!et.has(t))return!1;return e.length>0}function Kf(e){if(Sr(e))return!0;for(let t of e)if(!an.has(t)&&!yr.has(t)&&!Un.test(t))return!1;return e.length>0}function Sr(e){let t=!1;for(let n of e)if(!(n==="\\\\"||Un.test(n))){if(an.has(n)||et.has(n)||yr.has(n)){t=!0;continue}return!1}return t}function el(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 jn(e){if(e.length===0)return null;let t=el(e,e.length);return e.slice(t)}function Jf(e){let t=Array.from(e),n=t.length;for(;n>0;){let i=t[n-1];if(Un.test(i)){n--;continue}if(an.has(i)||yr.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 Ka(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 Ja(e,t){return e&&t!==null&&Vf.has(t)}function Yf(e){let t=jn(e);return t!==null&&zf.has(t)}function Qf(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 qn(e){let t=e.length;for(;t>0;){let n=el(e,t),i=e.slice(n,t);if(jf.has(i))return!0;if(!et.has(i))return!1;t=n}return!1}function Zf(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 em=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Ne(e){return e.length===1?e[0]:e.join("")}function tm(e,t){let n=[];for(let i=e.length-1;i>=0;i--)n.push(e[i]);return n.push(t),Ne(n)}function nm(e,t,n,i){if(!em.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=Zf(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 br(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var im=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function rm(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:im.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function om(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function sm(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"||!rm(e,s))continue;let l=[t[s]],a=s+1;for(;a<e.len&&!br(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 am(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]),!om(s))continue;let l=o+1;if(l>=e.len||br(e.kinds[l]))continue;let a=[],u=e.starts[l],c=l;for(;c<e.len&&!br(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 lm=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Xa=/^[A-Za-z0-9_]+[,:;]*$/,Ya=/[,:;]+$/;function tl(e){for(let t of e)if(Za.test(t))return!0;return!1}function sn(e){if(e.length===0)return!1;for(let t of e)if(!(Za.test(t)||lm.has(t)))return!1;return!0}function um(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)&&tl(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(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 cm(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&&Xa.test(s)){let u=[s],c=Ya.test(s),m=o+1;for(;c&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&Xa.test(e.texts[m]);){let f=e.texts[m];u.push(f),c=Ya.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 dm(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||!tl(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 fm(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 mm(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"||!Ie(t[o])||!Ie(t[o+1]))continue;let s=Jf(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 Qa(e,t,n){let i=Of(),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 nm(M.segment,M.isWordLike??!1,M.index,n)){let se=function(){c[P]!==null&&(s[P]=[Ka(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]=Ja(x[P],W)},F=E.kind==="text",v=Xf(E.text,E.isWordLike,E.kind),T=Ie(E.text),k=qa(E.text),W=jn(E.text),j=qn(E.text),re=Yf(E.text),P=r-1;t.carryCJKAfterClosingQuote&&F&&r>0&&a[P]==="text"&&T&&f[P]&&S[P]||F&&r>0&&a[P]==="text"&&$f(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"&&(qf(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]=Ja(k,W),r++)}for(let M=0;M<r;M++){if(c[M]!==null){o[M]=Ka(o,c,m,M);continue}o[M]=Ne(s[M])}for(let M=1;M<r;M++)a[M]==="text"&&!l[M]&&Sr(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]&&Kf(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]=tm(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=fm({len:N,texts:o,isWordLike:l,kinds:a,starts:u}),B=mm(cm(dm(um(am(sm(J))))));for(let M=0;M<B.len-1;M++){let E=Qf(B.texts[M]);E!==null&&(B.kinds[M]!=="space"&&B.kinds[M]!=="preserved-space"||B.kinds[M+1]!=="text"||!qa(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 pm(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 hm(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=Wf(f),A=Vn(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 nl(e,t,n="normal",i="normal"){let r=kf(n),o=r.mode==="pre-wrap"?If(e):Df(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?hm(Qa(o,t,r)):Qa(o,t,r);return{normalized:o,chunks:pm(s,r),...s}}var yt=null,il=new Map,St=null,gm=96,xm=/\\p{Emoji_Presentation}/u,bm=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,Er=null,rl=new Map;function Ar(){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 ym(e){let t=il.get(e);return t||(t=new Map,il.set(e,t)),t}function qe(e,t){let n=t.get(e);return n===void 0&&(n={width:Ar().measureText(e).width,containsCJK:Ie(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 Sm(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function ol(){return Er===null&&(Er=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Er}function Em(e){return xm.test(e)||e.includes("\\uFE0F")}function sl(e){return bm.test(e)}function Am(e,t){let n=rl.get(e);if(n!==void 0)return n;let i=Ar();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 rl.set(e,n),n}function wm(e){let t=0,n=ol();for(let i of n.segment(e))Em(i.segment)&&t++;return t}function Cm(e,t){return t.emojiCount===void 0&&(t.emojiCount=wm(e)),t.emojiCount}function tt(e,t,n){return n===0?t.width:t.width-Cm(e,t)*n}function al(e,t,n,i,r){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=ol(),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=qe(m,n);c.push(tt(m,f,i))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(r==="pair-context"||s.length>gm){let c=[],m=null,f=0;for(let x of s){let S=qe(x,n),b=tt(x,S,i);if(m===null)c.push(b);else{let g=m+x,A=qe(g,n);c.push(tt(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=qe(a,n),f=tt(a,m,i);l.push(f-u),u=f}return t.breakableFitAdvances=l,t.breakableFitAdvances}function ll(e,t){let n=Ar();n.font=e;let i=ym(e),r=Sm(e),o=t?Am(e,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function Fm(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 _m(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function vm(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 ul(e,t){return e.simpleLineWalkFastPath?cl(e,t):dl(e,t)}function cl(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,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=Fm(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 dl(e,t,n){if(e.simpleLineWalkFastPath)return cl(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,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}=vm(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"?_m(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 wr=null;function Mm(){return wr===null&&(wr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),wr}function Tm(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 Nm(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=qn(m),l=an.has(m)}function c(m,f){i.push(m),o=o||f;let x=qn(m);m.length===1&&et.has(m)?s=s||x:s=x,l=!1}for(let m of Mm().segment(e)){let f=m.segment,x=Ie(f);if(i.length===0){u(f,m.index,x);continue}if(l||zn.has(f)||et.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 Lm(e){if(e.length<=1)return e;let t=[],n=[e[0].text],i=e[0].start,r=Ie(e[0].text),o=Vn(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=Ie(a.text),c=Vn(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 Rm(e,t,n,i){let r=Et(),{cache:o,emojiCorrection:s}=ll(t,sl(e.normalized)),l=tt("-",qe("-",o),s),u=tt(" ",qe(" ",o),s)*8;if(e.len===0)return Tm(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=qe(E,o),j=tt(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";sn(E)?se="pair-context":r.preferPrefixWidthsForBreakableRuns&&(se="segment-prefixes");let Ee=al(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=qe(F,o);if(T==="text"&&W.containsCJK){let j=Nm(F,r),re=i==="keep-all"?Lm(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"||!Ie(se.text))}continue}J(F,T,k,v,!0)}let B=km(e.chunks,_,c.length),M=b===null?null:ja(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 km(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 Dm(e,t,n,i){let r=i?.wordBreak??"normal",o=nl(e,Et(),i?.whiteSpace,r);return Rm(o,t,n,r)}function fl(e,t,n){return Dm(e,t,!1,n)}function ml(e,t,n){let i=ul(e,t);return{lineCount:i,height:i*n}}var Im={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function pl(e,t){let n={...Im,...t},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=fl(e,o),{lineCount:l}=ml(s,n.maxWidth,r*i);if(l<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:pl,getVariables:Br};function hl(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,Va())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",hl,{once:!0}):hl();})();\n';
|
|
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';
|
|
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,
|
|
@@ -68986,71 +68993,69 @@ import postcss2 from "postcss";
|
|
|
68986
68993
|
import postcss22 from "postcss";
|
|
68987
68994
|
import { existsSync as existsSync9, readFileSync as readFileSync4, readdirSync as readdirSync3 } from "fs";
|
|
68988
68995
|
import { dirname as dirname6, extname as extname4, isAbsolute as isAbsolute2, join as join10, posix as posix2, relative as relative2, resolve as resolve7 } from "path";
|
|
68989
|
-
function
|
|
68996
|
+
function parseHtmlStructure(source) {
|
|
68990
68997
|
const tags = [];
|
|
68991
|
-
|
|
68992
|
-
const
|
|
68993
|
-
|
|
68994
|
-
|
|
68995
|
-
|
|
68996
|
-
|
|
68997
|
-
|
|
68998
|
-
|
|
68999
|
-
|
|
69000
|
-
|
|
69001
|
-
|
|
69002
|
-
|
|
69003
|
-
|
|
69004
|
-
|
|
69005
|
-
|
|
69006
|
-
|
|
69007
|
-
|
|
69008
|
-
|
|
69009
|
-
|
|
69010
|
-
|
|
69011
|
-
|
|
69012
|
-
|
|
69013
|
-
|
|
69014
|
-
|
|
69015
|
-
|
|
69016
|
-
|
|
69017
|
-
|
|
68998
|
+
const blocks = { script: [], style: [] };
|
|
68999
|
+
const openTagsByName = /* @__PURE__ */ new Map();
|
|
69000
|
+
const openBlocks = [];
|
|
69001
|
+
const parser = new Parser3(
|
|
69002
|
+
{
|
|
69003
|
+
onopentag(name) {
|
|
69004
|
+
const index = parser.startIndex;
|
|
69005
|
+
const raw = source.slice(index, parser.endIndex + 1);
|
|
69006
|
+
const attrs2 = raw.slice(name.length + 1, -1).replace(/\s*\/$/, "");
|
|
69007
|
+
const tag = { raw, name, attrs: attrs2, index };
|
|
69008
|
+
tags.push(tag);
|
|
69009
|
+
const sameNameStack = openTagsByName.get(name) ?? [];
|
|
69010
|
+
sameNameStack.push(tag);
|
|
69011
|
+
openTagsByName.set(name, sameNameStack);
|
|
69012
|
+
if (name === "script" || name === "style") {
|
|
69013
|
+
openBlocks.push({ name, attrs: attrs2, contentStart: parser.endIndex + 1, index });
|
|
69014
|
+
}
|
|
69015
|
+
},
|
|
69016
|
+
onclosetag(name) {
|
|
69017
|
+
const tag = openTagsByName.get(name)?.pop();
|
|
69018
|
+
if (tag) {
|
|
69019
|
+
tag.closeIndex = parser.startIndex;
|
|
69020
|
+
tag.endIndex = parser.endIndex + 1;
|
|
69021
|
+
}
|
|
69022
|
+
if (name !== "script" && name !== "style") return;
|
|
69023
|
+
const block = openBlocks.pop();
|
|
69024
|
+
if (!block || block.name !== name) return;
|
|
69025
|
+
blocks[name].push({
|
|
69026
|
+
attrs: block.attrs,
|
|
69027
|
+
content: source.slice(block.contentStart, parser.startIndex),
|
|
69028
|
+
raw: source.slice(block.index, parser.endIndex + 1),
|
|
69029
|
+
index: block.index
|
|
69030
|
+
});
|
|
69031
|
+
}
|
|
69032
|
+
},
|
|
69033
|
+
{ decodeEntities: false, lowerCaseAttributeNames: false, lowerCaseTags: true }
|
|
69034
|
+
);
|
|
69035
|
+
parser.end(source);
|
|
69036
|
+
return { tags, scripts: blocks.script, styles: blocks.style };
|
|
69018
69037
|
}
|
|
69019
|
-
function findHtmlTag(
|
|
69020
|
-
|
|
69021
|
-
if (!match) return null;
|
|
69022
|
-
return {
|
|
69023
|
-
raw: match[0],
|
|
69024
|
-
name: "html",
|
|
69025
|
-
attrs: match[1] ?? "",
|
|
69026
|
-
index: match.index
|
|
69027
|
-
};
|
|
69038
|
+
function findHtmlTag(tags) {
|
|
69039
|
+
return tags.find((tag) => tag.name === "html") ?? null;
|
|
69028
69040
|
}
|
|
69029
|
-
function findRootTag(source) {
|
|
69030
|
-
const
|
|
69031
|
-
const
|
|
69032
|
-
if (
|
|
69033
|
-
return
|
|
69034
|
-
raw: bodyOpenMatch[0],
|
|
69035
|
-
name: "body",
|
|
69036
|
-
attrs: bodyOpenMatch[1] ?? "",
|
|
69037
|
-
index: bodyOpenMatch.index
|
|
69038
|
-
};
|
|
69041
|
+
function findRootTag(source, parsedTags) {
|
|
69042
|
+
const tags = parsedTags ?? parseHtmlStructure(source).tags;
|
|
69043
|
+
const bodyTag = tags.find((tag) => tag.name === "body");
|
|
69044
|
+
if (bodyTag && (readAttr(bodyTag.raw, "data-composition-id") || readAttr(bodyTag.raw, "data-width") || readAttr(bodyTag.raw, "data-height"))) {
|
|
69045
|
+
return bodyTag;
|
|
69039
69046
|
}
|
|
69040
|
-
const bodyStart =
|
|
69041
|
-
const bodyEnd =
|
|
69042
|
-
const
|
|
69043
|
-
const bodyTags = extractOpenTags(bodyContent);
|
|
69047
|
+
const bodyStart = bodyTag ? bodyTag.index + bodyTag.raw.length : 0;
|
|
69048
|
+
const bodyEnd = bodyTag?.closeIndex ?? source.length;
|
|
69049
|
+
const bodyTags = tags.filter((tag) => tag.index >= bodyStart && tag.index < bodyEnd);
|
|
69044
69050
|
let skipBefore = -1;
|
|
69045
69051
|
for (const tag of bodyTags) {
|
|
69046
69052
|
if (tag.index < skipBefore) continue;
|
|
69047
69053
|
if (["script", "style", "meta", "link", "title"].includes(tag.name)) continue;
|
|
69048
69054
|
if (tag.name === "svg" && !readAttr(tag.raw, "data-composition-id") && !readAttr(tag.raw, "data-width") && !readAttr(tag.raw, "data-height")) {
|
|
69049
|
-
|
|
69050
|
-
skipBefore = closeMatch ? tag.index + closeMatch.index + closeMatch[0].length : Infinity;
|
|
69055
|
+
skipBefore = tag.endIndex ?? Infinity;
|
|
69051
69056
|
continue;
|
|
69052
69057
|
}
|
|
69053
|
-
return
|
|
69058
|
+
return tag;
|
|
69054
69059
|
}
|
|
69055
69060
|
return null;
|
|
69056
69061
|
}
|
|
@@ -69219,15 +69224,24 @@ function truncateSnippet(value, maxLength = 220) {
|
|
|
69219
69224
|
function buildLintContext(html, options = {}) {
|
|
69220
69225
|
const rawSource = html || "";
|
|
69221
69226
|
let source = stripHtmlComments(rawSource);
|
|
69222
|
-
const
|
|
69223
|
-
|
|
69224
|
-
"
|
|
69227
|
+
const initialStructure = parseHtmlStructure(source);
|
|
69228
|
+
const templateTags = initialStructure.tags.filter(
|
|
69229
|
+
(tag) => tag.name === "template" && tag.closeIndex != null
|
|
69225
69230
|
);
|
|
69226
|
-
|
|
69227
|
-
|
|
69228
|
-
|
|
69231
|
+
let sourceWithoutTemplates = source;
|
|
69232
|
+
for (const template2 of [...templateTags].reverse()) {
|
|
69233
|
+
const end = template2.endIndex ?? template2.index;
|
|
69234
|
+
sourceWithoutTemplates = sourceWithoutTemplates.slice(0, template2.index) + " ".repeat(end - template2.index) + sourceWithoutTemplates.slice(end);
|
|
69235
|
+
}
|
|
69236
|
+
const template = templateTags[0];
|
|
69237
|
+
let structure = initialStructure;
|
|
69238
|
+
if (template && !findRootTag(sourceWithoutTemplates)) {
|
|
69239
|
+
source = source.slice(template.index + template.raw.length, template.closeIndex);
|
|
69240
|
+
structure = parseHtmlStructure(source);
|
|
69241
|
+
}
|
|
69242
|
+
const tags = structure.tags;
|
|
69229
69243
|
const styles = [
|
|
69230
|
-
...
|
|
69244
|
+
...structure.styles,
|
|
69231
69245
|
...(options.externalStyles ?? []).map((style) => ({
|
|
69232
69246
|
attrs: `href="${style.href}"`,
|
|
69233
69247
|
content: style.content,
|
|
@@ -69235,9 +69249,9 @@ function buildLintContext(html, options = {}) {
|
|
|
69235
69249
|
index: -1
|
|
69236
69250
|
}))
|
|
69237
69251
|
];
|
|
69238
|
-
const scripts =
|
|
69252
|
+
const scripts = structure.scripts;
|
|
69239
69253
|
const compositionIds = collectCompositionIds(tags);
|
|
69240
|
-
const rootTag = findRootTag(source);
|
|
69254
|
+
const rootTag = findRootTag(source, tags);
|
|
69241
69255
|
const rootCompositionId = readAttr(rootTag?.raw || "", "data-composition-id");
|
|
69242
69256
|
return {
|
|
69243
69257
|
source,
|
|
@@ -69969,21 +69983,20 @@ function collectDeclaredVariableIds(htmlTagRaw) {
|
|
|
69969
69983
|
}
|
|
69970
69984
|
return declared;
|
|
69971
69985
|
}
|
|
69972
|
-
function collectAllDeclaredVariableIds(
|
|
69986
|
+
function collectAllDeclaredVariableIds(tags) {
|
|
69973
69987
|
const all = /* @__PURE__ */ new Set();
|
|
69974
|
-
const
|
|
69975
|
-
|
|
69976
|
-
|
|
69977
|
-
const ids = collectDeclaredVariableIds(match[0]);
|
|
69988
|
+
for (const tag of tags) {
|
|
69989
|
+
if (!readAttr(tag.raw, "data-composition-variables")) continue;
|
|
69990
|
+
const ids = collectDeclaredVariableIds(tag.raw);
|
|
69978
69991
|
if (ids === null) return null;
|
|
69979
69992
|
for (const id of ids) all.add(id);
|
|
69980
69993
|
}
|
|
69981
69994
|
return all;
|
|
69982
69995
|
}
|
|
69983
|
-
function declaredIdsForBindingCheck(
|
|
69984
|
-
const declared = collectAllDeclaredVariableIds(
|
|
69996
|
+
function declaredIdsForBindingCheck(tags) {
|
|
69997
|
+
const declared = collectAllDeclaredVariableIds(tags);
|
|
69985
69998
|
if (declared === null) return null;
|
|
69986
|
-
if (declared.size === 0 && !findHtmlTag(
|
|
69999
|
+
if (declared.size === 0 && !findHtmlTag(tags)) return null;
|
|
69987
70000
|
return declared;
|
|
69988
70001
|
}
|
|
69989
70002
|
function classNames2(tag) {
|
|
@@ -70242,11 +70255,8 @@ async function lintHyperframeHtml(html, options = {}) {
|
|
|
70242
70255
|
}
|
|
70243
70256
|
function extractMediaUrls(html) {
|
|
70244
70257
|
const results = [];
|
|
70245
|
-
const
|
|
70246
|
-
|
|
70247
|
-
while ((match = tagRe.exec(html)) !== null) {
|
|
70248
|
-
const tagName19 = (match[1] ?? "").toLowerCase();
|
|
70249
|
-
const raw = match[0];
|
|
70258
|
+
for (const { name: tagName19, raw } of parseHtmlStructure(html).tags) {
|
|
70259
|
+
if (!/^(?:video|audio|img|source)$/.test(tagName19)) continue;
|
|
70250
70260
|
const src = readAttr(raw, "src");
|
|
70251
70261
|
if (!src) continue;
|
|
70252
70262
|
if (/^https?:\/\//i.test(src)) {
|
|
@@ -70312,59 +70322,58 @@ function shouldBlockRender(strictErrors, strictAll, totalErrors, totalWarnings)
|
|
|
70312
70322
|
function parseSubCompHtml(html) {
|
|
70313
70323
|
return parseHTML(html).document;
|
|
70314
70324
|
}
|
|
70315
|
-
function
|
|
70316
|
-
const
|
|
70317
|
-
const
|
|
70318
|
-
|
|
70325
|
+
function querySelectorAllIncludingTemplates(root, selector) {
|
|
70326
|
+
const matches2 = [...root.querySelectorAll(selector)];
|
|
70327
|
+
for (const template of root.querySelectorAll("template")) {
|
|
70328
|
+
const content = template.content;
|
|
70329
|
+
if (content) matches2.push(...querySelectorAllIncludingTemplates(content, selector));
|
|
70330
|
+
}
|
|
70331
|
+
return matches2;
|
|
70319
70332
|
}
|
|
70320
70333
|
function isLocalStylesheetHref(href) {
|
|
70321
70334
|
return !!href && !/^(https?:|data:|blob:|\/\/)/i.test(href);
|
|
70322
70335
|
}
|
|
70323
|
-
function
|
|
70336
|
+
function collectLocalStylesheets(projectDir, document2, compSrcPath) {
|
|
70324
70337
|
const styles = [];
|
|
70325
|
-
const
|
|
70326
|
-
|
|
70327
|
-
while ((match = linkRe.exec(html)) !== null) {
|
|
70328
|
-
const tag = match[0];
|
|
70329
|
-
const rel = tag.match(/\brel\s*=\s*["']([^"']+)["']/i)?.[1] ?? "";
|
|
70338
|
+
for (const link of querySelectorAllIncludingTemplates(document2, "link")) {
|
|
70339
|
+
const rel = link.getAttribute("rel") ?? "";
|
|
70330
70340
|
if (!rel.split(/\s+/).some((part) => part.toLowerCase() === "stylesheet")) continue;
|
|
70331
|
-
const href =
|
|
70341
|
+
const href = link.getAttribute("href") ?? "";
|
|
70332
70342
|
if (!isLocalStylesheetHref(href)) continue;
|
|
70333
70343
|
const rootRelative = compSrcPath ? join10(dirname6(compSrcPath), href) : href;
|
|
70334
70344
|
const stylesheet = resolveExistingLocalAsset(projectDir, rootRelative);
|
|
70335
70345
|
if (!stylesheet) continue;
|
|
70336
|
-
styles.push({
|
|
70346
|
+
styles.push({
|
|
70347
|
+
href,
|
|
70348
|
+
content: readFileSync4(stylesheet.resolved, "utf-8"),
|
|
70349
|
+
rootRelativePath: stylesheet.rootRelativePath
|
|
70350
|
+
});
|
|
70351
|
+
}
|
|
70352
|
+
return styles;
|
|
70353
|
+
}
|
|
70354
|
+
function collectExternalStyles(projectDir, html, compSrcPath) {
|
|
70355
|
+
const styles = [];
|
|
70356
|
+
const { document: document2 } = parseHTML(html);
|
|
70357
|
+
for (const { href, content } of collectLocalStylesheets(projectDir, document2, compSrcPath)) {
|
|
70358
|
+
styles.push({ href, content });
|
|
70337
70359
|
}
|
|
70338
70360
|
return styles;
|
|
70339
70361
|
}
|
|
70340
70362
|
function collectCssSources(projectDir, html, compSrcPath) {
|
|
70341
70363
|
const sources = [];
|
|
70342
|
-
|
|
70343
|
-
const
|
|
70344
|
-
|
|
70345
|
-
sources.push({ content: styleMatch[1] ?? "" });
|
|
70364
|
+
const { document: document2 } = parseHTML(html);
|
|
70365
|
+
for (const style of querySelectorAllIncludingTemplates(document2, "style")) {
|
|
70366
|
+
sources.push({ content: style.textContent ?? "" });
|
|
70346
70367
|
}
|
|
70347
|
-
const
|
|
70348
|
-
|
|
70349
|
-
|
|
70350
|
-
|
|
70351
|
-
|
|
70352
|
-
|
|
70353
|
-
const href = readHtmlAttr(tag, "href") ?? "";
|
|
70354
|
-
if (!isLocalStylesheetHref(href)) continue;
|
|
70355
|
-
const rootRelativePath = compSrcPath ? join10(dirname6(compSrcPath), href) : href;
|
|
70356
|
-
const stylesheet = resolveExistingLocalAsset(projectDir, rootRelativePath);
|
|
70357
|
-
if (!stylesheet) continue;
|
|
70358
|
-
sources.push({
|
|
70359
|
-
content: readFileSync4(stylesheet.resolved, "utf-8"),
|
|
70360
|
-
rootRelativePath: stylesheet.rootRelativePath
|
|
70361
|
-
});
|
|
70368
|
+
for (const { content, rootRelativePath } of collectLocalStylesheets(
|
|
70369
|
+
projectDir,
|
|
70370
|
+
document2,
|
|
70371
|
+
compSrcPath
|
|
70372
|
+
)) {
|
|
70373
|
+
sources.push({ content, rootRelativePath });
|
|
70362
70374
|
}
|
|
70363
|
-
|
|
70364
|
-
|
|
70365
|
-
while ((tagMatch = tagPattern.exec(html)) !== null) {
|
|
70366
|
-
const tag = tagMatch[0];
|
|
70367
|
-
const style = readHtmlAttr(tag, "style");
|
|
70375
|
+
for (const element of querySelectorAllIncludingTemplates(document2, "[style]")) {
|
|
70376
|
+
const style = element.getAttribute("style");
|
|
70368
70377
|
if (!style) continue;
|
|
70369
70378
|
sources.push({ content: style });
|
|
70370
70379
|
}
|
|
@@ -70744,10 +70753,11 @@ function isSnippetFragment(html) {
|
|
|
70744
70753
|
if (!firstTag) return false;
|
|
70745
70754
|
return /\bdata-hf-snippet\b/.test(firstTag[0]);
|
|
70746
70755
|
}
|
|
70747
|
-
var
|
|
70756
|
+
var COMPOSITION_ID_IN_CSS_PATTERN, TIMELINE_REGISTRY_INIT_PATTERN, TIMELINE_REGISTRY_OBJECT_LITERAL_PATTERN, TIMELINE_REGISTRY_ASSIGN_PATTERN, WINDOW_TIMELINE_ASSIGN_PATTERN, INVALID_SCRIPT_CLOSE_PATTERN, TIMELINE_REGISTRY_KEY_PATTERN, TIMELINE_REGISTRY_OBJECT_BODY_PATTERN, TIMELINE_REGISTRY_OBJECT_ENTRY_PATTERN, HEAD_BLOCKS_TO_IGNORE_PATTERN, HTML_TAG_PATTERN, HEAD_CONTENT_PATTERN, AFTER_HEAD_BEFORE_BODY_PATTERN, STRAY_HEAD_CLOSE_PATTERN, MARKDOWN_CODE_FENCE_PATTERN, ORPHAN_CSS_AT_RULE_PATTERN, ORPHAN_CSS_RULE_PATTERN, VISIBLE_MARKUP_COMMENT_PATTERN, VISIBLE_MARKUP_COMMENT_PROTECTED_BLOCK_PATTERN, coreRules, mediaRules, SCENE_BOUNDARY_EPSILON_SECONDS, UNRESOLVED_TARGET, gsapWindowsCache, CONFLICTING_TRANSLATE_PROPS, CONFLICTING_SCALE_PROPS, gsapRules, captionRules, MAX_COMPOSITION_LINES, MAX_TIMED_ELEMENTS_PER_TRACK, TRACK_DENSITY_EXEMPT_TAGS, OVERLAP_EPSILON_SECONDS, compositionRules, adapterRules, TEXTURE_BASE_CLASS, TEXTURE_CLASS_PREFIX, textureRules, GENERIC_FAMILIES, fontRules, slideshowRules, ALL_RULES, AUDIO_EXTENSIONS, MASK_IMAGE_URL_RE;
|
|
70748
70757
|
var init_dist4 = __esm({
|
|
70749
70758
|
"../lint/dist/index.js"() {
|
|
70750
70759
|
"use strict";
|
|
70760
|
+
init_esm6();
|
|
70751
70761
|
init_composition();
|
|
70752
70762
|
init_composition();
|
|
70753
70763
|
init_slideshow();
|
|
@@ -70755,9 +70765,6 @@ var init_dist4 = __esm({
|
|
|
70755
70765
|
init_assets();
|
|
70756
70766
|
init_subCompositionValidity();
|
|
70757
70767
|
init_esm10();
|
|
70758
|
-
TAG_PATTERN = /<([a-z][\w:-]*)(\s[^<>]*?)?>/gi;
|
|
70759
|
-
STYLE_BLOCK_PATTERN = /<style\b([^>]*)>([\s\S]*?)<\/style>/gi;
|
|
70760
|
-
SCRIPT_BLOCK_PATTERN = /<script\b([^>]*)>([\s\S]*?)<\/script>/gi;
|
|
70761
70768
|
COMPOSITION_ID_IN_CSS_PATTERN = /\[data-composition-id=["']([^"']+)["']\]/g;
|
|
70762
70769
|
TIMELINE_REGISTRY_INIT_PATTERN = /window\.__timelines\s*=\s*window\.__timelines\s*\|\|\s*\{\}|window\.__timelines\s*=\s*\{\}|window\.__timelines\s*\?\?=\s*\{\}/i;
|
|
70763
70770
|
TIMELINE_REGISTRY_OBJECT_LITERAL_PATTERN = /window\.__timelines\s*=\s*\{\s*(?:["'][^"']+["']|[A-Za-z_$][\w$]*)\s*:/i;
|
|
@@ -70778,6 +70785,23 @@ var init_dist4 = __esm({
|
|
|
70778
70785
|
VISIBLE_MARKUP_COMMENT_PATTERN = /\/\*[\s\S]*?\*\//g;
|
|
70779
70786
|
VISIBLE_MARKUP_COMMENT_PROTECTED_BLOCK_PATTERN = /<(style|script|template|title|noscript|pre|code|textarea|text)\b[^>]*>[\s\S]*?<\/\1(?:\s[^>]*)?>/gi;
|
|
70780
70787
|
coreRules = [
|
|
70788
|
+
// id_requires_css_escape
|
|
70789
|
+
({ tags }) => {
|
|
70790
|
+
const findings = [];
|
|
70791
|
+
for (const tag of tags) {
|
|
70792
|
+
const id = readAttr(tag.raw, "id");
|
|
70793
|
+
if (!id || !/^\d/.test(id)) continue;
|
|
70794
|
+
findings.push({
|
|
70795
|
+
code: "id_requires_css_escape",
|
|
70796
|
+
severity: "warning",
|
|
70797
|
+
message: `id="${id}" starts with a digit, so the common selector \`#${id}\` throws a SyntaxError in querySelector().`,
|
|
70798
|
+
elementId: id,
|
|
70799
|
+
fixHint: "Rename the id to start with a letter (recommended), or build selectors with `#${CSS.escape(id)}` at runtime.",
|
|
70800
|
+
snippet: truncateSnippet(tag.raw)
|
|
70801
|
+
});
|
|
70802
|
+
}
|
|
70803
|
+
return findings;
|
|
70804
|
+
},
|
|
70781
70805
|
// root_missing_composition_id + root_missing_dimensions
|
|
70782
70806
|
({ rootTag }) => {
|
|
70783
70807
|
const findings = [];
|
|
@@ -70832,10 +70856,11 @@ var init_dist4 = __esm({
|
|
|
70832
70856
|
];
|
|
70833
70857
|
},
|
|
70834
70858
|
// missing_timeline_registry + timeline_registry_missing_init
|
|
70835
|
-
({ source, rawSource, options }) => {
|
|
70859
|
+
({ source, rawSource, rootTag, options }) => {
|
|
70836
70860
|
if (options.isSubComposition || rawSource.trimStart().toLowerCase().startsWith("<template")) {
|
|
70837
70861
|
return [];
|
|
70838
70862
|
}
|
|
70863
|
+
if (/(?:^|\s)data-no-timeline(?=[\s=/]|$)/i.test(rootTag?.attrs || "")) return [];
|
|
70839
70864
|
const findings = [];
|
|
70840
70865
|
if (!TIMELINE_REGISTRY_INIT_PATTERN.test(source) && !TIMELINE_REGISTRY_ASSIGN_PATTERN.test(source) && !TIMELINE_REGISTRY_OBJECT_LITERAL_PATTERN.test(source)) {
|
|
70841
70866
|
findings.push({
|
|
@@ -71849,18 +71874,19 @@ ${right.raw}`)
|
|
|
71849
71874
|
async ({ styles, scripts, tags }) => {
|
|
71850
71875
|
const findings = [];
|
|
71851
71876
|
const cssOpacityZeroSelectors = /* @__PURE__ */ new Set();
|
|
71877
|
+
const opacityExactlyZero = /opacity\s*:\s*0(?:\.0+)?\s*(?:;|$)/;
|
|
71852
71878
|
for (const style of styles) {
|
|
71853
71879
|
for (const [, selector, body] of style.content.matchAll(
|
|
71854
71880
|
/([#.][a-zA-Z0-9_-]+)\s*\{([^}]+)\}/g
|
|
71855
71881
|
)) {
|
|
71856
|
-
if (body &&
|
|
71882
|
+
if (body && opacityExactlyZero.test(body)) {
|
|
71857
71883
|
cssOpacityZeroSelectors.add((selector ?? "").trim());
|
|
71858
71884
|
}
|
|
71859
71885
|
}
|
|
71860
71886
|
}
|
|
71861
71887
|
for (const tag of tags) {
|
|
71862
71888
|
const inlineStyle = readAttr(tag.raw, "style");
|
|
71863
|
-
if (!inlineStyle ||
|
|
71889
|
+
if (!inlineStyle || !opacityExactlyZero.test(inlineStyle)) continue;
|
|
71864
71890
|
const id = readAttr(tag.raw, "id");
|
|
71865
71891
|
const classes = readAttr(tag.raw, "class")?.split(/\s+/).filter(Boolean) ?? [];
|
|
71866
71892
|
if (id) cssOpacityZeroSelectors.add(`#${id}`);
|
|
@@ -72620,8 +72646,8 @@ ${right.raw}`)
|
|
|
72620
72646
|
// nothing, so a typo'd binding is invisible until a customer's override
|
|
72621
72647
|
// does nothing. Skipped for fragment files (no <html>): their values come
|
|
72622
72648
|
// from a host's data-variable-values, which this file can't see.
|
|
72623
|
-
({
|
|
72624
|
-
const declared = declaredIdsForBindingCheck(
|
|
72649
|
+
({ tags }) => {
|
|
72650
|
+
const declared = declaredIdsForBindingCheck(tags);
|
|
72625
72651
|
if (!declared) return [];
|
|
72626
72652
|
const findings = [];
|
|
72627
72653
|
for (const tag of tags) {
|
|
@@ -72646,8 +72672,8 @@ ${right.raw}`)
|
|
|
72646
72672
|
// catch them at lint time rather than wondering why their `getVariables()`
|
|
72647
72673
|
// defaults aren't applied.
|
|
72648
72674
|
// fallow-ignore-next-line complexity
|
|
72649
|
-
({
|
|
72650
|
-
const htmlTag = findHtmlTag(
|
|
72675
|
+
({ tags }) => {
|
|
72676
|
+
const htmlTag = findHtmlTag(tags);
|
|
72651
72677
|
if (!htmlTag) return [];
|
|
72652
72678
|
const raw = readJsonAttr(htmlTag.raw, "data-composition-variables");
|
|
72653
72679
|
if (!raw) return [];
|
|
@@ -72720,8 +72746,8 @@ ${right.raw}`)
|
|
|
72720
72746
|
// fixed top-left-origin screenshot region, which RTL layout can shift the
|
|
72721
72747
|
// actual content away from), only surfaces the already-confirmed footgun
|
|
72722
72748
|
// before someone hits it blind.
|
|
72723
|
-
({
|
|
72724
|
-
const htmlTag = findHtmlTag(
|
|
72749
|
+
({ tags }) => {
|
|
72750
|
+
const htmlTag = findHtmlTag(tags);
|
|
72725
72751
|
if (!htmlTag) return [];
|
|
72726
72752
|
const dir = readAttr(htmlTag.raw, "dir");
|
|
72727
72753
|
if (!dir) return [];
|
|
@@ -73141,8 +73167,6 @@ ${allInlineStyles}`.replace(/\/\*[\s\S]*?\*\//g, "");
|
|
|
73141
73167
|
...slideshowRules
|
|
73142
73168
|
];
|
|
73143
73169
|
AUDIO_EXTENSIONS = /* @__PURE__ */ new Set([".mp3", ".wav", ".aac", ".ogg", ".m4a", ".flac", ".opus"]);
|
|
73144
|
-
STYLE_BLOCK_RE = /<style\b[^>]*>([\s\S]*?)<\/style>/gi;
|
|
73145
|
-
OPEN_TAG_RE = /<([a-z][\w:-]*)(\s[^<>]*?)?>/gi;
|
|
73146
73170
|
MASK_IMAGE_URL_RE = /\b(?:-webkit-)?mask-image\s*:\s*[^;{}]*url\(\s*(?:"([^"]+)"|'([^']+)'|([^"')\s]+))\s*\)/gi;
|
|
73147
73171
|
}
|
|
73148
73172
|
});
|
|
@@ -76834,6 +76858,11 @@ async function executeWorkerTask(task, serverUrl, captureOptions, createBeforeCa
|
|
|
76834
76858
|
});
|
|
76835
76859
|
}
|
|
76836
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
|
+
}
|
|
76837
76866
|
async function executeParallelCapture(serverUrl, workDir, tasks, captureOptions, createBeforeCaptureHook, signal, onProgress, onFrameBuffer, config) {
|
|
76838
76867
|
const totalFrames = tasks.reduce(
|
|
76839
76868
|
(sum, t2) => sum + Math.ceil((t2.endFrame - t2.startFrame) / (t2.frameStride ?? 1)),
|
|
@@ -76855,12 +76884,17 @@ async function executeParallelCapture(serverUrl, workDir, tasks, captureOptions,
|
|
|
76855
76884
|
}
|
|
76856
76885
|
};
|
|
76857
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 };
|
|
76858
76892
|
const results = await Promise.all(
|
|
76859
76893
|
tasks.map(
|
|
76860
76894
|
(task) => executeWorkerTask(
|
|
76861
76895
|
task,
|
|
76862
76896
|
serverUrl,
|
|
76863
|
-
|
|
76897
|
+
workerCaptureOptions,
|
|
76864
76898
|
createBeforeCaptureHook,
|
|
76865
76899
|
signal,
|
|
76866
76900
|
onFrameCaptured,
|
|
@@ -79245,6 +79279,7 @@ function renderObservabilityEventProperties(props) {
|
|
|
79245
79279
|
de_pre_router_workers: props.captureDePreRouterWorkers,
|
|
79246
79280
|
de_self_verify_fallback: props.captureDeSelfVerifyFallback,
|
|
79247
79281
|
de_fallback_reason: props.captureDeFallbackReason,
|
|
79282
|
+
capture_parallel_stream: props.captureParallelStream,
|
|
79248
79283
|
observability_extract_video_count: props.observabilityExtractVideoCount,
|
|
79249
79284
|
observability_extracted_video_count: props.observabilityExtractedVideoCount,
|
|
79250
79285
|
observability_extract_total_frames: props.observabilityExtractTotalFrames,
|
|
@@ -79289,6 +79324,8 @@ function trackRenderComplete(props) {
|
|
|
79289
79324
|
static_dedup_skip_reason: props.staticDedupSkipReason,
|
|
79290
79325
|
static_dedup_predicted_frames: props.staticDedupPredictedFrames,
|
|
79291
79326
|
static_dedup_reused_frames: props.staticDedupReusedFrames,
|
|
79327
|
+
begin_frame_no_damage_frames: props.beginFrameNoDamageFrames,
|
|
79328
|
+
begin_frame_has_damage_frames: props.beginFrameHasDamageFrames,
|
|
79292
79329
|
de_capture_mode: props.deCaptureMode,
|
|
79293
79330
|
de_compile_gate: props.deCompileGate,
|
|
79294
79331
|
de_clamp_reason: props.deClampReason,
|
|
@@ -79382,6 +79419,11 @@ function trackRenderObservation(props) {
|
|
|
79382
79419
|
use_page_side_compositing: props.usePageSideCompositing,
|
|
79383
79420
|
has_hdr_content: props.hasHdrContent,
|
|
79384
79421
|
capture_mode: props.captureMode,
|
|
79422
|
+
capture_operation: props.captureOperation,
|
|
79423
|
+
frames_completed: props.framesCompleted,
|
|
79424
|
+
total_frames: props.totalFrames,
|
|
79425
|
+
heartbeat_index: props.heartbeatIndex,
|
|
79426
|
+
stage_elapsed_ms: props.stageElapsedMs,
|
|
79385
79427
|
video_count: props.videoCount,
|
|
79386
79428
|
extracted_video_count: props.extractedVideoCount,
|
|
79387
79429
|
total_frames_extracted: props.totalFramesExtracted,
|
|
@@ -84427,6 +84469,9 @@ function buildBrowserArgs(url, options) {
|
|
|
84427
84469
|
if (options.remoteDebuggingPort !== void 0 && options.userDataDir) {
|
|
84428
84470
|
args.push(`--remote-debugging-port=${options.remoteDebuggingPort}`);
|
|
84429
84471
|
}
|
|
84472
|
+
if (options.disableGpu) {
|
|
84473
|
+
args.push("--disable-gpu");
|
|
84474
|
+
}
|
|
84430
84475
|
args.push(url);
|
|
84431
84476
|
return args;
|
|
84432
84477
|
}
|
|
@@ -85291,6 +85336,7 @@ function renderObservabilityTelemetryPayload(observability) {
|
|
|
85291
85336
|
captureDePreRouterWorkers: capture2.dePreRouterWorkers,
|
|
85292
85337
|
captureDeSelfVerifyFallback: capture2.deSelfVerifyFallback,
|
|
85293
85338
|
captureDeFallbackReason: capture2.deFallbackReason,
|
|
85339
|
+
captureParallelStream: capture2.captureParallelStream,
|
|
85294
85340
|
observabilityExtractVideoCount: extraction?.videoCount,
|
|
85295
85341
|
observabilityExtractedVideoCount: extraction?.extractedVideoCount,
|
|
85296
85342
|
observabilityExtractTotalFrames: extraction?.totalFramesExtracted,
|
|
@@ -86732,8 +86778,11 @@ function buildTweenStatementCode(timelineVar, anim) {
|
|
|
86732
86778
|
if (anim.method !== "set" && anim.duration !== void 0) props.duration = anim.duration;
|
|
86733
86779
|
if (anim.ease) props.ease = anim.ease;
|
|
86734
86780
|
const entries2 = Object.entries(props).map(([k2, v2]) => `${safeKey(k2)}: ${valueToCode(v2)}`);
|
|
86781
|
+
const emitted = new Set(Object.keys(props));
|
|
86735
86782
|
if (anim.extras) {
|
|
86736
86783
|
for (const [k2, v2] of Object.entries(anim.extras)) {
|
|
86784
|
+
if (emitted.has(k2)) continue;
|
|
86785
|
+
emitted.add(k2);
|
|
86737
86786
|
entries2.push(`${safeKey(k2)}: ${valueToCode(v2)}`);
|
|
86738
86787
|
}
|
|
86739
86788
|
}
|
|
@@ -86841,10 +86890,13 @@ function reconcileEditableProps(ms, objNode, source, newProps, nonEditableOverri
|
|
|
86841
86890
|
const overrides = nonEditableOverrides ?? {};
|
|
86842
86891
|
const { entries: entries2, keys: keys2 } = preservedEntries(objNode, source, isEditableVarKey, overrides);
|
|
86843
86892
|
for (const [key2, value] of Object.entries(overrides)) {
|
|
86844
|
-
if (!keys2.has(key2))
|
|
86893
|
+
if (!keys2.has(key2)) {
|
|
86894
|
+
keys2.add(key2);
|
|
86895
|
+
entries2.push(`${safeKey(key2)}: ${valueToCode(value)}`);
|
|
86896
|
+
}
|
|
86845
86897
|
}
|
|
86846
86898
|
for (const [key2, value] of Object.entries(newProps)) {
|
|
86847
|
-
entries2.push(`${safeKey(key2)}: ${valueToCode(value)}`);
|
|
86899
|
+
if (!keys2.has(key2)) entries2.push(`${safeKey(key2)}: ${valueToCode(value)}`);
|
|
86848
86900
|
}
|
|
86849
86901
|
ms.overwrite(objNode.start, objNode.end, `{ ${entries2.join(", ")} }`);
|
|
86850
86902
|
}
|
|
@@ -93610,9 +93662,15 @@ function buildTweenStatementCode2(timelineVar, anim) {
|
|
|
93610
93662
|
if (anim.method !== "set" && anim.duration !== void 0) props.duration = anim.duration;
|
|
93611
93663
|
if (anim.ease) props.ease = anim.ease;
|
|
93612
93664
|
const entries2 = Object.entries(props).map(([k2, v2]) => `${safeJsKey2(k2)}: ${serializeValue2(v2)}`);
|
|
93613
|
-
|
|
93665
|
+
const emitted = new Set(Object.keys(props));
|
|
93666
|
+
if (anim.method === "set" && !anim.global && !emitted.has("immediateRender") && !(anim.extras && "immediateRender" in anim.extras)) {
|
|
93667
|
+
entries2.push("immediateRender: true");
|
|
93668
|
+
emitted.add("immediateRender");
|
|
93669
|
+
}
|
|
93614
93670
|
if (anim.extras) {
|
|
93615
93671
|
for (const [k2, v2] of Object.entries(anim.extras)) {
|
|
93672
|
+
if (emitted.has(k2)) continue;
|
|
93673
|
+
emitted.add(k2);
|
|
93616
93674
|
entries2.push(`${safeJsKey2(k2)}: ${serializeValue2(v2)}`);
|
|
93617
93675
|
}
|
|
93618
93676
|
}
|
|
@@ -101036,6 +101094,12 @@ function aggregateDedup(perfs) {
|
|
|
101036
101094
|
skipReason: skipReasons.length > 0 ? skipReasons.join("|") : void 0
|
|
101037
101095
|
};
|
|
101038
101096
|
}
|
|
101097
|
+
function aggregateBeginFrameReuse(perfs) {
|
|
101098
|
+
const noDamageFrames = perfs.reduce((sum, p2) => sum + (p2.beginFrameNoDamage ?? 0), 0);
|
|
101099
|
+
const hasDamageFrames = perfs.reduce((sum, p2) => sum + (p2.beginFrameHasDamage ?? 0), 0);
|
|
101100
|
+
if (noDamageFrames + hasDamageFrames === 0) return void 0;
|
|
101101
|
+
return { noDamageFrames, hasDamageFrames };
|
|
101102
|
+
}
|
|
101039
101103
|
function buildRenderPerfSummary(input2) {
|
|
101040
101104
|
return {
|
|
101041
101105
|
renderId: input2.job.id,
|
|
@@ -101079,6 +101143,7 @@ function buildRenderPerfSummary(input2) {
|
|
|
101079
101143
|
peakRssMb: Math.round(input2.peakRssBytes / (1024 * 1024)),
|
|
101080
101144
|
peakHeapUsedMb: Math.round(input2.peakHeapUsedBytes / (1024 * 1024)),
|
|
101081
101145
|
staticDedup: aggregateDedup(input2.dedupPerfs),
|
|
101146
|
+
beginFrameReuse: aggregateBeginFrameReuse(input2.dedupPerfs),
|
|
101082
101147
|
drawElement: aggregateDrawElement(
|
|
101083
101148
|
input2.dedupPerfs,
|
|
101084
101149
|
input2.drawElement ?? { selfVerifyFallback: false }
|
|
@@ -101532,18 +101597,47 @@ function summarizeBrowserDiagnostics(lines) {
|
|
|
101532
101597
|
consoleWarnings
|
|
101533
101598
|
};
|
|
101534
101599
|
}
|
|
101600
|
+
function heartbeatTargetMs(index) {
|
|
101601
|
+
const rampTarget = HEARTBEAT_RAMP_MS[index];
|
|
101602
|
+
if (rampTarget !== void 0) return rampTarget;
|
|
101603
|
+
const overflow = index - HEARTBEAT_RAMP_MS.length + 1;
|
|
101604
|
+
return HEARTBEAT_RAMP_END_MS + overflow * HEARTBEAT_REPEAT_MS;
|
|
101605
|
+
}
|
|
101535
101606
|
async function observeRenderStage(recorder, phase, data2, fn) {
|
|
101536
101607
|
const startedAt = recorder.stageStart(phase, data2);
|
|
101608
|
+
let heartbeatCount = 0;
|
|
101609
|
+
let lastFiredAtMs = 0;
|
|
101610
|
+
let heartbeatTimer;
|
|
101611
|
+
const scheduleNextHeartbeat = () => {
|
|
101612
|
+
const targetMs = heartbeatTargetMs(heartbeatCount);
|
|
101613
|
+
heartbeatTimer = setTimeout(() => {
|
|
101614
|
+
lastFiredAtMs = targetMs;
|
|
101615
|
+
heartbeatCount += 1;
|
|
101616
|
+
recorder.checkpoint(phase, "stage still running", {
|
|
101617
|
+
...data2,
|
|
101618
|
+
heartbeatIndex: heartbeatCount,
|
|
101619
|
+
stageElapsedMs: Date.now() - startedAt
|
|
101620
|
+
});
|
|
101621
|
+
scheduleNextHeartbeat();
|
|
101622
|
+
}, targetMs - lastFiredAtMs);
|
|
101623
|
+
heartbeatTimer.unref?.();
|
|
101624
|
+
};
|
|
101625
|
+
scheduleNextHeartbeat();
|
|
101626
|
+
const clearHeartbeats = () => {
|
|
101627
|
+
clearTimeout(heartbeatTimer);
|
|
101628
|
+
};
|
|
101537
101629
|
try {
|
|
101538
101630
|
const result = await fn();
|
|
101539
|
-
|
|
101631
|
+
clearHeartbeats();
|
|
101632
|
+
recorder.stageEnd(phase, startedAt, data2);
|
|
101540
101633
|
return result;
|
|
101541
101634
|
} catch (error) {
|
|
101542
|
-
|
|
101635
|
+
clearHeartbeats();
|
|
101636
|
+
recorder.stageError(phase, startedAt, error, data2);
|
|
101543
101637
|
throw error;
|
|
101544
101638
|
}
|
|
101545
101639
|
}
|
|
101546
|
-
var MAX_EVENTS, ALLOWED_STRING_DATA_KEYS, RESERVED_LOG_KEYS, RenderObservabilityRecorder;
|
|
101640
|
+
var MAX_EVENTS, ALLOWED_STRING_DATA_KEYS, RESERVED_LOG_KEYS, RenderObservabilityRecorder, HEARTBEAT_RAMP_MS, HEARTBEAT_REPEAT_MS, HEARTBEAT_RAMP_END_MS;
|
|
101547
101641
|
var init_observability = __esm({
|
|
101548
101642
|
"../producer/src/services/render/observability.ts"() {
|
|
101549
101643
|
"use strict";
|
|
@@ -101553,6 +101647,7 @@ var init_observability = __esm({
|
|
|
101553
101647
|
ALLOWED_STRING_DATA_KEYS = /* @__PURE__ */ new Set([
|
|
101554
101648
|
"browserGpuMode",
|
|
101555
101649
|
"captureMode",
|
|
101650
|
+
"captureOperation",
|
|
101556
101651
|
"compositionHash",
|
|
101557
101652
|
"effectiveHdr",
|
|
101558
101653
|
"format",
|
|
@@ -101659,6 +101754,9 @@ var init_observability = __esm({
|
|
|
101659
101754
|
return eventWithJob;
|
|
101660
101755
|
}
|
|
101661
101756
|
};
|
|
101757
|
+
HEARTBEAT_RAMP_MS = [3e4, 6e4, 12e4];
|
|
101758
|
+
HEARTBEAT_REPEAT_MS = 12e4;
|
|
101759
|
+
HEARTBEAT_RAMP_END_MS = HEARTBEAT_RAMP_MS[HEARTBEAT_RAMP_MS.length - 1] ?? HEARTBEAT_REPEAT_MS;
|
|
101662
101760
|
}
|
|
101663
101761
|
});
|
|
101664
101762
|
|
|
@@ -106252,6 +106350,39 @@ function detectThreeDTransformUsage(html) {
|
|
|
106252
106350
|
function detectMixBlendModeUsage(html) {
|
|
106253
106351
|
return MIX_BLEND_MODE_PATTERN.test(html);
|
|
106254
106352
|
}
|
|
106353
|
+
function detectAncestorBackgroundImage(html) {
|
|
106354
|
+
const { document: document2 } = parseHTML(html);
|
|
106355
|
+
const root = document2.querySelector("[data-composition-id]");
|
|
106356
|
+
if (!root) return false;
|
|
106357
|
+
const ancestors = [];
|
|
106358
|
+
for (let el = root.parentElement; el; el = el.parentElement) ancestors.push(el);
|
|
106359
|
+
if (document2.documentElement && !ancestors.includes(document2.documentElement)) {
|
|
106360
|
+
ancestors.push(document2.documentElement);
|
|
106361
|
+
}
|
|
106362
|
+
for (const el of ancestors) {
|
|
106363
|
+
const style = el.getAttribute("style");
|
|
106364
|
+
if (style && BACKGROUND_IMAGE_DECL_PATTERN.test(`{${style}}`)) return true;
|
|
106365
|
+
}
|
|
106366
|
+
for (const styleEl of document2.querySelectorAll("style")) {
|
|
106367
|
+
const css = styleEl.textContent ?? "";
|
|
106368
|
+
for (const rule of css.matchAll(/([^{}]+)\{([^}]*)\}/g)) {
|
|
106369
|
+
const [, selectorList = "", declarations = ""] = rule;
|
|
106370
|
+
if (!BACKGROUND_IMAGE_DECL_PATTERN.test(`{${declarations}}`)) continue;
|
|
106371
|
+
for (const selector of selectorList.split(",")) {
|
|
106372
|
+
const sel = selector.trim();
|
|
106373
|
+
if (!sel || sel.startsWith("@")) continue;
|
|
106374
|
+
if (/^(?:html|:root)$/i.test(sel)) return true;
|
|
106375
|
+
try {
|
|
106376
|
+
for (const matched of document2.querySelectorAll(sel)) {
|
|
106377
|
+
if (ancestors.includes(matched)) return true;
|
|
106378
|
+
}
|
|
106379
|
+
} catch {
|
|
106380
|
+
}
|
|
106381
|
+
}
|
|
106382
|
+
}
|
|
106383
|
+
}
|
|
106384
|
+
return false;
|
|
106385
|
+
}
|
|
106255
106386
|
function detectShaderTransitionUsage(html) {
|
|
106256
106387
|
let scriptMatch;
|
|
106257
106388
|
const scriptPattern = new RegExp(INLINE_SCRIPT_PATTERN.source, INLINE_SCRIPT_PATTERN.flags);
|
|
@@ -107084,6 +107215,7 @@ async function compileForRender(projectDir, htmlPath, downloadDir, options = {})
|
|
|
107084
107215
|
const hasShaderTransitions = detectShaderTransitionUsage(sanitizedHtml);
|
|
107085
107216
|
const usesThreeDTransforms = detectThreeDTransformUsage(sanitizedHtml);
|
|
107086
107217
|
const usesMixBlendMode = detectMixBlendModeUsage(sanitizedHtml);
|
|
107218
|
+
const hasAncestorBackgroundImage = detectAncestorBackgroundImage(sanitizedHtml);
|
|
107087
107219
|
const normalizedFontHtml = normalizeSystemFontPrimaryFamilies(
|
|
107088
107220
|
injectTextRenderingRule2(
|
|
107089
107221
|
coalesceHeadStylesAndBodyScripts2(promoteCssImportsToLinkTags(sanitizedHtml))
|
|
@@ -107190,7 +107322,8 @@ async function compileForRender(projectDir, htmlPath, downloadDir, options = {})
|
|
|
107190
107322
|
renderModeHints,
|
|
107191
107323
|
hasShaderTransitions,
|
|
107192
107324
|
usesThreeDTransforms,
|
|
107193
|
-
usesMixBlendMode
|
|
107325
|
+
usesMixBlendMode,
|
|
107326
|
+
hasAncestorBackgroundImage
|
|
107194
107327
|
};
|
|
107195
107328
|
}
|
|
107196
107329
|
async function discoverMediaFromBrowser(page) {
|
|
@@ -107429,7 +107562,7 @@ async function recompileWithResolutions(compiled, resolutions, projectDir, downl
|
|
|
107429
107562
|
hasShaderTransitions: compiled.hasShaderTransitions
|
|
107430
107563
|
};
|
|
107431
107564
|
}
|
|
107432
|
-
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;
|
|
107565
|
+
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;
|
|
107433
107566
|
var init_htmlCompiler2 = __esm({
|
|
107434
107567
|
"../producer/src/services/htmlCompiler.ts"() {
|
|
107435
107568
|
"use strict";
|
|
@@ -107466,6 +107599,7 @@ Check that each file referenced by data-composition-src contains valid HTML with
|
|
|
107466
107599
|
COMPILER_MOUNT_BLOCK_END = "/* __HF_COMPILER_MOUNT_END__ */";
|
|
107467
107600
|
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;
|
|
107468
107601
|
MIX_BLEND_MODE_PATTERN = /mix-blend-mode\s*:/i;
|
|
107602
|
+
BACKGROUND_IMAGE_DECL_PATTERN = /(?:^|;|\{)\s*background(?:-image)?\s*:[^;}]*(?:\bgradient\s*\(|url\s*\()/i;
|
|
107469
107603
|
SHADER_TRANSITION_USAGE_PATTERN = /\b(?:(?:window|globalThis)\s*\.\s*)?HyperShader\s*\.\s*init\s*\(|\b__hf\s*\.\s*transitions\s*=/;
|
|
107470
107604
|
REMOTE_MEDIA_SUBDIR = "_remote_media";
|
|
107471
107605
|
REMOTE_MEDIA_TAG_RE = /<(?:video|audio)\b[^>]*?\bsrc\s*=\s*["'](https?:\/\/[^"']+)["'][^>]*>/gi;
|
|
@@ -107520,6 +107654,13 @@ async function runCompileStage(input2) {
|
|
|
107520
107654
|
"[Render] Fast capture: composition uses mix-blend-mode \u2014 disabling drawElementImage for this render. Capture uses the platform's baseline route."
|
|
107521
107655
|
);
|
|
107522
107656
|
}
|
|
107657
|
+
if (cfg.useDrawElement && process.env.HF_FAST_CAPTURE_ANCESTOR_BG !== "true" && compiled.hasAncestorBackgroundImage) {
|
|
107658
|
+
cfg.useDrawElement = false;
|
|
107659
|
+
deCompileGate = "ancestor_background_image";
|
|
107660
|
+
log2.info(
|
|
107661
|
+
"[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."
|
|
107662
|
+
);
|
|
107663
|
+
}
|
|
107523
107664
|
if (cfg.useDrawElement && process.env.PRODUCER_EXPERIMENTAL_FAST_CAPTURE !== "true" && compiled.hasShaderTransitions) {
|
|
107524
107665
|
cfg.useDrawElement = false;
|
|
107525
107666
|
deCompileGate = "shader_transitions";
|
|
@@ -109566,7 +109707,8 @@ import {
|
|
|
109566
109707
|
mkdirSync as mkdirSync19,
|
|
109567
109708
|
mkdtempSync as mkdtempSync3,
|
|
109568
109709
|
openSync as openSync3,
|
|
109569
|
-
readFileSync as readFileSync25
|
|
109710
|
+
readFileSync as readFileSync25,
|
|
109711
|
+
statfsSync as statfsSync2
|
|
109570
109712
|
} from "fs";
|
|
109571
109713
|
import { join as join43 } from "path";
|
|
109572
109714
|
function tempDirSafePrefix(id) {
|
|
@@ -109649,9 +109791,52 @@ async function probeHdrExtractionDims(args) {
|
|
|
109649
109791
|
}
|
|
109650
109792
|
}
|
|
109651
109793
|
}
|
|
109794
|
+
function estimateHdrExtractionBytes(videos, fps) {
|
|
109795
|
+
let total = 0;
|
|
109796
|
+
for (const v2 of videos) {
|
|
109797
|
+
const frames = Math.ceil(Math.max(0, v2.durationSeconds) * fps);
|
|
109798
|
+
total += frames * v2.width * v2.height * 6;
|
|
109799
|
+
}
|
|
109800
|
+
return total;
|
|
109801
|
+
}
|
|
109802
|
+
function assertHdrExtractionDiskHeadroom(framesDir, plannedVideos, fps, log2) {
|
|
109803
|
+
const estimatedBytes = estimateHdrExtractionBytes(plannedVideos, fps);
|
|
109804
|
+
let freeBytes;
|
|
109805
|
+
try {
|
|
109806
|
+
const stat3 = statfsSync2(framesDir);
|
|
109807
|
+
freeBytes = stat3.bavail * stat3.bsize;
|
|
109808
|
+
} catch {
|
|
109809
|
+
return;
|
|
109810
|
+
}
|
|
109811
|
+
const estimatedGb = (estimatedBytes / 1e9).toFixed(1);
|
|
109812
|
+
if (estimatedBytes > freeBytes * HDR_EXTRACTION_HEADROOM_FRACTION) {
|
|
109813
|
+
throw new Error(
|
|
109814
|
+
`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.`
|
|
109815
|
+
);
|
|
109816
|
+
}
|
|
109817
|
+
if (estimatedBytes > HDR_EXTRACTION_WARN_BYTES) {
|
|
109818
|
+
log2.warn(
|
|
109819
|
+
`HDR pre-extraction will write ~${estimatedGb} GB of raw 16-bit frames (pass --sdr to skip if HDR output isn't needed)`,
|
|
109820
|
+
{ estimatedBytes, freeBytes }
|
|
109821
|
+
);
|
|
109822
|
+
}
|
|
109823
|
+
}
|
|
109652
109824
|
async function extractHdrVideoFrames(args) {
|
|
109653
109825
|
const { job, log: log2, framesDir, composition, prep, width, height, abortSignal, hdrDiagnostics } = args;
|
|
109654
109826
|
const out = /* @__PURE__ */ new Map();
|
|
109827
|
+
mkdirSync19(framesDir, { recursive: true });
|
|
109828
|
+
const plannedVideos = [];
|
|
109829
|
+
for (const [videoId] of prep.hdrVideoSrcPaths) {
|
|
109830
|
+
const video = composition.videos.find((v2) => v2.id === videoId);
|
|
109831
|
+
if (!video) continue;
|
|
109832
|
+
const dims = prep.hdrExtractionDims.get(videoId) ?? { width, height };
|
|
109833
|
+
plannedVideos.push({
|
|
109834
|
+
durationSeconds: video.end - video.start,
|
|
109835
|
+
width: dims.width,
|
|
109836
|
+
height: dims.height
|
|
109837
|
+
});
|
|
109838
|
+
}
|
|
109839
|
+
assertHdrExtractionDiskHeadroom(framesDir, plannedVideos, fpsToNumber(job.config.fps), log2);
|
|
109655
109840
|
for (const [videoId, srcPath] of prep.hdrVideoSrcPaths) {
|
|
109656
109841
|
const video = composition.videos.find((v2) => v2.id === videoId);
|
|
109657
109842
|
if (!video) continue;
|
|
@@ -109759,13 +109944,15 @@ function decodeHdrImageBuffers(args) {
|
|
|
109759
109944
|
}
|
|
109760
109945
|
return out;
|
|
109761
109946
|
}
|
|
109762
|
-
var NO_FOLLOW_FLAG;
|
|
109947
|
+
var NO_FOLLOW_FLAG, HDR_EXTRACTION_HEADROOM_FRACTION, HDR_EXTRACTION_WARN_BYTES;
|
|
109763
109948
|
var init_captureHdrResources = __esm({
|
|
109764
109949
|
"../producer/src/services/render/stages/captureHdrResources.ts"() {
|
|
109765
109950
|
"use strict";
|
|
109766
109951
|
init_src();
|
|
109767
109952
|
init_dist3();
|
|
109768
109953
|
NO_FOLLOW_FLAG = constants3.O_NOFOLLOW ?? 0;
|
|
109954
|
+
HDR_EXTRACTION_HEADROOM_FRACTION = 0.9;
|
|
109955
|
+
HDR_EXTRACTION_WARN_BYTES = 1e10;
|
|
109769
109956
|
}
|
|
109770
109957
|
});
|
|
109771
109958
|
|
|
@@ -110874,6 +111061,8 @@ async function runEncodeStage(input2) {
|
|
|
110874
111061
|
return { encodeMs: Date.now() - stage5Start };
|
|
110875
111062
|
}
|
|
110876
111063
|
updateJobStatus(job, "encoding", "Encoding video", 75, onProgress);
|
|
111064
|
+
const scaledEncodeTimeout = Math.ceil((job.duration ?? 0) * 4e3);
|
|
111065
|
+
const videoEngineCfg = scaledEncodeTimeout > engineCfg.ffmpegEncodeTimeout ? { ...engineCfg, ffmpegEncodeTimeout: scaledEncodeTimeout } : engineCfg;
|
|
110877
111066
|
const frameExt = needsAlpha ? "png" : "jpg";
|
|
110878
111067
|
const framePattern = `frame_%06d.${frameExt}`;
|
|
110879
111068
|
const encoderOpts = {
|
|
@@ -110901,14 +111090,14 @@ async function runEncodeStage(input2) {
|
|
|
110901
111090
|
encoderOpts,
|
|
110902
111091
|
chunkedEncodeSize,
|
|
110903
111092
|
abortSignal,
|
|
110904
|
-
|
|
111093
|
+
videoEngineCfg
|
|
110905
111094
|
) : await encodeFramesFromDir(
|
|
110906
111095
|
framesDir,
|
|
110907
111096
|
framePattern,
|
|
110908
111097
|
videoOnlyPath,
|
|
110909
111098
|
encoderOpts,
|
|
110910
111099
|
abortSignal,
|
|
110911
|
-
|
|
111100
|
+
videoEngineCfg
|
|
110912
111101
|
);
|
|
110913
111102
|
assertNotAborted();
|
|
110914
111103
|
if (!encodeResult.success) {
|
|
@@ -110990,6 +111179,7 @@ import {
|
|
|
110990
111179
|
appendFileSync
|
|
110991
111180
|
} from "fs";
|
|
110992
111181
|
import { join as join50, dirname as dirname19, resolve as resolve26 } from "path";
|
|
111182
|
+
import { totalmem as totalmem2 } from "os";
|
|
110993
111183
|
import { randomUUID as randomUUID4 } from "crypto";
|
|
110994
111184
|
import { fileURLToPath as fileURLToPath5 } from "url";
|
|
110995
111185
|
function sampleDirectoryBytes(dir) {
|
|
@@ -111130,6 +111320,9 @@ function getNextRetryWorkerCount(currentWorkers) {
|
|
|
111130
111320
|
function captureAttemptMadeProgress(attemptTargetFrameCount, remainingFrameCount) {
|
|
111131
111321
|
return remainingFrameCount < attemptTargetFrameCount;
|
|
111132
111322
|
}
|
|
111323
|
+
function resetCaptureAttemptProgress(job) {
|
|
111324
|
+
job.framesRendered = 0;
|
|
111325
|
+
}
|
|
111133
111326
|
function isRecoverableParallelCaptureError(error) {
|
|
111134
111327
|
const message = normalizeErrorMessage2(error);
|
|
111135
111328
|
return message.includes("[Parallel] Capture failed") && /Runtime\.callFunctionOn timed out|HeadlessExperimental\.beginFrame timed out|Waiting failed|timeout exceeded|timed out|Navigation timeout|Protocol error|Target closed/i.test(
|
|
@@ -111311,11 +111504,24 @@ function createRenderJob(config) {
|
|
|
111311
111504
|
function normalizeCompositionSrcPath(srcPath) {
|
|
111312
111505
|
return srcPath.replace(/\\/g, "/").replace(/^\.\//, "");
|
|
111313
111506
|
}
|
|
111314
|
-
function
|
|
111507
|
+
function readSceneRootDuration(entryHtml) {
|
|
111508
|
+
if (!entryHtml) return null;
|
|
111509
|
+
const { document: document2 } = parseHTML(entryHtml);
|
|
111510
|
+
const template = document2.querySelector("template");
|
|
111511
|
+
const scope = template ? parseHTML(template.innerHTML).document : document2;
|
|
111512
|
+
const root = scope.querySelector("[data-composition-id]");
|
|
111513
|
+
return root?.getAttribute("data-duration") ?? null;
|
|
111514
|
+
}
|
|
111515
|
+
function createStandaloneEntryRenderClone(root, host, sceneDuration) {
|
|
111315
111516
|
const hostClone = host.cloneNode(true);
|
|
111316
111517
|
hostClone.setAttribute("data-start", "0");
|
|
111317
111518
|
if (root === host) return hostClone;
|
|
111318
111519
|
const rootClone = root.cloneNode(false);
|
|
111520
|
+
if (sceneDuration != null) {
|
|
111521
|
+
rootClone.setAttribute("data-duration", sceneDuration);
|
|
111522
|
+
} else {
|
|
111523
|
+
rootClone.removeAttribute("data-duration");
|
|
111524
|
+
}
|
|
111319
111525
|
rootClone.appendChild(hostClone);
|
|
111320
111526
|
return rootClone;
|
|
111321
111527
|
}
|
|
@@ -111352,7 +111558,13 @@ function resolveInversionRetryPlan(args) {
|
|
|
111352
111558
|
};
|
|
111353
111559
|
}
|
|
111354
111560
|
function shouldPreferParallelDrawElement(args) {
|
|
111355
|
-
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
|
|
111561
|
+
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
|
|
111562
|
+
// instances. On a 16 GB machine that produced vertical black slabs in the
|
|
111563
|
+
// final MP4 (wild report, CLI 0.7.52) — compositor tiles evicted under
|
|
111564
|
+
// GPU/memory pressure, and sampled self-verify can miss partial-frame
|
|
111565
|
+
// damage. Single-worker DE (the inversion) stays available below the
|
|
111566
|
+
// floor; only the parallel bet is withheld.
|
|
111567
|
+
(args.minMemoryMb <= 0 || args.totalMemoryMb >= args.minMemoryMb);
|
|
111356
111568
|
}
|
|
111357
111569
|
function resolveParallelRouterRetryPlan(args) {
|
|
111358
111570
|
if (args.deParallelRouter !== "routed") return null;
|
|
@@ -111373,13 +111585,16 @@ function shouldRetryViaPinnedFallback(args) {
|
|
|
111373
111585
|
if (args.isVerifyError) return true;
|
|
111374
111586
|
return args.deWorkerInversion === "inverted" || args.deParallelRouter === "routed";
|
|
111375
111587
|
}
|
|
111588
|
+
function shouldStreamParallelCapture(args) {
|
|
111589
|
+
return args.routerEnabled && args.workerCount > 1 && !args.useDrawElement && args.outputFormat === "mp4" && args.streamingOk && !args.layeredOrEffectRoute;
|
|
111590
|
+
}
|
|
111376
111591
|
function resolveCaptureForceScreenshotForPageSideCompositing(args) {
|
|
111377
111592
|
return args.usePageSideCompositing ? true : args.forceScreenshot;
|
|
111378
111593
|
}
|
|
111379
111594
|
function shouldDiscardProbeSessionForPageSideCompositing(args) {
|
|
111380
111595
|
return args.hasProbeSession && args.usePageSideCompositing;
|
|
111381
111596
|
}
|
|
111382
|
-
function extractStandaloneEntryFromIndex(indexHtml, entryFile) {
|
|
111597
|
+
function extractStandaloneEntryFromIndex(indexHtml, entryFile, entryHtml) {
|
|
111383
111598
|
const normalizedEntryFile = normalizeCompositionSrcPath(entryFile);
|
|
111384
111599
|
const { document: document2 } = parseHTML(indexHtml);
|
|
111385
111600
|
const body = document2.querySelector("body");
|
|
@@ -111393,7 +111608,8 @@ function extractStandaloneEntryFromIndex(indexHtml, entryFile) {
|
|
|
111393
111608
|
(candidate) => candidate.hasAttribute("data-composition-id")
|
|
111394
111609
|
) ?? null;
|
|
111395
111610
|
if (!root) return null;
|
|
111396
|
-
const
|
|
111611
|
+
const sceneDuration = readSceneRootDuration(entryHtml) ?? host.getAttribute("data-duration");
|
|
111612
|
+
const renderClone = createStandaloneEntryRenderClone(root, host, sceneDuration);
|
|
111397
111613
|
replaceBodyWithRenderClone(body, renderClone);
|
|
111398
111614
|
return document2.toString();
|
|
111399
111615
|
}
|
|
@@ -111513,7 +111729,8 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
111513
111729
|
}
|
|
111514
111730
|
const standaloneHtml = extractStandaloneEntryFromIndex(
|
|
111515
111731
|
readFileSync26(projectIndexPath, "utf-8"),
|
|
111516
|
-
entryFile
|
|
111732
|
+
entryFile,
|
|
111733
|
+
rawEntry
|
|
111517
111734
|
);
|
|
111518
111735
|
if (!standaloneHtml) {
|
|
111519
111736
|
throw new Error(
|
|
@@ -111558,6 +111775,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
111558
111775
|
let deClampReason;
|
|
111559
111776
|
let deWorkerInversion;
|
|
111560
111777
|
let deParallelStreamForced = false;
|
|
111778
|
+
let captureParallelStreamForced = false;
|
|
111561
111779
|
let deSelfVerifyFallback = false;
|
|
111562
111780
|
let deFallbackReason;
|
|
111563
111781
|
let deDrainStats;
|
|
@@ -111813,6 +112031,9 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
111813
112031
|
const deParallelMinFramesRaw = process.env.HF_DE_PARALLEL_MIN_FRAMES;
|
|
111814
112032
|
const deParallelMinFramesNum = deParallelMinFramesRaw === void 0 || deParallelMinFramesRaw.trim() === "" ? 2e3 : Number(deParallelMinFramesRaw);
|
|
111815
112033
|
const deParallelMinFrames = Number.isFinite(deParallelMinFramesNum) ? deParallelMinFramesNum : 2e3;
|
|
112034
|
+
const deParallelMinMemRaw = process.env.HF_DE_PARALLEL_MIN_MEM_MB;
|
|
112035
|
+
const deParallelMinMemNum = deParallelMinMemRaw === void 0 || deParallelMinMemRaw.trim() === "" ? 24576 : Number(deParallelMinMemRaw);
|
|
112036
|
+
const deParallelMinMemoryMb = Number.isFinite(deParallelMinMemNum) ? deParallelMinMemNum : 24576;
|
|
111816
112037
|
const deParallelRouterEligible = shouldPreferParallelDrawElement({
|
|
111817
112038
|
workerCount: WOULD_RESOLVE_MULTI_WORKER,
|
|
111818
112039
|
requestedWorkers: job.config.workers,
|
|
@@ -111826,13 +112047,41 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
111826
112047
|
supersampling: deviceScaleFactor > 1,
|
|
111827
112048
|
probeDeGated: probeSession !== null && probeSession.captureMode !== "drawelement" && !probeSession.deInitDeferred,
|
|
111828
112049
|
experimentalParallelDeOptIn: process.env.PRODUCER_EXPERIMENTAL_FAST_CAPTURE === "true" || process.env.HF_DE_PARALLEL_STREAM === "true",
|
|
111829
|
-
routerEnabled: deParallelRouterEnabled
|
|
112050
|
+
routerEnabled: deParallelRouterEnabled,
|
|
112051
|
+
totalMemoryMb: Math.round(totalmem2() / (1024 * 1024)),
|
|
112052
|
+
minMemoryMb: deParallelMinMemoryMb
|
|
112053
|
+
});
|
|
112054
|
+
let workerCount;
|
|
112055
|
+
const captureStageObservationData = (extra = {}) => ({
|
|
112056
|
+
...extra,
|
|
112057
|
+
get workerCount() {
|
|
112058
|
+
return workerCount;
|
|
112059
|
+
},
|
|
112060
|
+
get forceScreenshot() {
|
|
112061
|
+
return captureForceScreenshot;
|
|
112062
|
+
},
|
|
112063
|
+
get totalFrames() {
|
|
112064
|
+
return totalFrames;
|
|
112065
|
+
},
|
|
112066
|
+
get framesCompleted() {
|
|
112067
|
+
return job.framesRendered ?? 0;
|
|
112068
|
+
},
|
|
112069
|
+
get captureMode() {
|
|
112070
|
+
return probeSession?.captureMode ?? (captureForceScreenshot ? "screenshot" : cfg.useDrawElement ? "drawelement" : "beginframe");
|
|
112071
|
+
},
|
|
112072
|
+
get captureOperation() {
|
|
112073
|
+
if ((job.framesRendered ?? 0) >= totalFrames) return "encode";
|
|
112074
|
+
const mode = probeSession?.captureMode ?? (captureForceScreenshot ? "screenshot" : cfg.useDrawElement ? "drawelement" : "beginframe");
|
|
112075
|
+
if (mode === "screenshot") return "captureScreenshot";
|
|
112076
|
+
if (mode === "drawelement") return "drawElement";
|
|
112077
|
+
return "beginFrame";
|
|
112078
|
+
}
|
|
111830
112079
|
});
|
|
111831
112080
|
if (job.config.workers === void 0 && totalFrames >= 60 && !htmlInCanvasDetected && !cfg.lowMemoryMode && !deInversionEligible && !deParallelRouterEligible) {
|
|
111832
112081
|
const outcome = await observeRenderStage(
|
|
111833
112082
|
observability,
|
|
111834
112083
|
"capture_calibration",
|
|
111835
|
-
{ forceScreenshot: captureForceScreenshot },
|
|
112084
|
+
captureStageObservationData({ forceScreenshot: captureForceScreenshot }),
|
|
111836
112085
|
() => runCaptureCalibration({
|
|
111837
112086
|
cfg,
|
|
111838
112087
|
fileServer: activeFileServer,
|
|
@@ -111869,7 +112118,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
111869
112118
|
deParallelRouterEligible
|
|
111870
112119
|
});
|
|
111871
112120
|
}
|
|
111872
|
-
|
|
112121
|
+
workerCount = resolveRenderWorkerCount(
|
|
111873
112122
|
totalFrames,
|
|
111874
112123
|
job.config.workers,
|
|
111875
112124
|
cfg,
|
|
@@ -111910,6 +112159,32 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
111910
112159
|
deWorkerInversion: deWorkerInversion ?? "none",
|
|
111911
112160
|
deParallelRouter: deParallelRouter ?? "none"
|
|
111912
112161
|
});
|
|
112162
|
+
const captureParallelStreamRouterEnabled = process.env.HF_CAPTURE_PARALLEL_STREAM === "true";
|
|
112163
|
+
const captureParallelStreamArgs = {
|
|
112164
|
+
workerCount,
|
|
112165
|
+
useDrawElement: cfg.useDrawElement,
|
|
112166
|
+
outputFormat,
|
|
112167
|
+
streamingOk: shouldUseStreamingEncode(cfg, outputFormat, 1, job.duration),
|
|
112168
|
+
layeredOrEffectRoute: hasHdrContent || compiled.hasShaderTransitions
|
|
112169
|
+
};
|
|
112170
|
+
const captureParallelStreamEligible = shouldStreamParallelCapture({
|
|
112171
|
+
routerEnabled: captureParallelStreamRouterEnabled,
|
|
112172
|
+
...captureParallelStreamArgs
|
|
112173
|
+
});
|
|
112174
|
+
if (captureParallelStreamEligible) {
|
|
112175
|
+
captureParallelStreamForced = true;
|
|
112176
|
+
const captureParallelStream = process.platform === "linux" && !captureForceScreenshot ? "beginframe" : "screenshot";
|
|
112177
|
+
log2.info(
|
|
112178
|
+
`[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.`
|
|
112179
|
+
);
|
|
112180
|
+
updateCaptureObservability({ captureParallelStream });
|
|
112181
|
+
observability.checkpoint(
|
|
112182
|
+
"worker_resolution",
|
|
112183
|
+
`parallel ${captureParallelStream} capture routed to streaming`
|
|
112184
|
+
);
|
|
112185
|
+
} else if (shouldStreamParallelCapture({ routerEnabled: true, ...captureParallelStreamArgs })) {
|
|
112186
|
+
updateCaptureObservability({ captureParallelStream: "eligible_off" });
|
|
112187
|
+
}
|
|
111913
112188
|
if (workerCount > 1 && probeSession) {
|
|
111914
112189
|
lastBrowserConsole = probeSession.browserConsoleBuffer;
|
|
111915
112190
|
await closeCaptureSession(probeSession);
|
|
@@ -111920,7 +112195,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
111920
112195
|
outputFormat,
|
|
111921
112196
|
workerCount,
|
|
111922
112197
|
job.duration,
|
|
111923
|
-
deParallelStreamForced
|
|
112198
|
+
deParallelStreamForced || captureParallelStreamForced
|
|
111924
112199
|
);
|
|
111925
112200
|
log2.info("streaming-encode gate", {
|
|
111926
112201
|
enabled: useStreamingEncode,
|
|
@@ -112008,14 +112283,14 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
112008
112283
|
}
|
|
112009
112284
|
const effectiveQuality = job.config.crf ?? preset2.quality;
|
|
112010
112285
|
const effectiveBitrate = job.config.crf != null ? void 0 : job.config.videoBitrate;
|
|
112011
|
-
job
|
|
112286
|
+
resetCaptureAttemptProgress(job);
|
|
112012
112287
|
if (useLayeredComposite) {
|
|
112013
112288
|
captureForceScreenshot = true;
|
|
112014
112289
|
updateCaptureObservability({ forceScreenshot: captureForceScreenshot });
|
|
112015
112290
|
const hdrRes = await observeRenderStage(
|
|
112016
112291
|
observability,
|
|
112017
112292
|
"capture_hdr_layered",
|
|
112018
|
-
{
|
|
112293
|
+
captureStageObservationData({ hasHdrContent }),
|
|
112019
112294
|
() => runCaptureHdrStage({
|
|
112020
112295
|
job,
|
|
112021
112296
|
cfg,
|
|
@@ -112058,46 +112333,49 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
112058
112333
|
let streamingHandled = false;
|
|
112059
112334
|
if (useStreamingEncode) {
|
|
112060
112335
|
const captureFrameStart = Date.now();
|
|
112061
|
-
const invokeStreaming = () =>
|
|
112062
|
-
|
|
112063
|
-
|
|
112064
|
-
|
|
112065
|
-
|
|
112066
|
-
|
|
112067
|
-
|
|
112068
|
-
|
|
112069
|
-
|
|
112070
|
-
|
|
112071
|
-
|
|
112072
|
-
|
|
112073
|
-
|
|
112074
|
-
|
|
112075
|
-
|
|
112076
|
-
|
|
112077
|
-
|
|
112078
|
-
|
|
112079
|
-
|
|
112080
|
-
|
|
112081
|
-
|
|
112082
|
-
|
|
112083
|
-
|
|
112084
|
-
|
|
112085
|
-
|
|
112086
|
-
|
|
112087
|
-
|
|
112088
|
-
|
|
112089
|
-
|
|
112090
|
-
|
|
112091
|
-
|
|
112092
|
-
|
|
112093
|
-
|
|
112094
|
-
|
|
112095
|
-
|
|
112096
|
-
|
|
112097
|
-
|
|
112098
|
-
|
|
112099
|
-
|
|
112100
|
-
|
|
112336
|
+
const invokeStreaming = () => {
|
|
112337
|
+
resetCaptureAttemptProgress(job);
|
|
112338
|
+
return observeRenderStage(
|
|
112339
|
+
observability,
|
|
112340
|
+
"capture_streaming",
|
|
112341
|
+
captureStageObservationData(),
|
|
112342
|
+
() => runCaptureStreamingStage({
|
|
112343
|
+
fileServer: activeFileServer,
|
|
112344
|
+
workDir,
|
|
112345
|
+
framesDir,
|
|
112346
|
+
videoOnlyPath,
|
|
112347
|
+
job,
|
|
112348
|
+
totalFrames,
|
|
112349
|
+
cfg,
|
|
112350
|
+
forceScreenshot: captureForceScreenshot,
|
|
112351
|
+
log: log2,
|
|
112352
|
+
workerCount,
|
|
112353
|
+
probeSession,
|
|
112354
|
+
outputFormat,
|
|
112355
|
+
forceParallelStream: deParallelStreamForced || captureParallelStreamForced,
|
|
112356
|
+
streamingEncoderOptions: {
|
|
112357
|
+
fps: job.config.fps,
|
|
112358
|
+
width,
|
|
112359
|
+
height,
|
|
112360
|
+
codec: preset2.codec,
|
|
112361
|
+
preset: preset2.preset,
|
|
112362
|
+
quality: effectiveQuality,
|
|
112363
|
+
bitrate: effectiveBitrate,
|
|
112364
|
+
pixelFormat: preset2.pixelFormat,
|
|
112365
|
+
vp9CpuUsed: cfg.vp9CpuUsed,
|
|
112366
|
+
useGpu: job.config.useGpu,
|
|
112367
|
+
imageFormat: captureOptions.format || "jpeg",
|
|
112368
|
+
hdr: preset2.hdr
|
|
112369
|
+
},
|
|
112370
|
+
buildCaptureOptions,
|
|
112371
|
+
createRenderVideoFrameInjector,
|
|
112372
|
+
abortSignal,
|
|
112373
|
+
assertNotAborted,
|
|
112374
|
+
onProgress,
|
|
112375
|
+
dedupPerfs
|
|
112376
|
+
})
|
|
112377
|
+
);
|
|
112378
|
+
};
|
|
112101
112379
|
let streamingRes;
|
|
112102
112380
|
try {
|
|
112103
112381
|
streamingRes = await invokeStreaming();
|
|
@@ -112214,11 +112492,12 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
112214
112492
|
}
|
|
112215
112493
|
}
|
|
112216
112494
|
if (!streamingHandled) {
|
|
112495
|
+
resetCaptureAttemptProgress(job);
|
|
112217
112496
|
const captureFrameStart = Date.now();
|
|
112218
112497
|
const captureRes = await observeRenderStage(
|
|
112219
112498
|
observability,
|
|
112220
112499
|
"capture_disk",
|
|
112221
|
-
{
|
|
112500
|
+
captureStageObservationData({ needsAlpha }),
|
|
112222
112501
|
() => runCaptureStage({
|
|
112223
112502
|
fileServer: activeFileServer,
|
|
112224
112503
|
workDir,
|
|
@@ -112256,7 +112535,12 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
112256
112535
|
const encodeRes = await observeRenderStage(
|
|
112257
112536
|
observability,
|
|
112258
112537
|
"encode",
|
|
112259
|
-
{
|
|
112538
|
+
captureStageObservationData({
|
|
112539
|
+
hasAudio,
|
|
112540
|
+
isPngSequence,
|
|
112541
|
+
isGif,
|
|
112542
|
+
chunkedEncode: enableChunkedEncode
|
|
112543
|
+
}),
|
|
112260
112544
|
() => runEncodeStage({
|
|
112261
112545
|
job,
|
|
112262
112546
|
log: log2,
|
|
@@ -112297,7 +112581,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
112297
112581
|
const assembleRes = await observeRenderStage(
|
|
112298
112582
|
observability,
|
|
112299
112583
|
"assemble",
|
|
112300
|
-
{ hasAudio },
|
|
112584
|
+
captureStageObservationData({ hasAudio }),
|
|
112301
112585
|
() => runAssembleStage({
|
|
112302
112586
|
job,
|
|
112303
112587
|
videoOnlyPath,
|
|
@@ -115166,6 +115450,7 @@ __export(src_exports2, {
|
|
|
115166
115450
|
getCapturePerfSummary: () => getCapturePerfSummary,
|
|
115167
115451
|
getCompositionDuration: () => getCompositionDuration,
|
|
115168
115452
|
initializeSession: () => initializeSession,
|
|
115453
|
+
injectDeterministicFontFaces: () => injectDeterministicFontFaces,
|
|
115169
115454
|
localizeRemoteFontFaces: () => localizeRemoteFontFaces,
|
|
115170
115455
|
localizeRemoteImageSources: () => localizeRemoteImageSources,
|
|
115171
115456
|
localizeRemoteMediaSources: () => localizeRemoteMediaSources,
|
|
@@ -115192,6 +115477,7 @@ var init_src2 = __esm({
|
|
|
115192
115477
|
init_logger();
|
|
115193
115478
|
init_server();
|
|
115194
115479
|
init_errorMessage2();
|
|
115480
|
+
init_deterministicFonts();
|
|
115195
115481
|
init_parityContract2();
|
|
115196
115482
|
init_paths();
|
|
115197
115483
|
init_hyperframeLint();
|
|
@@ -117102,7 +117388,8 @@ function openStudioBrowser(url, projectName, options) {
|
|
|
117102
117388
|
openBrowser(`${url}#project/${projectName}`, {
|
|
117103
117389
|
browserPath: options?.browserPath,
|
|
117104
117390
|
userDataDir: options?.userDataDir,
|
|
117105
|
-
remoteDebuggingPort: options?.remoteDebuggingPort
|
|
117391
|
+
remoteDebuggingPort: options?.remoteDebuggingPort,
|
|
117392
|
+
disableGpu: options?.browserNoGpu
|
|
117106
117393
|
});
|
|
117107
117394
|
}
|
|
117108
117395
|
function printStudioSummary(projectName, url, opts = {}) {
|
|
@@ -117424,6 +117711,11 @@ var init_preview = __esm({
|
|
|
117424
117711
|
"remote-debugging-port": {
|
|
117425
117712
|
type: "string",
|
|
117426
117713
|
description: "Chromium remote debugging port (requires --browser-path and --user-data-dir)"
|
|
117714
|
+
},
|
|
117715
|
+
"browser-no-gpu": {
|
|
117716
|
+
type: "boolean",
|
|
117717
|
+
default: false,
|
|
117718
|
+
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."
|
|
117427
117719
|
}
|
|
117428
117720
|
},
|
|
117429
117721
|
async run({ args }) {
|
|
@@ -117513,6 +117805,14 @@ var init_preview = __esm({
|
|
|
117513
117805
|
}
|
|
117514
117806
|
const noOpen = !args.open;
|
|
117515
117807
|
const browserPath = args["browser-path"];
|
|
117808
|
+
const browserNoGpu = !!args["browser-no-gpu"];
|
|
117809
|
+
if (browserNoGpu && !browserPath) {
|
|
117810
|
+
R2.error(
|
|
117811
|
+
"--browser-no-gpu requires --browser-path (the system default browser cannot receive Chromium flags \u2014 use --no-open on GPU-unstable hosts)"
|
|
117812
|
+
);
|
|
117813
|
+
process.exitCode = 1;
|
|
117814
|
+
return;
|
|
117815
|
+
}
|
|
117516
117816
|
const userDataDir = args["user-data-dir"];
|
|
117517
117817
|
let remoteDebuggingPort;
|
|
117518
117818
|
try {
|
|
@@ -117530,7 +117830,8 @@ var init_preview = __esm({
|
|
|
117530
117830
|
noOpen,
|
|
117531
117831
|
browserPath,
|
|
117532
117832
|
userDataDir,
|
|
117533
|
-
remoteDebuggingPort
|
|
117833
|
+
remoteDebuggingPort,
|
|
117834
|
+
browserNoGpu
|
|
117534
117835
|
});
|
|
117535
117836
|
}
|
|
117536
117837
|
if (hasLocalStudio(dir)) {
|
|
@@ -117539,7 +117840,8 @@ var init_preview = __esm({
|
|
|
117539
117840
|
noOpen,
|
|
117540
117841
|
browserPath,
|
|
117541
117842
|
userDataDir,
|
|
117542
|
-
remoteDebuggingPort
|
|
117843
|
+
remoteDebuggingPort,
|
|
117844
|
+
browserNoGpu
|
|
117543
117845
|
});
|
|
117544
117846
|
}
|
|
117545
117847
|
const forceNew = !!args["force-new"];
|
|
@@ -117549,7 +117851,8 @@ var init_preview = __esm({
|
|
|
117549
117851
|
noOpen,
|
|
117550
117852
|
browserPath,
|
|
117551
117853
|
userDataDir,
|
|
117552
|
-
remoteDebuggingPort
|
|
117854
|
+
remoteDebuggingPort,
|
|
117855
|
+
browserNoGpu
|
|
117553
117856
|
});
|
|
117554
117857
|
}
|
|
117555
117858
|
});
|
|
@@ -121070,6 +121373,7 @@ __export(render_exports, {
|
|
|
121070
121373
|
checkRenderResolutionPreflight: () => checkRenderResolutionPreflight,
|
|
121071
121374
|
default: () => render_default,
|
|
121072
121375
|
examples: () => examples9,
|
|
121376
|
+
renderLintContinuationHint: () => renderLintContinuationHint,
|
|
121073
121377
|
renderLocal: () => renderLocal,
|
|
121074
121378
|
resolveBrowserGpuForCli: () => resolveBrowserGpuForCli
|
|
121075
121379
|
});
|
|
@@ -121097,6 +121401,9 @@ function parseRenderFormat(input2) {
|
|
|
121097
121401
|
if (!VALID_FORMAT.has(input2)) return void 0;
|
|
121098
121402
|
return RENDER_FORMATS.find((format) => format === input2);
|
|
121099
121403
|
}
|
|
121404
|
+
function renderLintContinuationHint(strictErrors) {
|
|
121405
|
+
return strictErrors ? " Continuing render despite lint warnings. Use --strict-all to block warnings." : " Continuing render despite lint issues. Use --strict to block errors.";
|
|
121406
|
+
}
|
|
121100
121407
|
function resolveBrowserGpuForCli(useDocker, browserGpuArg, envMode = process.env.PRODUCER_BROWSER_GPU_MODE) {
|
|
121101
121408
|
if (useDocker) return "software";
|
|
121102
121409
|
if (browserGpuArg === true) return "hardware";
|
|
@@ -121429,7 +121736,9 @@ function metaBoolean(meta, key2) {
|
|
|
121429
121736
|
function trackRenderTraceFromLog(message, meta) {
|
|
121430
121737
|
if (message !== "[Render:trace]") return;
|
|
121431
121738
|
const status = metaString(meta, "status");
|
|
121432
|
-
if (status !== "checkpoint" && status !== "error")
|
|
121739
|
+
if (status !== "start" && status !== "end" && status !== "checkpoint" && status !== "error") {
|
|
121740
|
+
return;
|
|
121741
|
+
}
|
|
121433
121742
|
trackRenderObservation({
|
|
121434
121743
|
source: "cli",
|
|
121435
121744
|
renderJobId: metaString(meta, "renderJobId"),
|
|
@@ -121446,6 +121755,11 @@ function trackRenderTraceFromLog(message, meta) {
|
|
|
121446
121755
|
usePageSideCompositing: metaBoolean(meta, "usePageSideCompositing"),
|
|
121447
121756
|
hasHdrContent: metaBoolean(meta, "hasHdrContent"),
|
|
121448
121757
|
captureMode: metaString(meta, "captureMode"),
|
|
121758
|
+
captureOperation: metaString(meta, "captureOperation"),
|
|
121759
|
+
framesCompleted: metaNumber(meta, "framesCompleted"),
|
|
121760
|
+
totalFrames: metaNumber(meta, "totalFrames"),
|
|
121761
|
+
heartbeatIndex: metaNumber(meta, "heartbeatIndex"),
|
|
121762
|
+
stageElapsedMs: metaNumber(meta, "stageElapsedMs"),
|
|
121449
121763
|
videoCount: metaNumber(meta, "videoCount"),
|
|
121450
121764
|
extractedVideoCount: metaNumber(meta, "extractedVideoCount"),
|
|
121451
121765
|
totalFramesExtracted: metaNumber(meta, "totalFramesExtracted"),
|
|
@@ -121620,6 +121934,8 @@ function trackRenderMetrics(job, elapsedMs, options, docker) {
|
|
|
121620
121934
|
staticDedupSkipReason: perf?.staticDedup?.skipReason,
|
|
121621
121935
|
staticDedupPredictedFrames: perf?.staticDedup?.predictedFrames,
|
|
121622
121936
|
staticDedupReusedFrames: perf?.staticDedup?.reusedFrames,
|
|
121937
|
+
beginFrameNoDamageFrames: perf?.beginFrameReuse?.noDamageFrames,
|
|
121938
|
+
beginFrameHasDamageFrames: perf?.beginFrameReuse?.hasDamageFrames,
|
|
121623
121939
|
deCaptureMode: perf?.drawElement?.mode,
|
|
121624
121940
|
deCompileGate: perf?.drawElement?.compileGate,
|
|
121625
121941
|
deClampReason: perf?.drawElement?.clampReason,
|
|
@@ -122285,7 +122601,7 @@ var init_render = __esm({
|
|
|
122285
122601
|
console.log("");
|
|
122286
122602
|
process.exit(1);
|
|
122287
122603
|
}
|
|
122288
|
-
console.log(c.dim(
|
|
122604
|
+
console.log(c.dim(renderLintContinuationHint(strictErrors)));
|
|
122289
122605
|
console.log("");
|
|
122290
122606
|
}
|
|
122291
122607
|
}
|
|
@@ -123304,8 +123620,9 @@ async function seekCompositionTimeline(page, timeSeconds, options = {}) {
|
|
|
123304
123620
|
)
|
|
123305
123621
|
);
|
|
123306
123622
|
}
|
|
123307
|
-
|
|
123308
|
-
|
|
123623
|
+
const waitForFontsMs = options.waitForFontsMs ?? DEFAULT_POST_SEEK_FONT_WAIT_MS;
|
|
123624
|
+
if (waitForFontsMs > 0) {
|
|
123625
|
+
await waitForCompositionFonts(page, waitForFontsMs);
|
|
123309
123626
|
}
|
|
123310
123627
|
if (options.settleMs !== void 0) {
|
|
123311
123628
|
const settleMs = Math.max(0, options.settleMs);
|
|
@@ -123332,12 +123649,23 @@ async function waitForCompositionFonts(page, timeoutMs) {
|
|
|
123332
123649
|
await page.evaluate((ms) => {
|
|
123333
123650
|
const fonts = Reflect.get(document, "fonts");
|
|
123334
123651
|
if (typeof fonts !== "object" || fonts === null) return Promise.resolve();
|
|
123335
|
-
|
|
123336
|
-
|
|
123337
|
-
|
|
123338
|
-
|
|
123339
|
-
|
|
123340
|
-
|
|
123652
|
+
void document.body?.offsetHeight;
|
|
123653
|
+
return new Promise((resolveWait) => {
|
|
123654
|
+
const deadline = setTimeout(resolveWait, ms);
|
|
123655
|
+
requestAnimationFrame(() => {
|
|
123656
|
+
const status = Reflect.get(fonts, "status");
|
|
123657
|
+
const ready = Reflect.get(fonts, "ready");
|
|
123658
|
+
if (status !== "loading" || !ready) {
|
|
123659
|
+
clearTimeout(deadline);
|
|
123660
|
+
resolveWait();
|
|
123661
|
+
return;
|
|
123662
|
+
}
|
|
123663
|
+
Promise.resolve(ready).then(() => {
|
|
123664
|
+
clearTimeout(deadline);
|
|
123665
|
+
resolveWait();
|
|
123666
|
+
});
|
|
123667
|
+
});
|
|
123668
|
+
});
|
|
123341
123669
|
}, timeoutMs).catch(() => {
|
|
123342
123670
|
});
|
|
123343
123671
|
}
|
|
@@ -123412,7 +123740,7 @@ async function runFfmpegOnce(ffmpegPath, args, timeoutMs) {
|
|
|
123412
123740
|
});
|
|
123413
123741
|
});
|
|
123414
123742
|
}
|
|
123415
|
-
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;
|
|
123743
|
+
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;
|
|
123416
123744
|
var init_captureCompositionFrame = __esm({
|
|
123417
123745
|
"src/capture/captureCompositionFrame.ts"() {
|
|
123418
123746
|
"use strict";
|
|
@@ -123421,6 +123749,7 @@ var init_captureCompositionFrame = __esm({
|
|
|
123421
123749
|
SHADER_TRANSITIONS_TIMEOUT_MS = 9e4;
|
|
123422
123750
|
CAPTURE_SETTLE_MS = 1500;
|
|
123423
123751
|
PREFERRED_SEEK_TARGET_WAIT_MS = 500;
|
|
123752
|
+
DEFAULT_POST_SEEK_FONT_WAIT_MS = 500;
|
|
123424
123753
|
AUDIT_SEEK_OPTIONS = {
|
|
123425
123754
|
fallbackToBridgeAndTimelines: true,
|
|
123426
123755
|
animationFrameSettle: "double",
|
|
@@ -124397,6 +124726,57 @@ Examples:
|
|
|
124397
124726
|
}
|
|
124398
124727
|
});
|
|
124399
124728
|
|
|
124729
|
+
// src/utils/bundleWithLocalizedFonts.ts
|
|
124730
|
+
var bundleWithLocalizedFonts_exports = {};
|
|
124731
|
+
__export(bundleWithLocalizedFonts_exports, {
|
|
124732
|
+
__resetFontLocalizationWarningsForTests: () => __resetFontLocalizationWarningsForTests,
|
|
124733
|
+
bundleWithLocalizedFonts: () => bundleWithLocalizedFonts,
|
|
124734
|
+
localizeWithProducer: () => localizeWithProducer
|
|
124735
|
+
});
|
|
124736
|
+
async function bundleWithLocalizedFonts(projectDir, localizeFonts = localizeWithProducer) {
|
|
124737
|
+
const { bundleToSingleHtml: bundleToSingleHtml2 } = await Promise.resolve().then(() => (init_compiler(), compiler_exports));
|
|
124738
|
+
const html = await bundleToSingleHtml2(projectDir);
|
|
124739
|
+
return localizeFonts(html);
|
|
124740
|
+
}
|
|
124741
|
+
async function loadFontInjector() {
|
|
124742
|
+
try {
|
|
124743
|
+
const producerSpecifier = "@hyperframes/producer";
|
|
124744
|
+
const mod = await import(
|
|
124745
|
+
/* @vite-ignore */
|
|
124746
|
+
producerSpecifier
|
|
124747
|
+
);
|
|
124748
|
+
return mod.injectDeterministicFontFaces ?? null;
|
|
124749
|
+
} catch {
|
|
124750
|
+
return null;
|
|
124751
|
+
}
|
|
124752
|
+
}
|
|
124753
|
+
function __resetFontLocalizationWarningsForTests() {
|
|
124754
|
+
warnedFontLocalizationFailures.clear();
|
|
124755
|
+
}
|
|
124756
|
+
async function localizeWithProducer(html, loadInjector = loadFontInjector, warn = (m2) => console.warn(` ${c.warn("\u26A0")} ${m2}`)) {
|
|
124757
|
+
const inject = await loadInjector();
|
|
124758
|
+
if (!inject) return html;
|
|
124759
|
+
try {
|
|
124760
|
+
return await inject(html);
|
|
124761
|
+
} catch (err) {
|
|
124762
|
+
const message = `Font localization failed; capturing with remote/fallback fonts instead: ${normalizeErrorMessage(err)}`;
|
|
124763
|
+
if (!warnedFontLocalizationFailures.has(message)) {
|
|
124764
|
+
warnedFontLocalizationFailures.add(message);
|
|
124765
|
+
warn(message);
|
|
124766
|
+
}
|
|
124767
|
+
return html;
|
|
124768
|
+
}
|
|
124769
|
+
}
|
|
124770
|
+
var warnedFontLocalizationFailures;
|
|
124771
|
+
var init_bundleWithLocalizedFonts = __esm({
|
|
124772
|
+
"src/utils/bundleWithLocalizedFonts.ts"() {
|
|
124773
|
+
"use strict";
|
|
124774
|
+
init_errorMessage();
|
|
124775
|
+
init_colors();
|
|
124776
|
+
warnedFontLocalizationFailures = /* @__PURE__ */ new Set();
|
|
124777
|
+
}
|
|
124778
|
+
});
|
|
124779
|
+
|
|
124400
124780
|
// src/utils/checkBrowser.ts
|
|
124401
124781
|
var checkBrowser_exports = {};
|
|
124402
124782
|
__export(checkBrowser_exports, {
|
|
@@ -124407,8 +124787,8 @@ __export(checkBrowser_exports, {
|
|
|
124407
124787
|
import { mkdirSync as mkdirSync36, writeFileSync as writeFileSync26 } from "fs";
|
|
124408
124788
|
import { join as join76 } from "path";
|
|
124409
124789
|
async function runBrowserCheck(project, options, motion, runGrid) {
|
|
124410
|
-
const {
|
|
124411
|
-
const html = await
|
|
124790
|
+
const { bundleWithLocalizedFonts: bundleWithLocalizedFonts2 } = await Promise.resolve().then(() => (init_bundleWithLocalizedFonts(), bundleWithLocalizedFonts_exports));
|
|
124791
|
+
const html = await bundleWithLocalizedFonts2(project.dir);
|
|
124412
124792
|
const server = await serveStaticProjectHtml(project.dir, html, "Failed to bind check server");
|
|
124413
124793
|
const drafts = [];
|
|
124414
124794
|
let currentTime = 0;
|
|
@@ -124446,8 +124826,8 @@ async function runBrowserCheck(project, options, motion, runGrid) {
|
|
|
124446
124826
|
}
|
|
124447
124827
|
async function captureFindingCrops(project, options, requests) {
|
|
124448
124828
|
if (requests.length === 0) return [];
|
|
124449
|
-
const {
|
|
124450
|
-
const html = await
|
|
124829
|
+
const { bundleWithLocalizedFonts: bundleWithLocalizedFonts2 } = await Promise.resolve().then(() => (init_bundleWithLocalizedFonts(), bundleWithLocalizedFonts_exports));
|
|
124830
|
+
const html = await bundleWithLocalizedFonts2(project.dir);
|
|
124451
124831
|
const server = await serveStaticProjectHtml(project.dir, html, "Failed to bind check server");
|
|
124452
124832
|
let chromeBrowser;
|
|
124453
124833
|
const written = [];
|
|
@@ -125130,6 +125510,7 @@ var init_checkBrowser = __esm({
|
|
|
125130
125510
|
"container_overflow",
|
|
125131
125511
|
"content_overlap",
|
|
125132
125512
|
"text_occluded",
|
|
125513
|
+
"text_not_painted",
|
|
125133
125514
|
"caption_zone_collision",
|
|
125134
125515
|
"frame_out_of_frame",
|
|
125135
125516
|
"motion_appears_late",
|
|
@@ -172021,9 +172402,9 @@ function computeSnapshotTimes(duration, opts) {
|
|
|
172021
172402
|
return { times: times.map(round5), appendedTail: false };
|
|
172022
172403
|
}
|
|
172023
172404
|
async function captureSnapshots(projectDir, opts) {
|
|
172024
|
-
const {
|
|
172405
|
+
const { bundleWithLocalizedFonts: bundleWithLocalizedFonts2 } = await Promise.resolve().then(() => (init_bundleWithLocalizedFonts(), bundleWithLocalizedFonts_exports));
|
|
172025
172406
|
const numFrames = opts.frames ?? 5;
|
|
172026
|
-
const html = await
|
|
172407
|
+
const html = await bundleWithLocalizedFonts2(projectDir);
|
|
172027
172408
|
const server = await serveStaticProjectHtml(projectDir, html);
|
|
172028
172409
|
const savedPaths = [];
|
|
172029
172410
|
try {
|
|
@@ -172098,6 +172479,9 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
172098
172479
|
syncVideoFrameVisibility2 = engine.syncVideoFrameVisibility;
|
|
172099
172480
|
extractMediaMetadata2 = engine.extractMediaMetadata;
|
|
172100
172481
|
} catch {
|
|
172482
|
+
console.warn(
|
|
172483
|
+
` ${c.warn("\u26A0")} @hyperframes/engine unavailable \u2014 <video> elements will appear black in snapshots. Verify media via a draft render's extracted frames instead.`
|
|
172484
|
+
);
|
|
172101
172485
|
}
|
|
172102
172486
|
const alphaDecoderCache = /* @__PURE__ */ new Map();
|
|
172103
172487
|
const shouldUseVp9AlphaDecoder = (filePath) => {
|
|
@@ -172170,6 +172554,12 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
172170
172554
|
dataUri: `data:image/png;base64,${png.toString("base64")}`
|
|
172171
172555
|
});
|
|
172172
172556
|
}
|
|
172557
|
+
if (active.length > 0 && updates.length < active.length) {
|
|
172558
|
+
const missed = active.length - updates.length;
|
|
172559
|
+
console.warn(
|
|
172560
|
+
` ${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`
|
|
172561
|
+
);
|
|
172562
|
+
}
|
|
172173
172563
|
try {
|
|
172174
172564
|
if (updates.length > 0) {
|
|
172175
172565
|
await injectVideoFramesBatch2(page, updates);
|
|
@@ -172179,6 +172569,9 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
172179
172569
|
active.map((a) => a.id)
|
|
172180
172570
|
);
|
|
172181
172571
|
} catch {
|
|
172572
|
+
console.warn(
|
|
172573
|
+
` ${c.warn("\u26A0")} video frame injection failed at ${time.toFixed(1)}s \u2014 <video> elements will appear black/stale in this snapshot`
|
|
172574
|
+
);
|
|
172182
172575
|
}
|
|
172183
172576
|
}
|
|
172184
172577
|
const timeLabel = `${time.toFixed(1)}s`;
|